]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
[grub2.git] / ChangeLog
CommitLineData
b24ca7cd
VS
12013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4
63314aa4
VS
52013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
8 compile when not needed.
9
c1b00fff
VS
102013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * tests/pseries_test.in: New test.
13
f93e89ef
VS
142013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
15
16 Add test to check that different boot mediums work.
17
c4b456d3
VS
182013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
21 ofw limited ISO support.
22
5fe67f39
VS
232013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * configure.ac: Fix loongson conditional.
26
7f63a64f
VS
272013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28
29 Enable mipsel-arc.
30
b04b5990
VS
312013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
32
33 Add serial on ARC platform.
34
88d2f302
VS
352013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
38 commit.
39
86eb23bc
VS
402013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * tests/partmap_test.in: Add missing double semicolon.
43
eec3bb75
VS
442013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * util/grub-mkrescue.in: Fix loongson filename.
47
e0810df3
VS
482013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * util/grub-mkrescue.in: Move all files that don't have a location
51 set in stone under /boot/grub. Use ISO hard links rather than copies
52 to save some space.
53
65a6b30b
VS
542013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
57 bogus SLOF values.
58
6aff0107
VS
592013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
60
61 Make check work on mips-arc.
62
5e013e56
VS
632013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * util/grub-mkrescue.in: Alias sashARCS as sash.
66
d1989e2e
VS
672013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
70 it's serial.
71
1a25e72c
VS
722013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * util/grub-install.in: Fix target fo qemu_mips.
75 Fix extension on EFI.
76
a59a9826
VS
772013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
80 in front of chosen entry to mark it even if highlighting is lost.
81
1a40f80c
VS
822013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
85 gfxpayload=keep if cbfb is active.
86
e343549c
VS
872013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
90
45fbd9a2
VS
912013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
92
93 Add missing video ids to coreboot and ieee1275 video.
94
ab1440bd
VS
952013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * util/grub-mkrescue.in: Add mips-arc support.
98
cdeb8324
VS
992013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
102
8528c879
VS
1032013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
104
105 Move mips-arc link address. Previous link address was chosen
106 in belief that RAM on SGI platforms grows down while in fact it
107 grows up from an unusual base.
108
17fca573
VS
1092013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
112 Fix a type which prevented CD-ROM and floppy boot.
113
d178788e
VS
1142013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
115
116 Support coreboot framebuffer.
117
118 * grub-core/video/i386/coreboot/cbfb.c: New file.
119
fe4c3e7e
VS
1202013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
123 detecting too small regions.
124
ec2dd179
VS
1252013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
128
872dac83
VS
1292013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
132 Remove dprintf.
133 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
134
90ec4b7f
VS
1352013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
138 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
139 * grub-core/loader/powerpc/ieee1275/linux.c
140 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
141
f32555dd
VS
1422013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
145 Look for /boot-rom as well as /rom/boot-rom.
146
38649799
VS
1472013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
150 handling when creating text_layer failed.
151 * grub-core/video/video.c (grub_video_create_render_target):
152 Set result to 0 on error.
153 (grub_video_delete_render_target): Do not dereference NULL.
154
aeace7f7
VS
1552013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
158 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
159 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
160 (grub_linux_load64): Mask out 2 high bits.
161
4eafa175
AB
1622013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
163
164 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
165 more place.
166
daaa64bd
VS
1672013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
168
169 Add support for pseries and other bootinfo machines to grub-mkrescue.
170
171 Tested by: Paulo Flabiano Smorigo.
172
d0d2daa6
VS
1732013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
174
175 * util/grub-mkrescue.in: Add GPT for EFI boot.
176
b193e100
VS
1772013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
180 It improves performance in qemu.
181
a0f8f3ac
VS
1822013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * build-aux/snippet: Add missing gnulib files.
185
284df0e2
AB
1862013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
187
188 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
189
740201f3
AB
1902013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
191
192 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
193
a7e03923
PJ
1942013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1952013-04-15 Peter Jones <pjones@redhat.com>
196
197 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
198 sectors.
199 Based on patch by Peter Jones.
200
25fc51a8
VS
2012013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
202
203 Fix DMRAID partition handling.
204
88017d47
VS
2052013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * tests/grub_cmd_date.in: Skip on sparc64.
208
fa7d914e
VS
2092013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
210
211 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
212 firmware error messages.
213
cbe57a48
VS
2142013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
217 source and destination differ.
218
21aecce0
VS
2192013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
222 detection.
223
25092d29
VS
2242013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
227 match config-util.h to avoid warnings and increase compatibility.
228
79451522 2292013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 2302013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
231
232 Add option to compress files on install/image creation.
233
78b7d77b
VS
2342013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * docs/grub-dev.texi: Rearrange menu to match the section order.
237 Reported by: Bryan Hundven.
238
cc2fa5ec
VS
2392013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
242
b49fe879
VS
2432013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
244
245 Move GRUB out of system area when using xorriso 1.2.9 or later.
246
5351da81
VS
2472013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * tests/grub_cmd_date.in: Add missing exit 1.
250
c9d586ea
VS
2512013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * tests/partmap_test.in: Skip on sparc64.
254
3f729741
VS
2552013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
256
257 Support grub-shell on sparc64.
258
8ca86b3a
VS
2592013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
260
261 Support mkrescue on sparc64.
262
aa1af9bb
VS
2632013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
264
265 Allow IEEE1275 ports on path even if it wasn't detected automatically.
266 Needed on OpenBIOS due to incomplete device tree.
267
ac4fea79
VS
2682013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
271 would be otherwise excluded.
272
2732013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
274
275 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
276 Inline name defines used only once.
277
fe22b071
VS
2782013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
279
280 Fix memory leaks in ofnet.
281 Reported by: Francesco Lavra.
282
9d21381b
VS
2832013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * docs/man/grub-glue-efi.h2m: Add missing file.
286
07aec23c
VS
2872013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
290
67ab8353
VS
2912013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
292
293 Better support Apple Intel Macs on CD.
294
ba44ca6d
VS
2952013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
296
297 Replace stpcpy with grub_stpcpy in tools.
298
bbdd6305
VS
2992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
300
301 Handle Japanese special keys.
302 Reported by: Hiroyuki YAMAMORI.
303 Codes supplied by: Hiroyuki YAMAMORI.
304
8573d302
VS
3052013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * util/grub-mkimage.c: Document memdisk implying --prefix.
308
d70dbab7
VS
3092013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
312 much we can do about it anyway.
313
51a4c3e3
AN
3142013-04-12 Aleš Nesrsta <starous@volny.cz>
315
316 Fix handling of split transfers.
317
92c8f58d
VS
3182013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * grub-core/net/http.c: Fix bad free.
321
b7d17a49
VS
3222013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
325 than buffer size.
326
a3d566d4
VS
3272013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
328
329 Disable partmap check on i386-ieee1275 due to openfirmware issues.
330
a936af56
VS
3312013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * tests/util/grub-shell.in: Fix it on powerpc.
334
51212234
VS
3352013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
336
337 Turn off QEMU ACPI-way since new releases don't have shutdown port
338 anymore.
339
a21eec9e
VS
3402013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * docs/grub.texi: Update coreboot status info.
343
e3734b84
VS
3442013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * tests/grub_cmd_date.in: New test for datetime.
347
f9d40055
VS
3482013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * tests/partmap_test.in: Fix missing qemudisk setting.
351
dbc56d8f
VS
3522013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
353
354 Support i386-ieee1275 grub-mkrescue and make check on it.
355
a79b8a15
VS
3562013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
357
358 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
359 feature for it.
360
48f39bb4
VS
3612013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
364 GRUB_CMDLINE_XEN_DEFAULT.
365 Reported by: Marc Warne (GigaTux) <gigatux>
366
053cfcdd
VS
3672013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
368
369 Import new gnulib.
370
93cd84df
VS
3712013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
372
373 Use ACPI shutdown intests as traditional port was removed.
374
f4b1fa4f
AB
3752013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
376
377 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
378 distinction.
379
49818a59
VS
3802013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
381
382 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
383 Fix few warining messages and leaks while on it.
384
9277a306
AB
3852013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
386
387 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
388 links under grub-core/lib/libgcrypt-grub/mpi.
389
d5e2a158
VS
3902013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
391
392 Fix ia64-efi image generation on big-endian machines. Deduplicate
393 some code while on it.
394 Reported by: Leif Lindholm.
395
18866643
AB
3962013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
397
398 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
399 as extra_dist.
400
ca53deb8
AB
4012013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
402
403 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
404
d4c4b8e1
BH
4052013-04-08 Bryan Hundven <bryanhundven@gmail.com>
406
407 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
408 texinfo-5.1.
409
47043f95
VS
4102013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * grub-core/normal/term.c: Few more fixes for menu entry editor
413 rendering.
414 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
415
a3216068
VS
4162013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * grub-core/normal/term.c: Few more fixes for menu entry editor
419 rendering.
420 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
421
21026747
AB
4222013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
423
424 * conf/Makefile.extra-dist (EXTRA_DIST): Add
425 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
426
59624ca8
AB
4272013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
428
429 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
430 instead of hardcoding grub.mo.
431
1f44478c
FN
4322013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
433
434 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
435
eeada7b1
VS
4362013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
437
438 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
439 grub-core/disk/geli.c.
440
132867de
VS
4412013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * util/grub-mkfont.c: Prefer enum to #define.
444
de73de17
VS
4452013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
448
1865baa7
VS
4492013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
450
451 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
452
ce7d92a9
VS
4532013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
454
455 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
456
52eab656
VS
4572013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
460
98b23b95
VS
4612013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * include/grub/bsdlabel.h: Use enums.
464
0467a5dd
VS
4652013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
466
467 Move GRUB_CHAR_BIT to types.h.
468
16cc9f03
AB
4692013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
470
471 * docs/grub.texi: Document more user commands.
472
3152aecb
AB
4732013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
474
475 * docs/grub.texi: Document menuentry --id option.
476
c506fc30
FL
4772013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
478
479 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
480
aa428238
VS
4812013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
482
483 Unify file copying setup across different install scripts. Add
484 options for performing partial install.
485
efe0cdda
PJ
4862013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4872013-04-04 Peter Jones <pjones@redhat.com>
488
489 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
490
f75835bd
VS
4912013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
492
493 Use TSC as a possible time source on i386-ieee1275.
494
2cd5ce6c
VS
4952013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
498 Init err.
499
c9625630
VS
5002013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * util/grub-setup.c (setup): Handle some corner cases.
503
be008941
VS
5042013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
505
506 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
507
1a78d573
VS
5082013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * grub-core/commands/verify.c: Save verified file to avoid it being
511 tampered with after verification was done.
512
db8ff59f
VS
5132013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
516 reported width by one to compensate for curesor algorithm problem.
517
91bf46b1
VS
5182013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
519
520 Fix screen corruption in menu entry editor and simplify the code
521 flow while on it.
522
a7b1d693
AB
5232013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
524
525 * util/grub-mount.c (fuse_init): Return error if fuse_main
526 failed.
527
31df9ad8
FL
5282013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
529
530 * include/grub/elf.h: Add missing ARM relocation codes and fix
531 existing ones.
532
07f392eb
VT
5332013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
534
535 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
536
9efd73ec 5372013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
5382013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
541 into account when calculating radius.
542
5432013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
544
545 * grub-core/gfxmenu/view.c: Fix off-by-one error.
546
4985ddaa
VT
5472013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
548
549 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
550
8c3635ff
RS
5512013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
552
553 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
554 missing closing bracket.
555
74a35e69
RS
5562013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
557
558 * INSTALL: Mention xorriso requirement.
559
40f1c000
AB
5602013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
561
562 * grub-core/commands/verify.c: Fix hash algorithms values for
563 the first three hashes - they start with 1, not with 0.
564
e75fdee4
VS
5652013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
566
567 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
568 Try terminating EFI services several times due to quirks in some
569 implementations.
570
33028f4c
CW
5712013-03-26 Colin Watson <cjwatson@ubuntu.com>
572
573 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
574 skipping Event, Device, Processor, PowerRes, ThermalZone, and
575 BankField extended opcodes.
576 (get_sleep_type): Add minimal scope handling (just enough to
577 handle setting the scope to the root path).
578 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
579 * include/grub/acpi.h: Add enumeration values for Event, Device,
580 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
581
33871a10
VT
5822013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
583
584 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
585 memory leak.
586
8990963a
VS
5872013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
588
589 * grub-core/disk/ahci.c: Give more time for AHCI request.
590
daae8f9e
VS
5912013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
594 command.
595
6a7fb94b
VS
5962013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
597
598 Replace the region at 0 from coreboot tables to available in BSD
599 memory map.
600
ff99babd
VS
6012013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
604 non-BIOS platforms.
605
30d6b1b2
VS
6062013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
609 platforms.
610
6ccd0b31
VS
6112013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
614 handling of multi-device filesystems.
615
23c9cc04
VS
6162013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
619 platforms.
620
ce50dbd7
VS
6212013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
622
623 Add new 'proc' filesystem framework and put luks_script into it.
624
d975e8d5
VS
6252013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
628 and qemu.
629
e73ba5e8
VS
6302013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
633
92750e4c
VS
6342013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
635
636 Add ability to generate newc additions on runtime.
637
0ec45a68
VS
6382013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
641 description.
642
320abd43
VS
6432013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * po/POTFILES.in: Regenerate.
646
d7a6506e
VS
6472013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
648
649 * grub-core/commands/verify.c (hashes): Add several hashes
650 from the spec.
651
8fe05def
VS
6522013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
653
654 Slight improve in USB-related boot-time checkpoints.
655
524e2766
VS
6562013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/commands/boottime.c: Fix copyright header.
659
cc19857a
VS
6602013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
661
662 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
663 coreboot tables content. Support for cbmemc.
664
ef8810e9
VS
6652013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
666
667 Fix a conflict between ports structures with 2 controllers of
668 same kind.
669
e9dabdfa
VS
6702013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * include/grub/boottime.h: Add missing file.
673
f6df57d2
VS
6742013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
675
676 Initialize USB ports in parallel to speed-up boot.
677
d745dda7
VS
6782013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
679
680 Fix USB devices not being detected when requested
681 due to delayed attach.
682
e5a2dd7b
VS
6832013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
684
e744219b
VS
685 Implement boot time analysis framework.
686
6872013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
688
689 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
690 descriptor to just receive it as argument rather than endpoint
691 address.
692
5dd6f587
VS
6932013-03-19 Aleš Nesrsta <starous@volny.cz>
694
695 Better estimate the maximum USB transfer size.
696
2f1071d5
VS
6972013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
698
699 Resend a packet if we got the wrong buffer in status.
700
46ecfc49
VS
7012013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
704 multiplication rather than division.
705
ea811130
VS
7062013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
709 than divisions.
710
d2789cf0
VS
7112013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
714 operations to have intended shifts and not divisions.
715
a9c94590
VS
7162013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
719 intended shifts rather than division.
720
84cfe81b
VS
7212013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
724 computation for some years before epoch. Avode confusing division
725 while on it.
726
21344ef6
VS
7272013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * grub-core/video/i386/pc/vbe.c
730 (grub_video_vbe_print_adapter_specific_info): Replace division by
731 shifts.
732
3f2b4d1a
VS
7332013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
734
735 Adjust types in gdb module to have intended unsigned shifts rather than
736 signed divisions.
737
3dac5878
VS
7382013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
741 maximum size is 4G - 1 on hfs
742
5341c0fb
VS
7432013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
744
745 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
746
fc3ff2a2
VS
7472013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
750 function.
751
81455e8e
AB
7522013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
753
754 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
755 causing gcc error with gcc 4.7.1.
756
efd4f117
NZ
7572013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
758
759 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
760 dereference null pointer. While the code is technically correct, gcc
761 may eliminate a null check if pointer is already dereferenced.
762
e11645f4
NZ
7632013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
764
765 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
766 OOM check.
767 * grub-core/normal/term.c (read_terminal_list): Likewise.
768
77468368
VS
7692013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
770
771 Lift up core size limits on some platforms. Fix potential memory
772 corruption with big core on small memory systems. Document remaining
773 limits.
774
f6b58fe5
VS
7752013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
778 gotoxy to 0,0.
779
19ce697d
VS
7802013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
781
782 Remove all trampoline support. Add -Wtrampolines when
783 present. Remove symbols used for trampolines to make
784 link fail if trampolines are present.
785
73b5d90f
VS
7862013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
789 append out of its parent.
790
cb758e96
VS
7912013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
794 parent.
795
3188131f
VS
7962013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
799 all vars to a macro. All users updated.
800
e42b2514
VS
8012013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * grub-core/disk/ieee1275/nand.c: Fix compilation on
804 i386-ieee1275.
805
83e1a1a1
VS
8062013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
809
1d5a880f
VS
8102013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
813
6e4146c4
VS
8142013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
815
816 Move to more hookless approach in IEEE1275 devices handling.
817
99fcda8a
VS
8182013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/kern/term.c (grub_term_normal_color),
821 (grub_term_highlight_color): Add back lost defaults.
822
73bf57e2
VS
8232013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
824
825 Make elfload not use hooks. Opt for flags and iterators instead.
826
7f8c105f
VS
8272013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
830 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
831
396d4091
VS
8322013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * grub-core/script/execute.c (gettext_append): Remove nested functions.
835
8362013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
839 hook pass-through parameter. All users updated and unnested.
840
74a27421
VS
8412013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
844 out of its parent.
845
b46d4213
VS
8462013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * grub-core/fs/hfs.c: Remove nested functions.
849
e114c3cc
VS
8502013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
853 the context through.
854 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
855
f9b7d780
VS
8562013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * util/grub-editenv.c (list_variables): Move print_var out of its
859 parent.
860
ca9c2608
VS
8612013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
864 function.
865
5d983f5f
VS
8662013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/gentrigtables.c: Make tables const.
869
3056d3e7
VS
8702013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
871
872 Remove nested functions from videoinfo iterators.
873
e2303774
VS
8742013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
875
876 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
877 for 64-bit platforms.
878
f42e3a2f
VS
8792013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
882 a FOR_CHILDREN macro.
883
be174e5e
VS
8842013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
887 platform from firmware path.
888
0789b672
VS
8892013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
890
891 Enable linux16 on non-BIOS systems for i.a. memtest.
892
893 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
894 correctly.
895 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
896
005a9c32
VS
8972013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
900 Fix end of table condition.
901
ff2b3cd9
VS
9022013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
905 out of its parent.
906
4fc40ff8
VS
9072013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * grub-core/fs/jfs.c: Remove nested functions.
910
be42d97a
VS
9112013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/fs/minix.c: Remove nested functions.
914
99373ce4
VS
9152013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/fs/iso9660.c: Remove nested functions.
918
5aec2afe
VS
9192013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
922 of parent function.
923
6c69e691
VS
9242013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * util/grub-fstest.c: Remove nested functions.
927
43c91882
VS
9282013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * grub-core/loader/machoXX.c: Remove nested functions.
931
4eb8b756
CW
9322013-02-27 Colin Watson <cjwatson@ubuntu.com>
933
934 Remove nested functions from disk and file read hooks.
935
936 * include/grub/disk.h (grub_disk_read_hook_t): New type.
937 (struct grub_disk): Add read_hook_data member.
938 * include/grub/file.h (struct grub_file): Likewise.
939 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
940 argument.
941
942 Update all callers.
943
df6da5a5
AB
9442012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
945
946 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
947 Fix off by one error in enumerating extended partitions.
948
21aecde5
AB
9492013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
950
951 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
952 memory leak if device name is not found.
953
f1a19118
AB
9542013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
955
956 * grub-core/normal/menu_entry.c (update_screen): remove
957 unused variable `off' which caused scroll down arrow to be always shown.
958
958bfd20
AB
9592013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
960
961 * grub-core/normal/menu_entry.c (insert_string): fix off by one
962 access to unallocated memory.
963
b7b78edb
AB
9642013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
965
966 * Makefile.util.def: Add partmap/msdos.c to common library.
967 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
968 * grub-core/disk/ldm.c: Check for existence of
969 GRUB_PC_PARTITION_TYPE_LDM.
970
28d468d6
VS
9712013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
974 sizes and display sector size.
975
d55ffb02
VS
9762013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
977
978 Implement new command cmosdump.
979
b5ea6ce0
VS
9802013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
981
982 Support Openfirmware disks with non-512B sectors.
983
984 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
985 size of the disk.
986 * (grub_ofdisk_get_block_size): New function.
987 * (grub_ofdisk_prepare): Use the correct block size.
988 * (grub_ofdisk_read): Likewise.
989 * (grub_ofdisk_write): Likewise.
990 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
991 New proto.
992
cc0e476f
VS
9932013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
996
c5dbdc33
VS
9972013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
998
999 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
1000 on first error.
1001
3f078c0f
VS
10022013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
1005 freeing it.
1006
66a93674
VS
10072013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 Implement USBDebug (full USB stack variant).
1010
c9f0c134
VS
10112013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
1014 unless they have unexpected values.
1015
cfe1288b
VS
10162013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
1019 grub_print_error.
1020
e42b9969
VS
10212013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
1024 zero-out of port structure.
1025
cf94fd62
VS
10262013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
1029 of extended attributes.
1030
f81ef4b5
AB
10312013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
1032
1033 * util/grub-install.in: change misleading comment about
1034 device.map creation
1035
af18fdb4
VS
10362013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
1039 when menu highlight color isn't set.
1040
08bcec50
M
10412013-01-27 C. Masloch <pushbx@38.de>
1042
1043 Improve FreeDOS direct loading support compatibility.
1044
1045 * include/grub/i386/relocator.h (grub_relocator16_state):
1046 New member ebp.
1047 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
1048 variable.
1049 (grub_relocator16_boot): Handle %ebp.
1050 * grub-core/lib/i386/relocator16.S: Likewise.
1051 * grub-core/loader/i386/pc/freedos.c:
1052 Load BPB to pass kernel which partition to load from.
1053 Check that kernel file is not too large.
1054 Set register dl to BIOS unit number as well.
1055
7782b8a6
CW
10562013-01-22 Colin Watson <cjwatson@ubuntu.com>
1057
1058 * util/grub-reboot.in (usage): Document the need for
1059 GRUB_DEFAULT=saved.
1060 * util/grub-set-default.in (usage): Likewise.
1061 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
1062
e661c180
VS
10632013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
1066 than defining WORDS_BIGENDIAN manually.
1067
1c22ca9a
VS
10682013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
1071 invariants.
1072
d44892fe
CW
10732013-01-21 Colin Watson <cjwatson@ubuntu.com>
1074
1075 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
1076 nested.
1077 (blit_comb: add_device_width): Likewise.
1078
5fdbaed1
CW
10792013-01-21 Colin Watson <cjwatson@ubuntu.com>
1080
1081 Remove nested functions from USB iterators.
1082
1083 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
1084 (grub_usb_controller_iterate_hook_t): Likewise.
1085 (grub_usb_iterate): Add hook_data argument.
1086 (grub_usb_controller_iterate): Likewise.
1087 (struct grub_usb_controller_dev.iterate): Likewise.
1088
1089 Update all implementations and callers.
1090
4250985a
VS
10912013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
1094 margin when not needed.
1095
7d8848f3
VS
10962013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1097
bc136973 1098 Make color variables global instead of it being per-terminal.
7d8848f3
VS
1099
11002013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1101
bc136973
VS
1102 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
1103 asterisk.
7d8848f3 1104
ed12a003
CW
11052013-01-21 Colin Watson <cjwatson@ubuntu.com>
1106
1107 Fix powerpc and sparc64 build failures caused by un-nesting memory
1108 map iterators.
1109
6a0db449
CW
11102013-01-21 Colin Watson <cjwatson@ubuntu.com>
1111
1112 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
1113 parameter declarations.
1114
ccd86b21
VS
11152013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
1118
822b726b
VS
11192013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 Improve spkmomdem reliability by adding a separator between bytes.
1122
115c2cc1
CW
11232013-01-21 Colin Watson <cjwatson@ubuntu.com>
1124
1125 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
1126 an Acer registration utility with several sightings in the wild.
1127 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
1128
fc524edf
CW
11292013-01-21 Colin Watson <cjwatson@ubuntu.com>
1130
1131 Remove nested functions from filesystem directory iterators.
1132
1133 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
1134 (struct grub_fs.dir): Add hook_data argument.
1135
1136 Update all implementations and callers.
1137
53d3e4e3
CW
11382013-01-21 Colin Watson <cjwatson@ubuntu.com>
1139
1140 * docs/grub.texi (Multi-boot manual config): Fix typo for
1141 "recommended".
1142
c821711f
LL
11432013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1144
1145 * util/grub-mkimage.c (main): Postpone freeing arguments.output
1146 until after its use in generate_image.
1147
6a0debbd
CW
11482013-01-20 Colin Watson <cjwatson@ubuntu.com>
1149
1150 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
1151 initrd size to addr_min, since the initrd will be allocated after
1152 this address.
1153
f41e08db
AB
11542013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
1155
1156 * conf/Makefile.common: Fix autogen rules to pass definition
1157 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
1158
77529e0f
LL
11592013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1160
1161 * include/grub/elf.h: Update ARM definitions based on binutils.
1162
b879aa7b
VS
11632013-01-20 Aleš Nesrsta <starous@volny.cz>
1164
1165 Split long USB transfers into short ones.
1166
8eb8284d
AB
11672013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
1168
1169 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
1170 is interrupted by ESC.
1171
08dad2dc
VS
11722013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * util/grub-script-check.c (main): Uniform the error message.
1175
6c724b85
CW
11762013-01-20 Colin Watson <cjwatson@ubuntu.com>
1177
1178 Remove nested functions from ELF iterators.
1179
25239370
CW
11802013-01-20 Colin Watson <cjwatson@ubuntu.com>
1181
1182 Remove nested functions from device iterators.
1183
1184 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
1185 (grub_arc_iterate_devs): Add hook_data argument.
1186 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
1187 (struct grub_ata_dev.iterate): Add hook_data argument.
1188 * include/grub/device.h (grub_device_iterate_hook_t): New type.
1189 (grub_device_iterate): Add hook_data argument.
1190 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
1191 (struct grub_disk_dev.iterate): Add hook_data argument.
1192 (grub_disk_dev_iterate): Likewise.
1193 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
1194 Likewise.
1195 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
1196 Likewise.
1197 * include/grub/partition.h (grub_partition_iterate_hook_t): New
1198 type.
1199 (struct grub_partition_map.iterate): Add hook_data argument.
1200 (grub_partition_iterate): Likewise.
1201 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
1202 (struct grub_scsi_dev.iterate): Add hook_data argument.
1203
1204 Update all callers.
1205
6c0314d6
CW
12062013-01-20 Colin Watson <cjwatson@ubuntu.com>
1207
1208 Fix typos for "developer" and "development".
1209
600dc5f1
VS
12102013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 Add license header to spkmodem-recv.c.
1213
17334a6b
VS
12142013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 Rewrite spkmodem to use PIT for timing. Double the speed.
1217
7d462559
VS
12182013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 Add new command pcidump.
1221
b78d6c32
VS
12222013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 New terminal outputs using serial: morse and spkmodem.
1225
34f71cb8
VS
12262013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 Improve bidi handling in entry editor.
1229
4542e71b
VS
12302013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
1233 argument to prevent name collision.
1234
09fd6d82
CW
12352013-01-15 Colin Watson <cjwatson@ubuntu.com>
1236
1237 Remove nested functions from script reading and parsing.
1238
1239 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
1240 getline_data argument, passed to getline.
1241 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
1242 getline_data argument, passed to grub_parser_split_cmdline.
1243 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
1244 lexerstate->getline_data to lexerstate->getline.
1245 (grub_script_lexer_init): Add getline_data argument, saved in
1246 lexerstate->getline_data.
1247 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
1248 argument, passed to grub_script_parse.
1249 * grub-core/script/script.c (grub_script_parse): Add getline_data
1250 argument, passed to grub_script_lexer_init.
1251 * include/grub/parser.h (grub_parser_split_cmdline): Update
1252 prototype. Update all callers to pass appropriate getline data.
1253 (struct grub_parser.parse_line): Likewise.
1254 (grub_rescue_parse_line): Likewise.
1255 * include/grub/reader.h (grub_reader_getline_t): Add void *
1256 argument.
1257 * include/grub/script_sh.h (struct grub_lexer_param): Add
1258 getline_data member.
1259 (grub_script_parse): Update prototype. Update all callers to pass
1260 appropriate getline data.
1261 (grub_script_lexer_init): Likewise.
1262 (grub_normal_parse_line): Likewise.
1263
1264 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
1265 data argument.
1266 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
1267 static instead of nested. Rename to ...
1268 (grub_parser_execute_getline): ... this.
1269 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
1270 data argument.
1271 * grub-core/normal/main.c (read_config_file: getline): Make static
1272 instead of nested. Rename to ...
1273 (read_config_file_getline): ... this.
1274 (grub_normal_read_line): Add unused data argument.
1275 * grub-core/script/execute.c (grub_script_execute_sourcecode:
1276 getline): Make static instead of nested. Rename to ...
1277 (grub_script_execute_sourcecode_getline): ... this.
1278 * util/grub-script-check.c (main: get_config_line): Make static
1279 instead of nested.
1280
d0d4b8a0
CW
12812013-01-15 Colin Watson <cjwatson@ubuntu.com>
1282
1283 Remove nested functions from memory map iterators.
1284
1285 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
1286 argument, passed to hook.
1287 * grub-core/kern/i386/coreboot/mmap.c
1288 (grub_linuxbios_table_iterate): Likewise.
1289 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
1290 instead of nested.
1291 (grub_machine_mmap_iterate): Add hook_data argument.
1292 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
1293 Add hook_data argument, passed to hook.
1294 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
1295 Likewise.
1296 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
1297 Likewise.
1298 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
1299 Likewise.
1300 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
1301 Likewise.
1302 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
1303 Likewise.
1304 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
1305 Likewise.
1306 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
1307 (grub_machine_mmap_iterate): Likewise.
1308 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
1309 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
1310 prototype.
1311 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
1312 Remove NESTED_FUNC_ATTR from here and from all users.
1313 (grub_mmap_iterate): Update prototype.
1314 (grub_efi_mmap_iterate): Update prototype. Update all callers to
1315 pass appropriate hook data.
1316 (grub_machine_mmap_iterate): Likewise.
1317
1318 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
1319 static instead of nested.
1320 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
1321 Rename to ...
1322 (lsmmap_hook): ... this.
1323 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
1324 Likewise.
1325 (grub_efiemu_mmap_fill: fill_hook): Likewise.
1326 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
1327 heap_init): Likewise.
1328 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
1329 Rename to ...
1330 (mmap_iterate_hook): ... this.
1331 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
1332 Likewise.
1333 * grub-core/lib/ieee1275/relocator.c
1334 (grub_relocator_firmware_get_max_events: count): Likewise.
1335 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
1336 to ...
1337 (grub_relocator_firmware_fill_events_iter): ... this.
1338 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
1339 hook): Likewise. Rename to ...
1340 (grub_relocator_alloc_chunk_align_iter): ... this.
1341 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
1342 Rename to ...
1343 (generate_e820_mmap_iter): ... this.
1344 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
1345 Rename to ...
1346 (count_hook): ... this.
1347 (grub_linux_boot: hook): Likewise. Rename to ...
1348 (grub_linux_boot_mmap_find): ... this.
1349 (grub_linux_boot: hook_fill): Likewise. Rename to ...
1350 (grub_linux_boot_mmap_fill): ... this.
1351 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
1352 hook): Likewise. Rename to ...
1353 (grub_fill_multiboot_mmap_iter): ... this.
1354 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
1355 hook): Likewise. Rename to ...
1356 (count_hook): ... this.
1357 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
1358 hook): Likewise. Rename to ...
1359 (grub_fill_multiboot_mmap_iter): ... this.
1360 * grub-core/loader/powerpc/ieee1275/linux.c
1361 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
1362 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
1363 Likewise. Rename to ...
1364 (alloc_phys_choose): ... this.
1365 (determine_phys_base: get_physbase): Likewise.
1366 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
1367 find_hook): Likewise.
1368 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
1369 (malloc_hook: count_hook): Likewise.
1370 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
1371 Likewise. Rename to ...
1372 (lower_hook): ... this.
1373 (grub_mmap_get_upper: hook): Likewise. Rename to ...
1374 (upper_hook): ... this.
1375 (grub_mmap_get_post64: hook): Likewise. Rename to ...
1376 (post64_hook): ... this.
1377 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
1378 Likewise. Rename to ...
1379 (lower_hook): ... this.
1380 (grub_mmap_get_upper: hook): Likewise. Rename to ...
1381 (upper_hook): ... this.
1382 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
1383 (grub_mmap_iterate: fill_hook): Likewise.
1384 (fill_mask): Pass addr and mask within a single struct.
1385 (grub_cmd_badram: hook): Make static instead of nested. Rename
1386 to ...
1387 (badram_iter): ... this.
1388 (grub_cmd_cutmem: hook): Likewise. Rename to ...
1389 (cutmem_iter): ... this.
1390
22099030
VS
13912013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
1394 delimit path in strings using quotes.
1395 * util/getroot.c (grub_guess_root_devices): Likewise.
1396 (grub_make_system_path_relative_to_its_root): Likewise.
1397 * util/grub-probe.c (probe): Likewise.
1398 * util/ieee1275/ofpath.c (find_obppath): Likewise.
1399 (xrealpath): Likewise.
1400
4a9950ec
VS
14012013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 Fix compilation with older compilers.
1404
1405 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
1406 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
1407 declarations.
1408 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
1409 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
1410 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
1411 identifier with b.
1412 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
1413 * include/grub/crypto.h: Add type defines.
1414 * util/import_gcrypth.sed: Remove duplicate type defines.
1415
adcc6020
VS
14162013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 New command list_trusted.
1419
1420 * grub-core/commands/verify.c (grub_cmd_list): New function.
1421
a4528937
CW
14222013-01-13 Colin Watson <cjwatson@ubuntu.com>
1423
1424 * util/grub-mkimage.c (generate_image): Fix "size of public key"
1425 info message.
1426
ca3a7446
CW
14272013-01-13 Colin Watson <cjwatson@ubuntu.com>
1428
1429 Remove nested functions from PCI iterators.
1430
1431 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
1432 passed to hook. Update all callers to pass appropriate hook data.
1433 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
1434 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
1435 Remove NESTED_FUNC_ATTR from here and from all users.
1436 (grub_pci_iterate): Update prototype.
1437 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
1438 instead of nested. Rename to ...
1439 (grub_cs5536_find_iter): ... this.
1440 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
1441 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
1442 Likewise.
1443 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
1444 Likewise.
1445 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
1446 Likewise.
1447 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
1448 Likewise.
1449 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
1450 * grub-core/video/radeon_fuloong2e.c
1451 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
1452 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
1453 find_card): Likewise.
1454 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
1455 Likewise.
1456
f8e98fee
VS
14572013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * grub-core/commands/verify.c: Mark messages for translating.
1460
055b36b6
VS
14612013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
1464 fatal.
1465
f7ff879b
VS
14662013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
1469 fatal.
1470
14712013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
1472
1473 * autogen.sh: Do not try to delete nonexistant files.
1474 * util/import_gcrypth.sed: Add some missing header removals.
1475
01323d49
CW
14762013-01-12 Colin Watson <cjwatson@ubuntu.com>
1477
1478 Clean up dangling references to grub-setup.
1479 Fixes Ubuntu bug #1082045.
1480
1481 * docs/grub.texi (Images): Refer generally to grub-install rather
1482 than directly to grub-setup.
1483 (Installing GRUB using grub-install): Remove direct reference to
1484 grub-setup.
1485 (Device map) Likewise.
1486 (Invoking grub-install): Likewise.
1487 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
1488 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
1489 * util/grub-install.in (usage): Likewise.
1490
1491 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
1492 Apply to grub-bios-setup and grub-sparc64-setup rather than to
1493 grub-setup.
1494 * configure.ac: Remove grub_setup output variable.
1495
1496 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
1497 to grub-bios-setup.
1498 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
1499 grub-setup to grub-sparc64-setup.
1500
5e3b8dcb
VS
15012013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 Import gcrypt public-key cryptography and implement signature checking.
1504
535714bd
VS
15052013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/fs/ntfs.c: Ue more appropriate types.
1508 * grub-core/fs/ntfscomp.c: Likewise.
1509 * include/grub/ntfs.h: Likewise.
1510
3e4f3566
VS
15112013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 Support Apple FAT binaries on non-Apple platforms.
1514
1515 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
1516 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
1517 Likewise.
1518 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
1519 Apple FAT binaries.
1520
4dedb13f
VS
15212013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
1524 sector devices.
1525
f8861eaf
CW
15262013-01-07 Colin Watson <cjwatson@ubuntu.com>
1527
1528 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
1529 explicitly zeroing elements.
1530 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
1531 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
1532 of elements in a structure already allocated using grub_zalloc.
1533 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1534
86065b0a
CW
15352013-01-07 Colin Watson <cjwatson@ubuntu.com>
1536
1537 * docs/grub.texi (grub_cpu): New subsection.
1538 (grub_platform): Likewise.
1539
c6f1e92f
VS
15402013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
1543
f797ec85
VS
15442013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
1547 divisions.
1548
033d0b4b
VS
15492013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
1552 * grub-core/fs/ntfscomp.c: Likewise.
1553 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
1554 (grub_ntfs_comp): Likewise.
1555
21d1b9a0
VS
15562013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
1559 Rename to ...
1560 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
1561 of groups_per_block. All users updated.
1562
10ca8645
VS
15632013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
1566 grub_error properly.
1567 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
1568 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
1569
a4c3ed4c
VS
15702013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
1573 always in /boot/zfs.
1574 Reported by: Yuta Satoh.
1575
0b716507
YS
15762013-01-03 Yuta Satoh <nigoro>
1577
1578 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
1579 ${grub_probe}
1580
00c05e22
VS
15812013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * configure.ac: Extend -Wno-trampolines to host.
1584
dadddb76
VS
15852013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
1588 entry->len = 0.
1589
54ce53ca
CW
15902013-01-03 Colin Watson <cjwatson@ubuntu.com>
1591
1592 * docs/grub.texi (Invoking grub-mkrelpath): New section.
1593 (Invoking grub-script-check): Likewise.
1594
8912efca
CW
15952013-01-03 Colin Watson <cjwatson@ubuntu.com>
1596
1597 * docs/grub.texi (Invoking grub-mount): New section.
1598 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
1599
c3fc8394
CW
16002013-01-02 Colin Watson <cjwatson@ubuntu.com>
1601
1602 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
1603 test failures, so that a failing unit test correctly causes 'make
1604 check' to fail.
1605
45d26abb
CW
16062013-01-02 Colin Watson <cjwatson@ubuntu.com>
1607
1608 Fix failing printf test.
1609
1610 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
1611 '$' in the correct order when collecting type information.
1612
971dd2c6
CW
16132013-01-02 Colin Watson <cjwatson@ubuntu.com>
1614
1615 * docs/grub.texi (configfile): Explain environment variable
1616 handling.
1617 (source): New section.
1618 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
1619
5c67ea6c
CW
16202012-12-31 Colin Watson <cjwatson@ubuntu.com>
1621
1622 Remove several trivially-unnecessary uses of nested functions.
1623
1624 * grub-core/commands/i386/pc/sendkey.c
1625 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
1626 instead of nested.
1627 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
1628 Rename to ...
1629 (legacy_file_getline): ... this.
1630 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
1631 Likewise.
1632 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
1633 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
1634 to ...
1635 (probe_dummy_iter): ... this.
1636 * grub-core/kern/i386/coreboot/mmap.c
1637 (grub_linuxbios_table_iterate: check_signature): Likewise.
1638 * grub-core/kern/parser.c (grub_parser_split_cmdline:
1639 check_varstate): Likewise. Mark inline.
1640 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
1641 an additional parameter.
1642 (find_long: fnd_long): Likewise. Pass two additional parameters.
1643 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
1644 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
1645 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
1646 Likewise. Rename to ...
1647 (grub_cmos_find_port_iter): ... this.
1648 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
1649 Rename to ...
1650 (find_rtc_iter): ... this.
1651
1652 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
1653 function directly into the function body, since it is only called
1654 once.
1655
33a68ac6
CW
16562012-12-30 Colin Watson <cjwatson@ubuntu.com>
1657
1658 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
1659 __attribute__ ((unused)).
1660 * grub-core/video/bochs.c (find_card): Likewise.
1661 * grub-core/video/cirrus.c (find_card): Likewise.
1662 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
1663 * grub-core/video/sis315pro.c (find_card): Likewise.
1664 * grub-core/video/sm712.c (find_card): Likewise.
1665
608b647a
CW
16662012-12-28 Colin Watson <cjwatson@ubuntu.com>
1667
1668 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
1669 Fixes Savannah bug #37821.
1670
fd49ceb3
CW
16712012-12-28 Colin Watson <cjwatson@ubuntu.com>
1672
1673 Apply program name transformations at build-time rather than at
1674 run-time. Fixes Debian bug #696465.
1675
1676 * acinclude.m4 (grub_TRANSFORM): New macro.
1677 * configure.ac: Create output variables with transformed names for
1678 most programs.
1679 * util/bash-completion.d/grub-completion.bash.in: Use
1680 pre-transformed variables for program names.
1681 * util/grub-install.in: Likewise.
1682 * util/grub-kbdcomp.in: Likewise.
1683 * util/grub-mkconfig.in: Likewise.
1684 * util/grub-mkconfig_lib.in: Likewise.
1685 * util/grub-mknetdir.in: Likewise.
1686 * util/grub-mkrescue.in: Likewise.
1687 * util/grub-mkstandalone.in: Likewise.
1688 * util/grub-reboot.in: Likewise.
1689 * util/grub-set-default.in: Likewise.
1690 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1691 * tests/util/grub-shell-tester.in: Remove unused assignment.
1692 * tests/util/grub-shell.in: Likewise.
1693 * util/grub.d/00_header.in: Likewise.
1694
7024b3c0
CW
16952012-12-28 Colin Watson <cjwatson@ubuntu.com>
1696
1697 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
1698
1699 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
1700 HAVE_RAW_DECL_GETS.
1701 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
1702
e3501b13
VS
17032012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
1706 Reported by: Eriks Latosheks <foresterlv>.
1707
b40c88a9
VS
17082012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * docs/grub.texi (Network): Update instructions on generating netboot
1711 image.
1712
ce96d01c
VS
17132012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
1716 around device name if necessarry.
1717
0f596201
PFS
17182012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1719
1720 * util/grub-install.in: Follow the symbolic link parameter added
1721 to the file command.
1722
600d5bdb
AB
17232012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
1724
1725 * util/grub-install.in: Remove stale TODO.
1726
64ebd2f4
PFS
17272012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1728
1729 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
1730 dynamic allocation for the bootpath buffer.
1731
74b2fe3e
DTB
17322012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
1733
1734 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
1735 window too small.
1736
969b804f
VS
17372012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
1740 argument rather than font name. All users updated.
1741 (grub_gfxterm_set_window): Likewise.
1742
b9f5ebd6
VT
17432012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
1744
1745 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
1746 from working.
1747
258f43b7
VS
17482012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 * util/getroot.c (convert_system_partition_to_system_disk): Support
1751 nbd disks.
1752
cc1ce5f9
VS
17532012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
1756 infinite loop on corrupted FS.
1757
e77a16ca
VS
17582012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 Fix big-endian mtime.
1761
1762 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
1763 together sec and usec.
1764 (grub_ufs_dir): Use correct byteswapping for UFS time.
1765
d9c48c7b
VS
17662012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 Support big-endian UFS1.
1769
1770 * Makefile.util.def (libgrubmods): Add ufs_be.c
1771 * grub-core/Makefile.core.def (ufs1_be): New module.
1772 * grub-core/fs/ufs_be.c: New file.
1773 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
1774 the file.
1775
2f9f40ba
LL
17762012-11-28 Leif Lindholm <leif.lindholm@arm.com>
1777
1778 * include/grub/types.h: Fix functionality unaffecting typo in
1779 GRUB_TARGET_WORDSIZE conditional macro.
1780
48ff0889
PFS
17812012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1782
1783 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
1784
03711240
GS
17852012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1786
1787 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
1788 that /netbsd appears first (when it exists).
1789
a31b11bd
CJ
17902012-10-12 Christoph Junghans <ottxor@gentoo.org>
1791
1792 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
1793 Fixes Savannah bug #37558.
1794
e8a5d5d4
CW
17952012-10-12 Colin Watson <cjwatson@ubuntu.com>
1796
1797 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
1798 description of extract_entries_configfile.
1799
18002012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
1801
1802 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
1803 preferred_address.
1804 (grub_cmd_linux): Likewise.
1805 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
1806 preferred_lifetime. Update all users.
1807
288c757d
CW
18082012-09-26 Colin Watson <cjwatson@ubuntu.com>
1809
1810 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
1811 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
1812
0d35da3f
CW
18132012-09-26 Colin Watson <cjwatson@ubuntu.com>
1814
1815 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
1816 errors from grub-probe to /dev/null, not stdout.
1817
b78c3127
VS
18182012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
1821 sector 1.
1822
473959f0
CW
18232012-09-24 Colin Watson <cjwatson@ubuntu.com>
1824
1825 * util/grub-install.in: Make the error message if $source_dir
1826 doesn't exist more useful.
1827
794c8c33
CW
18282012-09-22 Colin Watson <cjwatson@ubuntu.com>
1829
1830 Fix grub-emu build on FreeBSD.
1831
1832 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
1833 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
1834 headers on Linux.
1835 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
1836 implementation is currently Linux-specific.
1837 * util/getroot.c (exec_pipe): Define only on Linux or when either
1838 libzfs or libnvpair is unavailable.
1839 (find_root_devices_from_poolname): Remove unused path variable.
1840
86d08fdb
CW
18412012-09-19 Colin Watson <cjwatson@ubuntu.com>
1842
1843 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
1844 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
1845 should fit before end == 63.
1846
735abf54
CW
18472012-09-19 Colin Watson <cjwatson@ubuntu.com>
1848
1849 * util/grub-setup.c (write_rootdev): Remove unused core_img
1850 parameter. Update all callers.
1851 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
1852 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
1853 GRUB_SETUP_BIOS.
1854
140acd3c
VS
18552012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 * util/grub-mkconfig_lib.in (grub_tab): New variable.
1858 (grub_add_tab): New function.
1859 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
1860 * util/grub.d/10_illumos.in: Likewise.
1861 * util/grub.d/10_kfreebsd.in: Likewise.
1862 * util/grub.d/10_linux.in: Likewise.
1863 * util/grub.d/10_netbsd.in: Likewise.
1864 * util/grub.d/10_windows.in: Likewise.
1865 * util/grub.d/10_xnu.in: Likewise.
1866 * util/grub.d/20_linux_xen.in: Likewise.
1867 * util/grub.d/30_os-prober.in: Likewise.
1868
7ddffdad
VS
18692012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1872 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
1873 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
1874 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
1875 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
1876 ieee1275-nocursor.
1877 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
1878 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
1879
4e092454
VS
18802012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
1883 le-conversion.
1884 Reported by: BURETTE, Bernard.
1885
735abf54 18862012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
1887
1888 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
1889 from comment.
1890
dfd39dbd
CW
18912012-09-14 Colin Watson <cjwatson@ubuntu.com>
1892
1893 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
1894 IEEE1275 machines. Fixes powerpc-emu compilation.
1895 * include/grub/terminfo.h: Likewise.
1896
3bfa763c
VS
18972012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
1900 a const pointer.
1901 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
1902 const pointer.
1903 (efiemu_set_variable): Make vendor_guid a const pointer.
1904
250e475b
VS
19052012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 Don't require grub-mkconfig_lib to generate manpages for programs.
1908
1909 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
1910 dependencies, don't add grub-mkconfig_lib.
1911 (program): Pass empty adddeps.
1912 (script): Pass grub-mkconfig_lib as adddeps.
1913
592fd0e4
VS
19142012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
1917 * util/getroot.c (grub_find_device): Likewise.
1918 (get_mdadm_uuid): Likewise.
1919 (grub_util_is_imsm): Likewise.
1920 (grub_util_pull_device): Likewise.
1921 * util/grub-probe.c (probe): Likewise.
1922
801a3027
BG
19232012-09-10 Benoit Gschwind <gschwind>
1924
1925 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
1926 (devs): Add devpath_8.
1927
c5052c81
PJ
19282012-09-08 Peter Jones <pjones@redhat.com>
1929
1930 * grub-core/Makefile.core.def (efifwsetup): New module.
1931 * grub-core/commands/efi/efifwsetup.c: New file.
1932 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
1933 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
1934 New define.
1935 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
1936
8e832f71
JS
19372012-09-05 Jiri Slaby <jslaby@suse.cz>
1938
1939 * configure.ac: Add SuSe path.
1940
f0f55752
CW
19412012-09-05 Colin Watson <cjwatson@ubuntu.com>
1942
1943 * NEWS: Fix typo.
1944
ecadc4c2
CW
19452012-09-05 Colin Watson <cjwatson@ubuntu.com>
1946
1947 * util/import_gcry.py: Sort cipher_files, to make build system
1948 generation more deterministic.
1949
64498f25
VS
19502012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
1953 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
1954 (grub_set_datetime): Likewise.
1955
9cc836a2
VS
19562012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
1959 warnings.
1960
bcfcea01
VS
19612012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
1964
a4099485
VS
19652012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
1968
265c162a
CW
19692012-09-04 Colin Watson <cjwatson@ubuntu.com>
1970
1971 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
1972 required for checkouts from bzr, but it may be useful for users or
1973 distributors wishing to update translations against a tarball
1974 distribution, and it can be helpful for the tarball to be a superset
1975 of what's in bzr.
1976
3d171e95
CW
19772012-09-04 Colin Watson <cjwatson@ubuntu.com>
1978
1979 * Makefile.am (EXTRA_DIST): Add
1980 grub-core/tests/boot/linux.init-mips.S,
1981 grub-core/tests/boot/linux.init-ppc.S, and
1982 grub-core/tests/boot/linux-ppc.cfg.
1983
f2c2503e
CW
19842012-09-04 Colin Watson <cjwatson@ubuntu.com>
1985
1986 * grub-core/mmap/mips/loongson: Remove empty directory.
1987
19882012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
1989
1990 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
1991 gone.
1992
ab2163d5
CW
19932012-09-04 Colin Watson <cjwatson@ubuntu.com>
1994
1995 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
1996 grub-sparc64-setup.
1997
ce938140
GS
19982012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
1999
2000 * configure.ac: Strengthen the test for working -nostdinc -isystem.
2001
529f58a5
GS
20022012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
2003
2004 * po/POTFILES.in: Regenerated.
2005
16cf79e9
GS
20062012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
2007
2008 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
2009 (NetBSD): New subsection.
2010
39b27f1e 20112012-07-22 Ales Nesrsta <starous@volny.cz>
2012
2013 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
2014 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
2015
a885261b
VS
20162012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
2019 * util/grub.d/10_hurd.in: Add missing quoting.
2020 * util/grub.d/10_illumos.in: Likewise.
2021 * util/grub.d/10_kfreebsd.in: Likewise.
2022 * util/grub.d/10_linux.in: Likewise.
2023 * util/grub.d/20_linux_xen.in: Likewise.
2024
7bd29c01
VS
20252012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2026
2027 New command `lsefi'.
2028
2029 * grub-core/Makefile.core.def (lsefi): New module.
2030 * grub-core/commands/efi/lsefi.c: New file.
2031 * include/grub/efi/api.h: Add more GUIDs.
2032
ac625d8f
VS
20332012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
2036 (grub_bsd_elf32_hook): Likewise.
2037 (grub_bsd_elf64_size_hook): Likewise.
2038 (grub_bsd_elf64_hook): Likewise.
2039 (grub_bsd_load_elf): Likewise.
2040
e73bb801
VS
20412012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
2044 if hash function is unavailable.
2045 (dec_stream_header): Likewise.
2046
e81db8b5
VS
20472012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2048
2049 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
2050 filter state.
2051
d187a1c3
VS
20522012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 Fix coreboot compilation.
2055
2056 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
2057 (grub_vga_text_init_real): ... this.
2058 (grub_vga_text_fini): Rename to ...
2059 (grub_vga_text_fini_real): ... this.
2060
91a05f64
VS
20612012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
2064
6af96df7
VS
20652012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * grub-core/lib/legacy_parse.c: Support clear and testload.
2068
4d569e12
VS
20692012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2070
2071 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
2072
073b57bb
VS
20732012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * grub-core/fs/ext2.c: Experimental support for 64-bit.
2076
a706f4cc
VS
20772012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * grub-core/net/tftp.c (ack): Fix endianness problem.
2080 (tftp_receive): Likewise.
2081 Reported by: Michael Davidsaver.
2082
e7850aa9
VS
20832012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 * gentpl.py: Make mans depend on grub-mkconfig_lib.
2086
20872012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
2090 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
2091 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
2092
35692881
VS
20932012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
2096 efi_mmap_size.
2097 Reported by: Stuart Hayes.
2098
c35fc5bd
VS
20992012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
2102
2103 * grub-core/Makefile.core.def (mda_text): New module.
2104 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
2105 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
2106 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
2107 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
2108 here.
2109 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
2110 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
2111 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
2112 here.
2113 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
2114 to ..
2115 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
2116 ... here
2117 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
2118 here.
2119 * grub-core/term/i386/vga_common.c: Removed.
2120 * include/grub/i386/vga_common.h: Likewise.
2121 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
2122 (grub_vga_cr_bw_read): Likewise.
2123 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
2124 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
2125 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
2126 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
2127 grub_vga_cr_read/grub_vga_cr_write.
2128 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
2129
5f91f701
VS
21302012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * configure.ac: Bump version to 2.00.
2133 * grub-core/normal/main.c (features): Add feature_200_final.
2134
0c4f85f6
VS
21352012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
21362012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
2137
2138 * NEWS: Fix unclarity and language mistakes.
2139
f923ad22
VS
21402012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
2143 additional size to 3 pages.
2144 Reported by: Stuart Hayes.
2145
d22029ba
VS
21462012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * NEWS: Add 2.00 entry.
2149
58eee08f
VS
21502012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
2153 put explicit "/" for empty path.
2154 (wildcard_expand): Improve dprintf.
2155
c59bdff7
VS
21562012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
2159 it's equal to currnode. This can happen with "" symlink.
2160
5e6a440a
YB
21612012-06-27 Yves Blusseau <blusseau@zetam.org>
2162
2163 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
2164 echo shell command by printf command.
2165
73a68bcb
VS
21662012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
2169 the value returned by firmware is the maximal position, not diumension.
2170 (grub_terminfo_output_state): Use a more sane fallback.
2171
392a603b
VS
21722012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
2175
42d0867f
VS
21762012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
2179 frequency to 150 MHz.
2180
489509f4
VS
21812012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 Apple fixes.
2184
2185 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
2186 __APPLE_
2187 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
2188 definition.
2189 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
2190
9f3fc883
VS
21912012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 Handle slash in HFS label.
2194
2195 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
2196 (grub_hfs_dir): Tanslate slash.
2197 (grub_hfs_label): Don't translate slash.
2198
54853fd7
VS
21992012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
2202 network protocol listing since it introduces problematic dependency on
2203 net module.
2204
4dc02ddf
VS
22052012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
2208
c50c867d
VS
22092012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 Init video early on yeeloong to avoid being rebooted by watchdog.
2212
2213 * grub-core/Makefile.am (gensm712): New target.
2214 (sm712_start.S): Likewise.
2215 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
2216 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
2217 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
2218 description.
2219 * include/grub/vga.h: Move registry definitions to...
2220 * include/grub/vgaregs.h: ... here.
2221
5f92c8a1
VS
22222012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
2225 signedness.
2226
e9e6f111
VS
22272012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
2230 platforms with firmware disk drivers in the core.
2231
754ad9eb
VS
22322012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
2235 informative verbose message.
2236 (read_lv): Handle 64-bit segment size.
2237
315654c2
VS
22382012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
2241
fb022c79
VS
22422012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
2245 character but still remove trainling spaces.
2246 (grub_fat_label): Ignore archive flag.
2247
8645f72c
VS
22482012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
2251 cast between linux_kernel_header and linux_kernel_params.
2252
36498496
VS
22532012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
2256 type for size.
2257 (grub_raid6_recover_func_t): Likewise.
2258 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
2259 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
2260
0b5ea6b8
VS
22612012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
2264
650cfcfe
GS
22652012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
2266
2267 Fix overflow.
2268
2269 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
2270 [__NetBSD__]: Add explicit cast before bitshift.
2271
8a4d6a44
VS
22722012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2273
2274 * configure.ac: Bump to 2.00~rc1.
2275
2fb97ed3
VS
22762012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
2279 half of $a0.
2280
1fa097dc
VS
22812012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
22822012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
2283
2284 * docs/grub.texi: Fix search syntax.
2285 (Multi-boot manual config): Put msdos rather than GPT example.
2286 Grammar corrections.
2287
c890ba78
VS
22882012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
2291
0f92dca7
VS
22922012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
2295
3988c4a0
VS
22962012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
2299 message on double free. Put the value of magic in case of mismatch.
2300
9e86d4c5
VS
23012012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 Speed-up video on yeeloong.
2304
2305 * grub-core/video/sm712.c (framebuffer): Remove render_target and
2306 add cached_ptr.
2307 (grub_video_sm712_video_fini): Unmap cached_ptr.
2308 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
2309 (grub_video_sm712_set_active_render_target): Removed.
2310 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
2311 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
2312 sync caches.
2313
ed24c312
VS
23142012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 Avoid flushing the same line multiple times on loongson.
2317
2318 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
2319 Step in 32 bytes and not 1 byte.
2320 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
2321 Likewise.
2322
d1718e7d
VS
23232012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
2326 subvolumes.
2327
982f1909
VS
23282012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 Implement flow control for http.
2331
2332 * grub-core/net/http.c (parse_line): Handle response 206.
2333 (http_receive): Stall if too many packets are in the queue.
2334 (http_establish): Fix range header.
2335 (http_seek): Fix double free.
2336 (http_close): Likewise.
2337 (http_packets_pulled): New function.
2338 (grub_http_protocol): Set http_seek
2339 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
2340 (ack_real): Set window depending on i_stall.
2341 (grub_net_send_tcp_packet): Likewise.
2342 (grub_net_tcp_stall): New function.
2343 (grub_net_tcp_unstall): Likewise.
2344 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
2345 (grub_net_tcp_unstall): Likewise.
2346
bd407d6e
VS
23472012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/net/tftp.c: Decrease stall to 50 packets.
2350
c7564b8e
VS
23512012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
2354
a3706162
VS
23552012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 * tests/util/grub-shell.in: Fix a typo.
2358
b27069e0
VS
23592012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 Implement flow control for tftp.
2362
2363 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
2364 packets but stop only if stop condition is satisfied.
2365 (grub_net_fs_read_real): Call packets_pulled after real read. Use
2366 `stall' instead of `eof' as stop condition.
2367 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
2368 (http_err): Likewise.
2369 * grub-core/net/tftp.c (ack): Replace the first argument with data
2370 instead of socket.
2371 (tftp_receive): Stall if too many packets are in wait queue.
2372 (tftp_packets_pulled): New function.
2373 (grub_tftp_protocol): Set packets_pulled.
2374 * include/grub/net.h (grub_net_packets): New field count.
2375 (grub_net_put_packet): Increment count.
2376 (grub_net_remove_packet): Likewise.
2377 (grub_net_app_protocol): New field `packets_pulled'.
2378 (grub_net): New field `stall'.
2379
6b9cfac6
VS
23802012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
2383 sync part to handle them.
2384
f35abd81
VS
23852012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
2388 * grub-core/net/drivers/ieee1275/ofnet.c
2389 (grub_ieee1275_net_config_real): Likewise.
2390
0e7ec820
VS
23912012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
2394 the direct route for server/gateway.
2395
9d611a31
VS
23962012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
2399 IP address to server name since we may not hame the DNS.
2400
418f45ab
VS
24012012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
2404 freeing random buffer on failure.
2405 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
2406
44a0efc1
VS
24072012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
2410
531e2241
VS
24112012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
2414 reserved bytes.
2415 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
2416 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
2417 Handle malloc error correctly.
2418
cde393c9
VS
24192012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2422 blocks.
2423
538478d0
VS
24242012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
2427 increment.
2428
9b55efe0
VS
24292012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
2432 none is explicitly specified.
2433
9eb832c3
VS
24342012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
2437 while reallocating.
2438
d6b7c7c9
VS
24392012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 Respect netmask from bootp/dhcp.
2442
2443 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
2444 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
2445 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
2446 into ...
2447 (grub_net_add_ipv4_local): ... this.
2448 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
2449 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
2450 (grub_net_add_ipv4_local): New proto.
2451
67caf9eb
VS
24522012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
2455 determining EFI memory map size.
2456
43657558
VS
24572012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
2460
eb6d0dd3
VS
24612012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
2464 when looking for partition separator.
2465
31230544
VS
24662012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2469 Escape commas.
2470
918a2517
VS
24712012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 Restructure FAT driver to avoid hook in label reading as it hits a
2474 GCC bug.
2475
2476 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
2477 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
2478 (grub_fat_iterate_dir): Split into ...
2479 (grub_fat_iterate_init): ... this, ...
2480 (grub_fat_iterate_fini): ... this, ...
2481 (grub_fat_iterate_dir_next): ... and this. All users updated.
2482
9f1d654e
VS
24832012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2486 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
2487 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2488 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
2489 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
2490 New fields last_key and last_key_time.
2491 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
2492 extended key-esc into extended key-extended key.
2493
52f0f643
VS
24942012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 Avoid unnecessary memcpy of whole video buffer.
2497
2498 * grub-core/video/fb/video_fb.c (dirty): New struct.
2499 (framebuffer): Add members current_dirty and previous_dirty.
2500 (dirty): New function.
2501 (grub_video_fb_fill_rect): Update dirty.
2502 (common_blitter): Likewise.
2503 (grub_video_fb_scroll): Likewise.
2504 (doublebuf_blit_update_screen): Copy only dirty part.
2505 (doublebuf_pageflipping_update_screen): Likewise.
2506 (grub_video_fb_doublebuf_blit_init): Init dirty.
2507 (doublebuf_pageflipping_init): Likewise.
2508 (grub_video_fb_setup): Likewise.
2509
e169a180
VS
25102012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
2513 poll rate.
2514
48556879
VS
25152012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 Fix wildcard regexp dot and other special characters handling.
2518 Reported by: Robert Mabee.
2519
2520 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
2521 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
2522 (split_path): Trigger expansion on '?'.
2523 (unescape): New function.
2524 (wildcard_expand): Unescape parts copied without globbing.
2525 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
2526 (grub_script_arglist_to_argv): Don't unescape expansions.
2527
0494408e
VS
25282012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * include/grub/net.h (grub_net_card): New member txbufsize.
2531 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
2532 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
2533 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
2534 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
2535 txbufsize.
2536 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
2537 compatible property to check for macs. Set
2538 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
2539 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
2540 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
2541 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
2542 (send_card_buffer): Use txbuf.
2543 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
2544 nested function out of the parent while on it.
2545
cc35fe8f
VS
25462012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
2549 presence check.
2550 (grub_ieee1275_net_config_real): Fix config pointer.
2551
970a0a09
VS
25522012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
2555 filename parsing to non-block devices.
2556
3e19bf87
VS
25572012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * grub-core/kern/device.c (grub_device_open): Remove dead code.
2560
c62d1a0c
VS
25612012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
2564 All users updated.
2565
ef76bec3
VS
25662012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
2569 UUID search command even if hints probing failed.
2570
25712012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
2572
2573 * po/POTFILES.in: Regenerated.
2574
70aaf305
VS
25752012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 Speed-up video on fuloong.
2578
2579 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
2580 New function.
2581 (grub_pci_device_unmap_range): Handle non-cached address.
2582 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
2583 add direct_ptr.
2584 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
2585 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
2586 (grub_video_sis315pro_set_active_render_target): Removed.
2587 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
2588 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
2589 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
2590 sync caches.
2591 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
2592 New proto.
2593
10400f0b
VS
25942012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * docs/grub.texi (Multi-boot manual config): New section.
2597
ba67e2c6
VS
25982012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 Avoid slow read-back from VRAM.
2601
2602 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
2603 Move from here ...
2604 * grub-core/video/fb/video_fb.c
2605 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
2606 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
2607 (front_target): Remove front_target. Add pages.
2608 (grub_video_fb_init): Skip setting front_pages.
2609 (grub_video_fb_fini): Likewise.
2610 (doublebuf_blit_update_screen): Use pages.
2611 (grub_video_fb_doublebuf_blit_init): Likewise.
2612 (doublebuf_pageflipping_init): Allocate offscreen buffer.
2613 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
2614 (grub_video_fb_setup): Prefer doublebuffing.
2615
377c98cb
VS
26162012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
2619 gzio.
2620
eac49cff
VS
26212012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 Add loongson tests.
2624
2625 * tests/util/grub-shell.in: Handle loongson.
2626 * tests/partmap_test.in: Add loongson to the list of platform using ATA
2627 drivers.
2628 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
2629 Reboot instead of shutdown if REBOOT is defined.
2630
0321415e
VS
26312012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
2634 sized ports since unlike on real hardware qemu supports only 32-bit
2635 regs.
2636
3f2bdd8f
VS
26372012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * Makefile.util.def (grub-mkrescue): Enable on loongson.
2640 * util/grub-mkrescue.in: Handle loongson.
2641
29a049c9
VS
26422012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
2645 Set is_part appropriately.
2646 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
2647 names. Canonicalize partition without full disk.
2648
4abde346
VS
26492012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 Revert usb-quiesce since it's wrong.
2652
2653 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
2654 (grub_ofdisk_init): Don't do quiesce.
2655
61f1d93b
VS
26562012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
2659 PowerMac workaround to Xserves as well.
2660 Information supplied by: Benjamin Herrenschmidt.
2661
a09eb541
VS
26622012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 Don't assume that beginning address is also the entry point on ppc.
2665
2666 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
2667 (grub_linux_boot): Use linux_entry.
2668 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
2669 (grub_linux_load64): Likewise.
2670
505b3c9b
VS
26712012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
2674
cbe0b4ef
VS
26752012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
2678 needlessly lose the console.
2679
3006e981
VS
26802012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
2683 space.
2684
4e5a96b0
VS
26852012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2686
7da036bb
VS
2687 Remove non-functional EFI grub_get_rtc. Put a better fatal message
2688 than current grub_get_rtc() not implemented when booted with
2689 coreboot without TSC.
2690
2691 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
2692 Add machine/time.h to kernel headers on loongson.
2693 * grub-core/Makefile.core.def (kernel): Remove
2694 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
2695 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
2696 (grub_get_rtc): Likewise.
2697 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
2698 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
2699 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
2700 * grub-core/kern/i386/tsc.c (grub_tsc_init)
2701 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
2702 rather than installing known non-working time source.
2703 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
2704 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
2705 * include/grub/time.h: Don't include machine/time.h.
2706 * include/grub/efi/time.h: Removed.
2707 * include/grub/i386/efi/time.h: Likewise.
2708 * include/grub/i386/ieee1275/time.h: Likewise.
2709 * include/grub/powerpc/ieee1275/time.h: Likewise.
2710 * include/grub/sparc64/ieee1275/time.h: Likewise.
2711 * include/grub/x86_64/efi/time.h: Likewise.
2712
27132012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
2716
2717 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
2718 value.
2719 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
2720 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
2721 with dotless variants when any combining above is present.
2722
5561c22d
VS
27232012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
2726 text and not binary.
2727
96f7e60e
VS
27282012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 Stop polling as soon as we have the packet we were waiting for.
2731
2732 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
2733 All users updated.
2734 * grub-core/net/arp.c (have_pending): New var.
2735 (pending_req): Likewise.
2736 (grub_net_arp_send_request): Fill pending_req and use have_pending as
2737 stop indicator.
2738 (grub_net_arp_receive): Set have_pending.
2739 * grub-core/net/dns.c (recv_data): New field stop.
2740 (recv_hook): Set stop.
2741 (grub_net_dns_lookup): Init stop and use as stop condition.
2742 * grub-core/net/http.c (http_establish): Use headers_recv as stop
2743 condition.
2744 * grub-core/net/net.c (grub_net_poll_cards): New argument
2745 stop_condition. Stop when it goes true.
2746 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
2747 indicator.
2748 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
2749
3e747239
VS
27502012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 Keep TX and RX buffers on EFI rather than always allocate new ones.
2753
2754 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
2755 card. All users updated.
2756 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
2757 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
2758 (get_card_packet): Likewise.
2759 (grub_efinet_findcards): Init new fields.
2760
f695e99a
VS
27612012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
2764 compilation error on sparc64.
2765
9e5e66d1
VS
27662012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 Use ITC on IA64 rather than broken routine based on daytime.
2769
2770 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
2771 ia64.
2772 (grub_get_rtc) [__ia64__]: Likewise.
2773 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
2774 (get_itc): New function.
2775 (grub_rtc_get_time_ms): Likewise.
2776 (grub_machine_init): Calibrate ITC.
2777 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
2778 Keep only on non-ia64. Don't export since it's broken and used only
2779 if TSC is unavailable.
2780
a1767404
VS
27812012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
2784 even if it's used.
2785 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
2786 Skip if parent is unused.
2787
34b2bced
VS
27882012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
2791
5e619f40
VS
27922012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 Fix wildcard escaping.
2795
2796 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
2797 * grub-core/script/execute.c (wildcard_escape): .. to here.
2798 Don't escape dot.
2799 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
2800 * grub-core/script/execute.c (wildcard_unescape): .. to here.
2801 Don't escape dot.
2802 * grub-core/script/execute.c (gettext_append): Always escape.
2803 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
2804 * grub-core/script/yylex.l: Don't cut away the escaping.
2805 * tests/grub_script_echo1.in: Add tests with wildcard.
2806
c8ca5855
VS
28072012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
2810 (ftdi_hw_configure): Likewise.
2811 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
2812 define.
2813 (real_config): Handle 1.5 stop bits.
2814 (pl2303_hw_configure): Likewise.
2815
7183452c
VS
28162012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * Makefile.am: Add ppc linux bootcheck.
2819 * grub-core/tests/boot/linux-ppc.cfg: New file.
2820 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
2821
f57c84cd
VS
28222012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * tests/grub_script_expansion.in: Skip network protocols.
2825
ecfc6207
VS
28262012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
2829
8d03d284
VS
28302012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
2833 --rom-directory.
2834 Add -graft-points.
2835
61c42af0
VS
28362012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 ESCC serial driver for conducting sautomated tests in qemu.
2839 Not tested on real hardware.
2840
2841 * include/grub/serial.h (grub_serial_port): New field escc_desc.
2842 * grub-core/term/ieee1275/escc.c: New file.
2843 * grub-core/Makefile.core.def (escc): New module.
2844
08fd1291
VS
28452012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
2848 invalid on error.
2849 (serial_hw_fetch): Don't read invalid handle.
2850 (serial_hw_put): Don't write into invalid handle.
2851
08dafeea
VS
28522012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 Add a 1.5 stop bits value.
2855
2856 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
2857 * include/grub/serial.h (grub_serial_stop_bits_t): Add
2858 GRUB_SERIAL_STOP_BITS_1_5.
2859
9068fdcf
VS
28602012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
2863 value rather than let it uninited.
2864
f4d5820f
VS
28652012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * grub-core/commands/wildcard.c (+check_file): New function.
2868 (wildcard_expand): Don't expand to non-existing files, expand with
2869 suffix and not attempt to expand if not needed.
2870
3d2de9a7
VS
28712012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
2874 out of partitions containing other partitions.
2875
c5c81ff9
VS
28762012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
2879 on some qemu versions with GRUB.
2880
2881 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
2882 define.
2883 (grub_openbsd_bootarg_pcibios): New struct.
2884 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
2885 Add PCIINFO.
2886
08a14e0b
VS
28872012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * tests/util/grub-shell.in: Trim firmware output on EFI.
2890
cede3ca3
VS
28912012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
2894 and coreboot since it's already in kernel.
2895
558d3a60
VS
28962012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
2899 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2900 to here. New return value start. All users updated.
2901 Recursively scan linear mappings.
2902 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
2903 proto.
2904 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
2905 Use grub_util_get_dm_node_linear_info.
2906 * util/getroot.c (convert_system_partition_to_system_disk): Use
2907 grub_util_info rather than grub_dprintf.
2908 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
2909
60fde14d
VS
29102012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
2913
2914 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
2915 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
2916
24bd8838
VS
29172012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * include/grub/types.h (grub_set_unaligned64): New function.
2920 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
2921 (setup): Likewise.
2922
7bc06a49
VS
29232012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
2926 (grub_ofdisk_fini): Quiesce USB devices.
2927
49cea015
VS
29282012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
2931 caches.
2932
8dcbe03b
VS
29332012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
2936
5b258735
VS
29372012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 * grub-core/disk/pata.c (grub_pata_pio_read)
2940 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
2941 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
2942
37ba07eb
VS
29432012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 Extend automated tests to qemu-mips.
2946
2947 * Makefile.am: reorganise tests and enable qemu-mips.
2948 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
2949 * grub-core/tests/boot/linux.init-mips.S: New file.
2950 * tests/partmap_test.in: Handle ata0 disks.
2951 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
2952 non-pc i386.
2953
070038f8
VS
29542012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
2957 ia64.
2958 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
2959 quotes while on it.
2960
004be2cd
VS
29612012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
2964 (grub_halt): Likewise.
2965 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
2966
b1622487
VS
29672012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * grub-core/term/serial.c (grub_serial_register)
2970 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
2971 the behaviour in line with x86 platforms.
2972
b7b4ab33
VS
29732012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
2976 (grub_ata_strncpy): Likewise.
2977 (grub_ata_identify): Add missing byteswaps.
2978
5e3535ae
VS
29792012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
2982 byte-swap.
2983 (screen_read_char): Likewise.
2984 (grub_vga_text_cls): Likewise.
2985
c21b17e6
VS
29862012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
2989 filenames.
2990 (make_file_path): Likewise.
2991
bf293dec
VS
29922012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2993
2994 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
2995 machines.
2996 Tested by: Paulo Flabiano Smorigo.
2997 Crucial information about API supplied by: Coleen <Last name unknown>.
2998 Reviewed by: Coleen <Last name unknown>.
2999
81f6ef0e
VS
30002012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * util/grub-mkimage.c: Disable -Wcast-align.
3003
7284143a
VS
30042012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
3007 as they are fatal.
3008
b99f3e00
VS
30092012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
3012
944f752d
VS
30132012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * util/grub-probe.c (escape_of_path): Fix double free.
3016
6cce6f38
VS
30172012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * grub-core/commands/videoinfo.c (hook): Show pitch.
3020
1e1eb50e
VS
30212012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * util/grub.d/20_linux_xen.in: Skip xen-syms.
3024
1c715b5a
VS
30252012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
3028 (probe): Add ieee1275 to OFW devices.
3029
007ae52d
VS
30302012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
3033
4557a36d
VS
30342012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 Handle IBM OFW path.
3037
3038 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
3039 available.
3040 (of_path_of_scsi): Handle vdevice.
3041
efbeefe9
VS
30422012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
3045 Allocate in multiples of 16 to avoid adding a few bytes free region the
3046 windows bugs upon.
3047
15a940bb
VS
30482012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
3051 Allocate in multiples of 16 to avoid adding a few bytes free region the
3052 windows bugs upon.
3053 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
3054
6e5efd60
VS
30552012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
3058 resolutions.
3059 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
3060 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
3061
0d3d137e
IS
30622012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
3063
3064 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
3065
45dbe300
VS
30662012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
3069 resulted in \\ at the end of the line.
3070
6d8db947
VS
30712012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
3074 (grub_parser_cmdline_state): Likewise.
3075 (grub_parser_split_cmdline): Likewise.
3076
de89d338
VS
30772012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
3080 /dev/root and /dev/dm-*.
3081
00d41dee
VS
30822012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
3085 fix partially stale display.
3086
f95d1f11
VS
30872012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * grub-core/normal/menu_entry.c (backward_char): Use right line for
3090 substraction.
3091
6297e197
VS
30922012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
3095 Fix MBR remapping workaround.
3096 (grub_util_biosdisk_read) [__linux__]: Likewise.
3097
8a7ecad3
VS
30982012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * util/grub-install.in: Check for ieee1275 and not ieee1276.
3101
2b34f944
VS
31022012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * configure.ac: Bump to beta6.
3105
684aef11
CW
31062012-05-31 Christer Weinigel <christer@weinigel.se>
3107
3108 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
3109
05b0bb91
VS
31102012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
3113 (grub_cmd_linux): Likewise.
3114
bda36bfa
CW
31152012-05-31 Christer Weinigel <christer@weinigel.se>
3116
3117 Fix EHCI low-speed.
3118
3119 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
3120 (GRUB_EHCI_MULT_TWO): Likewise.
3121 (GRUB_EHCI_MULT_THREE): Likewise.
3122 (GRUB_EHCI_CMASK_MASK): New enum value.
3123 (GRUB_EHCI_SMASK_MASK): Likewise.
3124 (GRUB_EHCI_CMASK_OFF): Likewise.
3125 (GRUB_EHCI_SMASK_OFF): Likewise.
3126 (grub_ehci_pci_iter): Enable periodic schedule.
3127 (grub_ehci_parse_notrun): Likewise.
3128 (grub_ehci_restore_hw): Likewise.
3129 (grub_ehci_setup_qh): Set flags for low speed transfers.
3130 (grub_ehci_find_qh): Use periodic list for low speed.
3131 (grub_ehci_setup_transfer): Check periodic queue as well.
3132 (grub_ehci_check_transfer): Likewise.
3133 (grub_ehci_cancel_transfer): Cancel periodic transfer.
3134
e12bcb1c
PFS
31352012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3136
3137 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
3138 parameter is used.
3139
bcc75fb3
PJ
31402012-05-31 Peter Jones <pjones@redhat.com>
3141
3142 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
3143 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
3144 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
3145
f19cb95e
VS
31462012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
3149 uninited variable. Allocate at least setup_sects.
3150
a4e5ca80
VS
31512012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 Fix handling of EFI with big memory maps.
3154
3155 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
3156 (real_mode_mem): Likewise.
3157 (real_mode_target): Likewise.
3158 (real_mode_pages): Likewise.
3159 (prot_mode_pages): Likewise.
3160 (linux_params): New var.
3161 (linux_cmdline): Likewise.
3162 (free_pages): Don't set real mode variables.
3163 (allocate_pages): Don't allocate real mode memory.
3164 (grub_e820_add_region): Remove the limit.
3165 (grub_linux_boot): Allocate and copy real mode memory.
3166 (grub_linux_unload): Free linux_cmdline.
3167 (grub_cmd_linux): Use temporary storage for parameters.
3168 (grub_cmd_initrd): Likewise.
3169 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
3170 (linux_kernel_params): Make it 1K big.
3171
ddb73558
VS
31722012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * Makefile.util.def: Remove -Wno-format.
3175 * grub-core/Makefile.core.def: Likewise.
3176
1c4afb60
VS
31772012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * tests/cmp_unit_test.c: Add missing failure message.
3180 * tests/example_unit_test.c: Likewise.
3181 * tests/printf_unit_test.c: Likewise.
3182
941e3a6d
VS
31832012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
3186 relaxation of protective MBR requirements.
3187
b105df76
VS
31882012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * configure.ac: Add condition for COND_HOST_XNU.
3191 * Makefile.util.def (10_xnu): New script.
3192 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
3193
84e1569e
VS
31942012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
3197 objconv bug.
3198
130c0f77
VS
31992012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
3202 Binary on other platforms stays identical.
3203
6fd0b143
VS
32042012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
3207 Apple.
3208
0af1751d
VS
32092012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
3212
176d5f7d
VS
32132012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
3216 rather than defining size_t ourselves to avoid conflict.
3217
7de5e20a
VS
32182012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
3221 initialisation to avoid __bzero reference.
3222
f7143efe
VS
32232012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
3226 version.
3227 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
3228 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
3229 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
3230 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
3231 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
3232
e6ad0555
VS
32332012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
3236 * grub-core/kern/misc.c: Likewise.
3237 * grub-core/loader/i386/xnu.c: Likewise.
3238 * include/grub/i386/tsc.h: Likewise.
3239 * include/grub/symbol.h: Likewise.
3240
4a5a3c4a
VS
32412012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
3244 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
3245 on older compiler.
3246
037f6d90
VS
32472012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
3250 Implement Apple flavour.
3251 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
3252
f7194551
VS
32532012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
3256 (memmove) [__APPLE__]: Likewise.
3257 (memcpy) [__APPLE__]: Likewise.
3258 (memset) [__APPLE__]: Likewise.
3259 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
3260 (memmove) [__APPLE__]: Likewise.
3261 (memcpy) [__APPLE__]: Likewise.
3262 (memset) [__APPLE__]: Likewise.
3263
85a730ca
VS
32642012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
3267 dependency discard.
3268
40e80b94
VS
32692012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/normal/main.c (read_config_file): Provide config_file and
3272 config_directory.
3273 * util/grub.d/41_custom.in: Use config_directoy when available.
3274
9da59c32
VS
32752012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
3278 (grub_bfs_dir): Likewise.
3279
2787ae53
PJ
32802012-05-27 Peter Jones <pjones@redhat.com>
3281
3282 The old code gives arguments to a printf function which can't work
3283 correctly, and the compiler complains.
3284
3285 * grub-core/tests/example_functional_test.c (example_test): Add
3286 missing text.
3287 * grub-core/tests/lib/test.c (add_failure): Rewrite.
3288 * include/grub/test.h (grub_test_assert_helper): New declaration.
3289 (grub_test_assert): Use grub_test_assert_helper.
3290
526ef13d
VS
32912012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
3294 (exfctest): ... this to avoid overlong filenames.
3295 All users updated.
3296
20dd511c
VS
32972012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 Handle "." and ".." on squashfs.
3300
3301 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
3302 Make inode numbers into stack.
3303 (grub_squash_read_symlink): Use stack.
3304 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
3305 (make_root_node): Fill stack.
3306 (grub_squash_open): Use stack.
3307
1d80c62a
VS
33082012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
3311 freeing.
3312
d336f652
VS
33132012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
3316 stderr on test calls.
3317
8b43f587
VS
33182012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
3321
80a3dc3f
VS
33222012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
3325
47e297d4
VS
33262012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
3329 "..".
3330
df042ccb
VS
33312012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
3334 (grub_hfsplus_iterate_dir): Add "." and "..".
3335
fc977f48
VS
33362012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * grub-core/fs/cpio.c (canonicalize): Handle "..".
3339 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
3340
f3250e5f
VS
33412012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
3344 (find_path): Handle "." and "..".
3345
fd8ed4c5
VS
33462012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
3349 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
3350 (grub_affs_iterate_dir): Handle hardlinks.
3351
4ce776d2
MG
33522012-05-26 Matthew Garrett <mjg@redhat.com>
3353
3354 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
3355 (grub_efi_console_fini): Likewise.
3356 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
3357 (grub_video_gop_fill_mode_info): Rename to ...
3358 (grub_video_gop_fill_real_mode_info): ... this.
3359 (grub_video_gop_fill_mode_info): New function.
3360 (grub_video_gop_setup): Setup double framebuffer.
3361 (grub_video_gop_get_info_and_fini): Use original framebuffer.
3362 Free offscreen.
3363 (grub_video_gop_swap_buffers): Copy framebuffer.
3364 (grub_video_gop_fini): Free offscreen buffer.
3365 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
3366 New enum.
3367 (grub_efi_gop_blt_pixel): New struct.
3368
683031ba
VS
33692012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * gentpl.py: Remove error disabling for objconv.
3372
c2deb798
VS
33732012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * configure.ac: Remove -Wunitialized as it's not available on older
3376 compilers.
3377
33782012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
3379
3380 Fix extent overflow comparator.
3381
3382 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
3383 (grub_hfsplus_read_block): Set type.
3384 (grub_hfsplus_cmp_extkey): Compare type.
3385
d6b1fd36
VS
33862012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
3389
0a9aa0f6
VS
33902012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
3393 than 0.
3394
8360e159
VS
33952012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
3398 (dejavu_bold_14.pf2): New target.
3399
501b9e4b
VS
34002012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * configure.ac: Fix djvu font detection.
3403
7026b0e2
VS
34042012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
3407 ext* instead of ext2.
3408
c2a51ade
VS
34092012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
3412 name with \0.
3413
8f803a5d
JU
34142012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
3415
3416 * docs/grub-dev.texi: Remove dot from .png.
3417
13c6353f
VS
34182012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
3421 protective entry in any slot.
3422 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
3423 if protective entry is found in any slot.
3424
3425 Protective entry in non-first slot make no sense but is a widespread
3426 brain damage.
3427
4cf6be1b
VS
34282012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
3431
937d1c44
VS
34322012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
3435 with old reiserfs.
3436 (grub_reiserfs_open): Don't free root.
3437
021d90ec
VS
34382012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
3441 after freeing for safety.
3442
967b2b64
VS
34432012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
3446 Reported by: Jordan Uggla.
3447
34274d02
JU
34482012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
3449
967b2b64
VS
3450 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
3451 actual implementation. Specifically, clarify that the grub menu will
3452 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
3453 passed.
34274d02 3454
dcaaae9d
BH
34552012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
3456
3457 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
3458 of r0.
3459
7086ad52
VS
34602012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 Remove unjustified hard dependency of normal.mod on gfxterm.
3463
3464 * include/grub/term.h (grub_term_output): New member fullscreen.
3465 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
3466 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
3467 (grub_gfxterm): Set .fullscreen.
3468 * grub-core/normal/menu.c (menu_init): Use fullscreen.
3469 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
3470
37ed2c9b
VS
34712012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
3474 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 3475 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 3476
a4469c88
VS
34772012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
3480
4e461486
VS
34812012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
3484 a bad FS.
3485
aa78f5c4
VS
34862012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
3489 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
3490
197626b5
VS
34912012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
3494 (grub_jfs_mount): Fill caseins.
3495 (grub_jfs_find_file): Respect caseins.
3496
8ad3f28c
VS
34972012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
3500 through UTF-16.
3501
0c6c324e
VS
35022012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
3505 New argument origpath. All users updated.
3506
c6666ba6
VS
35072012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
3510 (read_attr): Ensure that we read start of possibly compressed block.
3511
e28e5fe5
VS
35122012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3513
3514 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
3515 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
3516 All users updated.
3517
5fc23ab2
VS
35182012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
3521 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
3522 (dejavu.pf2): Replace with ...
3523 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
3524 this.
3525
79dbc21c
VS
35262012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 * util/grub.d/20_linux_xen.in: Add missing line.
3529
d2fcfb0c
VS
35302012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
3533 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
3534 (grub_utf16_to_utf8): Likewise.
3535
5560e9d6
VS
35362012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
3539 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
3540 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3541 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
3542 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3543 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
3544
35452012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
3546
3547 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
3548 a bad FS.
3549
5560e9d6 35502012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
3551
3552 * grub-core/fs/udf.c (read_string): Bail out on size=0.
3553 (grub_udf_read_symlink): Handle read_string failure.
3554
5eae3175
VS
35552012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
3558 comment.
3559
c1ad82db
VS
35602012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 Fix handling of UDF symlinks.
3563
3564 * grub-core/fs/udf.c (read_string): New argument outbuf.
3565 All users updated.
3566 (grub_ufs_read_symlink): Rename to ...
3567 (grub_udf_read_symlink): ... this. All users updated.
3568 Handle symlinks with more than one component.
3569
33eca6e0
VS
35702012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
3573 symlinks. Replace leading colon with a slash.
3574
57f4a70b
VS
35752012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
3578 filename.
3579
38c8ee20
VS
35802012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
3583 match in inner node.
3584
2e57f28f
VS
35852012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
3588 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
3589 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
3590 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
3591 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
3592 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
3593 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
3594 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
3595 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
3596
fe8c2f11
VS
35972012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 Use grub-probe and not cmp to check that disk is empty.
3600
3601 * util/grub-install.in: Use grub-probe for zero-check.
3602 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
3603 (probe): Handle PRINT_ZERO_CHECK.
3604 (argp_parser): Handle -t zero_check.
3605
36062012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
3607
3608 Flush block cache on adding disk to device map.
3609
3610 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
3611 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
3612 adding.
3613 (read_device_map): Likewise.
3614 (open_device): Flush on opening.
3615
690434e8
VS
36162012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
3619 (handle_symlink): Fix off-by-one error.
3620 Canonicalize the target.
3621 (grub_cpio_dir): Canonicalize the name.
3622 Fix memory leak.
3623 Set directory.
3624 (grub_cpio_open): Canonicalize the name.
3625
742d2be6
VS
36262012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
3629 handling.
3630
3244fe96
VS
36312012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
3634 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
3635
8aeb1837
VS
36362012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
3639 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 3640 All users updated.
8aeb1837 3641
9133fd05
VS
36422012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
3645 counterpart.
3646
6d521c5b
VS
36472012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 Fix UFS1 big file support.
3650
3651 * grub-core/fs/ufs.c (INODE): Removed.
3652 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
3653 64-bit.
3654 (INODE_MODE): Simplify.
3655 (grub_ufs_inode): Use uint64_t for size and not int64_t.
3656 (grub_ufs_lookup_symlink): Don't use INODE.
3657
21b82e17
VS
36582012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 Fix minixfs with non-power-of-two blocks since it's supported by minix.
3661
3662 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
3663 (grub_minix_data): Replace log_block_size with block_size.
3664 (grub_minix_read_file): Use block_size but avoid 64-bit division.
3665 (grub_minix_mount): Fill block_size.
3666
36672012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
3668
3669 * configure.ac: Bump to beta5.
3670
f417ed04
VS
36712012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 Fix wrapped HFS+ handling.
3674
3675 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
3676 blocks_start. All users updated.
3677 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
3678 wrapping offset.
3679 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
3680
607d282b
VS
36812012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 Fix long symlinks on reiserfs.
3684
3685 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
3686 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
3687 (grub_reiserfs_iterate_dir): Save size for non-directories.
3688 (grub_reiserfs_open): Don't reread stat block as we already know the
3689 size.
3690 (grub_reiserfs_read): Split into...
3691 (grub_reiserfs_read_real): ... and ...
3692 (grub_reiserfs_read): ...this.
3693
ae16024d
VS
36942012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 Fix non-indexed JFS.
3697
3698 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
3699 (grub_jfs_data): New field namecomponentlen.
3700 (grub_jfs_mount): Fill namecomponentlen.
3701 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
3702
eea1e26e
VS
37032012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
3706 * tests/grub_script_echo1.in: Add tests.
3707
df760f77
VS
37082012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * util/grub-install.in: Ignore empty devicetree directory.
3711
5efb817d
B
37122012-05-08 Bean <bean123ch@gmail.com>
3713
3714 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
3715 All users updated.
3716 (free_rsm): Free header as well.
3717 (free_old_fragments): Fix memory leak.
3718 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
3719 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
3720 (destroy_pq): Likewise.
3721 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
3722
668ea6d2
VS
37232012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
3726 resulting hash as a precaution.
3727
1739b1fe
VS
37282012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
3731 '_' in variable names.
3732 * grub-core/net/net.c (grub_net_network_level_interface_register):
3733 Likewise.
3734
6ae485aa
VS
37352012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 Fix AFFS with non-512B blocks.
3738
3739 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
3740 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
3741 (grub_affs_data): Replace blocksize with log_blocksize.
3742 (grub_affs_read_block): Fix non-512B blocks.
3743 (grub_affs_read_symlink): Likewise.
3744 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
3745 (grub_affs_read): Fix non-512B blocks.
3746 (grub_affs_label): Likewise.
3747 (grub_affs_mtime): Likewise.
3748 (grub_affs_mount): Fix block detection routine.
3749
d20fab84
VS
37502012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 Add filesystem mtime to AFFS.
3753
3754 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
3755 (aftime2ctime): New function.
3756 (grub_affs_dir): Use aftime2ctime.
3757 (grub_affs_label): Fix return value.
3758 (grub_affs_mtime): New function.
3759 (grub_affs_fs): Add mtime.
3760
e87b10f5
VS
37612012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
3764 UTF-8.
3765
7dceec9b
VS
37662012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
3769 UTF-8.
3770
2f48221f
VS
37712012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
3774
dacd85cf
VS
37752012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
3778 flags.
3779 (FLAGS_CASE_SENSITIVE): New enum value.
3780 (cache_entry): New struct.
3781 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
3782 cache_size and cache.
3783 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
3784 Add log_blocksize and fshelp_flags.
3785 (grub_sfs_read_extent): Handle non-512 blocks.
3786 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
3787 (grub_sfs_read_file): Handle non-512 blocks.
3788 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
3789 fshelp_flags.
3790 (grub_sfs_read_symlink): Handle non-512 blocks.
3791 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
3792 (grub_sfs_dir): Free cache.
3793 (grub_sfs_close): Likewise.
3794
24e9a854
VS
37952012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
3798 filesystems.
3799
62ace64d
VS
38002012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
3803
83b2e89c
VS
38042012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
3807
75ccaea3
VS
38082012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
3811 (grub_sfs_read_extent): Likewise.
3812 (grub_sfs_read_block): Likewise.
3813 (grub_sfs_mount): Likewise.
3814 (grub_sfs_iterate_dir): Likewise.
3815 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
3816 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
3817
1b8463f2
VS
38182012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 Fix errors on compressed NTFS with 512B clusters.
3821
3822 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
3823 types.
3824 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
3825 not 0.
3826 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
3827 Relax check for inline extents.
3828 (ntfscomp): Return correct -1 on error and not 0.
3829
4f8e368f
VS
38302012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 * util/grub-install.in: Fix handling of prefix containing spaces.
3833
6f5d5ee8
VS
38342012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
3837 (grub_squash_read_data): Fix offset byte-swapping.
3838
ce41ab7a
VS
38392012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
3842 per common usage and preffered in several parts of code.
3843 (grub_memcmp): Likewise.
3844 (grub_strncmp): Likewise.
3845 * include/grub/misc.h (grub_strcasecmp): Likewise.
3846 (grub_strncasecmp): Likewise.
3847 * Makefile.util.def (cmp_test): New test.
3848 (grub_script_strcmp): Likewise.
3849 * tests/cmp_unit_test.c: New file.
3850 * tests/grub_script_strcmp.in: Likewise.
3851 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
3852
49717bf4
VS
38532012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * include/grub/pci.h: Move enums into no-asm part.
3856
0a308f64
VS
38572012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
3860
1796965f
ST
38612012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3862
3863 * util/getroot.c (find_hurd_root_device): Try to make error message
3864 and comments to translators clearer.
3865
4e9b2819
VS
38662012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
3869
076aeb50
VS
38702012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
3873 btrfs.
3874
19424d94
VS
38752012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 * docs/grub.cfg: Update.
3878
ebb73076
VS
38792012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 * docs/grub.texi (PXE): Remove not present variables.
3882
9a1b669c
VS
38832012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 * grub-core/net/net.c (defserver_set_env): New function.
3886 (defserver_get_env): Likewise.
3887 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
3888
d38bf7d3
VS
38892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3890
3891 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
3892 entries.
3893
38942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
3895
3896 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
3897 * grub-core/kern/emu/hostdisk.c: Likewise.
3898
e5e4ca48
ST
38992012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
3900
3901 Handle hurd userspace partitions.
3902
3903 * util/getroot.c (find_hurd_root_device): New function.
3904 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
3905
56bb5dd5
VS
39062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
3909 names.
3910 Reported by: Bastian Blank.
3911
9e8bc27a
VS
39122012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
3915 crossing page boundary.
3916
aa01499d
VS
39172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 Fix B-tree search in BFS, especially in presence of non-ASCII
3920 characters.
3921
3922 * grub-core/fs/bfs.c (bfs_strcmp): New function.
3923 (find_in_b_tree): Use standard bsearch + btree algorithm.
3924
57006035
VS
39252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
3928 and so on.
3929
9d34bb85
MG
39302012-05-03 Matthew Garrett <mjg@redhat.com>
39312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 Suspend broadcom cards in order to stop their DMA.
3934
3935 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
3936 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
3937 (pci): Don't build on x86 EFI.
3938 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
3939 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
3940 New function.
3941 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
3942 stop_broadcom if running on EFI.
3943 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
3944 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
3945 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
3946 (grub_pci_find_capability): New proto.
3947
01aab997
VS
39482012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * docs/grub.texi: Remove dot from the extension as it apparently
3951 doesn't work with some makeinfo versions.
3952
fbd8dca6
VS
39532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
3956 with GRUB expectance.
3957
dab797f4
VS
39582012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
3961
1516bfb4
VS
39622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
3965 zero after directory block since last entry may be not 0-terminated if
3966 it ends on block boundary. Use continue instead of if spanning whole
3967 loop.
3968
a3a0eace
VS
39692012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 Support 4K sectors UDF inline files.
3972
3973 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
3974 (grub_udf_extended_file_entry): Likewise.
3975 (grub_fshelp_node): Name the anonymous union. Put block at the end.
3976 All users updated.
3977 (get_fshelp_size): New function.
3978 (grub_udf_read_icb): Read whole block.
3979 (grub_udf_iterate_dir): Likewise.
3980 (grub_udf_dir): Likewise.
3981 (grub_udf_open): Likewise.
3982
c82f16c1
VS
39832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
3986
59fd2aac
VS
39872012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
3990 inline symlinks in addition to workaround.
3991
3b4afb4d
VS
39922012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
3995
f45c794a
VS
39962012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
3999
f25cecbd
VS
40002012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
4003
bb9a34e8
VS
40042012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 Fix reiserfs big seek times.
4007
4008 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
4009 exact. All users updated.
4010 (grub_reiserfs_read): Use nearest btree search for seeking.
4011 Fix return value on error.
4012
dc478aea
VS
40132012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
4016 entries.
4017 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
4018 * docs/grub.texi: Update menuentry description.
4019
8db10f47
VS
40202012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
4023 crash when embedding onto filesystem.
4024
bcb288ed
VS
40252012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
4028 name.
4029
a626fdd7
VS
40302012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
4033
b2f68477
VS
40342012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
4037 commit.
4038
ba15b2af
B
40392012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
40402012-05-01 Bean <bean123ch@gmail.com>
4041
4042 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
4043
a188012e
VS
40442012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
4047 Special behaviour for len = 0 to read whole file isn't used anywhere and
4048 can cause buffer ovewrflows in several places.
4049
f0a53ed2
VS
40502012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4051
4052 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
4053
5ed554f0
VS
40542012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 Handle RAIDZ on non-512B sectors.
4057
4058 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
4059 max_children_ashift.
4060 (fill_vdev_info_real): Fill max_children_ashift.
4061 (read_device): Use max_children_ashift.
4062
ddc58357
VS
40632012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
4066
e3282399
VS
40672012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
4070 disk names.
4071 * docs/grub.texi: Update device.map parts.
4072
ee618bd4
VS
40732012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4074
4075 Don't scan into non-diskfilter devices having diskfilter names.
4076
4077 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
4078 (scan_disk): New argument accept_diskfilter. Fix recursion depth
4079 handling.
4080 (scan_disk_hook): New function.
4081
bdf88864
B
40822012-04-29 Bean <bean123ch@gmail.com>
4083
4084 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
4085 allocation.
4086
32745f51
MK
40872012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
4088
4089 * configure.ac: Detect starfield theme font path
4090 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
4091
bc95c8c0
VS
40922012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
4095 geometry on serial consoles.
4096
147fbcab
VS
40972012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
4100 because of network consoles.
4101
0f42c889
VS
41022012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
4105 handling.
4106
4a3594c9
VS
41072012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
4110 falls on Q syndrom.
4111
5cb53879
VS
41122012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
4115 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
4116
b282dfe5
VS
41172012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
4120 Allocate at lest 8192 for temporary buffer as required for lzo.
4121
daa59f47
VS
41222012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
4125 to cluster_bits, since it's already added in.
4126 (grub_fat_read_data): Likewise.
4127
986748ce
VS
41282012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
4131 as long as cluster size is multiple of 512 bytes.
4132
a20f6ad0
VS
41332012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * util/grub-mkrescue.in: Fix locale directory.
4136
385f9abb
VS
41372012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * grub-core/kern/emu/hostdisk.c (map): Make static.
4140
1c557d30
B
41412012-04-23 Bean <bean123ch@gmail.com>
4142
4143 * util/grub-fstest.c (fstest): Add missing break.
4144
524b5d3a
ST
41452012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
4146
4147 Fix hurd build.
4148
4149 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
4150 not define nr variable.
fe4824e9 4151 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
4152 find_root_devices_from_poolname, find_root_devices_from_libzfs,
4153 grub_find_device): Do not define.
524b5d3a 4154
9a06490c
VS
41552012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 Fix kfreebsd compile and behaviour.
4158
4159 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
4160 format-security.
4161 * util/getroot.c: Fix wait.h include.
4162 (grub_guess_root_devices): Error if grub_find_device fails.
4163 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
4164 (grub_util_get_dev_abstraction): Likewise.
4165 (grub_util_pull_device): Likewise.
4166 (grub_util_get_grub_dev): Likewise.
4167 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
4168
48143d96
VS
41692012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 Fix and unify wholedisk detection.
4172
4173 * util/getroot.c (convert_system_partition_to_system_disk): New argument
4174 is_part. All users updated.
4175 (device_is_wholedisk): Removed.
4176 (grub_util_biosdisk_get_grub_dev): Use is_part.
4177
ebbd24f3
VS
41782012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
4181 mode.
4182
56f7aa1e
VS
41832012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * configure.ac: Bump to beta4.
4186
9c815e01
VS
41872012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
4190 --fs-uuid --set UUID syntax.
4191
59e2651a
VS
41922012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
4195 disunification.
4196
54e03cfc
VS
41972012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
4200
81092a75
MK
42012012-04-18 Mads Kiilerich <mads@kiilerich.com>
4202
4203 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
4204
f8315e14
MG
42052012-04-18 Mike Gilbert <floppym@gentoo.org>
4206
4207 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
4208
1501ac21
B
42092012-04-18 Bean <bean123ch@gmail.com>
4210
4211 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
4212 place.
4213
cb7f944e
VS
42142012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
4217 users updated.
4218 (grub_util_biosdisk_read): Handle Linux partitions not exactly
4219 corresponding to GRUB partitions.
4220 (grub_util_biosdisk_write): Likewise.
4221
b72d44a1
VS
42222012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 Scan mdraid before LVM.
4225
4226 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
4227 (grub_diskfilter_register_front): ... this.
4228 (grub_diskfilter_register_back): New function.
4229 All users of grub_diskfilter_register updated.
4230
33d918b8
VS
42312012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * util/grub-install.in: Fix an automatic target detection bug.
4234
c6ca973d
VS
42352012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * util/grub-install.in: New option --efi-directory.
4238
b41be562
VS
42392012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
4242 boot services if we have no other choice.
4243
42442012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * util/grub-mknetdir.in: Rename --override-directory to --directory and
4247 document it.
4248 * tests/util/grub-shell.in: Update to --directory.
4249
e0595a73
VS
42502012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
4253
4ed80652
VS
42542012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
4257 (grub_minix_read_file): Likewise.
4258 (grub_minix_read_inode): Likewise.
4259 (grub_minix_find_file): Likewise.
4260 (grub_minix_dir): Likewise.
4261
56008077
VS
42622012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 * util/grub-setup.c (setup): Fix partition handling and blocklist
4265 check.
4266
ee520775
VS
42672012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
4270 redundant buggy overlap check.
4271
16fc9293
VS
42722012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
4275 and grub-mknetdir.
4276
9bab65c4
VS
42772012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
4280 kh.loadflags on pre-2.00 kernels.
4281
3c491b47
VS
42822012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 Terminate UNDI and PXE before launching the payload to avoid problems
4285 with DMA.
4286
4287 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
4288 (grub_loader_flags): ... this. All users updated.
4289 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
4290 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
4291 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
4292 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
4293 function.
4294 (grub_pxe_restore): Likewise.
4295 (fini_hnd): New var.
4296 (GRUB_MOD_INIT): Register shutdown hook.
4297 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
4298 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
4299 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
4300 (grub_loader_set): Rename second argument to flags.
4301
851ffada
VS
43022012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
4305 written bytes.
4306 (grub_get_num_of_utf8_bytes): New function.
4307 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
4308 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
4309 executing it.
4310 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
4311 (grub_ucs4_to_utf8): Change return type.
4312
491c57a8
VS
43132012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
4316 warning.
851ffada
VS
4317 * grub-core/fs/bfs.c (hop_level): Likewise.
4318 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 4319
756773df
VS
43202012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * grub-core/lib/adler32.c: Recode due to license unclearness.
4323
fd556a96
VS
43242012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
4327 (test_header): Likewise.
4328
9f9d3f69
VS
43292012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 Fix --help formatting.
4332
4333 * util/grub-mkconfig_lib.in (print_option_help): New function.
4334 (grub_fmt): Likewise.
4335 * util/grub-install.in: Use print_option_help and grub_fmt.
4336 * util/grub-kbdcomp.in: Likewise.
4337 * util/grub-mkconfig.in: Likewise.
4338 * util/grub-mknetdir.in: Likewise.
4339 * util/grub-mkrescue.in: Likewise.
4340 * util/grub-mkstandalone.in: Likewise.
4341 * util/grub-reboot.in: Likewise.
4342 * util/grub-set-default.in: Likewise.
4343 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4344
561ec77e
VS
43452012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * linguas.sh: Remove autogenerated *.po.
4348
7ec2b021
VS
43492012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * po/README: Move language fetcing to ...
4352 * linguas.sh: ... here.
4353 * po/README: Point to linguas.sh.
4354
a88f3270
VS
43552012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * po/README: Exclude ko.po due to disclaimer problems.
4358
d61357ce
VS
43592012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
4362 len = 0.
4363 (grub_gettext_translate_real): Handle 0th string.
4364 (grub_gettext_translate): Ensure that "" isn't translated.
4365
505e41dc
VS
43662012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
4369 TRANSLATORS comment.
4370 (grub_diskfilter_print_partmap): Propagate changing of error into
4371 warning.
4372
e44092db
VS
43732012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
4376 to uint64_t to prevent overflow.
4377 (grub_diskfilter_lv): Increase start_extent and extent_count
4378 to uint64_t to prevent overflow.
4379
9b83956a
VS
43802012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * configure.ac: Increase version.
4383
da0d5b3f
VS
43842012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
4387
4388 * po/Rules-translit: New file.
4389 * po/arabic.sed: Likewise.
4390 * po/cyrillic.sed: Likewise.
4391 * po/greek.sed: Likewise.
4392 * po/hebrew.sed: Likewise.
4393 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
4394 * po/Makefile.in.in: Add extra_dist4.
4395
ac66b453
VS
43962012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 Handle big-endian minixfs (fixes minixfs tests on bigendian).
4399
4400 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
4401 modify names. Introduce MODE_BIGENDIAN.
4402 * grub-core/fs/minix_be.c: New file.
4403 * grub-core/fs/minix2_be.c: Likewise
4404 * grub-core/fs/minix3_be.c: Likewise.
4405 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
4406 minix3_be.
4407 * grub-core/Makefile.core.def (minix_be): New module.
4408 (minix2_be): Likewise.
4409 (minix3_be): Likewise.
4410
44112012-04-01 Felix <email@hamburg.de>
4412
4413 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
4414 (devs): Add MBP 2011.
4415
0a2d5a82
VS
44162012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
4419
d1625889
VS
44202012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 * grub-core/normal/cmdline.c (print_completion): New field
4423 prompt_len.
4424 (grub_cmdline_get): Handle width properly.
4425
6d36a236
VS
44262012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 * grub-core/commands/lsacpi.c (options): Add missing terminator.
4429
9576977e
VS
44302012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 4433 after 29th of February.
9576977e 4434
d73ff15d
VS
44352012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 Fix exfat endianness handling.
4438
4439 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
4440 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
4441 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
4442 Byte-swap utf16 when necessary.
4443 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
4444
bbb39a45
AB
44452012-03-31 Anton Blanchard <anton@samba.org>
44462012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 Fix btrfs endianness handling.
4449
4450 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
4451 (lower_bound): Make root uint64_t. Use root in le.
4452 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
4453 (find_path): Fix template key init.
4454 (grub_btrfs_dir): Fix mtime byteswap.
4455 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
4456
354e0af7
VS
44572012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
4460 recursion_depth. Break infinite resursions. All users updated.
4461
4e75f21c
VS
44622012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
4465 after free.
4466 Reported by: Peter Jones.
4467
25581802
AB
44682012-03-31 Anton Blanchard <anton@samba.org>
4469
4470 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
4471 8 bit values.
4472
08fbf92e
VS
44732012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * util/grub-install.in: Fix nvram call for PreP.
4476
5d1182a6
VS
44772012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
4480 the error when some elements are missing into a warning.
4481
3f8cdd90
VS
44822012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
4485
51006716
CW
44862012-03-28 Colin Watson <cjwatson@ubuntu.com>
4487
4488 * docs/grub.texi (Invoking grub-probe): New section.
4489 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
4490
e1bd676b
VS
44912012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 Fix tab and wide character handling in editor and menu.
4494
4495 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
4496 agglomerate control characters with combining marks.
4497 (bidi_line_wrap): Allow break on tab.
4498 (grub_unicode_get_comb_start): New function.
4499 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
4500 and tab correctly.
4501 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
4502 with a space.
4503 * grub-core/normal/term.c (print_ucs4_terminal): New argument
4504 fixed_tab_size. All users updated.
4505 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
4506 (grub_term_getcharwidth): Handle \t.
4507 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
4508 and copy.
4509
22e6a774
VS
45102012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 Handle big-endian mdraid.
4513
4514 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
4515 * grub-core/Makefile.core.def (mdraid09_be): New module.
4516 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
4517 rather than grub_le_to_cpu* and grub_cpu_to_le*.
4518 * grub-core/disk/mdraid_linux_be.c: New file.
4519
3c0eae66
VS
45202012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
4523
b6cf74c9
VS
45242012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
4527 missing quotes which caused confusion among translators.
4528
83c93b9c
VS
45292012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * util/grub-mkconfig_lib.in: Fix typo.
4532
ac6fd218
VS
45332012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
4536 spaces.
4537 * tests/grub_script_leading_whitespace.in: New file.
4538 * Makefile.util.def (grub_script_leading_whitespace): New test.
4539
ba287dd8
VS
45402012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
4543 to work.
4544
d2d58d0a
VS
45452012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
4548 starts with control character.
4549
0382d9bb
VS
45502012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
4553 overflow.
4554 (grub_gdb_outbuf): Likewise.
4555
d83ff9f9
VS
45562012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
4559 zero terminator. Fixes a crash.
4560
2282da4a
VS
45612012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
4564 beyond 4 GiB.
4565 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
4566 images independently of preffered adderss field.
4567
0ae4f0bd
VS
45682012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
4571 * grub-core/commands/regexp.c: Likewise.
4572 * grub-core/loader/i386/linux.c: Likewise.
4573 * grub-core/partmap/msdos.c: Likewise.
4574 * grub-core/script/execute.c: Likewise.
4575 * grub-core/term/gfxterm.c: Likewise.
4576
546fbe9b
VS
45772012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 Add variable parsing in $"..." and fix several mismatches with bash.
4580
4581 * Makefile.util.def (grub_script_gettext): New test.
4582 * grub-core/script/execute.c (parse_string): New function.
4583 (gettext_append): Likewise.
4584 (grub_script_arglist_to_argv): Use gettext_append.
4585 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
4586 * tests/grub_script_gettext.in: New file.
4587
9fdb2d7b
VS
45882012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 Fix handling of leading spaces in scripts.
4591
4592 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
4593 spaces.
4594 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
4595 other than skipping \r. All users updated.
4596 * tests/grub_script_echo1.in: Add space-related tests.
4597 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
4598
1a1ac4f6
VS
45992012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
4602
b63d89b6
VS
46032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * configure.ac: Bump up the version to beta2.
4606
17f38c0f
VS
46072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 Fix gettext reload bugs (e.g. inability to disable gettext
4610 once enabled).
4611
4612 * grub-core/gettext/gettext.c: Encapsulate all static variables in
4613 main_context and secondary_context. All functions updated.
4614 (grub_gettext_translate): Rename to ...
4615 (grub_gettext_translate_real): ... this. Return NULL on failed
4616 translate.
4617 (grub_gettext_translate): Handle secondary context.
4618 (grub_gettext_delete_list): Close file and zero-out the context.
4619 (grub_mofile_open): Don't call grub_gettext_delete_list.
4620 Don't close file.
4621 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
4622 if locale="" to avoid pointless error message.
4623 (grub_gettext_env_write_lang): Update lang even if load fails.
4624 Handle secondary context.
4625 (grub_gettext_reread_prefix): New function.
4626 (read_main): Likewise.
4627 (read_secondary): Likewise.
4628 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
4629 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
4630 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
4631 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
4632
8e56f870
VS
46332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * configure.ac: Decrease warning level to avoid spurious warnings and
4636 to be able to compile with GCC 4.2.
4637 * Makefile.util.def: Remove -Wno-error=logical-op.
4638
82f6d455
WB
46392012-03-10 William Bittner <william.bittner@gmail.com>
4640
4641 * util/import_unicode.py: Add missing brackets around string for
4642 python 3 support.
4643
1ecd61a4
VS
46442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 Fix efi chainloader on network root.
4647
4648 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
4649 network devices.
4650 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
4651 New function.
4652
14361ee8
VS
46532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
4656 unused show_text member.
4657 * docs/grub.texi: Document "text" property.
4658
922aabf3
VS
46592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
4662 in dprintf.
4663
ec316771
VS
46642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 Fix IMSM handling on Fedora.
4667
4668 * util/getroot.c (grub_util_is_imsm): New function.
4669 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
4670
0f021838
VS
46712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * Makefile.am: Strip gold section.
4674 * conf/Makefile.common: Likewise.
4675 * gentpl.py: Likewise.
4676 * grub-core/Makefile.core.def: Likewise.
4677 * grub-core/genmod.sh.in: Likewise.
4678
1039c8eb
VS
46792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
4682 * util/grub.d/20_linux_xen.in: Likewise.
4683 Based on Debian patch.
4684
6dd412cd
VS
46852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * util/grub.d/10_linux.in: Fix syntax error resulting in
4688 Richard Laager's patch.
4689 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
4690
3fd8bae5
VS
46912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
4694 dependencies.
4695
7eea1671
RL
46962012-03-10 Richard Laager <rlaager@wiktel.com>
4697
4698 * util/grub.d/10_linux.in: Fix ZFS root passing.
4699
e8e0566b
VS
47002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
4703 * grub-core/commands/xnu_uuid.c: Likewise.
4704 * grub-core/loader/efi/appleloader.c: Likewise.
4705 * grub-core/script/execute.c: Likewise.
4706 * grub-core/script/main.c: Likewise.
4707 * util/grub-mkfont.c: Likewise.
4708
1acc5b1f
VS
47092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 * util/grub-mkfont.c (options): Use more appropriate "select" that
4712 "set" for face index.
4713
35d70620
VS
47142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * util/grub-editenv.c (options): Gettextize command summaries.
4717
c9eb96b5
VS
47182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
4721 "out of memory" error messagge.
4722
1f493136
VS
47232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
4726 of diskfilter for diskfilter on diskfilter support.
4727
6d790129
VS
47282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
4731
005f46c9
VS
47322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * util/grub-install.in: Check for themes/starfield/theme.txt and not
4735 themes/starfield.
4736
c8f778a0
VS
47372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
4740
de1e64eb
VS
47412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
4744
c6d54211
VS
47452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
4748 of error message.
4749
dd390777
VS
47502012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
4753
5fd1c522
VS
47542012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
4757 message.
c6d54211 4758 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 4759
fae01f6c
VS
47602012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
4763 Gettextize.
4764 * util/grub-mount.c (options): Likewise.
4765
292fdaff
VS
47662012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
4769 gettextize.
4770 * grub-core/commands/search_wrap.c (options): Likewise.
4771
ecdbae77
VS
47722012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
4775
52bfedfa
VS
47762012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
4779 size calculation.
4780 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
4781 none is known.
4782
55b20e58
VS
47832012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
4786 "temporary" since it's used in identifier and is limited in space.
4787
fda9d101
VS
47882012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * po/POTFILES.in: Regenerate. Include *.h since they contain
4791 translatable strings as well.
4792
6a0295e2
VS
47932012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
4796 byte-swap on big-endian.
4797 Reported by: Lennart Sorensen
4798
807fb77c
VS
47992012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
4802 (allocate_pages): Improve dprintf.
4803 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
4804 code32_start. Fill code32_start and kernel_alignment in params.
4805 (grub_cmd_initrd): Use prot_init_space.
4806
61ac50ba
VS
48072012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
4810
abdd26dd
VS
48112012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 * util/grub-install.in: Add missing dot at the end of sentence.
4814
6e69da9c
VS
48152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
4818 * grub-core/commands/videotest.c: Likewise.
4819 * grub-core/loader/i386/linux.c: Likewise.
4820
4a929343
VS
48212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
4824 sentence.
4825 Reported by: Milo Casagrande.
4826
bb51c6c6
VS
48272012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
4830 * grub-core/commands/gptsync.c: Likewise.
4831 * grub-core/commands/hashsum.c: Likewise.
4832 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4833 * grub-core/commands/legacycfg.c: Likewise.
4834 * grub-core/io/gzio.c: Likewise.
4835 * grub-core/net/net.c: Likewise.
4836 * grub-core/term/gfxterm.c: Likewise.
4837 * grub-core/term/terminfo.c: Likewise.
4838 * grub-core/tests/test_blockarg.c: Likewise.
4839 * grub-core/video/video.c: Likewise.
4840 * util/grub-install.in: Likewise.
4841 * util/grub-mkfont.c: Likewise.
4842
b2b149cb
VS
48432012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
4846
c7c080ad
VS
48472012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 4850 Reported by: David Prévot.
c7c080ad 4851
f2e243c0
VS
48522012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4853
4854 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
4855 description.
4856
09963c76
VS
48572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * util/grub-script-check.c (main): Fix a syntax error message which was
4860 unclear.
4861
a50514a8
VS
48622012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
4865
4650daec
VS
48662012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
4869 messages.
4870
48712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
4872
4873 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
4874 without argument.
4875 * util/grub-mount.c (options): Likewise.
4876
bbc5a342
VS
48772012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
4880
ef292a87
VS
48812012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 * grub-core/net/http.c: Add TRANSLATORS comments.
4884 * grub-core/normal/cmdline.c: Likewise.
4885 * grub-core/normal/misc.c: Likewise.
4886 * grub-core/partmap/msdos.c: Likewise.
4887 * grub-core/parttool/msdospart.c: Likewise.
4888 * grub-core/script/execute.c: Likewise.
4889 * grub-core/script/main.c: Likewise.
4890 * grub-core/term/terminfo.c: Likewise.
4891 * grub-core/video/bitmap.c: Likewise.
4892 * util/grub-install.in: Likewise.
4893 * util/grub-mkimage.c: Likewise.
4894 * util/grub-mklayout.c: Likewise.
4895 * util/grub-setup.c: Likewise.
4896
0fc19bd0
VS
48972012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
4900 with similar messages in grub-fstest.
4901
d95862ef
VS
49022012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 * util/grub-install.in: Unify "option requires an argument" message
4905 with similar messages in other files.
4906 * util/grub-mkconfig.in: Likewise.
4907
b7308f90
VS
49082012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * util/grub-set-default.in: Replace printf with gettext_printf (the
4911 string in in question is already translated from grub-reboot)
4912
559dc587
VS
49132012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * configure.ac: Bump up the version to beta1.
4916
1a11761f
VS
49172012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
4920 case when min_align = 0.
4921
24539abd
VS
49222012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
4925 and fix a case when line_start overflows.
4926
32bd735b
VS
49272012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * util/grub-reboot.in (usage): Mention id posibility.
4930 * util/grub-set-default.in (usage): Likewise.
4931
1a2fd1e6
VS
49322012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
4935 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
4936 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4937 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4938 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4939 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4940 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4941
90eeab76
VS
49422012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * grub-core/commands/menuentry.c (options): Remove
4945 GRUB_ARG_OPTION_REPEATABLE.
4946 Reported by: Andreas Vogel
4947
5ad1be82
AV
49482012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
4949
4950 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
4951
cb055286
HE
49522012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
4953
4954 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
4955 error.
4956
93b1cd79
VS
49572012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 Use sort -V by the idea of Georgi Georgiev.
4960
4961 * util/grub-mkconfig_lib.in (version_sort): New function.
4962 (version_test_numeric): Use version_sort.
4963
0cdc126c
VS
49642012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 Use submenus in grub-mkconfig.
4967
4968 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
4969 * util/grub-mkconfig_lib.in (grub_quote): New function.
4970 (gettext_printf): Use gettext and not gettext_quoted to fix several
4971 messages.
4972 * util/grub.d/10_hurd.in: Use submenus.
4973 * util/grub.d/10_kfreebsd.in: Likewise.
4974 * util/grub.d/10_linux.in: Likewise.
4975 * util/grub.d/10_netbsd.in: Likewise.
4976 * util/grub.d/20_linux_xen.in: Likewise.
4977 * util/grub.d/30_os-prober.in: Likewise.
4978 * util/grub.d/10_illumos.in: Add missing quoting.
4979 * util/grub.d/10_windows.in: Likewise.
4980
d9bef9bc
VS
49812012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 Fix menu title instability bug.
4984
4985 * grub-core/commands/menuentry.c (options): New option --id.
4986 (grub_normal_add_menu_entry): New argument id. All users updated.
4987 (grub_cmd_menuentry): Handle --id.
4988 (grub_menu_init): Accept unknown arguments.
4989 * grub-core/normal/main.c (features): Add feature_menuentry_id and
4990 feature_menuentry_options.
4991 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
4992 saved_entry.
4993 (get_entry_number): Match with id as well.
4994 * include/grub/menu.h (grub_menu_entry): New member id.
4995 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
4996 * util/grub.d/00_header.in: Define menuentry_id_option.
4997 * util/grub.d/10_hurd.in: Define id.
4998 * util/grub.d/10_illumos.in: Likewise.
4999 * util/grub.d/10_kfreebsd.in: Likewise.
5000 * util/grub.d/10_linux.in: Likewise.
5001 * util/grub.d/10_netbsd.in: Likewise.
5002 * util/grub.d/10_windows.in: Likewise.
5003 * util/grub.d/20_linux_xen.in: Likewise.
5004 * util/grub.d/30_os-prober.in: Likewise.
5005
50062012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
5007
5008 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
5009 "scope" with "body".
5010
7c8d0ce7
VS
50112012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
5014 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
5015 prot_size and prot_file_size.
5016
49de079b
VS
50172012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
5020 All users updated. If easily=1 require raid-5/-6 to be full.
5021 (is_node_readable): Likewise.
5022 (scan_devices): Scan incomplete but readable LVs at the end.
5023 (grub_diskfilter_memberlist): Pull missing devices.
5024 (insert_array): Skip scanning until device is complete or scan is
5025 done otherwise.
5026 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
5027 check.
5028 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
5029 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
5030
aff05d45
MG
50312012-03-03 Matthew Garrett <mjg@redhat.com>
50322012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 Avoid EFI boot services when loading Linux.
5035
5036 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
5037 avoid_efi_bootservices. All users updated.
5038 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
5039 argument avoid_efi_bootservices. All users updated.
5040 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
5041 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
5042 align, min_align, relocatable, prefered_address. All users updated.
5043 Allocate avoiding boot services if kernel is relocatable.
5044 (grub_cmd_linux): Check if kernel is relocatable.
5045 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
5046 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
5047 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
5048 avoid_efi_boot_services.
5049 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
5050 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
5051 (linux_kernel_params): Likewise.
5052
3935dde2
MG
50532012-03-03 Matthew Garrett <mjg@redhat.com>
50542012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5055
5056 Use EDID on EFI.
5057
5058 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
5059 datasize_out.
5060 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
5061 modes. Set gop_handle.
5062 (grub_video_gop_get_edid): New function.
5063 (grub_gop_get_preferred_mode): Likewise.
5064 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
5065 (grub_video_efi_gop_adapter): Set .get_edid.
5066 * include/grub/efi/edid.h: New file.
5067 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
5068
32107ec0
VS
50692012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * util/grub-install.in: Load efivars unconditionally.
5072
e70a2c50
VS
50732012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * po/Rules-piglatin: Change suffix from .po-update-en to
5076 .po-update-en-piglatin.
5077
8f9cace1
VS
50782012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5079
5080 Add a pig farm.
5081
5082 * po/piglatin.sed: New file.
5083 * po/en@piglatin.header: Likewise.
5084 * po/Rules-piglatin: Likewise.
5085 * po/README: Add en@piglatin to autogenerated languages.
5086
8f95d002
VS
50872012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
5090 "Command for ...".
5091 * grub-core/commands/hdparm.c (options): Use "Display" rather than
5092 "Check" since we don't check anything.
5093 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
5094 is 64-bit one.
5095 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
5096 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
5097 (grub_md_sha512_real): Likewise.
5098
805a8dcc
VS
50992012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 * grub-core/commands/gptsync.c: Fix typographic quoting.
5102 * grub-core/commands/ieee1275/suspend.c: Likewise.
5103 * grub-core/commands/parttool.c: Likewise.
5104 * grub-core/commands/search_wrap.c: Likewise.
5105 * grub-core/commands/videoinfo.c: Likewise.
5106 * grub-core/gfxmenu/gui_label.c: Likewise.
5107 * grub-core/hello/hello.c: Likewise.
5108 * grub-core/kern/emu/main.c: Likewise.
5109 * grub-core/net/net.c: Likewise.
5110 * grub-core/normal/menu.c: Likewise.
5111 * grub-core/normal/menu_text.c: Likewise.
5112 * grub-core/normal/misc.c: Likewise.
5113 * util/grub-editenv.c: Likewise.
5114 * util/grub-install.in: Likewise.
5115 * util/grub-kbdcomp.in: Likewise.
5116 * util/grub-mkconfig.in: Likewise.
5117 * util/grub-mknetdir.in: Likewise.
5118 * util/grub-mkrescue.in: Likewise.
5119 * util/grub-mkstandalone.in: Likewise.
5120 * util/grub-reboot.in: Likewise.
5121 * util/grub-set-default.in: Likewise.
5122 * util/grub-setup.c: Likewise.
5123 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5124
40211ab8
VS
51252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
5128 * grub-core/commands/keystatus.c: Likewise.
5129 * grub-core/commands/loadenv.c: Likewise.
5130 * grub-core/commands/probe.c: Likewise.
5131 * grub-core/commands/regexp.c: Likewise.
5132 * grub-core/commands/true.c: Likewise.
5133 * grub-core/commands/videoinfo.c: Likewise.
5134 * grub-core/disk/cryptodisk.c: Likewise.
5135 * grub-core/disk/ldm.c: Likewise.
5136 * grub-core/disk/loopback.c: Likewise.
5137 * grub-core/disk/luks.c: Likewise.
5138 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5139 * grub-core/kern/disk.c: Likewise.
5140 * grub-core/kern/emu/hostdisk.c: Likewise.
5141
0c7d99c7
VS
51422012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
5145 * util/grub-install.in: Add missing quote in the comment.
5146
e7d2559b
VS
51472012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
5150 * grub-core/commands/lsmmap.c: Likewise.
5151 * grub-core/commands/minicmd.c: Likewise.
5152 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5153 * grub-core/commands/regexp.c: Likewise.
5154 * grub-core/gdb/gdb.c: Likewise.
5155 * grub-core/term/gfxterm.c: Likewise.
5156 * util/grub-mkconfig.in: Likewise.
5157 * util/grub-mkfont.c: Likewise.
5158 * util/grub-mklayout.c: Likewise.
5159 * util/grub-mknetdir.in: Likewise.
5160 * util/grub-mkrescue.in: Likewise.
5161 * util/grub.d/30_os-prober.in: Likewise.
5162
49ce9e50
VS
51632012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
5166 with "Direct color" and "Packed" with "Packed pixel".
5167 (grub_cmd_videoinfo): Simplify legend.
5168
e4b791fa
VS
51692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5170
5171 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
5172 absolutely unclear error message.
5173
fd1265cb
VS
51742012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 * util/grub-mkstandalone.in: Remove confusing leftover print.
5177
8822a8a0
VS
51782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
5181 comments.
5182 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
5183 (GRUB_MOD_INIT): Likewise.
5184 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
5185 VGA mode.
5186 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
5187 comments.
5188 * util/grub-install.in (usage): Likewise.
5189 Spell ID in whole letters.
5190 Add missing ending dot.
5191 Quote variables.
5192 * util/grub-reboot.in: Fix capitalisation.
5193 * util/grub-set-default.in: Likewise.
5194
937fd0cc
VS
51952012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
5198 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
5199 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
5200 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
5201 Disable -Werror for -Wdeprecated-declarations.
5202 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
5203 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
5204 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
5205 (grub_util_get_grub_dev): Make luks handling dependent on
5206 HAVE_DEVICE_MAPPER and not __linux__.
5207 (get_win32_path): Fix format security.
5208 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
5209 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
5210 Don't try grub_find_zpool_from_dir.
5211 (grub_make_system_path_relative_to_its_root) [!__linux__]:
5212 #ifdef-out paresdir.
5213
1bab1ae3
VS
52142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * util/grub-pe2elf.c (usage): Add missing noreturn.
5217 (write_section_data): Rename name to shname to avoid shadowing.
5218 (write_symbol_table): Rename name to symname to avoid shadowing.
5219 Fix write_reloc_section call.
5220
ef023e42
VS
52212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
5224 to ensure that it's after the last byte of .text.
5225
48afcb75
VS
52262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5227
5228 * util/ieee1275/ofpath.c (my_isdigit): New function.
5229 (trailing_digits): Use my_isdigit.
5230 (strip_trailing_digits): Likewise.
5231
88d51eff
VS
52322012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
5235 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
5236
17edc2ba
VS
52372012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * grub-core/kern/i386/pc/startup.S: Define __start.
5240
ad5518d7
VS
52412012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
5244 strip already transforms he format.
5245
9e95e1bf
VS
52462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
5249
9cc3ee5c
VS
52502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * util/grub-install.in: Add missing gettext init.
5253 * util/grub-kbdcomp.in: Likewise.
5254 * util/grub-mkconfig.in: Likewise.
5255 * util/grub-mknetdir.in: Likewise.
5256 * util/grub-mkrescue.in: Likewise.
5257 * util/grub-mkstandalone.in: Likewise.
5258 * util/grub-reboot.in: Likewise.
5259 * util/grub-set-default.in: Likewise.
5260 * util/grub.d/00_header.in: Likewise.
5261 * util/grub.d/10_hurd.in: Likewise.
5262 * util/grub.d/10_windows.in: Likewise.
5263 * util/grub.d/30_os-prober.in: Likewise.
5264 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5265
49e08a06
VS
52662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 * po/Rules-swiss: Fix header comment.
5269
3809cb41
AV
52702012-02-29 Andreas Vogel <anvoit>
5271
5272 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
5273 resulted in leak of arguments.
5274
fa6ec573
VS
52752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 * grub-core/boot/i386/pc/startup_raw.S: Use separate
5278 reed_solomon_size const definition instead of computing it since
5279 Apple assembler doesn't support the later.
5280
22899b9c
VS
52812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * gentpl.py (kernel): Rewrite Apple part.
5284
a132afc3
VS
52852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 * include/grub/kernel.h (FOR_MODULES): Check module magic.
5288
9d742bd4
VS
52892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * util/grub-mkimagexx.c (locate_sections): Support non-standard
5292 ELF section gap.
5293 (load_image): Likewise.
5294
f04a9a21
VS
52952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 * configure.ac: Fix a typo in previous commit.
5298
46cf439c
VS
52992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5300
5301 Don't add -Wl,-N on Apple platform.
5302
5303 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
5304 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
5305
c4c48c54
VS
53062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/Makefile.core.def (lzma_decompress): Use
5309 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
5310
31a12124
VS
53112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/genmod.sh.in: Rewrite the Apple part.
5314
4f3aa1af
VS
53152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
5318 comparison.
5319
7bd8b0c7
VS
53202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * acinclude.m4 (grub_CHECK_PIC): New test.
5323 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
5324
97304d7c
VS
53252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
5328 to avoid the warning.
5329
fb883812
VS
53302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
5333 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
5334 after. All users updated.
5335
a121c964
VS
53362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 Use the common size routine in hostfs so we can read disks as well.
5339
5340 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
5341 (grub_util_get_fd_size): ... this. Return size in bytes.
5342 All users updated.
5343 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
5344 grub_util_get_fd_size.
5345
c66d6410
VS
53462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
5349 Add blocksize retrieval.
5350
dfc8aeb0
VS
53512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 * configure.ac: Restore CFLAGS after efiemu check.
5354
403e25a5
VS
53552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
5358 Apple bug.
5359
382775d1
VS
53602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
5363
6fd4e6e4
VS
53642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
5367 (grub_cmd_halt): Likewise.
5368
bea359d6
VS
53692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
5372 for local arithmetics.
5373 Break %sp init into 2 instructions.
5374 Add 0 byte at the end.
5375
32eb6ee1
VS
53762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 * grub-core/disk/diskfilter.c (read_segment): Initialise err
5379 before loops.
5380
e8377389
VS
53812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
5384 for context.
5385
8cb17de7
VS
53862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 * grub-core/disk/ldm.c (make_vg): Init part.name.
5389 (grub_ldm_detect): Silence spurious warning.
5390 (grub_util_is_ldm): Likewise.
5391
595717e6
VS
53922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
5395 sane value to avoid a spurious warning.
5396
c4b7e588
VS
53972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
5400 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
5401
59824957
VS
54022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
5405 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
5406
70115b99
VS
54072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
5410 hardcoding the relevant info.
5411
56733740
VS
54122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
5415 missing const qualifiers.
5416 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
5417
43481481
VS
54182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * util/getroot.c [__APPLE__]: Add missing includes.
5421 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
5422
3cb38f01
VS
54232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * util/grub-mkimage.c (generate_image): Silence spurious warning.
5426
d9dbf11e
VS
54272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
5430 avoid conflicts.
5431
0c42a45d
VS
54322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
5435
46c34eb0
VS
54362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
5439 and grub_file_close call.
5440
99ce1597
VS
54412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 Add LZSS Mach-O support (needed for new xnu kernelcache).
5444
5445 * grub-core/Makefile.core.def (xnu): Add file lzss.c
5446 * grub-core/loader/lzss.c: New file.
5447 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
5448 on Mach-O open failure.
5449 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
5450 Don't free cmdsXX in uncompressedXX is set.
5451 (grub_macho_file): Init new fields.
5452 New argument is_64bit. All users updated.
5453 Handle compressed. Error out if no suitable architecture is found.
5454 Don't close file.
5455 (grub_macho_open): New argument is_64bit. All users updated.
5456 * grub-core/loader/macho32.c: Add defines for new fields.
5457 * grub-core/loader/macho64.c: Likewise.
5458 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
5459 (grub_macho_parse): Handle compressed.
5460 Defer actual processing if compressed.
5461 (grub_macho_cmds_iterate): Decompress if compressed. New argument
5462 "filename". All users updated.
5463 (grub_macho_size): New argument "filename". All users updated.
5464 (grub_macho_get_entry_point): Likewise.
5465 (grub_macho_load): Handle compressed.
5466 * include/grub/macho.h (grub_macho_lzss_header): New struct.
5467 (GRUB_MACHO_LZSS_OFFSET): New define.
5468 (grub_decompress_lzss): New proto.
5469 * include/grub/machoload.h (grub_macho_file): New fields to handle
5470 compressed.
5471 (grub_macho_contains_macho64): Remove proto.
5472 (grub_macho_contains_macho32): Likewise.
5473 * util/grub.d/30_os-prober.in: Use kernel cache if available.
5474
ebd17d6f
VS
54752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
5478
2702b4e4
VS
54792012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 Fix make dist.
5482
5483 * Makefile.am (starfield_theme_files): New var.
5484 (starfield_DATA): Use starfield_theme_files.
5485 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
5486 Add bootcheck-related files.
5487 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
5488 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
5489 and font_char_metrics.txt.
5490 * grub-core/Makefile.core.def (kernel): Update extra_dist.
5491 (setjmp): Add lib/ia64/longjmp.S.
5492 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
5493 * po/POTFILES.in: Regenerate.
5494 * po/Rules-swiss: use DISTFILES.common.extra2 and not
5495 DISTFILES.common.extra1.
5496 * util/devicemap.c: Removed.
5497 * grub-core/lib/i386/relocator_backward.S: Likewise.
5498 * util/import_gcry.py: Remove unused files. Add extra_dist for
5499 ChangeLog.
5500
cf1adfdf
VS
55012012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 * grub-core/gettext/gettext.c (grub_mofile_open): Call
5504 grub_gettext_delete_list before changing grub_gettext_max to avoid
5505 running out of array bounds.
5506
55072012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
5508
5509 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
5510 grub_vga_text_init/grub_vga_text_fini.
5511
cf1adfdf 55122012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
5513
5514 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
5515
541d92e9
VS
55162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * configure.ac: Bump to 2.00~beta0.
5519
7931dddf
VS
55202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
5523 missing initialisation.
5524
f1b16fa3
VS
55252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
5528
83ddae23
VS
55292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 Support v2 xnu boot arguments.
5532
5533 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
5534 New argument fsbfreq_out.
5535 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
5536 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
5537 be used.
5538 * grub-core/loader/machoXX.c (grub_macho_load): New argument
5539 darwin_version.
5540 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
5541 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
5542 (grub_xnu_boot_params): Rename to ...
5543 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
5544 (grub_xnu_boot_params_v2): New struct.
5545
dc693fe6
VS
55462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
5549 zeroing of CRC field before computing CRC.
5550
5a6e39c2
VS
55512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
5554 Change order of allocations to decrease fragmentation.
5555
6c21f5d7
VS
55562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
5559
cfe456dc
CW
55602012-02-27 Colin Watson <cjwatson@ubuntu.com>
5561
5562 Use write-combining MTRR to speed up video with buggy BIOSes.
5563
5564 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
5565 (cpuid): New define.
5566 (rdmsr): Likewise.
5567 (wrmsr): Likewise.
5568 (mtrr_base): Likewise.
5569 (mtrr_mask): Likewise.
5570 (grub_vbe_enable_mtrr_entry): New function.
5571 (grub_vbe_enable_mtrr): Likewise.
5572 (grub_vbe_disable_mtrr): Likewise.
5573 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
5574 control off to BIOS.
5575 (grub_video_vbe_init): Fill mtrr.
5576 (grub_video_vbe_fini): Disable mtrr.
5577 (grub_video_vbe_get_info_and_fini): Likewise.
5578 (grub_video_vbe_setup): Enable mtrr.
5579
e3c78337
CW
55802012-02-27 Colin Watson <cjwatson@ubuntu.com>
5581
5582 * include/grub/partition.h (grub_partition_map): Change prototype of
5583 embed to take a maximum value for nsectors.
5584 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
5585 * include/grub/fs.h (grub_fs): Likewise.
5586 * grub-core/partmap/msdos.c (embed_signatures): New array.
5587 (pc_partition_map_embed): Check for and avoid sectors matching any
5588 of the signatures in embed_signatures, up to max_nsectors.
5589 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
5590 returned sector map to max_nsectors.
5591 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
5592 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
5593 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
5594 * util/grub-setup.c (setup): Allow for the embedding area being
5595 split into multiple blocklists. Tell dest_partmap->embed the
5596 maximum number of sectors we care about.
5597
55982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
5601 Specify blocklist_install and reserver_first_sector for all fs.
5602 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
5603 blocklists.
5604
984b973f
VS
56052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * util/grub-install.in: Clarify strings.
5608 Fix source dir check.
5609
f122e0d6
RL
56102012-02-27 Richard Laager <rlaager@wiktel.com>
5611
5612 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
5613 "zfs" and "fuse.zfs" as synonyms.
5614
071114bb
VS
56152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * configure.ac: Put platform and target_cpu substitutions back since
5618 they are used for directories.
5619
817e6abc
RL
56202012-02-27 Richard Laager <rlaager@wiktel.com>
56212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 * util/grub.d/10_linux.in: Add ZFS-related arguments.
5624 * util/grub.d/20_linux_xen.in: Likewise.
5625
897b7419
RL
56262012-02-27 Richard Laager <rlaager@wiktel.com>
5627
5628 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
5629 with full paths.
5630
a414bd15
RL
56312012-02-27 Richard Laager <rlaager@wiktel.com>
5632
5633 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
5634 unescape.
5635
30ac48c4
VS
56362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 Don't use insecure popen in getroot.
5639
5640 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
5641 (exec_pipe): ... here.
5642 (find_root_devices_from_poolname): Use exec_pipe.
5643
53f13848
VS
56442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 Remove platform and target_cpu replacement.
5647
5648 * configure.ac: Remove platform and target_cpu substitutions.
5649 * tests/util/grub-shell.in: Use modinfo.
5650 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
5651 explicitly.
5652
90cb2803
VS
56532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 Autodetect platform in grub-install but allow override.
5656
5657 * util/grub-install.in: Autodetect platform. Support --target and
5658 --directory. Read platform from modinfo.sh.
5659
b9136427
VS
56602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 Support btrfs multi-volume probe.
5663
5664 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
5665 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
5666 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
5667 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
5668 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
5669 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
5670 grub_find_root_devices_from_btrfs if on btrfs.
5671
c36e5cd1
VS
56722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 Remove any awareness of *.c util files about target.
5675
5676 * Makefile.util.def (grub-setup): Split to ...
5677 (grub-bios-setup): ... and this.
5678 (grub-sparc64-setup): ... and this.
5679 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
5680 * docs/man/grub-setup.h2m: Split into ...
5681 * docs/man/grub-sparc64-setup.h2m: ... this.
5682 * docs/man/grub-bios-setup.h2m: ... and this.
5683 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
5684 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
5685 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
5686 (grub_target_addr_t): Remove.
5687 (grub_target_size_t): Remove.
5688 (grub_target_ssize_t): Remove.
5689 * util/grub-install.in: Use new grub-*-setup.
5690 * util/grub-mkimagexx.c (Elf_Word): New define.
5691 (Elf_Half): Likewise.
5692 (Elf_Section): Likewise.
5693 (ELF_ST_TYPE): Likewise.
5694 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
5695 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
5696
584b2f8a
VS
56972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 Replace grub_target_addr with more appropriate types.
5700
5701 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
5702 grub_target_addr with grub_addr.
5703 * grub-core/commands/iorw.c (grub_cmd_read): Replace
5704 grub_target_addr with grub_port.
5705 (grub_cmd_write): Likewise.
5706 * grub-core/commands/memrw.c (grub_cmd_read): Replace
5707 grub_target_addr with grub_addr.
5708 (grub_cmd_write): Likewise.
5709 * grub-core/video/efi_uga.c (find_line_len): Likewise.
5710
5a0dc6fb
VS
57112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
5714 const qualifier for vendor_guid.
5715
786aff6e
VS
57162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
5719 const qualifier.
5720 (efiemu_memequal): Likewise.
5721 (find_variable): Likewise.
5722
49017b17
VS
57232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 Fix missing console prototype on qemu-mips.
5726
5727 * include/grub/mips/qemu_mips/console.h: New file.
5728
c5988629
MG
57292012-02-27 Matthew Garrett <mjg@redhat.com>
57302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
5733 * include/grub/efi/efi.h: Likewise.
5734 * include/grub/efi/api.h: Add guid for EFI-specified variables.
5735 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
5736 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
5737 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
5738 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
5739 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
5740
e33f8d69
MG
57412012-02-27 Matthew Garrett <mjg@redhat.com>
5742
5743 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
5744
fb312cd9
VS
57452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
5748 error.
5749
7134247c
VS
57502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 * configure.ac: Remove inappropriate use of program_transform_name
5753 on grubdir and bootdir but allow explicit specification of those
5754 variables.
5755
6a313124
VS
57562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * util/grub-mknetdir.in (grub_prefix): Removed.
5759 (subdir): Use @bootdirname@ and @grubdirname@.
5760
2311c5ca
VS
57612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
5764
7d5d60f7
VS
57652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5766
5767 * po/POTFILES.in: Regenerated.
5768
8151bc82
VS
57692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 Remove improper use of program_transform_name on pkglibrootdir.
5772
5773 * configure.ac (pkglibrootdir): Removed.
5774 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
5775 * util/grub-mkimage.c: Likewise.
5776
b4a6a533
VS
57772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
5780 warning.
5781
668f304f
VS
57822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 * util/grub-install.in: Use file identifier if no UUID is available
5785 or user explicitly prompted for it.
5786
665f2341
NP
57872012-02-27 Navdeep Parhar <nparhar@gmail.com>
5788
5789 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
5790 (freebsd_get_zfs): New function.
5791 (grub_freebsd_boot): Pass zfs UUID.
5792 (grub_cmd_freebsd): Set zfs UUID.
5793
8151bc82 57942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
5795
5796 * conf/Makefile.common (platformdir): Base on pkglibdir and not
5797 pkglibrootdir.
5798
e4c498a1
MG
57992012-02-27 Mike Gilbert <floppym@gentoo.org>
5800
5801 Add configure flag to control libzfs integration.
5802
5803 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
5804
1e9a9a3f
VS
58052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
5808 device.
5809 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
5810 small devices.
5811
036985b8
VS
58122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 Remove grub_{modname}_init and grub_{modname}_fini. They should never
5815 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
5816 be used on non-modules.
5817
5818 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
5819 Rename to grub_boot_init.
5820 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
5821 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
5822 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
5823 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
5824 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
5825 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
5826 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
5827 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
5828 includes.
5829 (grub_machine_init): Remove empty inits.
5830 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
5831 includes.
5832 (grub_machine_init): Remove empty inits.
5833 * grub-core/term/arc/console.c: Remove explicit proto.
5834 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
5835 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
5836 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5837 grub_at_keyboard_fini.
5838 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
5839 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
5840 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5841 grub_gfxterm_fini.
5842 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
5843 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
5844 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5845 grub_vgatext_fini.
5846 * grub-core/term/ieee1275/console.c: Remove explicit proto.
5847 * grub-core/term/serial.c (GRUB_MOD_INIT)
5848 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
5849 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5850 grub_serial_fini.
5851 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
5852 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
5853 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5854 grub_terminfo_fini.
5855 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
5856 (GRUB_MOD_FINI): Likewise.
5857 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
5858 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
5859 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5860 grub_video_radeon_fuloong2e_fini.
5861 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
5862 [LOONGSON]: Rename to grub_video_sis315pro_init.
5863 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5864 grub_video_sis315pro_fini.
5865 * grub-core/video/sm712.c (GRUB_MOD_INIT)
5866 [LOONGSON]: Rename to grub_video_sm712_init.
5867 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5868 grub_video_sm712_fini.
5869 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
5870 (grub_at_keyboard_fini): Likewise.
5871 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
5872 Don't declare grub_{modname}_init.
5873 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
5874 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
5875 New proto.
5876 (grub_keylayouts_fini) [!EMU]: Likewise.
5877 * include/grub/serial.h (grub_serial_init) [!EMU]:
5878 New proto.
5879 (grub_serial_fini) [!EMU]: Likewise.
5880 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
5881 New proto.
5882 (grub_terminfo_fini) [!EMU]: Likewise.
5883 * include/grub/video.h (grub_font_init) [!EMU]:
5884 New proto.
5885 (grub_font_fini) [!EMU]: Likewise.
5886 (grub_gfxterm_init) [!EMU]: Likewise.
5887 (grub_gfxterm_fini) [!EMU]: Likewise.
5888 (grub_video_sm712_init) [!EMU]: Likewise.
5889 (grub_video_sm712_fini) [!EMU]: Likewise.
5890 (grub_video_sis315pro_init) [!EMU]: Likewise.
5891 (grub_video_sis315pro_fini) [!EMU]: Likewise.
5892 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
5893 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
5894
d5534665
VS
58952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 Make nand a prefix for nand devices.
5898
5899 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
5900
10133b5f
VS
59012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
5904 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
5905
8e307a62
VS
59062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 * include/grub/env.h (grub_env_find): Remove prototype.
5909 * grub-core/kern/env.c (grub_env_find): Make static.
5910 (grub_env_set): Remove useless set.
5911
a4c65f34
VS
59122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 * grub-core/kern/i386/realmode.S: Remove useless align.
5915
d87893d5
VS
59162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5917
5918 * include/grub/dl.h (grub_dl_load_file): Don't export.
5919
50159add
VS
59202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
5923 grub_dprintf.
5924
b2582b84
VS
59252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
5928 grub_errors.
5929 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
5930 not reloading whole superblock but only the part which is really needed.
5931 Remove useless grub_errors.
5932 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
5933 grub_errors.
5934
e2a83395
VS
59352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 Don't export grub_get_rtc.
5938
5939 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
5940 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
5941
e7d2a906
VS
59422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
5945
6cf1363b
VS
59462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 5949 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 5950
eece3349
VS
59512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 Remove prio_list.
5954
5955 * include/grub/list.h (grub_prio_list): Removed.
5956 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
5957 GRUB_COMMAND_PRIO_MASK.
5958 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
5959 GRUB_COMMAND_FLAG_ACTIVE.
5960 (grub_prio_list_insert): Removed.
5961 (grub_prio_list_remove): Likewise.
5962 (GRUB_AS_PRIO_LIST): Likewise.
5963 (GRUB_AS_PRIO_LIST_P): Likewise.
5964 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
5965 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
5966 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
5967 * grub-core/kern/command.c (grub_register_command_prio): Inline
5968 the prio_list code.
5969 (grub_unregister_command): Likewise.
5970
94f064b4
VS
59712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 Fix interrupt mixup from previous commit.
5974
5975 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
5976 (grub_realidt): New var.
5977 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
5978 Load idt.
5979 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
5980 New declaration.
5981 (grub_relocator16_boot): Set grub_relocator16_idt.
5982 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
5983 (LOCAL(realidt)): ... this.
5984 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
5985 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
5986 (grub_realidt): New variable.
5987
27317084
VS
59882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
5991 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
5992 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
5993 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
5994 Gettextize.
5995 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
5996 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
5997 * po/POTFILES.in: Regenerate.
5998
47b40053
VS
59992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
6002 errors.
6003
2b343101
VS
60042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
6007 \0.
6008 (add_length): Likewise.
6009
ff27c3dd
LK
60102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
60112012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
6012
6013 GDB serial and backtrace support.
6014
6015 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
6016 (prot_to_real): Likewise.
6017 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
6018 * grub-core/Makefile.core.def (backtrace): New module.
6019 (gdb): Likewise.
6020 * grub-core/gdb/cstub.c: New file.
6021 * grub-core/gdb/gdb.c: Likewise.
6022 * grub-core/gdb/i386/idt.c: Likewise.
6023 * grub-core/gdb/i386/machdep.S: Likewise.
6024 * grub-core/gdb/i386/signal.c: Likewise.
6025 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 6026 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
6027 * include/grub/backtrace.h: Likewise.
6028 * include/grub/gdb.h: Likewise.
6029 * include/grub/i386/gdb.h: Likewise.
6030
60312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
6032
6033 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
6034 New function.
6035 (add_length): Likewise.
6036 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
6037 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
6038 proto.
6039 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
6040 __argp_get_display_len.
6041
ff27c3dd 60422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
6043
6044 $"..." support in scripts.
6045
6046 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
6047 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
6048 * grub-core/script/yylex.l: Likewise.
6049 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
6050 value.
6051
ff27c3dd 60522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
6053
6054 * gentpl.py: Remove obsolete pkglib_DATA handling.
6055
ff27c3dd 60562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
6057
6058 Don't transform PACKAGE_TARNAME following a discussion on autoconf
6059 mailing list.
6060
6061 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
6062 * util/grub-kbdcomp.in: Likewise.
6063 * util/grub-mkconfig.in: Likewise.
6064 * util/grub-mkconfig_lib.in: Likewise.
6065 * util/grub-mknetdir.in: Likewise.
6066 * util/grub-mkrescue.in: Likewise.
6067 * util/grub-mkstandalone.in: Likewise.
6068 * util/grub-reboot.in: Likewise.
6069 * util/grub-set-default.in: Likewise.
6070 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6071
ff27c3dd 60722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
6073
6074 Remove GRUB_PREFIX.
6075
6076 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
6077 * util/grub.d/00_header.in: Compute prefix in the only place it's still
6078 used for backward compatibility.
6079
ff27c3dd 60802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
6081
6082 Add new all_video module.
6083
6084 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
6085 * grub-core/Makefile.core.def (all_video): New module.
6086 * grub-core/genmoddep.awk: Generate dependency of all_video from
6087 video.lst.
6088 * grub-core/lib/fake_module.c: New file.
6089 * grub-core/normal/main.c (features): Add feature_all_video_module.
6090 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
6091 don't do explicit search again.
47454da5 6092 insmod all_video in load_video if available.
22c7ce85 6093
ff27c3dd 60942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
6095
6096 Another round of string clarification and adding TRANSLATORS comments.
6097
ff27c3dd 60982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
6099
6100 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
6101
ff27c3dd 61022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
6103
6104 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
6105 to grub_ssize_t.
6106 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
6107 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
6108
ff27c3dd 61092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
6110
6111 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
6112 trailing newline implicitly. All users updated.
6113
ff27c3dd 61142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
6115
6116 Implement serial on IEEE1275 and EFI.
6117
6118 * docs/grub.texi (Platform-specific limitations): Fix the columen video
6119 on emu. Mention arc and emu as the only platforms without serial
6120 support.
6121 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
6122 ieee1275 platforms.
6123 * grub-core/term/efi/serial.c: New file.
6124 * grub-core/term/ieee1275/serial.c: Likewise.
6125 * grub-core/term/serial.c (grub_serial_find): Disable direct port
6126 specification if no ns8250 driver is available.
6127 (grub_cmd_serial): Likewise.
6128 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
6129 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
6130 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
6131 (grub_efi_parity_type_t): New type.
6132 (grub_efi_stop_bits_t): Likewise.
6133 (grub_efi_serial_io_interface): New struct.
6134 * include/grub/serial.h (grub_serial_port): Make 'broken' field
6135 available for all interfaces.
6136 Add EFI and IEEE1275 fields.
6137 (grub_ofserial_init): New proto.
6138 (grub_efiserial_init): Likeiwse.
6139 * util/grub.d/00_header.in: Don't check for the presence of serial
6140 module.
6141
ff27c3dd 61422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
6143
6144 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
6145 name as if it was an alias.
6146
114076ef
VS
61472012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * grub-core/commands/lsacpi.c (options): Fix typo.
6150
6a656b0e
VS
61512012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 Convert grub-emu to argp.
6154
6155 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
6156 emu.
6157 * util/argp_common.c: Rename to ...
6158 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
6159 Add missing includes.
6160 * grub-core/kern/emu/main.c: Convert to argp.
6161 * po/POTFILES.in: Regenerate.
6162 * util/grub-install.in (usage): Make first letter lowcase in messages
6163 for uniformity.
6164 * util/grub-setup.c (options): Likewise.
6165
1e3f8ae8
VS
61662012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
6169 Put back accidently commented-out code.
6170
ed167a80
VS
61712012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
6174 loop check using Brent algorithm.
6175 (grub_hfsplus_btree_search): Likewise.
6176
6753c0ec
VS
61772012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6178
6179 * util/grub-install.in: Fix usage of wrong device for PreP install.
6180
4e27343f
VS
61812012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * conf/Makefile.common (CFLAGS_GNULIB): Add
6184 -Wno-unsafe-loop-optimizations.
6185 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
6186 on tools.
6187 * grub-core/commands/legacycfg.c: Add pragma to skip
6188 -Wunsafe-loop-optimizations.
6189 (check_password_md5_real): Fix loop counter type.
6190 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
6191 reading.
6192 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
6193 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
6194 loop condition.
6195 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
6196 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
6197 * grub-core/net/net.c (grub_net_route_address): Add safety loop
6198 condition.
6199 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
6200 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
6201 avoid possible infinite loops.
6202 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
6203 and -Wunsafe-loop-optimizations.
6204 * grub-core/script/yylex.l: Likewise.
6205 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
6206 (print_glyphs): Avoid infinite loops.
6207 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
6208
697f18b0
GS
62092012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
6210
6211 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
6212 to avoid infinite loop.
6213 (disp_acpi_rsdt_table): Likewise.
6214
274416e8
VS
62152012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * grub-core/font/font.c (grub_font_load): Add support for default
6218 path for fonts ($prefix/fonts).
6219 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
6220 for checking if string is a path.
6221 * grub-core/normal/main.c (features): Add feature_default_font_path.
6222 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
6223 * util/grub.d/00_header.in: Use default directory if possible.
6224 * util/grub-install.in: Install unicode.pf2.
6225
b3e08622
VS
62262012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
6229 * po/Rules-swiss: New file.
6230 * po/swiss.sed: Likewise.
6231
fe42ce09
VS
62322012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * grub-core/fs/btrfs.c (find_device): Fix typos.
6235 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
6236 * util/grub-mkrelpath.c (argp_parser): Likewise.
6237 Reported by: Yuri Chornoivan.
6238
72f1d065
DO
62392012-02-23 Dalet Omega <daletomega@gmail.com>
6240
6241 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
6242 for usual informative messages.
6243
c5884973
DO
62442012-02-23 Dalet Omega <daletomega@gmail.com>
6245
6246 Starfield theme.
6247
6248 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
6249 * conf/Makefile.common: Define starfielddir.
6250 * configure.ac: Configure starfield.
6251 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
6252 * themes/starfield/README: Likewise.
6253 * themes/starfield/blob_w.png: Likewise.
6254 * themes/starfield/boot_menu_c.png: Likewise.
6255 * themes/starfield/boot_menu_e.png: Likewise.
6256 * themes/starfield/boot_menu_n.png: Likewise.
6257 * themes/starfield/boot_menu_ne.png: Likewise.
6258 * themes/starfield/boot_menu_nw.png: Likewise.
6259 * themes/starfield/boot_menu_s.png: Likewise.
6260 * themes/starfield/boot_menu_se.png: Likewise.
6261 * themes/starfield/boot_menu_sw.png: Likewise.
6262 * themes/starfield/boot_menu_w.png: Likewise.
6263 * themes/starfield/slider_c.png: Likewise.
6264 * themes/starfield/slider_n.png: Likewise.
6265 * themes/starfield/slider_s.png: Likewise.
6266 * themes/starfield/src/blob_nw.xcf: Likewise.
6267 * themes/starfield/src/bootmenu/: Likewise.
6268 * themes/starfield/src/bootmenu/center.xcf: Likewise.
6269 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
6270 * themes/starfield/src/bootmenu/side.xcf: Likewise.
6271 * themes/starfield/src/slider_c.xcf: Likewise.
6272 * themes/starfield/src/slider_n.xcf: Likewise.
6273 * themes/starfield/src/slider_s.xcf: Likewise.
6274 * themes/starfield/src/terminalbox/: Likewise.
6275 * themes/starfield/src/terminalbox/center.xcf: Likewise.
6276 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
6277 * themes/starfield/src/terminalbox/side.xcf: Likewise.
6278 * themes/starfield/starfield.png: Likewise.
6279 * themes/starfield/terminal_box_c.png: Likewise.
6280 * themes/starfield/terminal_box_e.png: Likewise.
6281 * themes/starfield/terminal_box_n.png: Likewise.
6282 * themes/starfield/terminal_box_ne.png: Likewise.
6283 * themes/starfield/terminal_box_nw.png: Likewise.
6284 * themes/starfield/terminal_box_s.png: Likewise.
6285 * themes/starfield/terminal_box_se.png: Likewise.
6286 * themes/starfield/terminal_box_sw.png: Likewise.
6287 * themes/starfield/terminal_box_w.png: Likewise.
6288 * themes/starfield/theme.txt: Likewise.
6289
17d73325
VS
62902012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 * util/grub.d/00_header.in: Add missing export theme.
6293
dbebaf92
VS
62942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
6297 already included.
6298 Reported by: Eren D.
6299
3d68bffb
VS
63002012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * conf/Makefile.common (grubdatadir): Removed.
6303 (Makefile.am): Move eveything grubdata to pkgdata.
6304
4b59234d
VS
63052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * grub-core/commands/acpihalt.c (get_sleep_type):
6308 Remove unused variable.
6309
463dcadc
VS
63102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
6313 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
6314 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
6315 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
6316 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
6317 i18n with gettext no-op.
6318 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
6319 GRUB_ACPI_OPCODE_STRING_CONST.
6320 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
6321 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
6322
e5b90c82
VS
63232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 * po/POTFILES.in: Regenerate.
6326
2a704ca9
VS
63272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
6330 -Wno-error=missing-noreturn.
6331
84f9d341
VS
63322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
6335 condition to avoid possibly infinite loops.
6336 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
6337 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
6338
d46683f9
VS
63392012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
6342 condition to avoid possibly infinite loops.
6343
c44866b2
VS
63442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
6347 on show_error.
6348
96790539
VS
63492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
6352
1ba7e295
VS
63532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
6356
21ffe8f1
VS
63572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 * util/bin2h.c (usage): Add missing attribute noreturn.
6360
0ccb6b3c
VS
63612012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
6364 if the size isn't divisible by 512.
6365
b00d7fb6
VS
63662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 Make list_push and list_remove functions rather than inline functions
6369 to decrease size and avoid aliasing violations.
6370
6371 * include/grub/list.h (grub_list_push): Move to ...
6372 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
6373 * include/grub/list.h (grub_list_remove): Move to ...
6374 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
6375
9d369087
VS
63762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
6379 and -Wunused-result.
6380
af0250d9
VS
63812012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
6384 Reported by: Seth Goldberg
6385
aad32b14
VS
63862012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
6389
ac96441c
ST
63902012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
6391
6392 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
6393 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
6394 command line.
6395 * docs/grub.texi (Simple configuration): Document
6396 GRUB_CMDLINE_GNUMACH.
6397
63982012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
6399
6400 * conf/Makefile.common (platform_SCRIPTS): New variable.
6401 (platform_PROGRAMS): Likewise.
6402 * gentpl.py: Mark *,module and *.image for install.
6403 * grub-core/gdb_grub.in: Add a notice of expected environment.
6404 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
6405 (gmodule.pl): Likewise.
6406
ac96441c 64072012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
6408
6409 Replace grub_checkkey with grub_getkey_noblock.
6410
6411 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
6412 (grub_getkey_noblock): ... this. All users updated.
6413
ac96441c 64142012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
6415
6416 * grub-core/kern/emu/console.c: Move to ...
6417 * grub-core/term/emu/console.c: ...here.
6418 (grub_ncurses_getkey): Fix return value if no key is detected.
6419
e51b5666
VS
64202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
6423 (grub_unit_test_fini): Likewise.
6424 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
6425
64262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 * include/grub/test.h (GRUB_UNIT_TEST)
6429
d9a62292
VS
64302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 * grub-core/script/execute.c (grub_script_break): Clarify logic.
6433 Better error handling.
6434 (grub_script_return): Likewise.
6435 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6436
77c9182f
VS
64372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
6440 rimplicit redifinition.
6441
edb13cf9
VS
64422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
6445 GRUB.
6446
a9e9dc7c
VS
64472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
6450 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
6451 prompt here.
6452
b4ba8e02
VS
64532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
6456 as GRUB_ERR_BUG. Don't malloc if no device is available.
6457
dded5540
VS
64582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6459
6460 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
6461 Mark calling with invalid term as GRUB_ERR_BUG.
6462
0cf69874
VS
64632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
6466 packets rather than raising an error.
6467
59bfe502
VS
64682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
6471 in if.
6472
db5fc596
VS
64732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
6476 diagnostic to dprintf.
6477 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6478
e4b7f404
VS
64792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
6482 device name.
6483
e7b02f9e
VS
64842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
6487 (grub_ntfs_iterate_dir): Likewise.
6488
0331e102
VS
64892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 Efiemu stylistic fixes and gettext.
6492
6493 * grub-core/efiemu/i386/loadcore32.c
6494 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
6495 * grub-core/efiemu/i386/loadcore64.c
6496 (grub_arch_efiemu_relocate_symbols64): Likewise.
6497 * grub-core/efiemu/i386/pc/cfgtables.c
6498 (grub_machine_efiemu_init_tables): Likewise.
6499 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
6500 (grub_efiemu_loadcore_initXX): Add a filename argument.
6501 All users updated.
6502 Improved error message.
6503 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
6504 Add a filename argument.
6505 All users updated.
6506 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
6507 Reclassify double relocation as GRUB_ERR_BUG.
6508
306fc074
VS
65092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
6512 handling.
6513
794d8ef2
VS
65142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
6517 on partition.
6518
65192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
6520
6521 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
6522
794d8ef2 65232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
6524
6525 Improve string. Gettextize.
6526
78dde88e
VS
65272012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
6530 utils.
6531 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
6532
4786a90f
VS
65332012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
6536 [GRUB_UTIL]: New function.
6537 (insert_array) [GRUB_UTIL]: Store partmaps.
6538 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
6539 partmaps.
6540 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
6541 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
6542 (probe_abstraction): Print diskfilter and not raid.
6543 Reported by: Lennart Sorensen
6544
0b6225bd
VS
65452012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
6548 * util/grub-mkimagexx.c (MASK3): New define.
6549 (add_value_to_slot_20b): Use MASK3.
6550 (add_value_to_slot_21): Likewise.
6551 (relocate_addresses): Fix format specification.
6552 (load_image): Explicitly init symtab_section.
6553
b055f8f6
VS
65542012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
6557 (grub_util_biosdisk_get_grub_dev): Fix format specification.
6558
b77c2fb7
VS
65592012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
6562 on powerpc.
6563 Reported by: Lennart Sorensen
6564
e3ec28ab
VS
65652012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * gentpl.py: Add missing license header.
6568 * docs/grub.texi: Update copyright year.
6569
c8d9ead6
GS
65702012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
6571
6572 Source grub-mkconfig_lib from the build directory at build time.
6573 Suggested by: Vladimir Serbinenko.
6574
6575 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
6576 * util/grub-install.in: Define pkgdatadir if not already set, and source
6577 grub-mkconfig_lib from there.
6578 * util/grub-kbdcomp.in: Likewise.
6579 * util/grub-mkconfig.in: Likewise.
6580 * util/grub-mknetdir.in: Likewise.
6581 * util/grub-mkrescue.in: Likewise.
6582 * util/grub-mkstandalone.in: Likewise.
6583 * util/grub-reboot.in: Likewise.
6584 * util/grub-set-default.in: Likewise.
6585 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6586
ebcecdf1
VS
65872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6588
6589 Increase warning level.
6590
6591 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
6592 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
6593 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
6594 (TARGET_CFLAGS): Likewise.
6595 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
6596 * grub-core/Makefile.core.def (decompressor_xz): Add
6597 -Wno-unreachable-code.
6598 (normal): Add -Wno-redundant-decls.
6599 (xzio): Add -Wno-unreachable-code.
6600 (lzopio): Add -Wno-redundant-decls -Wno-error.
6601 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
6602 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
6603 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
6604 * grub-core/kern/dl.c: Add exception to -Wcast-align.
6605 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
6606 * grub-core/kern/i386/coreboot/init.c: Add exception to
6607 -Wsuggest-attribute=noreturn.
6608 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
6609 * grub-core/kern/ia64/dl_helper.c: Likewise.
6610 * grub-core/kern/mips/dl.c: Likewise.
6611 * grub-core/kern/sparc64/dl.c: Likewise.
6612 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
6613 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
6614 (memcmp): Likewise.
6615 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
6616 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
6617 * grub-core/loader/mips/linux.c: Likewise.
6618 * grub-core/loader/multiboot_elfxx.c: Likewise.
6619 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
6620 * grub-core/video/sm712.c: Add exception to -Wcast-align.
6621 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
6622 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
6623 fixme.
6624 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
6625 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
6626 Fix prototype.
6627
37bb97fe
VS
66282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
6631 address.
6632
29a3550b
VS
66332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
6636 Avoid improper use of strings.
6637 (grub_cmd_legacy_initrdnounzip): Likewise.
6638
dfdffd0d
VS
66392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 * include/grub/emu/misc.h (grub_util_warn): Add missing format
6642 attribute.
6643 (grub_util_info): Likewise.
6644 (grub_util_error): Likewise.
6645
102fae4a
VS
66462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
6649 * util/grub-fstest.c (fstest): Likewise.
6650
7e94d044
VS
66512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
6654 (grub_md_sha512_real): Likewise.
6655 (grub_util_get_geli_uuid): Likewise.
6656 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
6657 (grub_util_biosdisk_open): Fix format specification.
6658 Respect format security.
6659 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
6660 (xrealloc): Likewise.
6661 (xasprintf): Likewise.
6662
5ebd9769
VS
66632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * util/import_gcry.py: Include grub/crypto.h in init.c.
6666
495fc8c1
VS
66672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
6670 (generate_image): Make prefix a const char *.
6671 Fix format specifications. Respect format security.
6672 Avoid void * arithmetics.
6673 Avoid shadowing.
6674 (argp_parser): Remove unused variable. Respect format security.
6675 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
6676 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
6677 (count_funcs): Remove unused variable.
6678 (relocate_addresses): Fix format specification.
6679 Disable x86-64 with elf32. Remove unused variables.
6680 (add_fixup_entry): Avoid shadowing.
6681 (make_reloc_section): Fix format specification.
6682 Use assert.
6683 (locate_sections): Fix format specifications.
6684 (load_image): Avoid shadowing.
6685
043c2ea3
VS
66862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
6689 Fix format specifications. Respect format security.
6690 Don't translate already translated grub_errmsg.
6691 (argp_parser): Remove unused variable
6692
3ec65a81
VS
66932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6694
6695 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
6696
a4d9fe4a
VS
66972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
6700 (main): Likewise. Use xmalloc. Respect format security.
6701
15b81d49
VS
67022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
6705 a const char *.
6706 (argp_parser): Remove unused variable.
6707
31731fc0
VS
67082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
6711 (add_pixel): Make static.
6712 (add_font): Likewise.
6713 (write_string_section): Make name and str a const char *.
6714 (write_be16_section): Make name a const char *.
6715 (print_glyphs): Make static.
6716 (write_font_ascii_bitmap): Likewise.
6717 (write_font_width_spec): Likewise.
6718 (write_font_pf2): Likewise.
6719 (argp_parser): Remove unused variable.
6720 Respect format security.
6721 (main): Avoid shadowing. Respect format security.
6722
0809527b
VS
67232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * util/grub-editenv.c (argp_parser): Make static.
6726 (create_envblk_file): Use xmalloc.
6727 (open_envblk_file): Likewise.
6728 Resepect format security.
6729 (set_variables): Respect format security.
6730
45b0c8b7
VS
67312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * util/getroot.c (grub_find_device): Respect format security.
6734 (get_mdadm_uuid): Remove unused variable.
6735 (grub_util_pull_device): Dont call gettext on already translated
6736 grub_errmsg.
6737 (find_system_device): Remove unused variable.
6738 (grub_util_get_grub_dev): Likewise.
6739 (grub_make_system_path_relative_to_its_root): Respect format security.
6740
1b024b4e
VS
67412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * util/grub-fstest.c (execute_command): Make first argument
6744 a const char *.
6745 (read_file): Avoid shadowing.
6746 Reuse underlying error message if device open fails.
6747 (cmd_cmp): Respect format security.
6748 (root): Make const char *.
6749 (fstest): Remove args argument and use global copy.
6750 Respect format security.
6751 (argp_parser): Make static.
6752 (main): Make default_root const char *.
6753
5d1d4e28
VS
67542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * util/grub-mount.c (root): Make const char *.
6757 (execute_command): Make first argument a const char *.
6758 (fuse_init): Respect format security.
6759 (argp_parser): Make static. Remove unused variable.
6760 (main): Make default_root a const char *.
6761 Respect format security.
6762
36eb7379
VS
67632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * util/grub-probe.c (probe): Don't call gettext on already translated
6766 grub_errmsg.
6767 Remove unused variables.
6768 (argp_parser): Remove unused variable.
6769
76fb2ea9
VS
67702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6771
6772 * util/grub-script-check.c (argp_parser): Remove unused variable.
6773 (main): Rename read to curread to avoid shadowing.
6774
56c98584
VS
67752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * util/misc.c (grub_util_write_image_at): Fix format specification.
6778 (grub_util_write_image): Likewise.
6779 (grub_script_execute_argument_to_string): Removed (unused).
6780 (grub_script_execute_menuentry): Likewise.
6781 (grub_putchar): Likewise.
6782
164ebb48
VS
67832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
6786 (FUNCTION) [GRUB_UTIL]: Likewise.
6787 (VARIABLE) [GRUB_UTIL]: Likewise.
6788
44318d61
VS
67892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
6792 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
6793
31a26002
VS
67942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
6797 buffer.
6798
67992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
6802 (LzmaEnc_SaveState): Removed (unused).
6803 (LzmaEnc_RestoreState): Likewise.
6804 (LzmaEnc_InitPriceTables): Made static.
6805 (LzmaEnc_Construct): Likewise.
6806 (LzmaEnc_FreeLits): Likewise.
6807 (LzmaEnc_Destruct): Likewise.
6808 (LzmaEnc_Init): Likewise.
6809 (LzmaEnc_InitPrices): Likewise.
6810 (LzmaEnc_Finish): Likewise.
6811 (LzmaEnc_PrepareForLzma2): Removed (unused).
6812 (LzmaEnc_MemPrepare): Likewise.
6813 (LzmaEnc_GetNumAvailableBytes): Likewise.
6814 (LzmaEnc_GetCurBuf): Likewise.
6815 (LzmaEnc_CodeOneMemBlock): Likewise.
6816
6fa67967
VS
68172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
6820 (grub_util_ldm_embed): Likewise.
6821
9a7428e6
VS
68222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * util/grub-editenv.c (print_var): Rename name to varname to
6825 avoid shadowing.
6826 (main): Rename index to curindex to avoid shadowing.
31a26002 6827 Make filename a const char *.
9a7428e6 6828
4f96abd1
VS
68292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6830
6831 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6832 to arg_getline to avoid shadowing.
6833
44d10dad
VS
68342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
6837 disk_ to avoid shadowing.
6838
340ba63e
VS
68392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
6842 curindex to avoid shadowing.
6843 Make static.
6844 (MatchFinder_GetNumAvailableBytes): Make static.
6845
22965bce
VS
68462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
6849 avoid shadowing.
6850
7b5784d4
VS
68512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
6854 argument from encrypt to do_encrypt to avoid shadowing.
6855
6f48ca01
VS
68562012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
6859 incorrect nesting of #if's.
6860
a4ea2dff
VS
68612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
6864 checks which are always false on some platforms.
6865 (grub_cmd_lsacpi): Likewise.
6866 * grub-core/kern/misc.c (grub_strtoul): Likewise.
6867 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
6868 Likewise.
6869
def9fc1b
VS
68702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
6873 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
6874
a67b2a04
VS
68752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
6878 re_dfa_t to avoid breaking alignment invariants.
6879 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
6880 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
6881
44c6828d
VS
68822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6883
6884 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
6885 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
6886
bebe0dd0
VS
68872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6888
6889 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
6890 Fix declaration.
6891
a9cdb3cf
VS
68922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
6895 conserve alignment invariants.
6896 (grub_ehci_ehcc_read16): Likewise.
6897 (grub_ehci_oper_read32): Likewise.
6898 (grub_ehci_oper_write32): Likewise.
6899 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
6900 Conserve alignment invariants.
6901
ccc3b1b8
VS
69022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
6905 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
6906 declarations.
6907
987fbd95
VS
69082012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
6911 Remove unused variable.
6912
0df363f3
VS
69132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6914
6915 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
6916 Remove set in if.
6917
b2c0c4a6
VS
69182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6919
6920 * include/grub/net.h: Remove double declarations.
6921
690c531f
VS
69222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 Remove "payload" command in ia64 Linux loader since I couldn't
6925 find any evidence of it being used for anything.
6926 Replace "relocate" command with an environment variable
6927
6928 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
6929 fields.
6930 (ia64_boot_payload): Removed.
6931 (last_payload): Likewise.
6932 (RELOCATE_OFF): Likewise.
6933 (RELOCATE_ON): Likewise.
6934 (RELOCATE_FORCE): Likewise.
6935 (relocate): Likewise.
6936 (free_pages): Don't free payloads.
6937 (grub_load_elf64): Use common error messages.
6938 Use "linux_relocate" variable.
6939 Increase the space after boot_params.
6940 (grub_cmd_payload): Removed.
6941 (grub_cmd_relocate): Likewise.
6942 (grub_cmd_fpswa): Improve messages.
6943 (cmd_payload): Removed.
6944 (cmd_relocate): Likewise.
6945 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
6946 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
6947
01783768
VS
69482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 Convert UHCI to DMA framework.
6951
6952 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
6953 (grub_uhci_pci_iter): Fill new members
6954 (grub_alloc_td): Use P2V and V2P functions.
6955 (grub_free_queue): Likewise.
6956 (grub_alloc_qh): Likewise.
6957 (grub_uhci_setup_transfer): Likewise.
6958 (grub_uhci_check_transfer): Likewise.
6959
43206939
VS
69602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
6963 Remove assignment in if while on it.
6964
571e140e
VS
69652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * util/grub-mkstandalone.in: Fix modules directory.
6968
a9d96eeb
VS
69692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
6972 on i386-pc target.
6973 (argp_parser): Accept "auto" as compression specification.
6974
e4e37e8d
VS
69752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 Fix `help' with unloaded modules.
6978
6979 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
6980 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
6981 (grub_dyncmd_dispatcher): Small stylistic fix.
6982 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
6983 explicit help is requested.
6984
e1ea3ade
VS
69852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
6988 Explicitly init restart while on it.
6989
27556881
VS
69902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
6993 uninited variable.
6994
d65f6b36
VS
69952012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 * util/grub-mknetdir.in: Use . rather than source for POSIX
6998 compatibility.
6999
0a1e473c
VS
70002012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
7003
ce6647c8
VS
70042012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
7007 variable.
7008
66747894
VS
70092012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
7012 without quotes.
7013
71645f6e
VS
70142012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
7017
0e1c1f61
VS
70182012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
7021 iteration of partitions.
7022
9c4b5c13
VS
70232012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 Improve gettext support. Stylistic fixes and error handling fixes while
7026 on it.
7027
215c90cb
VS
70282012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7029
7030 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
7031 part. Instead setup the correct stack in RM.
7032 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
7033 for stack.
7034 * include/grub/i386/relocator_private.h: New file.
7035
b5c1f9bf
VS
70362012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
7039 argument.
7040 * util/grub-fstest.c (options): Add missing DEVICE part.
7041
b525fd83
VS
70422012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7043
7044 Clarify and unify messages.
7045
7046 * grub-core/commands/hashsum.c (options): Unify messages.
7047 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
7048 literal-only message as translatable.
7049 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
7050 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
7051 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
7052 commands.
7053 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
7054 key, not the key used to unlock. Clarify what it's used for.
7055 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
7056 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
7057 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
7058 * util/grub-editenv.c (options): Unify "verbose" message.
7059 * util/grub-fstest.c (read_file): Unify error message.
7060 (fstest): Add quotes around commands.
7061 (options): Unify "verbose" message.
7062 * util/grub-install.in: Add quotes around variable name.
7063 * util/grub-kbdcomp.in: Unify error message.
7064 * util/grub-mkfont.c (main): Likewise.
7065 * util/grub-mkrescue.in: Likewise.
7066 * util/grub-mklayout.c (options): Unify "verbose" message.
7067 * util/grub-mkstandalone.in: Unify help and verbose messages.
7068 * util/grub-mount.c (options): Unify "verbose" message.
7069 * util/grub-probe.c (options): Likewise.
7070 * util/grub-script-check.c (options): Likewise.
7071 * util/grub-setup.c (setup): Unify no-terminator message.
7072 (options): Use DEVICE and not DEV.
7073 Unify "verbose" message.
7074 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
7075
0ae70393
VS
70762012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7077
7078 Improve and unify messages.
7079
7080 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
7081 name. All users updated.
7082 Print filename in error.
7083 (read_device_map): Print filename in error.
7084 * util/getroot.c (grub_guess_root_devices): Print filename in error.
7085 (grub_util_get_os_disk): Likewise.
7086 (grub_util_biosdisk_get_grub_dev): Likewise.
7087 (grub_util_check_block_device): Likewise.
7088 (grub_util_check_char_device): Likewise.
7089 (grub_make_system_path_relative_to_its_root): Likewise.
7090 * util/grub-editenv.c (create_envblk_file): Likewise.
7091 (open_envblk_file): Likewise.
7092 (write_envblk): Likewise.
7093 * util/grub-fstest.c (cmd_cp): Likewise.
7094 (cmd_cat): Likewise.
7095 (cmd_cmp): Likewise.
7096 * util/grub-menulst2cfg.c (main): Likewise.
7097 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
7098 (write_font_width_spec): Likewise.
7099 (write_font_pf2): Likewise.
7100 * util/grub-mkimage.c (generate_image): New argument outname.
7101 All users updated.
7102 Remove unreacheable message.
7103 (options): Unify messages.
7104 (help_filter): Likewise.
7105 * util/grub-mklayout.c (usage): Removed (unused).
7106 (main): Print filename in error.
7107 * util/grub-mkrescue.in: Fix wrong quoting.
7108 * util/grub-setup.c (setup): Print filename in error.
7109 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
7110 (check_sas): Likewise.
7111 * util/misc.c (grub_util_get_fp_size): Removed.
7112 (grub_util_get_image_size): Print filename in error.
7113 (grub_util_read_at): Removed.
7114 (grub_util_read_image): Print filename in error.
7115 (grub_util_load_image): Likewise.
7116 (grub_util_write_image_at): New argument filename. All users updated.
7117 Print filename in error.
7118 (grub_util_write_image): New argument filename. All users updated.
7119 Print filename in error.
7120 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
7121 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
7122
0a96117d
VS
71232012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/Makefile.core.def (pxechain): New module.
7126 * grub-core/loader/i386/pc/pxechainloader.c: New file.
7127 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
7128 function.
7129 (grub_pc_net_config_real): Use grub_pxe_get_cached.
7130 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
7131
aca002f7
VS
71322012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
7135 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
7136 * include/grub/err.h (grub_error_saved): New struct.
7137 (grub_errmsg): Make array size explicit.
7138 * include/grub/misc.h (grub_error_save): New function.
7139 (grub_error_load): Likewise.
7140 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
7141 (grub_error_push): Update `errno' member name.
7142 (grub_error_pop): Likewise
7143 * grub-core/net/tftp.c (tftp_data): New member save_err.
7144 (tftp_receive): Save error.
7145 (tftp_open): Restore error.
7146
a51dab13
VS
71472012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
7150 to real mode down to execute A20-related code in protected mode as
7151 intended.
7152
eb6e6649
GS
71532012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7154
7155 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
7156 NULL when the argument `level' has an unexpected value.
7157
92cd0f6e
VS
71582012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7159
7160 Move platform-dependent files from $prefix to $prefix/$platform.
7161
7162 * config.h.in (GRUB_TARGET_CPU): New definition.
7163 (GRUB_PLATFORM): Likewise.
7164 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
7165 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
7166 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7167 * grub-core/kern/dl.c (grub_dl_load): Likewise.
7168 * grub-core/normal/autofs.c (read_fs_list): Likewise.
7169 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
7170 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
7171 * grub-core/normal/term.c (read_terminal_list): Likewise.
7172 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
7173 $prefix/locale.
7174 (grub_gettext_init_ext): Likewise.
7175 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
7176 grub_platform.
7177 * util/grub-install.in: Update directories.
7178 * util/grub-mknetdir.in: Likewise.
7179 * util/grub-mkrescue.in: Likewise.
7180
db606889
VS
71812012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
7184 grub_error framework. All users updated.
7185
c39992a4
VS
71862012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
7189 lists (by always binsearching), improve caching (cache strings
7190 used for binsearch, not only results), improve
7191 maintainability (by using more structured binary search) and correct
7192 error handling.
7193
1e5ec32f
VS
71942012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * grub-core/script/execute.c (grub_script_return): Fix warning.
7197
ac576cde
VS
71982012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * grub-core/script/execute.c (grub_script_return): Fix potential
7201 NULL-dereference.
7202 Reported by: Jim Meyering.
7203
498453f6
VS
72042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 * po/POTFILES.in: Regenerate.
7207 * util/grub-install.in: Gettextize the strings missed in first pass.
7208
8be63f2e
VS
72092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * Makefile.util.def (grub-mkdevicemap): Removed.
7212 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
7213 * include/grub/util/deviceiter.h: Removed.
7214 * util/deviceiter.c: Likewise.
7215 * util/getroot.c (grub_util_get_os_disk): New function.
7216 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
7217 replacement for EFI.
7218 * util/grub-mkdevicemap.c: Removed.
7219 * util/grub-probe.c (probe): Handle PRINT_DISK.
7220 (argp_parser): Handle -t disk.
7221
8e1e4e39
VS
72222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 * util/grub-mkfont.c: Migrate to argp.
7225 * util/grub-mklayout.c: Likewise.
7226 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7227 * util/grub-mkrelpath.c: Likewise.
7228 * util/grub-probe.c: Likewise.
7229 * util/grub-script-check.c: Likewise.
7230
4459819a
VS
72312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7232
7233 * util/grub-reboot.in: Add missing datarootdir.
7234 Add missing newline.
7235 * util/grub-set-default.in: Add missing datarootdir.
7236 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
7237 * util/grub-mkrescue.in: Likewise.
7238
f65741c7
VS
72392012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
7242
c1a33466
VS
72432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * util/grub-kbdcomp.in: Add decent help and gettextize.
7246 * docs/man/grub-kbdcomp.h2m: New file.
7247
c76899a0
VS
72482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7249
7250 Migrate grub-mkimage.c to argp.
7251
7252 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
7253 (grub-setup): Likewise.
7254 * util/grub-setup.c (print_version): Move to ...
7255 * util/argp_common.c (print_version): ... here.
7256 * util/grub-setup.c (argp_program_version_hook): Move to ...
7257 * util/argp_common.c (argp_program_version_hook): ... here.
7258 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
7259 safety.
7260 * util/grub-mkimage.c (main): Migrate to argp.
7261
57db0757
VS
72622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * util/grub-mkrescue.in: Use same message as
7265 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
7266 for better translations.
7267
18534ad9
VS
72682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
7271 options with generic grub-mkrescue.in with the goal of future
7272 merge.
7273
c84ba308
VS
72742012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * grub-core/kern/mm.c: Add missing include of i18n.h
7277 * grub-core/lib/relocator.c: Likewise.
7278
347998c2
VS
72792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
7282 error.
7283 (allocate_pages): Check return value.
7284 Replace fatal with error.
7285 (grub_linux_boot): Replace printf with dprintf.
7286 Check find_mmap_size return value.
7287 Replace fatal with error.
7288 Don't call grub_machine_fini.
7289 (grub_load_elf64): Replace printf with dprintf.
7290 (grub_cmd_linux): Likewise.
7291 (grub_cmd_initrd): Likewise.
7292 (grub_cmd_payload): Likewise.
7293
c779226e
VS
72942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
7297 message.
7298 * grub-core/video/radeon_fuloong2e.c
7299 (grub_video_radeon_fuloong2e_setup): Likewise.
7300 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
7301 * grub-core/video/video.c (grub_video_set_mode): Don't override
7302 standard out of memory message.
7303
dc87d45a
GS
73042012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7305
7306 NetBSD disk wedge support.
7307
7308 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
7309 [__NetBSD__]: Handle NetBSD disk wedges.
7310 * util/getroot.c (convert_system_partition_to_system_disk)
7311 [__NetBSD__]: Likewise.
7312
055f856f
MW
73132012-02-03 Mark Wooding <mdw@distorted.org.uk>
7314
7315 * util/grub-mkconfig.in: Use umask rather than chmod to create
7316 grub.cfg.new to avoid insecure grub.cfg.
7317
4a9f8346
VS
73182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 * grub-core/commands/ls.c: Gettextize.
7321 * grub-core/commands/setpci.c: Likewise.
7322 * grub-core/commands/videotest.c: Likewise.
7323 * grub-core/disk/geli.c: Likewise.
7324 * grub-core/kern/mm.c: Likewise.
7325 * grub-core/lib/relocator.c: Likewise.
7326 * grub-core/loader/efi/appleloader.c: Likewise.
7327 * grub-core/loader/i386/xnu.c: Likewise.
7328 * grub-core/loader/ia64/efi/linux.c: Likewise.
7329 * grub-core/loader/xnu.c: Likewise.
7330 * grub-core/net/dns.c: Likewise.
7331 * grub-core/net/net.c: Likewise.
7332 * grub-core/script/lexer.c: Likewise.
7333 * grub-core/script/parser.y: Likewise.
7334 * grub-core/script/yylex.l: Likewise.
7335 * util/getroot.c: Likewise.
7336 * util/grub-setup.c: Likewise.
7337
a646a366
VS
73382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
7341 number.
7342
54e2be26
VS
73432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
7346
f7c71e68
VS
73472012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
7350 macro.
7351 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
7352 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
7353
a32d5c71
VS
73542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
7357 * util/grub-install.in: Gettextize.
7358 * util/grub-mkconfig.in: Likewise.
7359 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
7360 if not available.
7361 (grub_warn): Gettextize.
7362 * util/grub-mknetdir.in: Gettextize.
7363 * util/grub-mkrescue.in: Likewise.
7364 * util/grub-mkstandalone.in: Likewise.
7365 * util/grub-reboot.in: Likewise.
7366 * util/grub-set-default.in: Likewise.
7367 * util/grub.d/00_header.in: Likewise.
7368 * util/grub.d/10_hurd.in: Likewise.
7369 * util/grub.d/10_kfreebsd.in: Likewise.
7370 * util/grub.d/10_linux.in: Likewise.
7371 * util/grub.d/10_netbsd.in: Likewise.
7372 * util/grub.d/10_windows.in: Likewise.
7373 * util/grub.d/20_linux_xen.in: Likewise.
7374 * util/grub.d/30_os-prober.in: Likewise.
7375 * po/POTFILES-shell.in: Regenerate.
7376
69edd81a
RL
73772012-02-03 Richard Laager <rlaager@wiktel.com>
7378
7379 * util/grub-mkimage.c (main): Fix format-security warning.
7380 * util/grub-mkrelpath.c (main): Likewise.
7381 * util/grub-probe.c (main): Likewise.
7382
65f08dbf
RL
73832012-02-03 Richard Laager <rlaager@wiktel.com>
7384
7385 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
7386 failure.
7387 Put back lost PRINT_DRIVE.
7388
e9084abe
RL
73892012-02-03 Richard Laager <rlaager@wiktel.com>
7390
7391 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
7392 (grub_guess_root_devices): Replace strlen with sizeof.
7393 Avoid crash.
7394 (find_root_devices_from_poolname): Remove unused variable.
7395 Handle raidzN.
7396
cf5f7ee7
VS
73972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 Support install on multi-device filesystems.
7400
7401 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
7402 (grub_guess_root_devices): ...this. Return char **. All users updated.
7403 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
7404 Removed.
7405 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
7406 (find_root_devices_from_poolname): ... here.
7407 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
7408 Support zfs-fuse.
7409 (grub_guess_root_device): Rename to ...
7410 (grub_guess_root_devices): ... this. Return char **. All users updated.
7411 * util/grub-install.in: Handle multi-device filesystems.
7412 * util/grub-probe.c (probe). Make device_names a char **. Add delim
7413 argument. All users updated.
7414 Handle multi-device filesystems.
7415 Use 'delim' as separator.
7416 Remove device check to allow filesystems on file.
7417 (main): Support -0 argument. Handle multi-device.
7418 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
7419 Fix a cross-device check while on it.
7420 (arguments): Remove root_dev.
7421 (argp_parser): Remove -r.
7422 (main): Remove root_dev.
7423
2f53a9ed
VS
74242012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7425
7426 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
7427
17e1d934
VS
74282012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
7431 symbol.
7432 Reported by: NODA, Kai <nodakai>.
7433
d3e3fab5
VS
74342012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 Fix ehci on amd64.
7437
7438 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
7439 pointers.
7440 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
7441 (grub_ehci_setup_qh): Likewise.
7442 (grub_ehci_find_qh): Likewise.
7443 (grub_ehci_transaction): Likewise.
7444 (grub_ehci_setup_transfer): Likewise.
7445 (grub_ehci_check_transfer): Likewise.
7446 (grub_ehci_portstatus): Likewise.
7447 (grub_ehci_detect_dev): Likewise.
7448 (grub_ehci_transfer_controller_data): New field td_last_phys.
7449 (grub_ehci_setup_transfer): Fill td_last_phys.
7450 (grub_ehci_check_transfer): Use td_last_phys.
7451
3008675b
SG
74522012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
7453
7454 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
7455 if no submenu is present.
7456
fc9b5652
AN
74572012-02-01 Aleš Nesrsta <starous@volny.cz>
7458
7459 CBI support.
7460
7461 * include/grub/usb.h (grub_usbms_protocol_t): New values
7462 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
7463 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
7464 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
7465 (grub_usbms_dev): Add subclass, protocol and intrpt.
7466 Remove in_maxsz and out_maxsz.
7467 (grub_usbms_reset): Rename to ...
7468 (grub_usbms_bo_reset): .. this.
7469 (grub_usbms_cbi_cmd): New function.
7470 (grub_usbms_cbi_reset): Likewise.
7471 (grub_usbms_reset): Likewise.
7472 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
7473 (grub_usbms_transfer): Rename to ...
7474 (grub_usbms_transfer_bo): ... this.
7475 (grub_usbms_transfer_cbi): Likewise.
7476 (grub_usbms_transfer): Likewise.
7477
a2b81d53
AN
74782012-02-01 Aleš Nesrsta <starous@volny.cz>
74792012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
7482 the support for the CS5536 modification thereos and few bugfixes.
7483
7484 * grub-core/Makefile.core.def (ehci): New module.
7485 * grub-core/bus/usb/ehci.c: New file.
7486 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
7487 port and hubaddr. All users updated.
7488 Save port and hubaddr into dev structure.
7489 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
7490 define.
7491 * include/grub/pci.h (grub_dma_phys2virt): New function.
7492 (grub_dma_virt2phys): Likewise.
7493 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
7494
b1d51f02
VS
74952012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7496
7497 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
7498 check as some mkfs implementations omit it.
7499
fc694106
VS
75002012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * docs/grub.texi (Unicode): Mention identifier and space limitations.
7503
6c0920e3
VS
75042012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
7507 Add new member volname2.
7508 (grub_jfs_label): Use volname2 if available.
7509
d1a46f9a
VS
75102012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
7513 over last_mounted as seen in image generated by mkfs.nilfs2.
7514 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
7515
dec8ed14
VS
75162012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
7519 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
7520 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
7521
7397c69b
VS
75222012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
7525 over the sector.
7526
b3fe42ad
VS
75272012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
7530 subvolume name (by removing a bogus and useless check).
7531
10476bb0
VS
75322012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7533
7534 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
7535 sizeof while on it.
7536
9c08ad87
VS
75372012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
7540 (grub_scsi_read_capacity10): ... this.
7541 (grub_scsi_read_capacity16): New function.
7542 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
7543 0xffffffff.
7544 Fix off-by-one error.
7545 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
7546 64-bit unsigned.
7547 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
7548 (grub_scsi_read_capacity10): ... this.
7549 (grub_scsi_read_capacity_data): Rename to ...
7550 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
7551 (grub_scsi_read_capacity16): New struct.
7552 (grub_scsi_read_capacity16_data): Likewise.
7553 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
7554 grub_scsi_cmd_read_capacity10.
7555 New command grub_scsi_cmd_read_capacity16.
7556
bc8d0f45
VS
75572012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 SCSI >2TiB support.
7560
7561 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
7562 (grub_scsi_write16): Likewise.
7563 (grub_scsi_read): Use read16 when necessary.
7564 (grub_scsi_write): Likewise.
7565 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
7566 (grub_scsi_write16): Likewise.
7567 (grub_scsi_cmd_t): Add READ16 and WRITE16.
7568
cc774926
VS
75692012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 SCSI write support (for usbms mainly).
7572
7573 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
7574 a const pointer.
7575 (grub_scsi_write): Implement.
7576 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
7577
67639fd7
VS
75782012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7579
7580 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
7581 variable.
7582
9079d3ed
VS
75832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 * grub-core/lib/posix_wrap/string.h (memchr): New function.
7586
c6a6f204
VS
75872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * po/POTFILES.in: Regenerate.
7590
ecbf8cd1
VS
75912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
7594 with grub_printf to avoid unnecessary fatal failure.
7595
0b3b3b38
VS
75962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
7599 (INT_MAX): Likewise.
7600 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
7601 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
7602 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
7603 (strcpy): Likewise.
7604 (strstr): Likewise.
7605 (strchr): Likewise.
7606 (strncpy): Likewise.
7607 (strcat): Likewise.
7608 (strncat): Likewise.
7609 (strcoll): Likewise.
7610 * include/grub/types.h (GRUB_SHRT_MAX): New define.
7611 (GRUB_INT_MAX): Likewise.
7612
db7337a3
VS
76132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
7616 unexpected error.
7617 (optimize_utf8): Likewise.
7618 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
7619
f37c87e1
VS
76202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 * grub-core/boot/i386/pc/lnxboot.S: Use
7623 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
7624 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
7625 location.
7626 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
7627 definition.
7628 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
7629
63fe43f3
VS
76302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
7633 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
7634 now to avoid double free.
7635 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
7636 hostdisk.
7637 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
7638 * util/grub-probe.c (escape_of_path): Always return a new copy.
7639 (print_full_name): Escape path.
7640 (probe): Don't call grub_util_devname_to_ofpath on NULL.
7641 Fix hints on abstractions.
7642
ebe2c961
VS
76432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
7646 Don't add "root" line if no compatibility hont is available.
7647 Suggested by: Seth Goldberg.
7648
2b5336a2
VS
76492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
7652 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
7653 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
7654 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
7655
74310bd8
VS
76562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
7659
c30582ba
VS
76602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * util/grub-pe2elf.c (ehdr): Make static.
7663 (shdr): Likewise.
7664 (num_sections): Likewise.
7665 (offset): Likewise.
7666
5f47782c
VS
76672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 Eliminate ofpath limits and possible overflows.
7670
7671 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
7672 (OF_PATH_MAX): Removed.
7673 (MAX_DISK_CAT): New const.
7674 (find_obppath): Use allocated rather than preallocated buffer.
7675 Return result. Argument of_path removed. All users updated.
7676 Add missing fdstat.
7677 (xrealpath): New function.
7678 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
7679 Allocate rather than use preallocated buffer. All users updated.
7680 (__of_path_common): Use allocated rather than preallocatecd buffer.
7681 Return result. Argument of_path removed. All users updated.
7682 (vendor_is_ATA): Read only needed part form the file.
7683 (check_sas): Allocate depending on contents rather than fixed.
7684 (main) [STANDALONE]: Handle NULL result.
7685
f990cbf9
VS
76862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * grub-core/normal/completion.c (iterate_dev): Close the disk.
7689
9c6e84b8
VS
76902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 Cryptodisk write support.
7693
7694 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
7695 (grub_cryptodisk_decrypt): Moved logic to ...
7696 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
7697 (grub_cryptodisk_write): Implement.
7698 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
7699 (grub_util_fd_write): ... this. Make global.
7700 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
7701
87cf9744
VS
77022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7703
7704 * include/grub/list.h (grub_list_remove): Don't crash if element is
7705 removed twice.
7706
ca8c0baf
VS
77072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 Rename ofconsole to console.
7710
7711 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
7712 as sysnonym to console.
7713 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
7714 * grub-core/term/ieee1275/console.c: ... this. All users updated.
7715 Rename grub_ofconsole_ to grub_console_. All users updated
7716 (grub_console_term_output): Rename "ofconsole" to "console".
7717 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
7718 as "console".
7719
64c8b8f6
VS
77202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7721
7722 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
7723 handling.
7724 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
7725 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
7726 GRUB_DISK_DEVICE_FILE_ID.
7727
f6c434d5
VS
77282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
7731 and improve performance.
7732
5858b42d
VS
77332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
7736 missing ieee1275/ prefix on whole disk.
7737
4ed3c26b
VS
77382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
7741 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
7742
df71143e
VS
77432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
7746
076e7c0f
VS
77472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 Merge common RAID and LVM logic to an abstract diskfilter.
7750 Add LDM support using the same framework.
7751
7752 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
7753 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
7754 (libgrubmods): Remove grub-core/disk/raid.c and
7755 grub-core/partmap/gpt.c.
7756 * grub-core/Makefile.core.def (ldm): New module.
7757 (raid): Renamed to diskfilter. All users updated.
7758 * grub-core/disk/raid.c: Moved to ...
7759 * grub-core/disk/diskfilter.c: ... here.
7760 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
7761 (lv_num): New var.
7762 (find_array): Renamed to ...
7763 (find_lv): ... this. Support multi-LV. Skip nameless LVs
7764 (grub_is_array_readable): Renamed to ...
7765 (grub_is_lv_readable): ... this. Support multinode hierarchy.
7766 (insert_array): New argument id.
7767 (is_node_readable): New function.
7768 (scan_device): Rename to ...
7769 (scan_disk): .. this. Restrict to one disk.
7770 (scan_devices): New function.
7771 (grub_diskfilter_iterate): Support multi-LV.
7772 Skip invisible and nameless LVs.
7773 (grub_diskfilter_memberlist): Support multi-LV.
7774 (grub_diskfilter_read_node): New function.
7775 (grub_raid_read): Most of logic moved to ...
7776 (read_segment): ... here
7777 (read_lv): New function.
7778 (grub_diskfilter_get_vg_by_uuid): New function.
7779 (grub_diskfilter_make_raid): Likewise.
7780 * grub-core/disk/ldm.c: New file.
7781 * grub-core/disk/lvm.c (vg_list): Removed.
7782 (lv_count): Likewise.
7783 (scan_depth): Likewise.
7784 (is_lv_readable): Likewise.
7785 (grub_lvm_getvalue): Advance pointer past the number.
7786 (find_lv): Removed.
7787 (do_lvm_scan): Refactored into ...
7788 (grub_lvm_detect): ... this. Support raid.
7789 (grub_lvm_iterate): Removed.
7790 (grub_lvm_memberlist): Likewise.
7791 (grub_lvm_open): Likewise.
7792 (grub_lvm_close): Likewise.
7793 (read_lv): Likewise.
7794 (read_node): Likewise.
7795 (is_node_readable): Likewise.
7796 (is_lv_readable): Likewise.
7797 (grub_lvm_read): Likewise.
7798 (grub_lvm_write): Likewise.
7799 (grub_lvm_dev): Use diskfilter
7800 (GRUB_MOD_INIT): Likewise.
7801 (GRUB_MOD_FINI): Likewise.
7802 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
7803 new interface.
7804 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
7805 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7806 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
7807 grub_diskfilter_read_node.
7808 Fix a bug with xor.
7809 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
7810 grub_diskfilter_read_node.
7811 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
7812 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
7813 (grub_disk_dev_iterate): Move from here...
7814 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
7815 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7816 Make global.
7817 (grub_hostdisk_find_partition_start): Likewise.
7818 (grub_hostdisk_os_dev_to_grub_drive): New function.
7819 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
7820 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
7821 * util/getroot.c (make_device_name): ... here.
7822 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7823 Move to ...
7824 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
7825 * grub-core/kern/emu/hostdisk.c
7826 (convert_system_partition_to_system_disk): Move to ...
7827 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
7828 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
7829 * util/getroot.c (device_is_wholedisk): ... here.
7830 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
7831 * util/getroot.c (find_system_device): ... here.
7832 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
7833 Move to ...
7834 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
7835 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7836 Move to ...
7837 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
7838 Handle LDM.
7839 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7840 Move to ...
7841 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
7842 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
7843 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
7844 DISKFILTER.
7845 * include/grub/raid.h: Renamed to ...
7846 * include/grub/diskfilter.h: ... this.
7847 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
7848 (GRUB_RAID_LAYOUT_*): Make into array.
7849 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
7850 (grub_diskfilter_vg): New struct.
7851 (grub_diskfilter_pv_id): Likewise.
7852 (grub_raid_member): Removed.
7853 (grub_raid_array): Likewise.
7854 (grub_diskfilter_pv): New struct.
7855 (grub_diskfilter_lv): Likewise.
7856 (grub_diskfilter_segment): Likewise.
7857 (grub_diskfilter_node): Likewise.
7858 (grub_diskfilter_get_vg_by_uuid): New proto.
7859 (grub_raid_register): Inline.
7860 (grub_diskfilter_unregister): Likewise.
7861 (grub_diskfilter_make_raid): New proto.
7862 (grub_diskfilter_vg_register): Likewise.
7863 (grub_diskfilter_read_node): Likewise.
7864 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
7865 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
7866 (grub_util_is_ldm): Likewise.
7867 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
7868 (grub_hostdisk_find_partition_start): Likewise.
7869 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
7870 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
7871 New definition.
7872 (grub_gpt_partition_map_iterate): New proto.
7873 * include/grub/lvm.h (grub_lvm_vg): Removed.
7874 (grub_lvm_pv): Likewise.
7875 (grub_lvm_lv): Likewise.
7876 (grub_lvm_segment): Likewise.
7877 (grub_lvm_node): Likewise.
7878 * util/getroot.c [...]
7879 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
7880 (probe_abstraction): Likewise.
7881 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
7882 (main): Remove dead logic.
7883
8a7f9b9c
VS
78842012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 Simplify root device discover and don't fail when trying to open
7887 incorrect devices.
7888
7889 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
7890 function.
7891 (get_diskname_from_path): Likewise.
7892 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
7893 of iterating.
7894
30545b85
VS
78952012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
7898
28ea58cf
VS
78992012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7900
7901 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
7902 pastthe end.
7903
692dabca
VS
79042012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * util/grub-install.in: Add missing \.
7907 Reported by: gentoofan
7908
f6e4ea70
VS
79092012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
7912 (direct_read): Use correct compressed size.
7913 (grub_squash_read_data): Likewise.
7914
79152012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
7916
7917 * docs/grub.texi (Platform limitations): New section.
7918 (Platform-specific operations): Likewise.
7919 * docs/grub-dev.texi (Porting): Likewise.
7920
76261110
VS
79212012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7922
7923 IEEE1275 disk write support.
7924
7925 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
7926 const void *.
7927 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
7928 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
7929 and seek loginc to ...
7930 (grub_ofdisk_prepare): ... here.
7931 (grub_ofdisk_write): Implement.
7932
fc36d603
VS
79332012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 ARC disk write support.
7936
7937 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
7938 (reopen): New argument writable. All users updated.
7939 Handle required access mode.
7940 (grub_arcdisk_write): Implement.
7941 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
7942 (grub_arc_firmware_vector): Make buffer to write a const buffer.
7943
e06c2e7a
VS
79442012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
7947 (read_sblock): Don't attempt to read superblocks outside the disk size.
7948
ff447958
VS
79492012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7950
7951 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
7952 first superblock to find the second one when possible.
7953
9e88df39
VS
79542012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * util/grub-install.in: Fix an ARC bug.
7957 Print a warning if no platform-specific setup is available.
7958
bb26e4ff
VS
79592012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 Use static allocation rather than scratch pointer in reed_solomon.
7962 It decreases its size significantly and avoids a variable in .text.
7963
7964 * grub-core/lib/reed_solomon.c (scratch): Removed.
7965 (chosenstat): New const or static array.
7966 (sigma): Likewise.
7967 (errpot): Likewise.
7968 (errpos): Likewise.
7969 (sy): Likewise.
7970 (mstat): Likewise.
7971 (errvals): Likewise.
7972 (eqstat): Likewise.
7973 (pol_evaluate): Replace x with log_x argument. All users updated.
7974 (syndroms): Removed.
7975 (gauss_solve): Use statically allocated arrays.
7976 (rs_recover): Likewise.
7977 Calculate syndroms directly.
7978 (decode_block): Use statically allocated arrays.
7979 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
7980 (main) [TEST]: Allow -DTEST -DSTANDALONE.
7981
2e13ede5
VS
79822012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7983
7984 Eliminate fixed limit on reed solomon decoder length.
7985
7986 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
7987 rather than hardcoding the address.
7988 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
7989 no_reed_solomon_length.
7990 Move gate_a20 to no-reed-solomon part.
7991 Don't force a particular size of no reed-solomon part.
7992 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7993 Removed.
7994 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
7995 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
7996
f8a9ab12
VS
79972012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7998
7999 * grub-core/commands/wildcard.c (match_files): Handle filenames
8000 without explicit device.
8001 (wildcard_expand): Don't add explicit device if not already present.
8002 * tests/grub_script_echo1.in: Add a new expansion test.
8003
87edb894
VS
80042012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8005
8006 Replace single-linked with double-linked lists. It results in more
8007 compact and more efficient code.
8008
8009 * grub-core/kern/list.c (grub_list_push): Moved from here ...
8010 * include/grub/list.h (grub_list_push): ... to here. Set prev.
8011 (grub_list_remove): Moved from here ...
8012 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
8013 (grub_prio_list_insert): Set prev.
8014 * include/grub/list.h (grub_list): Add prev. All users updated.
8015
48b391e9
VS
80162012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 Handle newer autotools. Add some missing quotes while on it.
8019
8020 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
8021 (pkglib_DATA): Move grub-mkconfig_lib from here ...
8022 (pkgdata_DATA): ... here.
8023 * Makefile.util.def (update-grub_lib): Removed.
8024 * conf/Makefile.common (pkglib_DATA): Removed.
8025 (pkglib_SCRIPTS): Likewise.
8026 (pkgdata_DATA): New variable.
8027 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
8028 needed.
8029 Add missing quotes.
8030 Remove unused variable while on it.
8031 * tests/util/grub-shell.in: Likewise.
8032 * util/grub-install.in: Likewise.
8033 * util/grub-mkconfig.in: Likewise.
8034 * util/grub-mknetdir.in: Likewise.
8035 * util/grub-mkrescue.in: Likewise.
8036 * util/grub-mkstandalone.in: Likewise.
8037 * util/grub.d/00_header.in: Likewise.
8038 * util/grub.d/10_hurd.in: Likewise.
8039 * util/grub.d/10_illumos.in: Likewise.
8040 * util/grub.d/10_kfreebsd.in: Likewise.
8041 * util/grub.d/10_linux.in: Likewise.
8042 * util/grub.d/10_netbsd.in: Likewise.
8043 * util/grub.d/10_windows.in: Likewise.
8044 * util/grub.d/20_linux_xen.in: Likewise.
8045 * util/grub.d/30_os-prober.in: Likewise.
8046 * util/update-grub_lib.in: Removed.
8047
80482012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
8049
8050 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
8051 a workaround for intel problem.
8052
66832792
PRP
80532012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
80542012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
80552012-01-23 pfsmorigo
8056
8057 * util/grub-install.in: Support dd'in into PreP partition.
8058 * util/grub-probe.c (probe): Support discovering partition type.
8059 (main): Support -t msdos_parttype.
8060
7816a17e
VS
80612012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
8064 infinite recursion using counter.
8065 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
8066 init to skip it if the magic check fails.
8067 (dec_stream_header): Init s->crc32.
8068
8f9d3a8c
ZB
80692012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
80702012-01-22 Zachary Bedell <pendorbound@gmail.com>
80712012-01-22 Richard Laager <rlaager@wiktel.com>
8072
8073 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
8074 All users updated.
8075 (find_bestub): Determine correct size.
8076 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
8077 (scan_disk): Align the size down.
8078 Call check pool before find_bestub to have ashift.
8079
b055dd32
VS
80802012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
8083 dprintf in no-malloc zone.
8084
d779e9bd
ML
80852012-01-22 Mario Limonciello <mario_limonciello@dell.com>
8086
8087 * configure.ac: Add back in test for limits.h.
8088
b508af69
VS
80892012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 Support 4K-sector NTFS.
8092
8093 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
8094 (grub_ntfs_data): Remove blocksize.
8095 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
8096 Remove data argument. All users updated.
8097
dad9c8b5
VS
80982012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
8101 being in .text to avoid dprel references.
8102 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
8103 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
8104 (grub_arch_highmemsize): Likewise.
8105 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
8106 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
8107 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
8108
d43a777e
VS
81092012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8110
8111 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
8112
8113 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
8114 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
8115
34e4208f
VS
81162012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
8119 GRUB_UTIL.
8120 (grub_set_datetime_cmos): Likewise.
8121
3ec0fc1c
VS
81222012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 Make XZ compression parameters dependent on target and not host CPU.
8125
8126 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
8127 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
8128
22489834
VS
81292012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
8132 set but not used variable.
8133
8502fbca
VS
81342012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
8137 created when no uuid support is compiled into mkfs.reiser.
8138
76df2068
VS
81392012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
8142 (utf8_to_macroman): Do the opposite.
8143 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
8144
64e3f8f6
VS
81452012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * configure.ac: Refise build qemu_mips w/o unifont.
8148
9c271078
VS
81492012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8150
8151 Eliminate grub_min/grub_max prone to overflow usage.
8152
8153 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
8154 (poll_nonroot_hub): Likewise.
8155 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
8156 (grub_affs_label): Likewise.
8157 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
8158 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
8159 (grub_hfs_label): Likewise.
8160 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
8161 * grub-core/fs/zfs/zfs.c (MIN): Remove.
8162 (zap_leaf_array_equal): Use grub_size. Remove MIN.
8163 (zap_leaf_array_get): Likewise.
8164 (dnode_get_path): Likewise.
8165 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
8166 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
8167 * grub-core/script/execute.c (grub_script_break): Likewise.
8168 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
8169 grub_max.
8170 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
8171 * include/grub/misc.h (grub_min): Removed.
8172 (grub_max): Likewise.
8173
80662dbc
VS
81742012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8175
8176 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
8177 direct.inode = 0.
8178
e6da1467
VS
81792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
8182
b1ac4cb1
VS
81832012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
8186
b4bf7c3b
VS
81872012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
8190 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
8191
8ee1101a
VS
81922012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
8195 rather than a hack for grub_strncasemap.
8196
81972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 Support multiple initrds
8200 Note: part of this was accidently committed in r3739.
8201
8202 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
8203 initrd.
8204 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
8205 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
8206 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8207 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8208 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8209
4d1e2bc9
VS
82102012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
8213 disks with unknown size.
8214 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
8215
75b49ebe
VS
82162012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 Remove defines pertaining to arbitrary limits not affecting GRUB
8219 anymore.
8220
8221 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
8222 (EXT2_MAX_SYMLINKCNT): Likewise.
8223 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
8224 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
8225 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
8226 (GRUB_PXE_MAX_BLKSIZE): Likewise.
8227 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
8228 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
8229 (DN_MAX_OBJECT_SHIFT): Likewise.
8230 (DN_MAX_OFFSET_SHIFT): Likewise.
8231 (DN_MAX_OBJECT): Likewise.
8232 (DNODES_PER_LEVEL_SHIFT): Likewise.
8233 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
8234 (SPA_MAXBLOCKSIZE): Likewise.
8235 (SPA_BLOCKSIZES): Likewise.
8236 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
8237 (MZAP_MAX_BLKSZ): Likewise.
8238
74a1dce7
VS
82392012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
8242 handle NULL appropriately.
8243 Remove MIN.
8244
30c7d3ce
VS
82452012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 Fix efiemu.
8248
8249 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
8250 cpu/types.h.
8251 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
8252 * configure.ac: Fix efiemu check.
8253
3c76ea0c
VS
82542012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
8257 grub_probe.
8258 Reported by: adamwill
8259
7e532280
SG
82602012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
8261
8262 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
8263
30492374
VS
82642012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8265
8266 Fix handling of wide characters in gfxterm.
8267
8268 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
8269 (clear_char): Likewise.
8270 (paint_char): Skip code == NULL chars.
8271 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
8272
e70cb72f
VS
82732012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 * grub-core/normal/charset.c: Move comment to right place.
8276
5c827cf9
VS
82772012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8278
8279 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
8280 (GRUB_AFFS_FLAG_FFS): Put back where it was.
8281 (grub_affs_mount): Revert the correct version checking.
8282
53603892
VS
82832012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 * docs/grub.texi (Unicode): Mention several other unsupported features.
8286
ff094b9b
VS
82872011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
8290 case statements as compile-time one.
8291 (direct_read): Prevent spurious warnings.
8292 (grub_squash_read_data): Likewise.
8293
c029da8a
VS
82942011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 Various squash4 fixes and LZO and XZ support.
8297
8298 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
8299 Add xzembed source files.
8300 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
8301 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
8302 (grub_squash_inode): New subtype long_dir.
8303 (SQUASH_TYPE_LONG_DIR): New inode type.
8304 (COMPRESSION): New enum.
8305 (XZBUFSIZ): New const.
8306 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
8307 (read_chunk): Use data->decompress.
8308 (zlib_decompress): New function.
8309 (lzo_decompress): Likewise.
8310 (xz_decompress): Likewise.
8311 (squash_mount): Set new data fields.
8312 (grub_squash_iterate_dir): Handle long dir.
8313 (squash_unmount): Free xzdec and xzbuf.
8314 (grub_squash_open): Check ino type.
8315 (direct_read): Stylistic fixes. Use data->decompress.
8316 (grub_squash_read_data): Likewise.
8317 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
8318 (get_byte): Likewise.
8319 (grub_zlib_disk_read): Removed.
8320 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
8321 (GRUB_POSIX_BOOL_DEFINED): New define.
8322 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
8323 * grub-core/lib/xzembed/xz.h: Addmissing includes.
8324 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
8325 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
8326
7a45a539
VS
83272011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8328
8329 Don't override more informative errors.
8330
8331 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
8332 * grub-core/font/font.c (open_section): Likewise.
8333 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
8334 filename. Don't override errors.
8335 (grub_cmd_openbsd_ramdisk): Don't override errors.
8336 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
8337 (grub_cmd_initrd): Likewise.
8338 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8339 (grub_cmd_initrd): Likewise.
8340 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
8341 (grub_cmd_linux): Likewise.
8342 (grub_cmd_initrd): Likewise.
8343 (grub_cmd_payload): Likewise.
8344 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8345 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
8346 (grub_cmd_module): Likewise.
8347 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8348 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8349 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
8350 (grub_cmd_xnu_mkext): Likewise.
8351 (grub_cmd_xnu_ramdisk): Likewise.
8352 (grub_xnu_check_os_bundle_required): Likewise.
8353 (grub_xnu_load_kext_from_dir): Likewise.
8354 (grub_cmd_xnu_kextdir): Likewise.
8355 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
8356
b2d004db
VS
83572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
8360 as 1024 in block size field. Found on one of my test images.
8361 Small optimisation while on it.
8362
ec000eac
VS
83632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8364
8365 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
8366 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
8367 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
8368 performance fixes while on it.
8369 (grub_sfs_close): Fix memory leak while on it.
8370 (grub_sfs_label): Convert Latin1 to UTF-8.
8371
f50e1165
VS
83722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
8375 space to avoid overflows.
8376 (grub_hfs_label): Convert from macroman to UTF-8.
8377
2ae254de
VS
83782011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
8381
0108f491
VS
83822011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
8385
f45f5f89
VS
83862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * unicode: Import Unicode 6.0 data.
8389
4d8c4765
VS
83902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8391
63fa8ef9
VS
8392 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
8393 outside of range.
8394
83952011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
8398
8399 * include/grub/charset.h (grub_getend): New function.
8400 * grub-core/script/function.c (grub_script_function_find): Use
8401 grub_getend.
8402 * grub-core/normal/completion.c (add_completion): Likewise.
8403
f3cb4a4e
VS
84042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
8407 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
8408 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
8409 (GRUB_UNICODE_TAG_END): Likewise.
8410 (GRUB_UNICODE_LAST_VALID): Likewise.
8411
5da8dbc5
VS
84122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8413
8414 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
8415 len and make it smaller. All users updated.
8416 * util/import_unicode.py: Put length and not end character.
8417 Check length.
8418
8569f13d
VS
84192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 Make better Unicode-compliant and unify some UTF-8 code pathes.
8422
8423 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
8424 valid character.
8425 (grub_is_valid_utf8): Use grub_utf8_process.
8426 Check resulting code range.
8427 (grub_utf8_to_ucs4): Use grub_utf8_process.
8428 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
8429 valid character.
8430
cc4fddf5
VS
84312011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8432
8433 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
8434
bbc47747
VS
84352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 * docs/grub.texi (Filesystems): Mention AFS.
8438
f63d6bf4
VS
84392011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * docs/grub.texi (Filesystems): Clarify restrictions.
8442 (Regexp): Mention non-Unicode regexp behaviour.
8443 (Other): Mention non-Unicode matching behaviour.
8444
74bbf0db
VS
84452011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8446
f63d6bf4 8447 Make HFS implementation use MacRoman.
74bbf0db
VS
8448
8449 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
8450 (macroman): New const array.
8451 (macroman_to_utf8): New function.
8452 (utf8_to_macroman): Likewise.
8453 (grub_hfs_find_dir): Use utf8_to_macroman.
8454 (grub_hfs_dir): Use macroman_to_utf8.
8455 Set case_insensitive.
8456
4ea0316e
VS
84572011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
8460
d3c13cbd
VS
84612011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 Integrate hints into autogeneration scripts.
8464
8465 * docs/grub.texi (Filesystems): Add a hostdisk example.
8466 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
8467 (grub-probe): Add ofpath.
8468 * gentpl.py: Remove group nosparc64.
8469 * grub-core/commands/search.c (cache_entry): New struct.
8470 (cache): New var.
8471 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
8472 * grub-core/commands/search_wrap.c (options): Add platform-specific
8473 hint options.
8474 (grub_cmd_search): Handle platform-specific hints.
8475 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
8476 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
8477 (grub_util_biosdisk_data): Likewise.
8478 (grub_util_biosdisk_open): Set device_map.
8479 (read_device_map): Handle "" as indication of no map.
8480 Set device_map.
8481 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
8482 (grub_util_biosdisk_get_compatibility_hint): New function.
8483 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
8484 * include/grub/emu/hostdisk.h
8485 (grub_util_biosdisk_get_compatibility_hint): New proto.
8486 * util/grub-install.in: Don't call grub-mkdevicemap.
8487 Add platform-specific hint to load.cfg.
8488 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
8489 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
8490 hints. Set root preliminary to compatibility hint, not to OS name.
8491 * util/grub-probe.c (PRINT_*): Add hints.
8492 (print): Make static.
8493 (escape_of_path): New function.
8494 (guess_bios_drive): Likewise.
8495 (guess_efi_drive): Likewise.
8496 (guess_baremetal_drive): Likewise.
8497 (print_full_name): Likewise.
8498 (probe): Handle hints.
8499 (main): Likewise.
8500 * util/ieee1275/devicemap.c: Removed.
8501 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
8502 updated.
8503 (grub_util_devname_to_ofpath): Return NULL on failure.
8504
8505 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
8506 resource leak.
8507 * util/getroot.c (grub_util_pull_device): Fix memory leak.
8508
8509 * po/POTFILES.in: Regenerated.
8510
8511 Allow purely long options
8512
8513 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
8514 (SHORT_ARG_USAGE): Likewise.
8515 (grub_arg_show_help): Compare opt with help_options.
8516 (parse_option): Receive opt as argument. If makes big simplificatons.
8517 All users updated
8518
00ce2df3
VS
85192011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
8522 Restructure to avoid warning.
8523
e77e325f
VS
85242011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8525
8526 * util/grub-install.in: Account for possible escaped comma in device
8527 name.
8528
165099ea
VS
85292011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
8532 channel.
8533
ce4a999d
VS
85342011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
8537 allocation and zero-setting.
8538 (grub_ieee1275_get_devname): Check that alias is complete.
8539
379586ad
VS
85402011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8541
8542 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
8543 unaligned segments.
8544
9197b0ad
VS
85452011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
8548 prefix.
8549 (grub_ofdisk_open): Check and discard ieee1275 prefix.
8550 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8551 Add ieee1275 prefix.
8552
edddb7f9
VS
85532011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 * docs/grub.texi (Filesystems): Update.
8556
a1a8b1b9
VS
85572011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 Support odc, newc and bigendian cpio formats.
8560
8561 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
8562 * grub-core/Makefile.core.def (newc): New module.
8563 (odc): Likewise.
8564 (cpio_be): Likewise.
8565 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
8566 (MAGIC): Likewise.
8567 (MAGIC2): Likewise.
8568 (head) [MODE_ODC]: Adapt for the format.
8569 (head) [MODE_NEWC]: Likewise.
8570 (head) [!MODE_*]: Write fields of interest as arrays.
8571 (MAGIC_USTAR): Removed.
8572 (read_number) [MODE_NEWC]: Change to hex.
8573 (read_number) [!MODE_*]: Parse binary arrays.
8574 (grub_cpio_find_file): Factor out the code for better structure and
8575 always use read_number.
8576 (grub_cpio_mount): Use MAGIC and MAGIC2.
8577 (grub_cpio_dir): Exit on first hook non-0 return.
8578 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
8579 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
8580 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
8581 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
8582 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
8583 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
8584 * grub-core/fs/newc.c: New file.
8585 * grub-core/fs/odc.c: Likewise.
8586 * grub-core/fs/cpio_be.c: Likewise.
8587
58eba9ee
VS
85882011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8589
8590 Fix handling of tar numbers occupying the whole field.
8591
8592 * grub-core/fs/cpio.c (read_number): New function.
8593 (grub_cpio_find_file): Use read_number instead of strtoull.
8594
a54a0e12
VS
85952011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
8598 occupying the whole field size.
8599
a6120aca
LA
86002011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
8601
8602 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
8603
a93964ce
VS
86042011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
8607
3ea1ca46
SG
86082011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
8609
8610 * grub-core/Makefile.core.def (lzma_decompress): Add missing
8611 TARGET_IMG_LDFLAGS.
8612
b87f7ef2
VS
86132011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * util/getroot.c (ESCAPED_PATH_MAX): New define.
8616 (mountinfo_entry): Increase the field size to take escaping into
8617 account.
8618 (find_root_device_from_libzfs): Add one byte to size of strings for
8619 security.
8620
62092395
VS
86212011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
8624 an assert.
8625 * util/grub-setup.c (setup): Likewise.
8626
1f0b1a77
VS
86272011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
8630 _LzmaDecodeA.
8631
8eba9997
VS
86322011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * docs/grub.texi (Internationalisation): New section.
8635
dd0c91e9
VS
86362011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 * docs/grub.texi (Loopback booting): New section.
8639
86402011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
8641
8642 * util/grub-mkstandalone.in: Fix minor typo errors.
8643
198e150a
VS
86442011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
8647
8648 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
8649 net/icmp.c and net/icmp6.c.
8650 (http): New module.
8651 (priority_queue): Likewise.
8652 * grub-core/io/bufio.c: Rewritten.
8653 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
8654 TYPE_WITH_CONFIGFILE_OPTION.
8655 (legacy_commands): Add bootp and dhcp.
8656 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
8657 (grub_legacy_parse): Likewise.
8658 * grub-core/lib/priority_queue.c: New file.
8659 * grub-core/net/arp.c: Add missing license header.
8660 (arp_find_entry): Removed.
8661 (arp_find_entry): Likewise.
8662 (grub_net_arp_resolve): Rename to ...
8663 (grub_net_arp_send_request): ...this.
8664 (grub_net_arp_receive): New card argument.
8665 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
8666 Set router and DNS server.
8667 (grub_net_configure_by_dhcp_ack): Handle routing information.
8668 (grub_cmd_bootp): Set checksum.
8669 (grub_bootp_init): Remove net_dhcp.
8670 * grub-core/net/dns.c: New file.
8671 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
8672 completion.
8673 (get_card_packet): Handle allocation.
8674 (grub_efinet_findcards): Set mtu.
8675 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
8676 (get_card_packet): Handle allocation.
8677 (emucard): Set mtu.
8678 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
8679 (GRUB_MOD_INIT): Set mtu.
8680 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
8681 mtu.
8682 (get_card_packet): Handle allocation.
8683 (grub_ofnet_findcards): Set mtu.
8684 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
8685 assert.
8686 (grub_net_recv_ethernet_packet): Handle IPv6.
8687 * grub-core/net/http.c: New file.
8688 * grub-core/net/icmp.c: Likewise.
8689 * grub-core/net/icmp6.c: Likewise.
8690 * grub-core/net/ip.c (ip6addr): New type.
8691 (ip6hdr): Likewise.
8692 (reassemble): Likewise.
8693 (cmp): New function.
8694 (reassembles): New variable.
8695 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
8696 (id): New variable.
8697 (send_fragmented): New function.
8698 (grub_net_send_ip_packet): Rename to ...
8699 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
8700 Handle non-UDP.
8701 (grub_net_recv_ip_packets): Rename to ...
8702 (handle_dgram): ... this. Check checksum. Handle non-UDP.
8703 (free_rsm): New function.
8704 (free_old_fragments): Likewise.
8705 (grub_net_recv_ip4_packets): New function.
8706 (grub_net_send_ip6_packet): Likewise.
8707 (grub_net_send_ip_packet): Likewise.
8708 (grub_net_recv_ip6_packets): Likewise.
8709 (grub_net_recv_ip_packets): Likewise.
8710 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
8711 (LINK_LAYER_CACHE_SIZE): New const.
8712 (link_layer_find_entry): New function.
8713 (grub_net_link_layer_add_address): Likewise.
8714 (grub_net_link_layer_resolve_check): Likewise.
8715 (grub_net_link_layer_resolve): Likewise.
8716 (grub_net_ipv6_get_slaac): Likewise.
8717 (grub_net_ipv6_get_link_local): Likewise.
8718 (grub_cmd_ipv6_autoconf): Likewise.
8719 (parse_ip): Handle one number representation.
8720 (parse_ip6): New functoion.
8721 (match_net): Handle IPv6.
8722 (grub_net_resolve_address): Handle IPv6 and DNS.
8723 (grub_net_resolve_net_address): Handle IPv6.
8724 (route_cmp): New function.
8725 (grub_net_route_address): Find best route.
8726 (grub_net_addr_to_str): Handle IPv6.
8727 (grub_net_addr_cmp): New function.
8728 (grub_net_add_addr): Register local route.
8729 (print_net_address): Handle net address.
8730 (grub_net_poll_cards): Retransmit TCP.
8731 (grub_net_poll_cards_idle_real): Likewise.
8732 (have_ahead): New function.
8733 (grub_net_seek_real): Use underlying seek.
8734 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
8735 * grub-core/net/tcp.c: New file.
8736 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
8737 (cmp): New function.
8738 (ack): Likewise.
8739 (tftp_receive): Handle unordered input.
8740 (destroy_pq): New function.
8741 (tftp_close): Close pq.
8742 * grub-core/net/udp.c: Put missing license header.
8743 (grub_net_udp_socket): New function.
8744 (udp_socket_register): Likewise.
8745 (grub_net_udp_close): Likewise.
8746 (grub_net_recv_udp_packet): Check checksum.
8747 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
8748 * include/grub/misc.h (grub_memchr): New function.
8749 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
8750 (grub_net_card_driver): Return buf in recv.
8751 (grub_net_slaac_mac_list): New struct.
8752 (grub_network_level_protocol_id): Add ipv6.
8753 (grub_net_network_level_addr): Likewise.
8754 (grub_net_network_level_net_addr): Likewise.
8755 (grub_net_app_protocol): Add seek.
8756 (grub_net_socket): Removed.
8757 (grub_net_sockets): Likewise.
8758 (grub_net_socket_register): Likewise.
8759 (grub_net_socket_unregister): Likewise.
8760 (FOR_NET_SOCKETS): Likewise.
8761 (grub_net_add_addr): Add const.
8762 (GRUB_NET_BOOTP_*): New enum.
8763 (grub_net_addr_cmp): New proto.
8764 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
8765 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
8766 (grub_net_hwaddr_to_str): NEw proto.
8767 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
8768 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
8769 (grub_dns_init): New proto.
8770 (grub_dns_fini): Likewise.
8771 (grub_net_tcp_retransmit): Likewise.
8772 (grub_net_link_layer_add_address): Likewise.
8773 (grub_net_link_layer_resolve_check): Likewise.
8774 (grub_net_link_layer_resolve): Likewise.
8775 (grub_net_dns_lookup): Likewise.
8776 (grub_net_add_dns_server): Likewise.
8777 (grub_net_remove_dns_server): Likewise.
8778 (GRUB_NET_TRIES): New const.
8779 (GRUB_NET_INTERVAL): Likewise.
8780 * include/grub/net/arp.h: Mostly rewritten.
8781 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
8782 * include/grub/net/ip.h: Mostly rewritten.
8783 * include/grub/net/netbuff.h: Indent.
8784 * include/grub/net/tcp.h: New file.
8785 * include/grub/net/udp.h: Mostly rewritten.
8786 * include/grub/priority_queue.h: New file.
8787 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
8788 (grub_swap_bytes64_compile_time): Likewise.
8789 (grub_cpu_to_be16_compile_time): Likewise.
8790 (grub_cpu_to_be32_compile_time): Likewise.
8791 (grub_cpu_to_be64_compile_time): Likewise.
8792 (grub_be_to_cpu64_compile_time): Likewise.
8793
215c1800
VS
87942011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
8797 UINT_TO_PTR with cast.
8798
c17e546c
VS
87992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
8802 don't use them.
8803
ff6b18b6
VS
88042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
8807 already there.
8808
70ffcc93
VS
88092011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
8812 confusing ipxe.
8813
e5f4d260
VS
88142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
8817 Add missing const attribute.
8818 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
8819 Likewise.
8820 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
8821 Likewise.
8822
8e54b4b7
VS
88232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8824
8825 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
8826 misaligned access.
8827 (serpent_setkey): Likewise.
8828 (serpent_encrypt_internal): Likewise.
8829 (serpent_decrypt_internal): Likewise.
8830 (serpent_encrypt): Don't put an alignment-increasing cast.
8831 (serpent_decrypt): Likewise.
8832 (serpent_test): Likewise.
8833
813c0a2b
VS
88342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
8837
f2b60fbd
VS
88382011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
8841
8842 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
8843 grub_addr_t casts.
8844 (PTR_TO_UINT64): Likewise.
8845 (PTR_TO_UINT32): Likewise.
8846
5ef5c511
VS
88472011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 * util/grub-mkimage.c (generate_image): Decrease the higher limit
8850 because of stack.
8851 * util/grub-setup.c (setup): Don't add redundancy past the higher load
8852 limit.
8853
c476e6df
VS
88542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8855
8856 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
8857 text_width > available width a bit more gracefully.
8858
384ad7cc
VS
88592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
8862 current address calculation.
8863
96f8caf8
VS
88642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
8867 stack.
8868 (encode_block): Likewise.
8869
276b7a8b
VS
88702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
8873 certainety.
8874
e3fd394a
VS
88752011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8876
8877 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
8878 non-RS part to avoid RS messing with GDT.
8879 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
8880 Increase to suit in realmode routines.
8881
88822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * grub-core/kern/i386/realmode.S: Increase alignment.
8885 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
8886
ee9c2e7a
VS
88872011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
8890 be deterministic.
8891 (syndroms): Compute 0 syndrom.
8892 (rs_recover): Use 0 syndrom.
8893
7a7f7cc9
VS
88942011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
8897
a14b16d1
VS
88982011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
8901 brackets.
8902
9f59e9fc
VS
89032011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8904
ca1b552c
VS
8905 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
8906 account.
8907 (get_top_pad): Likewise.
8908 (get_right_pad): Likewise.
8909 (get_bottom_pad): Likewise.
8910
89112011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 8914
e739d698
VS
89152011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8916
8917 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
8918 attribute as the structure isn't guaranteed to be properly aligned.
8919 (grub_efi_pci_device_path): Likewise.
8920 (grub_efi_pccard_device_path): Likewise.
8921 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
8922 specify the size of `memory_type'.
8923 (grub_efi_vendor_device_path): Likewise.
8924 (grub_efi_controller_device_path): Likewise.
8925 (grub_efi_acpi_device_path): Likewise.
8926 (grub_efi_expanded_acpi_device_path): Likewise.
8927 (grub_efi_atapi_device_path): Likewise.
8928 (grub_efi_scsi_device_path): Likewise.
8929 (grub_efi_fibre_channel_device_path): Likewise.
8930 (grub_efi_1394_device_path): Likewise.
8931 (grub_efi_usb_device_path): Likewise.
8932 (grub_efi_usb_class_device_path): Likewise.
8933 (grub_efi_i2o_device_path): Likewise.
8934 (grub_efi_mac_address_device_path): Likewise.
8935 (grub_efi_ipv4_device_path): Likewise.
8936 (grub_efi_ipv6_device_path): Likewise.
8937 (grub_efi_infiniband_device_path): Likewise.
8938 (grub_efi_uart_device_path): Likewise.
8939 (grub_efi_vendor_messaging_device_path): Likewise.
8940 (grub_efi_hard_drive_device_path): Likewise.
8941 (grub_efi_cdrom_device_path): Likewise.
8942 (grub_efi_vendor_media_device_path): Likewise.
8943 (grub_efi_file_path_device_path): Likewise.
8944 (grub_efi_protocol_device_path): Likewise.
8945 (grub_efi_piwg_device_path): Likewise.
8946 (grub_efi_bios_device_path): Likewise.
8947
cb8f88ea
VS
89482011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
8951 (grub_ucs4_to_utf8_alloc): Likewise.
8952 (grub_ucs4_to_utf8): Likewise.
8953 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
8954 (grub_ucs4_to_utf8_alloc): Likewise.
8955
309e5352
VS
89562011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8957
8958 AFFS never uses unicode.
8959
8960 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
8961 (grub_latin1_to_utf8): New inline function.
8962 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
8963
e7987e1b
VS
89642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
8967 overflow.
8968
efc2616e
VS
89692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
8972 (grub_squash_dirent_header): Likewise.
8973 (read_chunk): Don't double swap.
8974 (grub_squash_iterate_dir): Fix swap sizes.
8975
3c349f5a
VS
89762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8977
8978 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
8979
b453412d
VS
89802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8981
8982 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
8983 (grub_hfs_iterate_dir): Likewise.
8984
12e9d4d1
VS
89852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8986
8987 Fix video on platforms where unaligned access is forbidden.
8988 Make several optimisations while on it.
8989
8990 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
8991 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
8992 (grub_video_fbblit_replace_32bit_1bit): Likewise.
8993 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
8994 Disable.
8995 (grub_video_fbblit_replace_16bit_1bit):
8996 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
8997 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8998 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
8999 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
9000 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
9001 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
9002 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
9003 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
9004 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
9005 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
9006 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
9007 (grub_video_fbblit_replace_index_RGB888): Likewise.
9008 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
9009 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
9010 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
9011 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
9012 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
9013 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9014 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
9015 Disable.
9016 (grub_video_fbblit_blend_XXX565_1bit):
9017 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9018 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
9019 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
9020 void *.
9021 * grub-core/video/fb/video_fb.c (common_blitter)
9022 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
9023 (grub_video_fb_create_render_target_from_pointer)
9024 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9025 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
9026 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
9027 definition.
9028 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
9029
ace96609
VS
90302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
9033 HH22 and HM10 relocations.
9034
fd261d73
VS
90352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
9038
e59b7857
VS
90392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
9042 allocation succeeded.
9043
9b4baaa4
VS
90442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
9047 argument a u8 pointer. All users updated.
9048 Handle unaligned buffers.
9049
dc713193
VS
90502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9051
9052 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
9053 add_part to workaround compiler bug.
9054
30dd48c2
VS
90552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9056
9057 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
9058
0c6087a8
VS
90592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
9062 Reserve alignment invariants.
9063 (grub_multiboot_load): Likewise.
9064 (retrieve_video_parameters): Likewise.
9065 (grub_multiboot_make_mbi): Likewise.
9066
c2e77777
VS
90672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
9070 incorrect pointer.
9071
b70b6d11
VS
90722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9073
9074 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
9075 (grub_pata_pio_write): Likewise.
9076
02a2bf83
VS
90772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 Add noreturn attributes and remove unreachable code.
9080
9081 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
9082 code.
9083 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
9084 code. Mark as noreturn.
9085 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
9086 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
9087 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
9088 unreachable code.
9089 * grub-core/kern/main.c (grub_main): Mark as noreturn.
9090 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
9091 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
9092 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
9093 * include/grub/kernel.h (grub_main): Mark as noreturn.
9094 * include/grub/reader.h (grub_rescue_run): Likewise.
9095
2019d09e
VS
90962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9097
9098 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
9099 redundant declaration.
9100
d1c501ee
VS
91012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 * include/grub/net.h (grub_net_network_level_interfaces): Remove
9104 redundant declaration.
9105 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
9106
61664420
VS
91072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
9110 to ensure alignment.
9111 (grub_hdparm_print_identify): Make argument uint16 * to ensure
9112 alignment. Ensure tmp alignment.
9113 (grub_cmd_hdparm): Ensure buf alignment.
9114 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
9115 to ensure alignment.
9116 (grub_ata_dumpinfo): Ensure text alignment.
9117 (grub_atapi_identify): Preserve alignment invariant.
9118 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
9119
0d51ee20
VS
91202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9121
9122 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
9123 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
9124 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
9125 * include/grub/misc.h (grub_reboot)
9126 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
9127 (grub_halt) [__mips__]: Likewise.
9128
753ef8c1
VS
91292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9130
9131 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
9132 Remove redundant declaration.
9133 (grub_mmap_get_post64): Likewise.
9134 (grub_mmap_get_upper): Likewise.
9135 (grub_mmap_get_lower): Likewise.
9136
85c85365
VS
91372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
9140 uint32_t * to ensure alignment.
9141 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
9142
a23f2cc4
VS
91432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9144
93018f64
VS
9145 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
9146 uint16_t * to ensure alignment.
9147 (sun_pc_partition_map_iterate): Make `block' a union to ensure
9148 alignment.
9149
91502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
9153 to ensure alignment.
9154 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
9155
58acccd6
VS
91562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 * grub-core/fs/ntfs.c (u16at): Make into inline function.
9159 Handle unaligned pointers.
9160 (u32at): Likewise.
9161 (u64at): Likewise.
9162 (fixup): Use byte access instead of v16at.
9163 (find_attr): Fix imporper usage of v32at.
9164 (read_data): Likewise.
9165 (list_file): Handle byte-swapping and unaligned strings.
9166 (grub_ntfs_label): Likewise.
9167
9b05cad7
VS
91682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
9171 as it's not necessarily aligned.
9172
b3950b84
VS
91732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
9176 redundant declaration.
9177 (grub_serial_init): Likewise.
9178 (grub_terminfo_init): Likewise.
9179
fcd232b7
VS
91802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
9183 function.
9184 (ZAP_HASH_IDX): Likewise.
9185 (ZAP_LEAF_HASH_SHIFT): Likewise.
9186 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
9187 (LEAF_HASH): Likewise.
9188 (ZAP_LEAF_NUMCHUNKS): Likewise.
9189 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
9190 alignment invariants. Return pointer. All users updated.
9191 (ZAP_LEAF_ENTRY): Make into inline function.
9192 (NBBY): Removed.
9193 (xor): LIkewise.
9194 (xor_out): Use grub_crypto_xor.
9195 (dnode_get_path): Use grub_get_unaligned.
9196 (nvlist_find_value): Likewise.
9197 (grub_zfs_nvlist_lookup_uint64): Likewise.
9198 (grub_zfs_nvlist_lookup_string): Likewise.
9199 (get_nvlist_size): Likewise.
9200 (grub_zfs_open): Likewise.
9201 (fill_fs_info): Likewise.
9202 (grub_zfs_dir): Likewise.
9203 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
9204 alignment invariants.
9205 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
9206 necessarily aligned.
9207
f138623a
VS
92082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
9211
564840dc
VS
92122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9213
9214 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
9215 arithmetic to conserve alignment invariants.
9216
9b40df20
VS
92172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
9220 redundant declaration.
9221 (grub_efiemu_mm_obtain_request): Likewise.
9222 (grub_efiemu_prepare): Likewise.
9223
d1c930f9
VS
92242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
9227 to match types.
9228
4c5f3056
VS
92292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
9232 case of aunaligned recptr.
9233 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
9234 alignment.
9235 (grub_hfsplus_btree_search): Handle unaligned index.
9236
728cba91
VS
92372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
9240 to get freetag and skip.
9241
eb561f31
VS
92422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
9245 array.
9246 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
9247 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
9248
20993fbb
VS
92492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
9252 name for checksum and fix allocation algorithm.
9253
1f313b94
VS
92542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 * include/grub/types.h (grub_properly_aligned_t): New type.
9257 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
9258 (grub_get_unaligned16): Add explicit casts.
9259 (grub_get_unaligned32): Likewise.
9260 (grub_get_unaligned64): Likewise.
9261 (grub_set_unaligned16): New function.
9262 (grub_set_unaligned32): Likewise.
9263
47ae27ec
VS
92642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
9267
78c2cd1c
VS
92682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
9271 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
9272 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
9273
53072f9b
VS
92742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
9277 conditionals.
9278
055dc239
VS
92792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
9282 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
9283
496bd074
VS
92842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9285
9286 Unify and improve RAID and crypto xor.
9287
9288 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
9289 changed to grub_crypto_xor
9290 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
9291 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
9292 Use bigger types when possible.
9293
ef6e4335
VS
92942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * grub-core/disk/raid.c (scan_devices): Fix condition.
9297
5d048bf2
VS
92982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
9301 Make name a const ptr.
9302
ee533335
VS
93032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9304
9305 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
9306 first argument a const pointer.
9307 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
9308 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
9309 proto.
9310 (grub_children_iterate): Likewise.
9311 (grub_machine_mmap_iterate): Remove redundant declaration.
9312
cc8f3668
VS
93132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9314
9315 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
9316 (grub_cmd_acpi) [!x86]: Disable EBDA.
9317
c5fc563a
VS
93182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 Enable UTF8 in gnulib regexp.
9321
9322 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
9323 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
9324 (isupper): Use grub_isupper.
9325 (isascii): New inline function.
9326 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
9327 * grub-core/lib/posix_wrap/wctype.h: Likewise.
9328 * grub-core/normal/charset.c (grub_utf8_process): New function.
9329 (grub_utf8_to_utf16): Use grub_utf8_process.
9330 (grub_encode_utf8_character): New function.
9331 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
9332 * include/grub/charset.h (grub_utf8_process): New declaration.
9333 (grub_encode_utf8_character): Likewise.
9334 * include/grub/misc.h (grub_islower): New inline function.
9335 (grub_isupper): Likewise.
9336 (grub_strchrsub): Moved down to fix the definitions.
9337
0af2346f
VS
93382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
9341 specification.
9342
74dbd244
VS
93432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * include/grub/loader.h (grub_loader_register_preboot_hook):
9346 Use struct preboot * and not void * for handle. All users updated.
9347 (grub_loader_unregister_preboot_hook): Likewise.
9348
1bc8f60d
VS
93492011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
9352 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
9353 UTF-16-BE. All users updated.
9354 (grub_hfsplus_cmp_catkey): Fix unicode handling.
9355 (grub_hfsplus_iterate_dir): Likewise.
9356 (grub_hfsplus_label): Likewise.
9357
48d6e456
VS
93582011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
9361
bf3a3857
VS
93622011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 Add missing const qualifiers.
9365
9366 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
9367 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
9368 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
9369 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
9370 (grub_lvm_check_flag): Likewise.
9371 * grub-core/efiemu/i386/coredetect.c
9372 (grub_efiemu_get_default_core_name): Likewise
9373 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9374 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
9375 * grub-core/fs/ntfs.c (fixup): Likewise.
9376 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
9377 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
9378 (fzap_lookup): Likewise.
9379 (zap_lookup): Likewise.
9380 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
9381 * grub-core/lib/legacy_parse.c (check_option): Likewise.
9382 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
9383 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
9384 (grub_freebsd_add_meta_module): Likewise.
9385 (grub_cmd_freebsd_module): Likewise.
9386 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
9387 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
9388 (grub_xnu_writetree_get_size): Likewise.
9389 (grub_xnu_writetree_toheap_real): Likewise.
9390 (grub_xnu_find_key): Likewise.
9391 (grub_xnu_create_key): Likewise.
9392 (grub_xnu_create_value): Likewise.
9393 (grub_xnu_register_memory): Likewise.
9394 (grub_xnu_check_os_bundle_required): Likewise.
9395 (grub_xnu_scan_dir_for_kexts): Likewise.
9396 (grub_xnu_load_kext_from_dir): Likewise.
9397 * grub-core/normal/color.c (color_list): Likewise.
9398 * grub-core/normal/completion.c (current_word): Likewise.
9399 * grub-core/normal/menu_entry.c (insert_string): Likewise.
9400 * grub-core/term/serial.c (grub_serial_find): Likewise.
9401 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
9402 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
9403 Likewise.
9404 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
9405 (grub_freebsd_add_meta_module): Likewise.
9406 * include/grub/lib/arg.h (grub_arg_option): Likewise.
9407 * include/grub/net.h (grub_net_card_driver): Likewise.
9408 (grub_net_card): Likewise.
9409 (grub_net_app_protocol): Likewise.
9410 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
9411 * include/grub/serial.h (grub_serial_find): Likewise.
9412 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
9413 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
9414 (grub_xnu_create_value): Likewise.
9415 (grub_xnu_find_key): Likewise.
9416 (grub_xnu_scan_dir_for_kexts): Likewise.
9417 (grub_xnu_load_kext_from_dir): Likewise.
9418
9419 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
9420 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
9421 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
9422 Moved from here ...
9423 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
9424
112b4837
CW
94252011-11-28 Colin Watson <cjwatson@ubuntu.com>
9426
9427 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
9428
49e891ac
VS
94292011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
9430
9431 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
9432 (read_device): Fix size calculation.
9433
fd258e5c
RM
94342011-11-25 Robert Millan <rmh@gnu.org>
9435
9436 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
9437 (find_root_device_from_libzfs): Add zpool output parser to be used
9438 as fallback when libzfs isn't available.
9439
78845dc2
SG
94402011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
9441
9442 * po/Makefile.in.in: Add missing escape-continuation.
9443
adac5211
VS
94442011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
9447
10b64f1c
VS
94482011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
9451
bb416954
VS
94522011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
9455
bdfe9eeb
VS
94562011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
9459
581ffa8a
VS
94602011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 * grub-core/lib/adler32.c: Add missing license specification.
9463 * grub-core/lib/crc64.c: Likewise.
9464 * grub-core/loader/i386/pc/plan9.c: Likewise.
9465 * grub-core/partmap/plan.c: Likewise.
9466
2536cf64
LK
94672011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
9468
9469 Add facility to debug GRUB with gdb under qemu.
9470
9471 * grub-core/gdb_grub.in: New file.
9472 * grub-core/gmodule.pl.in: Likewise.
9473 * grub-core/Makefile.core.def (gmodule.pl): New script.
9474 (gdb_grub): Likewise.
9475
bc108a4a
VS
94762011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9477
9478 * util/grub-mount.c (argp_parser): Accept relative pathes.
9479 * util/grub-fstest.c (argp_parser): Likewise.
9480
111c1778
VS
94812011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9482
9483 Plan9 support.
9484
9485 * Makefile.util.def (libgrubmods): Add
9486 grub-core/partmap/plan.c.
9487 * docs/grub.texi: Notice Plan9 support.
9488 * grub-core/Makefile.core.def (plan9): New module.
9489 (part_plan): Likewise.
9490 * grub-core/loader/i386/pc/plan9.c: New file.
9491 * grub-core/partmap/plan.c: Likewise.
9492 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
9493 define.
9494 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
9495 * include/grub/mm.h (grub_extend_alloc): New inline function.
9496
c30be3b6
VS
94972011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 Make Reed-Solomon faster by using power of generator representation of
9500 GF(256)*.
9501
9502 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
9503 (gf_double_t): Likewise.
9504 (gf_invert): Removed.
9505 (gf_powx): New array.
9506 (gf_powx_inv): Likewise.
9507 (scratch): Move higher.
9508 (gf_reduce): Removed.
9509 (gf_mul): Use powx.
9510 (gf_invert): Likewise.
9511 (init_inverts): Replaced with ...
9512 (init_powx): ...this. All users updated.
9513 (pol_evaluate): Replace multiplications with additions.
9514 (rs_encode): Likewise.
9515 (gauss_eliminate): Call gf_invert.
9516 (grub_reed_solomon_add_redundancy): Call init_powx.
9517 (grub_reed_solomon_recover): Call init_powx unconditionally.
9518
fa5aeffc
VS
95192011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9520
9521 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
9522
a346b81c
VS
95232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
9526 disk->partiton for safety.
9527
d89ee414
VS
95282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9531 Fix a memory leak.
9532 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
9533
91ee7b6d
VS
95342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
9537
91e5a33d
VS
95382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
9541
9edd7be2
VS
95422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 Fix spaces handling in proc/self/mountinfo.
9545
9546 * util/getroot.c (unescape): New function.
9547 (grub_find_root_device_from_mountinfo): Use unescape.
9548
ba102053
VS
95492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 Support ZFS embedding.
9552
9553 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
9554 (grub_zfs_fs): Register grub_zfs_embed.
9555
aa94b870
VS
95562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 Fix MIPS compilation.
9559
9560 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
9561 * include/grub/offsets.h: Rename decompressor fields from
9562 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
9563 * util/grub-mkimage.c (image_targets): Use new names.
9564
5fbdac14
VS
95652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 Defer multiboot device parsing until we're in compressed part.
9568
9569 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
9570 bsd_part. setdevice has fallen into disuse.
9571 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
9572 (bsd_part): Likewise.
9573 (boot_dev): New variable.
9574 (multiboot_trampoline): Don't parse multiboot device.
9575 Pass multiboot device in %edx.
9576 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
9577 grub_boot_device.
9578 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
9579 Likewise.
9580 * grub-core/kern/i386/pc/startup.S: Save edx.
9581 (grub_boot_drive): Removed.
9582 (grub_install_dos_part): Likewise.
9583 (grub_install_bsd_part): Likewise.
9584 (grub_boot_device): New variable.
9585 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
9586 (grub_install_bsd_part): Likewise.
9587 (grub_boot_drive): Likewise.
9588 (grub_boot_device): New variable.
9589 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
9590 Removed.
9591 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9592 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
9593 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
9594 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
9595 * util/grub-install.in: Remove redundant condition.
9596
691cbb58
VS
95972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9598
9599 Fix bug introduced by previous commit.
9600
9601 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
9602
60240b8b
VS
96032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 Use decompressors framework on i386-pc. It increases core size
9606 by 46 bytes but improves compatibility and maintainability.
9607
9608 * grub-core/Makefile.core.def (lzma_decompress): New image.
9609 (kernel): Add i386_pc_ldflags.
9610 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
9611 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
9612 to real_to_prot, prot_to_real and device info.
9613 * include/grub/offsets.h: Renamed decompressor offsets.
9614 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
9615 (image_target_desc): Remove raw_size and rename decompressor fields.
9616 (compress_kernel): Handle lzma.
9617 (generate_image): Handle decompressors on i386-pc.
9618
e9d3421c
VS
96192011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 * configure.ac: Add -fno-asynchronous-unwind-tables.
9622
2b23074a
VS
96232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 Move assembly code to C by using intwrap. It increases core size
9626 by 88 bytes but improves compatibility and maintainability.
9627
9628 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
9629 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
9630 ... here. Translated to C.
9631 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
9632 * grub-core/term/i386/pc/console.c (grub_console_getkey):
9633 ... here. Translated to C.
9634 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
9635 * grub-core/term/i386/pc/console.c (grub_console_getxy):
9636 ... here. Translated to C.
9637 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
9638 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
9639 ... here. Translated to C.
9640 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
9641 * grub-core/term/i386/pc/console.c (grub_console_cls):
9642 ... here. Translated to C.
9643 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
9644 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
9645 ... here. Translated to C.
9646 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
9647 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
9648 Translated to C.
9649 * grub-core/term/i386/pc/console.c (int10_9): New function.
9650 (grub_console_putchar): Likewise.
9651 * include/grub/i386/pc/console.h: Removed the not anymore shared
9652 functions.
9653
678f4b67
VS
96542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 Move grub_chainloader_real_boot out of the kernel.
9657
9658 * grub-core/Makefile.am: Remove machine/loader.h.
9659 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
9660 Removed.
9661 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
9662 variable.
9663 (grub_relocator16_keep_a20_enabled): Likewise.
9664 (grub_relocator16_boot): Fill new variables.
9665 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
9666 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
9667 relocator.
9668 (grub_chainloader_unload): Likewise.
9669 (grub_chainloader_cmd): Likewise.
9670 * include/grub/i386/pc/loader.h: Removed.
9671 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
9672 and esi. All initialisers updated.
9673
4626edf6
VS
96742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
96752011-11-12 Colin Watson <cjwatson@ubuntu.com>
9676
9677 * Makefile.util.def (grub-mount): New util.
9678 * .bzrignore: Add grub-mount.
9679 * configure.ac: Check for fuse and enable grub-mount if available.
9680 * docs/man/grub-mount.h2m: New file.
9681 * util/grub-mount.c: Likewise.
9682
10f0117b
VS
96832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9684
9685 * grub-core/commands/efi/fixvideo.c: Gettextize.
9686 * grub-core/commands/hashsum.c: Likewise.
9687 * grub-core/commands/i386/cmostest.c: Likewise.
9688 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9689 * grub-core/commands/i386/pc/lsapm.c: Likewise.
9690 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9691 * grub-core/commands/lsmmap.c: Likewise.
9692 * grub-core/commands/menuentry.c: Likewise.
9693 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9694 * grub-core/commands/setpci.c: Likewise.
9695 * grub-core/loader/i386/bsd.c: Likewise.
9696 * grub-core/loader/i386/linux.c: Likewise.
9697 * util/getroot.c: Likewise.
9698 * util/grub-editenv.c: Likewise.
9699 * util/grub-fstest.c: Likewise.
9700 * util/grub-mkfont.c: Likewise.
9701 * util/grub-mkimage.c: Likewise.
9702 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9703 * util/grub-pe2elf.c: Likewise.
9704 * util/grub-probe.c: Likewise.
9705 * util/grub-setup.c: Likewise.
9706 * util/ieee1275/ofpath.c: Likewise.
9707 * util/misc.c: Likewise.
9708 * util/raid.c: Likewise.
9709
566f779b
RM
97102011-11-11 Robert Millan <rmh@gnu.org>
9711
9712 * util/getroot.c (grub_util_get_geom_abstraction): Remove
9713 __attribute__((unused)) from `os_dev', which *is* being used.
9714
b50787de
VS
97152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
9718 forgotten define.
9719 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
9720 GRUB_IA64_DL_GOT_ALIGN.
9721 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
9722 GRUB_IA64_DL_TRAMP_ALIGN.
9723
119d11c8
VS
97242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9725
9726 Replace grub_fatal with normal errors in i386 linux loader.
9727
9728 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
9729 (allocate_pages): Check find_efi_mmap_size return value.
9730 (grub_e820_add_region): Return error.
9731 (grub_linux_boot): Check mmap return value.
9732
6e0632e2
VS
97332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 * grub-core/commands/acpihalt.c: Gettextized.
9736 * grub-core/commands/cacheinfo.c: Likewise.
9737 * grub-core/commands/cmp.c: Likewise.
9738 * grub-core/commands/efi/loadbios.c: Likewise.
9739 * grub-core/commands/gptsync.c: Likewise.
9740 * grub-core/commands/ieee1275/suspend.c: Likewise.
9741 * grub-core/commands/legacycfg.c: Likewise.
9742 * grub-core/commands/memrw.c: Likewise.
9743 * grub-core/commands/minicmd.c: Likewise.
9744 * grub-core/commands/parttool.c: Likewise.
9745 * grub-core/commands/time.c: Likewise.
9746 * grub-core/commands/videoinfo.c: Likewise.
9747 * grub-core/disk/geli.c: Likewise.
9748 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
9749 * grub-core/disk/luks.c: Likewise.
9750 * grub-core/disk/lvm.c: Likewise.
9751 * grub-core/font/font_cmd.c: Likewise.
9752 * grub-core/fs/zfs/zfscrypt.c: Likewise.
9753 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9754 * grub-core/gfxmenu/view.c: Likewise.
9755 * grub-core/kern/emu/hostdisk.c: Likewise.
9756 * grub-core/kern/emu/main.c: Likewise.
9757 * grub-core/kern/emu/misc.c: Likewise.
9758 * grub-core/kern/emu/mm.c: Likewise.
9759 * grub-core/kern/mips/arc/init.c: Likewise.
9760 * grub-core/kern/mips/loongson/init.c: Likewise.
9761 * grub-core/kern/partition.c: Likewise.
9762 * grub-core/lib/i386/halt.c: Likewise.
9763 * grub-core/lib/mips/arc/reboot.c: Likewise.
9764 * grub-core/lib/mips/loongson/reboot.c: Likewise.
9765 * grub-core/loader/i386/pc/chainloader.c: Likewise.
9766 * grub-core/loader/i386/xnu.c: Likewise.
9767 * grub-core/loader/multiboot.c: Likewise.
9768 * grub-core/net/bootp.c: Likewise.
9769 * grub-core/net/net.c: Likewise.
9770 * grub-core/normal/term.c: Likewise.
9771 * grub-core/partmap/bsdlabel.c: Likewise.
9772 * grub-core/parttool/msdospart.c: Likewise.
9773 * grub-core/term/gfxterm.c: Likewise.
9774 * grub-core/term/terminfo.c: Likewise.
9775 * grub-core/video/i386/pc/vbe.c: Likewise.
9776 * util/grub-menulst2cfg.c: Likewise.
9777 * util/grub-mkdevicemap.c: Likewise.
9778 * util/grub-mklayout.c: Likewise.
9779 * util/grub-mkrelpath.c: Likewise.
9780 * util/grub-script-check.c: Likewise.
9781 * util/ieee1275/grub-ofpathname.c: Likewise.
9782 * util/resolve.c: Likewise.
9783
073aa7a9
VS
97842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 Support %1$d syntax.
9787
9788 * tests/printf_unit_test.c: New file.
9789 * Makefile.util.def (printf_test): New test.
9790 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
9791
c76b5417
VS
97922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
9795 fix.
9796
df067ad1
VS
97972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
9800 dprintf.
9801 * grub-core/font/font.c (grub_font_load): Likewise.
9802
5b289bc5
VS
98032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 * util/grub-macho2img.c: Add comment concerning gettext.
9806 * grub-core/lib/legacy_parse.c: Likewise.
9807
c1860f87
VS
98082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
9811 (grub_xvasprintf): Likewise.
9812
d35d0d37
VS
98132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 Add const keyword to grub_env_get and gettextize week days.
9816
9817 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
9818 (grub_read_hook_datetime): Return const char *.
9819 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
9820 updated.
9821 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
9822 Mark for gettext.
9823 (grub_get_weekday_name): Return const char *. Call gettext.
9824 * grub-core/script/argv.c (grub_script_argv_append): Receive const
9825 char * and len as the argument. All users updated.
9826 (grub_script_argv_split_append): Receive const char *.
9827 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
9828 * include/grub/env.h (grub_env_get): Likewise.
9829 (grub_env_read_hook_t): Return const char *.
9830 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
9831 (grub_script_argv_split_append): Likewise.
9832
9aed8a71
VS
98332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9834
9835 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
9836
067fdf00
VS
98372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9838
9839 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
9840 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
9841
a8bd9d39
VS
98422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9843
9844 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
9845 Fix prototype.
9846
f7ce5baf
VS
98472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 Fix mips compilation.
9850
9851 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
9852 normal decoder.
9853 (hashes): Use in embed decoder as well (for sizes).
9854 (dec_stream_header): Fix embed decompressor logic.
9855 (dec_stream_footer): Likewise.
9856
9bb182f3
VS
98572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
9860 an error and not a fatal on unrecognised relocation types.
9861
63a9e6f6
VS
98622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9865 Issue error rather than printf on unknown arguments.
9866
4c458569
VS
98672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
9870 Make buf a const.
9871
e2d22baf
VS
98722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
9875 Fix module name.
9876
53dc8590
VS
98772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
9880 leftover debug printf.
9881
6c189294
VS
98822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9883
9884 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
9885
f7688369
VS
98862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
9889 A stylistic fix.
9890
11a775a3
VS
98912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9892
9893 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
9894
33f784e8
SL
98952011-11-10 Shea Levy <slevy@tieronedesign.com>
9896
9897 Allow all modules to perform serial IO
9898
9899 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
9900 * include/grub/serial.h (grub_serial_port_configure): New inline
9901 function.
9902 (grub_serial_port_fetch): Likewise.
9903 (grub_serial_port_put): Likewise.
9904 (grub_serial_port_fini): Likewise.
9905 (grub_serial_find): New proto.
9906
f6276525
VS
99072011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9908
9909 Put symlink at the end of the node and fix a potential
9910 memory corruption.
9911
9912 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
9913 Make symlink into an array.
9914 (set_rockridge): Set have_symlink and alloc_dirents.
9915 (grub_iso9660_read_symlink): Use new layout.
9916 (grub_iso9660_iterate_dir): Fix memory corruption.
9917 Use new layout.
9918 (grub_iso9660_dir): Set have_symlink.
9919 (grub_iso9660_open): Likewise.
9920
c3591189
VS
99212011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 Remove local keyword.
9924
9925 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
9926 (version_test_gt): Likewise.
9927 (version_find_latest): Likewise.
9928 (gettext_printf): Likewise.
9929 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
9930
cb544caa
VS
99312011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
9934
45bd824d
VS
99352011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 Fix ZFS memory and resource leaks.
9938
9939 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
9940 All users updated.
9941 Free type on exit.
9942 (fill_vdev_info): New parameter inserted. All users updated.
9943 (check_pool_label): Likewise.
9944 (scan_disk): Likewise.
9945 (scan_devices): Close non-inserted disks.
9946 (fzap_iterate): Free l.
9947 (unmount_device): Free children descripto memory.
9948
ad9a2f44
VS
99492011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
9952 argument (access out of bounds).
9953
6b68db81
VS
99542011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
9957 >= 6 drives.
9958
28840fda
VS
99592011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
9962 Fix declaration.
9963
8a5a3a5b
VS
99642011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9965
9966 Fix several memory leaks.
9967
9968 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
9969 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
9970 (grub_cpio_dir): Likewise.
9971 * grub-core/fs/fat.c (grub_fat_label): Likewise.
9972 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
9973 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
9974 (grub_romfs_label): Likewise.
9975 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
9976 (squash_unmount): New function.
9977 (grub_squash_dir): Fix memory leak.
9978 (grub_squash_open): Likewise.
9979 (grub_squash_read): Likewise.
9980 (grub_squash_mtime): Likewise.
9981 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
9982 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
9983 * util/grub-fstest.c (fstest): Likewise.
9984
57b01250
VS
99852011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
9988 avoid accessing beyond the array.
9989
19e81ba7
VS
99902011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
9993
52b656c0
VS
99942011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 Several AFFS fixes.
9997
9998 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
9999 (GRUB_AFFS_FLAG_FFS): Removed.
10000 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
10001 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
10002 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
10003 (grub_fshelp_node): Make block 32-bit.
10004 Add block_cache and last_block_cache.
10005 (grub_affs_read_block): Fill and use block cache.
10006 (grub_affs_read_file): Removed.
10007 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
10008 boot block.
10009 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
10010 safety.
10011 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
10012 space.
10013 (grub_affs_close): Free block cache.
10014 (grub_affs_read): Use grub_fshelp_read_file directly.
10015
438a746a
VS
100162011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
10019 with no error set.
10020
49a45021
VS
100212011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10022
10023 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
10024 used variable.
10025 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10026 Likewise.
10027
3ae17eb8
VS
100282011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
10031
10032 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
10033 byteswap when needed.
10034
27610c38
VS
100352011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 Fix FreeBSD compilation.
10038
10039 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
10040 to avoid circular dependency.
10041 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
10042 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
10043 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
10044
4a19b601
VS
100452011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 Fix ZFS crypto error types.
10048
10049 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
10050 (grub_gcm_decrypt): Likewise.
10051 (grub_zfs_load_key_real): Fix error code type. Handle possible error
10052 from PBKDF2.
10053
958ee221
VS
100542011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 Illumos support.
10057
10058 * Makefile.util.def (10_illumos): New script.
10059 * configure.ac: Set COND_HOST_ILLUMOS.
10060 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
10061 Support Illumos calls.
10062 (find_partition_start) [__sun__]: Likewise.
10063 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
10064 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
10065 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
10066 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
10067 device.
10068 * util/grub-probe.c (probe) [__sun__]: Do character check.
10069 * util/grub.d/10_illumos.in: New file.
10070
cac14fb6
VS
100712011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 Support escaped commas in hostdisk.
10074
10075 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
10076 (find_grub_drive): Use unescape_cmp.
10077 (make_device_name): Escape commas.
10078
78e08dc3
VS
100792011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
10082
9f421dd1
VS
100832011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10084
10085 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
10086 variable.
10087
ed64e9e2
VS
100882011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 Support trampoline jumps on powerpc.
10091
10092 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
10093 __ia64__ path.
10094 (grub_dl_load_segments): Set mod->sz.
10095 (grub_dl_flush_cache): Flush whole space occupied by module, not just
10096 segments.
10097 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
10098 (jump): Likewise.
10099 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
10100 function.
10101 (trampoline): New struct.
10102 (trampoline_template): New const.
10103 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
10104 * include/grub/dl.h (grub_dl): Add sz element.
10105 [__powerpc__]: Follow __ia64__.
10106 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
10107 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
10108 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
10109 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
10110
3084ede4
VS
101112011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10112
10113 ZFS crypto support.
10114
10115 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
10116 * grub-core/Makefile.core.def (zfscrypt): New module.
10117 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
10118 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
10119 it. All users updated.
10120 (grub_zfs_decrypt): New var.
10121 (grub_zfs_load_key): Likewise.
10122 (zio_checksum_functions): Add SHA256+MAC.
10123 (zio_checksum_verify): Handle incomplete comparison due to MAC.
10124 (zio_read): Handle encrypted blocks.
10125 (zap_verify): Remove incorrect check.
10126 (fzap_iterate): Handle non-standard fzap.
10127 (zap_iterate): Likewise.
10128 (zap_iterate_u64): New function.
10129 (dnode_get_fullpath): Load keys.
10130 * grub-core/fs/zfs/zfscrypt.c: New file.
10131 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
10132 (grub_crypto_ecb_encrypt): Make input const.
10133 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
10134 (grub_crypto_ecb_encrypt): Make input const.
10135 (GRUB_CIPHER_AES): New macro.
10136 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
10137 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
10138 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
10139 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
10140 prefix. All users updated.
10141 (grub_zfs_add_key): New proto.
10142 (grub_zfs_decrypt): Likewise.
10143 (grub_zfs_load_key): Likewise.
10144 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
10145 * util/grub-fstest.c (options): Add -K option.
10146 (argp_parser): Likewise.
10147
b632b404
VS
101482011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10149
10150 Support zle compression on ZFS.
10151
10152 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
10153 (decomp_table): Add zle.
10154 * include/grub/zfs/zio.h (zio_compress): Add zle.
10155
c7ba4f69
VS
101562011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 Support BtrFS embedding.
10159
10160 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
10161 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
10162 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
10163 * util/grub-setup.c (setup): Use fs embedding if available.
10164 Add additional sanity check.
10165
455377d9
VS
101662011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10167
10168 * util/grub-install.in: Fix condition for config_opt.
10169
c2fd16ca
VS
101702011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 Support third redundancy strip on raidz3.
10173
10174 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
10175 Return error on singularity. All users updated.
10176 (read_device): Don't stop on 3rd failure on raidz3.
10177
8622923b
VS
101782011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 Support case-insensitive ZFS subvolumes.
10181
10182 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
10183 All users updated.
10184 (zap_hash): Likewise.
10185 (name_cmp): New function.
10186 (zap_leaf_array_equal): New parameter case_insensitive.
10187 All users updated.
10188 (zap_leaf_lookup): Likewise.
10189 (fzap_lookup): Likewise.
10190 (zap_lookup): Likewise.
10191 (dnode_get_path): New parameter case_insensitive. Retrieve case
10192 sensitiviness of a volume. All users updated.
10193 (dnode_get_fullpath): New parameter case_insensitive.
10194 All users updated.
10195 (grub_zfs_dir): Set info.case_insensitiveness.
10196
95f2e860
VS
101972011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 Support second redundancy strip on raidz(2,3).
10200
10201 * grub-core/fs/zfs/zfs.c (powx): New array.
10202 (powx_inv): Likewise.
10203 (poly): New const.
10204 (xor_out): New function.
10205 (gf_mul): Likewise.
10206 (recovery): Likewise.
10207 (read_device): Use second redundancy strip.
10208
11ee4389
VS
102092011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 Use a power of generator representation of GF(256) multiplication group
10212 to save space time and complexity.
10213
10214 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
10215 (raid6_table2): Likewise.
10216 (powx): New array.
10217 (powx_inv): Likewise.
10218 (poly): New const.
10219 (grub_raid_block_mul): Replace with ...
10220 (grub_raid_block_mulx): ...this.
10221 (grub_raid6_init_table): Rewritten.
10222 (grub_raid6_recover): Use power of generator representation.
10223
09e2763f
VS
102242011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10225
10226 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
10227 for the right device.
10228
8bec9a28
VS
102292011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
10232 expected by grub-mkimage and it's more clear since there is no implicit
10233 padding.
10234
dbd3a32e
VS
102352011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
10238 disk.
10239 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
10240
182c872a
PMH
102412011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
10242
10243 * util/grub-mkrescue.in: Fix handling xorriso option.
10244
1e51cabd
VS
102452011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
10248 NULL.
10249
9cc3581d 102502011-11-03 crocket <crockabiscuit@gmail.com>
10251
10252 * util/grub.d/10_linux.in: Add Slackware initrd naming.
10253
158dc1ea
VS
102542011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 XZ CRC64 and SHA256 support.
10257
10258 * Makefile.util.def (libgrubmods): Add crc64.c.
10259 * grub-core/Makefile.core.def (crc64): New module.
10260 * grub-core/lib/crc64.c: New file.
10261 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
10262 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
10263 Fix the type.
10264 (MAX_HASH_SIZE): New define.
10265 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
10266 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
10267 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
10268 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
10269 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
10270 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
10271 Handle non-crc32 hashes.
10272 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
10273 (dec_stream_header): Handle non-crc32 hashes.
10274 (dec_stream_footer): Likewise.
10275 (dec_block_header): Likewise.
10276 (dec_main): Likewise.
10277 (xz_dec_init): Likewise.
10278 (xz_dec_reset): Likewise.
10279 (xz_dec_end): Likewise.
10280 * util/import_gcry.py: Add CRC64 line.
10281
9d9b3d2f
VS
102822011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
10285 as well.
10286
7d0ac931
VS
102872011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10288
10289 Make reiserfs label retrieval similar to other *_label functions.
10290
10291 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
10292 (REISERFS_MAX_LABEL_LENGTH): Removed.
10293 (REISERFS_LABEL_OFFSET): Likewise.
10294 (grub_reiserfs_label): Rewritten.
10295
102962011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10297
10298 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
10299 field.
10300
cf5ba824
VS
103012011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
10304
17744004
VS
103052011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
10308 drive failure on both raidz and raidz2.
10309
aca5aefc
VS
103102011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 Fix RAIDZ(2) for >= 5 devices.
10313
10314 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
10315 asize argument. All users updated.
10316
ce8ca56e
VS
103172011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 Fix RAIDZ(2).
10320
10321 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
10322 (fill_vdev_info_real): Set ashift.
10323 (read_device): Rewrite RAIDZ part based on reverse engineering.
10324
7c01e783
VS
103252011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
10328 don't report potentially unavialiable fields in debug output.
10329 (find_path): Fix double-free and memory leak.
10330
ce109e84
VS
103312011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10332
10333 Read label on UFS1.
10334
10335 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
10336 (grub_ufs_fs): Always set .label.
10337
87661123
VS
103382011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10339
10340 Use shifts in UFS.
10341
10342 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
10343 (grub_ufs_data): New field log2_blksz.
10344 (grub_ufs_read_file): Use shifts.
10345 (grub_ufs_mount): Check block size and logarithm it.
10346
46bc1dc2
VS
103472011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
10350 long symlinks.
10351
19ee2987
VS
103522011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 Handle symlinks and long names on tar and cpio.
10355
10356 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
10357 (ATTR_FILE): Likewise.
10358 (ATTR_DIR): Likewise.
10359 (ATTR_LNK): Likewise.
10360 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
10361 (grub_cpio_find_file): Fill mode, handle linkname field as well as
10362 L and K entries.
10363 (grub_cpio_mount): Zero-fill data.
10364 (handle_symlink): New function.
46bc1dc2
VS
10365 (grub_cpio_dir): Handle symlinks.
10366 (grub_cpio_open): Likewise.
10367 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 10368
c83a08d8
VS
103692011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 Fix iso9660 filename limitations and fix memory leaks.
10372
10373 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
10374 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
10375
45cdd3ea
VS
103762011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 Fix JFS file name length limitations.
10379
10380 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
10381 (grub_jfs_diropen): Fix maximum filename length.
10382 (grub_jfs_getent): Fix filename length.
10383 (grub_jfs_lookup_symlink): Fix size checks.
10384
94ef05c2
VS
103852011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10386
10387 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
10388 string.
10389
785ab8c7
VS
103902011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10391
eb0b6b45
VS
10392 Leverage BFS implementation to read AFS.
10393
10394 * Makefile.util.def (libgrubmods): Add afs.c.
10395 * grub-core/Makefile.core.def (afs): New module
10396 * grub-core/fs/afs.c: New file.
10397 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
10398
103992011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10400
10401 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 10402
c4a1628f
VS
104032011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10404
10405 * grub-core/fs/bfs.c: Run indent.
10406
5825b379
VS
104072011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 BFS implementation based on the specification.
10410
10411 * grub-core/fs/bfs.c: New file.
10412 * Makefile.util.def (libgrubmods): Add bfs.c.
10413 * grub-core/Makefile.core.def (bfs): New module.
10414
42b2a706
VS
104152011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10416
10417 * util/grub-fstest.c (cmd_cp): Clarify error message.
10418 (cmd_cmp): Likewise.
10419
61b99bfc
YB
104202011-10-30 Yves Blusseau <blusseau@zetam.org>
10421
10422 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
10423 and befs_be.
10424
faba3d16
VS
104252011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 Remove afs and befs because of copyright problem.
10428
10429 * grub-core/fs/afs.c: Removed.
10430 * grub-core/fs/afs_be.c: Removed.
10431 * grub-core/fs/befs.c: Removed.
10432 * grub-core/fs/befs_be.c: Removed.
10433 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
10434 * grub-core/Makefile.core.def (afs): Removed.
10435 (afs_be): Likewise.
10436 (befs): Likewise.
10437 (befs_be): Likewise.
10438
c39224b0
VS
104392011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10440
10441 Prefer rockridge over Joliet.
10442
10443 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
10444 to ...
10445 (set_rockridge): ... here.
10446 (grub_iso9660_mount): Check rockridge on the primary label when
10447 discovering. Ignore Joliet if Rockridge is present.
10448
e551115a
VS
104492011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 Use shifts in nilfs2.
10452
10453 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
10454 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
10455 (grub_nilfs2_palloc_entries_per_group): Replace with ...
10456 (grub_nilfs2_log_palloc_entries_per_group): ... this.
10457 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
10458 (grub_nilfs2_entries_per_block): Replaced with ...
10459 (grub_nilfs2_log_entries_per_block_log): ... this.
10460 (grub_nilfs2_blocks_per_group): Replaced with ...
10461 (grub_nilfs2_blocks_per_group_log): ... this.
10462 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
10463 (grub_nilfs2_blocks_per_desc_block_log): ... this.
10464 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
10465 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
10466 (grub_nilfs2_palloc_entry_offset): Replaced ...
10467 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
10468 (grub_nilfs2_dat_translate): Use shifts.
10469 (grub_nilfs2_read_inode): Likewise.
10470 (GRUB_MOD_INIT): Ensure that logs are correct.
10471
564dd58c
VS
104722011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10473
10474 Use shifts in minix filesystem.
10475
10476 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
10477 (GRUB_MINIX_ZONE2SECT): Likewise.
10478 (grub_minix_data): Replace block_size with log_block_size.
10479 (grub_minix_read_file): Use shifts.
10480 (grub_minix_mount): Check block size and take a logarithm.
10481
ed9ba06d
VS
104822011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 Use shifts in squash4.
10485
10486 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
10487 (squash_mount): Check block size and take logarithm.
10488 (direct_read): Use shifts.
10489
ad03fe76
VS
104902011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10491
10492 Correct befs block counting logic.
10493
10494 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
10495 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
10496 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
10497 (grub_afs_read_inode): Use block_shift.
10498 (RANGE_SHIFT): New definition.
10499 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
10500 unexpected conditions, use shifts and appropriate types.
10501 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
10502
6563f63d
VS
105032011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10504
10505 * grub-core/disk/raid.c (scan_devices): Check partition.
10506 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
10507
5b1ae25f
VS
105082011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 Support BFS (befs) UUID.
10511
10512 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
10513 (grub_afs_small_data_element_header): New struct.
10514 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
10515 (grub_afs_read_attribute) [MODE_BFS]: New function.
10516 (grub_afs_iterate_dir): Allocate for complete inode.
10517 (grub_afs_mount): Likewise.
10518 (grub_afs_uuid) [MODE_BFS]: New function.
10519 (grub_afs_fs) [MODE_BFS]: Add .uuid.
10520
f8d82408
VS
105212011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
10522
10523 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
10524 (zfs_unmount): Fix memory leak.
10525
5773fb64
VS
105262011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 Support NTFS reparse points.
10529
10530 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
10531 (symlink_descriptor): New struct.
10532 (grub_ntfs_read_symlink): New function.
10533 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
10534 (grub_ntfs_open): Likewise.
10535
91c3fdde
VS
105362011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10537
10538 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
10539
3be82e10
VS
105402011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 fstest xnu_uuid subcommand.
10543
10544 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
10545 grub-core/commands/xnu_uuid.c.
10546 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
10547 (fstest): Handle xnu_uuid.
10548 (options): Document xnu_uuid.
10549 (argp_parser): Parse xnu_uuid.
10550
8e32442e
VS
105512011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
10554 -l argument. Add newline at the end if printing.
10555 (GRUB_MOD_INIT): Document -l.
10556
52a05075
VS
105572011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
10560
1869edb5
VS
105612011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10562
10563 ZFS multi-device and version 33 support.
10564
10565 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
10566 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
10567 (grub_zfs_data): Add multidev-ice-related fields.
10568 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
10569 (dva_get_offset): Make dva const.
10570 (zfs_fetch_nvlist): New function.
10571 (fill_vdev_info_real): Likewise.
10572 (fill_vdev_info): Likewise.
10573 (check_pool_label): Likewise.
10574 (scan_disk): Likewise.
10575 (scan_devices): Likewise.
10576 (read_device): Likewise.
10577 (read_dva): Likewise.
10578 (zio_read_gang): Use read_dva.
10579 (zio_read_data): Likewise.
10580 (zap_leaf_lookup): Add missing endian conversion.
10581 (zap_verify): Add missing endian conversion. All users updated.
10582 (fzap_lookup): Likewise.
10583 (fzap_iterate): Likewise.
10584 (dnode_get_path): Handle SA bonus.
10585 (nvlist_find_value): Make input const. All users updated.
10586 (unmount_device): New function.
10587 (zfs_unmount): Use unmount_device.
10588 (zfs_mount): Use scan_disk.
10589 (zfs_mtime): New function.
10590 (grub_zfs_open): Handle system attributes.
10591 (fill_fs_info): Likewise.
10592 (grub_zfs_dir): Likewise.
10593 (grub_zfs_fs): Add mtime.
10594 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
10595 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
10596 (SA_MTIME_OFFSET): Likewise.
10597 (SA_SYMLINK_OFFSET): Likewise.
10598 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
10599 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
10600 (fstest): Support zfsinfo.
10601 (argp_parser): Likewise.
10602
186b4028
VS
106032011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
10606 error.
10607
106082011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
10609
10610 ZFS fixes.
10611
10612 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
10613 sharing the same block. Iterate over correct number of indices.
10614 (dnode_get_path): Handle symlinks correctly.
10615
c0584900
VS
106162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10617
10618 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
10619
67e2bd71
VS
106202011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10621
10622 Read label on HFS+.
10623
10624 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
10625 (grub_hfsplus_btree_search): Fix types.
10626 (grub_hfsplus_label): Implement.
10627
e9cc6b7b
VS
106282011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
10631
19832ddb
VS
106322011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10633
10634 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
10635
66b40850
VS
106362011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 Fix symlink handling on iso9660.
10639
10640 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
10641 All users updated.
10642 (grub_iso9660_susp_iterate): Accept zero-size iterate.
10643 (grub_iso9660_read_symlink): Moved most of code ...
10644 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
10645
db821363
VS
106462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10649 Use union to avoid breaking strict-aliasing rules.
10650
e1211949
VS
106512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 Support multi-extent iso files.
10654
10655 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
10656 Add node.
10657 (grub_fshelp_node): Revamp. All users updated.
10658 (FLAG_*): New enum.
10659 (read_node): New function.
10660 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
10661 All users updated.
10662 (grub_iso9660_mount): Don't attempt to read sua when there is none.
10663 (get_node_size): New function.
10664 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
10665 entries.
10666 Fix memory leak on . and ..
10667 (grub_iso9660_read): Use read_node.
10668 (grub_iso9660_close): Free node.
10669
d4888031
VS
106702011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10671
10672 Fix tar 4G limit and handle paths containing dot.
10673
10674 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
10675 (canonicalize): New function.
10676 (grub_cpio_find_file): Use canonicalize. Store offs in
10677 grub_disk_addr_t.
10678 (grub_cpio_dir): Use grub_disk_addr_t.
10679 (grub_cpio_open): Likewise.
10680
9f12e664
VS
106812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10682
10683 Fix handling of uncompressed blocks on squashfs and break 4G limit.
10684
10685 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
10686 unused flags.
10687 (grub_squash_inode): Add long_file and block_size.
10688 (grub_squash_cache_inode): New struct.
10689 (grub_squash_dirent): Make types into enum.
10690 (SQUASH_TYPE_LONG_REGULAR): New type.
10691 (grub_squash_frag_desc): Add field size.
10692 (SQUASH_BLOCK_FLAGS): New enum.
10693 (grub_squash_data): Use grub_squash_cache_inode.
10694 (grub_fshelp_node): Make ino_chunk 64-bit.
10695 (read_chunk): Minor argument change. All users updated.
10696 (squash_mount): Use correct le_to_cpu.
10697 (grub_squash_open): Handle LONG_REGULAR.
10698 (direct_read): New function.
10699 (grub_squash_read_data): Handle blocks correctly.
10700
9f326fba
VS
107012011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10702
10703 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
10704
f4d9b64b
VS
107052011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
10708
5bbd28b8
VS
107092011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 Fix 2G limit on ZFS.
10712
10713 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
10714 types.
10715 (uberblock_verify): Likewise.
10716 (dmu_read): Likewise.
10717 (grub_zfs_read): Likewise. Remove invalid cast.
10718
68c72069
VS
107192011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10720
10721 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
10722 (grub_jfs_blkno): Fix incorrect shift.
10723 (grub_jfs_read_file): Use more appropriate types.
10724
6e536dc8
VS
107252011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 Support triple indirect on minix2 and minix3.
10728
10729 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
10730 Declare triple_indir_zone.
10731 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
10732 indirect.
10733
e0864e7a
VS
107342011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 Minix FS fixes.
10737
10738 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
10739 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
10740 Rename ctime to mtime. All users updated.
10741 (grub_minix_get_file_block): Fix types and double indirect computations.
10742
89481cab
VS
107432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10744
10745 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
10746 if no label is found.
10747 (grub_fat_iterate_dir): Fix file size type.
10748 (grub_fat_iterate_dir): Likewise.
10749
f646e143
VS
107502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
10753 save some space.
10754 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10755 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10756
534d769e
VS
107572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10758
10759 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
10760
e084ba18
VS
107612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 * util/import_gcry.py: Accept space between # and include.
10764
3471ecdf
VS
107652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10766
10767 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
10768
124df5f6
VS
107692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10770
10771 Fine grainely disable warnings on lexer. Remove Wno-error on it.
10772
10773 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
10774 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
10775 yylex_strncpy.
10776 * grub-core/script/yylex.l: Add fine-grained #pragma.
10777
4defb8d5
VS
107782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10779
10780 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
10781 New inline function.
10782 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
10783 Likewise.
10784 (memset) [GRUB_UTIL]: Likewise.
10785 (memcmp) [GRUB_UTIL]: Likewise.
10786
4e94ae65
VS
107872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10788
10789 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
10790 inline function rather than a define.
10791
18c575e5
VS
107922011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * util/grub-setup.c: Add missing include.
10795
f8bc22a8
VS
107962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 * util/ieee1275/grub-ofpathname.c: Add missing include.
10799
3ce69fc9
VS
108002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10801
10802 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
10803 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
10804 Likewise.
10805
d1e293bb
VS
108062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
10809 grub_memcmp usage.
10810
7a5c54a4
VS
108112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10812
10813 * util/grub-install.in: Add datarootdir as per automake manual
10814 suggestion.
10815 * util/grub-mknetdir.in: Likewise.
10816
108172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
10818
10819 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
10820 suggestion.
10821 * util/grub.d/10_kfreebsd.in: Likewise.
10822 * util/grub.d/10_linux.in: Likewise.
10823 * util/grub.d/10_netbsd.in: Likewise.
10824 * util/grub.d/10_windows.in: Likewise.
10825 * util/grub.d/20_linux_xen.in: Likewise.
10826
766f7d08
VS
108272011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
10828
10829 Remove redundant grub_kernel_image_size.
10830
10831 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
10832 _edata and _start.
10833 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
10834 the small code. It moves it only by few bytes but simplifies the code.
10835 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
10836 _start.
10837 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
10838 (grub_kernel_image_size): Removed.
10839 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
10840 (grub_kernel_image_size): Removed.
10841 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
10842 compiled with Apple toolchain.
10843 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
10844 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
10845 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
10846 (grub_total_module_size): Likewise.
10847 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
10848 Removed.
10849 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
10850 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
10851 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
10852 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
10853 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
10854 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
10855 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
10856 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
10857 Removed.
10858 (grub_total_module_size): Removed.
10859 * util/grub-mkimage.c (image_target_desc): Remove image_size.
10860 (image_targets): Likewise.
10861 Set .compressed_size to no field on sparc.
10862 (generate_image): Remove kernel_image_size handling.
10863
fcf1d672
SJ
108642011-10-19 Szymon Janc <szymon@janc.net.pl>
10865
10866 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
10867 NULL pointer dereference.
10868
de9c615e
VS
108692011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
10872 done with a dedicated section.
10873
10874 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
10875 Ensure the correct position of boot_path.
10876 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
10877 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
10878 other fields.
10879 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
10880 * include/grub/boot.h: Removed. All references removed.
10881 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10882 Removed.
10883 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
10884
e55599dc
VS
108852011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10886
10887 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
10888 name.
10889
36dd20ad
VS
108902011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
10893
f8f72eb8
VS
108942011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10897 Don't add the bogus brackets.
10898
a374751b
VS
108992011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10900
10901 ExFAT support.
10902
10903 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
10904 * grub-core/Makefile.core.def (exfat): New module.
10905 * grub-core/fs/exfat.c: New file.
10906 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
10907 (GRUB_FAT_ATTR_*): Make into an enum.
10908 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
10909 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
10910 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
10911 (GRUB_FAT_MAXFILE): Removed.
10912 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
10913 (grub_current_fat_bpb_t): New type.
10914 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
10915 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
10916 (grub_fat_dir_node_t): New type.
10917 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
10918 (fat_log2) [MODE_EXFAT]: Removed.
10919 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
10920 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
10921 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
10922 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
10923 (grub_fat_label) [MODE_EXFAT]: New function.
10924 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
10925 reserved_first_sector to 0.
10926
544c2487
VS
109272011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10928
10929 Move grub_reboot out of the kernel.
10930
10931 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
10932 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
10933 * grub-core/lib/efi/reboot.c: ... here.
10934 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
10935 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10936 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
10937 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
10938 * grub-core/lib/i386/reboot_trampoline.S: ... here.
10939 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
10940 * grub-core/lib/ieee1275/reboot.c: ... here.
10941 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
10942 * grub-core/lib/mips/arc/reboot.c: ... here.
10943 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
10944 * grub-core/lib/mips/loongson/reboot.c: ...here.
10945 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
10946 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
10947 * include/grub/emu/misc.h (grub_reboot): New function declaration.
10948 * include/grub/i386/reboot.h: New file.
10949 * include/grub/mips/loongson/ec.h: Fix includes.
10950 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
10951 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
10952 * grub-core/lib/i386/reboot.c: New file.
10953
a97501d2
VS
109542011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 Make grub_prefix into module to fix the arbitrary limit and save
10957 some space.
10958
10959 * grub-core/kern/emu/main.c (grub_prefix): Removed.
10960 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
10961 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
10962 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
10963 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
10964 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
10965 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
10966 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
10967 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
10968 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
10969 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
10970 * include/grub/ia64/efi/kernel.h: Removed.
10971 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
10972 (grub_prefix): Removed.
10973 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
10974 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
10975 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
10976 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
10977 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
10978 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
10979 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
10980 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
10981 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
10982 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
10983 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10984 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10985 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
10986 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
10987 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
10988 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
10989 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
10990 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
10991 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
10992 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
10993 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
10994 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
10995 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
10996 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
10997 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
10998 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
10999 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
11000 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
11001 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
11002 from module.
11003 * util/grub-mkimage.c (image_target_desc): Removed prefix and
11004 prefix_end.
11005 (image_targets): Likewise.
11006 (generate_image): Put prefix as a module.
11007
39705fad
VS
110082011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 Replace grub_module_iterate with FOR_MODULES.
11011
11012 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
11013 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
11014 (grub_efi_modules_addr): ...this.
11015 * grub-core/kern/efi/init.c (grub_modbase): New variable.
11016 (grub_efi_init): Set grub_modbase.
11017 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
11018 (grub_modbase): New variable.
11019 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
11020 (grub_modbase): New variable.
11021 (grub_machine_init): Set grub_modbase.
11022 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
11023 (grub_modbase): New variable.
11024 (grub_machine_init): Set grub_modbase.
11025 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
11026 (grub_modbase): New variable.
11027 (grub_machine_init): Set grub_modbase.
11028 * grub-core/kern/main.c (grub_module_iterate): Remove.
11029 (grub_modules_get_end): Use grub_modbase.
11030 (grub_load_modules): Use FOR_MODULES.
11031 (grub_load_config): Likewise.
11032 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
11033 (grub_modbase): New variable.
11034 (grub_machine_init): Set grub_modbase.
11035 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
11036 (grub_modbase): New variable.
11037 (grub_machine_init): Set grub_modbase.
11038 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
11039 Removed.
11040 (grub_modbase): New variable.
11041 (grub_machine_init): Set grub_modbase.
11042 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
11043 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
11044 (grub_module_iterate): Likewise.
11045 (grub_modbase): New variable declaration.
11046 (FOR_MODULES): New macro.
11047
2afb7f6c
VS
110482011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11049
11050 * configure.ac: Check for __ctzdi2 and __ctzsi2.
11051 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
11052
366e34fa
VS
110532011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 Fix few obvious type discrepancies.
11056
11057 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
11058 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
11059 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
11060 variable.
11061 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
11062 and connected types.
11063 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
11064 offset.
11065 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
11066 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
11067 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
11068 and connected types.
11069
177b960e
VS
110702011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11071
11072 Fix python 3.x incompatibilities.
11073
11074 * gentpl.py: Put brackets around print strings.
11075 * util/import_gcry.py: Open explicitly as utf-8.
11076 Use in instead of has_key.
11077
3b619ae1
VS
110782011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11079
11080 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
11081 (GRUB_XFS_INO_AGBITS): Make into inline function.
11082 (GRUB_XFS_INO_INOINAG): Likewise.
11083 (GRUB_XFS_INO_AG): Likewise.
11084 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
11085 (GRUB_XFS_EXTENT_OFFSET): Likewise.
11086 (GRUB_XFS_EXTENT_BLOCK): Likewise.
11087 (GRUB_XFS_EXTENT_SIZE): Likewise.
11088 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
11089 (GRUB_XFS_NEXT_DIRENT): Likewise.
11090 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
11091 (grub_xfs_read_file): Fix offset type.
11092
8bcebcb8
RM
110932011-10-15 Robert Millan <rmh@gnu.org>
11094
11095 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
11096
0017e5ef
RM
110972011-10-15 Robert Millan <rmh@gnu.org>
11098
11099 Fix build problem on FreeBSD and GNU/kFreeBSD.
11100
11101 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
11102
d8919552
VS
111032011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11104
11105 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
11106
11107 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
11108 types.
11109 (grub_hfsplus_btree_recoffset): Likewise.
11110 (grub_hfsplus_btree_recptr): Likewise.
11111 (grub_hfsplus_find_block): Likewise.
11112 (grub_hfsplus_btree_search): Likewise.
11113 (grub_hfsplus_read_block): Likewise.
11114 (grub_hfsplus_read_file): Likewise.
11115 (grub_hfsplus_mount): Likewise.
11116 (grub_hfsplus_btree_iterate_node): Likewise.
11117 (grub_hfsplus_btree_search): Likewise.
11118 (grub_hfsplus_iterate_dir): Likewise.
11119 (grub_hfsplus_read): A small code simplification.
11120
c81296b6
VS
111212011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 * grub-core/kern/emu/hostdisk.c
11124 (convert_system_partition_to_system_disk): Don't assume that children
11125 of mapper nodes are mapper nodes.
11126
0eb8ffb1
VS
111272011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11128
11129 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
11130 * include/grub/misc.h (grub_isxdigit): New function.
11131 * grub-core/video/colors.c (my_isxdigit): Removed. All users
11132 switched to grub_isxdigit.
11133 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
11134 number starting with a letter.
11135
a98f4a08
RM
111362011-10-09 Robert Millan <rmh@gnu.org>
11137
11138 LVM support for FreeBSD and GNU/kFreeBSD.
11139
11140 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
11141 GNU/kFreeBSD.
11142 (LVM_DEV_MAPPER_STRING): Move from here ...
11143 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
11144 * util/getroot.c: Include `<grub/util/lvm.h>'.
11145 (grub_util_get_dev_abstraction): Enable
11146 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
11147 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
11148 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
11149 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
11150 support it.
11151 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
11152 GNU/kFreeBSD.
11153 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
11154 when LVM abstraction is required for ${GRUB_DEVICE}.
11155
050e8e90
SJ
111562011-10-06 Szymon Janc <szymon@janc.net.pl>
11157
11158 Add support for LZO compression in GRUB:
11159 - import of minilzo library,
11160 - LZO decompression for btrfs,
11161 - lzop files decompression.
11162
11163 * grub-core/io/lzopio.c: New file.
11164 * grub-core/lib/adler32.c: Likewise.
11165 * grub-core/lib/minilzo/lzoconf.h: Likewise.
11166 * grub-core/lib/minilzo/lzodefs.h: Likewise.
11167 * grub-core/lib/minilzo/minilzo.c: Likewise.
11168 * grub-core/lib/minilzo/minilzo.h: Likewise.
11169 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
11170 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
11171 grub-core/lib/minilzo/minilzo.c to common.
11172 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
11173 cflags in cppflags.
11174 * grub-core/Makefile.core.def (btrfs): Likewise.
11175 * grub-core/Makefile.core.def (lzopio): New module.
11176 (adler32): Likewise.
11177 * grub-core/fs/btrfs.c: Include minilzo.h.
11178 (GRUB_BTRFS_COMPRESSION_LZO): New define.
11179 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
11180 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
11181 (grub_btrfs_lzo_decompress): New function.
11182 (grub_btrfs_extent_read): Add support for LZO compression type.
11183 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
11184 (GRUB_USHRT_MAX): Likewise.
11185 (GRUB_UINT_MAX): Likewise.
11186 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
11187 (UINT_MAX): Likewise.
11188 (CHAR_BIT): Likewise.
11189 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
11190 grub-core/lib/posix_wrap/limits.h
11191 (UCHAR_MAX): Likewise.
11192 * include/grub/file.h (grub_file_filter_id): New compression filter
11193 GRUB_FILE_FILTER_LZOPIO.
11194 * include/grub/file.h (grub_file_filter_id): Set
11195 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
11196 * include/grub/types.h (grub_get_unaligned16): New function.
11197 (grub_get_unaligned32): Likewise.
11198 (grub_get_unaligned64): Likewise.
11199 * util/import_gcry.py (cryptolist): Add adler32.
11200
0eb8ffb1
VS
112012011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
11204 in perspective decreases the complexity of build system and fixes
11205 compilation right now.
11206
ce79cc99 112072011-10-01 Ales Nesrsta <starous@volny.cz>
11208
11209 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
11210 (fixed problem related to using UHCI with coreboot).
11211
8667a314
BC
112122011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
11213
11214 * gentpl.py: Use Autogen macros so that the output template file
11215 (Makefile.tpl) size is reduced.
11216
fc5efcc0
MK
112172011-09-29 Mads Kiilerich <mads@kiilerich.com>
11218
11219 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
11220 extra_dist.
11221
d1ab689d
ML
112222011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11223
11224 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
11225 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
11226
c05de032
ML
112272011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11228
11229 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
11230 _fullpath.
11231
cca7ccd8
ML
112322011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11233
11234 Remove extra declaration of sleep for mingw32.
11235
11236 * util/misc.c (sleep) [__MINGW32__]: Removed.
11237 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
11238
e0b0dc83
GS
112392011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
11240
11241 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
11242 type and packname.
11243 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
11244 Resurrected.
11245 (NETBSD_BTINFO_BOOTWEDGE): New definition.
11246 (grub_netbsd_btinfo_bootwedge): New struct.
11247 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
11248 New function.
11249 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
11250
91a1a164
TH
112512011-09-28 Thomas Haller <thomas.haller@fen-net.de>
11252
11253 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
11254 loader.
11255
2ded951e
AB
112562011-09-28 Andreas Born <futur.andy@googlemail.com>
11257
11258 Fix incorrect identifiers in bash-completion.
11259
11260 * util/bash-completion.d/grub-completion.bash.in
11261 (_grub_mkpasswd-pbkdf2): Rename to ...
11262 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
11263 (_grub_script-check): Rename to ...
11264 (_grub_script_check): ... this. All users updated.
11265
69915030
VS
112662011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
11269 Return 0 if disk isn't biosdisk.
11270
20fd15f9
GS
112712011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
11272
11273 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
11274 on NetBSD.
11275 * Makefile.util.def (grub-fstest): Likewise.
11276
1a7d7db9
GS
112772011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
11278
11279 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
11280 Get sector size from disk label.
11281
2221ab6c
CW
112822011-09-05 Colin Watson <cjwatson@ubuntu.com>
11283
11284 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
11285 */README* as well as README*.
11286 Reported by: Axel Beckert.
11287
ca51c4a0
VS
112882011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11289
11290 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
11291 case of less than 256 MiB of RAM.
11292
ab80f326
VS
112932011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 * grub-core/commands/wildcard.c (make_regex): Handle @.
11296
4155e697
VS
112972011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11298
11299 * util/grub-install.in: Move cryptodisk logic to appropriate place.
11300
ab178c08
SJ
113012011-08-21 Szymon Janc <szymon@janc.net.pl>
11302
11303 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
11304 AC_LANG_CONFTEST macros.
11305
7dc3c686
SJ
113062011-08-20 Szymon Janc <szymon@janc.net.pl>
11307
11308 Add grub-fstest option to uncompress data for commands.
11309
11310 * util/grub-fstest.c (uncompress): New var.
11311 (options): New option -u.
11312
fe8d4a7b
SJ
113132011-08-20 Szymon Janc <szymon@janc.net.pl>
11314
11315 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
11316 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
11317
a5219af1
SJ
113182011-08-20 Szymon Janc <szymon@janc.net.pl>
11319
11320 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
11321 file type was not recognized correctly (not gzip or corrupted).
11322
f87abff5
VS
113232011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11324
11325 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
11326 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
11327
d94497ea
VS
113282011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
11331 loongson.
11332 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11333 video_radeon_fuloong2e.
11334 * grub-core/video/radeon_fuloong2e.c: New file.
11335 * include/grub/video.h (grub_video_id_t): Add new ID
11336 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
11337
0d1fd011
VS
113382011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11339
11340 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
11341 define.
11342 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
11343 that PRID matches the detected subplatform and reset the subplatform
11344 if it doesn't.
11345
84beb0ee
VS
113462011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
11349
1227c133
VS
113502011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 Fix PCI iterating on functions >= 4.
11353
11354 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
11355 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
11356 Removed.
11357 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
11358 (grub_pci_read): Fix bitmask.
11359 (grub_pci_read_word): Likewise.
11360 (grub_pci_read_byte): Likewise.
11361 (grub_pci_write): Likewise.
11362 (grub_pci_write_word): Likewise.
11363 (grub_pci_write_byte): Likewise.
11364
9594c689
VS
113652011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11366
11367 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
11368 can still be specified in TARGET_CFLAGS)
11369
14a2562c
VS
113702011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
11373
11374 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
11375 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
11376 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
11377 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
11378 (FULOONG): Rename to ...
11379 (FULOONG2F): ... this. All users updated.
11380 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
11381 (machtype_fuloong2f_str): ... this.
11382 (machtype_fuloong2e_str): New string.
11383 Check for machtype_fuloong2e_str.
11384 * grub-core/loader/mips/linux.c (loongson_machtypes)
11385 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
11386 * grub-core/term/serial.c (loongson_defserial)
11387 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
11388 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
11389 loongson_defserial.
11390 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
11391 Rename to ...
11392 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
11393 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
11394 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
11395 to IMAGE_FULOONG2F_FLASH. All users updated.
11396 (image_targets): Rename images.
11397 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
11398
b526cbb6
SJ
113992011-08-19 Szymon Janc <szymon@janc.net.pl>
11400
11401 Make enable of disk cache statistics code configurable.
11402
11403 * configure.ac: --enable-cache-stats added.
11404 * config.h.in (DISK_CACHE_STATS): New define.
11405 * grub-core/Makefile.core.def (cacheinfo): New command.
11406 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
11407 * grub-core/commands/cacheinfo.c: New file.
11408 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
11409 moved to cacheinfo.c.
11410 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
11411 debug code.
11412 * include/grub/disk.h: Likewise.
11413
fb739ccd
SJ
114142011-08-19 Szymon Janc <szymon@janc.net.pl>
11415
11416 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
11417 * grub-core/Makefile.am: Likewise.
11418
2bba8cfd
VS
114192011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11420
11421 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
11422 non-zero pull.
11423
43526629
VS
114242011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11425
11426 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
11427 All users updated.
11428 (grub_jfs_lookup_symlink): Use correct starting inode.
11429
5c144cc8
VS
114302011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11431
11432 * util/grub-setup.c (main): Add missing gcry initialisation.
11433
b1257f65
VS
114342011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11435
11436 Don't accept text modes on EFI when booting Linux.
11437
11438 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
11439 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
11440
828bc390
ML
114412011-08-15 Mario Limonciello <mario_limonciello@dell.com>
114422011-08-15 Colin Watson <cjwatson@ubuntu.com>
11443
11444 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
11445 use of "/path/.." as in grub-install for EFI as well as handling
11446 symlinks correctly.
11447 Fixes Debian bug #637768.
11448
5f60ccac
CW
114492011-08-15 Colin Watson <cjwatson@ubuntu.com>
11450
11451 * util/grub-probe.c: Remove duplicate #include.
11452
6dc212f9
RM
114532011-08-10 Robert Millan <rmh@gnu.org>
11454
11455 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
11456
11457 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
11458 function.
11459 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
11460 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
11461
66816d85
RM
114622011-08-03 Robert Millan <rmh@gnu.org>
11463
11464 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
11465 la_array as packed.
11466 Reported by: Zachary Bedell
11467
20168fca
CW
114682011-07-26 Colin Watson <cjwatson@ubuntu.com>
11469
11470 * configure.ac: The Loongson port requires grub-mkfont due to its
11471 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
11472 be built.
11473
303b6246
CW
114742011-07-26 Colin Watson <cjwatson@ubuntu.com>
11475
11476 * util/grub-install.in: Don't source grub-mkconfig_lib until after
11477 processing arguments (otherwise help2man fails when GRUB has not yet
11478 been installed).
11479
6795300e
VS
114802011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11481
41aa28ea
VS
11482 New script grub-mkstandalone.
11483
11484 * Makefile.util.def (grub-mkstandalone): New script.
11485 * docs/man/grub-mkstandalone.h2m: New file.
11486 * util/grub-mkstandalone.in: Likewise.
11487
114882011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11489
11490 Support ATA disks with 4K sectors.
6795300e
VS
11491
11492 * include/grub/ata.h (grub_ata): New member log_sector_size.
11493 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
11494 (grub_ata_identify): Read sector size.
11495 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
11496
92227597
VS
114972011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 * util/grub-install.in: Don't use uhci outside of x86.
11500
c77069f5
VS
115012011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11502
11503 * util/grub-mkrescue.in: Add missing quotes.
11504
115052011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
11506
11507 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
11508 dereference.
11509
583168a2
VS
115102011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11511
11512 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
11513
6be1c01f
VS
115142011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * include/grub/video.h: add missing EXPORT_FUND on
11517 grub_video_edid_checksum and grub_video_edid_preferred_mode.
11518
a1167439
VS
115192011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 * include/grub/mips/kernel.h: Fix define conflict.
11522
bf66054f
VS
115232011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
11526 all four ways.
11527
8fc4fa45
CW
115282011-07-21 Colin Watson <cjwatson@ubuntu.com>
11529
11530 Preferred resolution detection for VBE.
11531
11532 * grub-core/video/video.c (grub_video_edid_checksum): New function.
11533 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
11534 the Flat Panel extension, in line with the X.org VESA driver.
11535 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
11536 New function.
11537 (grub_vbe_bios_get_ddc_capabilities): Likewise.
11538 (grub_vbe_bios_read_edid): Likewise.
11539 (grub_vbe_get_preferred_mode): Likewise.
11540 (grub_video_vbe_setup): When the mode is "auto", try to get the
11541 preferred mode from VBE, and use the largest mode that is no larger
11542 than the preferred mode (some BIOSes expose a preferred mode that is
11543 not in their mode list!). If this fails, fall back to 640x480 as a
11544 safe conservative choice.
11545 (grub_video_vbe_get_edid): New function.
11546 (grub_video_vbe_adapter): Add get_edid.
11547 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
11548 (struct grub_video_adapter): Add get_edid.
11549 (grub_video_edid_checksum): Add prototype.
11550 (grub_video_edid_preferred_mode): Likewise.
11551 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
11552 structure.
11553
11554 * grub-core/commands/videoinfo.c (print_edid): New function.
11555 (grub_cmd_videoinfo): Print EDID if available.
11556
11557 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
11558 is more appropriate on a wider range of platforms than 640x480.
11559 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
11560 documentation.
11561
ca5572a9
VS
115622011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11563
11564 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
11565
e4bcf625
VS
115662011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11567
11568 * po/POTFILES.in: Regenerate.
11569
c4edd548
VS
115702011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11571
11572 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
11573 incorrect memory usage.
11574
16a2bab0
VS
115752011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 * util/grub-install.in: Source grub-mkconfig_lib.
11578
2e418de6
VS
115792011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11580
11581 Remove getroot.c from core on emu platform.
11582
11583 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
11584 kern/emu/raid.c.
11585 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
11586 useless.
11587 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
11588 * util/getroot.c (get_win32_path): ... here.
11589 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
11590 * util/getroot.c (fini_libzfs): ... here.
11591 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
11592 * util/getroot.c (grub_get_libzfs_handle): ... here.
11593 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
11594 Moved from here...
11595 * util/getroot.c (grub_find_zpool_from_dir): ... here.
11596 * grub-core/kern/emu/misc.c
11597 (grub_make_system_path_relative_to_its_root): Moved from here...
11598 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
11599 * grub-core/kern/emu/getroot.c: Moved from here ...
11600 * util/getroot.c: ... here. All users updated.
11601 * grub-core/kern/emu/raid.c: Moved from here ...
11602 * util/raid.c: ... here. All users updated.
11603
def9832a
VS
116042011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11605
11606 * po/POTFILES.in: Regenerate.
11607
cd8fe79a
VS
116082011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11609
11610 Fix compilation on GNU/Linux.
11611
11612 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
11613 Disable geli.
11614 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
11615 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
11616 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
11617
a251b719
VS
116182011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
116192011-07-07 Michael Gorven <michael@gorven.za.net>
116202011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
11621
11622 LUKS and GELI support.
11623
11624 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
11625 grub-core/disk/luks.c, grub-core/disk/geli.c,
11626 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
11627 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
11628 grub-core/lib/arg.c.
11629 (libgrubmods.a): Remove gcrypts cflags and cppflags.
11630 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
11631 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
11632 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
11633 (grub-bin2h): Add libgcry.a.
11634 (grub-mkimage): Likewise.
11635 (grub-mkrelpath): Likewise.
11636 (grub-script-check): Likewise.
11637 (grub-editenv): Likewise.
11638 (grub-mkpasswd-pbkdf2): Likewise.
11639 (grub-pe2elf): Likewise.
11640 (grub-fstest): Likewise.
11641 (grub-mkfont): Likewise.
11642 (grub-mkdevicemap): Likewise.
11643 (grub-probe): Likewise.
11644 (grub-ofpath): Likewise.
11645 (grub-mklayout): Likewise.
11646 (example_unit_test): Likewise.
11647 (grub-menulst2cfg): Likewise.
11648 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
11649 * grub-core/Makefile.core.def (cryptodisk): New module.
11650 (luks): Likewise.
11651 (geli): Likewise.
11652 * grub-core/disk/AFSplitter.c: New file.
11653 * grub-core/disk/cryptodisk.c: Likewise.
11654 * grub-core/disk/geli.c: Likewise.
11655 * grub-core/disk/luks.c: Likewise.
11656 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
11657 grub_util_is_lvm.
11658 (grub_util_get_dm_abstraction): New function.
11659 (grub_util_follow_gpart_up): Likewise.
11660 (grub_util_get_geom_abstraction): Likewise.
11661 (grub_util_get_dev_abstraction): Use new functions.
11662 (grub_util_pull_device): Pull GELI and LUKS.
11663 (grub_util_get_grub_dev): Handle LUKS and GELI.
11664 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
11665 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
11666 (follow_geom_up): Removed.
11667 (grub_util_fd_seek): New function.
11668 (open_device): Use grub_util_fd_seek.
11669 (nread): Rename to ..
11670 (grub_util_fd_read): ... this. All users updated.
11671 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
11672 (grub_crypto_cbc_decrypt): Likewise.
11673 (grub_crypto_hmac_write): Likewise.
11674 (grub_crypto_hmac_buffer): Likewise.
11675 (grub_password_get): Extend to util.
11676 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
11677 New member modname.
11678 (gcry_md_spec) [GRUB_UTIL]: Likewise.
11679 * include/grub/cryptodisk.h: New file.
11680 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
11681 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
11682 LUKS and GELI.
11683 (grub_util_follow_gpart_up): New proto.
11684 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
11685 (grub_util_fd_read): Likewise.
11686 (grub_cryptodisk_cheat_mount): Likewise.
11687 (grub_util_cryptodisk_print_uuid): Likewise.
11688 (grub_util_get_fd_sectors): Likewise.
11689 * util/grub-fstest.c (mount_crypt): New var.
11690 (fstest): Mount crypto if requested.
11691 (options): New option -C.
11692 (argp_parser): Parse -C.
11693 (main): Init and fini gcry.
11694 * util/grub-install.in: Support cryptodisk install.
11695 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
11696 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
11697 cryptodisk.
11698 (prepare_grub_to_access_device): Likewise.
11699 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
11700 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
11701 (probe_cryptodisk_uuid): New function.
11702 (probe_abstraction): Likewise.
11703 (probe): Use new functions.
11704 * util/import_gcry.py: Create Makefile.utilgcry.def.
11705 Add modname member.
11706
9bfdcbbc
VS
117072011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 Lazy device scanning.
11710
11711 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
11712 (grub-setup): Remove util/raid.c.
11713 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
11714 * grub-core/disk/lvm.c (scan_depth): New variable.
11715 (grub_lvm_iterate): Rescan if necessary.
11716 (find_lv): New function based on grub_lvm_open.
11717 (grub_lvm_open): Use find_lv. Rescan on error.
11718 (is_node_readable): New function.
11719 (is_lv_readable): Likewise.
11720 (grub_lvm_scan_device): Skip already found disks.
11721 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
11722 Stop if searched device is found and readable.
11723 * grub-core/disk/raid.c (inscnt): New variable.
11724 (scan_depth): Likewise.
11725 (scan_devices): New function based on grub_raid_register. Abort if
11726 looked for device is found.
11727 (grub_raid_iterate): Rescan if needed.
11728 (find_array): NEw function based on -grub_raid_open.
11729 (grub_raid_open): Use find_array and rescan.
11730 (insert_array): Set became_readable_at.
11731 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
11732 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
11733 New function.
11734 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
11735 (grub_util_pull_device): New function.
11736 (grub_util_get_grub_dev): Call grub_util_pull_device.
11737 * util/raid.c: Moved to ..
11738 * grub-core/kern/emu/raid.c: ... here.
11739 (grub_util_raid_getmembers): New parameter "bootable".
11740 All users updated. Support 1.x.
11741 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
11742 All users updated.
11743 * include/grub/disk.h (grub_disk_pull_t): New enum.
11744 (grub_disk_dev): Change iterate prototype.
11745 All users updated.
11746 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
11747 New proto.
11748 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
11749 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
11750 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
11751 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
11752 All users updated.
11753 * include/grub/util/raid.h: Removed.
11754
1c358e59
VS
117552011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 * po/POTFILES.in: Regenerate.
11758
abee94ed
VS
117592011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 Unify sparc init with other ieee1275.
11762
11763 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
11764 instead of kern/sparc64/ieee1275/init.c.
11765 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
11766 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
11767 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
11768 grub/machine/kernel.h.
11769 (grub_ieee1275_original_stack) [__sparc__]: New variable.
11770 (grub_claim_heap) [__sparc__]: Use sparc version.
11771 (grub_machine_init): Moved args parsing to
11772 (grub_parse_cmdline): ...this.
11773 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
11774 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
11775 New definition.
11776 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
11777
11778 Move BOOTP to separate file.
11779
11780 * grub-core/Makefile.core.def (net): Add net/bootp.c.
11781 * grub-core/net/net.c: Move all BOOTP functions to
11782 * grub-core/net/bootp.c: ... here.
11783
11784 Use frame interface on PXE.
11785
11786 * grub-core/Makefile.core.def (pxecmd): Removed.
11787 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
11788 * grub-core/commands/i386/pc/pxecmd.c: Removed.
11789 * grub-core/i386/pc/pxe.c: Moved from here ...
11790 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
11791 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
11792 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
11793
11794 EFI network support.
11795
11796 * grub-core/Makefile.core.def (efinet): New module.
11797 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
11798 here...
11799 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
11800 All users updated.
11801 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
11802 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
11803 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
11804 * grub-core/net/drivers/efi/efinet.c: New file.
11805 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
11806 (grub_efi_net_config): New extern var.
11807
11808 Various cleanups and bugfixes.
11809
11810 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
11811 error.
11812 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
11813 disk declared as partition.
11814 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
11815 leak on failure.
11816 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
11817 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
11818 (grub_debug_zalloc): Likewise.
11819 (grub_debug_realloc): Likewise.
11820 (grub_debug_memalign): Likewise.
11821 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
11822 Check that target is IPv4.
11823 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
11824 local-mac-address as fallback.
11825 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
11826 memory leak.
11827 * grub-core/net/ip.c (ipchksum): Rename to ...
11828 (grub_net_ip_chksum): ... this. All users updated.
11829 (grub_net_recv_ip_packets): Special handling for DHCP.
11830 * util/grub-mkimage.c (generate_image): Zero-out aout header.
11831
11832 Unify prefix handling
11833
11834 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
11835 (grub_machine_get_bootlocation): ... this.
11836 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
11837 (grub_machine_get_bootlocation): ... this.
11838 (grub_prefix): New variable.
11839 (prefix): Removed.
11840 (root_dev): New variable.
11841 (dir): Likewise.
11842 (main): Use new variables.
11843 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
11844 Revamped into ...
11845 (grub_machine_get_bootlocation): ... this.
11846 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
11847 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
11848 (grub_machine_get_bootlocation): ... this.
11849 (grub_machine_set_prefix): Removed.
11850 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
11851 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
11852 Revamped into ...
11853 (grub_machine_get_bootlocation): ... this.
11854 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
11855 (grub_set_prefix_and_root): ... this. All users updated.
11856 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
11857 Revamped into ...
11858 (grub_machine_get_bootlocation): ... this.
11859 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
11860 (grub_machine_get_bootlocation): New proto.
11861 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
11862
11863 Less intrusive and more reliable seek on network implementation.
11864
11865 * grub-core/kern/file.c (grub_file_net_seek): Removed.
11866 (grub_file_seek): Don't call grub_file_net_seek.
11867 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
11868 (grub_net_fs_read_real): .. this.
11869 (grub_net_seek_real): Use net->offset.
11870 (grub_net_fs_read): Seek if necessary.
11871
11872 Unify IEEE1275 netwotk config with the other platforms.
11873
11874 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
11875 New variable.
11876 (grub_machine_get_bootlocation): Support network.
11877 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11878 Support type and device parsing.
11879 (grub_ieee1275_get_device_type): New function.
11880 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
11881 into ...
11882 (grub_ieee1275_net_config_real): ... this.
11883 (grub_ofnet_probecards): Removed.
11884 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
11885 * include/grub/ieee1275/ofnet.h: Removed.
11886 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
11887 extern var.
11888 (grub_ieee1275_get_device_type): New function.
11889
11890 Unify network device closing across platforms and make more robust.
11891
11892 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
11893 grub_grubnet_fini.
11894 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
11895 already.
11896 * grub-core/net/net.c (grub_net_network_level_interface_register):
11897 Update num_ifaces.
11898 (grub_net_card_unregister): Close all interfaces.
11899 (receive_packets): Don't poll if no iterfaces are registered.
11900 Open if necessary.
11901 (grub_net_fini_hw): New function.
11902 (grub_net_restore_hw): Likewise.
11903 (fini_hnd): New variable.
11904 (GRUB_MOD_INIT): Register preboot hook.
11905 (GRUB_MOD_FINI): Run and unregister preboot hook.
11906
11907 Poll network cards when idle.
11908
11909 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
11910 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
11911 * grub-core/net/net.c (receive_packets): Save last poll time.
11912 (grub_net_poll_cards_idle_real): New function.
11913 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
11914 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
11915 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
11916
11917 Rename ofnet interfaces.
11918
11919 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
11920 (grub_ofnet_findcards): Use ofnet_%s names.
11921
11922 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
11923
11924 Cleanup socket opening.
11925
11926 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
11927 (grub_net_fs_close): Likewise.
11928 (grub_net_fs_read_real): Use eof member.
11929 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
11930 (+grub_net_udp_close): New inline function.
11931
11932 * include/grub/net/tftp.h: Moved to the top of ...
11933 * grub-core/net/tftp.c: ... here.
11934 * include/grub/net/ip.h: Moved mostly to the top of ...
11935 * grub-core/net/ip.c: ... here.
11936 * include/grub/net/ethernet.h: Moved mostly to the top of ...
11937 * grub-core/net/ethernet.c: ... here.
11938
11939 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
11940
11941 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
11942 FS name.
11943
11944 * include/grub/net/ip.h (ipv4_ini): Removed.
11945 (ipv4_fini): Likewise.
11946
11947 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
11948 (grub_net_send_ip_packets): Likewise.
11949
cf1337aa
VS
119502011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11951
11952 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
11953 grub_read_cmos prototype.
11954
93c06ff9
VS
119552011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 VGA text support in qemu-mips
11958
11959 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
11960 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
11961 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
11962 text.
11963 * grub-core/kern/i386/qemu/init.c: Renamed to ...
11964 * grub-core/kern/vga_init.c: ... this.
11965 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
11966 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
11967 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
11968 Adjust.
11969 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
11970 GRUB_MACHINE_PCI_IO_BASE.
11971
748ccabe
VS
119722011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11973
11974 MIPS qemu flash support.
11975
11976 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
11977 magic.
11978 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
11979 (grub_machine_init): Probe memory if its size isn't known.
11980 * util/grub-mkimage.c (image_targets): Add flash targets.
11981 (generate_image): Handle flash targets.
11982
d7345994
VS
119832011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11984
11985 MIPS qemu at_keyboard support.
11986
11987 * gentpl.py (videoinkernel): Add qemu-mips.
11988 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
11989 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
11990 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
11991 modules.
11992 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
11993 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
11994 * grub-core/term/serial.c (grub_serial_register)
11995 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
11996
a07a81b3
VS
119972011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11998
11999 CMOS support on sparc.
12000
12001 * gentpl.py (cmos): Add powerpc and sparc.
12002 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
12003 powerpc and sparc.
12004 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
12005 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
12006 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
12007 grub_set_datetime_cmos.
12008 * grub-core/lib/ieee1275/cmos.c: New file.
12009 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
12010 (find_rtc): Set no_ieee1275_rtc on error.
12011 (grub_get_datetime): Call grub_get_datetime_cmos on error.
12012 (grub_set_datetime): Call grub_set_datetime_cmos on error.
12013 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
12014 fail. Move value to argument. All users updated
12015 (grub_cmos_write): Likewise.
12016 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
12017 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
12018 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
12019 grub_get_datetime_cmos and grub_set_datetime_cmos.
12020
77546584
GS
120212011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
12022
12023 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
12024 sourcing grub-mkconfig_lib.
12025 * util/update-grub_lib.in: Likewise.
12026 * util/grub.d/00_header.in: Likewise.
12027 * util/grub.d/10_hurd.in: Likewise.
12028 * util/grub.d/10_kfreebsd.in: Likewise.
12029 * util/grub.d/10_linux.in: Likewise.
12030 * util/grub.d/10_netbsd.in: Likewise.
12031 * util/grub.d/10_windows.in: Likewise.
12032 * util/grub.d/20_linux_xen.in: Likewise.
12033 * util/grub.d/30_os-prober.in: Likewise.
12034
54894791
CW
120352011-06-28 Colin Watson <cjwatson@ubuntu.com>
12036
12037 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
12038 default_bg_color rather than black.
12039 (grub_gfxterm_fullscreen): Likewise.
12040 (grub_gfxterm_background_color_cmd): Save new background color in
12041 default_bg_color.
12042
8d5d8444
VS
120432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12044
12045 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
12046
5afeb5bd
VS
120472011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12048
12049 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
12050 mismerge.
12051
ba7df45e
VS
120522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12053
12054 Chainloading on coreboot support.
12055
12056 * grub-core/Makefile.core.def (chain): Add coreboot.
12057 * grub-core/loader/i386/coreboot/chainloader.c: New file.
12058
d0b526b2
VS
120592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
12062 if it happens.
12063
5ff1d945
VS
120642011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12065
12066 Implement time command.
12067
12068 * grub-core/Makefile.core.def (time): New module.
12069 * grub-core/commands/time.c: New file.
12070 * grub-core/script/parser.y: Remove "time" keyword.
12071 * grub-core/script/yylex.l: Likewise.
12072
5ebaad7e
VS
120732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12074
12075 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
12076
bdea3798
VS
120772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
12080 when handling leftovers.
12081
b28c5655
VS
120822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
12085 so that help2man doesn't fail.
12086
b6f945dc
VS
120872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12088
12089 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
12090 type in pointers on sparc64.
12091 (get_card_packet): Likewise.
12092
f9b75e8a
CW
120932011-06-27 Colin Watson <cjwatson@ubuntu.com>
12094
12095 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
12096 with `*'.
12097 (grub_cmd_videoinfo): Fetch current video mode.
12098
1e3d9b86
VS
120992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12100
12101 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
12102 because of underlying system restrictions.
12103
efff4b1c
VS
121042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12105
12106 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
12107 necessary.
12108
9fc9ce37
VS
121092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12110
12111 Coreboot video support.
12112
12113 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
12114 (vbe): Likewise.
12115 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
12116 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
12117 here ...
12118 * grub-core/kern/i386/int.S: ... here.
12119 * grub-core/video/i386/pc/vbe.c: Updated includes.
12120 * grub-core/video/i386/pc/vga.c: Likewise.
12121 * include/grub/i386/coreboot/memory.h
12122 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
12123 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
12124 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
12125 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
12126 Disable interrupts.
12127 * include/grub/i386/pc/vga.h: Removed. All users updated.
12128
41bec7fe
VS
121292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
12132 definitions for dprintf.
12133 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
12134
ca80309d
VS
121352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
12138 prototype.
12139 (get_card_packet): Likewise.
12140
9e322ce8
YB
121412011-06-26 Yves Blusseau <blusseau@zetam.org>
12142
12143 Display the path of the file when file is not found
12144
12145 * grub-core/fs/fat.c: Display the filename when file is not found.
12146 * grub-core/fs/fshelp.c: Likewise.
12147 * grub-core/fs/hfs.c: Likewise.
12148 * grub-core/fs/jfs.c: Likewise.
12149 * grub-core/fs/minix.c: Likewise.
12150 * grub-core/fs/ufs.c: Likewise.
12151 * grub-core/fs/btrfs.c: Likewise.
12152 * grub-core/commands/i386/pc/play.c: Likewise.
12153
cbf597af
SJ
121542011-06-26 Szymon Janc <szymon@janc.net.pl>
12155
12156 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
12157 pointer checks before calling grub_free().
12158 * grub-core/commands/wildcard.c (match_devices): Likewise.
12159 * grub-core/commands/wildcard.c (match_files): Likewise.
12160 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
12161 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
12162 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
12163 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
12164 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
12165 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
12166 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
12167 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
12168 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
12169
6295b32f
P
121702011-06-25 Patrick <p55@mailinator.com>
12171
12172 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
12173
77c0840b
VS
121742011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
12177 (grub_pxe_send): Likewise.
12178 (GRUB_MOD_INIT): Fix types.
12179
40ea05de
SJ
121802011-06-24 Szymon Janc <szymon@janc.net.pl>
12181
12182 * grub-core/io/xzio.c: Fix code style issues
12183
90162423
MRA
121842011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
121852011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
12186
12187 Network infrastructure.
12188 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
12189
12190 * include/grub/net/arp.h: New file.
90162423
MRA
12191 * include/grub/net/device.h: Likewise.
12192 * include/grub/net/ethernet.h: Likewise.
12193 * include/grub/net/ip.h: Likewise.
12194 * include/grub/net/netbuff.h: Likewise.
12195 * include/grub/net/tftp.h: Likewise.
12196 * include/grub/net/udp.h: Likewise.
12197 * include/grub/ieee1275/ofnet.h: Likewise.
12198 * include/grub/emu/export.h: Likewise.
12199 * include/grub/net.h: Likewise.
12200 * grub-core/net/arp.c: Likewise.
12201 * grub-core/net/ethernet.c: Likewise.
12202 * grub-core/net/ip.c: Likewise.
12203 * grub-core/net/udp.c: Likewise.
12204 * grub-core/net/tftp.c: Likewise.
12205 * grub-core/net/netbuff.c: Likewise.
12206 * grub-core/net/net.c: Likewise.
12207 * grub-core/net/drivers/emu/emunet.c: Likewise.
12208 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
12209 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
12210 export.h.
12211 * grub-core/Makefile.core.def (net): New module.
12212 (tftp): Likewise.
12213 (ofnet): Likewise.
12214 (emunet): Likewise.
12215 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
12216 network protocols.
12217 * grub-core/kern/device.c (grub_net_open) : New variable.
12218 (grub_device_open): Handle network device.
12219 (grub_device_close): Likewise.
12220 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
12221 (grub_grubnet_fini): Likewise.
12222 (grub_file_seek): Seek in network device.
12223 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
12224 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
12225 network root.
12226 (grub_machine_fini): Call grub_grubnet_fini.
12227 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
12228 network.
12229 (grub_ieee1275_get_aliasdevname): New function.
12230 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12231 Add unofficial Solaris network info.
12232 (grub_multiboot_make_mbi): Likewise.
12233 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
12234 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
12235 * include/grub/device.h (grub_fs): Removed.
12236 * include/grub/err.h (grub_err_t): Add network-related values.
12237 * include/grub/i386/pc/pxe.h: Removed bootp parts.
12238 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
12239 (grub_ieee1275_get_aliasdevname): New proto.
12240 * include/grub/net.h: Rewritten.
423a1849 12241
031f22a0
VS
122422011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12243
12244 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
12245 names.
12246
4388ca72
VS
122472011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
12250 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
12251 it truncates the output.
12252 Reported by: Ximin Luo.
12253
98e2f506
VS
122542011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12255
12256 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
12257
2a5e94d8
VS
122582011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
12261 partmap before abstraction.
12262
535c1910
AK
122632011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
12264
12265 * util/grub-mkconfig_lib.in: Add missing quotes.
12266
bc09e1a2
VS
122672011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
12270 old method if mountinfo would return /dev/root and /dev/root doesn't
12271 exist.
12272
290766fb
VS
122732011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 ZFS zlib support
12276
12277 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
12278 (decomp_table): Add zlib entries.
12279 (zio_read): USe 8 bits for compression function rather than 3.
12280 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
12281
122822011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 * grub-core/disk/ahci.c: Add missing license statements.
12285 * grub-core/fs/romfs.c: Likewise.
12286 * grub-core/lib/ia64/setjmp.S: Likewise.
12287 * grub-core/loader/i386/pc/freedos.c: Likewise.
12288 * grub-core/loader/ia64/efi/linux.c: Likewise.
12289 * grub-core/video/colors.c: Likewise.
12290 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
12291
5ab3f48a
VS
122922011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 AHCI support.
12295
12296 * grub-core/Makefile.core.def (ata_pthru): Removed.
12297 (ahci): New module.
12298 (pata): Likewise.
12299 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
12300 on unload.
12301 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
12302 readwrite.
12303 (grub_hdparm_do_check_powermode_cmd): Likewise.
12304 (grub_hdparm_do_smart_cmd): Likewise.
12305 (grub_hdparm_set_val_cmd): Likewise.
12306 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
12307 * grub-core/disk/ahci.c: New file.
12308 * grub-core/disk/ata.c: Factor out the low-level part into ...
12309 * grub-core/disk/pata.c: ... here.
12310 * grub-core/disk/ata_pthru.c: Contents moved to ...
12311 * grub-core/disk/pata.c: ... here.
12312 * grub-core/disk/scsi.c (grub_scsi_names): New array.
12313 (grub_scsi_iterate): Use grub_scsi_names.
12314 (grub_scsi_open): Likewise.
12315 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
12316 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
12317 (grub_ata_regs_t): New struct.
12318 (grub_disk_ata_pass_through_parms): Likewise.
12319 (grub_ata_device): Renamed to ...
12320 (grub_ata): ... this.
12321 (grub_ata_dev): New struct.
12322 Removed all low-level inline functions.
12323 * include/grub/scsi.h: Add PATA and AHCI subsystems.
12324 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
12325 iterate hooks and open. All users updated.
12326 * util/grub-install.in: Handle AHCI disk module.
12327
c31dc5f5
SJ
123282011-06-23 Szymon Janc <szymon@janc.net.pl>
12329
12330 Add support for DRI and RSTn markers in JPEG files.
12331
12332 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
12333 (JPEG_MARKER_RST0): Likewise.
12334 (JPEG_MARKER_RST1): Likewise.
12335 (JPEG_MARKER_RST2): Likewise.
12336 (JPEG_MARKER_RST3): Likewise.
12337 (JPEG_MARKER_RST4): Likewise.
12338 (JPEG_MARKER_RST5): Likewise.
12339 (JPEG_MARKER_RST6): Likewise.
12340 (JPEG_MARKER_RST7): Likewise.
12341 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
12342 (grub_jpeg_decode_dri): New function.
12343 (grub_jpeg_decode_sos): Move image data related part into
12344 grub_jpeg_decode_data function.
12345 (grub_jpeg_decode_data): New function.
12346 (grub_jpeg_reset): New function.
12347 (grub_jpeg_decode_jpeg): Handle new markers.
12348
fe12fd5b
VS
123492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 * util/ieee1275/ofpath.c (check_sas): Close fd.
12352 (main): Free of_path.
12353 Reported by: David Volgyes <dvolgyes>.
12354
03147f46
VS
123552011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12356
12357 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
12358 Reported by: David Volgyes <dvolgyes>.
12359
cad3237f
VS
123602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12361
12362 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
12363 file after stat.
12364 Reported by: David Volgyes <dvolgyes>.
12365
13548d26
VS
123662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12367
12368 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
12369
12370 Reported by: David Volgyes <dvolgyes>.
12371
e061a1b5
VS
123722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12373
12374 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
12375 Prevent memory leak.
12376
1abe47dc
VS
123772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12378
12379 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
12380 (main): Close file.
e061a1b5 12381 Reported by: David Volgyes <dvolgyes>.
1abe47dc 12382
fbc62666
VS
123832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12384
12385 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
12386 to continue if allocation is failed.
12387
12388 Reported by: David Volgyes <dvolgyes>.
12389
e98c83e9
DV
123902011-06-23 David Volgyes <dvolgyes>
12391
12392 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
12393 dereference.
12394
a199a8cd
VS
123952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 Fix spurious warning.
12398
12399 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
12400 (acorn_partition_map_find): Use .bin member.
12401
e2d1dba0
VS
124022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
12405 /dev/root as a valid device.
12406
8a5d6919
JM
124072011-06-23 Jim Meyering <meyering@redhat.com>
12408
e2d1dba0
VS
12409 Avoid NULL deref in grub_device_open.
12410
8a5d6919
JM
12411 * grub-core/kern/device.c (grub_device_open): Don't dereference
12412 a NULL pointer upon failed grub_env_get.
12413
f7db6f4a
VS
124142011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 Support non-512B sectors and agglomerate reads.
12417
12418 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
12419 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
12420 (disk_io_guid): Removed.
12421 (make_devices): Locate solely by BlockIO.
12422 (grub_efidisk_open): Fill log_sector_size and total_sectors.
12423 (grub_efidisk_read): Use read_blocks.
12424 (grub_efidisk_write): Use write_blocks.
12425 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
12426 log_sector_size.
12427 (get_safe_sectors): Handle non-512B sectors.
12428 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
12429 sectors.
12430 (grub_biosdisk_write): Handle non-512B sectors.
12431 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
12432 (grub_scsi_read): Remove special non-512B block handling (now handled
12433 one level up).
12434 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
12435 and do sanity checks.
12436 (grub_disk_adjust_range): Handle non-512B sectors.
12437 (transform_sector): New function.
12438 (grub_disk_read_small): Likewise.
12439 (grub_disk_read): Rewritten.
12440 (grub_disk_write): Handle non-512B sectors.
12441 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
12442 log_sector_size.
12443 (open_device): Use log_sector_size.
12444 (grub_util_biosdisk_read): Likewise.
12445 (grub_util_biosdisk_write): Likewise.
12446 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
12447 non-512B sectors.
12448 (pc_partition_map_embed): Likewise.
12449 * include/grub/disk.h (grub_disk): New field log_sector_size.
12450 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
12451 (GRUB_DISK_CACHE_BITS): Increased to 6.
12452 * util/grub-fstest.c (fstest): New command testload.
12453 (argp_parser): Likewise.
12454
881ac815
RM
124552011-06-16 Robert Millan <rmh@gnu.org>
12456
12457 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
12458 `ata' driver on kernel of FreeBSD 9.
12459
12460 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
12461 (get_ataraid_disk_name): New functions.
12462 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
12463 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
12464 get_ataraid_disk_name() and get_ada_disk_name().
12465
1e9aef7d
CW
124662011-06-13 Colin Watson <cjwatson@ubuntu.com>
12467
12468 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
12469 input format.
12470
351c7c8a
CW
124712011-05-29 Colin Watson <cjwatson@ubuntu.com>
12472
12473 * docs/grub.texi (Obtaining and Building GRUB): Substitute
12474 `ftp.gnu.org' for `alpha.gnu.org'.
12475
6b4e6430
CW
124762011-05-27 Colin Watson <cjwatson@ubuntu.com>
12477
12478 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
12479 partitions under /dev/disk/by-id/.
12480
c64db050
CW
124812011-05-27 Colin Watson <cjwatson@ubuntu.com>
12482
12483 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
12484 after ten consecutive open failures. Scanning all the way up to
12485 10000 is excessive and can cause serious performance problems in
12486 some configurations.
12487 Fixes Ubuntu bug #787461.
12488
245f4aba
VS
124892011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
12492 opening new one.
12493
f767c929
VS
124942011-05-21 Colin Watson <cjwatson@ubuntu.com>
124952011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12496
12497 Don't stat devices unless we have to.
12498
12499 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
12500 dir == /dev/mapper.
12501 (grub_guess_root_device): Use already known os_dev if possible.
12502 * grub-core/kern/emu/hostdisk.c
12503 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
12504 if device is known to be a dm one.
12505
f35fa3a6
CW
125062011-05-20 Colin Watson <cjwatson@ubuntu.com>
12507
12508 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
12509 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
12510 Reported by: Pawel Tecza.
12511
9a79fcf2
VS
125122011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12513
12514 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
12515 (lsefisystab): Likewise.
12516 (lssal): Likewise.
12517 (lsefimmap): Likewise.
12518 (hdparm): Enable on qemu-mips.
12519 (setjmp): Add ia64 nodist.
12520 (serial): Simplify tags.
12521
63e3eea9
CW
125222011-05-18 Colin Watson <cjwatson@ubuntu.com>
12523
12524 * Makefile.util.def (grub-ofpathname): Install manual page.
12525
09728256
CW
125262011-05-18 Colin Watson <cjwatson@ubuntu.com>
12527
12528 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
12529
8b63a142
CW
125302011-05-18 Colin Watson <cjwatson@ubuntu.com>
12531
12532 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
12533
e775d8ed
VS
125342011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12535
12536 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
12537 into dprintf.
12538
bf947d36
VS
125392011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12540
12541 Use full 64-bit division.
12542
12543 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
12544 (grub_divmod64): ... this.
12545 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
12546 version.
12547
b84f26c5
CW
125482011-05-18 Colin Watson <cjwatson@ubuntu.com>
12549
12550 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
12551 `source'.
12552
5626056f
CW
125532011-05-18 Colin Watson <cjwatson@ubuntu.com>
12554
12555 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
12556 to avoid accidents when debugging with 'sh -x'.
12557 * grub-core/gensyminfo.sh.in: Likewise.
12558 * tests/example_scripted_test.in: Likewise.
12559 * tests/grub_cmd_regexp.in: Likewise.
12560 * tests/grub_script_blanklines.in: Likewise.
12561 * tests/grub_script_dollar.in: Likewise.
12562 * tests/grub_script_expansion.in: Likewise.
12563 * tests/grub_script_final_semicolon.in: Likewise.
12564 * tests/partmap_test.in: Likewise.
12565 * tests/util/grub-shell-tester.in: Likewise.
12566 * tests/util/grub-shell.in: Likewise.
12567
e2965f4a
CW
125682011-05-18 Colin Watson <cjwatson@ubuntu.com>
12569
12570 Move gfxmenu color handling to video, so that gfxterm can use it
12571 too.
12572
12573 * grub-core/gfxmenu/named_colors.c: Move to ...
12574 * grub-core/video/colors.c: ... here. Rename
12575 grub_gui_get_named_color to grub_video_get_named_color.
12576 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
12577 * grub-core/video/colors.c (my_isxdigit): ... here.
12578 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
12579 Move to ...
12580 * grub-core/video/colors.c (parse_hex_color_component): ... here.
12581 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
12582 to ...
12583 * grub-core/video/colors.c (grub_video_parse_color): ... here.
12584
12585 * include/grub/gui.h (grub_gui_color_t): Move to ...
12586 * include/grub/video.h (grub_video_rgba_color_t): ... here.
12587 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
12588 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
12589 * include/grub/gui.h (grub_gui_map_color): Move to ...
12590 * include/grub/video.h (grub_video_map_rgba_color): ... here.
12591 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
12592 to ...
12593 * include/grub/video.h (grub_video_get_named_color): ... here.
12594 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
12595 * include/grub/video.h (grub_video_parse_color): ... here.
12596
12597 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
12598 video/colors.c.
12599 (gfxmenu): Remove gfxmenu/named_colors.c.
12600 (video) [videomodules]: Add video/colors.c.
12601
12602 Add a background_color command.
12603
12604 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
12605 function.
12606 (GRUB_MOD_INIT): Register background_color command.
12607 (GRUB_MOD_FINI): Unregister background_color command.
12608 (redraw_screen_rect): Allow blend/replace of text layer to be
12609 controlled independently from whether there is a background bitmap.
12610 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
12611 changing bitmap.
12612
1e4b4390
VS
126132011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12614
26618ff0
VS
12615 Patch BPB in ntldr and chainloader --bpb.
12616
1e4b4390
VS
12617 * grub-core/fs/fat.c: Include grub/fat.h.
12618 (grub_fat_bpb): Moved to ...
12619 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
12620 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
12621 grub/ntfs.h.
12622 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
12623 Moved from here...
12624 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
12625 here.
12626 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
12627 New function.
12628 (grub_chainloader_cmd): Patch BPB if --bpb is given.
12629 (GRUB_MOD_INIT): Show --bpb.
12630 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
12631 * grub-core/normal/main.c (features): New variable.
12632 (GRUB_MOD_INIT): Set feature_* variables.
12633 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
12634 proto.
12635 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
12636
cf02731e
VS
126372011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
12640 for cleanness.
12641
e3a1073f
VS
126422011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12643
12644 FreeDOS direct loading support.
12645
12646 * docs/grub.texi (Supported OS): Add FreeDOS.
12647 * grub-core/Makefile.core.def (freedos): New module.
12648 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
12649 variable.
12650 (grub_relocator16_boot): Handle %ebx.
12651 * grub-core/lib/i386/relocator16.S: Likewise.
12652 * grub-core/loader/i386/pc/freedos.c: New file.
12653
05caa461
VS
126542011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12655
12656 Long Linux command line support.
12657
12658 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
12659 (maximal_cmdline_size): New variable.
12660 (allocate_pages): Use maximal_cmdline_size.
12661 (grub_cmd_linux): Set and use maximal_cmdline_size.
12662 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
12663 (allocate_pages): Use maximal_cmdline_size.
12664 (grub_cmd_linux): Set and use maximal_cmdline_size.
12665 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
12666 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
12667 and cmdline_size.
12668
a2491e23
VS
126692011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
126702011-05-18 Colin Watson <cjwatson@ubuntu.com>
12671
12672 Improve devmapper support
12673
12674 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
12675 (grub_util_is_lvm): New function.
12676 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
12677 than lvm if not dmraid.
12678 Handle mapped md nodes.
12679 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
12680 (grub_util_device_is_mapped): ... this. Make always available. All users
12681 updated.
12682 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
12683 (convert_system_partition_to_system_disk): Handle lvm, mpath and
12684 dmraid nodes.
12685 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
12686
6ad6223e
VS
126872011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
12690
12691 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
12692 * grub-core/modinfo.sh.in: New file.
12693 * grub-core/Makefile.core.def (modinfo.sh): New script.
12694 * util/grub-mknetdir.in: Use modinfo.sh.
12695 * util/grub-mkrescue.in: Likewise.
12696
543a8f6e
VS
126972011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12698
12699 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12700 Fix potential usage of Elf32 instead of Elf64 when compiling on
12701 32-bit architecture. Add endianness macros while on it.
12702
4959e111
VS
127032011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12704
12705 Use mipsel- rather than mips- in directories involving mipsel ports to
12706 allow both endiannesses coexist.
12707
12708 * configure.ac: proparate target_cpu=mipsel rather than resetting to
12709 mips. All conditions adjusted.
12710 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
12711 variable.
12712 * util/grub-install.in: Adjust conditions to take renaming into account.
12713 * util/grub-mkimage.c (image_targets): Likewise. New target
12714 mips-qemu_mips-elf for bigendian mips.
12715
35341bbc
VS
127162011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12717
12718 Avoid unnecessary copying on MIPS.
12719
12720 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
12721 early if src == dest.
12722 * util/grub-mkimage.c (generate_image): Arange for src == dest if
12723 compression is none.
12724
b772baed
VS
127252011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12726
12727 Reduce memory footprint on SGI by putting modules before the kernel
12728 as opposed to after.
12729
12730 * grub-core/Makefile.core.def (kernel): Increase linking address.
12731 (none_decompress): Likewise.
12732 (xz_decompress): Likewise.
12733 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
12734 address.
12735 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
12736 layout change.
12737 (grub_arch_modules_addr): New function.
12738 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
12739 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
12740 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
12741 here.
12742 * grub-core/kern/mips/startup.S (total_size): Rename to ...
12743 (grub_total_modules_size): ... this. Make global.
12744 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
12745 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
12746 New definition.
12747 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
12748 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
12749 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
12750 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
12751 * util/grub-mkimage.c (image_target_desc): New flag
12752 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
12753 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
12754 (generate_image): Handle images with modules before kernel.
12755
566a1917
VS
127562011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12757
12758 Prevent potential loss of memory map by overwrite on qemu-mips.
12759
12760 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
12761 Save ram size in $s4.
12762 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
12763 All users changed to grub_arch_memsize.
12764 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
12765 Loongson.
12766 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
12767 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
12768 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
12769 external variable.
12770
5d420cd9
CW
127712011-05-17 Colin Watson <cjwatson@ubuntu.com>
12772
12773 * .bzrignore: Remove grub-dumpbios.
12774
d064b830
CW
127752011-05-17 Colin Watson <cjwatson@ubuntu.com>
12776
12777 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
12778 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
12779 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
12780 existing options which append).
12781 * docs/grub.texi (Simple configuration): Document new options.
12782 Reported by: Ian Jackson. Fixes Debian bug #617538.
12783
3ca2b466
CW
127842011-05-17 Colin Watson <cjwatson@ubuntu.com>
12785
12786 * util/grub-fstest.c (cmd_cat): New function.
12787 (fstest): Handle CMD_CAT.
12788 (options): Add cat.
12789 (argp_parser): Handle cat.
12790
24c9143a
CW
127912011-05-17 Colin Watson <cjwatson@ubuntu.com>
12792
12793 * Makefile.util.def (grub-bin2h): Don't install.
12794 * docs/man/grub-bin2h.h2m: Remove.
12795
90f7ac19
VS
127962011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12797
12798 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
12799 place.
12800
8d4a5178
VS
128012011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 Reenable qemu-mips port.
12804
12805 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
12806 Fix small arc bug while on it.
12807 * gentpl.py: Handle qemu_mips.
12808 * grub-core/Makefile.am: Likewise.
12809 * grub-core/Makefile.core.def: Likewise.
12810 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
12811 inappropriate includes.
12812 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
12813 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
12814 * grub-core/kern/main.c (grub_modules_get_end)
12815 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
12816 * grub-core/kern/mips/qemu-mips: Moved to ..
12817 * grub-core/kern/mips/qemu_mips: ... this.
12818 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
12819 (grub_machine_init): Call terminfo_init and serial_init.
12820 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
12821 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
12822 New variable.
12823 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
12824 parameter passing.
12825 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
12826 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
12827 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
12828 * include/grub/mips/qemu_mips/cmos.h: New file.
12829 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
12830 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
12831 Removed.
12832 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
12833 Use correct mips-style address.
12834 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
12835 (GRUB_TICKS_PER_SECOND): Removed.
12836 (grub_get_rtc): Likewise.
12837 (grub_cpu_idle): Likewise.
12838 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
12839 New definition.
12840 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
12841 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
12842 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
12843 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
12844 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12845 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12846 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
12847 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
12848
400b9371
VS
128492011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12850
12851 SGI ARCS port.
12852
12853 * Makefile.util.def (libgrubmods.a): Add dvh.c.
12854 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
12855 platforms.
12856 * configure.ac: New target mips-arc.
12857 * gentpl.py: Likewise.
12858 * grub-core/Makefile.am: Likewise.
12859 * grub-core/Makefile.core.def: Likewise.
12860 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
12861 (none_decompress): Likewise.
12862 (lsdev): New module.
12863 (datetime): Use lib/arc/datetime.c on ARC.
12864 (part_dvh): New module.
12865 * grub-core/commands/arc/lsdev.c: New file.
12866 * grub-core/disk/arc/arcdisk.c: Likewise.
12867 * grub-core/kern/mips/arc/init.c: Likewise.
12868 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
12869 aligned addresses.
12870 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
12871 support.
12872 (grub_arch_dl_relocate_symbols): Likewise.
12873 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
12874 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
12875 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
12876 platforms.
12877 * grub-core/lib/arc/datetime.c: New file.
12878 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
12879 pci.h on non-loongson.
12880 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
12881 (grub_linux_boot): Set unused registers to 0.
12882 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
12883 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
12884 * grub-core/mmap/mips/uppermem.c: ...here.
12885 * grub-core/partmap/dvh.c: New file.
12886 * grub-core/term/arc/console.c: Likewise.
12887 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
12888 (grub_terminfo_set_current): Add terminal "arc".
12889 (grub_terminfo_readkey): Support ARC sequences.
12890 * include/grub/arc/arc.h: New file.
12891 * include/grub/arc/console.h: Likewise.
12892 * include/grub/disk.h (grub_disk_dev_id): Add
12893 GRUB_DISK_DEVICE_ARCDISK_ID.
12894 * include/grub/mips/arc/kernel.h: New file.
12895 * include/grub/mips/arc/memory.h: Likewise.
12896 * include/grub/mips/arc/time.h: Likewise.
12897 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
12898 * include/grub/mips/kernel.h (grub_halt): ... here.
12899 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
12900 here...
12901 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
12902 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
12903 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
12904 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
12905 proto.
12906 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
12907 from here ...
12908 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
12909 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
12910 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
12911 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
12912 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
12913 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
12914 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
12915 (grub_phys_addr_t): Moved from here ...
12916 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
12917 (grub_vtop): Moved from here ...
12918 * include/grub/mips/memory.h (grub_vtop): ... here.
12919 (grub_map_memory): Moved from here ...
12920 * include/grub/mips/memory.h (grub_map_memory): ... here.
12921 (grub_unmap_memory): Moved from here ...
12922 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
12923 (grub_machine_mmap_iterate): Moved from here ...
12924 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
12925 (grub_mmap_get_lower): Moved from here ...
12926 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
12927 (grub_mmap_get_upper): Moved from here ...
12928 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
12929 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
12930 here ...
12931 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
12932 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
12933 here ...
12934 * include/grub/mips/time.h (grub_get_rtc): ... here.
12935 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
12936 here ...
12937 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
12938 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
12939 here ...
12940 * include/grub/mips/time.h (grub_cpu_idle): ... here.
12941 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
12942 definition.
12943 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
12944 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
12945 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
12946 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
12947 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12948 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12949 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
12950 (GRUB_MACHINE_LINK_ADDR): Likewise.
12951 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
12952 to 6.
12953 * util/grub-install.in: Run dvhtool on ARC.
12954 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 12955 (generate_image): Handle ECOFF output for mips-arc.
400b9371 12956
c8ecc840
VS
129572011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12958
12959 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
12960 blocks.
12961
153a4b55
VS
129622011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12963
12964 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
12965 after enabling port.
12966
ff44d107
VS
129672011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12968
12969 Skip incorrect USB devices.
12970
12971 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
12972 configcnt == 0.
12973 * include/grub/usb.h (grub_usb_err_t): New enum value
12974 GRUB_USB_ERR_BADDEVICE.
12975
638dbe4f
VS
129762011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12977
12978 Fuloong video init support.
12979
12980 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
12981 well.
12982 (grub_vga_read_arx): New function.
12983 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
12984 definition.
12985 (framebuffer): New members io, mmioptr and mmiobase.
12986 (read_sis_cmd): New function.
12987 (write_sis_cmd): Likewise.
12988 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
12989 rather than 640x400.
12990 * grub-core/video/sis315_init.c: New file.
12991
c3fc520c
VS
129922011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12993
12994 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
12995 non-loongson.
12996 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
12997 to grub_dl_register_symbol.
12998
67b1e5c9
VS
129992011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13000
13001 Fix compilation errors.
13002
13003 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
13004 potentially unused.
13005 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
13006 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
13007 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
13008 to loongson machines.
13009
b756f75f
VS
130102011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13011
13012 Several FS mtime support.
13013
13014 * grub-core/fs/affs.c (grub_affs_time): New struct.
13015 (grub_affs_file): New field mtime.
13016 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
13017 type. Removed 'size'. New field 'di'. All users updated.
13018 (grub_affs_mount): Simplify checsum checking.
13019 (grub_affs_iterate_dir): New helper grub_affs_create_node.
13020 (grub_affs_dir): Handle mtime.
13021 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
13022 (grub_cpio_dir): Likewise.
13023 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
13024 (grub_hfs_filerec): New field mtime.
13025 (grub_hfs_dir): Handle mtime.
13026 (grub_hfs_mtime): New function.
13027 (grub_hfs_fs): Register grub_hfs_mtime.
13028 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
13029 (grub_iso9660_dir): New field mtime.
13030 (grub_fshelp_node): New field dirent.
13031 (iso9660_to_unixtime): New function.
13032 (iso9660_to_unixtime2): Likewise.
13033 (grub_iso9660_read_symlink): Use node->dirent.
13034 (grub_iso9660_iterate_dir): Likewise.
13035 (grub_iso9660_dir): Set mtime.
13036 (grub_iso9660_mtime): New function.
13037 (grub_iso9660_fs): Register grub_iso9660_mtime.
13038 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
13039 (grub_jfs_inode): New fields atime, ctime and mtime.
13040 (grub_jfs_dir): Set mtime.
13041 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13042 * grub-core/fs/ntfs.c (list_file): Set mtime.
13043 (grub_ntfs_dir): Likewise.
13044 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
13045 (grub_reiserfs_iterate_dir): Set mtime.
13046 (grub_reiserfs_dir): Likewise.
13047 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
13048 (grub_fshelp_node): Likewise.
13049 (grub_sfs_iterate_dir): Set mtime.
13050 (grub_sfs_dir): Likewise.
13051 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
13052 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
13053 (grub_xfs_inode): New fields atime, mtime, ctime.
13054 (grub_xfs_dir): Set mtime.
13055 * include/grub/datetime.h (grub_datetime2unixtime): New function.
13056 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
13057 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
13058
13059 Support UDF symlinks.
13060
13061 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
13062 (grub_ufs_read_symlink): New function. All users updated.
13063
13064 Check amiga partmap checksum.
13065
13066 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
13067 (grub_amiga_partition): Likewise.
13068 (amiga_partition_map_checksum): New function.
13069 (amiga_partition_map_iterate): Check checksum.
13070
5470225d
VS
130712011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 ROMFS support.
13074
13075 * Makefile.util.def (libgrubmods.a): Add romfs.
13076 * grub-core/Makefile.core.def (romfs): New module.
13077 * grub-core/fs/romfs.c: New file.
13078
d4680a35
VS
130792011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 Squashfs v4 support.
13082
13083 * Makefile.util.def (libgrubmods.a): Add squash4.
13084 * grub-core/Makefile.core.def (squash4): New module.
13085 * grub-core/fs/squash4.c: New file.
13086 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
13087 disk_input_start, disk_input.
13088 (get_byte): Handle disk_input.
13089 (grub_zlib_disk_read): New function.
13090 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
13091
bcb18e74
FZ
130922011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
130932011-05-15 Feiran Zheng <famcool@gmail.com>
13094
13095 * Makefile.util.def (libgrubmods.a): Add minix3.
13096 * grub-core/Makefile.core.def (minix3): New module.
13097 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
13098 (GRUB_MINIX_BSIZE): Removed.
13099 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
13100 (grub_minix_ino_t): New type.
13101 (grub_minix_le_to_cpu_ino): New macro.
13102 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
13103 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
13104 (grub_minix_data): New field block_size.
13105 (grub_minix_read_file): Handle 64-bit correctly.
13106 * grub-core/fs/minix3.c: New file.
13107
32297d5f
TG
131082011-05-15 Tristan Gingold <gingold@free.fr>
131092011-05-15 Robert Millan <rmh.grub@aybabtu.com>
131102011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 IA64 support.
13113
13114 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
13115 * configure.ac: Add ia64-efi target.
13116 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
13117 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
13118 * gentpl.py: Add ia64_efi platform.
13119 Rename x86_efi to efi and Add ia64-efi. All users updated.
13120 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
13121 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
13122 Remove kern/generic/rtc_get_time_ms.c on EFI.
13123 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
13124 kern/ia64/dl_helper.c on ia64-efi.
13125 Add kern/emu/cache.c on emu.
13126 (linux): Use on loader/ia64/efi/linux.c on ia64.
13127 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
13128 whether symbol is a function.
13129 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
13130 (grub_symbol): New field 'isfunc'.
13131 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
13132 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
13133 (grub_dl_load_segments): Place all sections into the same region.
13134 [__ia64__]: Create trampolines and got.
13135 [GRUB_MACHINE_EMU]: Call mprotect.
13136 (grub_dl_resolve_symbols): Resolve symbol type as well.
13137 [__ia64__]: Create function descriptors.
13138 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
13139 (grub_rtc_get_time_ms): ... this. Expressions simplified.
13140 (grub_get_rtc): New function.
13141 * grub-core/kern/emu/cache.c [__ia64__]: New file.
13142 * grub-core/kern/emu/cache.S: Renamed to ...
13143 * grub-core/kern/emu/cache_s.S: ... this.
13144 [__ia64__]: Add a nop.
13145 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
13146 [__ia64__]: New function.
13147 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
13148 * grub-core/kern/ia64/dl.c: New file.
13149 * grub-core/kern/ia64/dl_helper.c: Likewise.
13150 * grub-core/kern/ia64/efi/init.c: New file.
13151 * grub-core/kern/ia64/efi/startup.S: Likewise.
13152 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
13153 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
13154 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
13155 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
13156 * grub-core/loader/ia64/efi/linux.c: New file.
13157 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
13158 (GRUB_MOD_DEP): Likewise.
13159 (grub_dl) [__ia64__]: New fields got and tramp.
13160 (grub_dl): New field 'base'.
13161 (grub_dl_register_symbol): New argument isfunc. All users updated.
13162 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
13163 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
13164 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
13165 (grub_ia64_dl_get_tramp_got_size): New proto.
13166 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
13167 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
13168 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
13169 * include/grub/efi/api.h: Skip call wrappers on ia64.
13170 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
13171 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
13172 * include/grub/elf.h (ELF_ST_INFO): New definition.
13173 * include/grub/ia64/efi/kernel.h: New file.
13174 * include/grub/ia64/efi/memory.h: Likewise.
13175 * include/grub/ia64/efi/time.h: Likewise.
13176 * include/grub/ia64/kernel.h: Likewise.
13177 * include/grub/ia64/setjmp.h: Likewise (from glibc).
13178 * include/grub/ia64/time.h: New file.
13179 * include/grub/ia64/types.h: Likewise.
13180 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
13181 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
13182 New protos.
13183 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
13184 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13185 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
13186 * util/grub-mkimage.c (image_target_desc): New field pe_target.
13187 All users updated.
13188 (EFI64_HEADER_SIZE): New definition. All users updated.
13189 (image_targets): Add ia64-efi.
13190 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
13191 jumpers_addr. All users updated.
13192 Create function descriptors.
13193 (count_funcs): New function.
13194 (unaligned_uint32): New struct.
13195 (MASK20): New definition.
13196 (MASK19): Likewise.
13197 (MASKF21): Likewise.
13198 (add_value_to_slot_20b): New function.
13199 (add_value_to_slot_21_real): Likewise.
13200 (add_value_to_slot_21): Likewise.
13201 (ia64_kernel_trampoline): New struct.
13202 (nopm): New variable.
13203 (jump): Likewise.
13204 (make_trampoline): New function.
13205 (relocate_addresses): Handle ia64.
13206 (make_reloc_section): Likewise.
13207 (load_image): Likewise.
13208
983b414d
VS
132092011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13210
13211 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
13212 warning. Move variables before code while on it.
13213
5d063cdc
VS
132142011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13215
13216 Fuloong support.
13217
13218 * configure.ac: Rename yeeloong platform to loongson. All users updated.
13219 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
13220 * grub-core/boot/mips/loongson/fuloong.S: New file.
13221 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
13222 Explicitly init CS5536.
13223 [FULOONG]: Don't use serial until CS5536 is available.
13224 Set GPIO based on dumps.
13225 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
13226 [FULOONG]: Handle GPIO and memory controller differences.
13227 Parse machine type in $a2.
13228 * grub-core/boot/mips/startup_raw.S: Determine and save the
13229 architecture.
13230 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
13231 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
13232 init on architecture type.
13233 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13234 SIS315E. Don't init at_keyboard on fuloong.
13235 (grub_halt): Support Fuloong.
13236 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
13237 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
13238 (loongson_machtypes): New array.
13239 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
13240 type.
13241 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
13242 config. All users updated. Handle CS5536 serial.
13243 * grub-core/term/serial.c (grub_serial_register): Conditionalise
13244 default port on machine type. Register serial as inactive.
13245 * grub-core/video/sis315pro.c: New file.
13246 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
13247 definition.
13248 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
13249 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
13250 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
13251 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
13252 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
13253 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
13254 to ...
13255 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
13256 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
13257 definition.
13258 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
13259 (grub_arch_machine): New extern var.
13260 * include/grub/mips/loongson/serial.h
13261 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
13262 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
13263 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
13264 (GRUB_MACHINE_SERIAL_PORT0): ... this.
13265 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
13266 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
13267 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
13268 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
13269 * include/grub/term.h (grub_term_register_input_inactive): New inline
13270 function.
13271 (grub_term_register_output_inactive): Likewise.
13272 * include/grub/video.h (grub_video_driver_id): New value
13273 GRUB_VIDEO_DRIVER_SIS315PRO.
13274 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
13275 New field "names". All users updated.
13276 New field value IMAGE_FULOONG_FLASH.
13277 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
13278
6ada82d1
JU
132792011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
13280
13281 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
13282 and add some clarification.
13283
90c571a4
VS
132842011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
13287 platforms if kernel is compressed.
13288
de04eecf
VS
132892011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13290
13291 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
13292 unused modules since currently referrence counter isn't reliable and
13293 there isn't much memory to recover there anyway.
13294
57688121
VS
132952011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13296
13297 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
13298 rather than resetting it to allow modules to reference themselves
13299 in init.
13300
3d2c7e35
VS
133012011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13302
13303 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
13304 counter on dependencies since grub_dl_unref already handles this.
13305
b25db218
VS
133062011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13307
13308 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
13309 on error if not already done.
13310
25a45338
VS
133112011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13312
13313 Fix few potential memory misusage.
13314
13315 * grub-core/font/font.c (load_font_index): Don't free char_index to
13316 avoid double free.
b25db218
VS
13317 (grub_font_load): Zero-fill font at alloc for safety.
13318 Close file on error.
13319 (free_font): Free bmp_idx.
25a45338 13320
0cac83df
VS
133212011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13322
13323 * docs/grub.texi (Installation): Fix several outdated claims.
13324
2217a143
VS
133252011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 Handle module_license on windows.
13328
13329 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
13330 sections shifted.
13331 (insert_string): Make argument const char * instead of char *.
13332 (write_section_data): Handle long section names.
13333 Handle module_license.
13334
d4de6b01
VS
133352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13336
13337 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
13338 handle class-free menuentries.
13339 (grub_normal_add_menu_entry): Add a check to be sure.
13340
4c2a3b43
VS
133412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13342
13343 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
13344 PgUp and PgDown.
13345
85c6210f
VS
133462011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 * configure.ac: Bump version to 1.99.
13349
36084912
VS
133502011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13351
13352 Give ATA device a bit more time on first try in order to allow disks
13353 to spin up.
13354
13355 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
13356 if dev->present is 1. Reset dev->present on failure.
13357 (grub_ata_device_initialize): Set dev->present to 1.
13358 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
13359 (grub_ata_device): New member 'present'.
13360
bda0e219
VS
133612011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 * util/grub-mkimage.c (generate_image): Update hash.
13364
19e1c41b
VS
133652011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13366
13367 Flush caches on DMA memory.
13368
13369 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
13370 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
13371 (grub_dma_free): Likewise.
13372 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
13373
91bbcc0c
VS
133742011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
13377 to avoid asm treating ld and sd as macros.
13378
60ddfad3
VS
133792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
13382 decompressor.
13383
a298aa04
VS
133842011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
13387 grub_decompress_core since later would fail if grub_decompress_core
13388 is too far.
13389
9b44feca
VS
133902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13391
13392 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
13393 R_MIPS_JALR since it's used by newer compiler.
13394
56dbe7b4
VS
133952011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
13398
52856af2
VS
133992011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
13402 file_path to 0 for surety.
13403 (grub_chainloader_boot): Set exit_data to NULL.
13404 Unset the loader once done.
13405 (grub_cmd_chainloader): Fix confusing error message if file is empty.
13406
9c9bfc6d
VS
134072011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13408
13409 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
13410 unknown key into a dprintf.
13411
dd94a3df
VS
134122011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13413
13414 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
13415 on first non-existant partition.
13416
fa68d99c
VS
134172011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
13420 openning fails.
13421 Reported by: Mark Korenberg.
13422
157effb7
VS
134232011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13424
13425 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
13426 overflow.
13427
ea75312f
VS
134282011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 * util/grub-mkimage.c (main): Explicitely flush and sync the output
13431 before closing to ensure that it will be readable by grub-setup.
13432
072b5d31
VS
134332011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13434
13435 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
13436 (devpath_1): Use MAKE_PIWG_PATH.
13437 (devpath_2): Likewise.
13438 (devpath_3): Likewise.
13439 (devpath_4): Likewise.
13440 (devpath_5): Likewise.
13441 (devpath_6): Likewise.
13442
13443 The appleldr.mod was checked that to be binary identical to previous
13444 version.
13445
7fae0051
Z
134462011-05-05 Zach <mikezackles>
13447
13448 Support 2010 Macbooks.
13449
13450 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
13451 (devs): Add devpath_6.
13452
7c515bee
VS
134532011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
13456 /dev/random. /dev/urandom is good enough for our purposes (salting).
13457
ed660bd8
VS
134582011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13459
13460 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
13461
ee5614b7
VS
134622011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13463
13464 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
13465 hexadecimal.
13466
664889a6
VS
134672011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
13470 and not 0 on failure.
13471
bd405bbc
CW
134722011-05-03 Colin Watson <cjwatson@ubuntu.com>
13473
13474 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
13475 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
13476 disk; otherwise grub_fs_probe will not fall back to the next
13477 filesystem.
13478 (grub_pxefs_open): Likewise, for consistency.
13479 Reported and tested by: Ezekiel Grave.
13480
4ebff753
CW
134812011-05-03 Colin Watson <cjwatson@ubuntu.com>
13482
13483 * tests/partmap_test.in: Don't hardcode path to parted.
13484 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
13485
8f942553
CW
134862011-05-01 Colin Watson <cjwatson@ubuntu.com>
13487
13488 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
13489 of `ls' to find out which devices are available.
13490
3c62402d
VS
134912011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13492
13493 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
13494 than source address for efi mmap buffer.
13495
723f63f2
VS
134962011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13497
13498 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
13499 wrong action on non-detecting the magic.
13500
68797f92
VS
135012011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13502
13503 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
13504 already supplied by another part of the module (fixes compilation on
13505 FreeBSD).
13506
6be8715d
VS
135072011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13508
13509 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
13510 match the one used by mdadm.
13511
e91dba5b
CW
135122011-04-21 Colin Watson <cjwatson@ubuntu.com>
13513
13514 * po/README: Add instructions for creating po/LINGUAS.
13515
c85140b3
CW
135162011-04-21 Colin Watson <cjwatson@ubuntu.com>
13517
13518 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
13519 #551428.
13520
13521 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
13522 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
13523 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
13524 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
13525 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
13526 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
13527 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
13528 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
13529 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
13530 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
13531 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
13532 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
13533 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
13534 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
13535 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
13536 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
13537 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
13538 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
13539 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
13540 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
13541 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
13542 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
13543
92051871
CW
135442011-04-21 Colin Watson <cjwatson@ubuntu.com>
13545
13546 * grub-core/kern/emu/getroot.c
13547 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
13548 test that was incorrectly reintroduced in r3214.
13549 Reported by: Ian Dall. Fixes Savannah bug #33133.
13550
b13f79a4
CW
135512011-04-21 Colin Watson <cjwatson@ubuntu.com>
13552
13553 Fix stack pointer handling in 16-bit relocator.
13554
13555 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
13556 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
13557 Fixes Ubuntu bug #683904.
13558
9b710a88
VS
135592011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13560
13561 * configure.ac: Bump version to 1.99~rc2.
13562
d97e7b59
VS
135632011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13564
13565 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
13566 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
13567 * grub-core/lib/x86_64/setjmp.S: Likewise.
13568 * grub-core/lib/mips/setjmp.S: Likewise.
13569 * grub-core/lib/powerpc/setjmp.S: Likewise.
13570 * grub-core/lib/sparc64/setjmp.S: Likewise.
13571
0624551c
VS
135722011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13573
13574 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
13575 * grub-core/lib/efi/datetime.c: Likewise.
13576
e8f28d4c
VS
135772011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
13580 New function.
13581 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
13582 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
13583 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
13584
bba79a15
VS
135852011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13586
13587 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
13588 bitmap.
13589 (grub_gfxterm_term_init): Likewise.
13590
abc474ef
VS
135912011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13592
13593 Take into account the decorations the computing menu entry width.
13594
13595 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
13596 (grub_gfxmenu_create_box): Register get_border_width.
13597 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
13598 if available.
13599 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
13600 get_border_width.
13601
e74b3947
EP
136022011-04-18 Endres Puschner <code@e7p.de>
13603
13604 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
13605 Don't skip first class.
13606
34faa595
VS
136072011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13608
13609 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
13610 chunks.
13611 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
13612
93a777e3
VS
136132011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13614
13615 Complete 64-bit division support.
13616
13617 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
13618 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
13619 * include/grub/misc.h (grub_divmod64): Rename to ...
13620 (grub_divmod64_full): ... this.
13621 (grub_divmod64): New inline function.
13622
a5102d94
VS
136232011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13624
13625 * util/grub-mkimage.c (generate_image): Add forgotten comma.
13626
f3fb7b36
VS
136272011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13628
13629 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
13630 performing the necessary test.
13631
9ac718b0
VS
136322011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13633
13634 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
13635 (kfreebsd.elf): Likewise.
13636 (pc-chainloader.elf): Likewise.
13637 (ntldr.elf): Likewise.
13638
50d2cc5a
VS
136392011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 Identify RAID by its UUID rather than (guessed) name.
13642
13643 * grub-core/disk/raid.c (ascii2hex): New function.
13644 (grub_raid_open): Accept mduuid/%s specification.
13645 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
13646 (get_mdadm_uuid): ... this.
13647 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
13648
e03f7bea
VS
136492011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
13652 to negative size.
13653
e74c3112
CW
136542011-04-13 Colin Watson <cjwatson@ubuntu.com>
13655
13656 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
13657 btrfs subvolume.
13658 * util/grub.d/20_linux_xen.in: Likewise.
13659
78fa584f
CW
136602011-04-13 Colin Watson <cjwatson@ubuntu.com>
13661
13662 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
13663 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
13664
13665 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13666 Build a list of relevant visible mounts using the mnt_id and
13667 parent_mnt_id fields, and then scan that list at the end.
13668
9d5f8162
CW
136692011-04-12 Colin Watson <cjwatson@ubuntu.com>
13670
13671 * docs/grub.texi (normal): New section.
13672 (normal_exit): New section.
13673 (Embedded configuration): Add reference to normal.
13674 (GRUB only offers a rescue shell): Likewise.
13675 * docs/grub-dev.texi (Error Handling): Fix typo.
13676
09a9d66f
CW
136772011-04-12 Colin Watson <cjwatson@ubuntu.com>
13678
13679 * NEWS: Drop obsolete entry about probe-only btrfs support.
13680
0c676933
CW
136812011-04-12 Colin Watson <cjwatson@ubuntu.com>
13682
13683 * util/import_gcry.py: Fix typo.
13684
ec9f5e0d
VS
136852011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13686
13687 * NEWS: Add btrfs support.
13688
fe6b2cba
VS
136892011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
136902011-04-11 Colin Watson <cjwatson@ubuntu.com>
13691
13692 BtrFS support. Written by me (Vladimir) with important bugfixes and
13693 even more important testing by Colin.
13694
13695 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
13696 * grub-core/Makefile.core.def (btrfs): Add crc.c.
13697 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
13698 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
13699 mem_input_off and mem_input. All users updated to accept in-RAM input.
13700 (gzio_seek): New function.
13701 (test_zlib_header): Likewise.
13702 (grub_gzio_read): Likewise.
13703 (grub_zlib_decompress): Likewise.
13704 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
13705 Accept partial and non-virtual mounts.
13706 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
13707 avoid receiving /dev/dm-X as device.
13708 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
13709 Handle bind and partial mounts.
13710 * grub-core/lib/crc.c: New file.
13711 * include/grub/deflate.h: Likewise.
13712 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
13713 proto.
13714 * include/grub/lib/crc.h: New file.
13715
e745cf0c
VS
137162011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13717
13718 Implement automatic module license checking according to new GNU
13719 guidelines.
13720
13721 * grub-core/kern/dl.c (grub_dl_check_license): New function.
13722 (grub_dl_load_core): Use grub_dl_check_license.
13723 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
13724 (GRUB_MOD_LICENSE): Likewise.
13725 (GRUB_MOD_DUAL_LICENSE): Likewise.
13726 All modules updated.
13727
2a9bc016
CW
137282011-04-11 Colin Watson <cjwatson@ubuntu.com>
13729
13730 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
13731 reserved_first_sector to 1. btrfs reserves plenty of space for boot
13732 loaders.
13733 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
13734
8a3bc88e
VS
137352011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13736
13737 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
13738
af869a4a
VS
137392011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13740
13741 * util/grub-fstest.c (read_file): Report GRUB error if file opening
13742 failed.
13743
9ee8d94f
VS
137442011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13745
13746 * grub-core/kern/file.c (grub_file_open): Don't take into account the
13747 parenthesis in the middle of the filename.
13748
b01abe3e
VS
137492011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13750
13751 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
13752 rather than trying to put initrd way too high.
13753 Reported by: Ryan Lortie <desrt@desrt.ca>
13754
335bda1e
VS
137552011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13756
13757 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
13758 improperly removed string.
13759
5ca1a64d
VS
137602011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13761
13762 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
13763 is_disk.
13764 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
13765 (open_device) Likewise.
13766 (grub_util_biosdisk_close): Likewise.
d8ce9995 13767 Reported by: Mark Korenberg.
5ca1a64d 13768
cbac5b1e
AK
137692011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
13770
13771 * util/grub-mkconfig_lib.in: Add missing quotes.
13772
088cdb65
CW
137732011-04-10 Colin Watson <cjwatson@ubuntu.com>
13774
13775 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
13776 is NULL.
13777
8b8a81fa
VS
137782011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13779
13780 Dynamically count the number of lines for the lower banner.
13781
13782 * grub-core/normal/menu_entry.c (per_term_screen): New member
13783 num_entries.
13784 (print_down): Use num_entries.
13785 (update_screen): Likewise.
13786 (grub_menu_entry_run): Set num_entries.
13787 * grub-core/normal/menu_text.c (menu_viewer_data): New member
13788 num_entries.
13789 (grub_print_message_indented): Move real part to ...
13790 (grub_print_message_indented_real): ... here. Additional argument
13791 dry_run.
13792 (draw_border): Additional argument num_entries.
13793 (print_message): Additional argument dry_run.
13794 (print_entries): Receive menu viewer data.
13795 (grub_menu_init_page): New argment num_entries.
13796 (menu_text_set_chosen_entry): Use num_entries.
13797 (grub_menu_try_text): Likewise.
13798 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
13799 All users updated.
13800 (grub_ucs4_count_lines): New function.
13801 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
13802 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
13803 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
13804 (grub_term_border_height): Likewise.
13805 (grub_term_num_entries): Likewise.
13806
277f955b
VS
138072011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13808
13809 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
13810 Remove now unused string.
13811
536ce85a
CW
138122011-04-09 Colin Watson <cjwatson@ubuntu.com>
13813
13814 * docs/grub-dev.texi (Finding your way around): Update for 1.99
13815 build system.
13816 (Getting started): GRUB is developed in Bazaar now, not Subversion.
13817
13818 (Comment): Fix typo.
13819 (Getting started): General copy-editing.
13820 (Typical Development Experience): Likewise.
13821 (Error Handling): Likewise.
13822 (Video API): Likewise.
13823
2cf09e32
CW
138242011-04-09 Colin Watson <cjwatson@ubuntu.com>
13825
13826 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
13827 throughout.
13828
1ec652f4
VS
138292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13830
13831 * util/grub-mkimage.c (main): Handle special naming of yeeloong
13832 directory.
13833
2c583728
CW
138342011-04-08 Colin Watson <cjwatson@ubuntu.com>
13835
13836 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
13837 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
13838 "development".
13839
d7a565e9
VS
138402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13841
13842 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
13843 grub_strcpy since the lines aren't necessarily 0-terminated.
13844
7c2e4909
VS
138452011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13846
13847 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
13848 root on legacy.
13849
34c09785
VS
138502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13851
13852 * grub-core/commands/probe.c (options): Argument to set isn't optional.
13853 (GRUB_MOD_INIT): DEVICE isn't optional.
13854
6a6f8058
VS
138552011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13856
13857 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
13858 word on new line if it's too long anyway. Fixes a hang.
13859
2e335e90
VS
138602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13861
13862 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
13863 const.
13864 * util/grub-setup.c (main): Reuse md device name if available.
13865 * util/raid.c (grub_util_raid_getmembers): Receive device name and
13866 not GRUB name as argument.
13867 Based on patch by: Florian Wagner <fwagner>.
13868
10a7a867
VS
138692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13870
13871 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13872 Place mbi on low memory for better compatibility.
13873
7a3d6cd9
VS
138742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
13877
18dd6b47
VS
138782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
138792011-04-08 Colin Watson <cjwatson@ubuntu.com>
13880
13881 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 13882 * conf/Makefile.common: Likewise.
18dd6b47 13883
3c0e3f14
VS
138842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13885
f7148863
VS
13886 * grub-core/normal/menu.c: Add missing include.
13887
138882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13889
13890 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 13891
6d1fa41f
MZ
138922011-04-08 Martin Zuther <mzuther@mzuther.de>
13893
13894 * util/grub-mkconfig.in: Ignore emacsen backup.
13895
478182a8
VS
138962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13897
13898 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
13899 on open.
13900 (grub_util_biosdisk_close): Likewise.
13901
72a89a54
VS
139022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13903
13904 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
13905 const attribute and use grub_isdigit.
13906
b5ebecfa
A
139072011-04-06 Andrey <dev_null@ukr.net>
13908
13909 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
13910 gcc warning.
13911
7755f66e
VS
139122011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13913
13914 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
13915 useful grub_dprintf's.
13916
461121ff
VS
139172011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13918
13919 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
13920
2a961775
VS
139212011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13922
13923 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
13924
adf594cc
VS
139252011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13926
13927 Output errors if theme loading failed.
13928
13929 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
13930 grub_gfxterm_fullscreen on error paths to ...
13931 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
13932 theme loading error.
13933
665900a3
VS
139342011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13935
13936 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
13937 space for older compilers.
13938 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13939
a562b479
VS
139402011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13941
13942 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
13943 and report them as not RAID members since they are useless for GRUB.
13944 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13945
850e9373
VS
139462011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13947
13948 Increase LVM implementation robustness in order not to crash on
13949 configurations like pvmove. Previously code assumed that in some places
13950 only lvs or only pvs are used whereas it seems that they are used
13951 interchangeably.
13952
13953 * grub-core/disk/lvm.c (read_node): New function.
13954 (read_lv): Use read_node.
13955 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
13956 Match volumes only at the end when all lvs are found. Take both
13957 pvs (first) and lvs (second) into account.
13958 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
13959 mirror_* into node_*. All users updated.
13960 (grub_lvm_stripe): Merge this ...
13961 (grub_lvm_mirror): ... and this ...
13962 (grub_lvm_node): ... into this. All users updated.
13963
6f332153
VS
139642011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
13967 of function to allow further scanning for LVMs.
13968
829ea451
VS
139692011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
13972 on failed seek as it breaks open fd reusage.
13973
09ceb9a5
VS
139742011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13975
13976 * util/grub-install.in: Add a recommendation to use --recheck before
13977 reporting bugs.
13978
67e11623
VS
139792011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
13982 are obtained.
13983
caee5efd
VS
139842011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13985
13986 GRUB developper manual based on existing Internals section and
13987 contributions by the various authors with active copyright assignment.
13988
13989 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
13990 * docs/font_char_metrics.png: New file.
13991 * docs/font_char_metrics.txt: Likewise.
13992 * docs/grub-dev.texi: Likewise.
13993 * docs/grub.texi (Internals): Move from here ...
13994 * docs/grub-dev.texi: ... here.
13995
2cccc747
CW
139962011-04-01 Colin Watson <cjwatson@ubuntu.com>
13997
13998 Store the loopback device as data on loopback grub_disk structures,
13999 rather than the file it points to. This fixes use of freed memory
14000 if an existing loopback device is replaced.
14001
14002 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
14003 disk->data, not dev->file.
14004 (grub_loopback_read): Adjust file assignment to match.
14005 Fixes Ubuntu bug #742967.
14006
186ae367
CW
140072011-04-01 Colin Watson <cjwatson@ubuntu.com>
14008
14009 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
14010 when replacing an existing device.
14011
cfed2ad0
VS
140122011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
14013
14014 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
14015 memory corruptions.
14016
14017 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
14018 unsigned.
14019 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
14020 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
14021 (grub_jfs_read_inode): Likewise.
14022 (grub_jfs_opendir): Likewise. Remove now useless casts.
14023 (grub_jfs_getent): Likewise.
14024 Make ino a grub_uint32_t rather than int.
14025 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
14026 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
14027 division and module with bit operations.
14028 (grub_jfs_find_file): Make ino a grub_uint32_t.
14029 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
14030
05d2ed32
CW
140312011-04-01 Colin Watson <cjwatson@ubuntu.com>
14032
14033 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
14034 warning. (This was in fact always initialised before use, but GCC
14035 wasn't smart enough to prove that.)
14036 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
14037
91dc6073
VS
140382011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14039
14040 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
14041 stack alignment.
14042 (efi_wrap_1): Likewise.
14043 (efi_wrap_2): Likewise.
14044 (efi_wrap_3): Likewise.
14045 (efi_wrap_4): Likewise.
14046 (efi_wrap_5): Likewise.
14047 (efi_wrap_6): Likewise.
14048 (efi_wrap_10): Likewise.
14049 Based on information by: Red Hat/Peter Jones.
14050
a8afc1d1
CW
140512011-03-31 Colin Watson <cjwatson@ubuntu.com>
14052
14053 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
14054 set-but-not-used variable.
14055
a826cc7d
CW
140562011-03-31 Colin Watson <cjwatson@ubuntu.com>
14057
14058 * docs/grub.texi (Simple configuration): Be more explicit about
14059 GRUB_DEFAULT, and add an example.
14060 Reported by: Leslie Rhorer.
14061
875b67ba
CW
140622011-03-30 Colin Watson <cjwatson@ubuntu.com>
14063
14064 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
14065 shell".
14066
fd7cd914
AS
140672011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
14068
14069 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
14070 * util/grub.d/20_linux_xen.in: Likewise.
14071
090b1b6a
VS
140722011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14073
14074 * util/grub.d/10_linux.in: Try alternative config filenames where
14075 we parse config file.
14076 * util/grub.d/20_linux_xen.in: Likewise.
14077
baad885c
AS
140782011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
14079
14080 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
14081 * util/grub.d/20_linux_xen.in: Likewise.
14082
241e41f5
VS
140832011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14084
14085 * grub-core/disk/raid.c (insert_array): Add few potentially
14086 useful grub_util_info.
14087 (grub_raid_register): Likewise.
14088
56445fb2
VS
140892011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14090
14091 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
14092 Preserve partition number in mdadm code path.
14093
c871b1c6
VS
140942011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14095
14096 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
14097 few potentially useful grub_util_info.
14098
5e631b4f
CW
140992011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14100
14101 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
14102
2d5d0333
CW
141032011-03-30 Colin Watson <cjwatson@ubuntu.com>
14104
14105 * docs/grub.texi (default): Use @example rather than nested
14106 itemized lists to avoid breaking gendocs.
14107
3d7ed04e
CW
141082011-03-30 Colin Watson <cjwatson@ubuntu.com>
14109
14110 * docs/grub.texi (Future): Update.
14111
abf04200 141122011-03-30 Colin Watson <cjwatson@ubuntu.com>
14113
14114 * docs/grub.texi (Environment): New chapter.
14115 (Changes from GRUB Legacy): Link to "Environment block" section for
14116 details of limitations.
14117 (Simple configuration): Likewise. Link to documentation of gfxmode
14118 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
14119 respectively.
14120 (Shell-like scripting): Note that normal variables are stored in the
14121 environment.
14122 (gettext): Link to documentation of lang and locale_dir.
14123 (list_env): New section.
14124 (load_env): New section.
14125 (save_env): New section.
14126
14127 (Reporting bugs): Fix typo.
14128
e1ad0edd
VS
141292011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14130
14131 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
14132 the example.
14133
5d803174
VS
141342011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14135
14136 * grub-core/term/at_keyboard.c (set_scancodes)
14137 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
14138
2a2da1d0
CW
141392011-03-30 Colin Watson <cjwatson@ubuntu.com>
14140
14141 * docs/grub.texi (Menu-specific commands): Remove some semantics
14142 that were true in GRUB Legacy but not in GRUB 2.
14143 (submenu): New section.
14144 (false): New section.
14145 (read): New section.
14146 (true): New section.
14147
a7527639
CW
141482011-03-30 Colin Watson <cjwatson@ubuntu.com>
14149
14150 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
14151
141522011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
14153
14154 * docs/grub.texi (Simple configuration): Explain some of the
14155 current limitations of grub-mkconfig.
8a748df2 14156 Reported by: Leslie Rhorer.
e30af029 14157
fc858482
VS
141582011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14159
14160 Old macs search for boot.efi rather than for bootia32.efi.
14161
14162 * util/grub-install.in: Copy bootia32.efi to boot.efi.
14163 * util/grub-mkrescue.in: Likewise.
14164 Suggested by: Peter Jones.
14165
e1eb511d
VS
141662011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14167
14168 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
14169
70e75364
VS
141702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14171
14172 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
14173 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
14174 (grub_lvm_mirror): New struct.
14175 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
14176 (grub_lvm_iterate): Iterate only visible volumes.
14177 (grub_lvm_read): Factor out to ..
14178 (read_lv): ... this. Support mirrors.
14179 (grub_lvm_read): New wrapper function.
14180 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
14181 stripped or mirrored.
14182
fc18f6a3
VS
141832011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14184
14185 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
14186
5c650f4c
CW
141872011-03-29 Colin Watson <cjwatson@ubuntu.com>
14188
14189 * docs/grub.texi (loopback): New section.
14190
61d7156b
CW
141912011-03-29 Colin Watson <cjwatson@ubuntu.com>
14192
14193 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
14194 removed -p option.
14195
994b8264
CW
141962011-03-29 Colin Watson <cjwatson@ubuntu.com>
14197
14198 * docs/grub.texi (BIOS installation): New section, partly based on
14199 previous text in other sections.
14200 (Installing GRUB using grub-install): Replace BIOS discussion with a
14201 cross-reference.
14202 (Images): Likewise.
14203
9e4d19e0
VS
142042011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14205
14206 * grub-core/kern/emu/hostdisk.c (find_partition_start)
14207 [HAVE_DIOCGDINFO]: Add safety checks.
14208
a307c0b2
VS
142092011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14210
14211 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
14212 per default compiled in kernel and prior to 8.0 isn't shipped at all.
14213
b4db4f39
CW
142142011-03-29 Colin Watson <cjwatson@ubuntu.com>
14215
14216 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
14217 real_sb->size is zero (e.g. RAID-0), get the disk size from
14218 real_sb->data_size instead.
14219 Fixes Ubuntu bug #743136.
14220
35e5f84c
VS
142212011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14222
14223 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
14224 printf clauses for printing size and start.
14225
d2e29d81
VS
142262011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14227
14228 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
14229 Reported and tested by: Timothy Nikkel.
14230
ed5587af
VS
142312011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14232
14233 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
14234 (dirty_region_add_real): ... this.
14235 (dirty_region_add): Don't discard margin refresh when performing
14236 scheduled repaint.
14237
a1dc717c
VS
142382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14239
14240 * grub-core/lib/relocator.c (allocate_regstart)
14241 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
14242 terminals are capabple of malloc-free operation.
14243 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
14244 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
14245
9f3677d3
VS
142462011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
14247
14248 * util/grub-setup.c: Copy the partition table zone if floppy support
14249 is disabled, even if no partition table is found.
14250
14251 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
14252 during POST if an invalid partition table is contained in the PBR
14253 of the active partition when GRUB is installed to a partition.
14254
24148725
CW
142552011-03-28 Colin Watson <cjwatson@debian.org>
14256
14257 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
14258 comment.
14259
f329eda7
CW
142602011-03-28 Colin Watson <cjwatson@debian.org>
14261
14262 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
14263 to be specific about what kind of RAID device we're scanning for.
14264
c482ad98
SG
142652011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
14266
14267 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
14268 return freed string.
14269
5ee04984
VS
142702011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14271
14272 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
14273
f4727da9
VS
142742011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14275
14276 Use libgeom on FreeBSD to detect partitions.
14277
14278 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
14279 (grub-mkrelpath): Likewise.
14280 (grub-script-check): Likewise.
14281 (grub-editenv): Likewise.
14282 (grub-mkpasswd-pbkdf2): Likewise.
14283 (grub-fstest): Likewise.
14284 (grub-mkfont): Likewise.
14285 (grub-mkdevicemap): Likewise.
14286 (grub-probe): Likewise.
14287 (grub-setup): Likewise.
14288 (grub-ofpathname): Likewise.
14289 (grub-mklayout): Likewise.
14290 (example_unit_test): Likewise.
14291 (grub-menulst2cfg): Likewise.
14292 * grub-core/Makefile.core.def (grub-emu): Likewise.
14293 (grub-emu-lite): Likewise.
14294 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
14295 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
14296 define HAVE_DIOCGDINFO.
14297 (follow_geom_up) [FreeBSD]: New function.
14298 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
14299 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
14300 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
14301 unconditionally of HAVE_DIOCGDINFO.
14302
82fe6c75
VS
143032011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14304
14305 Fix FreeBSD compilation problem.
14306
14307 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
14308 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
14309
4c6c9431
CW
143102011-03-24 Colin Watson <cjwatson@ubuntu.com>
14311
14312 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
14313 Switch back to page zero before loading a kernel, since some kernel
14314 drivers expect that.
14315 Thanks to: Felix Kuehling.
14316
c7064d94
VS
143172011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14318
14319 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
14320 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
14321 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
14322
3f71cded
VS
143232011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14324
14325 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
14326 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
14327
ef6de21a
VS
143282011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14329
14330 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
14331 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
14332 malloc is disabled.
14333
8bc66a2c
VS
143342011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14335
14336 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
14337 for modules headers when counting the needed allocation size.
14338
5657722c
VS
143392011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14340
14341 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
14342 if no ASCII character is found to prevent crash.
14343
41a85f55
AK
143442011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
14345
14346 * grub-core/video/bitmap.c (match_extension): Ignore case.
14347
59e1e5f1
VS
143482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14349
14350 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
14351
bd4d051a
VS
143522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14353
14354 * grub-core/script/parser.y: Declare "time" as valid argument.
14355
bae7fcc1
PJ
143562011-03-23 Peter Jones <pjones@redhat.com>
14357
14358 Fix incorrect assert failure reporting.
14359
14360 * grub-core/tests/example_functional_test.c (example_test): Add
14361 a failure comment.
14362 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
14363 (failure_start): ...this. Check that malloc succeeded.
14364 Don't call xvasprintf. Return failure struct.
14365 (failure_append_vtext): New function.
14366 (failure_append_text): Likewise.
14367 (add_failure): Likewise.
14368 (grub_test_assert_helper): Likewise.
14369 * include/grub/test.h (grub_test_assert_helper): New declaration.
14370 (grub_test_assert): Macro rewritten.
14371
537dc9be
VS
143722011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14373
14374 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
14375
fa3e01bf
VS
143762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14377
14378 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
14379
b1d28404
VS
143802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14381
14382 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
14383 into GRUB-style one.
14384
2e3e2e09
VS
143852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14386
14387 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
14388 error and not grub_errno.
14389 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
14390
ed57e557
VS
143912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14392
14393 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
14394 GRUB_USB_SPEED_NONE in case of failure and not the error code.
14395
d1611f01
VS
143962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14397
14398 * grub-core/efiemu/i386/pc/cfgtables.c
14399 (grub_machine_efiemu_init_tables): Make declaration a prototype.
14400 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
14401 (grub_xnu_unlock): Likewise.
14402 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
14403
7d4e39d6
VS
144042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14405
14406 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
14407 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
14408 * grub-core/commands/hashsum.c (aliases): Likewise.
14409 * grub-core/commands/setpci.c (pci_registers): Likewise.
14410 * grub-core/disk/usbms.c (attach_hook): Likewise.
14411 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
14412 (zio_checksum_table): Likewise.
14413 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
14414 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
14415 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
14416 * grub-core/lib/relocator.c (leftovers): Likewise.
14417 (extra_blocks): Likewise.
14418 * grub-core/loader/i386/bsd.c (relocator): Likewise.
14419 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
14420 (modules_last): Likewise.
14421 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
14422 (devices): Likewise.
14423 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
14424 (modules_last): Likewise.
14425 * grub-core/normal/auth.c (users): Likewise.
14426 * grub-core/normal/context.c (initial_menu): Likewise.
14427 (current_menu): Likewise.
14428 * grub-core/normal/crypto.c (crypto_specs): Likewise.
14429 * grub-core/term/serial.c (grub_serial_ports): Likewise.
14430 (grub_serial_terminfo_input_template): Likewise.
14431 (grub_serial_terminfo_output_template): Likewise.
14432 (grub_serial_terminfo_input): Likewise.
14433 (grub_serial_terminfo_output): Likewise.
14434 (registered): Likewise.
14435 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
14436
40fc4659
VS
144372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14438
14439 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
14440 grub_video_mode_type_t.
14441 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
14442 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
14443 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
14444
2da48d28
VS
144452011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14446
14447 * util/grub-install.in: Correct the x86-64 name as x86_64.
14448
9b43bf39
CW
144492011-03-11 Colin Watson <cjwatson@ubuntu.com>
14450
14451 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
14452 initial chunk read from the kernel always includes GRUB's multiboot
14453 header, which is now outside the first sector.
14454
be1a7ce0
CW
144552011-03-09 Colin Watson <cjwatson@ubuntu.com>
14456
14457 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
14458 cached mmap_size, so that this works correctly when called multiple
14459 times.
14460 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
14461
83a3c48d
CW
144622011-03-09 Colin Watson <cjwatson@ubuntu.com>
14463
14464 * docs/grub.texi (Simple configuration): Tidy up formatting.
14465
57d75699
SJ
144662011-03-07 Szymon Janc <szymon@janc.net.pl>
14467
14468 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
14469 Set-but-not-used variable removed.
14470
028501a0
VS
144712011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
14472
14473 Workaround yet another IEEE1275 bug.
14474
14475 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
14476 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
14477 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
14478 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
14479 is set.
14480 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14481 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
14482
d998657d
VS
144832011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
14484
14485 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
14486 error.
14487
fee7cdd4
CW
144882011-02-11 Colin Watson <cjwatson@ubuntu.com>
14489
14490 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
14491 empty, since in that case we can only generate either nothing or a
14492 syntactically invalid configuration file.
14493 Reported by: Michal Suchanek. Fixes Debian bug #612898.
14494
97286eb5
CW
144952011-02-09 Colin Watson <cjwatson@ubuntu.com>
14496
14497 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
14498 (Making a GRUB bootable CD-ROM): Likewise.
14499 (Invoking grub-mkrescue): New section.
14500 Reported by: Yann Dirson. Fixes Debian bug #612585.
14501
22b28eb3
CW
145022011-02-09 Colin Watson <cjwatson@ubuntu.com>
14503
14504 * util/grub-install.in: Remove unnecessary brackets from tr
14505 arguments.
14506 * util/grub.d/10_hurd.in: Likewise.
14507 * util/grub.d/10_kfreebsd.in: Likewise.
14508 * util/grub.d/10_linux.in: Likewise.
14509 * util/grub.d/20_linux_xen.in: Likewise.
14510 Reported by: Jamie Heilman. Fixes Debian bug #612564.
14511
7e735e43
CW
145122011-02-08 Colin Watson <cjwatson@ubuntu.com>
14513
14514 * include/grub/file.h (not_easly_seekable): Rename to ...
14515 (not_easily_seekable): ... this. Update all users.
14516
800f1881
CW
145172011-01-28 Colin Watson <cjwatson@ubuntu.com>
14518
14519 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
14520 grub-mkrescue.
14521
3281d3d6
VS
145222011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14523
14524 * util/grub-mkimage.c (generate_image): Refuse to create the images
14525 bigger than the actual flash (512K) in Loongson machines. 512K is also
14526 the biggest chip supported by them.
14527
3533413c
VS
145282011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14529
14530 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
14531
73ae4f4f
VS
145322011-01-22 Anthony DeRobertis <anthony@derobert.net>
14533
14534 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
14535 super_offset field.
14536
37f4f608
VS
145372011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 * util/grub-install.in: Ignore install device on platforms
14540 where it doesn't make sense. Always use UUIDs except on pc, efi and
14541 sparc64.
14542 Reported by: Daniel Kahn Gillmor.
14543
03a4ccb5
VS
145442011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14545
14546 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
14547
ffc8f4d8
VS
145482011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14549
14550 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
14551 (iterate_real): Don't rely on partition being non-NULL.
14552
80f23be7
VS
145532011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14554
14555 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
14556 supported platforms. Put a compile time assert for this rather than
14557 generate a warning with 32-bit shift.
14558
5d4f4dd5
VS
145592011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14560
14561 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
14562 logical expression more readable.
14563
e489601a
VS
145642011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14565
14566 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
14567 even if some elements have a name.
14568 Reported by: Alexander GQ Gerasiov.
14569
96e0a6ea
CW
145702011-01-22 Colin Watson <cjwatson@ubuntu.com>
14571
14572 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
14573 path unreadable if `grub-probe -t abstraction' fails, for example if
14574 memberlist fails on an LVM volume group.
14575 Reported by: Darius Jahandarie.
14576
81431e2b
CW
145772011-01-22 Colin Watson <cjwatson@ubuntu.com>
14578
14579 * docs/grub.texi (Simple configuration): Document
14580 GRUB_PRELOAD_MODULES.
14581
5e79d66a
CW
145822011-01-17 Colin Watson <cjwatson@ubuntu.com>
14583
14584 * .bzrignore: Remove nonexistent grub-pbkdf2.
14585
646ada34
VS
145862011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
14587
14588 * configure.ac: Bump version to 1.99~rc1.
14589
04360337
VS
145902011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14591
14592 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
14593 for safety.
14594
46c9db88
VS
145952011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14596
14597 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
14598 module.
14599
146002011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
14601
14602 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
14603
4fbf1852
VS
146042011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14605
14606 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
14607 diskdevid.
14608
f1632d4d
VS
146092011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14610
14611 Fix compilation on cygwin.
14612
14613 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
14614 -R .drectve on cygwin.
14615 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
14616 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
14617 (COND_CYGWIN): New condition.
14618 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
14619 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
14620 not @TARGET_OBJ2ELF@.
14621 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
14622 type to determine whether aux is to be used.
14623
0b5e127b
VS
146242011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
14627 realpath'ed device string.
14628 Handle floppy (somewhat).
14629 Issue error in unknown case rather than garbage.
14630 Reported by: Axel Beckert.
14631
173b71e9
VS
146322011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 * util/grub.d/00_header.in (load_video): Handle the case when no video
14635 drivers available.
14636 Thanks to: Axel Beckert.
14637
f8f479db
VS
146382011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
14641 variable. Fixes problem on big endian platforms.
14642
8fc0a245
VS
146432011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14644
14645 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
14646 It doesn't work well there.
14647
b8494fbe
VS
146482011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14649
14650 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
14651 warning.
14652 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
14653 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
14654 counter.
14655
b44a558c
VS
146562011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14657
14658 Use alias->path rather than buggy "canon".
14659
14660 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
14661 (ofdisk_hash_add): New argument curcan. All users updated.
14662
51fa856c
CW
146632011-01-11 Colin Watson <cjwatson@ubuntu.com>
14664
14665 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
14666
9da068a5
VS
146672011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14668
14669 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
14670 loadmask before doing any calculations. Use correct type for offset.
14671 (grub_linux_load64): Likewise.
14672
86205c94
CW
146732011-01-11 Colin Watson <cjwatson@ubuntu.com>
14674
14675 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
14676 with NULL.
14677 (console_grub_equivalences_unshift): Likewise.
14678 Reported by: Daniel Dehennin.
14679
4531a206
VS
146802011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14681
14682 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
14683 (set_env_limn_ro): Likewise.
14684 (GRUB_MOD_INIT): Likewise.
14685 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
14686 ARRAY_SIZE while on it.
14687 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
14688 * grub-core/normal/context.c (grub_env_export): Move from here ...
14689 * grub-core/kern/env.c (grub_env_export): ... here.
14690 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
14691 prefix.
14692 * grub-core/kern/main.c (grub_main): Export root and prefix.
14693 * include/grub/env.h (grub_env_export): Export.
14694 Reported by: Seth Goldberg.
14695
45146057
VS
146962011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14697
14698 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14699 Take into account space used by ELF sections and multiboot palette.
14700 Reported by: Grégoire Sutre.
14701
f093110b
VS
147022011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14703
14704 * BUGS: New file.
14705
3395fe52
VS
147062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 Pass more appropriate video id to Linux.
14709
14710 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
14711 grub_video_get_driver_id and variable gfxpayloadforcelfb to
14712 fill have_vga.
14713 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
14714 shift params->lfb_size.
14715 * include/grub/i386/linux.h: Make an enume out of have_vga values.
14716
c2fa6cbb
VS
147172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14718
14719 * util/grub-menulst2cfg.c: Add missing include of misc.h.
14720
b3ff6ff0
VS
147212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
14724 separator and pass bootpath/devid even if only one of them is available.
14725 Reported by: Seth Goldberg.
14726
ae67942e
VS
147272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14728
14729 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
14730 implementations bug on them.
14731
14732 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
14733 memory.
14734 (filter_memory_map): Likewise.
14735
d570097a
VS
147362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14737
14738 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
14739 Reported by: nebuchadnezzar.
14740
a508e776
VS
147412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14742
14743 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
14744 Reported by: nebuchadnezzar.
14745
dcb883b1
VS
147462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14747
14748 Submenu default support.
14749
14750 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
14751 auto_boot. All users updated.
14752 Declared static.
14753 Handle chosen and default with submenus.
14754 (grub_menu_execute_with_fallback): Declared static.
14755 Don't notify failure if autobooted. Upper level does it.
14756 (menuentry_eq): New function.
14757 (get_entry_number): Use menuentry_eq.
14758 (show_menu): New parameter "autobooted". All users updated.
14759 (grub_show_menu): Likewise.
14760 * include/grub/normal.h (grub_show_menu): Likewise.
14761 * include/grub/menu.h (grub_menu_execute_entry): Removed.
14762 (grub_menu_execute_with_fallback): Likewise.
14763
6fef99b4
VS
147642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14765
14766 * util/grub-mklayout.c (usage): Update help text.
14767
47a77af5
VS
147682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14769
14770 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
14771
ce6bb3ee
VS
147722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14773
14774 * util/grub-menulst2cfg.c (main): Trim the line.
14775
db87be2a
VS
147762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14777
14778 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
14779 (grub_machine_init): Don't check amount of low memory as reportedly
14780 INT 12h can be broken and if low memory is too low we wouldn't have
14781 gotten into grub_machine_init anyway.
14782
c49849cc
VS
147832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14784
14785 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
14786 (grub_machine_mmap_iterate): Take low memory into account
14787
b1969b30
VS
147882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14789
14790 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
14791 badfs.
14792 Reported by: TiCPU.
14793
cf0eaf13
VS
147942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14795
14796 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
14797 members errors.
14798
1f060f39
GS
147992011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
14800
14801 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
14802 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
14803
a21e5672
GS
148042011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
14805
14806 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
14807 openbsd and netbsd types being in part_bsd module.
14808
c88172fa
VS
148092011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14810
14811 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
14812 (_FILE_OFFSET_BITS): Likewise.
14813 Reported by: Seth Goldberg.
14814
53798c4b
GS
148152011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14816
14817 * configure.ac: Check for libdevmapper header.
14818
e7121b69
VS
148192011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14820
14821 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
14822 avoid aliasing.
14823 (fzap_lookup): Likewise.
14824 (dnode_get): Likewise.
14825 (make_mdn): Likewise.
14826 (zfs_mount): Likewise.
14827 (fzap_iterate): Use temporary pointer to avoid aliasing.
14828 (grub_zfs_read): Likewise.
14829 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
14830 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
14831 pointers to avoid aliasing.
14832 (grub_cmd_xnu_kernel64): Likewise.
14833 (grub_xnu_load_driver): Likewise.
14834
fc836af9
VS
148352011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14836
14837 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
14838 aliasing warning.
14839 (grub_cmd_terminal_output): Likewise.
14840 Reported and tested by: Grégoire Sutre.
14841
f9f37648
VS
148422011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14843
14844 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
14845 warning.
14846 Reported and tested by: Grégoire Sutre.
14847
ec1dfd63
VS
148482011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14849
14850 * configure.ac: Do CPU substitution even if it's specified explicitly.
14851 Reported and tested by: Alain Greppin.
14852
9462775a
VS
148532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14854
14855 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
14856 Reported and tested by: Alain Greppin.
14857
0fd48e35
VS
148582011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14859
14860 Satisfy some bison versions need for inttypes.h.
14861
14862 * grub-core/lib/posix_wrap/inttypes.h: New file.
14863 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
14864 (int16_t): Likewise.
14865 (int32_t): Likewise.
14866 (int64_t): Likewise.
14867 Reported and tested by: Alain Greppin.
14868
43f1bc83
VS
148692011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14870
14871 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
14872 Silence spurious warning.
14873 Reported and tested by: Alain Greppin.
14874
64d1f041
SJ
148752011-01-07 Szymon Janc <szymon@janc.net.pl>
14876
14877 * docs/grub.texi (Support automatic decompression): Update with xz
14878 decompression support.
14879
25953e10
SJ
148802011-01-07 Szymon Janc <szymon@janc.net.pl>
14881
14882 Improve loaders' kernel command line handling.
14883
14884 * grub-core/lib/cmdline.c: New file.
14885 * include/grub/lib/cmdline.h: Likewise.
14886 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
14887 grub_create_loader_cmdline to create kernel command line.
14888 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14889 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
14890 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
14891 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
14892 (linux): Add lib/cmdline.c on common.
14893
e72d259f
VS
148942011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14895
14896 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
14897 inopos might be unaligned.
14898
c0cf26da
VS
148992011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14900
14901 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
14902 endian transformations.
14903 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14904 Based on report by: Doug Nazar.
14905
0ca09e6c
DN
149062011-01-07 Doug Nazar <nazard.michi@gmail.com>
14907
14908 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
14909 array->members[i].start_sector.
14910 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
14911
014b6806
VS
149122011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
14915 Reported and tested by: Grégoire Sutre.
14916
415502c2
CW
149172011-01-06 Colin Watson <cjwatson@ubuntu.com>
14918
14919 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
14920 avoid causing test failures by clearing the screen.
14921
71b6a2b7
CW
149222011-01-06 Colin Watson <cjwatson@ubuntu.com>
14923
14924 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
14925 Fix prefix check to handle the case where dir ends with a slash
14926 (most significantly, "/" itself).
14927 Reported by: Michael Vogt.
14928
b3f8d28a
VS
149292011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14930
14931 Run terminfo_cls on initing terminfo output to clear the screen and
14932 move the cursor to (0,0).
14933
14934 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
14935 Call grub_terminfo_output_init.
14936 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
14937 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
14938 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
14939
4c3e4f37
VS
149402011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14941
14942 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
14943 only when needed.
14944
488f71f1
VS
149452011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14946
14947 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
14948 CTRL.
14949
18a38098
VS
149502011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14951
14952 The E820 type 5 is BADRAM, not EXEC_CODE.
14953
14954 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
14955 (GRUB_E820_BADRAM): New define.
14956 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
14957 into reserved. Propagate BADRAM.
14958 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
14959 (GRUB_E820_BADRAM): New define.
14960
9eae2084
VS
149612011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14962
14963 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
14964 Ignore the memory post-4G.
14965 (grub_relocator_firmware_alloc_region): Additional debug statement.
14966
ebc71d28
VS
149672011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14968
14969 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
14970 names.
14971 Reported by: David Pravec.
14972
446fa400
VS
149732011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14974
14975 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
14976 BIOSes.
14977
a0159f37
VS
149782011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14979
14980 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
14981 Prevent overflow.
14982 (grub_reed_solomon_recover): Likewise.
14983
e5146ca1
VS
149842011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14985
14986 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
14987
149882011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
14989
14990 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
14991 variable.
14992
5b1bdf12
CW
149932011-01-04 Colin Watson <cjwatson@ubuntu.com>
14994
14995 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
14996 descriptions of extract_legacy_entries_source and
14997 extract_legacy_entries_configfile.
14998 Reported by: Seung Soo, Ha.
14999
99d925aa
CW
150002011-01-03 Colin Watson <cjwatson@ubuntu.com>
15001
15002 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
15003 on devices that do not implement function 0.
15004
4af0504b
DV
150052011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
15006
15007 * grub-core/fs/hfsplus.c: Make parent unsigned.
15008 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
15009 overflows.
15010 (grub_hfsplus_cmp_extkey): Likewise
15011
469ee10a
VS
150122011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
15013
15014 * util/grub-install.in: Correctly use bootloader_id and not
15015 GRUB_DISTRIBUTOR on efibootmgr line.
15016
323a8e9c
VS
150172011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
15020
1b394975
IC
150212010-12-31 Ian Campbell <ijc@hellion.org.uk>
15022
15023 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
15024 Xen and reorder menu item wording to make it clearer that this entry
15025 will launch Xen. Print separate messages when loading Xen and
15026 Linux.
15027
275bff5f
VS
150282010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15029
15030 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
15031 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
15032 loop in case of incorrect amiga partmap.
15033
307806cb
VS
150342010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15035
15036 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
15037 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
15038 Reported by:EHeM.
15039
b12b923e
VS
150402010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15041
15042 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
15043 spurious warning.
15044 Reported by: crocket
15045
14b48a19
VS
150462010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
15049 Preload EFIemu.
15050 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
15051
693db2df
VS
150522010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15053
15054 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
15055 is loaded
15056 (grub_cmd_xnu_kextdir): Likewise.
15057 (grub_cmd_xnu_splash): Likewise.
15058
c7638645
VS
150592010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15060
15061 Avoid using Reed-Solomon with 0 redundancy.
15062
15063 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
15064 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
15065 or 0 redundancy.
15066 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
15067 (grub_reed_solomon_recover): Likewise.
15068
25dd4780
VS
150692010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15070
15071 Don't use disk subsystem in freebsd_boot.
15072
15073 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
15074 (freebsd_biosdev): Likewise.
15075 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
15076 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
15077
0b2db943
VS
150782010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 Handling of files of unknown size is currently limited. They can't be
15081 used e.g. for initrd or modules. Moreover gzip handling of not
15082 easily seekable files is buggy. Disable unknown file size for now. May
15083 be inefficient but works.
15084
15085 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
15086 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
15087
5c408d0f
MP
150882010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
15089
15090 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
15091 floppy probe.
15092
190a011a
JD
150932010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
15094
15095 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
15096
022d01b8
SL
150972010-12-25 Shea Levy <shlevy>
15098
15099 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
15100
c4855fdc
VS
151012010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15102
15103 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
15104 Windows Server 2008.
15105 Reported by: Devin Giddings.
15106
0354b867
VS
151072010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15108
15109 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
15110 writing an error message because of async power management.
15111 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
15112 (grub_reboot): Likewise.
15113
ab66c69f
JU
151142010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
15115
15116 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
15117 keep unit tests from failing when they shouldn't.
15118
1426ef35
CW
151192010-12-21 Colin Watson <cjwatson@ubuntu.com>
15120
15121 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
15122 previous patch increased the size of the RS code by 20 bytes (at
15123 least with gcc-4.4), so increase this by 20 bytes to match.
15124 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15125
20641b6b
CW
151262010-12-21 Colin Watson <cjwatson@ubuntu.com>
15127
15128 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
15129 scratch area. Make sure to initialise chosen in standalone mode as
15130 well as non-standalone.
15131 Reported by: Robert Hooker and Andy Whitcroft.
15132 Tested by: Andy Whitcroft.
15133
d060ad60
CW
151342010-12-21 Colin Watson <cjwatson@ubuntu.com>
15135
15136 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
15137 constructing a new unescaped string and passing it to grub_xputs in
15138 one go, rather than passing characters to grub_printf one at a time.
15139
b889cfad
CW
151402010-12-21 Colin Watson <cjwatson@ubuntu.com>
15141
15142 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
15143 initialising utf16.
15144
4e01b6c8
CW
151452010-12-21 Colin Watson <cjwatson@ubuntu.com>
15146
15147 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
15148 comment. Add an extra layer of quotation, requiring the output of
15149 this function to be used in a printf format string.
15150 (gettext_printf): New function.
15151 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
15152 Extract translatable strings from here-documents and use a temporary
15153 variable instead, so that xgettext can find them.
15154 * util/grub.d/10_kfreebsd.in: Likewise.
15155 * util/grub.d/10_linux.in: Likewise.
15156 * util/grub.d/20_linux_xen.in: Likewise.
15157
15158 * po/grub.d.sed: New file.
15159 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
15160 arguments. Set c-format flags on all strings extracted from
15161 util/grub.d/ (xgettext refuses to include these itself for strings
15162 it extracted from a shell file, but these really are c-format).
15163
5318fe98
VS
151642010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
15167 Avoid next pointing to nowhere.
15168
6c85b743
VS
151692010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15170
15171 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
15172 rather than assuming than rootblock is exactly in the middle.
15173 (grub_affs_label): Likewise.
15174
a2a08a35
VS
151752010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15176
15177 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
15178 reserved_first_sector to 0.
15179 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
15180 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
15181 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
15182
7059d1ec
VS
151832010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15184
15185 Fix handling of UTF-16 UDF labels.
15186
15187 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
15188 (read_string): .. here.
15189 (grub_udf_label): Use read_string.
15190
30aff4cb
BC
151912010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
15192
15193 * grub-core/normal/menu_entry.c (run): Execute commands from menu
15194 editor under argument scope.
15195 Reported by: Jordan Uggla
15196
5cf86f4b
VS
151972010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15198
15199 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
15200
32570200
CW
152012010-12-18 Colin Watson <cjwatson@ubuntu.com>
15202
15203 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
15204 line, and other keys scroll an entire page (previous handling was
15205 for \r and \n to scroll a page and other keys to scroll two lines).
15206
e1dffcf2
VS
152072010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15208
15209 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15210 Set ptrdest to correct get_physical_target_address rather than
15211 incorrect get_virtual_current_address.
15212
b04298cf 152132010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
15214
15215 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
15216 correct cat to grub_uint8_t * rather than grub_uint32_t *.
15217
5367ecd3
CW
152182010-12-10 Colin Watson <cjwatson@ubuntu.com>
15219
15220 * .bzrignore: Ignore grub-core/rs_decoder.S.
15221
1fb430f8
CW
152222010-12-10 Colin Watson <cjwatson@ubuntu.com>
15223
15224 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
15225 .mo/.mo.gz opening sequence to ...
15226 (grub_mofile_open_lang): ... here.
15227 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
15228 * util/grub.d/00_header.in (grub_lang): Include country part of
15229 locale.
15230 Reported by: Mario Limonciello.
15231
a94a6671
RM
152322010-12-09 Robert Millan <rmh@gnu.org>
15233
15234 * NEWS: Document addition of ZFS support.
15235
24b7938b
CW
152362010-12-04 Colin Watson <cjwatson@ubuntu.com>
15237
15238 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
15239 rather than `/ 2', as the latter requires -Wa,--divide which would
15240 require bumping our minimum binutils version.
15241
bddc3ef6
BC
152422010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
15243
15244 * util/grub-script-check.c (main): Print script line number on
15245 error.
15246
bf78d5b2
RM
152472010-12-01 Robert Millan <rmh@gnu.org>
15248
15249 * grub-core/fs/zfs/zfs.c: New file.
15250 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
15251 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
15252 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
15253 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15254
15255 * include/grub/zfs/dmu.h: Likewise.
15256 * include/grub/zfs/dmu_objset.h: Likewise.
15257 * include/grub/zfs/dnode.h: Likewise.
15258 * include/grub/zfs/dsl_dataset.h: Likewise.
15259 * include/grub/zfs/dsl_dir.h: Likewise.
15260 * include/grub/zfs/sa_impl.h: Likewise.
15261 * include/grub/zfs/spa.h: Likewise.
15262 * include/grub/zfs/uberblock_impl.h: Likewise.
15263 * include/grub/zfs/vdev_impl.h: Likewise.
15264 * include/grub/zfs/zap_impl.h: Likewise.
15265 * include/grub/zfs/zap_leaf.h: Likewise.
15266 * include/grub/zfs/zfs.h: Likewise.
15267 * include/grub/zfs/zfs_acl.h: Likewise.
15268 * include/grub/zfs/zfs_znode.h: Likewise.
15269 * include/grub/zfs/zil.h: Likewise.
15270 * include/grub/zfs/zio.h: Likewise.
15271 * include/grub/zfs/zio_checksum.h: Likewise.
15272
15273 * Makefile.util.def: Build ZFS into libgrubmods.
15274 * grub-core/Makefile.core.def: Build zfs.mod.
15275
3f0f3831
SJ
152762010-11-30 Szymon Janc <szymon@janc.net.pl>
15277
15278 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
15279 variable.
15280 * grub-core/commands/wildcard.c (match_files): Likewise.
15281
3a4253b2
RM
152822010-11-30 Robert Millan <rmh@gnu.org>
15283
15284 * grub-core/loader/i386/bsd.c
15285 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
15286 whether kernel is loaded using grub_loader_is_loaded(), rather
15287 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
15288 certain error conditions.
15289
8c317b27
RM
152902010-11-30 Robert Millan <rmh@gnu.org>
15291
c5c9cd3e
RM
15292 * grub-core/commands/echo.c: Include `<grub/term.h>'.
15293 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 15294
49d3ab46
VS
152952010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
15296
15297 Avoid using tricks for initialising endian variables.
15298
15299 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
15300 Make const.
15301 (GRUB_MOD_INIT): Don't byte-swap.
15302 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
15303 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
15304 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
15305 (grub_swap_bytes32_compile_time): Likewise.
15306 (grub_cpu_to_le32_compile_time): Likewise.
15307 (grub_cpu_to_le16_compile_time): Likewise.
15308
f420a804
VS
153092010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
15310
15311 * util/grub-setup.c (setup): Stop recommending --force. People who
15312 understand the dangers of blocklists are able to find this option
15313 anyway and the ones who don't shouldn't use it anyway.
15314
4e7db17b
RM
153152010-11-26 Robert Millan <rmh@gnu.org>
15316
15317 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
15318 Update all users.
15319
9be57a0d
CW
153202010-11-26 Colin Watson <cjwatson@ubuntu.com>
15321
15322 Fix LVM-on-RAID probing.
15323
15324 * util/grub-probe.c (probe): Remember which disk was detected as
15325 RAID (perhaps an LVM physical volume). Use that disk's raidname
15326 rather than that of the top-level disk.
15327
2c7859b3 153282010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 15329
d7647bb6
BC
15330 Fix cmdline argument quotes for setparams command of menuentry
15331 definitions.
7e623b0d
BC
15332
15333 * grub-core/commands/menuentry.c (setparams_prefix): Use single
15334 quotes for arguments.
f866fe80 15335 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 15336 grub_strchrsub function instead.
f866fe80 15337
7955bea0 15338 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 15339
74f72a64
CW
153402010-11-24 Colin Watson <cjwatson@ubuntu.com>
15341
15342 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
15343 effort by skipping "." and ".." entries up-front.
15344 Suggested by: Michael Lazarev.
15345
5a407278
CW
153462010-11-24 Colin Watson <cjwatson@ubuntu.com>
15347
15348 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
15349 ldflags to ldadd, to fix link line ordering.
15350 (none_decompress): Likewise.
15351
3030d8ec
CW
153522010-11-24 Colin Watson <cjwatson@ubuntu.com>
15353
15354 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
15355 platforms.
15356 (grub-emu-lite): Remove kern/emu/cache.S.
15357
b7fbac12
CW
153582010-11-23 Colin Watson <cjwatson@ubuntu.com>
15359
15360 * util/deviceiter.c (compare_devices): If the by-id link for a
15361 device couldn't be resolved, fall back to sorting by the by-id link
15362 rather than segfaulting.
15363 Reported and tested by: Daniel Mierswa.
15364
5225f328
CW
153652010-11-23 Colin Watson <cjwatson@ubuntu.com>
15366
15367 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
15368 ldflags, to fix link line ordering.
15369
038b3ce8
CW
153702010-11-23 Colin Watson <cjwatson@ubuntu.com>
15371
15372 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
15373 linkers are picky about this.
15374
bf16e98e
CW
153752010-11-23 Colin Watson <cjwatson@ubuntu.com>
15376
15377 * grub-core/Makefile.am (command.lst): Adjust sed expression
15378 ordering so that extended and priority commands aren't treated as
15379 ordinary commands.
15380
7242bab6
CW
153812010-11-23 Colin Watson <cjwatson@ubuntu.com>
15382
15383 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
15384 Remove byte-swapping function calls, which are not valid in
15385 structure initialisers.
15386 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
15387 non-const.
15388 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
15389 grub_gpt_partition_type_bios_boot.
15390
14e8b279
CW
153912010-11-22 Colin Watson <cjwatson@ubuntu.com>
15392
15393 Fix test program build on GNU/kFreeBSD.
15394
15395 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
15396 $(LIBNVPAIR)' library dependencies.
15397
e6f63338 153982010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
15399
15400 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
15401
cf8ffc38
CW
154022010-11-22 Colin Watson <cjwatson@ubuntu.com>
15403
15404 * util/grub-install.in: Remove excessive quoting that broke
15405 installations to RAID devices.
15406
7f8b0fd7
VS
154072010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15408
15409 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
15410 bootloader version instead of 0.
15411
dfd240b1
VS
154122010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15413
15414 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
15415 warning.
15416
7b61e609
VS
154172010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
15420 retrieve the metadat sector if size isn't known.
15421 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15422
9dfe92d0
RM
154232010-11-18 Robert Millan <rmh@gnu.org>
15424
15425 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
15426 with grub_memcmp().
15427
41cc919e
VS
154282010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
15429
15430 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
15431 arrow.
15432 Reported by: Jordan Uggla.
15433
1afcc914
VS
154342010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15435
15436 Make better UTF compliant.
15437
15438 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
15439 sequences as incorrect.
15440 (grub_is_valid_utf8): Likewise.
15441 (grub_utf8_to_ucs4): Likewise.
15442 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
15443 (grub_ucs4_to_utf8_alloc): Likewise.
15444 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
15445
f1808884
VS
154462010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15447
15448 Make legacy_source behave like source.
15449
15450 * grub-core/commands/legacycfg.c (legacy_file): Don't call
15451 grub_show_menu.
15452 (grub_cmd_legacy_source): Call grub_show_menu if needed.
15453
24ec575b
CW
154542010-11-16 Colin Watson <cjwatson@debian.org>
15455
15456 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
15457 (-Wunused implies -Wunused-parameter, but not vice versa).
15458
72b7c7aa
CW
154592010-11-16 Colin Watson <cjwatson@ubuntu.com>
15460
15461 * configure.ac: Make error messages less confusing by testing for
15462 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
15463 accepted, but produces a diagnostic if something else is wrong).
15464
e98937aa
VS
154652010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
15466
15467 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
15468 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
15469 (now unused).
15470 (grub_keyboard_controller_init)
15471 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
15472 read the initial state since controller isn't inited yet.
15473
f6bbabc3
VS
154742010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
15475
15476 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
15477 allocate_regbeg may need to create new chunk header.
15478
22e7dbb2
VS
154792010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15480
15481 Fix quoting in legacy parser.
15482
15483 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
15484 single quotes.
15485 (grub_legacy_parse): Likewise.
15486 Reported by: Jordan Uggla.
15487 Tested by: Jordan Uggla.
15488
03f80960
VS
154892010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15490
15491 Don't add -lgcc on i386 and x86_64.
15492
15493 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
15494 * conf/Makefile.common (LDADD_KERNEL): Likewise.
15495 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
15496
779dc15b
VS
154972010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15498
15499 * configure.ac: Add -Wno-trampolines when supported.
15500
d20a3b37
MV
155012010-11-14 Modestas Vainius <modax@debian.org>
15502
15503 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
15504 fakeraid.
15505
e5360933
GC
155062010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15507
15508 Add generic logical block size support for UDF.
15509
15510 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
15511 (GRUB_UDF_BLKSZ): Removed.
15512 (struct grub_udf_data): New field "lbshift" to hold the logical block
15513 size of the file system in log2 format. All users updated.
15514 (sblocklist): Change type to unsigned.
15515 (grub_udf_mount): Change type of "sblklist" to unsigned.
15516 Move AVDP search before VRS recognition, because the latter requires
15517 knowledge of the logical block size, which is detected during the
15518 former.
15519 Detect and validate logical block size during AVDP search, adding
15520 support for block sizes 512, 1024 and 4096.
15521 Make VRS recognition independent of block size.
15522
cb0229c5
GC
155232010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15524
15525 Properly handle deleted files on UDF.
15526
15527 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
15528 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
15529 set.
15530
406858a8
GC
155312010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15532
15533 Support reading files larger than 2 GiB.
15534
15535 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
15536 "offset" to grub_off_t.
15537 (grub_udf_read_file): Likewise for parameter "pos".
15538
130da6a7
VS
155392010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15540
15541 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
15542 unavailable.
15543 (Simple configuration): Refer to Changes from GRUB Legacy about
15544 save_env availability.
15545
65e93f6b
VS
155462010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15547
15548 * util/grub-install.in: Ignore empty partition table detection
15549 instead of trying to include part_ module.
15550
1fd08bf1
VS
155512010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
15554 LVM on RAID support.
15555
de1a024f
VS
155562010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15557
15558 Properly define WORDS_BIGENDIAN in wrapped environments.
15559
15560 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
15561 definition.
15562 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
15563
15564 Reported by: Manoel Rebelo Abranches.
15565 Tested by: Manoel Rebelo Abranches.
15566
bc5dd0b9
VS
155672010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15568
15569 * util/grub-mkconfig.in: Fix quoting.
15570
58c184be
VS
155712010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 Support big ext2 files.
15574
15575 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
15576 (grub_ext2_read_block): Support triple indirect blocks.
15577 (grub_ext2_read_file): Use 64-bit types and read size_high.
15578 (grub_ext2_open): Read size_high.
15579 Reported by: Ximin Luo.
15580 Tested by: Manoel Rebelo Abranches.
15581
5f0c02b3
VS
155822010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15583
15584 * util/grub-install.in: Handle filenames containing spaces.
15585 Reported by: Jordan Uggla.
15586 Tested by: Jordan Uggla.
15587
4417aae6
VS
155882010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15589
15590 * util/grub-mkconfig.in (grub_script_check): New variable.
15591 Use grub_script_check instead of grub-script-check.
15592 Reported by: Barry Jackson.
15593
7625a68e
VS
155942010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15595
15596 * docs/grub.texi (menu): Correct the order.
15597 Reported by: D. Hugh Redelmeier.
15598
10001ac5
VS
155992010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15600
15601 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
15602 jump.
15603
9c4cf53b
MRA
156042010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15605
10001ac5
VS
15606 * include/grub/elfload.h (grub_elf32_size): New parameter.
15607 All users updated.
9c4cf53b
MRA
15608 Return maximum segments alignment.
15609 (grub_elf64_size): Likewise.
15610 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
15611 Return maximum segments alignment.
15612 (grub_elf64_size): Likewise.
15613 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
15614 (grub_linux_claimmap_iterate): New function. Uses the
15615 "available" property in the "memory" node for memory allocation
15616 for kernel in the PowerPC loader.
9c4cf53b
MRA
15617 (grub_linux_load32): Correctly find linux entry point offset.
15618 (grub_linux_load64): Likewise.
15619
d2bf06bf
RM
156202010-11-07 Robert Millan <rmh@gnu.org>
15621
15622 On mips-yeeloong, build with -march=loongson2f when this flag is
15623 available (GCC >= 4.4).
15624 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
15625 `-march=mips3'.
15626 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
15627 or otherwise add -march=mips3.
15628
898c99a2
BC
156292010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
15630
87220a68
BC
15631 Suppress shell expansion on echo '*' and echo "*" like cases.
15632 Reported by: Jordan Uggla.
898c99a2
BC
15633
15634 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
15635 string arguments before shell expansion.
15636 * tests/grub_cmd_echo.in: New testcases.
15637
4f9b406a
RM
156382010-11-07 Robert Millan <rmh@gnu.org>
15639
15640 * conf/mips-qemu-mips.rmk: Remove stale file from previous
15641 transition.
15642
80c6d25e
VS
156432010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
15644
15645 * grub-core/kern/emu/hostdisk.c
15646 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
15647
4a1a0153
VS
156482010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15649
15650 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
15651 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
15652 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
15653
34706ddc
VS
156542010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
15657
6972dea9
VS
156582010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15659
15660 * util/grub-install.in: Replace useless recomendation to pass
15661 --modules with a recomendation to report a bug.
15662
9c693bd6
VS
156632010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15664
15665 Properly register serial terminfo.
15666 Reported by: Jordan Uggla
15667
15668 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
15669 const.
15670 (grub_serial_terminfo_output_template): Likewise.
15671 (grub_cmd_serial): Register "serial" with terminfo.
15672 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
15673 grub_serial_terminfo_output.
15674
6c9e4c0c
RM
156752010-11-05 Robert Millan <rmh@gnu.org>
15676
15677 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
15678 needed).
15679
b9b3839f
RM
156802010-11-05 Robert Millan <rmh@gnu.org>
15681
15682 On Yeeloong, pass machine type information to Linux.
15683
15684 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
15685 (LOONGSON_MACHTYPE): New macro, set to
15686 "machtype=lemote-yeeloong-2f-8.9inches".
15687 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
15688 additional argument to Linux.
15689
1a3aaff4
RM
156902010-11-04 Robert Millan <rmh@gnu.org>
15691
15692 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
15693 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
15694 (its SATA disks are detected as slaveless IDE master drives on
15695 kFreeBSD).
15696 Reported by Carsten Aulbert.
15697
a75f4f62
CW
156982010-11-02 Colin Watson <cjwatson@ubuntu.com>
15699
15700 * util/bin2h.c (main): Fix spelling error in generated output.
15701
33b4b0c6
GS
157022010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
15703
15704 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
15705
2b36fbf4
VS
157062010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15707
15708 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
15709 vga= option is supplied.
15710
74aaf558
VS
157112010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
15714 * util/grub.d/10_kfreebsd.in: Likewise.
15715 * util/grub.d/10_linux.in: Likewise.
15716 * util/grub.d/20_linux_xen.in: Likewise.
15717
6428dec3
VS
157182010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15719
15720 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
15721 argument as an argument to no-argument option.
15722
f8729d98
VS
157232010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 * util/grub.d/10_linux.in: Add missing load_video with explicit
15726 GRUB_GFXPAYLOAD_LINUX.
15727
89d68fa6
VS
157282010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15729
15730 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
15731
3a1197cd
VS
157322010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15733
15734 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
15735 elements with invlid index.
15736 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15737 * grub-core/disk/raid.c (insert_array): Automatically reallocate
15738 members.
15739 * include/grub/raid.h (grub_raid_member): New struct.
15740 (grub_raid_array): Transform devices and start_sector into usage of
15741 grub_raid_member. All users updated
15742 (allocated_devs): New member.
15743
71574288
VS
157442010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15745
15746 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
15747 is modified
15748
8d40ec65
BC
157492010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
15750
15751 NetBSD build fix for getline function conflict from gnulib.
15752
15753 * Makefile.util.def (libgrubkern.a): New library for grub kernel
15754 components that depend on gnulib headers.
15755 (libgrubmods.a): Renamed from earlier libgrub.a.
15756 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
15757
95b9257e
VS
157582010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
15761 install rather than creating a broken install.
15762
26c53dc6
VS
157632010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * util/grub-setup.c (argp): Remove misleading example of installing to
15766 a partition.
15767
4171b3c5
VS
157682010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15769
15770 * util/grub-setup.c (setup): Clarify the error message.
15771
18568d18
VS
157722010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15773
15774 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
15775
4f6a2e21
VS
157762010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 * grub-core/kern/emu/misc.c
15779 (grub_make_system_path_relative_to_its_root)
15780 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
15781
157822010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
15783
15784 * grub-core/kern/emu/misc.c
15785 (grub_make_system_path_relative_to_its_root): Revert r2882.
15786
e138c458
VS
157872010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
15788
15789 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
15790 useless field head. All users updated.
15791 (free_subchunk): Correct handling of IN_REGION subchunk.
15792
0cbcdf0e
CW
157932010-10-22 Colin Watson <cjwatson@ubuntu.com>
15794
15795 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
15796 (Supported kernels): Likewise.
15797
b65ea155
GS
157982010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
15799
15800 Make mktemp invocations portable.
15801
15802 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
15803 exit if mktemp fails.
15804 * tests/grub_script_blockarg.in: Likewise.
15805 * tests/partmap_test.in: Likewise.
15806 * tests/util/grub-shell-tester.in: Likewise.
15807 * tests/util/grub-shell.in: Likewise.
15808 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15809 * Makefile.am: Likewise, and chain shell commands with `&&'
15810 instead of ';'.
15811 * util/grub-mkrescue.in: Use the same explicit template as above, and
15812 exit if mktemp fails.
15813
05f43cdd
BC
158142010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
15815
15816 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
15817 Linux kernel, reported by Dennis Schridde.
15818
800e6a9b
SJ
158192010-10-17 Szymon Janc <szymon@janc.net.pl>
15820
15821 * grub-core/normal/auth.c (grub_auth_check_authentication):
15822 Set-but-not-used variable removed.
15823
d82df574
VS
158242010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15825
15826 * docs/grub.texi (GNU/Linux): Document APM unavailability with
15827 32-bit linux protocol.
15828
7bced458
VS
158292010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
15832 cursor shape for sanity.
15833
5b027690
VS
158342010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 * docs/grub.texi (Installation): Document buggy BIOS install.
15837
ba5f65cf
VS
158382010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15839
15840 * docs/grub.texi (Installation): Indent.
15841
fdf2ec9c
VS
158422010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15843
15844 * util/grub-setup.c (setup): New parameter allow_floppy.
15845 (arguments): New member allow_floppy.
15846 (argp_parser): Handle --allow-floppy.
15847 (main): Pass allow_floppy.
15848 * util/grub-install.in: New option --allow-floppy passed though to
15849 grub-setup.
15850
861dfd4c
VS
158512010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15852
15853 * util/grub-install.in: Handle partitionless disks.
15854
f77a8c24
VS
158552010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15856
15857 * util/grub-setup.c (setup): Don't clean blocklists before readability
15858 verfification.
15859
27d9ee32
VS
158602010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15861
15862 * docs/grub.texi (Installation): Document embedding zone. Remove
15863 obsolete grub-install example.
15864
6bdda8f8
SJ
158652010-10-16 Szymon Janc <szymon@janc.net.pl>
15866
15867 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
15868 Set-but-not-used variable ifdef'ed.
15869 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
15870 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
15871 variable removed.
15872 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
15873 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
15874 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15875 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
15876 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
15877 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15878 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
15879 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
15880 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
15881 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
15882 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
15883 Likewise.
15884
e19b016b
VS
158852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15886
15887 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
15888 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
15889 enum value.
15890
6c8d3002
VS
158912010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15892
15893 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
15894 synonym to _S5_. Needed for some DSDTs.
15895
c32b51c9
VS
158962010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 Userspace ACPI parser debugging.
15899
15900 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
15901 headers and add relevant defines. Don't include standard headers.
15902 (main) [GRUB_DSDT_TEST]: New function.
15903 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
15904 Don't declare functions.
15905
fbfbeb39
VS
159062010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15907
15908 Remove dead grub_efi_mm_fini.
15909
15910 * grub-core/kern/efi/mm.c (allocated_page): Removed.
15911 (ALLOCATED_PAGES_SIZE): Likewise.
15912 (MAX_ALLOCATED_PAGES): Likewise.
15913 (allocated_pages): Likewise.
15914 (grub_efi_allocate_pages): Don't record allocated pages.
15915 (grub_efi_free_pages): Likewise.
15916 (grub_efi_mm_init): Likewise.
15917 (grub_efi_mm_fini): Removed.
15918
65f7ed7c
VS
159192010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15920
15921 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
15922 (grub_efi_mm_init): Take into account the memory map size increase.
15923
24977b44
VS
159242010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15925
15926 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
15927 (serial_hw_put): Wait based on real time rather than port reads. Don't
15928 roken ports.
15929 * include/grub/serial.h (grub_serial_port): New field broken.
15930
1eb01cd2
RM
159312010-10-16 Robert Millan <rmh@gnu.org>
15932
15933 * grub-core/kern/emu/misc.c
15934 (grub_make_system_path_relative_to_its_root): Fix premature return
15935 when processing non-root ZFS filesystems.
5f8b440b 15936 Reported by Sergio Talens-Oliag.
1eb01cd2 15937
2d5fed60
RM
159382010-10-15 Robert Millan <rmh@gnu.org>
15939
15940 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
15941 guarantee compressed ones are processed first.
15942
d0f4c1ea
VS
159432010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15944
15945 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
15946 grub_efiemu_autocore.
15947
d87c681f
VS
159482010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15949
15950 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
15951 rather than 0x1b.
15952 (grub_console_getkey): Use correct jae opcode rather than ja.
15953
219b3564
RM
159542010-10-12 Robert Millan <rmh@gnu.org>
15955
15956 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
15957 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
15958 variable. All references updated.
15959
15960 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
15961
20c6bb7e
VS
159622010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
15963
15964 Correctly distinguish mdraid flavours.
15965
15966 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
15967 (insert_array): New argument raid.
15968 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
15969 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
15970 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
15971
74baff84
VS
159722010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
15973
15974 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
15975 handling of special keys.
15976
3ef068df 159772010-10-02 Aleš Nesrsta <starous@volny.cz>
15978
c7980ad9
VS
15979 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
15980 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 15981
a9455194 159822010-10-02 Aleš Nesrsta <starous@volny.cz>
15983
c7980ad9
VS
15984 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
15985 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
15986 users updated.
a9455194 15987 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 15988 Use right endpoint when querying descriptor.
a9455194 15989
441cfe65
VS
159902010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
15991
15992 Clear out 0x80 color bit on EFI.
15993 Tested by: decoder
15994 Reported by: decoder and meta tech.
15995
15996 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
15997 (grub_console_setcolorstate): Clear out 0x80 bit.
15998 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
15999 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
16000 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
16001
bf26bcc4
VS
160022010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
16003
16004 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
16005 Set to "auto".
16006
6e3c515d
VS
160072010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
16010 mo_file after freeing.
16011
e6d983ba
VS
160122010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16013
16014 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
16015
74ccb5b5
VS
160162010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16017
16018 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
16019 flags.
16020
17821956
VS
160212010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16022
16023 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
16024 usage.
16025
ee74fa48
VS
160262010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16027
16028 Put terminfo into core on ieee1275 and yeeloong (needed for console).
16029
16030 * gentpl.py: New groups terminfoinkernel and terminfomodule.
16031 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
16032 and terminfo.h when needed.
16033 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
16034 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
16035 (terminfo): Enable only on terminfokernel.
16036 (extcmd): Likewise.
16037 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
16038 * include/grub/lib/arg.h: Likewise.
16039 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
16040 incorrect usage of ->.
16041
aa438e68
VS
160422010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16043
16044 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
16045 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
16046
57994012
VS
160472010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 Fix coreboot compilation.
16050
16051 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16052 Take VBE info into account even if only text is supported.
16053 (fill_vbe_info): Take into account the case when only VGA text
16054 is supported.
16055 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
16056 on coreboot, multiboot and qemu.
16057
2a406611
VS
160582010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16059
16060 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
16061 debug messages.
16062 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
16063
d33613fc
VS
160642010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
16067 parameters.
16068
44a1b432
VS
160692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16070
16071 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
16072 if they were BSD-style.
16073
edde54e6
VS
160742010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 * grub-core/boot/i386/pc/lnxboot.S: Replace
16077 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
16078 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
16079
b65830fa
VS
160802010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16081
16082 Write embedding zone using Reed-Solomon.
16083
16084 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
16085 * grub-core/Makefile.am (rs_decoder.S): New target.
16086 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
16087 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
16088 (multiboot): Move to RS part.
16089 (post_reed_solomon): New label.
16090 (grub_boot_drive): Move to non-RS part since it's modified in memory
16091 on boot.
16092 Include rs_decoder.S.
16093 * grub-core/lib/reed_solomon.c: New file.
16094 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
16095 New definition.
16096 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
16097 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
16098 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
16099 * include/grub/partition.h (grub_partition_map): Change prototype of
16100 embed to allow returning additional sectors.
16101 * include/grub/reed_solomon.h: New file.
16102 * util/grub-setup.c (setup): Handle Reed-Solomon.
16103
0b4b227f
CW
161042010-09-28 Colin Watson <cjwatson@ubuntu.com>
16105
16106 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
16107 i386 and x86-64 definedness tests.
16108
f772623b
YB
161092010-09-27 Yves Blusseau <blusseau@zetam.org>
16110
16111 Fix generation of kernel_syms.lst
16112
16113 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
16114 ASM_PREFIX
16115
8e57a6ca
RM
161162010-09-26 Robert Millan <rmh@gnu.org>
16117
16118 Support degraded ZFS arrays in "grub-probe -t device" resolution.
16119
16120 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
16121 the pool is an array of devices, iterate through it and return the
16122 first device that passes a stat() test (instead of blindly returning
16123 the first one).
16124
f9130836
RM
161252010-09-26 Robert Millan <rmh@gnu.org>
16126
16127 Build fixes for GNU/kFreeBSD.
16128
16129 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
16130 to programs that require ZFS conversion.
16131 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
16132 kernels that don't have FLOPPY_MAJOR.
16133
96510faf
BC
161342010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16135
16136 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
16137
449333eb
BC
161382010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16139
16140 Fix grub-emu build.
16141
16142 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
16143 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
16144 mdraid09 and mdraid1x.
16145
e1fd1939
CW
161462010-09-24 Colin Watson <cjwatson@ubuntu.com>
16147
16148 Re-enable grub-extras.
16149
16150 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
16151 avoid confusing Automake. Run autogen only twice, once for the top
16152 level and once for grub-core. Add Makefile.util.def and
16153 Makefile.core.def from extra modules to the appropriate autogen
16154 invocations. If Makefile.common exists in an extra module, include
16155 it in both Makefile.util.am and grub-core/Makefile.core.am;
16156 similarly, include any Makefile.util.common file in Makefile.util.am
16157 and any Makefile.core.common file in grub-core/Makefile.core.am.
16158 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
16159 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
16160 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
16161 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
16162
16163 * gentpl.py (gvar_add): Turn GVARS into a set.
16164 (global_variable_initializers): Sort global variables on output.
16165 (vars_init): New function.
16166 (first_time): Likewise.
16167 (library): Ensure that non-global variable initialisations are
16168 emitted before the first time we emit code for a library block.
16169 Append to variables rather than setting them. Only emit
16170 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
16171 each conditional path.
16172 (program): installdir() emits an Autogen macro, so must be passed to
16173 var_add rather than gvar_add.
16174 (data): Likewise.
16175 (script): Likewise.
16176 (rules): New function, centralising handling for different target
16177 types. Set up Guile association lists for first_time and vars_init,
16178 and send most output to a diversion so that variable initialisations
16179 can be emitted first.
16180 (module_rules): Use new rules function.
16181 (kernel_rules): Likewise.
16182 (image_rules): Likewise.
16183 (library_rules): Likewise.
16184 (program_rules): Likewise.
16185 (script_rules): Likewise.
16186 (data_rules): Likewise.
16187
16188 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
16189
16190 * .bzrignore: Add contrib and grub-core/contrib. Remove
16191 grub-core/Makefile.gcry.am.
16192
1d12cf29
YB
161932010-09-24 Yves Blusseau <blusseau@zetam.org>
16194
16195 * grub-core/lib/LzFind.c: Add missing include.
16196 * grub-core/lib/LzmaEnc.c: Likewise.
16197 * grub-core/script/lexer.c: Likewise.
16198 * grub-core/script/yylex.l: Likewise.
16199 * util/grub-macho2img.c: Likewise.
16200 * util/grub-menulst2cfg.c: Likewise.
16201 * util/grub-mklayout.c: Likewise.
16202 * util/grub-mkpasswd-pbkdf2.c
16203 * util/grub-mkrelpath.c: Likewise.
16204 * util/resolve.c: Likewise.
16205
dd363028
BC
162062010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
16207
16208 * Makefile.util.def (example_unit_test): Add
16209 grub-core/gnulib/libgnu.a.
16210
f5a109e2
GS
162112010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
16212
16213 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
16214
6d0fa83c
VS
162152010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
16216
16217 Support xz compression on yeeloong.
16218
16219 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
16220 * configure.ac: Check for LZMA.
16221 * grub-core/Makefile.core.def (xz_decompress): New target.
16222 (none_decompress): Likewise.
16223 * grub-core/boot/decompressor/minilib.c: New file.
16224 * grub-core/boot/decompressor/none.c: Likewise.
16225 * grub-core/boot/decompressor/xz.c: Likewise.
16226 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
16227 * grub-core/kern/mips/cache_flush.S: Likewise.
16228 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
16229 * grub-core/kern/mips/startup.S: Move first stage to ...
16230 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
16231 nomacro.
16232 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
16233 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
16234 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
16235 Allocate statically.
16236 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
16237 Allocate statically or use scratch. Don't check CRC32.
16238 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
16239 Allocate statically. Don't check CRC32.
16240 * include/grub/decompressor.h: New file.
16241 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
16242 Removed.
16243 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
16244 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
16245 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
16246 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
16247 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
16248 * util/grub-mkimage.c (grub_compression_t): New type.
16249 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
16250 (image_target_desc): New field default_compression.
16251 (image_targets): Adjust yeeloong targets.
16252 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
16253 (compress_kernel): New parameter comp.
16254 (generate_image): Likewise. Handle new compression case.
16255 (options): New option --compression
16256 (help): Likewise.
16257 (main): Handle new option.
16258
1b655af6
GS
162592010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
16260
16261 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
16262
8f03f0b5
CW
162632010-09-22 Colin Watson <cjwatson@ubuntu.com>
16264
16265 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
16266 typo in __i386__ conditional.
16267
7835dfd3
VS
162682010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
16269
16270 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
16271 include.
16272
e255597e
VS
162732010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
16274
6d0fa83c 16275 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
16276
16277 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
16278 new tags as supported.
16279 (acpiv2_size): New function.
16280 (grub_multiboot_get_mbi_size): Take new tags into account.
16281 (grub_multiboot_make_mbi): Add new tags.
16282 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 16283
6cc14051 162842010-09-21 Aleš Nesrsta <starous@volny.cz>
16285
16286 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
16287 Added missing configuration of USB device.
16288
df7769d8
CW
162892010-09-21 Colin Watson <cjwatson@ubuntu.com>
16290
16291 * grub-core/normal/menu_entry.c (run): Make sure we always return
16292 a value.
16293
b031012d
CW
162942010-09-21 Colin Watson <cjwatson@ubuntu.com>
16295
16296 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
16297 NumberOfPages is UINT64 according to the UEFI specification, not
16298 UINTN. Fix printf format.
16299
174de8f3
CW
163002010-09-21 Colin Watson <cjwatson@ubuntu.com>
16301
16302 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
16303 `err' to grub_usb_err_t.
16304 Reported and tested by: KESHAV P.R.
16305
d7dbe923
CW
163062010-09-21 Colin Watson <cjwatson@ubuntu.com>
16307
16308 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
16309 tpart non-const, so that we can assign to it. (Since this is a
16310 typedef, the constness refers to the pointer rather than what it
16311 points to.)
16312
8d5e2af3
CW
163132010-09-21 Colin Watson <cjwatson@ubuntu.com>
16314
16315 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
16316 $(top_srcdir)/grub-core/gnulib as well as
16317 $(top_builddir)/grub-core/gnulib.
16318 Reported by: KESHAV P.R.
16319
5c527783
CW
163202010-09-21 Colin Watson <cjwatson@ubuntu.com>
16321
16322 * util/grub-install.in: Fix the bootloader ID option to be
16323 consistently --bootloader-id, not --bootloader_id.
16324 Reported by: KESHAV P.R.
16325
d309a16e
CW
163262010-09-21 Colin Watson <cjwatson@ubuntu.com>
16327
16328 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
16329 check hash checksum." consistently translatable.
16330
b830cd16
YB
163312010-09-21 Yves Blusseau <blusseau@zetam.org>
16332
16333 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
16334 $(top_builddir).
16335
c4fe27a8
CW
163362010-09-21 Colin Watson <cjwatson@ubuntu.com>
16337
16338 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
16339 (GRUB_MOD_INIT): Register sha1sum command.
16340 (GRUB_MOD_FINI): Unregister sha1sum command.
16341
a4c1d277
YB
163422010-09-21 Yves Blusseau <blusseau@zetam.org>
16343
16344 Keep boot and grub directory names in sync with utils scripts
16345
16346 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
16347 * config.h.in: Add previous macros.
16348 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
16349 * util/grub-install.in: Use $bootdir and $grubdir variables.
16350
4eff79d2
CW
163512010-09-21 Colin Watson <cjwatson@ubuntu.com>
16352
16353 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
16354 convert partition names to disk names if the new `convert' parameter
16355 is set.
16356 (grub_util_biosdisk_get_grub_dev): If opening the disk device
16357 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
16358 disk in its own right. This can happen with Xen disk images.
16359
934d7e44
YB
163602010-09-21 Yves Blusseau <blusseau@zetam.org>
16361
16362 * util/grub-editenv.c: Update strings to avoid warnings when generating
16363 grub.pot file.
16364 * util/grub-setup.c: Likewise.
934d7e44 16365
df3367cc
VS
163662010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
16367
16368 * configure.ac: Change version to 1.99~beta0.
16369
77a94e98
VS
163702010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
16371
16372 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
16373 Add BADRAM.
16374 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
16375 Likewise.
16376 * include/multiboot.h: Resynced with specification.
16377 * include/multiboot2.h: Likewise.
16378
269004c1
CW
163792010-09-21 Colin Watson <cjwatson@ubuntu.com>
16380
16381 Fix po directory handling.
16382
16383 * configure.ac: Create po/Makefile.in rather than po/Makefile.
16384 * grub-core/gnulib/Makefile.am: Import gettext module.
16385 * m4/gnulib-cache.m4: Likewise.
16386 * m4/gnulib-comp.m4: Likewise.
16387 * m4/gettext.m4: New file, from gnulib.
16388 * m4/glibc2.m4: Likewise.
16389 * m4/iconv.m4: Likewise.
16390 * m4/intdiv0.m4: Likewise.
16391 * m4/intl.m4: Likewise.
16392 * m4/intldir.m4: Likewise.
16393 * m4/intlmacosx.m4: Likewise.
16394 * m4/intmax.m4: Likewise.
16395 * m4/inttypes-pri.m4: Likewise.
16396 * m4/lcmessage.m4: Likewise.
16397 * m4/lib-ld.m4: Likewise.
16398 * m4/lib-link.m4: Likewise.
16399 * m4/lib-prefix.m4: Likewise.
16400 * m4/lock.m4: Likewise.
16401 * m4/nls.m4: Likewise.
16402 * m4/po.m4: Likewise.
16403 * m4/printf-posix.m4: Likewise.
16404 * m4/progtest.m4: Likewise.
16405 * m4/threadlib.m4: Likewise.
16406 * m4/uintmax_t.m4: Likewise.
16407 * m4/visibility.m4: Likewise.
16408 * po/Makefile.am: Remove.
16409 * po/Makefile.in.in: New file, from gettext.
16410 ($(DOMAIN).pot-update): Support POTFILES-shell.
16411 * po/Makevars: New file.
16412 * po/POTFILES-shell: Rename to ...
16413 * po/POTFILES-shell.in: ... this. Update.
16414 * po/POTFILES: Rename to ...
16415 * po/POTFILES.in: ... this. Update.
16416 * po/Rules-quot: New file, from gettext.
16417 * po/boldquot.sed: Likewise.
16418 * po/en@boldquot.header: Likewise.
16419 * po/en@quot.header: Likewise.
16420 * po/insert-header.sin: Likewise.
16421 * po/quot.sed: Likewise.
16422 * po/remove-potcdate.sin: Likewise.
16423
3e0fa5d0
VS
164242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16425
16426 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
16427
ade9bd66
VS
164282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16429
16430 * util/grub.d/20_linux_xen.in: Use submenus.
16431
fc55cc4c
VS
164322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16433
16434 Support submenus.
16435
16436 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
16437 parameter submenu. All users updated.
16438 * grub-core/normal/main.c (free_menu): Rename to ...
16439 (grub_normal_free_menu): ... this. Made global.
16440 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
16441 if requested.
16442 * grub-core/normal/menu_entry.c (screen): New field submenu.
16443 (make_screen): Set submenu.
16444 (run): Open new context if requested.
16445 * include/grub/menu.h (grub_menu_entry): New field submenu.
16446 * include/grub/normal.h (grub_normal_free_menu): New proto.
16447
600cedf7
VS
164482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16449
16450 Menu entries extractor.
16451
16452 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
16453 variants.
16454 (GRUB_MOD_INIT): Register new variants.
16455 (GRUB_MOD_FINI): Unregister new variants.
16456 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
16457 into grub_cmd_legacy_source.
16458 (grub_cmd_legacy_source): Implement extractor variants.
16459 (GRUB_MOD_INIT): Register new variants.
16460 (GRUB_MOD_FINI): Unregister new variants.
16461 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
16462 as an extractor.
16463 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
16464 search as an extractor.
16465 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
16466 test as an extractor.
16467 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
16468 as an extractor.
16469 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
16470 (grub_env_new_context): New function.
16471 (grub_env_context_open): Likewise.
16472 (grub_env_extractor_open): Likewise.
16473 (grub_env_extractor_close): Likewise.
16474 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16475 grub_extractor_level.
16476 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
16477 * include/grub/env.h (grub_env_extractor_open): New proto.
16478 (grub_env_extractor_close): Likewise.
16479 * include/grub/normal.h (grub_extractor_level): New external variable.
16480
7bda3a87
VS
164812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16482
16483 Make cutmem accept a region specification.
16484 Suggested by: Samuel Thibault
16485
16486 * grub-core/mmap/mmap.c (parsemem): New function.
16487 (grub_cmd_cutmem): Handle new arguments.
16488
2ea57f88
VS
164892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 New command cutmem.
16492
16493 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
16494 (GRUB_MOD_INIT): Register new command.
16495 (GRUB_MOD_FINI): Unregister new command.
16496
74342e31
VS
164972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16498
16499 Support some annoying BSD and Minix subpartitions.
16500
16501 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
16502 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
16503 Properly handle concatenation.
16504 * grub-core/kern/device.c (grub_device_iterate): Likewise.
16505 * grub-core/normal/completion.c (iterate_partition): Likewise.
16506 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
16507 contain partition. All users updated.
16508 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
16509 struct.
16510 (grub_openbsdlabel_partition_map): Likewise.
16511 (bsdlabel_partition_map_iterate): Rename to ..
16512 (iterate_real): ... this. New arguments sector, freebsd and pmap.
16513 (bsdlabel_partition_map_iterate): New function.
16514 (netopenbsdlabel_partition_map_iterate): Likewise.
16515 (netbsdlabel_partition_map_iterate): Likewise.
16516 (openbsdlabel_partition_map_iterate): Likewise.
16517 (GRUB_MOD_INIT): Register new partmaps.
16518 (GRUB_MOD_FINI): Unregister new partmaps.
16519 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
16520 (grub_partition_msdos_iterate): ... this. All users updated.
16521 Don't support embedding other than in a minix partition.
16522 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
16523 proto.
16524 * include/grub/partition.h (grub_partition): New field msdostype.
16525 * util/grub-install.in: Handle openbsd and netbsd types being in
16526 part_bsd module.
16527
1e8d555b
VS
165282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16529
16530 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
16531
16532 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
16533 * grub-core/Makefile.core.def (mdraid): Renamed to ...
16534 (mdraid09): ... this.
16535 (mdraid1x): New module.
16536 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
16537 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
16538
899d8af4
VS
165392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
16542 vsprintf.
16543
40901acd
CW
165442010-09-20 Colin Watson <cjwatson@ubuntu.com>
16545
16546 * grub-core/commands/efi/lsefimmap.c: Correct header.
16547 * NEWS: Update.
16548
dfe3b247
CW
165492010-09-20 Colin Watson <cjwatson@ubuntu.com>
16550
16551 * util/grub-editenv.c (argp_parser): Don't pass translated strings
16552 as printf format strings; the translations might contain '%' which
16553 could cause a crash.
16554 (main): Likewise.
16555 * util/grub-fstest.c (argp_parser): Likewise.
16556 * util/grub-setup.c (argp_parser): Likewise.
16557 (main): Likewise.
16558
3286a4b4
VS
165592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16560
16561 Use argp in grub-fstest.
16562
16563 * util/grub-fstest.c: Don't include getopt.h.
16564 Include argp.h.
16565 (root): New variable.
16566 (args_count): Likewise.
16567 (nparm): Likewise.
16568 (num_disks): Likewise.
16569 (images): Likewise.
16570 (cmd): Likewise.
16571 (debug_str): Likewise.
16572 (args): Likewise.
16573 (options): Transformed to argp.
16574 (usage): Removed.
16575 (main): Split argument parsing into ...
16576 (argp_parser): ... this. Changed to argp format.
16577 (argp): New variable.
16578 (main): Use argp_parse.
16579
3dccbe4b
TG
165802010-09-20 Tristan Gingold <gingold@free.fr>
165812010-09-20 Robert Millan <rmh.grub@aybabtu.com>
165822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16583
16584 * grub-core/commands/efi/lsefimmap.c: New file.
16585 * grub-core/Makefile.core.def (lsefimmap): New module.
16586 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
16587
38c259a7
VS
165882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16589
16590 Pause the execution (10s max) if any errors are displayed so the user
16591 has a chance to see them.
16592
16593 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
16594 (grub_print_error): Increment grub_err_printed_errors.
16595 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
16596 execution if any errors were displayed.
16597 (show_menu): Remove old code for pause.
16598 * grub-core/normal/menu_entry.c (run): Likewise.
16599 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
16600 users updated.
16601 (grub_normal_get_char_counter): Likewise.
16602 * include/grub/err.h (grub_err_printed_errors): New external variable.
16603 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
16604
f218b09c
VS
166052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16606
16607 Support multiboot VBE info.
16608
16609 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16610 Take VBE info into account.
16611 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
16612 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16613 Call fill_vbe_info when appropriate.
16614 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
16615 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
16616 as supported.
16617 (grub_multiboot_get_mbi_size): Take new tags into account.
16618 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
16619 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16620 Call fill_vbe_tag when appropriate.
16621 (grub_multiboot_make_mbi): Properly align tags.
16622 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
16623 function.
16624 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
16625 proto.
16626 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
16627
a9cc5438
VS
166282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16629
16630 Suport manual terminal geometry specification.
16631
16632 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
16633 Save state in grub_ofconsole_terminfo_output.
16634 (grub_ofconsole_term): Use grub_terminfo_getwh.
16635 (grub_ofconsole_getwh): Removed.
16636 * grub-core/term/serial.c (grub_serial_getwh): Removed.
16637 (grub_serial_term): Use grub_terminfo_getwh.
16638 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
16639 (options): New struct.
16640 (OPTION_*): New enum.
16641 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
16642 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
16643 width and height.
16644 (grub_terminfo_getwh): New proto.
16645 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
16646
1a8fed20
VS
166472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16648
16649 Handle legacy "terminal" command.
16650
16651 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
16652 and FLAG_TERMINAL.
16653 (legacy_commands): Add terminal and title.
16654 (grub_legacy_parse): Handle terminal. Simplify title handling.
16655
41e9c57d
VS
166562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16657
16658 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
16659 parameters overflow.
16660
61c874c5
CW
166612010-09-20 Colin Watson <cjwatson@ubuntu.com>
16662
16663 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
16664 widthspec.h.
16665
16666 * docs/grub.texi (Shell-like scripting): Document `!'.
16667 (Network): Simplify using new i386-pc-pxe format. Mention
16668 grub-mknetdir.
16669
16670 * NEWS: Update.
16671
943682b4
CW
166722010-09-20 Colin Watson <cjwatson@ubuntu.com>
16673
16674 * Makefile.am (SUBDIRS): Restore "."; it's important to force
16675 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
16676 when needed.
16677
6d3d698d
CW
166782010-09-20 Colin Watson <cjwatson@ubuntu.com>
16679
16680 * grub-core/commands/efi/lsefisystab.c: Correct header.
16681 * grub-core/commands/efi/lssal.c: Likewise.
16682 * grub-core/commands/testload.c: Likewise.
16683
c982589f
CW
166842010-09-20 Colin Watson <cjwatson@ubuntu.com>
16685
16686 * util/grub-mkrescue.in: Add explicit root argument to --set to
16687 prevent the UUID being interpreted as an argument to --set (matches
16688 previous change to prepare_grub_to_access_device).
16689
a63c31b6
CW
166902010-09-20 Colin Watson <cjwatson@ubuntu.com>
16691
16692 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
16693 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
16694 the verbosity of later #ifs.
16695 (find_partition_start): Define this function on FreeBSD too.
16696 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
16697 function.
16698 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
16699 on FreeBSD.
16700
6439b8ee
YB
167012010-09-20 Yves Blusseau <blusseau@zetam.org>
16702
16703 * util/grub-editenv.c: Use argp instead of getopt.
16704
c5930ec8
YB
167052010-09-20 Yves Blusseau <blusseau@zetam.org>
16706
16707 * util/grub-setup.c: Use argp instead of getopt.
16708
15c69261
YB
167092010-09-20 Yves Blusseau <blusseau@zetam.org>
16710
16711 Use gnulib-tool to create gnulib source files.
16712
16713 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
16714 grub-core/gnulib directories
16715 * .bzignore: Add **/.deps and autogenerated gnulib files
16716 * configure.ac: Assign auxiliary directory to build-aux, add invocation
16717 of gnulib macros, add grub-core/gnulib/Makefile
16718 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
16719 include m4 directory to aclocal.
16720 * Makefile.util.def: Remove direct compilation of gnulib source files
16721 and use the new grub-core/gnulib/libgnu.a.
16722 * build-aux/config.rpath: move config.rpath from top directory to
16723 build-aux
16724 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
16725 in gnulib headers
16726 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
16727 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
16728 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
16729 header.
16730 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
16731 string.
16732
e511c9f5
YB
167332010-09-20 Yves Blusseau <blusseau@zetam.org>
16734
16735 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
16736 grub-core/genmod.sh and grub-core/gensyminfo.sh
16737
c2dede05
BC
167382010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
16739
16740 Add a test for echo command options.
16741
16742 * tests/grub_cmd_echo.in: New test.
16743 * Makefile.util.def: Rules for new test.
16744
c55f5018
SJ
167452010-09-20 Szymon Janc <szymon@janc.net.pl>
16746
16747 Remove crc.mod and move crc command to hashsum.mod.
16748 Remove lib/crc.c - users updated to use gcrypt implementation.
16749
16750 * grub-core/commands/crc.c: Removed.
16751 * grub-core/Makefile.core.def (crc): Module removed.
16752 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
16753 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
16754 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
16755 * grub-core/lib/crc.c: Removed.
16756 * include/grub/lib/crc.h: Removed.
16757 * Makefile.util.def (crc): Remove lib/crc.c
16758 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
16759 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
16760 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
16761 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
16762 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
16763 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
16764
e0337366
VS
167652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16766
16767 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
16768
742f9232
VS
167692010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16770
16771 Split config.h for util and core.
16772
16773 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
16774 (ADDR32): Likewise.
16775 (DATA32): Likewise.
16776 (BSS_START_SYMBOL): Likewise.
16777 (END_SYMBOL): Likewise.
16778 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
16779 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
16780 * config.h.in: New file.
16781 * configure.ac: Use config-util.h as config define file.
16782 Rename MACHINE into GRUB_MACHINE. All users updated.
16783 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
16784 updated.
16785 (NESTED_FUNC_ATTR): Likewise.
16786 Substitue new variables.
16787 (COND_HAVE_ASM_USCORE): New conditional.
16788 * grub-core/Makefile.am (ASM_PREFIX): New variable.
16789 (kernel_syms.lst): Use ASM_PREFIX.
16790 * grub-core/kern/emu/console.c: Include config-util.h.
16791 * grub-core/kern/emu/misc.c: Likewise.
16792 * grub-core/kern/emu/mm.c: Likewise.
16793 * include/grub/emu/misc.h: Likewise.
16794 * include/grub/libgcc.h: Likewise.
16795
39feb0e8
VS
167962010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16797
16798 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
16799 constants usage.
16800 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
16801 Fix GRUB_TERM_KEY_* constants usage.
16802 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
16803
9af6dac3
VS
168042010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
16807 print pointer.
16808 * grub-core/bus/usb/uhci.c: Remove empty define.
16809 (grub_uhci_check_transfer): Add missing cast.
16810 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
16811 print pointer.
16812 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
16813 PRIuGRUB_SIZE.
16814 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
16815
d6d94820
VS
168162010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16817
16818 * grub-core/Makefile.core.def (legacycfg): Add
16819 lib/i386/pc/vesa_modes_table.c on emu.
16820
3572f2b6
BC
168212010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
16822
16823 Reduce number of temporary files generated by build system.
16824
16825 * grub-core/gencmdlist.sh: Removed.
16826 * grub-core/genfslist.sh: Removed.
16827 * grub-core/genhandlerlist.sh: Removed.
16828 * grub-core/genmodsrc.sh: Removed.
16829 * grub-core/genpartmaplist.sh: Removed.
16830 * grub-core/genparttoollist.sh: Removed.
16831 * grub-core/gentermiinallist.sh: Removed.
16832 * grub-core/genvideolist.sh: Removed.
16833
16834 * grub-core/genmod.sh.in: New file.
16835 * grub-core/gensyminfo.sh.in: New file.
16836
16837 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
16838 * conf/Makefile.extra-dist: Update with new files.
16839 * gentpl.py: Remove rules related to unnecessary temporary files.
16840 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
16841 and und-* files.
16842 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
16843 genmod.sh scripts.
16844 * grub-core/bus/usb/uhci.c: Remove empty #define.
16845 * grub-core/genmoddep.awk: Updated with new syminfo format.
16846 * util/bash-completion.d/Makefile.am: Add config.log to
16847 CLEANFILES.
16848
c836b030
YB
168492010-09-19 Yves Blusseau <blusseau@zetam.org>
16850
16851 * Makefile.util.def: Add forgotten $(LIBINTL) library.
16852
2f4e8053
BC
168532010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
16854
16855 * util/grub-mkconfig.in: Check the config script for syntax errors
16856 before saving.
16857
75831c34
CW
168582010-09-19 Colin Watson <cjwatson@ubuntu.com>
168592010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16860
16861 * Makefile.util.def (grub-install): Use util/grub-install.in on all
16862 platforms.
16863 * util/grub-install.in: Add EFI and IEEE1275 support.
16864 * util/i386/efi/grub-install.in: Removed.
16865 * util/ieee1275/grub-install.in: Likewise.
16866
eaf41b25
VS
168672010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16868
16869 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
16870 (grub_cmd_cmosclean): Likewise.
16871 (GRUB_MOD_INIT): Register command cmosclean.
16872 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
16873 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
16874
1a9130dd
CPE
168752010-09-18 Carles Pina i Estany <carles@pina.cat>
168762010-09-18 Aleš Nesrsta <starous@volny.cz>
168772010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16878
16879 Add keyboard layouts support.
16880
16881 * Makefile.util.def (grub-mklayout): New file.
16882 (grub-kbdcomp): New script.
16883 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
16884 Add keyboard_layouts.h.
16885 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
16886 commands/boot.c on yeeloong.
16887 (keylayouts): New module.
16888 * grub-core/bus/usb/ohci.c
16889 * grub-core/bus/usb/uhci.c
16890 * grub-core/bus/usb/usbhub.c (rescan): New variable.
16891 (grub_usb_add_hub): Poll interrupt pipe for device handling.
16892 (attach_root_port): Likewise.
16893 (poll_nonroot_hub): Likewise.
16894 (grub_usb_poll_devices): Likewise.
16895 (detach_device): Close transfer.
16896 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
16897 function.
16898 (grub_usb_bulk_setup_readwrite): Likewise.
16899 (grub_usb_bulk_finish_readwrite): Likewise.
16900 * grub-core/commands/keylayouts.c: New file.
16901 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
16902 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
16903 aliases.
16904 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
16905 support scancode 2.
16906 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
16907 * include/grub/keyboard_layouts.h: New file.
16908 * util/grub-mklayout.c: New file.
16909 * util/grub-kbdcomp.in: Likewise.
16910
a1d84a5e
VS
169112010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16912
16913 Unify memory types.
16914
16915 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
16916 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
16917 types.
16918 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
16919 (grub_upper_mem): Likewise.
16920 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
16921 * include/grub/memory.h (grub_memory_type_t): New enum.
16922 All users updated.
16923
9696382e
VS
169242010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16925
16926 * grub-core/Makefile.core.def (lsapm): New module.
16927 * grub-core/commands/i386/pc/lsapm.c: New file.
16928 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
16929 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
16930 Likewise.
16931 * include/grub/i386/pc/apm.h: New file.
16932 * include/multiboot.h (multiboot_apm_info): New struct.
16933
169342010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16935
16936 GRUB-legacy configuration file support.
16937
16938 * Makefile.util.def (grub-menulst2cfg): New util.
16939 * docs/man/grub-menulst2cfg.h2m: New file.
16940 * grub-core/Makefile.core.def (legacycfg): New module.
16941 * grub-core/commands/legacycfg.c: New file.
16942 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
16943 (grub_normal_add_menu_entry): ... this.
16944 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
16945 (grub_normal_set_password): ...this.
16946 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
16947 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
16948 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
16949 * grub-core/lib/legacy_parse.c: New file.
16950 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
16951 * include/grub/i386/pc/vesa_modes_table.h: New file.
16952 * include/grub/legacy_parse.h: Likewise.
16953 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
16954 * util/grub-menulst2cfg.c: New file.
16955
bf8d1338
CW
169562010-09-17 Colin Watson <cjwatson@ubuntu.com>
16957
16958 * grub-core/kern/emu/hostdisk.c
16959 (convert_system_partition_to_system_disk): Initialise node.
16960
9c0bad2e
CW
169612010-09-17 Colin Watson <cjwatson@ubuntu.com>
16962
16963 * grub-core/kern/emu/hostdisk.c
16964 (convert_system_partition_to_system_disk): Fix devmapper memory pool
16965 leak.
16966 Reported and based on patch by: Modestas Vainius.
16967
a939d135
CW
169682010-09-17 Colin Watson <cjwatson@ubuntu.com>
16969
16970 Fix DM-RAID probing with recent versions of device-mapper udev
16971 rules.
16972
16973 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
16974 canonicalise device paths under /dev/mapper/.
16975 (convert_system_partition_to_system_disk): Compare the
16976 uncanonicalised path to /dev/mapper/ rather than the canonicalised
16977 path, since device nodes under /dev/mapper/ are often symlinks.
16978
0f7ee3c9
YB
169792010-09-17 Yves Blusseau <blusseau@zetam.org>
16980
16981 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
16982
10854d0d
YB
169832010-09-16 Yves Blusseau <blusseau@zetam.org>
16984
16985 * configure.ac: Avoid some annoying error messages if freetype-config
16986 program is not found.
16987
108538d8
CW
169882010-09-16 Colin Watson <cjwatson@ubuntu.com>
16989
16990 Support RAID on virtio devices, and others.
16991
16992 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
16993 Rename to ...
16994 [__MINGW32__] (grub_find_device): ... this.
16995 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
16996 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
16997 reasonable default if dir is NULL.
16998 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
16999 ...
17000 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
17001 (grub_guess_root_device): Update callers.
17002 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
17003
17004 * util/raid.c (grub_util_getdiskname): Remove.
17005 (grub_util_raid_getmembers): Use grub_find_device rather than
17006 grub_util_getdiskname.
17007
e5bfc130
CW
170082010-09-16 Colin Watson <cjwatson@ubuntu.com>
17009
17010 * docs/grub.texi (serial): Remove obsolete comment about GRUB
17011 needing to be compiled with serial support.
17012 (ls): Indicate that multiple files are accepted.
17013 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
17014 indicate that multiple files are accepted.
17015
be458ae2
CW
170162010-09-16 Colin Watson <cjwatson@ubuntu.com>
17017
17018 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
17019 libgrub_a_init.c, and util/bash-completion.d/grub.
17020
cb731b5e
VS
170212010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17022
17023 * util/grub-setup.c (setup): Fix incorrect container semantics.
17024
35139e8a
VS
170252010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17026
17027 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
17028 misusage.
17029 Reported by: J. Nick Terry
17030
e50fca4a
VS
170312010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17032
17033 Move embedding routines to partmap sources files.
17034
17035 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
17036 [GRUB_UTIL]: New variable.
17037 (gpt_partition_map_iterate): Set part.parent.
17038 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
17039 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
17040 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
17041 New function.
17042 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
17043 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
17044 (grub_partition_map) [GRUB_UTIL]: New field embed.
17045 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
17046 (setup): Use ->embed.
17047
f00478b7
VS
170482010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17049
17050 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
17051 function.
17052 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
17053 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
17054
2b94e3ff
YB
170552010-09-15 Yves Blusseau <blusseau@zetam.org>
17056
17057 Add function to get completions from usage.
17058
17059 * util/bash-completion.d/grub-completion.bash.in: Add function to get
17060 completions from usage. Use LC_ALL=C to get options properly.
17061
2e04a006
VS
170622010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17063
17064 * grub-core/gnulib/basename-lgpl.c: Imported.
17065 * grub-core/gnulib/basename.c: Likewise.
17066 * grub-core/gnulib/dirname-lgpl.c: Likewise.
17067 * grub-core/gnulib/dirname.c: Likewise.
17068 * grub-core/gnulib/dirname.h: Likewise.
17069 * grub-core/gnulib/stripslash.c: Likewise.
17070
5dcdf93a
VS
170712010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17072
17073 * grub-core/gnulib/error.c: Resynced.
17074 * grub-core/gnulib/getopt.c: Likewise.
17075 * grub-core/gnulib/getopt_int.h: Likewise.
17076 * grub-core/gnulib/regex.h: Likewise.
17077 * grub-core/gnulib/regex_internal.c: Likewise.
17078 * grub-core/gnulib/regex_internal.h: Likewise.
17079
014f47b7
SJ
170802010-09-15 Szymon Janc <szymon@janc.net.pl>
17081
17082 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
17083 CRC calculations and validity checks.
17084 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
17085 calculations.
17086
dd521a4a
SJ
170872010-09-15 Szymon Janc <szymon@janc.net.pl>
17088
17089 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
17090
79c4eeb9
VS
170912010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17092
17093 Fix incorrect echo options handling.
17094 Reported by: Yves Blusseau.
17095
17096 * include/grub/command.h (grub_command_flags_t): New flags
17097 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
17098 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
17099 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
17100
ed80f7d5
VS
171012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17102
17103 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
17104 users updated.
17105 (GRUB_COMMAND_FLAG_MENU): Likewise.
17106 (GRUB_COMMAND_FLAG_BOTH): Likewise.
17107 (GRUB_COMMAND_FLAG_TITLE): Removed.
17108 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
17109 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
17110 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
17111 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
17112 (grub_command_flags_t): New enum. All users updated.
17113
5fe7620a
SG
171142010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
17115
17116 Fix solaris compilation.
17117
17118 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
17119 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
17120 (grub-emu-list): Likewise.
17121
545b752f
VS
171222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17123
17124 Remove deprecated root command.
17125
17126 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
17127 updated.
17128
6c1a338c
VS
171292010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17130
17131 * util/i386/pc/grub-setup.c: Merge this ...
17132 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
17133 * util/grub-setup.c: ... into this.
17134 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
17135 New struct.
17136
171372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17138
17139 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
17140 possible.
17141
d2ea4551
VS
171422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
17145 allocate p.
17146
3c3b5040
VS
171472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17148
17149 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
17150 explicit root argument to set to prevent UUID to be interpreted as
17151 argument to set.
17152
b71c3fae
VS
171532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17154
17155 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
17156
275433e6
VS
171572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17158
17159 Don't export grub_gate_a20.
17160
17161 * grub-core/kern/i386/pc/init.c: Remove leftovers.
17162 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
17163 to ...
17164 (grub_gate_a20): ... this. All users updated.
17165 * include/grub/i386/pc/init.h: Removed. All users updated.
17166
a5dbb1f1
VS
171672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17168
17169 Create euro.pf2 which supports most European languages.
17170
17171 * Makefile.am (grubdata_DATA): Add euro.pf2.
17172 (euro.pf2): New target.
17173 (CLEANFILES): Add euro.pf2.
17174
62a747cb
VS
171752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17176
17177 * configure.ac: Disable emu-usb by default to prevent inadvertent
17178 device takeover.
17179
608e43b1
VS
171802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17181
17182 Disable usbserial on grub-emu since our libusb code isn't good enough
17183 yet.
17184
17185 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
17186 (usbserial_pl2303): Likewise.
17187 (usbserial_ftdi): Likewise.
17188
94564f81
VS
171892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17190
17191 * include/grub/disk.h (grub_disk): Remove has_partitions.
17192 All users updated.
17193 * disk/loopback.c (grub_loopback): Remove has_partitions.
17194 All users updated.
17195 (options): Remove partitions. All users updated.
17196 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
17197 * util/i386/pc/grub-setup.c (setup): copy partition table only when
17198 actual partition table is found.
17199
3352800b
VS
172002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17201
17202 Remove readability checks (too many false negatives).
17203
17204 * util/grub-install.in: Remove readability checks.
17205 * util/grub-mkconfig.in: Likewise.
17206 * util/grub.d/10_hurd.in: Likewise.
17207 * util/grub.d/10_kfreebsd.in: Likewise.
17208 * util/grub.d/10_linux.in: Likewise.
17209 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
17210 way.
17211
2419f17a
VS
172122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17213
17214 Enable acpi shutdown on all ACPI platforms.
17215
17216 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
17217 on coreboo, multiboot and EFI.
17218 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
17219 (grub_acpi_halt): Likewise.
17220 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
17221 (grub_cmd_halt): Don't call grub_acpi_halt directly.
17222 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
17223 * grub-core/lib/i386/halt.c (grub_halt)
17224 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
17225
0575c7c3
VS
172262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17227
17228 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
17229 context.
17230
54ac3cd1
VS
172312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17232
17233 * grub-core/video/efi_gop.c: Fix over-80-chars line.
17234 * grub-core/video/efi_uga.c: Likewise.
17235
b2a30ac5
VS
172362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17237
17238 Filter devaliases and never open same device twice.
17239
17240 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
17241 (last_ihandle): Likewise.
17242 (ofdisk_hash_ent): New member shortest.
17243 (ofdisk_hash_add): Add canonical path too.
17244 (scan): New function.
17245 (grub_ofdisk_iterate): Iterate over hashed entries.
17246 (compute_dev_path): Don't add :0.
17247 (grub_ofdisk_open): Don't really open the disk.
17248 (grub_ofdisk_close): Avoid closing unrelated disk.
17249 (grub_ofdisk_read): Implement reopen logic.
17250 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
17251 New function.
17252 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
17253 New proto.
17254
fb53b340
VS
172552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 Fix sparc64.
17258
17259 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
17260 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
17261 right address. Add sparc64_ieee1275_ldflags.
17262 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
17263 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
17264 to grub_host_to_target_addr
17265 (load_image): Likewise.
17266
f452b040
VS
172672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17268
17269 * grub-core/normal/completion.c (complete_file): Handle device
17270 containing slash.
17271 Fix based on patch by Doug Nazar.
17272
9b5b2541
VS
172732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17274
17275 grub-mknetdir script.
17276
17277 * Makefile.util.def (grub-mknetdir): New module.
17278 * tests/util/grub-shell.in: Support boot=net
17279 * util/grub-mknetdir.in: New file.
17280
9d2be652
VS
172812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17282
17283 videoinfo on non-vbe.
17284
17285 * grub-core/Makefile.core.def (vbeinfo): Removed.
17286 (vbetest): Removed.
17287 (videoinfo): New module.
17288 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
17289 * grub-core/commands/i386/pc/vbetest.c: Removed.
17290 * grub-core/commands/videoinfo.c: New file.
17291 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
17292 specification.
17293 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
17294 as vbetest.
17295 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
17296 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
17297 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
17298 mode_number. New parameter mode. All users updated.
17299 (grub_video_gop_iterate): New function.
17300 (grub_video_efi_gop): New member iterate.
17301 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
17302 (grub_vbe_set_video_mode): Remove setting useless fields.
17303 (vbe2videoinfo): New function.
17304 (grub_video_vbe_iterate): Likewise.
17305 (grub_video_vbe_setup): Use vbe2videoinfo.
17306 (grub_video_vbe_print_adapter_specific_info): New function.
17307 (grub_video_vbe_adapter): New fields iterate and
17308 print_adapter_specific_info.
17309 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
17310 All users updated.
17311 (grub_video_mode_info): New field mode_number.
17312 (grub_video_adapter): New fields iterate and
17313 print_adapter_specific_info.
17314
179503f5
TG
173152010-09-13 Tristan Gingold <gingold@free.fr>
173162010-09-13 Robert Millan <rmh.grub@aybabtu.com>
173172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17318
17319 * grub-core/commands/efi/lsefisystab.c: New file.
17320 * grub-core/commands/efi/lssal.c: Likewise.
17321 * grub-core/Makefile.core.def (lsacpi): New module.
17322 (lsefisystab): Likewise.
17323 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
17324 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
17325 (grub_efi_sal_system_table): New struct.
17326 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
17327 (grub_efi_sal_system_table_memory_descriptor): Likewise.
17328 (grub_efi_sal_system_table_platform_features): Likewise.
17329 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
17330 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
17331 (grub_efi_sal_system_table_ap_wakeup): Likewise.
17332 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
17333
cf9827de
VS
173342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17335
17336 Support explicit user claim that a device is BIOS-visible.
17337
17338 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
17339 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
17340 * grub-core/kern/emu/hostdisk.c
17341 (convert_system_partition_to_system_disk): Support mdX.
17342 (find_system_device): New parameter add. All users updated.
17343 (grub_util_biosdisk_is_present): New function.
17344 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
17345 proto.
17346
53f0eb1f
VS
173472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17348
17349 Search hints support.
17350
17351 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
17352 All users updated.
17353
b23ffd70
YB
173542010-09-13 Yves Blusseau <blusseau@zetam.org>
17355
17356 Bash completion script for util commands
17357
17358 * Makefile.am: Add util/bash-completion.d directory
17359 * configure.ac: Likewise.
17360 * util/bash-completion.d/Makefile.am: New file.
17361 * util/bash-completion.d/grub-completion.bash.in: Likewise.
17362
d547dc28
VS
173632010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17364
17365 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
17366 (print_backlog): set backlog_ucs4 and backlog_glyphs.
17367 Reported by: Yves Blusseau.
17368
2fc8ccb9
VS
173692010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17370
17371 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
17372 partition size and offset.
17373
d8a84076
VS
173742010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17375
17376 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
17377
84fb3b3d
VS
173782010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17379
17380 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
17381
768ec2e2
VS
173822010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17383
17384 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
17385 (grub_xvasprintf): Likewise.
17386
4870900f
VS
173872010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17388
17389 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
17390
faca6bec
VS
173912010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17392
17393 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
17394 args ending with NULL.
17395
173962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
17397
17398 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
17399 pointer.
17400
3c70f225
SJ
174012010-09-11 Szymon Janc <szymon@janc.net.pl>
17402
17403 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
17404
4df7996d
VS
174052010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17406
17407 Shutdown using ACPI.
17408
17409 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
17410 * grub-core/commands/acpihalt.c: New file.
17411 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
17412 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
17413 (grub_acpi_halt): New proto.
17414 (GRUB_ACPI_SLP_EN): New const.
17415 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
17416 (GRUB_ACPI_OPCODE_*): New enum.
17417 (GRUB_ACPI_EXTOPCODE_*): Likewise.
17418
126b4c32
TG
174192010-09-11 Tristan Gingold <gingold@free.fr>
174202010-09-11 Robert Millan <rmh.grub@aybabtu.com>
174212010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17422
17423 * commands/lsacpi.c: New file.
17424 * grub-core/Makefile.core.def (lsacpi): New module.
17425 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
17426 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
17427 (grub_acpi_madt_entry_header): New struct.
17428 (grub_acpi_madt): Likewise.
17429 (grub_acpi_madt_entry_interrupt_override): Likewise.
17430 (grub_acpi_madt_entry_sapic): Likewise.
17431 (grub_acpi_madt_entry_lsapic): Likewise.
17432 (grub_acpi_madt_entry_platform_int_source): Likewise.
17433 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
17434 (PRIuGRUB_UINT32_T): Likewise.
17435 (PRIxGRUB_UINT64_T): Likewise.
17436
1aa4fe88
VS
174372010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17438
17439 Implement loading palette on ieee1275_fb.
17440
17441 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
17442 (have_setcolors): Likewise.
17443 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
17444 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
17445 (grub_video_ieee1275_set_palette): Implement.
17446
25761e13
VS
174472010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
174482010-09-11 Colin Watson <cjwatson@ubuntu.com>
17449
17450 * util/grub-install.in (grub_partition): New variable.
17451 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
17452 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
17453 Fixes a bug reported by Yves Blusseau.
17454
050abaea
VS
174552010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17456
17457 Fix emu on mipsel.
17458
17459 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
17460 =grub_cpu_flush_cache on all mips and not only yeeloong.
17461 * configure.ac (COND_mips): New conditional.
17462 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
17463 platforms.
17464 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
17465 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
17466 [GRUB_LINKER_HAVE_INIT]: New function.
17467 (grub_emu_post_init): Likewise.
17468 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
17469 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
17470 * include/grub/cache.h (_mips): Include mips/cache.h.
17471 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
17472 LVM and RAID prototypes.
17473 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
17474 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
17475 function.
17476
5ed7d816
CW
174772010-09-10 Colin Watson <cjwatson@ubuntu.com>
17478
17479 * util/grub-install.in: Don't try to verify core.img until after
17480 running grub-mkimage to create it.
17481
90367e04
RM
174822010-09-10 Robert Millan <rmh@gnu.org>
17483
17484 * util/grub.d/10_hurd.in: Add misc readability checks.
17485 * util/grub.d/10_kfreebsd.in: Likewise.
17486 * util/grub.d/10_linux.in: Likewise.
17487
c452fa66
CW
174882010-09-10 Colin Watson <cjwatson@ubuntu.com>
17489
17490 * util/grub-install.in: ${imgext} won't be defined here until the
17491 install branch is merged. For the meantime, only verify core.img on
17492 i386-pc and sparc64-ieee1275 platforms.
17493
c38fe9f4
RM
174942010-09-10 Robert Millan <rmh@gnu.org>
17495
17496 Solaris support in grub_find_zpool_from_dir(). Thanks
17497 Seth Goldberg for referring to getextmntent() facility.
17498
17499 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
17500 `sys/mkdev.h'.
17501 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
17502 `<sys/mnttab.h>'.
17503 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
17504 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
17505 method for finding zpool name.
17506
905f7773
CW
175072010-09-10 Colin Watson <cjwatson@ubuntu.com>
17508
17509 grub-fstest needs the host and hostfs modules while other utilities
17510 actively require those modules to be absent, so grub-fstest needs
17511 its own initialisation and finalisation code.
17512
17513 * Makefile.am (grub_fstest.pp): New target.
17514 (grub_fstest_init.lst): Likewise.
17515 (grub_fstest_init.c): Likewise.
17516 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
17517
fb90b546
RM
175182010-09-10 Robert Millan <rmh@gnu.org>
17519
17520 * configure.ac: Check for `struct statfs.f_fstypename' and
17521 `struct statfs.f_mntfromname'.
17522
17523 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
17524 kFreeBSD-specific code.
17525
66d4bea5
RM
175262010-09-10 Robert Millan <rmh@gnu.org>
17527
17528 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
17529 on ZFS. Now non-main filesystems are supported as / too.
17530
b6a690ee
CW
175312010-09-09 Colin Watson <cjwatson@ubuntu.com>
17532
17533 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
17534 and grub-core/disk/host.c to ...
17535 (grub-fstest): ... here. Having the host disk implementation
17536 present confuses grub-probe and other utility programs.
17537
17538 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
17539 when writing to a file, not when writing to stdout.
17540
8901b00c 175412010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
17542
17543 * tests/partmap_test.in: New test for partitions.
17544 * Makefile.util.def: Rules for new test.
17545
7bf45fdd
RM
175462010-09-09 Robert Millan <rmh@gnu.org>
17547
17548 * util/grub-probe.c (probe): Fix a pair of unhandled error
17549 conditions.
17550
4dfbc574
RM
175512010-09-09 Robert Millan <rmh@gnu.org>
17552
17553 Basic Btrfs support (detection and UUID).
17554
17555 * grub-core/fs/btrfs.c: New file.
17556 * Makefile.util.def (library): Register btrfs.c.
17557 * grub-core/Makefile.core.def: Likewise.
17558
6b8e78ae
RM
175592010-09-08 Robert Millan <rmh@gnu.org>
17560
17561 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
17562 with (optional) parameters to specify device and relative path.
17563 * util/grub-install.in: Use is_path_readable_by_grub() to
17564 verify readability of a few critical files.
17565 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
17566 verify readability of grub.cfg.new.
17567
27f21a8b
VS
175682010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
17569
17570 Split minix.mod into minix.mod and minix2.mod.
17571
17572 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
17573 * grub-core/Makefile.core.def (minix2): New module.
17574 * grub-core/fs/minix.c: Use definitions instead of runtime version
17575 checking.
17576 * grub-core/fs/minix2.c: New file.
17577
c0e53ea5
YB
175782010-09-08 Yves Blusseau <blusseau@zetam.org>
17579
17580 Add new --boot-directory option to replace --root-directory
17581
17582 * util/grub-install.in: Add new --boot-directory option
17583 * util/grub-reboot.in: Likewise.
17584 * util/grub-set-default.in: Likewise.
17585
b9fe6ea2
YB
175862010-09-08 Yves Blusseau <blusseau@zetam.org>
17587
17588 * util/grub-mkconfig.in: Use new variable.
17589
d87aedff
YB
175902010-09-08 Yves Blusseau <blusseau@zetam.org>
17591
17592 * configure.ac: Define some useful variables.
17593
e55e8495
VS
175942010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17597 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
17598 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
17599 Use terminfo and don't use cursor-on/cursor-off unless it's known
17600 to work.
17601 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
17602 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
17603
6fa6d675
CW
176042010-09-08 Colin Watson <cjwatson@ubuntu.com>
17605
17606 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
17607 starts with "(,", fill the drive containing the loaded image in
17608 between those two characters, but expect that a full partition
17609 specification including partition map names will follow.
17610
92f2aef0
RM
176112010-09-08 Robert Millan <rmh@gnu.org>
17612
17613 * configure.ac: Remove `--enable-grub-fstest' option.
17614 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
17615
17616 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
17617 `grub-fstest' instead of `grub-probe' for readability verification.
17618 * util/grub-probe.c (probe): Remove readability verification kludge.
17619
99fd620d
RM
176202010-09-08 Robert Millan <rmh@gnu.org>
17621
17622 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
17623 initializing `GRUB_FS'.
17624
058e30ac 176252010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
17626
17627 Not command (!) support to GRUB script.
17628
17629 * tests/grub_script_not.in: New test.
17630 * Makefile.util.def: Rules for new test.
17631
17632 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17633 ! command as a special case.
17634 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
17635
b61d05ed 176362010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17637
058e30ac 17638 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
17639 grub_free.
b61d05ed 17640
4d69c786 176412010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17642
17643 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
17644
aa3119c4 176452010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17646
17647 * docs/grub.texi (Shell-like scripting): Documentation for break,
17648 continue, shift and return commands.
17649
db0f7e3d
VS
176502010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
17651
17652 Rename CD-ROM to cd on BIOS.
17653
17654 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
17655 "cd".
17656 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
17657
88b87c93
VS
176582010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17659
17660 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
17661 * util/grub-probe.c (main): Likewise.
17662 * util/i386/pc/grub-setup.c (main): Likewise.
17663 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17664 Reported and debugged by: alexxy
17665
294f324d
VS
176662010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17667
17668 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
17669 diagnostic info.
17670
d7ee3441
JS
176712010-09-05 Jo Shields <directhex@apebox.org>
17672
17673 * util/grub.d/30_os-prober.in: Add missing classes.
17674
d7e06c1f
VS
176752010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17676
17677 * docs/grub.texi (Theme file format): Document new position format.
17678
fc157e53
VS
176792010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17680
17681 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
17682 a table. Use @code instead of @verbatim.
17683
506e9a1c
CB
176842010-09-05 Colin D Bennett <colin@gibibit.com>
17685
17686 Gfxmenu documentation.
17687
17688 * docs/grub.texi (Theme file format): New chapter.
17689
f0aff67c
SJ
176902010-09-05 Szymon Janc <szymon@janc.net.pl>
17691
17692 * grub-core/Makefile.core.def (xzio): New module.
17693 * grub-core/io/xzio.c: New file.
17694 * grub-core/lib/xzembed/xz.h: New file (from xembed).
17695 * grub-core/lib/xzembed/xz_config.h: Likewise.
17696 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
17697 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
17698 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
17699 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
17700 * grub-core/lib/xzembed/xz_private.h: Likewise.
17701 * grub-core/lib/xzembed/xz_stream.h: Likewise.
17702 * include/grub/file.h (grub_file_filter_id): New compression filter
17703 GRUB_FILE_FILTER_XZIO.
17704
82a85062
VS
177052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17706
17707 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
17708 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
17709 size.
17710
3579415d
VS
177112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17712
17713 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
17714 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
17715
5124ae6d
VS
177162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17717
17718 Uncompressed checksum support.
17719
17720 * grub-core/commands/hashsum.c (options): Add option --uncompress.
17721 (check_list): New parameter uncompress.
17722 (grub_cmd_hashsum): Handle --uncompress.
17723
9aadb3d1
VS
177242010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17725
17726 Reintroduce testload.
17727
17728 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
17729 from here ...
17730 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
17731 (GRUB_MOD_INIT): New function.
17732 (GRUB_MOD_FINI): Likewise.
17733 * grub-core/Makefile.core.def (testload): New module.
17734
a17792c3
SJ
177352010-09-05 Szymon Janc <szymon@janc.net.pl>
17736
17737 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
17738 (uint8_t): New type.
17739 (uint16_t): Likewise.
17740 (uint32_t): Likewise.
17741 (uint64_t): Likewise.
17742
b81e40a3
SJ
177432010-09-05 Szymon Janc <szymon@janc.net.pl>
17744
17745 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
17746
fc2ef117
VS
177472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17748
17749 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
17750 Made static.
17751 (grub_gzfile_open): Removed. All users updated.
17752 (GRUB_MOD_INIT): New function.
17753 (GRUB_MOD_FINI): Likewise.
17754 * grub-core/kern/file.c (grub_file_filters_all): New variable.
17755 (grub_file_filters_enabled): Likewise.
17756 (grub_file_open): Handle filters.
17757 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
17758 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
17759 * include/grub/file.h (grub_file_filter_id_t): New type.
17760 (grub_file_filter_t): Likewise.
17761 (grub_file_filters_all): New extern variable.
17762 (grub_file_filters_enabled): Likewise.
17763 (grub_file_filter_register): New inline function.
17764 (grub_file_filter_unregister): Likewise.
17765 (grub_file_filter_disable): Likewise.
17766 (grub_file_filter_disable_compression): Likewise.
17767 * include/grub/gzio.h: Removed.
17768
35ee15e0
BC
177692010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17770
17771 Filename expansion support for wildcards in GRUB script.
17772
17773 * tests/grub_script_expansion.in: New test.
17774 * Makefile.util.def: Rule for new test.
17775
17776 * grub-core/commands/wildcard.c: New file, implements filename
17777 expansion support for GRUB script.
17778 * grub-core/Makefile.core.def: Rule update for regexp.mod.
17779 * grub-core/script/argv.c: Cosmetic changes.
17780 * grub-core/script/execute.c (grub_script_arglist_to_argv):
17781 Refactored to perform wildcard expansion on arguments.
17782 * include/grub/script_sh.h (grub_script_wildcard_translator): New
17783 struct.
17784
17785 * tests/util/grub-shell.in: Fix quoting for read input.
17786
5f0c4aca
BC
177872010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17788
17789 Support for updating environment variables with matched substrings
17790 of regexp.
17791
17792 * tests/grub_cmd_regexp.in: New test.
17793 * Makefile.util.def: Rule for new test.
17794
17795 * grub-core/commands/regexp.c: New option -s to update environment
17796 variables with regexp matches.
17797
3759a35f
SJ
177982010-09-04 Szymon Janc <szymon@janc.net.pl>
17799
17800 * include/grub/file.h (grub_file): New member not_easly_seekable.
17801 (grub_file_seekable): New inline function.
17802 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
17803 easily seekable.
17804 (grub_gzio_open): Set not_easly_seekable.
17805 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
17806 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
17807
ed8c6dec
BC
178082010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17809
17810 Support for options to appear multiple times on cmdline.
17811
17812 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
17813 * grub-core/commands/extcmd.c: Support for repeatable option.
17814 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
17815 repeatable option support.
17816
17817 Refactor menuentry into a regular command.
17818
17819 * grub-core/commands/menuentry.c: New file, menuentry command
17820 implementation.
17821 * grub-core/Makefile.core.def: Rule update for normal.mod.
17822 * grub-core/normal/main.c: Moved menuentry creation to
17823 grub-core/commands/menuentry.c.
17824 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
17825 (grub_menu_execute_entry_real): Removed.
17826 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
17827 function.
17828 (grub_script_execute_menuentry): Removed.
17829 * grub-core/script/parser.y (menuentry): Removed.
17830 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
17831 * grub-core/script/yylex.l (menuentry): Removed.
17832 * include/grub/menu.h (grub_menu_init): New prototype.
17833 (grub_menu_fini): New prototype.
17834 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
17835 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
17836 (grub_script_execute_sourcecode): New prototype.
17837
dacd0cf0
BC
178382010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17839
17840 "return" command for GRUB script functions.
17841
17842 * tests/grub_script_return.in: New test.
17843 * Makefile.util.def: Rules for new test.
17844
17845 * grub-core/script/execute.c (grub_script_return): New function.
17846 * grub-core/script/main.c: Register/unregister return commaond.
17847 * include/grub/script_sh.h (grub_script_return): New prototype.
17848
52e72f9d
BC
178492010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17850
17851 "setparams" command to update positional parameters.
17852
17853 * tests/grub_script_setparams.in: New test.
17854 * Makefile.util.def: Rules for new test.
17855
17856 * grub-core/script/argv.c (grub_script_argv_make): New function.
17857 * grub-core/script/execute.c (replace_scope): New function.
17858 (grub_script_setparams): New function.
17859 * grub-core/script/lexer.c: Remove unused variables.
17860 * grub-core/script/main.c: Register/unregister setparams command.
17861 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
17862 (grub_script_setparams): New prototype.
17863
25b60c91
BC
178642010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17865
17866 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
17867 grub_free order.
17868
37e7bf68
BC
178692010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17870
17871 Support for passing block of commands as an argument to extcmds.
17872
17873 * Makefile.util.def: Rules for new test.
17874 * tests/grub_script_blockarg.in: New test.
17875 * grub-core/tests/test_blockarg.c: New file, block argument
17876 command used in the test.
17877
17878 * include/grub/extcmd.h (grub_extcmd_context): New struct.
17879 (grub_register_extcmd_prio): New function prototype.
17880 (grub_extcmd_dispatcher): New function prototype.
17881 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
17882 type.
17883 * include/grub/script_sh.h (struct grub_script): New members
17884 `children', `next_siblings' and `refcnt' for block arguments and
17885 reference counting.
17886 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
17887 (grub_script_arg): New member `script' for block argument.
17888 (grub_script_argv): New member `script' for block argument.
17889 (grub_parser_param): New member `scripts' for block argument.
17890 (grub_script_mem_free): New extern function prototype.
17891 (grub_script_ref): New function prototype.
17892 (grub_script_unref): New function prototype.
17893
17894 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
17895 extcmd form to support block arguments.
17896 * grub-core/script/argv.c: Block arguments support.
17897 * grub-core/script/execute.c: Likewise.
17898 * grub-core/script/lexer.c: Likewise.
17899 * grub-core/script/main.c: Likewise.
17900 * grub-core/script/script.c: Likewise.
17901 * grub-core/script/parser.y: Likewise. New `block' and `block0'
17902 non-terminals.
17903
17904 * grub-core/commands/acpi.c: Update extcmd implementations with
17905 grub_extcmd_context_t.
17906 * grub-core/commands/cat.c: Likewise.
17907 * grub-core/commands/echo.c: Likewise.
17908 * grub-core/commands/extcmd.c: Likewise.
17909 * grub-core/commands/hashsum.c: Likewise.
17910 * grub-core/commands/hdparm.c: Likewise.
17911 * grub-core/commands/help.c: Likewise.
17912 * grub-core/commands/hexdump.c: Likewise.
17913 * grub-core/commands/i386/cpuid.c: Likewise.
17914 * grub-core/commands/i386/pc/drivemap.c: Likewise.
17915 * grub-core/commands/i386/pc/halt.c: Likewise.
17916 * grub-core/commands/i386/pc/sendkey.c: Likewise.
17917 * grub-core/commands/iorw.c: Likewise.
17918 * grub-core/commands/keystatus.c: Likewise.
17919 * grub-core/commands/loadenv.c: Likewise.
17920 * grub-core/commands/ls.c: Likewise.
17921 * grub-core/commands/lspci.c: Likewise.
17922 * grub-core/commands/memrw.c: Likewise.
17923 * grub-core/commands/probe.c: Likewise.
17924 * grub-core/commands/search_wrap.c: Likewise.
17925 * grub-core/commands/setpci.c: Likewise.
17926 * grub-core/commands/sleep.c: Likewise.
17927 * grub-core/disk/loopback.c: Likewise.
17928 * grub-core/hello/hello.c: Likewise.
17929 * grub-core/loader/i386/bsd.c: Likewise.
17930 * grub-core/loader/xnu.c: Likewise.
17931 * grub-core/term/gfxterm.c: Likewise.
17932 * grub-core/term/serial.c: Likewise.
17933 * grub-core/tests/lib/functional_test.c: Likewise.
17934
888d1500
BC
179352010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17936
17937 Multi-line quoted strings support.
17938
17939 * grub-core/script/lexer.c (append_newline): Removed.
17940 (grub_script_lexer_yywrap): Refactored.
17941 (grub_script_lexer_init): Refactored.
17942 * grub-core/script/yylex.l (yywrap): New function.
17943 (grub_lexer_resplit): New function.
17944 (grub_lexer_unput): New function.
17945 * include/grub/script_sh.h (grub_lexer_param): New members, unput
17946 and resplit.
17947 * tests/grub_script_echo1.in: Added few more testcases.
17948
dda060dd
VS
179492010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
17950
17951 * grub-core/kern/misc.c: Don't add abort alias in utils.
17952 Reported by: echoline.
17953
6556eba9
BC
179542010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
17955
17956 Add missing files into "make dist" tarball for other platforms.
17957
17958 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
17959 * conf/Makefile.common (dist_noinst_DATA): New variable.
17960 * conf/Makefile.extra-dist: Added missing make dist files.
17961 * grub-core/Makefile.core.def: Likewise.
17962
c8e7bf5f
VS
179632010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
17964
17965 Compress grub_prefix.
17966
17967 * grub-core/boot/i386/pc/lnxboot.S: Use
17968 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
17969 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
17970 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
17971 GRUB_MACHINE_PREFIX_END. All users updated.
17972 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
17973 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
17974 + 0x40.
17975 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17976 * util/grub-mkimage.c (image_target_desc): Change data_end to
17977 prefix_end. All users updated.
17978
a7c00cdb
VS
179792010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
17980
17981 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
17982 value.
17983 (grub_openbsd_boot): Likewise.
17984 (grub_netbsd_boot): Likewise.
17985 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
17986 (grub_xnu_boot): Likewise.
17987
9f915872
VS
179882010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17989
17990 * configure.ac: Clean LIBS variable after tests.
17991
efa1bee7
CW
179922010-09-02 Colin Watson <cjwatson@ubuntu.com>
17993
17994 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
17995
61d720e5
VS
179962010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17997
17998 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
17999 echo if libdevmapper will be used.
18000
ef8e0ec8
IT
180012010-09-02 Ian Turner <Ian.Turner@deshaw.com>
18002
18003 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
18004 constant for the same file.
18005
03e261d8
VS
180062010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18007
18008 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
18009
c2a4eba6
CW
180102010-09-02 Colin Watson <cjwatson@ubuntu.com>
18011
18012 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
18013 grub-core/*.pp.
18014
9056cbf3
CW
180152010-09-02 Colin Watson <cjwatson@ubuntu.com>
18016
18017 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
18018 required by the boot protocol.
18019
18020 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
18021 ebp and edi members.
18022 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
18023 state.ebp and state.edi.
18024 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
18025 %ebp and %edi according to grub_relocator32_ebp and
18026 grub_relocator32_edi respectively.
18027 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
18028 and state.edi.
18029
529cc99a
VS
180302010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18031
18032 Add i386-pc-pxe image target.
18033
18034 * util/grub-mkimage.c (image_target_desc): New enum value
18035 IMAGE_I386_PC_PXE.
18036 (image_targets): New target i386-pc-pxe.
18037 (generate_image): Handle i386-pc-pxe image.
18038
9a093920
VS
180392010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18040
18041 Fix grub_pxe_scan.
18042
18043 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
18044 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
18045 All users updated.
18046 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
18047 (grub_pxe_pxenv): Correct type.
18048
f9cefc4e
CW
180492010-09-01 Colin Watson <cjwatson@ubuntu.com>
18050
18051 * NEWS: Document most of the important changes since 1.98.
18052
4066f57f
CW
180532010-09-01 Colin Watson <cjwatson@ubuntu.com>
18054
18055 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
18056 generated manual page) a little.
18057
da2891f9
CW
180582010-09-01 Colin Watson <cjwatson@ubuntu.com>
18059
18060 * docs/grub.texi: Add myself as an author.
18061
ad717fae
VS
180622010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
18063
18064 * Makefile.util.def (libgrub.a): Add missing sunpc.
18065 Reported by: Seth Goldberg.
18066
eefe8abd
VS
180672010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18068
18069 Interrupt wrapping and code simplifications.
18070
9494ef9a
VS
18071 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
18072 x86_noieee1275 which are functionaly equivalent in this case.
18073 (grub-install): Make source on each platform explicit. Enable on
18074 all noemu.
18075 * gentpl.py (x86_efi_pc): Removed group.
18076 (x86_noefi): Likewise.
18077 (i386_noefi): Likewise.
18078 (x86_noieee1275): Likewise.
18079 (i386_noieee1275): Likewise.
18080 (i386_noefi_noieee1275): Likewise.
18081 (i386_pc_qemu_coreboot): Likewise.
18082 (i386_coreboot_multiboot): Likewise.
18083 (i386_pc_coreboot_multiboot_qemu): Likewise.
18084 (x86_noefi_mips): Likewise.
18085 (noieee1275): Likewise.
18086 (ieee1275_mips): Likewise.
18087 (noemu_noieee1275): Likewise.
18088 (cmos): New group.
18089 (usb): Likewise.
18090 (videoinkernel): Likewise.
18091 (videomodules): Likewise.
eefe8abd 18092 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
18093 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
18094 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
18095 include/grub/loader.h, include/grub/msdos_partition.h,
18096 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
18097 include/grub/machine/console.h, include/grub/machine/vga.h,
18098 include/grub/machine/vbe.h, include/grub/machine/init.h,
18099 include/grub/machine/kernel.h, include/grub/cpu/time.h,
18100 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 18101 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
18102 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
18103 * grub-core/Makefile.core.def (kernel): Explicit the source for
18104 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
18105 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
18106 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
18107 Use videoinkernel tag.
18108 (usb): Enable on all usb.
18109 (usbserial_common): Likewise.
18110 (usbserial_pl2303): Likewise.
18111 (usbserial_ftdi): Likewise.
18112 (uhci): Enable on all x86.
18113 (ohci): Enable on all pci.
18114 (cmostest): Enable on all CMOS.
18115 (acpi): Include commands/acpi.c on all platforms.
18116 (halt): Add relevant lib/*/halt.c.
18117 (hdparm): Enable on all pci.
18118 (lspci): Likewise.
18119 (usbtest): Enable on all usb.
18120 (ata): Enable on all pci.
18121 (ata_pthru): Likewise.
18122 (usbms): Enable on all usb.
18123 (usb_keyboard): Likewise.
18124 (font): Use tag videomodules.
18125 (bufio): Likewise.
18126 (datetime): Use tag cmos. Enable on all noemu.
18127 (mmap): Use tags common and x86.
18128 (gfxterm): Use tag videomodules.
18129 (bitmap): Likewise.
18130 (bitmap_scale): Likewise.
18131 (video_fb): Likewise.
18132 (video): Likewise.
18133 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
18134 adjust padding accordingly. All users updated.
18135 (grub_ohci_transaction): Fix bad format specification.
18136 (GRUB_MOD_INIT): Add asserts for struct size.
18137 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
18138 (grub_alloc_td): Likewise.
18139 (grub_free_queue): Likewise.
18140 (grub_uhci_transfer): Likewise.
18141 (grub_uhci_transaction): Fix bad format specification.
18142 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
18143 (grub_usb_bulk_readwrite): Likewise.
18144 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
18145 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
18146 Made static.
18147 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
18148 Made static.
18149 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
18150 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
18151 Transformed into C.
18152 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
18153 Moved from here ...
18154 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
18155 ... here. Transformed into C. Made static.
18156 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
18157 Moved from here ...
18158 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
18159 ... here. Transformed into C. Made static.
18160 * grub-core/kern/i386/pc/startup.S
18161 (grub_biosdisk_check_int13_extensions): Moved from here ...
18162 * grub-core/disk/i386/pc/biosdisk.c
18163 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
18164 Made static.
18165 * grub-core/kern/i386/pc/startup.S
18166 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
18167 * grub-core/disk/i386/pc/biosdisk.c
18168 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
18169 Transformed into C. Made static.
18170 * grub-core/kern/i386/pc/startup.S
18171 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
18172 * grub-core/disk/i386/pc/biosdisk.c
18173 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
18174 Transformed into C. Made static.
18175 * grub-core/kern/i386/pc/startup.S
18176 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
18177 * grub-core/disk/i386/pc/biosdisk.c
18178 (grub_biosdisk_get_diskinfo_standard): ... here.
18179 Transformed into C. Made static.
18180 * grub-core/kern/i386/pc/startup.S
18181 (grub_biosdisk_get_num_floppies): Moved from here ...
18182 * grub-core/disk/i386/pc/biosdisk.c
18183 (grub_biosdisk_get_num_floppies): ... here.
18184 Transformed into C. Made static.
18185 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
18186 New function.
18187 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
18188 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
18189 Transformed into C. Made static.
18190 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
18191 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
18192 Transformed into C. Made static.
18193 * grub-core/kern/i386/ieee1275/init.c: Removed.
18194 * grub-core/kern/i386/misc.S: Likewise.
18195 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
18196 Splitted from here ...
18197 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
18198 Transformed into C. Made static. All users updated.
18199 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
18200 Transformed into C. Made static. All users updated.
18201 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
18202 Moved from here...
18203 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
18204 Transformed into C. Made static. All users updated.
18205 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
18206 Moved from here...
18207 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
18208 Transformed into C. Made static. All users updated.
18209 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
18210 Removed (replaced by C version).
18211 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
18212 Moved from here...
18213 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
18214 Transformed into C. Made static.
18215 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
18216 Moved from here...
18217 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
18218 ... here. Transformed into C.
18219 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
18220 Moved from here...
18221 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
18222 ... here. Transformed into C.
18223 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
18224 Moved from here...
18225 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
18226 ... here. Transformed into C. Made static.
18227 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
18228 Moved from here...
18229 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
18230 ... here. Transformed into C.
21ed554b
VS
18231 * grub-core/kern/i386/pc/startup.S
18232 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
18233 * grub-core/video/i386/pc/vbe.c
18234 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
18235 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
18236 Moved from here...
18237 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
18238 ... here. Transformed into C.
18239 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
18240 Moved from here...
18241 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
18242 ... here. Transformed into C.
18243 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
18244 Moved from here...
18245 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
18246 ... here. Transformed into C.
18247 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
18248 Moved from here...
18249 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
18250 ... here. Transformed into C.
18251 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
18252 Moved from here...
18253 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
18254 ... here. Transformed into C. Made static.
18255 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
18256 Moved from here...
18257 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
18258 ... here. Transformed into C. Made static.
18259 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
18260 Moved from here...
18261 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
18262 ... here. Transformed into C. Made static.
18263 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
18264 pxe_rm_entry as third argument.
18265 (grub_bios_interrupt): New function.
18266 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
18267 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
18268 of calling grub_stop.
18269 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
18270 * grub-core/lib/efi/halt.c (grub_halt): ...here.
18271 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
18272 * grub-core/lib/emu/halt.c (grub_halt): ... here.
18273 * grub-core/lib/i386/halt.c: Moved from here ...
18274 * grub-core/lib/i386/halt.c: ... here.
18275 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
18276 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
18277 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
18278 grub_stop_floppy.
18279 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
18280 * include/grub/i386/coreboot/init.h: Removed.
18281 * include/grub/i386/multiboot/init.h: Likewise.
18282 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
18283 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
18284 * include/grub/i386/pc/int.h: New file.
18285 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
18286 (grub_pxe_scan): Removed.
18287 (grub_pxe_call): Update prototype.
18288 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
18289 prototypes.
18290 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
18291 * include/grub/i386/qemu/init.h: Removed.
18292 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
18293 noreturn.
18294 (grub_halt): Likewise.
18295 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
18296 (grub_reboot): Likewise.
18297 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
18298 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
18299 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
18300
215dd471
RM
183012010-08-30 Robert Millan <rmh@gnu.org>
18302
18303 * NEWS: Document addition of ZFS support in `grub-install' and
18304 `grub-mkconfig'.
18305
ebd65b82
BC
183062010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
18307
18308 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
18309 dprintf output.
18310
11721d19
VS
183112010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18312
18313 Remove leftover embedding of font objects.
18314
18315 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
18316 * util/grub-install.in (font): Removed.
18317 * util/grub-mkimage.c (generate_image): Remove font support. All users
18318 updated.
18319
37837d4e
VS
183202010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18321
18322 Remove leftover embedding of font objects.
18323
18324 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
18325 * util/grub-install.in (font): Removed.
18326 * util/grub-mkimage.c (generate_image): Remove font support. All users
18327 updated.
18328
b4c1aae0
VS
183292010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18330
18331 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 18332 Reported by: Ian Turner
b4c1aae0 18333
8920a08d
VS
183342010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
18337 timeout to avoid indefinite boot stalling.
18338
f21db033
VS
183392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18340
18341 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
18342 (grub_env_write_color_highlight): Likewise.
18343
9a9de209
VS
183442010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18345
18346 * grub-core/normal/term.c (print_more): Return to normal and not
18347 to standard state after printing "---MORE---".
18348
3dca01d7
VS
183492010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18350
18351 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
18352 Mask out the bit 0x80 since it has other meaning that specifiing color.
18353
0b986c40
VS
183542010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18355
18356 New relocator. Allows for more kernel support and more straightforward
18357 loader writing.
18358
18359 * Makefile.am (BOOTTARGET): New variable.
18360 (QEMU32): Likewise.
18361 (linux.init.x86_64): New target.
18362 (linux.init.i386): Likewise.
18363 (multiboot.elf): Likewise.
18364 (kfreebsd.elf): Likewise.
18365 (kfreebsd.aout): Likewise.
18366 (pc-chainloader.elf): Likewise.
18367 (pc-chainloader.bin): Likewise.
18368 (ntldr.elf): Likewise.
18369 (ntldr.bin): Likewise.
18370 (multiboot2.elf): Likewise.
18371 (kfreebsd.init.x86_64): Likewise.
18372 (kfreebsd.init.i386): Likewise.
18373 (knetbsd.init.i386): Likewise.
18374 (kopenbsd.init.i386): Likewise.
18375 (knetbsd.init.x86_64): Likewise.
18376 (kopenbsd.init.x86_64): Likewise.
18377 (linux-initramfs.i386): Likewise.
18378 (linux-initramfs.x86_64): Likewise.
18379 (kfreebsd-mfsroot.i386.img): Likewise.
18380 (knetbsd.image.i386): Likewise.
18381 (kopenbsd.image.i386): Likewise.
18382 (kopenbsd.image.x86_64): Likewise.
18383 (knetbsd.miniroot-image.i386.img): Likewise.
18384 (kfreebsd-mfsroot.x86_64.img): Likewise.
18385 (knetbsd.image.x86_64): Likewise.
18386 (knetbsd.miniroot-image.x86_64.img): Likewise.
18387 (kfreebsd-mfsroot.i386.gz): Likewise.
18388 (bootcheck-kfreebsd-i386): Likewise.
18389 (kfreebsd-mfsroot.x86_64.gz): Likewise.
18390 (bootcheck-kfreebsd-x86_64): Likewise.
18391 (knetbsd.miniroot-image.i386.gz): Likewise.
18392 (bootcheck-knetbsd-i386): Likewise.
18393 (bootcheck-kopenbsd-i386): Likewise.
18394 (bootcheck-kopenbsd-x86_64): Likewise.
18395 (knetbsd.miniroot-image.x86_64.gz): Likewise.
18396 (bootcheck-knetbsd-x86_64): Likewise.
18397 (bootcheck-linux-i386): Likewise.
18398 (bootcheck-linux-x86_64): Likewise.
18399 (bootcheck-linux16-i386): Likewise.
18400 (bootcheck-linux16-x86_64): Likewise.
18401 (bootcheck-multiboot): Likewise.
18402 (bootcheck-multiboot2): Likewise.
18403 (bootcheck-kfreebsd-aout): Likewise.
18404 (bootcheck-pc-chainloader): Likewise.
18405 (bootcheck-ntldr): Likewise.
18406 (CLEANFILES): Add new targets.
18407 (BOOTCHECKS): New variable.
18408 (.PHONY): Add bootchecks.
18409 (SUCCESSFUL_BOOT_STRING): New variable.
18410 (BOOTCHECK_TIMEOUT): Likewise.
18411 (bootcheck): New target
18412 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
18413 * configure.ac: Correct efiemu excuse.
18414 * docs/grub.texi (Supported kernels): New chapter.
18415 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
18416 include/grub/mm_private.h. Simplify inclusion of
18417 include/grub/boot.h, include/grub/loader.h
18418 and include/grub/msdos_partition.h
18419 (KERNEL_HEADER_FILES) [i386_coreboot]:
18420 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
18421 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
18422 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
18423 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
18424 include/grub/machine/loader.h.
18425 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
18426 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
18427 extra_dist.
18428 (pci.mod): Enable on i386-multiboot.
18429 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
18430 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
18431 i386-qemu.
18432 (relocator.mod): Rewritten.
18433 (aout.mod): Enable on all x86.
18434 (bsd.mod): Likewise.
18435 (ntldr.mod): New module.
18436 (linux.mod): Use loader/i386/linux.c on all x86.
18437 (xnu.mod): Enable on all x86.
18438 (vga_text.mod): disable on EFI and QEMU.
18439 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
18440 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
18441 * grub-core/efiemu/loadcore.c: Likewise.
18442 * grub-core/efiemu/main.c: Likewise.
18443 (grub_efiemu_exit_boot_services): Removed.
18444 (grub_efiemu_finish_boot_services): Likewise.
18445 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
18446 function.
18447 * grub-core/efiemu/i386/nocfgtables.c: New file.
18448 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
18449 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
18450 (grub_efi_finish_boot_services): Moved from here ...
18451 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
18452 Fille finish memory map and related data.
18453 (finish_mmap_buf): New variable.
18454 (grub_efi_uintn_t finish_mmap_size): Likewise.
18455 (grub_efi_uintn_t finish_key): Likewise.
18456 (grub_efi_uintn_t finish_desc_size): Likewise.
18457 (grub_efi_uint32_t finish_desc_version): Likewise.
18458 (grub_efi_is_finished): Likewise.
18459 (grub_efi_get_memory_map): Use saved memory map if EFI is already
18460 finished.
18461 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
18462 (grub_elf64_phdr_iterate): Likewise.
18463 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
18464 (grub_os_area_size): Likewise.
18465 (grub_machine_init): Don't reserve os area.
18466 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
18467 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
18468 * grub-core/kern/i386/loader.S: Removed.
18469 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
18470 (grub_os_area_size): Likewise.
18471 (grub_machine_init): Don't reserve os area.
18472 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
18473 Don't call grub_dl_unload_all.
18474 Don't include loader.S.
18475 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
18476 Declare the memory after _end as available.
18477 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 18478 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 18479 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
18480 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
18481 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
18482 * include/grub/mm_private.h (grub_mm_header): ... here.
18483 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
18484 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
18485 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
18486 (grub_mm_region): ..here. Removed addr. Added pre_size.
18487 All users updated.
18488 * grub-core/kern/mm.c (base): Renamed to ...
18489 (grub_mm_base): ... this. Made global.
18490 (grub_real_malloc): Alloc from end of region.
18491 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
18492 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
18493 * grub-core/kern/powerpc/cache_flush.S: ... here.
18494 * grub-core/lib/efi/relocator.c: New file.
18495 * grub-core/lib/i386/relocator.c: Rewritten.
18496 * grub-core/lib/i386/relocator16.S: New file.
18497 * grub-core/lib/i386/relocator32.S: Likewise.
18498 * grub-core/lib/i386/relocator64.S: Likewise.
18499 * grub-core/lib/i386/relocator_asm.S: Rewritten.
18500 * grub-core/lib/i386/relocator_common.S: New file.
18501 * grub-core/lib/ieee1275/relocator.c: Likewise.
18502 * grub-core/lib/mips/relocator.c: Rewritten.
18503 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
18504 stylistic adjustments.
18505 * grub-core/lib/powerpc/relocator.c: New file.
18506 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
18507 * grub-core/lib/relocator.c: Rewritten.
18508 * grub-core/lib/x86_64/relocator_asm.S: New file.
18509 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
18510 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
18511 (bsd_tag): New struct.
18512 (tags): New variable.
18513 (tags_last): Likewise.
18514 (netbsd_module): New struct.
18515 (netbsd_mods): New variable.
18516 (netbsd_mods_last): Likewise.
18517 (openbsd_opts): New parameter "serial".
18518 (OPENBSD_SERIAL_ARG): New definition.
18519 (netbsd_opts): New parameter "serial".
18520 (NETBSD_SERIAL_ARG): New definition.
18521 (grub_freebsd_add_meta): Reorganised into ...
18522 (grub_bsd_add_meta): ...this. All users updated.
18523 (grub_freebsd_add_mmap): Reorganised into ...
18524 (generate_e820_mmap): ...this...
18525 (grub_bsd_add_mmap): ...and this. All users updated.
18526 (grub_freebsd_list_modules): Use tags.
18527 (grub_netbsd_add_meta_module): New function.
18528 (grub_netbsd_list_modules): Likewise.
18529 (grub_freebsd_boot): Use relocator and finish EFI.
18530 (grub_openbsd_boot): Likewise.
18531 (grub_netbsd_setup_video): New function.
18532 (grub_netbsd_add_modules): Likewise.
18533 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
18534 and finish EFI.
18535 (grub_bsd_unload): Unload tags.
18536 (grub_bsd_load_aout): Use relocator.
18537 (grub_bsd_elf32_size_hook): New function.
18538 (grub_bsd_elf32_hook): Use relocator.
18539 (grub_bsd_elf64_size_hook): New function.
18540 (grub_bsd_elf64_hook): Use relocator.
18541 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
18542 (grub_bsd_load): Zero-out openbsd_ramdisk.
18543 (grub_bsd_load): Use relocator.
18544 (grub_cmd_openbsd): Support serial.
18545 (grub_cmd_netbsd): Support modules.
18546 (grub_cmd_freebsd_module): Use relocator.
18547 (grub_netbsd_module_load): New function.
18548 (grub_cmd_netbsd_module): Likewise.
18549 (grub_cmd_openbsd_ramdisk): Likewise.
18550 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
18551 kopenbsd_ramdisk.
18552 (GRUB_MOD_FINI): Unregister new commands.
18553 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
18554 (grub_freebsd_load_elfmodule_obj): Use relocator.
18555 (grub_freebsd_load_elfmodule): Likewise.
18556 (grub_freebsd_load_elf_meta): Likewise.
18557 (grub_netbsd_load_elf_meta): New function.
18558 (grub_openbsd_find_ramdisk): Likewise.
18559 * grub-core/loader/i386/bsd_helper.S: Removed.
18560 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
18561 * grub-core/loader/i386/bsd_trampoline.S: Removed.
18562 * grub-core/loader/i386/efi/linux.c: Likewise.
18563 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
18564 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
18565 (DEFAULT_VIDEO_MODE): Likewise.
18566 (real_mode_target): New variable.
18567 (prot_mode_target): Likewise.
18568 (initrd_mem_target): Likewise.
18569 (relocator): Likewise.
18570 (efi_mmap_buf): Likewise.
18571 (efi_mmap_size): Likewise.
18572 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
18573 (free_pages): Use relocator.
18574 (allocate_pages): Account for efi_mmap and use relocator. Return error.
18575 (grub_linux_setup_video): Return error.
18576 (grub_linux_trampoline_start): Removed.
18577 (grub_linux_trampoline_end): Likewise.
18578 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
18579 andd video parameters depending on firmware.
18580 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
18581 [GRUB_MACHINE_EFI]: Pass EFI parameters.
18582 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
18583 (grub_cmd_initrd): Use relocator.
18584 * grub-core/loader/i386/linux_trampoline.S: Removed.
18585 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
18586 (elf_sec_entsize): Likewise.
18587 (elf_sec_shstrndx): Likewise.
18588 (elf_sections): Likewise.
18589 (grub_multiboot_load): Use relocator.
18590 (grub_multiboot_get_mbi_size): Account for sections.
18591 (grub_multiboot_make_mbi): Use relocator and support sections.
18592 (grub_multiboot_add_elfsyms): New function.
18593 (grub_multiboot_free_mbi): Free sections.
18594 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
18595 (grub_linux_real_target): Likewise.
18596 (grub_linux_real_chunk): Likewise.
18597 (grub_linux16_prot_size): Likewise.
18598 (grub_linux16_boot): Use relocator.
18599 (grub_linux_unload): Unload relocator.
18600 (grub_cmd_linux): Use relocator.
18601 (grub_cmd_initrd): Likewise.
18602 * grub-core/loader/i386/pc/ntldr.c: New file.
18603 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
18604 Don't try to guess CPU frequency.
18605 (grub_xnu_set_video): Stretch bitmap.
18606 (grub_xnu_boot): Use relocator.
18607 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
18608 (grub_linux_unload): Free relocator.
18609 (grub_linux_load32): Use relocator.
18610 (grub_linux_load64): Likewise.
18611 (grub_cmd_initrd): Likewise.
18612 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
18613 (grub_multiboot_unload): Unload relocator.
18614 (grub_cmd_multiboot): Use relocator.
18615 (grub_cmd_module): Likewise.
18616 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
18617 Use relocator and support sections.
18618 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
18619 (elf_sec_entsize): Likewise.
18620 (elf_sec_shstrndx): Likewise.
18621 (elf_sections): Likewise.
18622 (grub_multiboot_load): Use relocator.
18623 (grub_multiboot_get_mbi_size): Account for sections.
18624 (grub_multiboot_make_mbi): Use relocator and support sections.
18625 (grub_multiboot_add_elfsyms): New function.
18626 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
18627 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
18628 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
18629 Prototype changed. All users updated.
18630 (grub_xnu_align_heap): Simplified.
18631 (grub_xnu_writetree_toheap): Likewise.
18632 (grub_xnu_unload): Unload relocator.
18633 (grub_cmd_xnu_kernel): Use relocator.
18634 (grub_cmd_xnu_kernel64): Likewise.
18635 (grub_xnu_register_memory): Simplified.
18636 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
18637 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
18638 EFI is finished.
18639 (grub_console_checkkey): Likewise.
18640 (grub_console_getkey): Likewise.
18641 (grub_console_getwh): Likewise.
18642 (grub_console_getxy): Likewise.
18643 (grub_console_gotoxy): Likewise.
18644 (grub_console_cls): Likewise.
18645 (grub_console_setcolorstate): Likewise.
18646 (grub_console_setcursor): Likewise.
18647 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
18648 * grub-core/tests/boot/kbsd.init-i386.S: New file.
18649 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
18650 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
18651 * grub-core/tests/boot/kernel-8086.S: Likewise.
18652 * grub-core/tests/boot/kernel-i386.S: Likewise.
18653 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
18654 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
18655 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
18656 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
18657 * grub-core/tests/boot/knetbsd.cfg: Likewise.
18658 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
18659 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
18660 * grub-core/tests/boot/linux.cfg: Likewise.
18661 * grub-core/tests/boot/linux.init-i386.S: Likewise.
18662 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
18663 * grub-core/tests/boot/linux16.cfg: Likewise.
18664 * grub-core/tests/boot/multiboot.cfg: Likewise.
18665 * grub-core/tests/boot/multiboot2.cfg: Likewise.
18666 * grub-core/tests/boot/ntldr.cfg: Likewise.
18667 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
18668 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
18669 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
18670 New definition.
18671 * include/grub/dl.h (grub_dl_unload_all): Removed.
18672 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
18673 (grub_efi_finish_boot_services): Change prototype.
18674 (grub_efi_is_finished): New variable.
18675 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
18676 Changed prototype.
18677 (grub_efiemu_finish_boot_services): Removed.
18678 (grub_machine_efiemu_init_tables): New prototype.
18679 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
18680 (grub_elf64_phdr_iterate): Likewise.
18681 * include/grub/i386/bsd.h: Include relocator.h.
18682 (freebsd_tag_header): New struct.
18683 (grub_openbsd_bios_mmap): Removed.
18684 (grub_unix_real_boot): Removed.
18685 (grub_freebsd_load_elfmodule32): Changed prototype.
18686 (grub_freebsd_load_elfmodule_obj64): Likewise.
18687 (grub_freebsd_load_elf_meta32): Likewise.
18688 (grub_freebsd_load_elf_meta64): Likewise.
18689 (grub_freebsd_add_meta): Removed.
18690 (grub_netbsd_load_elf_meta32): New prototype.
18691 (grub_netbsd_load_elf_meta64): Likewise.
18692 (grub_bsd_add_meta): Likewise.
18693 (grub_openbsd_ramdisk_descriptor): New struct.
18694 (grub_openbsd_find_ramdisk32): New prototype.
18695 (grub_openbsd_find_ramdisk64): Likewise.
18696 * include/grub/i386/coreboot/loader.h: Removed.
18697 * include/grub/i386/efi/loader.h: Likewise.
18698 * include/grub/i386/ieee1275/loader.h: Likewise.
18699 * include/grub/i386/linux.h (linux_kernel_header): Change void *
18700 to grub_uint32_t.
18701 * include/grub/i386/loader.h: Removed.
18702 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
18703 value.
18704 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
18705 (grub_phys_addr_t): New type.
18706 (grub_vtop): New inline function.
18707 (grub_map_memory): Likewise.
18708 (grub_unmap_memory): Likewise.
18709 * include/grub/i386/multiboot/loader.h: Removed.
18710 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
18711 (NETBSD_BTINFO_CONSOLE): New definition.
18712 (NETBSD_BTINFO_SYMTAB): Likewise.
18713 (NETBSD_BTINFO_MODULES): Likewise.
18714 (NETBSD_BTINFO_FRAMEBUF): Likewise.
18715 (grub_netbsd_bootinfo): New struct.
18716 (grub_netbsd_btinfo_common): Use explicit bitsize.
18717 (grub_netbsd_btinfo_mmap_entry): Removed.
18718 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
18719 (grub_netbsd_btinfo_bootdisk): New struct.
18720 (grub_netbsd_btinfo_symtab): Likewise.
18721 (grub_netbsd_btinfo_serial): Likewise.
18722 (grub_netbsd_btinfo_modules): Likewise.
18723 (grub_netbsd_btinfo_framebuf): Likewise.
18724 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
18725 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
18726 Likewise.
18727 (grub_openbsd_bootargs): Use explicit bitsize.
18728 (grub_openbsd_bootarg_console): New struct.
18729 (GRUB_OPENBSD_COM_MAJOR): New definition.
18730 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
18731 * include/grub/i386/pc/efiemu.h: Removed.
18732 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
18733 * include/grub/i386/qemu/loader.h: Removed.
18734 * include/grub/i386/relocator.h: Rewritten.
18735 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
18736 * include/grub/mips/memory.h: New file.
18737 * include/grub/mips/multiboot.h: Rewritten.
18738 * include/grub/mips/relocator.h: Rewritten.
18739 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
18740 (grub_vtop): New function.
18741 (grub_map_memory): Likewise.
18742 (grub_unmap_memory): Likewise.
18743 * include/grub/misc.h (ALIGN_DOWN): New definition.
18744 * include/grub/mm.h (grub_mm_check_real): New proto.
18745 (GRUB_MM_CHECK): New definition.
18746 * include/grub/mm_private.h: New file.
18747 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
18748 (grub_multiboot_get_mbi_size): Removed.
18749 (grub_multiboot_make_mbi): Change prottype.
18750 (grub_multiboot_set_accepts_video): New proto.
18751 (grub_multiboot_add_elfsyms): Likewise.
18752 (grub_multiboot_payload_eip): New variable.
18753 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
18754 New prototype.
18755 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
18756 New definition.
18757 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
18758 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
18759 * include/grub/powerpc/ieee1275/loader.h: Removed.
18760 * include/grub/powerpc/memory.h: New file.
18761 * include/grub/powerpc/relocator.h: Likewise.
18762 * include/grub/relocator.h: Likewise.
18763 * include/grub/relocator_private.h: Likewise.
18764 * include/grub/sparc64/ieee1275/loader.h: Removed.
18765 * include/grub/x86_64/memory.h: New file.
18766 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
18767 (grub_xnu_heap_malloc): Likewise.
18768 (grub_xnu_heap_real_start): Removed.
18769 (grub_xnu_heap_start): Likewise.
18770 (grub_xnu_relocator): New variable.
18771 (grub_xnu_heap_target_start): Likewise.
18772 * tests/util/grub-shell.in: Support non-pc.
18773 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 18774
5303b85d
VS
187752010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18776
18777 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
18778 on malloc error.
18779 (grub_bidi_logical_to_visual): Check that malloc succeded.
18780 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
18781 puts.
18782 (grub_xputs_normal): Likewise.
18783
d768d159
VS
187842010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18785
18786 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
18787 extra_dist.
18788
187892010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18790
18791 * grub-core/efiemu/runtime/efiemu.sh: Removed.
18792
5bf84df4
VS
187932010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18794
18795 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
18796
3626810e
VS
187972010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18798
18799 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
18800 dprintf.
18801
a7363f53
BC
188022010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
18803
18804 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
18805
902f75f6
VS
188062010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18807
18808 * grub-core/normal/term.c (print_more): Fix a memory leak.
18809 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
18810 (grub_xputs_normal): Likewise.
18811
3c707967
VS
188122010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18813
18814 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
18815 the begining of the string
18816
2053cc07
VS
188172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18818
18819 * grub-core/script/script.c (grub_script_parse): Free parsed on
18820 failure.
18821
46422ebf
VS
188222010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18823
18824 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
18825 on failure.
18826
9e0fa3f6
VS
188272010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18828
18829 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
18830 return.
18831
3393cf16
VS
188322010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
18835 (scroll_up): Fix a memory leak.
18836
b17540cb
VS
188372010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18838
18839 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
18840 errors.
18841
67140446
VS
188422010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
18843
18844 Handle USB pendrives exposed as floppies.
18845
18846 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
18847 floppy.
18848 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
18849 Check for partitions on all devices.
18850
e35e46fc
VS
188512010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18852
18853 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
18854 (readkey): Likewise.
18855
d24c6190
BC
188562010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
18857
18858 Multiple variable names support to "export" command.
18859
18860 * normal/context.c (grub_cmd_export): "export" command supports
18861 multiple variable names.
18862
04ddcc6a
ST
188632010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
18864
18865 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
18866 --target=drive output to Mach device name.
18867
0c8b61d8
BC
188682010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
18869
18870 New Automake based build system for GRUB.
18871
18872 * ABOUT-NLS: New file.
18873 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
18874 in Makefile.util.def file.
18875 * Makefile.util.def: New file. Autogen build definitions file for
18876 GRUB host utils.
18877 * conf/Makefile.common: New file. Common variables for GRUB host
18878 utils and target modules.
18879 * conf/Makefile.extra-dist: New file. Extra files for make dist.
18880 * docs/Makefile.am: New file. Automake file for docs.
18881 * gentpl.py: New file. Python script to generate Autogen
18882 template.
18883 * grub-core/Makefile.am: New file. GRUB target modules' rules
18884 that doesn't fit in Makefile.core.def file.
18885 * grub-core/Makefile.core.def: New file. Autogen build
18886 definitions file for GRUB target modules.
18887 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
18888 specific setjmp.S file.
18889 * po/Makefile.am: New file.
18890
18891 * .bzrignore: New ignores.
18892 * INSTALL: New requirements, without Ruby.
18893 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
18894 * autogen.sh: Updated to invoke autogen as necessary.
18895 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
18896 and defines for Automake conditionals.
18897 * geninit.sh: Refactoring.
18898
18899 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
18900 necessary.
18901 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
18902 New prototype.
18903
18904 * include/grub/test.h: Fix functional test modules' naming.
18905 * grub-core/tests/example_functional_test.c: Fix test module name.
18906
18907 * util/misc.c: Hosted versions' of grub functions for libgrub.a
18908 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
18909 * util/grub-editenv.c: Likewise.
18910 * util/grub-fstest.c: Likewise.
18911 * util/grub-mkdevicemap.c: Likewise.
18912 * util/grub-mkfont.c: Likewise.
18913 * util/grub-mkimage.c: Likewise.
18914 * util/grub-mkpasswd-pbkdf2.c: Likewise.
18915 * util/grub-probe.c: Likewise.
18916 * util/grub-script-check.c: Likewise.
18917 * util/i386/pc/grub-setup.c: Likewise.
18918 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18919
18920 * tests/util/grub-shell.in: Fix override directory path.
18921 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
18922 * util/import_gcry.py: Create Makefile.gcry.def file instead.
18923
18924 * util/lvm.c: Update #includes.
18925 * util/raid.c: Likewise.
18926 * util/resolve.c: Likewise.
18927 * grub-core/bus/emu/pci.c: Likewise.
18928 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
18929 * grub-core/lib/posix_wrap/string.h: Likewise.
18930 * grub-core/kern/emu/main.c: Likewise.
18931
18932 * grub-core/gensymlist.sh: New file. Script for generating kernel
18933 symbols file.
18934 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
18935
18936 * grub-core/gentrigtables.c: Fix unused variable warnings.
18937
18938 * Makefile.in: Removed.
18939 * conf/any-emu.rmk: Removed.
18940 * conf/common.rmk: Removed.
18941 * conf/i386-coreboot.rmk: Removed.
18942 * conf/i386-efi.rmk: Removed.
18943 * conf/i386-ieee1275.rmk: Removed.
18944 * conf/i386-multiboot.rmk: Removed.
18945 * conf/i386-pc.rmk: Removed.
18946 * conf/i386-qemu.rmk: Removed.
18947 * conf/i386.rmk: Removed.
18948 * conf/mips-yeeloong.rmk: Removed.
18949 * conf/mips.rmk: Removed.
18950 * conf/powerpc-ieee1275.rmk: Removed.
18951 * conf/sparc64-ieee1275.rmk: Removed.
18952 * conf/tests.rmk: Removed.
18953 * conf/x86-efi.rmk: Removed.
18954 * conf/x86_64-efi.rmk: Removed.
18955 * gendistlist.sh: Removed.
18956 * geninitheader.sh: Removed.
18957 * genkernsyms.sh.in: Removed.
18958 * genmk.rb: Removed.
18959 * gensymlist.sh.in: Removed.
18960 * mkinstalldirs: Removed.
18961 * boot: Moved ...
18962 * grub-core/boot: ... to here.
18963 * bus: Moved ...
18964 * grub-core/bus: ... to here.
18965 * commands: Moved ...
18966 * grub-core/commands: ... to here.
18967 * disk: Moved ...
18968 * grub-core/disk: ... to here.
18969 * efiemu: Moved ...
18970 * grub-core/efiemu: ... to here.
18971 * font: Moved ...
18972 * grub-core/font: ... to here.
18973 * fs: Moved ...
18974 * grub-core/fs: ... to here.
18975 * gencmdlist.sh: Moved ...
18976 * grub-core/gencmdlist.sh: ... to here.
18977 * genemuinit.sh: Moved ...
18978 * grub-core/genemuinit.sh: ... to here.
18979 * genemuinitheader.sh: Moved ...
18980 * grub-core/genemuinitheader.sh: ... to here.
18981 * genfslist.sh: Moved ...
18982 * grub-core/genfslist.sh: ... to here.
18983 * genhandlerlist.sh: Moved ...
18984 * grub-core/genhandlerlist.sh: ... to here.
18985 * genmoddep.awk: Moved ...
18986 * grub-core/genmoddep.awk: ... to here.
18987 * genmodsrc.sh: Moved ...
18988 * grub-core/genmodsrc.sh: ... to here.
18989 * genpartmaplist.sh: Moved ...
18990 * grub-core/genpartmaplist.sh: ... to here.
18991 * genparttoollist.sh: Moved ...
18992 * grub-core/genparttoollist.sh: ... to here.
18993 * genterminallist.sh: Moved ...
18994 * grub-core/genterminallist.sh: ... to here.
18995 * gentrigtables.c: Moved ...
18996 * grub-core/gentrigtables.c: ... to here.
18997 * genvideolist.sh: Moved ...
18998 * grub-core/genvideolist.sh: ... to here.
18999 * gettext: Moved ...
19000 * grub-core/gettext: ... to here.
19001 * gfxmenu: Moved ...
19002 * grub-core/gfxmenu: ... to here.
19003 * gnulib: Moved ...
19004 * grub-core/gnulib: ... to here.
19005 * hello: Moved ...
19006 * grub-core/hello: ... to here.
19007 * hook: Moved ...
19008 * grub-core/hook: ... to here.
19009 * io: Moved ...
19010 * grub-core/io: ... to here.
19011 * kern: Moved ...
19012 * grub-core/kern: ... to here.
19013 * lib: Moved ...
19014 * grub-core/lib: ... to here.
19015 * loader: Moved ...
19016 * grub-core/loader: ... to here.
19017 * mmap: Moved ...
19018 * grub-core/mmap: ... to here.
19019 * normal: Moved ...
19020 * grub-core/normal: ... to here.
19021 * partmap: Moved ...
19022 * grub-core/partmap: ... to here.
19023 * parttool: Moved ...
19024 * grub-core/parttool: ... to here.
19025 * script: Moved ...
19026 * grub-core/script: ... to here.
19027 * term: Moved ...
19028 * grub-core/term: ... to here
19029 * tests/example_functional_test.c: Moved ...
19030 * grub-core/tests/example_functional_test.c: ... to here.
19031 * tests/lib/functional_test.c: Moved ...
19032 * grub-core/tests/lib/functional_test.c: ... to here.
19033 * tests/lib/test.c: Moved ...
19034 * grub-core/tests/lib/test.c: ... to here.
19035 * video: Moved ...
19036 * grub-core/video: ... to here.
19037
645586e6
BC
190382010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
19039
19040 Replace --enable-grub-emu-modules with grub-emu-lite.
19041
19042 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
19043 cache.S.
19044
19045 * include/grub/emu/misc.h (grub_emu_init): New prototype.
19046 * kern/emu/full.c: New file. For grub-emu specific initialization.
19047 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
19048 * kern/emu/main.c: Call initialization function grub_emu_init.
19049
19050 * Makefile.in: Include grub-emu-lite in install.
19051 * commands/parttool.c: Use grub_no_autoload to differentiate
19052 between grub-emu and grub-emu-lite.
19053 * include/grub/misc.h: New variable grub_no_autoload.
19054
19055 * conf/any-emu.rmk: New rules for grub-emu-lite.
19056 * configure.ac: Remove --enable-grub-emu-modules.
19057 * genmk.rb: Cleanup unnecessary rules.
19058 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
19059
19060 * normal/main.c: Don't load list files on grub-emu-lite.
19061 * util/misc.c (grub_arch_sync_caches): Removed.
19062
f86a4030
CW
190632010-08-23 Colin Watson <cjwatson@ubuntu.com>
19064
19065 * kern/mips/startup.S (grub_prefix): Update comment to refer to
19066 grub-mkimage rather than grub-mkelfimage.
19067 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
19068
06776944
VS
190692010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19070
19071 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
19072 a key after CapsLock or NumLock. It's just a qemu bug.
19073
df262419
VS
190742010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
19075
19076 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
19077 needed by libusb wrapper.
19078
b40ea81b
ST
190792010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19080
19081 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
19082
dee50575
VS
190832010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
19084
19085 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
19086 --nounzip is passed.
19087
fb1d7b79
VS
190882010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
19089
19090 USB hotunplugging and USB serial support.
19091
19092 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
19093 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
19094 (grub_uhci_transfer): Respect timeout and set *actual.
19095 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
19096 non-standard length.
19097 (grub_usb_device_attach): Autoload modules.
19098 (GRUB_MOD_INIT): Set grub_term_poll_usb.
19099 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
19100 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
19101 users updated.
19102 (grub_usb_add_hub): Fill nports and children.
19103 (attach_root_port): Receive hub instead of controller.
19104 All users updated. Fill hub->devices.
19105 (grub_usb_root_hub): Allocate hub->devices.
19106 (detach_device): New function.
19107 (poll_nonroot_hub): Fill children and detach devices.
19108 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
19109 actual arguments. All users updated.
19110 (grub_usb_bulk_read_extended): New function.
19111 * bus/usb/serial/common.c: New file.
19112 * bus/usb/serial/ftdi.c: Likewise.
19113 * bus/usb/serial/pl2303.c: Likewise.
19114 * commands/terminal.c (handle_command): Support wildcard.
19115 * commands/usbtest.c: Output "Unknown" instead of empty string.
19116 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
19117 (usbserial_common_mod_SOURCES): New variable.
19118 (usbserial_common_mod_CFLAGS): Likewise.
19119 (usbserial_common_mod_LDFLAGS): Likewise.
19120 (pkglib_MODULES): Add usbserial_pl2303.mod.
19121 (usbserial_pl2303_mod_SOURCES): New variable.
19122 (usbserial_pl2303_mod_CFLAGS): Likewise.
19123 (usbserial_pl2303_mod_LDFLAGS): Likewise.
19124 (pkglib_MODULES): Add usbserial_ftdi.mod.
19125 (usbserial_ftdi_mod_SOURCES): New variable.
19126 (usbserial_ftdi_mod_CFLAGS): Likewise.
19127 (usbserial_ftdi_mod_LDFLAGS): Likewise.
19128 (pkglib_MODULES): Add serial.mod.
19129 (serial_mod_SOURCES): New variable.
19130 (serial_mod_CFLAGS): Likewise.
19131 (serial_mod_LDFLAGS): Likewise.
19132 * conf/i386-pc.rmk: Likewise.
19133 * conf/mips-yeeloong.rmk: Likewise.
19134 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
19135 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19136 * disk/usbms.c (first_available_slot): New variable.
19137 (grub_usbms_attach): Don't reuse free slots due to potential cache
19138 problems.
19139 * include/grub/serial.h: Moved to ..
19140 * include/grub/ns8250.h: ...this.
19141 * include/grub/serial.h: New file.
19142 * include/grub/term.h (grub_term_poll_usb): New variable.
19143 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
19144 readkey. All users updated.
19145 (grub_terminfo_output_state): Pass term to put.
19146 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
19147 (grub_usb_controller_dev): Add timeout and actual arguments to
19148 transfer. All users updated.
19149 (grub_usb_interface): New field detach_data.
19150 (grub_usb_device): New fields children and nports.
19151 (grub_usb_ep_type_t): New type.
19152 (grub_usb_get_ep_type): New function.
19153 (grub_usb_bulk_read_extended): Likewise.
19154 * include/grub/usbdesc.h (grub_usb_desc): New type.
19155 * include/grub/usbserial.h: New file.
19156 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
19157 * kern/term.c (grub_term_poll_usb): New variable.
19158 (grub_getkey): Call grub_term_poll_usb if set.
19159 (grub_checkkey): Likewise.
19160 (grub_getkeystatus): Likewise.
19161 * term/serial.c: Moved controller-specific parts to ...
19162 * term/ns8250.c: ... here.
19163 * term/serial.c: Mostly rewritten.
19164 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
19165 according to spec.
19166
21a313de
RM
191672010-08-20 Robert Millan <rmh@gnu.org>
19168
19169 Make kFreeBSD code more generic to support ext2fs as root, ufs as
19170 a separate module and maybe other interesting combinations.
19171
19172 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
19173 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
19174 (kfreebsd_entry): Add generic filesystem module load routine.
19175 Map GRUB `ext2' to kFreeBSD `ext2fs'.
19176
63c734a6
CW
191772010-08-20 Colin Watson <cjwatson@ubuntu.com>
19178
19179 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
19180 "numcenter" (I misunderstood the purpose of this entry).
19181 * docs/grub.texi (sendkey): Likewise.
19182
c4d16542
CW
191832010-08-20 Colin Watson <cjwatson@ubuntu.com>
19184
19185 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
19186 status flag options; simply omitting the option is equivalent and
19187 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
19188 (keysym_table): Rename "num5numlock" to "numlock".
19189 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
19190 can uniformly say that only the last of multiple `sendkey'
19191 invocations has any effect.
19192 * docs/grub.texi (sendkey): New section.
19193
93541d66
CW
191942010-08-19 Colin Watson <cjwatson@ubuntu.com>
19195
19196 * commands/i386/pc/sendkey.c (options): Fix three typos.
19197
b4ece5e1
VS
191982010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
19199
19200 Implement sendkey support.
19201
19202 * commands/i386/pc/sendkey.c: New file.
19203 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
19204 (sendkey_mod_SOURCES): New variable.
19205 (sendkey_mod_CFLAGS): Likewise.
19206 (sendkey_mod_LDFLAGS): Likewise.
19207
51f1f5af
CW
192082010-08-18 Colin Watson <cjwatson@ubuntu.com>
19209
19210 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
19211 fix warnings from Autoconf.
19212
9da94e05
CW
192132010-08-18 Colin Watson <cjwatson@ubuntu.com>
19214
19215 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
19216 to avoid false positives with some assemblers that output things
19217 like "someprefix_func" as part of their output.
19218
729a0f2e
RM
192192010-08-15 Robert Millan <rmh@gnu.org>
19220
19221 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
19222 errors.
19223 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
19224 grub_get_libzfs_handle() errors.
19225
f3710e08
RM
192262010-08-14 Robert Millan <rmh@gnu.org>
19227
19228 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
19229 filesystem is not ZFS.
19230
7a3c13de
BC
192312010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19232
19233 Fix for misspelled color names defaulting to black/black (bug
19234 reported by Doug Nazar)
19235
19236 * include/grub/normal.h (grub_parse_color_name_pair): Add return
19237 status to prototype.
19238 * normal/color.c (grub_parse_color_name_pair): Return failure
19239 status.
19240 (grub_env_write_color_normal): Ignore bad color names.
19241 (grub_env_write_color_highlight): Likewise.
19242 * normal/main.c (GRUB_MOD_INIT): Set default color names.
19243
ab8ba50d
BC
192442010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19245
19246 "shift" command support to GRUB script.
19247
19248 * include/grub/script_sh.h (grub_script_shift): New prototype.
19249 * script/execute.c (grub_script_shift): New function.
19250 * script/main.c (grub_script_init): Register shift command.
19251 (grub_script_fini): Unregister shift command.
19252 * util/grub-script-check.c (grub_script_cmd_shift): New function.
19253
19254 * tests/grub_script_shift.in: New testcase.
19255 * conf/tests.rmk: Rules for new testcase.
19256
4d61999e
BC
192572010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19258
19259 "continue" command support to GRUB script.
19260
19261 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
19262 (grub_script_break): Continue support.
19263 * script/main.c (grub_script_init): Register continue command.
19264 (grub_script_fini): Unregister continue command.
19265
19266 * tests/grub_script_continue.in: New testcase.
19267 * conf/tests.rmk: Rules for new testcase.
19268
4df51e00
BC
192692010-08-12 BVK Chaitanya <bvk@dbook>
19270
19271 "break" command support to GRUB script.
19272
19273 * conf/common.rmk: Rule updates to grub-script-check.
19274 * include/grub/misc.h (grub_min): New function.
19275 * include/grub/script_sh.h (grub_script_init): New prototype.
19276 (grub_script_fini): New prototype.
19277 (grub_script_break): New prototype.
19278 * script/main.c (grub_script_init): New function.
19279 (grub_script_fini): New function.
19280 * script/execute.c (grub_script_break): New function.
19281 * normal/main.c: Calls to grub_script_{init,fini}.
19282 * util/grub-script-check.c (grub_script_break): New function.
19283
19284 * tests/grub_script_break.in: New testcase.
19285 * conf/tests.rmk: Rules for new test case.
19286
f12c8420
BC
192872010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19288
19289 Function parameters support to GRUB script.
19290
19291 * script/yylex.l (VARIABLE): Regular expression update.
19292 * script/function.c (grub_script_function_call): Moved ...
19293 * script/execute.c (grub_script_function_call): ... to here.
19294 (grub_script_execute_arglist_to_argv): Removed.
19295 (grub_script_arglist_to_argv): New function.
19296 * script/argv.c: New file.
19297 (grub_script_argv_free): New function.
19298 (grub_script_argv_next): Likewise.
19299 (grub_script_argv_append): Likewise.
19300 (grub_script_argv_split_append): Likewise.
19301 * include/grub/script_sh.h (grub_script_argv): New struct.
19302 (grub_script_argv_free): New function.
19303 (grub_script_argv_next): Likewise.
19304 (grub_script_argv_append): Likewise.
19305 (grub_script_argv_split_append): Likewise.
19306
19307 * conf/common.rmk (normal.mod): New source script/argv.c.
19308
19309 * tests/grub_script_echo1.in: More tests.
19310 * tests/grub_script_vars1.in: Likewise.
19311 * tests/grub_script_functions.in: New test case.
19312 * conf/tests.rmk: Rules for new testcase.
19313
8022b748
BC
193142010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19315
19316 Remove grub_script_cmdblock struct.
19317
19318 * include/grub/script_sh.h: Remove grub_script_cmdblock.
19319 * script/parser.y: Likewise.
19320 * script/execute.c: Rename cmdblock suffix to cmdlist.
19321 * script/script.c: Likewise.
19322 * util/grub-script-check.c: Likewise.
19323
79a6ba61
YB
193242010-08-11 Yves Blusseau <blusseau@zetam.org>
19325
19326 * .bzrignore: add grub-macho2img
19327
d04b9414
VS
193282010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
19329
19330 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
19331
f947ab49
VS
193322010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
19333
19334 Remove the dump of sm712 initialisation sequence.
19335
19336 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
19337 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
19338 (GRUB_VGA_IO_MISC_WRITE): Likewise.
19339 (GRUB_VGA_CR_*): Added many registers.
19340 (GRUB_VGA_SR_*): Likewise.
19341 (GRUB_VGA_GR_*): Likewise.
19342 (grub_vga_write_arx): New function.
19343 (grub_video_hw_config): New struct.
19344 (grub_vga_set_geometry): New function.
19345 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
19346 GRUB_PCI_CLASS_SUBCLASS_VGA.
19347 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
19348 * video/sm712.c (grub_sm712_write_reg): New function
19349 (grub_sm712_read_reg): Likewise.
19350 (grub_sm712_sr_write): Likewise.
19351 (grub_sm712_gr_write): Likewise.
19352 (grub_sm712_cr_write): Likewise.
19353 (grub_sm712_write_arx): Likewise.
19354 (grub_sm712_cr_shadow_write): Likewise.
19355 (grub_sm712_write_dda_lookup): Likewise.
19356 (grub_video_sm712_setup): Initialise the video rather then
19357 blindly replay the dump.
19358 (main) [TEST]: Add a routine to be able to compile as standalone for
19359 tests.
19360 * video/sm712_init.c (sm712_init): Removed.
19361 (sm712_sr_seq1): New array.
19362 (sm712_sr_seq2): Likewise.
19363
f0206638
VS
193642010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
19365
19366 * include/grub/vga.h: Add missing grub/pci.h include.
19367
2764da3b
YB
193682010-08-10 Yves Blusseau <blusseau@zetam.org>
19369
19370 * util/grub-macho2img.c (main): fix typo
19371
cf0c775e
VS
193722010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
19373
19374 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
19375 (grub_vga_gr_read): Likewise.
19376 (grub_vga_cr_write): Likewise.
19377 (grub_vga_cr_read): Likewise.
19378 (grub_vga_sr_write): Likewise.
19379 (grub_vga_sr_read): Likewise.
19380 (grub_vga_palette_read): Likewise.
19381 (grub_vga_palette_write): Likewise.
19382 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
19383 (grub_sm712_sr_read): New function.
19384 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
19385 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
19386
07f360e9
RM
193872010-08-09 Robert Millan <rmh@gnu.org>
19388
19389 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
19390 out unused variables on non-ZFS build.
19391
346c2072
RM
193922010-08-08 Robert Millan <rmh@gnu.org>
19393
19394 Fix path generation for sub-filesystems in ZFS.
19395
19396 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
19397 missing slash.
19398
71175420
RM
193992010-08-08 Robert Millan <rmh@gnu.org>
19400
19401 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
19402
0d8286f3
RM
194032010-08-08 Robert Millan <rmh@gnu.org>
19404
19405 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
19406 exist, issue a proper error message (rely on `ls' for translated
19407 strings).
19408
55dd2924
RM
194092010-08-08 Robert Millan <rmh@gnu.org>
19410
19411 Fix grub-probe invocation.
19412
19413 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
19414
d3dd9e80
RM
194152010-08-04 Robert Millan <rmh@gnu.org>
19416
19417 * configure.ac: Remove checks for getfsstat() and getmntany().
19418 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
19419 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
19420 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
19421 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
19422 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
19423 function.
19424 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
19425 via find_mount_point_from_dir() and getfsstat() / getmntany().
19426
0de22aa9
RM
194272010-08-04 Robert Millan <rmh@gnu.org>
19428
19429 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19430 (grub_find_zpool_from_mount_point): Merge into ...
19431 (grub_find_zpool_from_dir): ... this.
19432 * kern/emu/misc.c: Likewise.
19433
19434 * kern/emu/misc.c
19435 (grub_make_system_path_relative_to_its_root): Replace
19436 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
19437 with grub_find_zpool_from_dir().
19438 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
19439
62858144
RM
194402010-08-04 Robert Millan <rmh@gnu.org>
19441
19442 Support OpenSolaris in ZFS device resolution.
19443
19444 * configure.ac: Check for getmntany().
19445 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
19446 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
19447 support.
19448
9dd6fd50
RM
194492010-08-03 Robert Millan <rmh@gnu.org>
19450
19451 Fix grub-emu build.
19452
19453 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
19454 * include/grub/emu/misc.h: ... here.
19455
19456 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
19457 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
19458
19459 * util/misc.c: Remove `<grub/util/libzfs.h>'.
19460 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
19461 (grub_get_libzfs_handle): Move to ...
19462 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
19463 (grub_get_libzfs_handle): ... here.
19464
c9f7ff97
BC
194652010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
19466
19467 * script/execute.c (grub_script_execute_cmdline): Check for NULL
19468 as command name case.
19469
a870a783
CW
194702010-08-02 Colin Watson <cjwatson@ubuntu.com>
19471
19472 * disk/raid.c (insert_array): Select unique numbers for named arrays
19473 as well, for use as keys in the disk cache.
19474
c7db243b
RM
194752010-08-01 Robert Millan <rmh@gnu.org>
19476
19477 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
19478 kFreeBSD device name, except on ZFS where the filesystem label is
19479 used.
19480 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
19481 `/boot/zfs/zpool.cache'.
19482 Set mountfrom kernel variable using ${kfreebsd_device}.
19483
f7abdefb
RM
194842010-08-01 Robert Millan <rmh@gnu.org>
19485
19486 Make it even harder to use uninitialized `libzfs_handle' (and
19487 make the interface a bit simpler).
19488
19489 * include/grub/util/misc.h (grub_util_init_libzfs)
19490 (libzfs_handle): Remove.
19491 (grub_get_libzfs_handle): New prototype.
19492
19493 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
19494 attribute.
19495 (grub_util_init_libzfs): Remove.
19496 (grub_get_libzfs_handle): New function.
19497
19498 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
19499 grub_get_libzfs_handle() to obtain a libzfs handle instead of
19500 accessing `libzfs_handle' directly.
19501
c882acc0
RM
195022010-08-01 Robert Millan <rmh@gnu.org>
19503
19504 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19505 (grub_find_zpool_from_mount_point): New function prototypes.
19506
19507 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
19508 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
19509
19510 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
19511 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
19512 `static' attribute.
19513
19514 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
19515 finding zpool from mount point into ...
19516 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
19517
19518 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
19519 requested path is part of a ZFS pool, use
19520 grub_find_zpool_from_mount_point() to detect its filesystem name,
19521 and generate a path with `/fsname@path' syntax.
19522
8bfe31d8
CW
195232010-08-01 Colin Watson <cjwatson@ubuntu.com>
19524
19525 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
19526 (void) rather than () so that this is a proper prototype.
19527
553df63d
VS
195282010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
19531
8687cf07
VS
195322010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19533
19534 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
19535 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
19536
ea9be8ea
CW
195372010-08-01 Colin Watson <cjwatson@ubuntu.com>
19538
19539 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
19540
6eea041a
CW
195412010-08-01 Colin Watson <cjwatson@ubuntu.com>
19542
19543 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
19544
2cfb45df
CW
195452010-08-01 Colin Watson <cjwatson@ubuntu.com>
19546
19547 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
19548 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
19549 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
19550 disable gfxpayload.
19551 (Shell-like scripting): Add real content.
19552 (Serial terminal): Suggest `terminal_input serial; terminal_output
19553 serial' rather than putting the two commands on separate lines,
19554 since console input will be inoperative after the first command.
19555 (menuentry): Document --class, --users, and --hotkey options.
19556 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
19557 Vladimir Serbinenko).
19558
7decd202
VS
195592010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
195602010-08-01 Colin Watson <cjwatson@ubuntu.com>
19561
19562 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
19563
c882acc0
RM
195642010-08-01 Robert Millan <rmh@gnu.org>
19565
19566 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19567 (grub_find_zpool_from_mount_point): New function prototypes.
19568
19569 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
19570 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
19571
19572 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
19573 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
19574 `static' attribute.
19575
19576 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
19577 finding zpool from mount point into ...
19578 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
19579
19580 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
19581 requested path is part of a ZFS pool, use
19582 grub_find_zpool_from_mount_point() to detect its filesystem name,
19583 and generate a path with `/fsname@path' syntax.
19584
deb0caa3
RM
195852010-08-01 Robert Millan <rmh@gnu.org>
19586
19587 Prevent accidental use of uninitialized libzfs_handle.
19588
19589 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
19590 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
19591 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
19592
ce04ef47
CW
195932010-08-01 Colin Watson <cjwatson@ubuntu.com>
19594
19595 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
19596 util/grub.d/10_linux.in). Fixes Debian bug #591093.
19597
ebf53056
RM
195982010-08-01 Robert Millan <rmh@gnu.org>
19599
19600 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 19601
3710bb6b
RM
196022010-07-31 Robert Millan <rmh@gnu.org>
19603
19604 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
19605
8072efeb
RM
196062010-07-31 Robert Millan <rmh@gnu.org>
19607
19608 * kern/emu/misc.c: Add missing license header.
19609
3169f4c7
RM
196102010-07-31 Robert Millan <rmh@gnu.org>
19611
19612 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
19613
19614 * include/grub/util/libnvpair.h: Include `<config.h>'.
19615 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
19616 declaring libnvpair prototypes ourselves.
19617 * include/grub/util/libzfs.h: Include `<config.h>'.
19618 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
19619 declaring libzfs prototypes ourselves.
19620
19621 (libzfs_handle): Moved to ...
19622 * include/grub/util/misc.h (libzfs_handle): ... here.
19623 Include `<grub/util/libzfs.h>'.
19624
c9a00aee
RM
196252010-07-30 Robert Millan <rmh@gnu.org>
19626
19627 * include/grub/emu/misc.h: Add missing license header.
19628
a184f9c8
RM
196292010-07-30 Robert Millan <rmh@gnu.org>
19630
19631 Enable `grub-probe -t device' resolution on ZFS.
19632
19633 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
19634 * include/grub/util/libnvpair.h: New file.
19635 * include/grub/util/libzfs.h: New file.
19636
19637 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
19638 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
19639 `<grub/util/libnvpair.h>'.
19640 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
19641
19642 (find_mount_point_from_dir): New static function.
19643 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
19644 function.
19645 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
19646 find_root_device_from_libzfs() before ressorting to find_root_device().
19647
19648 * include/grub/util/misc.h (grub_util_init_libzfs): New function
19649 prototype.
19650 * util/misc.c: Include `<grub/util/libzfs.h>'.
19651 (grub_util_init_libzfs): New function.
19652 [HAVE_LIBZFS] (libzfs_handle): New global variable.
19653 [HAVE_LIBZFS] (fini_libzfs): New static function.
19654 (grub_util_init_libzfs): New function.
19655 * util/grub-probe.c (main): Call grub_util_init_libzfs().
19656
f7790cdd
RM
196572010-07-30 Robert Millan <rmh@gnu.org>
19658
19659 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
19660 (xmalloc, xrealloc, xstrdup, xasprintf): Add
19661 `warn_unused_result' attribute.
19662 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
19663 (grub_xasprintf, grub_xvasprintf): Likewise.
19664 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
19665
0806b63c
RM
196662010-07-29 Robert Millan <rmh@gnu.org>
19667
19668 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
19669 (probe): Handle `PRINT_FS_LABEL'.
19670 (main): Handle `-t fs_label'.
19671
9f841f5c
RM
196722010-07-29 Robert Millan <rmh@gnu.org>
19673
19674 * configure.ac: Remove grub-mkisofs checks.
19675
46371121
VS
196762010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
19677
19678 * util/ieee1275/grub-install.in: Don't use empty grub_device.
19679 Reported by: Lennart Sorensen.
19680
196812010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19682
19683 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
19684 prior to terminal_input/terminal_output separation. It's been over 1.5
19685 years and those versions weren't widely deployed.
19686
a9600892
CW
196872010-07-22 Colin Watson <cjwatson@ubuntu.com>
19688
19689 * disk/raid.c (insert_array): Don't count named arrays when looking
19690 for unused array numbers.
697e053c 19691 Reported and tested by: Michael Guntsche.
a9600892 19692
c03507df
CW
196932010-07-20 Colin Watson <cjwatson@ubuntu.com>
19694
19695 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
19696 implementation of this so that grub-emu links again, with a note
19697 that this should support hotplugging in the future.
19698
b26f1c11
CW
196992010-07-20 Colin Watson <cjwatson@ubuntu.com>
19700
19701 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19702
efc9d7f1
CW
197032010-07-20 Colin Watson <cjwatson@ubuntu.com>
19704
19705 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
19706 handle on failure.
19707 (grub_loopback_close): Remove empty function.
19708 (grub_loopback_dev): Remove close method.
19709
dd8ff5c9
CW
197102010-07-20 Colin Watson <cjwatson@ubuntu.com>
19711
19712 Disable EFI cursor when the EFI console becomes inactive.
19713
19714 * term/efi/console.c (grub_efi_console_init): New function.
19715 (grub_efi_console_fini): New function.
19716 (grub_console_term_output): Register init and fini methods.
19717
5e3bec67
VS
197182010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19719
19720 * tests/util/grub-shell-tester.in: Remove bashism and declare as
19721 sh script.
19722
afaec079
VS
197232010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19724
19725 * disk/loopback.c (grub_loopback): Replace filename with file.
19726 (delete_loopback): Handle new semantics.
19727 (grub_cmd_loopback): Likewise.
19728 (grub_loopback_iterate): Likewise.
19729 (grub_loopback_close): Likewise.
19730
a6a11f3c
VS
197312010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19732
19733 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
19734 with -p "".
19735 Reported by: Tito Keitel.
19736
64a638b0
VS
197372010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19738
19739 * docs/grub.texi (Naming convention): Document new naming convention.
19740
ab8ba957
VS
197412010-07-20 Vadim Solomin <vadic052@gmail.com>
197422010-07-20 Colin Watson <cjwatson@ubuntu.com>
19743
19744 Generate device.map in something closer to the old ordering.
19745
19746 * util/deviceiter.c (struct device): New declaration.
19747 (compare_file_names): Rename to ...
19748 (compare_devices): ... this. Sort by kernel name in preference to
19749 the stable by-id name, but keep the latter as a fallback comparison.
19750 Update header comment.
19751 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
19752 of `struct device' rather than of plain file names.
19753
a29d6a4b
TF
197542010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
19755
19756 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
19757 on i386.
19758
39d824e8
VS
197592010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19760
19761 * commands/acpi.c (setup_common_tables): Use sizeof instead of
19762 hardcoding size.
19763 (setv1table): Likewise.
19764
f058276b
FZ
197652010-07-20 Colin Watson <cjwatson@ubuntu.com>
19766
19767 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
19768 removing the homehost if present.
19769 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
19770 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
19771 removing the homehost if present.
19772 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
19773 if possible.
19774 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
19775
19776 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
19777 parameter. Set its pointer target to 0.
19778 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
19779 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
19780 `data_offset' value from the superblock for 1.x metadata.
19781 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
19782 data on the device.
19783 (insert_array): Record the start sector of data on the device.
19784 (grub_raid_register): Pass start_sector parameters to
19785 grub_raid_list->detect and insert_array.
19786 * include/grub/raid.h (struct grub_raid_array): Add start_sector
19787 member.
19788 (struct grub_raid): Add start_sector parameter to `detect'.
19789
19790 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
19791 __attribute__ ((packed)), leaving a comment.
19792 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
19793 (grub_mdraid_detect_09): ... here and ...
19794 (grub_mdraid_detect_1x): ... here.
19795
197962010-07-20 Peter Henn <peter.henn@web.de>
19797
19798 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
19799 chunk size and disk size, which are already given as sector counts
19800 as distinct from the 0.90 units. Fetch the correct device number
19801 from the role table instead of using the table index.
19802
198032010-07-20 Felix Zielcke <fzielcke@z-51.de>
19804
19805 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
19806 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
19807 (WriteMostly1): New macro.
19808 Set array->name to NULL for metadata format 0.90. Add support for
19809 metadata 1.x. Fix some comments.
19810 * disk/raid.c (): Add support for name based RAID arrays. Fix a
19811 few comments.
19812 * util/getroot.c (grub_util_get_grub_dev): Add support for
19813 /dev/md/name style devices.
19814
4b761da9
CW
198152010-07-20 Colin Watson <cjwatson@ubuntu.com>
19816
19817 * .bzrignore: Ignore 20_linux_xen.
19818
5771289a
CW
198192010-07-17 Colin Watson <cjwatson@ubuntu.com>
19820
19821 * util/import_unicode.py: Remove unnecessary imports.
19822
5dab68df
AN
198232010-07-17 Aleš Nesrsta <starous@volny.cz>
19824
19825 Hotplugging and USB hub support.
19826
19827 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
19828 (grub_ohci): Likewise.
19829 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
19830 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
19831 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
19832 (GRUB_OHCI_CTRL_EDS): Likewise.
19833 (GRUB_OHCI_BULK_EDS): Likewise.
19834 (GRUB_OHCI_TDS): Likewise.
19835 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
19836 (grub_ohci_ed_phys2virt): New function.
19837 (grub_ohci_virt_to_phys): Likewise.
19838 (grub_ohci_td_phys2virt): Likewise.
19839 (grub_ohci_td_virt2phys): Likewise.
19840 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
19841 attachment.
19842 (grub_ohci_find_ed): New function.
19843 (grub_ohci_alloc_td): Likewise.
19844 (grub_ohci_free_td): Likewise.
19845 (grub_ohci_free_tds): Likewise.
19846 (grub_ohci_transfer): Use previously allocated memory.
19847 (grub_ohci_portstatus): Reset status changed bit.
19848 (grub_ohci_detect_dev): Supply status changed.
19849 (grub_ohci_fini_hw): Free memory.
19850 (grub_ohci_restore_hw): Reallocate memory.
19851 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
19852 Reset status change.
19853 (grub_uhci_detect_dev): Supply status_change.
19854 * bus/usb/usb.c (attach_hooks): New var.
19855 (grub_usb_device_attach): New function.
19856 (grub_usb_register_attach_hook_class): Likewise.
19857 (grub_usb_unregister_attach_hook_class): Likewise.
19858 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
19859 (grub_usb_add_hub): Reset connection changed bit.
19860 (attach_root_port): New function.
19861 (grub_usb_root_hub): Likewise.
19862 (poll_nonroot_hub): Likewise.
19863 (grub_usb_poll_devices): Likewise.
19864 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
19865 * disk/usbms.c (grub_usbms_open): Use device hooks.
19866 (grub_usbms_iterate) :Poll devices.
19867 (grub_usbms_finddevs): Split into ...
19868 (grub_usbms_attach): ... this ...
19869 (grub_usbms_attach): ... and this.
19870 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
19871 in detect_dev.
19872 (grub_usb_interface): New fields attached and detach_hook.
19873 (grub_usb_attach_hook_class): New type.
19874 (grub_usb_attach_desc): New struct.
19875 (grub_usb_register_attach_hook_class): New function.
19876 (grub_usb_unregister_attach_hook_class): Likewise.
19877 (grub_usb_poll_devices): Likewise.
19878 (grub_usb_device_attach): Likewise.
19879 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
19880 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
19881
3222efaf
VS
198822010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19883
19884 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
19885 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
19886 delta determination style. Works with most NetBSD partitions too.
19887
139b714a
VS
198882010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19889
19890 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
19891 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
19892
986aad56
VS
198932010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19894
19895 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
19896
99be513c
AB
198972010-07-14 Anton Blanchard <anton@samba.org>
19898
19899 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
19900 ET_DYN files.
19901
18075f62
GS
199022010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19903
19904 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
19905
8d9a5b15
GS
199062010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19907
19908 * kern/partition.c (grub_partition_check_containment): New function to
19909 check that a partition is physically contained in a parent. Since
19910 offsets are relative (and non-negative), this reduces to checking that
19911 the partition ends before its parent.
19912 (grub_partition_map_probe): Discard out-of-range sub-partitions.
19913 (grub_partition_iterate): Likewise.
19914 * include/grub/partition.h (grub_partition_map): Slightly more detailed
19915 comments.
19916 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
19917 partitions that start before their parent, and add debug printfs.
19918
19563c25
CW
199192010-07-13 Colin Watson <cjwatson@ubuntu.com>
19920
19921 * Makefile.in (.SUFFIX): Spell correctly, as ...
19922 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
19923 bare module name without `.mod', e.g. `test') tried to invoke a
19924 Modula-2 compiler.
19925
1a1f1e67
CW
199262010-07-13 Colin Watson <cjwatson@ubuntu.com>
19927
19928 * README: Point to the Info manual.
19929
811b0dca
JS
199302010-07-13 Jiro SEKIBA <jir@unicus.jp>
19931
19932 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
19933 2nd superblock position from partition size.
19934
e4f4eafc
CW
199352010-07-10 Colin Watson <cjwatson@ubuntu.com>
19936
19937 * Makefile.in (MAINTAINER_CLEANFILES): Remove
19938 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
19939 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
19940 outputs.
19941
4274c30f
VS
199422010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19943
19944 Restructure SCSI .id handling.
19945 Reported and tested by: Aleš Nesrsta.
19946
19947 * disk/ata.c (grub_atapi_close): Removed. All users updated.
19948 (grub_atapi_dev): Changed .name to "ata". New field .id.
19949 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
19950 (grub_usbms_dev): New field .id.
19951 * disk/scsi.c (grub_scsi_iterate): Generate name.
19952 (grub_scsi_open): Parse name.
19953 * include/grub/scsi.h (grub_make_scsi_id): New function.
19954 (grub_scsi_dev): Change iterate and open to number instead of naming
19955 busses. All users updated.
19956 (grub_scsi): Remove name. Add .bus.
19957
5bc24388
VS
199582010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19959
19960 * commands/help.c (grub_cmd_help): Fix a typo.
19961
249975ba
VS
199622010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19963
19964 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
19965 Reported and tested by: Colin Watson.
19966
3eaac1a1
VS
199672010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19968
19969 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
19970 in this context.
19971
becce1b1
VS
199722010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
19973
19974 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
19975
f7bf0918
CW
199762010-07-07 Colin Watson <cjwatson@ubuntu.com>
19977
19978 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
19979 indentation.
19980
0b0f9620
CW
199812010-07-06 Colin Watson <cjwatson@ubuntu.com>
19982
19983 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
19984 and disk/raid6_recover.c.
19985 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19986 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
19987
1e545469
CW
199882010-07-06 Colin Watson <cjwatson@ubuntu.com>
19989
19990 * term/gfxterm.c (repaint_schedulded): Rename to ...
19991 (repaint_scheduled): ... this. Update all callers.
19992 (repaint_was_schedulded): Rename to ...
19993 (repaint_was_scheduled): ... this. Update all callers.
19994
5357687a
CW
199952010-07-06 Colin Watson <cjwatson@ubuntu.com>
19996
19997 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
19998 which we expect to be handled by upper layers.
19999
29d7e783
BC
200002010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
20001
20002 * bus/usb/usbhub.c: #include time.h header.
20003
37582066
CW
200042010-07-06 Colin Watson <cjwatson@ubuntu.com>
20005
20006 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
20007 entry_name also for entries without stat blocks (e.g. ".."); fixes
20008 corruption of the first entry in a directory.
20009
c8c06953
CW
200102010-07-06 Colin Watson <cjwatson@ubuntu.com>
20011
20012 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
20013 after setting gfxterm as the active terminal. GRUB_BACKGROUND
20014 doesn't work otherwise.
20015
e75056f1
CW
200162010-07-05 Colin Watson <cjwatson@ubuntu.com>
20017
20018 * docs/grub.texi (Features): Update list of supported file systems.
20019 (GNU/Linux): Update for GRUB 2.
20020 (Serial terminal): Remove mention of --disable-serial, which was a
20021 GRUB Legacy configure option. Update instructions to use
20022 `terminal_input' and `terminal_output' rather than `terminal'.
20023 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
20024 configuration' and `Installing GRUB using grub-install'.
20025 (Menu entry editor): Update for GRUB 2.
20026 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
20027 Document new -a, -u, and -v options.
20028 (initrd): New section.
20029 (initrd16): New section.
20030 (linux): New section.
20031 (linux16): New section.
20032 (search): The `var' argument to `--set' is optional.
20033 (GRUB only offers a rescue shell): Go into a little more detail on
20034 drive ordering.
20035
5cf69151
CW
200362010-07-05 Colin Watson <cjwatson@ubuntu.com>
20037
20038 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
20039
e3f90044
CW
200402010-07-05 Colin Watson <cjwatson@ubuntu.com>
20041
20042 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
20043 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
20044
38d8f4f3
CW
200452010-07-05 Colin Watson <cjwatson@ubuntu.com>
20046
20047 * util/i386/pc/grub-setup.c (setup): Rename prefix to
20048 install_prefix, in line with install_dos_part and install_bsd_part.
20049 Add new prefix variable, which is copied to install_prefix after
20050 comparing core.img in memory with the one read from disk in the
20051 no-embedding case, and use that rather than overwriting
20052 install_prefix immediately when installing to a partition.
20053 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
20054 Bicakci.
20055
57ebd41e
GS
200562010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
20057
20058 * configure.ac: Avoid == in test command, it's not portable.
20059 * util/grub.d/30_os-prober.in: Likewise.
20060
cb7f64b2
CW
200612010-07-04 Colin Watson <cjwatson@ubuntu.com>
20062
20063 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
20064
6b654bb0
GS
200652010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
20066
20067 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
20068 multiple (top-level) partmaps.
20069
72a2026d
VS
200702010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20071
20072 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 20073 Reported by: Tino Keitel.
72a2026d 20074
df3eb88f
VS
200752010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20076
20077 Bidi and diacritics support.
20078
20079 * Makefile.in (widthspec.bin): New target.
20080 (widthspec.h): Likewise.
20081 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
20082 * autogen.sh: Generate unidata.c.
20083 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
20084 * commands/ls.c (grub_ls_list_devices): Likewise.
20085 (grub_ls_list_files): Likewise.
20086 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
20087 (grub_mini_cmd_lsmod): Likewise.
20088 * commands/read.c: Likewise.
20089 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
20090 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
20091 * lib/arg.c (grub_arg_show_help): Likewise.
20092 * lib/crypto.c (grub_password_get): Likewise.
20093 * normal/auth.c (grub_username_get): Likewise.
20094 * normal/misc.c (grub_normal_print_device_info): Likewise.
20095 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
20096 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
20097 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
20098 (normal/charset.c_DEPENDENCIES): New variable.
20099 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
20100 (pkglib_MODULES): Remove charset.mod.
20101 (charset_mod_SOURCES): Removed.
20102 (charset_mod_CFLAGS): Likewise.
20103 (charset_mod_LDFLAGS): Likewise.
20104 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
20105 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
20106 and term/tparm.c.
20107 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20108 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20109 (kernel_img_HEADERS): Add terminfo.h.
20110 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
20111 Fill ->font. Reverse ascii bitmaps.
20112 (grub_font_get_xheight): New function.
20113 * font/font.c (grub_font_get_string_width): Moved from here ...
20114 * gfxmenu/font.c (grub_font_get_string_width): ... here.
20115 * font/font.c (grub_font_draw_string): Moved from here ...
20116 * gfxmenu/font.c (grub_font_draw_string): ... here.
20117 * font/font.c (grub_font_dup_glyph): New function.
20118 (grub_font_blit_glyph): Likewise.
20119 (grub_font_blit_glyph_mirror): Likewise.
20120 (blit_comb): Likewise.
20121 (grub_font_construct_dry_run): Likewise.
20122 (grub_font_get_constructed_device_width): Likewise.
20123 (grub_font_construct_glyph): Likewise.
20124 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
20125 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
20126 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
20127 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
20128 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
20129 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
20130 (grub_font_get_xheight): New proto.
20131 (grub_font_get_constructed_device_width): Likewise.
20132 (grub_font_construct_glyph): Likewise.
20133 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
20134 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
20135 * include/grub/font.h (grub_font_draw_string): Moved from here ...
20136 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
20137 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
20138 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
20139 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
20140 (grub_console_getcharwidth): Likewise.
20141 * include/grub/misc.h (grub_xputs): New proto.
20142 (grub_puts): Inlined.
20143 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
20144 (grub_normal_get_line_counter): Removed.
20145 (grub_install_newline_hook): Likewise.
20146 (grub_normal_get_char_counter): New proto.
20147 (grub_normal_reset_more): Likewise.
20148 (grub_xputs_normal): Likewise.
20149 * include/grub/powerpc/ieee1275/console.h: Removed.
20150 * include/grub/sparc64/ieee1275/console.h: Likewise.
20151 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
20152 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
20153 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
20154 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
20155 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
20156 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
20157 (grub_term_input): Pass reference to self. All users updated.
20158 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
20159 Pass reference to self. New fields normal_color, highlight_color and
20160 data. All users updated.
20161 (grub_putchar): Removed.
20162 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
20163 (grub_unicode_estimate_width): New function.
20164 (grub_term_getcharwidth): Add defaults.
20165 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
20166 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
20167 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
20168 (grub_cls): Remove EXPORT_FUNC.
20169 (grub_setcolorstate): Inline.
20170 (grub_newline_hook): Removed.
20171 * include/grub/terminfo.h: Rewritten. All users updated.
20172 * include/grub/unicode.h: New file.
20173 * include/grub/video.h (grub_video_signed_rect): New type.
20174 * kern/emu/console.c (grub_console_highlight_color): Removed.
20175 (grub_console_normal_color): Likewise.
20176 (grub_console_standard_color): Made static.
20177 (grub_ncurses_putchar): Remove mapping.
20178 (grub_ncurses_getcharwidth): Removed.
20179 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
20180 (grub_ncurses_setcolor): Removed.
20181 (grub_ncurses_getcolor): Likewise.
20182 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
20183 (grub_console_putchar): ... this.
20184 (grub_console_putchar): Handle argument difference.
20185 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
20186 console_init_early and console_init_lately.
20187 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
20188 * kern/misc.c (grub_puts): Removed.
20189 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
20190 (grub_vsnprintf_real): Remove str = NULL support.
20191 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
20192 * normal/charset.c (grub_utf8_to_ucs4): ... here.
20193 * kern/term.c (grub_putcode): Renamed to ...
20194 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
20195 (grub_putchar): Removed.
20196 (grub_xputs_dumb): New function.
20197 (grub_xputs): New variable.
20198 * lib/charset.c: Move from here ...
20199 * normal/charset.c: ... to here.
20200 (grub_ucs4_to_utf8): New function.
20201 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
20202 (join_types): New variable.
20203 (unpack_join): New function.
20204 (bidi_types): New variable.
20205 (unpack_bidi): New function.
20206 (get_bidi_type): Likewise.
20207 (get_join_type): Likewise.
20208 (is_mirrored): Likewise.
20209 (grub_unicode_get_comb_type): Likewise.
20210 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
20211 (is_type_after): Likewise.
20212 (grub_unicode_aglomerate_comb): Likewise.
20213 (bidi_line_wrap): Likewise.
20214 (grub_bidi_line_logical_to_visual): Likewise.
20215 (grub_bidi_logical_to_visual): Likewise.
20216 (grub_unicode_mirror_code): Likewise.
20217 (grub_unicode_shape_code): Likewise.
20218 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
20219 Don't use grub_putchar.
20220 * normal/main.c (grub_normal_init_page): Use grub_putcode.
20221 (grub_normal_reader_init): Likewise.
20222 (grub_xputs_saved): New variable.
20223 (GRUB_MOD_INIT): Set grub_xputs.
20224 (GRUB_MOD_FINI): Restore grub_xputs.
20225 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
20226 (menu_init): Avoid printing gfxmenu error.
20227 (show_menu): Use grub_normal_get_char_counter.
20228 * normal/menu_entry.c (update_screen): Fix out-of-array.
20229 (complete): Avoid NULL dereferencing.
20230 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
20231 * normal/menu_text.c (print_spaces): Removed.
20232 (grub_print_ucs4): Likewise.
20233 (grub_print_message_indented): Use grub_print_ucs4.
20234 (print_message): Use grub_putcode.
20235 (print_entry): Hanlde diacritics.
20236 * normal/term.c (term_state): New type.
20237 (grub_more_lines): Removed.
20238 (term_states): New variable.
20239 (grub_normal_line_counter): Renamed to ..
20240 (grub_normal_char_counter): ...this. All users updated.
20241 (grub_normal_get_line_counter): Renamed to ...
20242 (grub_normal_get_char_counter): ... this.
20243 (grub_normal_reset_more): New function.
20244 (process_newline): Removed.
20245 (print_more): New function.
20246 (grub_install_newline_hook): Removed.
20247 (map_code): New function.
20248 (grub_puts_terminal): Use grub_print_ucs4.
20249 (putglyph): New function.
20250 (putcode_real): Likewise.
20251 (grub_putcode): Use putcode_real.
20252 (get_maxwidth): New function.
20253 (get_startwidth): Likewise.
20254 (print_ucs4_terminal): Likewise.
20255 (find_term_state): Likewise.
20256 (put_glyphs_terminal): Likewise.
20257 (print_backlog): Likewise.
20258 (print_ucs4_real): Likewise.
20259 (grub_print_ucs4): Likewise.
20260 (grub_xputs_normal): Likewise.
20261 * term/efi/console.c (grub_console_putchar): Output diacritics.
20262 (grub_console_getcharwidth): Removed.
20263 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
20264 * term/gfxterm.c (clear_char): Free chars.
20265 (scroll_up): Avoid leaking memory.
20266 (grub_gfxterm_putchar): Support diacritics.
20267 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
20268 * term/i386/pc/console.c (grub_console_term_output): Declare as
20269 GRUB_TERM_CODE_TYPE_VGA.
20270 * term/i386/pc/vga.c (grub_vga_term): Declare as
20271 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
20272 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
20273 GRUB_TERM_CODE_TYPE_VGA.
20274 * term/i386/vga_common.c (map_char): Removed.
20275 (grub_console_putchar): Likewise.
20276 (grub_console_getcharwidth): Likewise.
20277 * term/ieee1275/ofconsole.c: Simplify using terminfo.
20278 (colors): Reordered to match terminfo.
20279 (grub_ofconsole_normal_color): Removed.
20280 (grub_ofconsole_writeesc): Likewise.
20281 (grub_ofconsole_highlight_color): Likewise.
20282 (grub_ofconsole_getcharwidth): Likewise.
20283 (grub_ofconsole_setcolorstate): Likewise.
20284 (grub_ofconsole_setcolor): Likewise.
20285 (grub_ofconsole_getcolor): Likewise.
20286 (grub_ofconsole_readkey): Renamed to ...
20287 (readkey): ... this. Remove escape sequence handling. Return -1 on no
20288 key.
20289 (grub_ofconsole_checkkey): Removed.
20290 (grub_ofconsole_getkey): Likewise.
20291 (grub_ofconsole_getxy): Likewise.
20292 (grub_ofconsole_gotoxy): Likewise.
20293 (grub_ofconsole_cls): Likewise.
20294 (grub_ofconsole_refresh): Likewise.
20295 (grub_ofconsole_terminfo_input): New struct.
20296 (grub_ofconsole_terminfo_output): Likewise.
20297 (grub_ofconsole_term_input): Use terminfo.
20298 (grub_ofconsole_term_output): Likewise.
20299 (grub_console_init): Split into ...
20300 (grub_console_init_early): ...this and ...
20301 (grub_console_init_lately): ...this. Use terminfo.
20302 (grub_ofconsole_putchar): Renamed to ...
20303 (put): ... this. Remove mapping.
20304 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
20305 * term/serial.c: Simplify using terminfo.
20306 (xpos): Removed.
20307 (ypos): Likewise.
20308 (keep_track): Likewise.
20309 (registered): Likewise.
20310 (input_buf): Likewise.
20311 (npending): Likewise.
20312 (serial_translate_key_sequence): Likewise.
20313 (fill_input_buf): Likewise.
20314 (grub_serial_checkkey): Likewise.
20315 (grub_serial_getkey): Likewise.
20316 (grub_serial_getxy): Likewise.
20317 (grub_serial_gotoxy): Likewise.
20318 (grub_serial_putchar): Likewise.
20319 (grub_serial_cls): Likewise.
20320 (grub_serial_setcolorstate): Likewise.
20321 (grub_serial_setcursor): Likewise.
20322 (serial_hw_init): Use serial_hw_fetch.
20323 (grub_serial_terminfo_input): New variable.
20324 (grub_serial_terminfo_output): Likewise.
20325 (grub_serial_term_input): Use terminfo.
20326 (grub_serial_term_output): Likewise.
20327 * term/terminfo.c (putstr): Use put.
20328 (grub_terminfo_all_free): New function
20329 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
20330 (grub_terminfo_output_register): New function.
20331 (grub_terminfo_output_unregister): Likewise.
20332 (grub_terminfo_getxy): Likewise.
20333 (grub_terminfo_readkey): Likewise.
20334 (grub_terminfo_checkkey): Likewise.
20335 (grub_terminfo_getkey): Likewise.
20336 (grub_terminfo_input_init): Likewise.
20337 (print_terminfo): Likewise.
20338 (grub_cmd_terminfo): Handle encoding.
20339 (grub_terminfo_gotoxy): Track position.
20340 (grub_terminfo_cls): Likewise.
20341 (grub_terminfo_putchar): Likewise.
20342 (grub_terminfo_setcolorstate): Handle colors
20343 (grub_terminfo_cursor_on): This ...
20344 (grub_terminfo_cursor_off): ... and this merged into ...
20345 (grub_terminfo_setcursor): ... this.
20346 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
20347 * unicode/ArabicShaping.txt: New file (imported from Unicode).
20348 * unicode/BidiMirroring.txt: Likewise.
20349 * unicode/UnicodeData.txt: Likewise.
20350 * unicode/COPYING: Likewise.
20351 * util/grub-editenv.c (grub_putchar): Removed.
20352 (grub_xputs_real): New function.
20353 (grub_xputs): New variable.
20354 * util/grub-fstest.c (grub_putchar): Removed.
20355 (grub_xputs_real): New function.
20356 (grub_xputs): New variable.
20357 * util/grub-mkdevicemap.c (grub_putchar): Removed.
20358 (grub_xputs_real): New function.
20359 (grub_xputs): New variable.
20360 * util/grub-probe.c (grub_putchar): Removed.
20361 (grub_xputs_real): New function.
20362 (grub_xputs): New variable.
20363 * util/grub-script-check.c (grub_putchar): Removed.
20364 (grub_xputs_real): New function.
20365 (grub_xputs): New variable.
20366 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
20367 (grub_xputs_real): New function.
20368 (grub_xputs): New variable.
20369 * util/import_unicode.py: New file.
20370 * util/grub-mkfont.c (ft_errmsgs): New array.
20371 (grub_glyph_info): Make bitmap a pointer.
20372 (file_formats): New type WIDTH_SPEC.
20373 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
20374 (options): Add width-spec.
20375 (help): Likewise.
20376 (add_char): Renamed to ...
20377 (add_glyph): ... this.
20378 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
20379 (glyph_replace): New type.
20380 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
20381 (add_char): New function.
20382 (add_subst): Likewise.
20383 (process_cursive): Likewise.
20384 (add_font): Handle GSUB.
20385 (write_font_width_spec): New function.
20386 (main): Sort glyphs.
20387 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
20388 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
20389 * kern/term.c (grub_cls): Moved from here...
20390 * normal/term.c (grub_cls): ... here.
20391
50f0bcda
CW
203922010-07-02 Colin Watson <cjwatson@ubuntu.com>
20393
20394 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
20395 suitable for using within the format argument of printf when
20396 converting grub_size_t.
20397 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
20398 "x" to convert grub_size_t arguments.
20399
40372103
VS
204002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20401
20402 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
20403 too long captions.
20404 (list_get_minimal_size): Take selection box into account.
20405
942a10c7
VS
204062010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20407
20408 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
20409 NULL font.
20410
2bdb2892
CW
204112010-07-02 Colin Watson <cjwatson@ubuntu.com>
20412
20413 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
20414 devices when iterating over /dev/disk/by-id; they will be handled
20415 later if appropriate, which they aren't always (e.g. LVM).
20416
e03ed6c1
CW
204172010-07-02 Colin Watson <cjwatson@ubuntu.com>
20418
20419 * include/grub/misc.h (grub_reboot): Declare as noreturn.
20420 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
20421 fails.
20422 (grub_halt): Likewise.
20423 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
20424 reset-all fails.
20425 (grub_halt): Don't return, even if all of shut-down, power-off, and
20426 poweroff fail.
20427
47695765
CW
204282010-07-02 Colin Watson <cjwatson@ubuntu.com>
20429
20430 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
20431 arguments, not three.
20432
507736c8
CW
204332010-07-02 Colin Watson <cjwatson@ubuntu.com>
20434
20435 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
20436 * util/grub.d/10_linux.in: Use it to check for LVM, so that
20437 LVM-on-RAID is handled correctly.
20438
e3c8cd37
CW
204392010-07-02 Colin Watson <cjwatson@ubuntu.com>
20440
20441 * docs/grub.texi (Changes from GRUB Legacy): New section.
20442 (Future): Fix typo.
20443
8d4a2fec
CW
204442010-07-02 Colin Watson <cjwatson@ubuntu.com>
20445
20446 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
20447 grub.d/README accidentally ends up executable for one reason or
20448 another. Ignore it.
20449
1c4827be
VS
204502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20451
20452 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
20453 (gpt_partition_map_iterate): Support non-512B sectors.
20454
d9a0c941
VS
204552010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20456
20457 * kern/efi/init.c (grub_efi_init): Disable watchdog.
20458 Tested by: Seth Goldberg.
20459
48f27e87
VS
204602010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20461
20462 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
20463 Properly align mbi.
20464 Reported by: Seth Goldberg.
20465
b0c4f956
VS
204662010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20467
20468 * util/grub-mkrescue.in: Avoid module duplication.
20469
105a2e8c
SF
204702010-07-01 Sean Finney <seanius@seanius.net>
20471
20472 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
20473
5944958c
SF
204742010-07-01 Sean Finney <seanius@seanius.net>
20475
20476 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
20477
204782010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20479
20480 * disk/lvm.c (grub_lvm_checkvalue): New function.
20481 (grub_lvm_check_flag): Likewise.
20482
b79889ba
RM
204832010-07-01 Robert Millan <rmh@gnu.org>
20484
20485 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
20486 Support 'p' as partition separator on kernel of FreeBSD (used
20487 with GPT labels).
20488 (grub_util_biosdisk_get_grub_dev): Likewise.
20489
ec1d04f1
VS
204902010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20491
20492 Yeeloong firmware port.
20493
20494 * boot/mips/yeeloong/fwstart.S: New file.
20495 * bus/cs5536.c (gpiodump): New const.
20496 (set_io_space): New function.
20497 (set_iod): Likewise.
20498 (set_p2d): Likewise.
20499 (grub_cs5536_init_geode): Likewise.
20500 * commands/mips/yeeloong/lsspd.c: New file.
20501 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
20502 (serial_mod_SOURCES): New variable.
20503 (serial_mod_CFLAGS): Likewise.
20504 (serial_mod_LDFLAGS): Likewise.
20505 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
20506 term/terminfo.c and term/tparm.c.
20507 (pkglib_IMAGES): Add fwstart.img.
20508 (fwstart_img_SOURCES): New variable.
20509 (fwstart_img_CFLAGS): Likewise.
20510 (fwstart_img_ASFLAGS): Likewise.
20511 (fwstart_img_LDFLAGS): Likewise.
20512 (fwstart_img_FORMAT): Likewise.
20513 (pkglib_MODULES): Add lsspd.mod.
20514 (lsspd_mod_SOURCES): New variable.
20515 (lsspd_mod_CFLAGS): Likewise.
20516 (lsspd_mod_LDFLAGS): Likewise.
20517 (pkglib_MODULES): Add halt.mod.
20518 (halt_mod_SOURCES): New variable.
20519 (halt_mod_CFLAGS): Likewise.
20520 (halt_mod_LDFLAGS): Likewise.
20521 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
20522 (serial_mod_SOURCES): Removed.
20523 (serial_mod_CFLAGS): Likewise.
20524 (serial_mod_LDFLAGS): Likewise.
20525 * disk/ata.c (check_device): New function.
20526 (grub_ata_device_initialize): Use check_device.
20527 (grub_ata_iterate): Recheck devices.
20528 (grub_ata_open): Likewise.
20529 (grub_atapi_iterate): Likewise.
20530 (grub_atapi_open): Likewise.
20531 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
20532 (GRUB_ATA_CH1_PORT1): Likewise.
20533 (GRUB_ATA_CH0_PORT2): Likewise.
20534 (GRUB_ATA_CH1_PORT2): Likewise.
20535 * include/grub/mips/loongson.h: New file.
20536 * include/grub/mips/yeeloong/ec.h: Likewise.
20537 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
20538 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
20539 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
20540 * include/grub/misc.h (grub_halt): Declare as noreturn.
20541 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
20542 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
20543 (UART_ENABLE_FIFO_TRIGGER1): New definition.
20544 (UART_ENABLE_DTRRTS): Likewise.
20545 (UART_ENABLE_MODEM): Removed.
20546 (UART_ENABLE_OUT2): New const.
20547 * include/grub/term.h (grub_term_register_input_active): New function.
20548 (grub_term_register_output_active): Likewise.
20549 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
20550 argument.
20551 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
20552 (init_pci): New function.
20553 (grub_machine_init): Execute platform init when firmware. Init serial.
20554 (grub_halt): Implement.
20555 (grub_exit): Likewise.
20556 (grub_reboot): Likewise.
20557 * term/serial.c (serial_hw_init): Update macros.
20558 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
20559 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
20560 (image_targets): New target mipsel-yeeloong-flash.
20561 (generate_image): Support IMAGE_YEELOONG_FLASH.
20562 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
20563 (grub_video_sm712_setup): Init card.
20564 (grub_video_sm712_set_palette): Removed.
20565 * video/sm712_init.c: New file.
20566
ff4a70d2
CW
205672010-06-30 Colin Watson <cjwatson@ubuntu.com>
20568
20569 * Makefile.in (install-local): Temporarily prepend $(builddir) to
20570 PATH when running help2man and then run it on the unadorned
20571 executable names, rather than passing $(builddir)/* paths to
20572 help2man. This avoids the build directory ending up in generated
20573 manual pages.
20574
1246efeb
CW
205752010-06-29 Colin Watson <cjwatson@ubuntu.com>
20576
20577 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
20578 to avoid accidents when debugging with 'sh -x'.
20579 * util/grub-mkrescue.in: Likewise.
20580 * util/grub.d/00_header.in: Likewise.
20581 * util/grub.d/10_hurd.in: Likewise.
20582 * util/grub.d/10_kfreebsd.in: Likewise.
20583 * util/grub.d/10_linux.in: Likewise.
20584 * util/grub.d/10_netbsd.in: Likewise.
20585 * util/grub.d/10_windows.in: Likewise.
20586 * util/grub.d/20_linux_xen.in: Likewise.
20587 * util/grub.d/30_os-prober.in: Likewise.
20588 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20589
1ba9b889
CW
205902010-06-29 Colin Watson <cjwatson@ubuntu.com>
20591
20592 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
20593 last character in the buffer.
20594 Reported by: Vladimir Serbinenko.
20595
dccaf99d
RM
205962010-06-29 Robert Millan <rmh@gnu.org>
20597
20598 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
20599 (Command-line and menu entry commands): Document `badram' command.
20600
d500ed12
RM
206012010-06-28 Robert Millan <rmh@gnu.org>
20602
20603 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
20604 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
20605 command using ${GRUB_BADRAM} as parameter.
20606
20bc84a6
CW
206072010-06-28 Colin Watson <cjwatson@ubuntu.com>
20608
20609 * docs/grub.texi (Device map): New section.
20610 (Themes): New section (stub).
20611 * Makefile.in (docs/grub.info): The info documentation now builds
20612 without errors. Make sure it stays that way.
20613
4045dee1
VS
206142010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20615
20616 Use normal parser for menu entries.
20617 Reported by: Thomas Frauendorfer
20618
20619 * include/grub/parser.h (grub_parser_execute): Don't export.
20620 * normal/menu.c (grub_menu_execute_entry_real): New function.
20621 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
20622
bca58c7b
CW
206232010-06-28 Colin Watson <cjwatson@ubuntu.com>
20624
20625 * docs/grub.texi (Embedded configuration): New section (replacing
20626 old "Preset Menu" stub).
20627 (Images): New section.
20628 (configfile): Note that any menu entries defined in `file' are shown
20629 immediately.
20630
dec53e63
JT
206312010-06-28 Josh Triplett <josh@joshtriplett.org>
20632
20633 * mmap/i386/pc/mmap_helper.S: Set CF on return.
20634
c06e40f7
CW
206352010-06-28 Colin Watson <cjwatson@ubuntu.com>
20636
20637 * util/grub-install.in: Add --debug-image= option.
20638
cb88052b
CW
206392010-06-28 Colin Watson <cjwatson@ubuntu.com>
20640
20641 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
20642 possible on Linux.
20643
20644 * util/deviceiter.c (check_device): Rename to ...
20645 (check_device_readable_unique): ... this. Update all callers.
20646 Maintain and check a list of which devices (by canonicalized name)
20647 have already been seen.
20648 (clear_seen_devices): New function.
20649 (compare_file_names) [__linux__]: New function.
20650 (grub_util_iterate_devices): Clear the list of seen devices on exit
20651 and (just in case) on entry.
20652 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
20653 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
20654 seen-devices list, superseded by general code in check_device.
20655
bbe34652
CW
206562010-06-28 Colin Watson <cjwatson@ubuntu.com>
20657
20658 * commands/cat.c (options): New variable.
20659 (grub_cmd_cat): Parse options. If the --dos option is given, print
20660 DOS-style "\r\n" line endings as simple newlines (Debian bug
20661 #586358).
20662 (GRUB_MOD_INIT): Use extcmd.
20663 (GRUB_MOD_FINI): Likewise.
20664 * docs/grub.texi (cat): Document --dos.
20665
412e09f3
VS
206662010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20667
20668 XEN with Linux grub-mkconfig support.
20669
20670 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
20671 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
20672 GRUB_CMDLINE_XEN_DEFAULT.
20673 * util/grub.d/20_linux_xen.in: New file.
20674
53f3ef38 206752010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
20676
20677 Initialise VGA video on qemu ourselves.
20678
20679 * boot/i386/qemu/boot.S: Don't call 0xc000.
20680 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
20681 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
20682 (kernel_img_HEADERS): Add pci.h.
20683 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
20684 * configure.ac: Force unifont on qemu and yeeloong.
20685 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
20686 (grub_vga_palette_write): Use correct register.
20687 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
20688 Call grub_qemu_init_cirrus.
20689 * kern/i386/qemu/init.c: New file.
20690 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
20691
20692 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
20693
c75be4fb
PR
206942010-06-26 Pavel Roskin <proski@gnu.org>
20695
20696 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
20697 13.
20698
d8034603
CW
206992010-06-26 Colin Watson <cjwatson@ubuntu.com>
20700
20701 * docs/grub.texi (Simple configuration): Explain that
20702 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
20703 set to `true' to disable their respective recovery entries, not
20704 merely set.
20705
3fa06487
CW
207062010-06-26 Colin Watson <cjwatson@ubuntu.com>
20707
20708 Make the `source' command slightly faster.
20709
20710 * normal/main.c (grub_normal_execute): Don't re-read list files when
20711 nested.
20712
e9b29642
CW
207132010-06-23 Colin Watson <cjwatson@ubuntu.com>
20714
20715 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
20716 field position and mask size to red fields from mode_info, not
20717 green.
20718 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
20719 Remove redundant tag->common.framebuffer_type assignment.
20720 Reported by: Seth Goldberg.
20721
e726542f
CW
207222010-06-23 Colin Watson <cjwatson@ubuntu.com>
20723
20724 Sync up other versions of the Linux loader with Robert Millan's
20725 change of 2010-01-09, "Make loader output a bit more user-friendly".
20726
20727 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
20728 grub_dprintf().
20729 (grub_cmd_linux): Likewise.
20730 (grub_cmd_initrd): Likewise.
20731 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
20732 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20733
d6e98a17
CW
207342010-06-21 Colin Watson <cjwatson@ubuntu.com>
20735
20736 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
20737 larger than MEMORY_MAP_SIZE.
20738
14d3f08e
BC
207392010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
20740
20741 Fix parallel build.
20742
20743 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
20744 dependency.
20745 * script/parser.y: #include grub_script.tab.h header.
20746
4f9613a3
VS
207472010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20748
20749 Support >3GiB and <16MiB RAM in i386-qemu.
20750
20751 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
20752 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
20753 (grub_lower_mem): Removed.
20754 (grub_upper_mem): Likewise.
20755 (mem_size): Made static.
20756 (above_4g): New variable.
20757 (grub_machine_mmap_init): Detect small mem_size and above_4g.
20758 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
20759 support.
20760
05e51879
VS
207612010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20762
20763 Cirrus 5446 and Bochs video cards support.
20764
20765 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
20766 video_bochs.mod
20767 (video_cirrus_mod_SOURCES): New variable.
20768 (video_cirrus_mod_CFLAGS): Likewise.
20769 (video_cirrus_mod_LDFLAGS): Likewise.
20770 (video_bochs_mod_SOURCES): Likewise.
20771 (video_bochs_mod_CFLAGS): Likewise.
20772 (video_bochs_mod_LDFLAGS): Likewise.
20773 * include/grub/vga.h: New file.
20774 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
20775 (grub_video_fb_set_page_t): New type.
20776 (grub_video_fb_setup): New prototype.
20777 (grub_video_fb_swap_buffers): Likewise.
20778 (grub_video_fb_get_info_and_fini): Likewise.
20779 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
20780 (CRTC_DATA_PORT): Likewise.
20781 (CRTC_CURSOR): Likewise.
20782 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20783 (CRTC_CURSOR_ADDR_LOW): Likewise.
20784 (CRTC_CURSOR_DISABLE): Likewise.
20785 (update_cursor): Use grub_vga_cr_write.
20786 (grub_vga_text_setcursor): Likewise.
20787 * video/bochs.c: New file.
20788 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
20789 (palette): Likewise.
20790 (palette_size): Likewise.
20791 (framebuffer): New variable.
20792 (grub_video_fb_init): Use 'framebuffer'.
20793 (grub_video_fb_fini): Likewise.
20794 (grub_video_fb_get_info): Likewise.
20795 (grub_video_fb_get_palette): Likewise.
20796 (grub_video_fb_set_palette): Likewise.
20797 (grub_video_fb_set_viewport): Likewise.
20798 (grub_video_fb_get_viewport): Likewise.
20799 (grub_video_fb_map_color): Likewise.
20800 (grub_video_fb_map_rgb): Likewise.
20801 (grub_video_fb_map_rgba): Likewise.
20802 (grub_video_fb_unmap_color): Likewise.
20803 (grub_video_fb_unmap_color_int): Likewise.
20804 (grub_video_fb_fill_rect): Likewise.
20805 (grub_video_fb_blit_bitmap): Likewise.
20806 (grub_video_fb_blit_render_target): Likewise.
20807 (grub_video_fb_scroll): Likewise.
20808 (grub_video_fb_create_render_target): Likewise.
20809 (grub_video_fb_doublebuf_blit_init): Likewise.
20810 (grub_video_fb_set_active_render_target): Handle doublebuffering.
20811 (doublebuf_pageflipping_update_screen): New function.
20812 (doublebuf_pageflipping_init): Likewise.
20813 (grub_video_fb_setup): Likewise.
20814 (grub_video_fb_swap_buffers): Likewise.
20815 (grub_video_fb_get_info_and_fini): Likewise.
20816 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
20817 All users updated.
20818 (doublebuf_pageflipping_commit): Restructured into ...
20819 (doublebuf_pageflipping_set_page): ... this.
20820 (doublebuf_pageflipping_update_screen): Removed.
20821 (doublebuf_pageflipping_init): Likewise.
20822 (double_buffering_init): Likewise.
20823 (grub_video_vbe_setup): Use grub_video_fb_setup.
20824 (grub_video_vbe_swap_buffers): Removed.
20825 (grub_video_vbe_set_active_render_target): Likewise.
20826 (grub_video_vbe_get_active_render_target): Likewise.
20827 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
20828 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
20829 grub_video_fb_set_active_render_target and
20830 grub_video_fb_get_active_render_target.
20831 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
20832 (SEQUENCER_DATA_PORT): Likewise.
20833 (MAP_MASK_REGISTER): Likewise.
20834 (CRTC_ADDR_PORT): Likewise.
20835 (CRTC_DATA_PORT): Likewise.
20836 (START_ADDR_HIGH_REGISTER): Likewise.
20837 (START_ADDR_LOW_REGISTER): Likewise.
20838 (GRAPHICS_ADDR_PORT): Likewise.
20839 (GRAPHICS_DATA_PORT): Likewise.
20840 (READ_MAP_REGISTER): Likewise.
20841 (INPUT_STATUS1_REGISTER): Likewise.
20842 (INPUT_STATUS1_VERTR_BIT): Likewise.
20843 (get_map_mask): Use grub_vga_sr_read.
20844 (set_map_mask): Use grub_vga_sr_write.
20845 (set_read_map): Use grub_vga_gr_write.
20846 (set_start_address): Use grub_vga_cr_write.
20847 * video/sm712.c (framebuffer): Remove leftover fields.
20848
4321c64a
CW
208492010-06-20 Colin Watson <cjwatson@ubuntu.com>
20850
20851 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
20852 setting GRUB_VIDEO_BACKEND. Make it available as a user override
20853 instead. Replace the gfxterm backend check with a check that
20854 ${GRUB_PREFIX}/video.lst is non-empty.
20855 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
20856 again.
20857 (load_video): New generated function. Call it before loading
20858 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
20859 * util/grub.d/10_linux.in (linux_entry): Call load_video.
20860 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
20861 * docs/grub.texi (Simple configuration): Document
20862 GRUB_VIDEO_BACKEND.
20863
208642010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20865
20866 Use video functions in linux and xnu loaders.
20867
20868 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
20869 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
20870 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
20871 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
20872 loader/i386/pc/linux.c.
20873 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
20874 (find_line_len): Removed.
20875 (find_framebuf): Likewise.
20876 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
20877 * loader/i386/efi/xnu.c: Removed.
20878 * loader/i386/pc/xnu.c: Moved from here...
20879 * loader/i386/xnu.c: ...here.
20880
20881 Enable priorities in video drivers.
20882
20883 * include/grub/video.h (grub_video_adapter_prio_t): New type.
20884 (grub_video_adapter): New field prio.
20885 (grub_video_register): Respect prio when inserting.
20886 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
20887 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
20888 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
20889 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
20890 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
20891 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
20892 * video/sm712.c (grub_video_sm712_adapter): Likewise.
20893
20894 Fix SDL driver ID.
20895
20896 * include/grub/video.h (grub_video_driver_id_t): New value
20897 GRUB_VIDEO_DRIVER_SDL.
20898 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
20899
7d24e434
CW
209002010-06-17 Colin Watson <cjwatson@ubuntu.com>
20901
20902 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
20903 argument to printf.
20904 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20905
c88a83f6
CW
209062010-06-17 Colin Watson <cjwatson@ubuntu.com>
20907
20908 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
20909 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20910
094dfb69
CW
209112010-06-17 Colin Watson <cjwatson@ubuntu.com>
20912
20913 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
20914 directly, and recommend grub-install instead.
20915 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20916
2164da6b
CW
209172010-06-17 Colin Watson <cjwatson@ubuntu.com>
20918
20919 Fix i386-pc prefix handling with nested partitions (Debian bug
20920 #585068). Note that the case where the core image is booted using
20921 multiboot and relocated from its original location still requires
20922 more work.
20923
20924 * kern/i386/pc/init.c (make_install_device): If the prefix starts
20925 with "(,", fill the boot drive in between those two characters, but
20926 expect that a full partition specification including partition map
20927 names will follow.
20928 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
20929 specified, write a prefix without the drive name but including a
20930 full partition specification.
20931
044e2e60
CW
209322010-06-16 Colin Watson <cjwatson@ubuntu.com>
20933
20934 * util/grub-mkconfig.in: Ignore non-option arguments, for
20935 compatibility with older versions (before 2010-06-12) which did the
20936 same. In particular, this makes it easier to ship an update-grub
20937 wrapper which is compatible with that used with GRUB Legacy (Debian
20938 bug #586056).
20939
5591324f
GS
209402010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20941
20942 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
20943 for manual page generation.
20944
662e24d5
GS
209452010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20946
20947 * po/POTFILES: Remove leftover commands/handler.c.
20948
8d70754e
CW
209492010-06-14 Colin Watson <cjwatson@ubuntu.com>
20950
20951 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
20952 left this script non-functional.
20953
41160e2e
CW
209542010-06-14 Colin Watson <cjwatson@ubuntu.com>
20955
20956 * docs/man/grub-emu.h2m: New file.
20957
b5309cc1
CW
209582010-06-13 Colin Watson <cjwatson@ubuntu.com>
20959
20960 * docs/grub.texi (Commands): Document reduced command set in rescue
20961 mode.
20962 (cpuid): New section.
20963
fcb2d090
GS
209642010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
20965
20966 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
20967 new partition naming style.
20968 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
20969
96e5c556
BC
209702010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
20971
20972 Add "-o grub.iso" like cmdline options support.
20973
20974 * util/grub-install.in: Improve cmdline option parsing.
20975 * util/grub-mkconfig.in: Likewise.
20976 * util/grub-mkrescue.in: Likewise.
20977 * util/grub-reboot.in: Likewise.
20978 * util/grub-set-default.in: Likewise.
20979 * util/i386/efi/grub-install.in: Likewise.
20980 * util/ieee1275/grub-install.in: Likewise.
20981 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20982
c16be99b
CW
209832010-06-12 Colin Watson <cjwatson@ubuntu.com>
20984
20985 * .bzrignore: Ignore 41_custom.
20986
ce08a9fb
TS
209872010-06-12 Thomas Schmitt <scdbackup@gmx.net>
20988
20989 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
20990
7beac90c
CW
209912010-06-12 Colin Watson <cjwatson@ubuntu.com>
20992
20993 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
20994 prototype declarations.
20995
20996 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
20997 generating fs, partmap, and video lists.
20998 * include/grub/fs.h (grub_fs_register): Omit prototype if
20999 GRUB_LST_GENERATOR is defined.
21000 * include/grub/partition.h (grub_partition_map_register): Likewise.
21001 * include/grub/video.h (grub_video_register): Likewise.
21002
1c8f0f8d
JM
210032010-06-12 Javier Martín <lordhabbit@gmail.com>
21004
21005 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
21006
a6085973
TS
210072010-06-12 Thomas Schmitt <scdbackup@gmx.net>
21008
21009 * util/grub-mkrescue.in: Support --xorriso argument.
21010
25c56d29
VS
210112010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21012
21013 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
21014 Suggested by: Thomas Schmitt.
21015
e03e4b24
VS
210162010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21017
21018 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
21019 Suggested by: Thomas Schmitt.
21020
57711df6
VS
210212010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21022
21023 custom.cfg support.
21024
21025 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
21026 * util/grub.d/41_custom.in: New file.
21027
ee62c427
CW
210282010-06-12 Colin Watson <cjwatson@ubuntu.com>
21029
21030 * util/grub-mkrescue.in (make_image): Remove sh module, which has
21031 been merged back into normal.
21032
283af07a
CW
210332010-06-11 Colin Watson <cjwatson@ubuntu.com>
21034
21035 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
21036 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
21037
56a0d956
CW
210382010-06-11 Colin Watson <cjwatson@ubuntu.com>
21039
21040 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
21041 when generating manual pages.
21042 * docs/man/grub-bin2h.h2m: New file.
21043 * docs/man/grub-editenv.h2m: New file.
21044 * docs/man/grub-fstest.h2m: New file.
21045 * docs/man/grub-install.h2m: New file.
21046 * docs/man/grub-macho2img.h2m: New file.
21047 * docs/man/grub-mkconfig.h2m: New file.
21048 * docs/man/grub-mkdevicemap.h2m: New file.
21049 * docs/man/grub-mkfont.h2m: New file.
21050 * docs/man/grub-mkimage.h2m: New file.
21051 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
21052 * docs/man/grub-mkrelpath.h2m: New file.
21053 * docs/man/grub-mkrescue.h2m: New file.
21054 * docs/man/grub-ofpathname.h2m: New file.
21055 * docs/man/grub-pe2elf.h2m: New file.
21056 * docs/man/grub-probe.h2m: New file.
21057 * docs/man/grub-reboot.h2m: New file.
21058 * docs/man/grub-script-check.h2m: New file.
21059 * docs/man/grub-set-default.h2m: New file.
21060 * docs/man/grub-setup.h2m: New file.
21061
3a37e322
VS
210622010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
21063
21064 Use FOR_* macros instead of *_iterate whenever possible.
21065
21066 * commands/handler.c: Removed.
21067 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
21068 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
21069 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21070 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
21071 (grub_probe_SOURCES): Remove kern/parser.c.
21072 (util/grub-script-check.c_DEPENDENCIES): Removed.
21073 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
21074 and grub_script_check_init.c.
21075 (grub_script_check_init.lst): Removed.
21076 (grub_script_check_init.h): Likewise.
21077 (grub_script_check_init.c): Likewise.
21078 (pkglib_MODULES): Remove handler.mod and sh.mod.
21079 (handler_mod_SOURCES): Removed.
21080 (handler_mod_CFLAGS): Likewise.
21081 (handler_mod_LDFLAGS): Likewise.
21082 (normal_mod_SOURCES): Remove normal/handler.c.
21083 Add script/main.c, script/script.c, script/execute.c,
21084 script/function.c, script/lexer.c, grub_script.tab.c
21085 and grub_script.yy.c.
21086 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21087 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21088 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
21089 (grub_setup_SOURCES): Remove kern/parser.c.
21090 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21091 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
21092 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21093 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21094 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21095 (grub_setup_SOURCES): Remove kern/parser.c.
21096 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21097 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
21098 * include/grub/command.h (grub_command_iterate): Removed.
21099 (FOR_COMMANDS): New macro.
21100 * include/grub/dl.h (grub_dl): New member next.
21101 (grub_dl_iterate): Removed.
21102 (grub_dl_head): New variable declaration.
21103 (FOR_DL_MODULES): New macro.
21104 * include/grub/fs.h: Include list.h.
21105 (grub_fs): Make next first element.
21106 (grub_fs_list): New variable declaration.
21107 (grub_fs_register): Make inline.
21108 (grub_fs_unregister): Likewise.
21109 (grub_fs_iterate): Removed.
21110 (FOR_FILESYSTEMS): New macro.
21111 * include/grub/handler.h: Removed.
21112 * include/grub/list.h (grub_list_hook_t): Removed.
21113 (grub_list_test_t): Likewise.
21114 (grub_list_pop): Likewise.
21115 (grub_list_iterate): Likewise.
21116 (grub_list_insert): Likewise.
21117 (FOR_LIST_ELEMENTS): New macro.
21118 * include/grub/parser.h (grub_parser_class): Removed.
21119 (grub_parser_register): Likewise.
21120 (grub_parser_unregister): Likewise.
21121 (grub_parser_get_current): Likewise.
21122 (grub_parser_set_current): Likewise.
21123 (grub_register_rescue_parser): Likewise.
21124 (grub_rescue_parse_line): New function.
21125 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
21126 * include/grub/script_sh.h (grub_script_function_list): New variable
21127 declaration.
21128 (FOR_SCRIPT_FUNCTIONS): New macro.
21129 (grub_script_function_iterate): Removed.
21130 (grub_normal_parse_line): New prototype.
21131 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
21132 (FOR_DISABLED_TERM_INPUTS): Likewise.
21133 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21134 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21135 * include/grub/video.h (grub_video_adapter): Move 'next' to first
21136 element.
21137 (grub_video_register): Inline.
21138 (grub_video_unregister): Likewise.
21139 (grub_video_adapter_list): New variable declaration.
21140 (grub_video_iterate): Removed.
21141 (FOR_VIDEO_ADAPTERS): New macro.
21142 * kern/dl.c (grub_dl_list): Removed. All users updated.
21143 (grub_dl_iterate): Removed.
21144 * kern/fs.c (grub_fs_list): Make global.
21145 (grub_fs_register): Removed.
21146 (grub_fs_unregister): Likewise.
21147 (grub_fs_iterate): Likewise.
21148 * kern/handler.c: Removed.
21149 * kern/list.c (grub_list_pop): Removed.
21150 (grub_list_iterate): Likewise.
21151 (grub_list_insert): Likewise.
21152 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
21153 (grub_prio_list_insert): Don't use grub_list_insert.
21154 * kern/main.c (grub_register_rescue_parser): Don't call
21155 grub_register_rescue_parser.
21156 * kern/parser.c (grub_parser_class): Removed.
21157 (grub_parser_execute): Use grub_rescue_parse_line.
21158 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
21159 (grub_rescue_parser): Removed.
21160 (grub_register_rescue_parser): Likewise.
21161 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
21162 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
21163 (grub_auth_check_authentication): Likewise.
21164 * normal/completion.c (iterate_command): Removed.
21165 (grub_normal_do_completion): Use FOR_COMMANDS.
21166 * normal/handler.c: Removed.
21167 * normal/main.c (read_config_file): Remove parser changing.
21168 (grub_normal_execute): Don't call read_handler_list.
21169 (grub_normal_read_line_real): Statically allocate prompt.
21170 (grub_cmdline_run): Use grub_normal_parse_line.
21171 (GRUB_MOD_FINI): Don't call free_handler_list.
21172 * normal/menu_entry.c (run): Likewise.
21173 * script/function.c (grub_script_function_list): Make global.
21174 (grub_script_function_iterate): Removed.
21175 * script/main.c (grub_normal_parse_line): Make global.
21176 (grub_sh_parser): Removed.
21177 (GRUB_MOD_INIT): Likewise.
21178 (GRUB_MOD_FINI): Likewise.
21179 * tests/lib/functional_test.c (grub_functional_test): Use
21180 FOR_LIST_ELEMENTS.
21181 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
21182 (grub_test_run): Use FOR_LIST_ELEMENTS.
21183 * tests/lib/unit_test.c (main): Likewise.
21184 * util/deviceiter.c (grub_util_iterate_devices): Don't use
21185 grub_list_pop.
21186 * util/grub-fstest.c (grub_term_input_class): Removed.
21187 (grub_term_output_class): Likewise.
21188 * util/grub-probe.c: Likewise.
21189 * util/i386/pc/grub-setup.c: Likewise.
21190 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21191 * util/grub-script-check.c (main): Don't call grub_init_all and
21192 grub_fini_all.
21193 * video/video.c (grub_video_adapter_list): Make global.
21194 (grub_video_register): Removed.
21195 (grub_video_unregister): Likewise.
21196 (grub_video_iterate): Likewise.
21197
6289c3a7
VS
211982010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
21199
21200 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
21201 reported by Henrique Ferreiro.
21202
91460247
RM
212032010-06-09 Robert Millan <rmh@gnu.org>
21204
21205 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
21206 ones, when both are available.
21207
0ea7c4f9
GS
212082010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21209
21210 Make --version uniform and avoid hard-coded program name.
21211
21212 * util/grub-mkimage.c (main): Use `program_name' instead of
21213 hard-coded string.
21214 * util/i386/pc/grub-setup.c (main): Likewise.
21215 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
21216 * util/grub-install.in: Save the basename of $0 in $self, and use the
21217 latter in informational messages. Use the same format for --version
21218 as the binary programs.
21219 * util/grub-mkconfig.in: Likewise.
21220 * util/grub-mkrescue.in: Likewise.
21221 * util/grub-reboot.in: Likewise.
21222 * util/grub-set-default.in: Likewise.
21223 * util/i386/efi/grub-install.in: Likewise.
21224 * util/ieee1275/grub-install.in: Likewise.
21225 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21226
e8a6f3b6
GS
212272010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21228
21229 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
21230 embedding area. Use <= instead of == when checking for non-emptiness.
21231
f4d095d7
GS
212322010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21233
21234 * configure.ac: Add `.' to the directories searched for unifont.
21235
50e532ca
CW
212362010-06-08 Colin Watson <cjwatson@ubuntu.com>
21237
21238 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
21239 grub_script.yy.h.
21240
d39f3dec
CW
212412010-06-08 Colin Watson <cjwatson@ubuntu.com>
21242
21243 * docs/grub.texi (History): Expand to cover GRUB 2.
21244 (Serial terminal): Refer to `terminal_input' and `terminal_output'
21245 commands, not `terminal'.
21246 (serial): Likewise.
21247 (terminal_input): New section.
21248 (terminal_output): New section.
21249 (uppermem): New section (stub).
21250 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
21251
6ef0ddb4
CW
212522010-06-08 Colin Watson <cjwatson@ubuntu.com>
21253
21254 * docs/grub.texi (Security): Menu entries are unrestricted by
21255 default, not restricted to superusers as I had previously thought.
21256 Reword to account for this.
21257
e0f4c438
CW
212582010-06-07 Colin Watson <cjwatson@ubuntu.com>
21259
21260 * kern/emu/misc.c (device_mapper_null_log): New function.
21261 (grub_device_mapper_supported): New function.
21262 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
21263 prototype.
21264 * kern/emu/hostdisk.c (find_partition_start): Check whether
21265 device-mapper is supported before trying to use it.
21266 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
21267
da908200
CW
212682010-06-07 Colin Watson <cjwatson@ubuntu.com>
21269
21270 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
21271 (File name syntax): Likewise.
21272 (help): --all is no longer supported in GRUB 2. Be more precise
21273 about pattern matching.
21274
fb55c3ac
CW
212752010-06-07 Colin Watson <cjwatson@ubuntu.com>
21276
21277 * normal/completion.c (grub_normal_do_completion): When completing
21278 arguments to "set" and the current word contains an equals sign,
21279 skip to after the equals sign before starting completion.
21280
258c2573
CW
212812010-06-07 Colin Watson <cjwatson@ubuntu.com>
21282
21283 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
21284
ee75515e
CW
212852010-06-07 Colin Watson <cjwatson@ubuntu.com>
21286
21287 * docs/grub.texi (Network): New section.
21288 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
21289 `(nd)' as in GRUB Legacy.
21290 (pxe_unload): New section.
21291
a6a700aa
CW
212922010-06-07 Colin Watson <cjwatson@ubuntu.com>
21293
21294 * docs/grub.texi (Troubleshooting): `echo' is not usually available
21295 in the rescue shell, so recommend using `set' instead. Thanks,
21296 Jordan Uggla.
21297
4003dd38
CW
212982010-06-07 Colin Watson <cjwatson@ubuntu.com>
21299
21300 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
21301 (password): New section.
21302 (password_pbkdf2): New section.
21303 (search): New section.
21304 (Security): New section.
21305 (Troubleshooting): New section, currently very incomplete.
21306 (Invoking grub-mkpasswd-pbkdf2): New section.
21307 (Internals): New section, currently very incomplete.
21308
e1cbcc40
CW
213092010-06-07 Colin Watson <cjwatson@ubuntu.com>
21310
21311 * util/grub.d/00_header.in: Add some more quoting (of
21312 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
21313 work again.
21314 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
21315
db8fa1ad
CW
213162010-06-07 Colin Watson <cjwatson@ubuntu.com>
21317
21318 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
21319 to `count', fixing variable shadowing that broke the -c option.
21320
213212010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
21322
21323 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
21324 in case they contain spaces.
21325
f28a9212
CW
213262010-06-04 Colin Watson <cjwatson@ubuntu.com>
21327
21328 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
21329 "part_" to partmap module names, in line with grub-install.
21330 Reported by: Jindřich Makovička (Debian bug #584426).
21331
9cdfe32f
CW
213322010-06-04 Colin Watson <cjwatson@ubuntu.com>
21333
21334 * util/grub-mkimage.c: Make target-related error messages slightly
21335 more helpful; -O talks about "format". Explicitly point to the use
21336 of -O if no target is specified.
21337 Reported by: Didier Raboud (Debian bug #584415).
21338
795b593a
CW
213392010-06-03 Colin Watson <cjwatson@ubuntu.com>
21340
21341 * INSTALL: Document several build requirements for optional features
21342 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
21343
9d9b5833
GS
213442010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
21345
21346 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
21347 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
21348 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
21349
0819fec8
CW
213502010-06-02 Colin Watson <cjwatson@ubuntu.com>
21351
21352 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
21353 Thanks to Jordan Uggla for spotting this.
21354
49396b4f
VS
213552010-06-02 Aleš Nesrsta <starous@volny.cz>
21356
21357 Finally make USB usable.
21358
21359 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
21360 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
21361 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
21362 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
21363 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
21364 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
21365 (GRUB_OHCI_FSMPS): Likewise.
21366 (GRUB_OHCI_PERIODIC_START): Likewise.
21367 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
21368 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
21369 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
21370 (GRUB_OHCI_SET_PORT_RESET): Likewise.
21371 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
21372 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
21373 (grub_ohci_transaction): Likewise.
21374 (grub_ohci_transfer): Improve condition detection algorithms.
21375 Handle toggle property. Program the transactions correctly.
21376 Improve error handling. Various important fixups.
21377 (grub_ohci_portstatus): Put register writes in right order.
21378 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
21379 (grub_uhci_transfer): Don't show "failed" message on success.
21380 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
21381 array.
21382 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
21383 determine its size.
21384 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
21385 before initialization is completed. Use IN direction for empty
21386 transfers. Use last_trans and compute toggle.
21387 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
21388 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
21389 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
21390 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
21391 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
21392 (grub_usb_device): Increase toggle to 256.
21393 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
21394 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
21395 GRUB_USBMS_SUBCLASS_SFF8070.
21396 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
21397 (grub_scsi_inquiry): New member page and alloc_length.
21398 (grub_scsi_request_sense): New structure.
21399 (grub_scsi_request_sense_data): Likewise.
21400 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
21401 control.
21402 * disk/scsi.c (grub_scsi_request_sense): New function.
21403 (grub_scsi_test_unit_ready): Likewise.
21404 (grub_scsi_inquiry): Fill new fields.
21405 (grub_scsi_read_capacity): Likewise.
21406 (grub_scsi_read10): Add request sense at the end.
21407 (grub_scsi_read12): Likewise.
21408 (grub_scsi_write10): Likewise.
21409 (grub_scsi_write12): Likewise.
21410 (grub_scsi_open): Add Test Unit Ready.
21411 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
21412 Support additional subclasses. Con't clear halt yet. Activate the
21413 proper config. Calculate LUNs correctly.
21414 (grub_usbms_transfer): Various important fixups.
21415
214162010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21417
21418 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
21419 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
21420 (grub_ohci_fini_hw): New function.
21421 (grub_ohci_restore_hw): Likewise.
21422 (GRUB_MOD_INIT(ohci)): Register preboot hook.
21423 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
21424 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
21425
214262010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21427
21428 Dedicated DMA allocations.
21429
21430 * bus/pci.c (grub_memalign_dma32): New function
21431 (grub_dma_free): Likewise.
21432 (grub_dma_get_virt): Likewise.
21433 (grub_dma_get_phys): Likewise.
21434 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
21435 (grub_ohci_pci_iter): Use dma32_alloc.
21436 (grub_ohci_transfer): Likewise.
21437 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
21438 (grub_usb_bulk_readwrite): Likewise.
21439 * include/grub/pci.h: Add declarations.
21440
214412010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21442
21443 CS5536 support.
21444
21445 * bus/cs5536.c: New file.
21446 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
21447 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
21448 (cs5536_mod_SOURCES): New variable.
21449 (cs5536_mod_CFLAGS): Likewise.
21450 (cs5536_mod_LDFLAGS): Likewise.
21451 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
21452 machine/pci.h.
21453 (kernel_img_SOURCES): Add bus/cs5536.c.
21454 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
21455 usb_keyboard.mod.
21456 (usb_mod_SOURCES): New variable.
21457 (usb_mod_CFLAGS): New variable.
21458 (usb_mod_LDFLAGS): New variable.
21459 (usbtest_mod_SOURCES): New variable.
21460 (usbtest_mod_CFLAGS): New variable.
21461 (usbtest_mod_LDFLAGS): New variable.
21462 (ohci_mod_SOURCES): New variable.
21463 (ohci_mod_CFLAGS): New variable.
21464 (ohci_mod_LDFLAGS): New variable.
21465 (usbms_mod_SOURCES): New variable.
21466 (usbms_mod_CFLAGS): New variable.
21467 (usbms_mod_LDFLAGS): New variable.
21468 (usb_keyboard_mod_SOURCES): New variable.
21469 (usb_keyboard_mod_CFLAGS): New variable.
21470 (usb_keyboard_mod_LDFLAGS): New variable.
21471 * include/grub/smbus.h: New file.
21472 * include/grub/cs5536.h: New file.
21473
0b35b2a9
CW
214742010-06-02 Colin Watson <cjwatson@ubuntu.com>
21475
21476 * util/grub.d/00_header.in: Add safety check to make sure that
21477 ${locale_dir} exists before trying to probe it.
21478
ca0afd5b
CW
214792010-06-02 Colin Watson <cjwatson@ubuntu.com>
21480
21481 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
21482 per the GNU Coding Standards; this is now too obscure to be worth
21483 documenting.
21484 (QNX): Likewise.
21485 (chainloader): Remove cross-reference to `SCO UnixWare'.
21486
1c41aa78
CW
214872010-06-02 Colin Watson <cjwatson@ubuntu.com>
21488
21489 * docs/grub.texi (Chain-loading): New section.
21490 (DOS/Windows): New section, borrowed from GRUB Legacy with details
21491 adjusted for GRUB 2.
21492 (SCO UnixWare): Likewise.
21493 (QNX): Likewise.
21494 (chainloader): Add reference to `Block list syntax'.
21495 (drivemap): New section.
21496 (parttool): New section.
21497
bb8ea0f5
CW
214982010-06-02 Colin Watson <cjwatson@ubuntu.com>
21499
21500 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
21501 the grub shell'.
21502 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
21503 (Installing GRUB using grub-install): Remove reference to the grub
21504 shell; mention `grub-mkimage' and `grub-setup' instead.
21505 (Invoking grub-install): Likewise.
21506 (Interface): Add reference to `Menu entry editor'.
21507 (serial): Remove `--device' option.
21508
288dd6ed
CW
215092010-06-02 Colin Watson <cjwatson@ubuntu.com>
21510
21511 * docs/grub.texi (Configuration): New section, documenting
21512 configuration file generation using grub-mkconfig. I've left a slot
21513 for documenting the full shell scripting format but have not yet
21514 started on writing that up.
21515 (Invoking grub-mkconfig): New section.
21516
34c9f0e9
CW
215172010-06-02 Colin Watson <cjwatson@ubuntu.com>
21518
21519 * docs/grub.texi (direntry): Remove grub-terminfo reference.
21520 (GNU GRUB manual): Likewise.
21521 (General commands): Update description of `terminfo' for GRUB 2.
21522
9121567e
CW
215232010-06-02 Colin Watson <cjwatson@ubuntu.com>
21524
21525 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
21526 (GRUB_MOD_INIT): Fix capitalisation.
21527 * docs/grub.texi (Command-line and menu entry commands): Document
21528 gettext and gptsync commands.
21529
ab631611
CW
215302010-06-02 Colin Watson <cjwatson@ubuntu.com>
21531
21532 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
21533 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
21534
bde4a9ac
CW
215352010-06-01 Colin Watson <cjwatson@ubuntu.com>
21536
21537 Add btrfs probing support, currently only in the single-device case.
21538
21539 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
21540 function.
21541 (grub_guess_root_device): Call find_root_device_from_mountinfo
21542 before looking in /dev.
21543
b1d17e10
VS
215442010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21545
21546 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
21547 GRUB_DISK_SIZE_UNKNOWN.
21548 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
21549
dfbfe004
JS
215502010-05-31 Jiro SEKIBA <jir@unicus.jp>
21551
21552 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
21553 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
21554 corrupted or not synced properly.
21555
c2ffc8e9
VS
215562010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21557
21558 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
21559 Reported by: Seth Goldberg.
21560
56293166
VS
215612010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21562
21563 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
21564 addition of dest.
21565 Reported by: Seth Goldberg.
21566
7620e7de
VS
215672010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21568
21569 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
21570 Reported by: Seth Goldberg.
21571
c837af3f
VS
215722010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21573
21574 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
21575 64-bit address as signed on MIPS.
21576
c7c75cf4
CW
215772010-05-28 Colin Watson <cjwatson@ubuntu.com>
21578
21579 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
21580 to the empty string.
21581
fa4b8490
BC
215822010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
21583
21584 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
21585
21586 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
21587 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
21588 * kern/misc.c (__enable_execute_stack): Disable on
21589 GRUB_MACHINE_EMU.
21590
a33075b9
CW
215912010-05-28 Colin Watson <cjwatson@ubuntu.com>
21592
21593 Make grub-probe work with symbolic links under /dev/mapper as well
21594 as with real block devices. The Linux world seems to be (at best)
21595 in transition here, and GRUB shouldn't get caught in the middle.
21596
21597 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
21598 /dev/mapper.
21599
d8708134
CW
216002010-05-27 Colin Watson <cjwatson@ubuntu.com>
21601
21602 * util/grub-script-check.c (main): Ensure defined behaviour on empty
21603 input files (in which case exit zero).
21604
db2102a0
CW
216052010-05-27 Colin Watson <cjwatson@ubuntu.com>
21606
21607 * kern/emu/misc.c (canonicalize_file_name): realpath can still
21608 return NULL for various reasons even if it has a maximum-length
21609 buffer: for example, there might be a symlink loop, or the path
21610 might exceed PATH_MAX. If this happens, return NULL.
21611
5fdba519
RM
216122010-05-27 Robert Millan <rmh@gnu.org>
21613
21614 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
21615 partmap module to handle cross-partmap setups.
21616 Reported by Orestes Mas. Gràcies!
21617
d1d368e4
CW
216182010-05-27 Colin Watson <cjwatson@ubuntu.com>
21619
21620 * util/grub-mkrescue.in: Initialise override_dir rather than
21621 assuming that it's unset or empty in the environment.
21622
95ac3c73
GS
216232010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
21624
21625 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
21626 variable index into p_index to suppress a warning with -Wshadow.
21627
7d8c0213
BC
216282010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
21629
21630 * INSTALL: Added flex >= 2.5.35 requirement.
21631
db4d5813
VS
216322010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21633
21634 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
21635
f24f4300
VS
216362010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21637
21638 cmostest support.
21639
21640 * commands/i386/cmostest.c: New file.
21641 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
21642 (cmostest_mod_SOURCES): New variable.
21643 (cmostest_mod_CFLAGS): Likewise.
21644 (cmostest_mod_LDFLAGS): Likewise.
21645 * conf/i386-pc.rmk: Likewise.
21646 * docs/grub.texi (Vendor power-on keys): New section.
21647 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
21648 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
21649 and GRUB_BUTTON_CMOS_ADDRESS.
21650 * util/grub.d/00_header.in: Handle powering-on by separate button.
21651
ad603f61
VS
216522010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21653
21654 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
21655 Removed drawing_scrollbar argument. All users updated
21656 Fixes #29792.
21657 Reported by Jo Shields
21658
3ecb080a
VS
216592010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21660
21661 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
21662 buffer since gfxterm handles double repaint.
21663
5f2316c1
VS
216642010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21665
21666 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
21667 * term/gfxterm.c (real_scroll): Likewise.
21668
9a25f885
VS
216692010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21670
21671 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
21672 before calling BIOS.
21673
39fbb79a
VS
216742010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21675
21676 * include/grub/i18n.h: Always enable grub_gettext.
21677
228cfa97
VS
216782010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21679
21680 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
21681 partition naming style.
21682
21717c8f
CW
216832010-05-21 Colin Watson <cjwatson@ubuntu.com>
21684
21685 * util/grub-mkconfig.in: Fix handling of -o so that it works when
21686 not the first option.
21687
c0f48e65
CW
216882010-05-20 Colin Watson <cjwatson@ubuntu.com>
21689
21690 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
21691
96779aec
CW
216922010-05-20 Colin Watson <cjwatson@ubuntu.com>
21693
21694 * util/misc.c: Move inclusion of <limits.h> to ...
21695 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
21696
fa9d256e
GS
216972010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
21698
21699 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
21700 Fix merge error in NetBSD code.
21701 (find_partition_start) [__NetBSD__]: Likewise.
21702
123b7a85
BC
217032010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
21704
21705 Fix grub-mkrescue usage unit testing.
21706
21707 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
21708
74276c0d
CF
217092010-05-18 Christian Franke <franke@computer.org>
21710
21711 * util/grub.d/10_windows.in: Use path names instead of
21712 drive letters to prevent warning from Cygwin 1.7.
21713 Add drivemap command to menuentry if needed.
21714
c4f7b523
ST
217152010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
21716
21717 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
21718 gnumach and gnumach.gz.
21719
95b97950
VS
217202010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21721
21722 * include/grub/i18n.h (gettext): Inline instead of using #define.
21723 (grub_gettext): Likewise.
21724 (_): Likewise.
21725
01b8d2d7
VS
217262010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21727
21728 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
21729 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
21730 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
21731 (main): Add a slash after pkglibdirroot.
21732
654e1d1e
VS
217332010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21734
21735 * util/grub-install.in: Add missing "in" keyword.
21736
26966aeb
VS
217372010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21738
21739 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
21740 Reported by: Seth Goldberg.
21741
75006747
VS
217422010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21743
21744 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
21745
74cbf5bd
CW
217462010-05-18 Colin Watson <cjwatson@ubuntu.com>
21747
21748 * configure.ac: Check for Linux device-mapper support.
21749
21750 * util/hostdisk.c (device_is_mapped): New function.
21751 (find_partition_start): New function, partly broken out from
21752 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
21753 device-mapper support added.
21754 (linux_find_partition): Use find_partition_start.
21755 (convert_system_partition_to_system_disk): Add `st' argument.
21756 Support Linux /dev/mapper/* devices if device-mapper support is
21757 available; only DM-RAID devices are understood at present.
21758 (find_system_device): Add `st' argument. Pass it to
21759 convert_system_partition_to_system_disk.
21760 (grub_util_biosdisk_get_grub_dev): Pass stat result to
21761 find_system_device and convert_system_partition_to_system_disk. Use
21762 find_partition_start.
21763
21764 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
21765 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
21766 * util/deviceiter.c [__linux__]: Define MINOR.
21767 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
21768 * util/mkdevicemap.c (grub_putchar): New function.
21769 (grub_getkey): New function.
21770 (grub_refresh): New function.
21771 (main): Set debug=all if -v -v is used.
21772
355b51e9
CW
217732010-05-18 Colin Watson <cjwatson@ubuntu.com>
21774
21775 Fix build with non-GNU libcs.
21776
21777 * util/misc.c (canonicalize_file_name): Move to ...
21778 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
21779 grub_make_system_path_relative_to_its_root.
21780
7fb5c25f
CW
217812010-05-18 Colin Watson <cjwatson@ubuntu.com>
21782
21783 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
21784 we handle finding grub-mkimage. Default to finding grub-mkimage in
21785 ${bindir} with program_transform_name applied, and provide a
21786 --grub-mkimage option to override this.
21787
1d3293d6
VS
217882010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21789
21790 Remove grub-mkisofs.
21791
21792 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
21793 (grub_mkisofs_SOURCES): Removed.
21794 (grub_mkisofs_CFLAGS): Removed.
21795 * util/mkisofs/defaults.h: Removed.
21796 * util/mkisofs/eltorito.c: Likewise.
21797 * util/mkisofs/exclude.h: Likewise.
21798 * util/mkisofs/hash.c: Likewise.
21799 * util/mkisofs/include/: Likewise.
21800 * util/mkisofs/include/fctldefs.h: Likewise.
21801 * util/mkisofs/include/mconfig.h: Likewise.
21802 * util/mkisofs/include/prototyp.h: Likewise.
21803 * util/mkisofs/include/statdefs.h: Likewise.
21804 * util/mkisofs/iso9660.h: Likewise.
21805 * util/mkisofs/joliet.c: Likewise.
21806 * util/mkisofs/match.c: Likewise.
21807 * util/mkisofs/match.h: Likewise.
21808 * util/mkisofs/mkisofs.c: Likewise.
21809 * util/mkisofs/mkisofs.h: Likewise.
21810 * util/mkisofs/msdos_partition.h: Likewise.
21811 * util/mkisofs/multi.c: Likewise.
21812 * util/mkisofs/name.c: Likewise.
21813 * util/mkisofs/rock.c: Likewise.
21814 * util/mkisofs/tree.c: Likewise.
21815 * util/mkisofs/write.c: Likewise.
21816
5dde9afe
VS
218172010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21818
21819 Unify grub-mkimage accross platforms.
21820
21821 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
21822 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
21823 (grub_mkelfimage_SOURCES): Removed.
21824 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
21825 (util/grub-mkimage.c_DEPENDENCIES): .. this.
21826 (bin_UTILITIES): Add grub-mkimage.
21827 (grub_mkimage_SOURCES): New variable.
21828 (kernel_img_HEADERS): Remove machine/kernel.h.
21829 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
21830 (pkglib_PROGRAMS): Add kernel.img.
21831 (kernel_img_HEADERS): Add machine/kernel.h.
21832 (kernel_img_FORMAT): Removed.
21833 (bin_UTILITIES): Remove grub-mkimage.
21834 (grub_mkimage_SOURCES): Removed.
21835 (grub_mkimage_CFLAGS): Likewise.
21836 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21837 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
21838 (pkglib_PROGRAMS): Add kernel.img.
21839 (bin_UTILITIES): Remove grub-mkimage.
21840 (grub_mkimage_SOURCES): Removed.
21841 (grub_mkimage_CFLAGS): Likewise.
21842 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21843 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
21844 (pkglib_PROGRAMS): Add kernel.img.
21845 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
21846 (pkglib_PROGRAMS): Add kernel.img.
21847 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
21848 (grub_mkimage_SOURCES): Removed.
21849 (grub_mkimage_CFLAGS): Likewise.
21850 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21851 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
21852 (pkglib_PROGRAMS): Add kernel.img.
21853 (bin_UTILITIES): Remove grub-mkimage.
21854 (grub_mkimage_SOURCES): Removed.
21855 (grub_mkimage_CFLAGS): Likewise.
21856 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21857 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
21858 (grub_mkimage_SOURCES): Removed.
21859 (grub_mkimage_CFLAGS): Likewise.
21860 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21861 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
21862 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
21863 (grub_pe32_optional_header): ... this.
21864 (grub_pe64_optional_header): ... and this. All users updated.
21865 (GRUB_PE32_PE32_MAGIC): Split into ..
21866 (GRUB_PE32_PE32_MAGIC): .. this.
21867 (GRUB_PE32_PE64_MAGIC): .. and this.
21868 (GRUB_PE32_SIGNATURE_SIZE): New definition.
21869 * include/grub/elf.h (PT_GNU_STACK): New definition.
21870 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
21871 * include/grub/i386/efi/kernel.h: Likewise.
21872 * include/grub/i386/kernel.h: Likewise.
21873 * include/grub/i386/pc/kernel.h: Likewise.
21874 * include/grub/i386/qemu/boot.h: Likewise.
21875 * include/grub/mips/kernel.h: Likewise.
21876 * include/grub/mips/qemu-mips/kernel.h: Likewise.
21877 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21878 * include/grub/powerpc/kernel.h: Likewise.
21879 * include/grub/sparc64/ieee1275/boot.h: Likewise.
21880 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21881 * include/grub/sparc64/kernel.h: Likewise.
21882 * include/grub/x86_64/efi/kernel.h: Likewise.
21883 * include/grub/x86_64/kernel.h: Likewise.
21884 * include/grub/offsets.h: New file.
21885 * include/grub/kernel.h (grub_module_info): Split into ...
21886 (grub_module_info32): ... this.
21887 (grub_module_info64): ... and this.
21888 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
21889 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
21890 (grub_boot_blocklist): Moved from here ...
21891 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
21892 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
21893 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
21894 * include/grub/types.h (grub_target_to_host16): Removed.
21895 (grub_target_to_host32): Likewise.
21896 (grub_target_to_host64): Likewise.
21897 (grub_host_to_target16): Likewise.
21898 (grub_host_to_target32): Likewise.
21899 (grub_host_to_target64): Likewise.
21900 (grub_host_to_target_addr): Likewise.
21901
21902 Support grub-mkrescue for efi, coreboot and qemu.
21903
21904 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
21905 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
21906 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
21907 * util/grub-mkrawimage.c: Moved from here ...
21908 * util/grub-mkimage.c: ... here. All users updated.
21909 (ALIGN_ADDR): Use image_target.
21910 (TARGET_NO_FIELD): New const.
21911 (image_target_desc): New type.
21912 (image_targets): New array.
21913 (grub_target_to_host64): Use image_target.
21914 (grub_target_to_host32): Likewise.
21915 (grub_target_to_host16): Likewise.
21916 (grub_host_to_target64): Likewise.
21917 (grub_host_to_target32): Likewise.
21918 (grub_host_to_target16): Likewise.
21919 (grub_host_to_target_addr): Likewise.
21920 (generate_image): Handle multiimage.
21921 (main): Require -O parameter. All users updated.
21922 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
21923 util/efi/grub-mkimage.c
21924 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
21925 New option --rom-directory.
21926 Use xorriso.
21927 * util/i386/efi/grub-mkimage.c: Removed.
21928 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
21929 (grub_target_to_host32): Likewise.
21930 (grub_target_to_host64): Likewise.
21931 (grub_host_to_target16): Likewise.
21932 (grub_host_to_target32): Likewise.
21933 (grub_host_to_target64): Likewise.
21934 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
21935 (grub_target_to_host32): Likewise.
21936 (grub_target_to_host64): Likewise.
21937 (grub_host_to_target16): Likewise.
21938 (grub_host_to_target32): Likewise.
21939 (grub_host_to_target64): Likewise.
21940
f4fc97d0
BC
219412010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
21942
21943 Source tree is reorganized for emu build.
21944
21945 * include/grub/util/console.h: Move from here...
21946 * include/grub/emu/console.h: ...to here.
21947 * include/grub/util/getroot.h: Move from here...
21948 * include/grub/emu/getroot.h: ...to here.
21949 * include/grub/util/hostdisk.h: Move from here...
21950 * include/grub/emu/hostdisk.h: ...to here.
21951 * util/console.c: Move from here...
21952 * kern/emu/console.c: ...to here.
21953 * util/getroot.c: Move from here...
21954 * kern/emu/getroot.c: ...to here.
21955 * util/grub-emu.c: Move from here...
21956 * kern/emu/main.c: ...to here.
21957 * util/hostdisk.c: Move from here...
21958 * kern/emu/hostdisk.c: ...to here.
21959 * util/hostfs.c: Move from here...
21960 * kern/emu/hostfs.c: ...to here.
21961 * util/mm.c: Move from here...
21962 * kern/emu/mm.c: ...to here.
21963 * util/pci.c: Move from here...
21964 * bus/emu/pci.c: ...to here.
21965 * util/sdl.c: Move from here...
21966 * video/emu/sdl.c: ...to here.
21967 * util/time.c: Move from here...
21968 * kern/emu/time.c: ...to here.
21969 * util/usb.c: Move from here...
21970 * bus/usb/emu/usb.c: ...to here.
21971
21972 * include/grub/emu/misc.h: New header for grub-emu functions.
21973 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
21974
21975 * conf/any-emu.rmk: Rule updates for above renames.
21976 * conf/common.rmk: Likewise.
21977 * conf/i386-pc.rmk: Likewise.
21978 * conf/i386-qemu.rmk: Likewise.
21979 * conf/mips.rmk: Likewise.
21980 * conf/sparc64-ieee1275.rmk: Likewise.
21981 * conf/x86-efi.rmk: Likewise.
21982
21983 * disk/lvm.h: #include updates for above renames.
21984 * util/grub-mkrelpath.c: Likewise.
21985 * util/grub-probe.c: Likewise.
21986 * util/i386/pc/grub-setup.c: Likewise.
21987 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21988 * kern/emu/console.c: Likewise.
21989 * kern/emu/getroot.c: Likewise.
21990 * kern/emu/hostdisk.c: Likewise.
21991 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
21992
21993 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
21994 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
21995 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
21996 * util/misc.c: Remove grub-emu functions.
21997
cced9145
VS
219982010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
21999
22000 Fix gfxmenu crash.
22001 Reported by: Thorsten Grützmacher.
22002
22003 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
22004 timeout hook.
22005 (circprog_set_property): Register and unregister timeout hook.
22006 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
22007 (label_destroy): Free template. and unregister hook.
22008 (label_set_state): New function.
22009 (label_set_property): Handle templates and hooks.
22010 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
22011 timeout hook.
22012 (progress_bar_set_property): Register and unregister timeout hook.
22013 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
22014 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
22015 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
22016 (update_timeout_visit): Removed.
22017 (update_timeouts): New function.
22018 (redraw_timeouts): Likewise.
22019 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
22020 (grub_gfxmenu_clear_timeout): Likewise.
22021 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
22022 (grub_gfxmenu_timeout_notify): Likewise.
22023 (grub_gfxmenu_timeout_notifications): New external variable.
22024 (grub_gfxmenu_timeout_register): New function.
22025 (grub_gfxmenu_timeout_unregister): Likewise.
22026
c6e5caab
VS
220272010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22028
22029 Transform (broken) vga terminal into (working) vga video driver.
22030
22031 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
22032 video/i386/pc/vga.c.
22033 * include/grub/video.h (grub_video_driver_id):
22034 Add GRUB_VIDEO_DRIVER_VGA.
22035 * term/i386/pc/vga.c: Renamed to ...
22036 * video/i386/pc/vga.c: ...this
22037 (DEBUG_VGA): Removed.
22038 (CHAR_WIDTH): Likewise.
22039 (CHAR_HEIGHT): Likewise.
22040 (TEXT_WIDTH): Likewise.
22041 (TEXT_HEIGHT): Likewise.
22042 (DEFAULT_FG_COLOR): Likewise.
22043 (DEFAULT_BG_COLOR): Likewise.
22044 (colored_char): Likewise.
22045 (xpos): Likewise.
22046 (ypos): Likewise.
22047 (cursor_state): Likewise.
22048 (fg_color): Likewise.
22049 (bg_color): Likewise.
22050 (text_buf): Likewise.
22051 (page): Likewise.
22052 (font): Likewise.
22053 (framebuffer): New variable.
22054 (set_read_map): Disabled.
22055 (setup): New variable.
22056 (is_target): Likewise.
22057 (grub_vga_mod_init): Likewise.
22058 (grub_vga_mod_fini): Likewise.
22059 (check_vga_mem): Likewise.
22060 (write_char): Likewise.
22061 (write_cursor): Likewise.
22062 (scroll_up): Likewise.
22063 (grub_vga_putchar): Likewise.
22064 (grub_vga_getcharwidth): Likewise.
22065 (grub_vga_getwh): Likewise.
22066 (grub_vga_getxy): Likewise.
22067 (grub_vga_gotoxy): Likewise.
22068 (grub_vga_cls): Likewise.
22069 (grub_vga_setcolorstate): Likewise.
22070 (grub_vga_setcursor): Likewise.
22071 (grub_video_vga_init): New function.
22072 (grub_video_vga_setup): Likewise.
22073 (grub_video_vga_fini): Likewise.
22074 (update_target): Likewise.
22075 (grub_video_vga_blit_bitmap): Likewise.
22076 (grub_video_vga_blit_render_target): Likewise.
22077 (grub_video_vga_set_active_render_target): Likewise.
22078 (grub_video_vga_get_active_render_target): Likewise.
22079 (grub_video_vga_swap_buffers): Likewise.
22080 (grub_video_vga_set_palette): Likewise.
22081 (grub_video_vga_get_info_and_fini): Likewise.
22082 (grub_vga_term): Removed.
22083 (grub_video_vga_adapter): New variable.
22084 (GRUB_MOD_INIT): Register a video driver instead of terminal.
22085 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
22086
2bf61a98
VS
220872010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22088
22089 * video/readers/jpeg.c: Indented.
22090
09ddcd11
VS
220912010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22092
22093 Various jpeg cleanups.
22094
22095 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
22096 (grub_jpeg_decode_quan_table): Use sizeof.
22097 (grub_jpeg_decode_du): Use ARRAY_SIZE.
22098
e5507505
PH
220992010-05-05 Peter Hurley <No e-mail available> (tiny change)
22100
22101 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
22102 tables. Ignore non-last ac bit.
22103 (grub_jpeg_decode_quan_table): Likewise.
22104
7e720a9b
VS
221052010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22106
22107 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
22108 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
22109 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22110 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
22111 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
22112 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
22113
a7fc080b
VS
221142010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22115
22116 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
22117 error.
22118
2bf6012d
VS
221192010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22120
22121 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
22122
265d68cd
VS
221232010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22124
22125 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
22126 condition.
22127
221282010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
22129
22130 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
22131 part.
22132
265d68cd 221332010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
22134
22135 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
22136 pointers.
22137
265d68cd 221382010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
22139
22140 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
22141
d1b61374
CF
221422010-05-01 Christian Franke <franke@computer.org>
22143
22144 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
22145 Remove broken Cygwin path conversion.
22146 * util/misc.c: [__CYGWIN__] Add include and define.
22147 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
22148 for Cygwin 1.7.
22149 (make_system_path_relative_to_its_root): Simplify loop, replace early
22150 return by break.
22151 [__CYGWIN__] Add conversion to win32 path.
22152 Include "/" case in trailing slash removal.
22153
3558c6e9
VS
221542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22155
22156 * kern/main.c (grub_load_config): Fix copy-pasted comment.
22157 Reported by: Seth Goldberg
22158
f5f3ff93
VS
221592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22160
22161 * commands/help.c (grub_cmd_help): Fix a typo.
22162 Reported by: Seth Goldberg
22163
d8b5cd40
VS
221642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22165
22166 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
22167 name and add N_.
22168 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
22169 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
22170 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
22171 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
22172 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
22173 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
22174 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
22175 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
22176 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
22177 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22178 * normal/context.c (GRUB_MOD_INIT): Likewise.
22179 * normal/main.c (GRUB_MOD_INIT): Likewise.
22180 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22181 * term/serial.c (GRUB_MOD_INIT): Likewise.
22182 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
22183
88c14915
VS
221842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22185
22186 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
22187 extra == 0.
22188
165134bc
VS
221892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22190
22191 * commands/iorw.c: New file.
22192 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
22193 (iorw_mod_SOURCES): New variable.
22194 (iorw_mod_CFLAGS): Likewise.
22195 (iorw_mod_LDFLAGS): Likewise.
22196
c5ac9b32
VS
221972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22198
22199 Hotkey support
22200
22201 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
22202 * normal/main.c (hotkey_aliases): New variable.
22203 (grub_normal_add_menu_entry): Parse "--hotkey".
22204 * normal/menu_text.c (run_menu): Handle hotkeys.
22205
ce60689c
VS
222062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22207
22208 * kern/i386/coreboot/init.c (grub_machine_init): Call
22209 grub_machine_mmap_init on qemu.
22210
0359d006
VS
222112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22212
22213 * boot/i386/qemu/boot.S: Add a missing .code16.
22214
7819a456
VS
222152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22216
22217 Use LBIO on coreboot.
22218
22219 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
22220 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
22221 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
22222 New declaration.
22223 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
22224 grub_machine_mmap_init on coreboot.
22225 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
22226 GRUB_LINUXBIOS_MEMBER_LINK.
22227 (grub_machine_mmap_iterate): Fix declaration.
22228 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
22229
7210dca9
VS
222302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22231
22232 Split coreboot and multiboot ports.
22233
22234 * conf/i386-multiboot.rmk: New file.
22235 * configure.ac: Add multiboot port.
22236 * include/grub/i386/multiboot/boot.h: New file.
22237 * include/grub/i386/multiboot/console.h: Likewise.
22238 * include/grub/i386/multiboot/init.h: Likewise.
22239 * include/grub/i386/multiboot/kernel.h: Likewise.
22240 * include/grub/i386/multiboot/loader.h: Likewise.
22241 * include/grub/i386/multiboot/memory.h: Likewise.
22242 * include/grub/i386/multiboot/serial.h: Likewise.
22243 * include/grub/i386/multiboot/time.h: Likewise.
22244 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
22245 * loader/multiboot.c: Likewise.
22246 * loader/multiboot_mbi2.c: Likewise.
22247 * util/grub-mkrescue.in: Generate multiboot rescue.
22248
6f8aaf68
VS
222492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22250
3080f7a7
VS
22251 * kern/parser.c (grub_parser_execute): Cope with read-only config.
22252
222532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22254
22255 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
22256
22257 * commands/terminal.c (abstract_terminal): New struct.
22258 (handle_command): New function. Based on grub_cmd_terminal_input.
22259 (grub_cmd_terminal_input): Use handle_command.
22260 (grub_cmd_terminal_output): Use handle_command.
22261
a8ebb841
BC
222622010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
22263
22264 Fix comment handling.
22265
22266 * tests/grub_script_comments.in: New testcase.
22267 * conf/tests.rmk: Rules for new testcase.
22268 * script/yylex.l: Updated flex rules.
22269
bb06ba08
ST
222702010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
22271
22272 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
22273 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
22274 if argc is 1.
bb06ba08 22275
cc9d2425
VS
222762010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
22277
22278 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
22279 autogen issues.
22280
460d8402
CF
222812010-04-26 Christian Franke <franke@computer.org>
22282
22283 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
22284 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
22285 (grub_get_prefix): Remove function.
22286 * util/grub-emu.c (main): Replace grub_get_prefix () call by
22287 make_system_path_relative_to_its_root ().
22288 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22289
553c01f9
CF
222902010-04-24 Christian Franke <franke@computer.org>
22291
22292 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
22293 (kernel_img_LDFLAGS): Remove -static-libgcc.
22294
2aec1692
CF
222952010-04-24 Christian Franke <franke@computer.org>
22296
22297 * configure.ac: Do not CHECK_BSS_START_SYMBOL
22298 and CHECK_END_SYMBOL if grub-emu is built.
22299 Unset TARGET_OBJ2ELF if grub-emu is built
22300 without module support.
22301
f67dc308
JS
223022010-04-24 Jiro SEKIBA <jir@unicus.jp>
22303
22304 Nilfs2 support.
22305
22306 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
22307 (grub_fstest_SOURCES): Likewise.
22308 (pkglib_MODULES): Add nilfs2.mod.
22309 (nilfs2_mod_SOURCES): New variable.
22310 (nilfs2_mod_CFLAGS): Likewise.
22311 (nilfs2_mod_LDFLAGS): Likewise.
22312 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
22313 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
22314 * fs/nilfs2.c: New file.
22315
4ba8d354
VS
223162010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
22317
22318 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
22319 is not supported.
22320
0d2c20c6
GS
223212010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
22322
22323 Add grub-mkconfig support for NetBSD.
22324
22325 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
22326 * util/grub-mkconfig.in: export new NetBSD specific variables.
22327 * po/POTFILES-shell: added 10_netbsd.in.
22328 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
22329
bc4a2d83
BC
223302010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
22331
22332 Fix emu build with grub-emu-pci and grub-emu-modules.
22333
22334 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
22335 functions.
22336 * include/grub/libpciaccess.h: New file.
22337 * conf/any-emu.rmk: Update kernel headers for emu build.
22338
f48c87aa
VS
223392010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
22340
22341 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
22342
18959385
VS
223432010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
22344
22345 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
22346
0037de3f
VS
223472010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22348
22349 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
22350 Retrieve chosen/bootpath if bootpath isn't hardcoded.
22351 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
22352 util/ieee1275/ofpath.c.
22353 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
22354 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
22355 * include/grub/sparc64/ieee1275/boot.h
22356 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
22357 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
22358 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
22359 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
22360 const char *.
22361 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
22362 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
22363 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
22364 install.
22365
38e55e90
GS
223662010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22367
22368 * util/grub-mkconfig.in: Corrected two == equality tests.
22369 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
22370 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
22371 expect a number appended to it.
22372 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
22373 expects a number appended to it.
22374
a9e6ff28
VS
223752010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22376
22377 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
22378
0b830b8f
VS
223792010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22380
22381 * util/hostdisk.c (make_device_name): Change to new partition naming.
22382
0973daeb
VS
223832010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
22384
22385 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
22386
460d8402 223872010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
22388
22389 * Makefile.in: Add missing localedir setting.
22390
0b456309
CW
223912010-04-14 Colin Watson <cjwatson@ubuntu.com>
22392
22393 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
22394 mistake in r2156. Noticed by Anthony Fok.
22395
22396 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
22397 @localedir@.
22398 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
22399
08f46d62
BC
224002010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
22401
22402 Fix a spurious, uninitialized variable warning.
22403
22404 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
22405 Initialize variable, shdr.
22406 (grub_freebsd_load_elfmodule): Likewise.
22407 (grub_freebsd_load_elf_meta): Likewise.
22408
8c4a72d4
BC
224092010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
22410
22411 Fix for escaped dollar in double quoted strings.
22412
22413 * script/yylex.l: Updated flex rules.
22414 * conf/tests.rmk: Rule for new testcase.
22415 * tests/grub_script_dollar.in: New testcase.
22416
ce44826e
CPE
224172010-04-13 Carles Pina i Estany <carles@pina.cat>
224182010-04-13 Colin Watson <cjwatson@ubuntu.com>
22419
22420 Enclose all translated strings in grub.cfg in single quotes, and
22421 escape them appropriately (Ubuntu bug #552921).
22422
22423 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
22424 * util/grub.d/10_hurd.in: Use it.
22425 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22426 * util/grub.d/10_linux.in (linux_entry): Likewise.
22427
4b0cd8f8
VS
224282010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22429
22430 Fix cygwin compilation.
22431
22432 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
22433 * include/grub/misc.h (__register_frame_info)
22434 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
22435 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
22436 * kern/misc.c (__register_frame_info)
22437 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
22438 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
22439
01fcf061
VS
224402010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22441
22442 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
22443
5d04b11e
VS
224442010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22445
22446 Unify libgcc processing.
22447
22448 * Makefile.in (kernel_img_LDFLAGS): New variable.
22449 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
22450 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
22451 overwriting.
22452 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
22453 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
22454 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
22455 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
22456 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
22457 overwriting. Remove -lgcc and -static-libgcc
22458 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
22459 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
22460 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
22461 (kernel_img_LDFLAGS): Append instead of overwriting.
22462 Remove -lgcc and -static-libgcc
22463 * conf/sparc64-ieee1275.rmk: Likewise.
22464 * include/grub/powerpc/libgcc.h: Move to ...
22465 * include/grub/libgcc.h: .. this.
22466 * include/grub/libgcc.h: Don't export most of the function on x86.
22467 (__bswapsi2): New export.
22468 (__bswapdi2): Likewise.
22469 * include/grub/mips/libgcc.h: Removed.
22470 * include/grub/sparc64/libgcc.h: Likewise.
22471
b7f3ac29
VS
224722010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22473
22474 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
22475 disk_info_msg (conflicts with gettexting into languages with cases).
22476
2c7031b1
GS
224772010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
22478
22479 Add grub-probe support for NetBSD.
22480
22481 * util/getroot.c (find_root_device): Convert block device to
22482 character device on NetBSD.
22483 * util/probe.c (probe): Require character device on NetBSD.
22484 * util/hostdisk.c: NetBSD specific headers.
22485 (configure_device_driver): new function to tune device driver
22486 parameters (currently only for NetBSD floppy driver).
22487 (grub_util_biosdisk_open): NetBSD specific code (get disk size
22488 via disklabel ioctl).
22489 (open_device): call configure_device_driver on NetBSD.
22490 (convert_system_partition_to_system_disk): NetBSD specific code.
22491 (device_is_wholedisk): Likewise.
22492 (grub_util_biosdisk_get_grub_dev): Likewise.
22493 (make_device_name): Fixed a typo in bsd_part_str.
22494 * configure.ac: check for opendisk() and getrawpartition() on
22495 NetBSD and set LIBUTIL.
22496 * Makefile.in: add LIBUTIL to LIBS.
22497
f516290c
BC
224982010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
22499
22500 Documentation fix.
22501
22502 * util/grub-script-check.c: Better help message.
22503
d8dcc0df
BC
225042010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
22505
22506 Fix FreeBSD build.
22507
22508 * configure.ac: Flex version check.
22509 * conf/common.rmk: Add -Wno-error to sh.mod.
22510 * script/yylex.l: Remove all #pragma.
22511
6734334a
VS
225122010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22513
22514 * include/grub/util/misc.h (canonicalise_file_name): Add missing
22515 prototype.
22516 Reported by: Seth Goldberg.
22517
daea6abd
VS
225182010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22519
22520 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
22521 Rename "module" to "module2".
22522 Reported by: Seth Goldberg.
22523
f2fd9d2b
VS
225242010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22525
22526 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
22527 EXPORT_FUNC.
22528 Reported by: Seth Goldberg.
22529
be124579
VS
225302010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22531
22532 * lib/posix_wrap/locale.h: Add missing file.
22533 Reported by: Seth Goldberg.
22534
ef5da797
VS
225352010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22536
22537 grub-emu module load support.
22538
22539 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
22540 NO_DYNAMIC_MODULES switched to this.
22541 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
22542 (CFLAGS): Likewise.
22543 * conf/any-emu.rmk: Generate symlist.
22544 (kernel_img_HEADERS): Add util/datetime.h.
22545 (kernel_img_HEADERS) [sdl]: Add sdl.h.
22546 (kernel_img_HEADERS) [libusb]: Add libusb.h.
22547 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
22548 kern/$(target_cpu)/cache.S.
22549 * configure.ac (grub-emu-modules): New option.
22550 * genmk.rb: Handle multiple source lists.
22551 * include/grub/sdl.h: New file.
22552 * include/grub/libusb.h: Likewise.
22553 * util/grub-emu.c (main): Hanle (host) root.
22554 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
22555 GRUB_ERR_UNKNOWN_DEVICE.
22556 * util/misc.c: Move mm functions to ...
22557 * util/mm.c: ... here. All users updated.
22558
47822096
VS
225592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22560
22561 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
22562 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
22563 missing files.
22564 (maintainer-clean): Remove libgcrypt-grub.
22565
5d7e7445
VS
225662010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22567
22568 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
22569
25f4e252
EC
225702010-04-09 EFI Coder <eficoder@hotmail.com>
22571
22572 * normal/menu_text.c (print_message): Clean up the message and show
22573 the Fn information when on EFI
22574 * term/efi/console.c (grub_console_checkkey): Add F4 support.
22575
027de555
VS
225762010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22577
22578 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
22579 All users updated.
22580 * normal/crypto.c (read_crypto_list): Likewise.
22581 * normal/dyncmd.c (read_command_list): Likewise.
22582 * normal/term.c (read_terminal_list): Likewise.
22583 * normal/main.c (read_lists): Use explicit prefix.
22584 (read_lists_hook): Use read_lists.
22585 (grub_normal_execute): Likewise.
22586
47779711
VS
225872010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22588
22589 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
22590 Reported by: Thomas Schmitt.
22591 Add -no-emul-boot to grub-mkisofs parameters.
22592
1118c32e
VS
225932010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22594
22595 * font/font.c: Indented.
22596
7d652447
BC
225972010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22598
22599 Elif support to GRUB script (by Deepak Vankadaru).
22600
22601 * tests/grub_script_if.in: New testcase.
22602 * conf/tests.rmk: Rule for new testcase.
22603 * script/parser.y: Grammar rules for elif.
22604
34bb22df
BC
226052010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22606
22607 While and until loops support to GRUB script.
22608
22609 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
22610 (grub_script_create_cmdwhile): New function prototype.
22611 (grub_script_execute_cmdwhile): New function prototype.
22612 * script/execute.c (grub_script_execute_cmdwhile): New function.
22613 * script/parser.y (command): New commands.
22614 (whilecmd): New grammar rule.
22615 (untilcmd): New grammar rule.
22616 * script/script.c (grub_script_create_cmdwhile): New function.
22617 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
22618 function.
22619
22620 * tests/grub_script_while1.in: New testcase.
22621 * conf/tests.rmk: Rule for new testcase.
22622
e215d8e0
VS
226232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22624
22625 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
22626 as *.jpg.
22627
d7c43ba1
MV
226282010-04-09 Mario Vazquez <mariovazq@gmail.com>
22629
22630 GRUB_BACKGROUND support.
22631
22632 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
22633 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
22634
d64795c0
VS
226352010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22636
22637 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 22638 Idea by: Mario Vazquez
d64795c0
VS
22639
22640 * util/grub.d/00_header.in: Load pf2 and image modules.
22641
f267f83a
VS
226422010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22643
22644 grub-mkconfig multiple terminal support.
22645
22646 * util/grub-mkconfig.in: Handle multiple terminals correctly.
22647 * util/grub.d/00_header.in: Likewise.
22648
b7841ceb
VS
226492010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22650
22651 * Makefile.in: Specify files explicitly instead of using $< and $@ since
22652 we use cd $(srcdir).
22653
df60998c
CW
226542010-04-08 Colin Watson <cjwatson@ubuntu.com>
22655
22656 * util/grub.d/10_linux.in: Only use the first word of
22657 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
22658 spaces in GRUB_DISTRIBUTOR.
22659 * util/grub.d/10_kfreebsd.in: Likewise.
22660 * util/grub.d/10_hurd.in: Likewise.
22661
fa09c82e
BC
226622010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
22663
14e18ae3 22664 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
22665
22666 * tests/util/grub-shell.in: Remove -serial stdio option.
22667
daf892b3
BC
226682010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
22669
22670 POSIX header file wrappers.
22671
22672 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
22673 equivalents.
22674 * lib/posix_wrap/ctype.h: Likewise.
22675 * lib/posix_wrap/errno.h: Likewise.
22676 * lib/posix_wrap/langinfo.h: Likewise.
22677 * lib/posix_wrap/limits.h: Likewise.
22678 * lib/posix_wrap/localcharset.h: Likewise.
22679 * lib/posix_wrap/stdint.h: Likewise.
22680 * lib/posix_wrap/stdio.h: Likewise.
22681 * lib/posix_wrap/stdlib.h: Likewise.
22682 * lib/posix_wrap/string.h: Likewise.
22683 * lib/posix_wrap/sys/types.h: Likewise.
22684 * lib/posix_wrap/unistd.h: Likewise.
22685 * lib/posix_wrap/wchar.h: Likewise.
22686 * lib/posix_wrap/wctype.h: Likewise.
22687 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
22688 (grub_script.yy.h): Likewise.
22689 * script/yylex.l: Remove POSIX emulation #defines.
22690 * Makefile.in (POSIX_CFLAGS): New variable.
22691 (GNULIB_UTIL_CFLAGS): Likewise.
22692
22693 Regexp support.
22694
22695 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
22696 (regexp_mod_SOURCES): New variable.
22697 (regexp_mod_CFLAGS): Likewise.
22698 (regexp_mod_LDFLAGS): Likewise.
22699 * commands/regexp.c: New file.
22700 * gnulib/regcomp.c: New file. Imported from gnulib.
22701 * gnulib/regex.c: Likewise.
22702 * gnulib/regex_internal.c: Likewise.
22703 * gnulib/regex_internal.h: Likewise.
22704 * gnulib/regexec.c: Likewise.
22705 * gnulib/regex.h: Likewise.
22706
974ac4f7
VS
227072010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22708
22709 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
22710 unsupported video mode types.
22711
2622c3ff
VS
227122010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22713
22714 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
22715
064cb524
VS
227162010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22717
22718 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
22719 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
22720
a8c3b552
VS
227212010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22722
22723 Remove unused grub_vga_get_font.
22724
22725 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
22726 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
22727
187bbe3d
GS
227282010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22729
22730 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
22731 * include/grub/misc.h: Likewise.
22732
b9396631
GS
227332010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22734
22735 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
22736 for which failure is fatal.
22737
50479feb
GS
227382010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22739
22740 * util/grub-install.in: Use mkdir -p to create grub directory.
22741 * util/i386/efi/grub-install.in: Likewise.
22742 * util/ieee1275/grub-install.in: Likewise.
22743
b1654fdf
GS
227442010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22745
22746 * Makefile.in (LEX): new variable.
22747
bd5a6415
GS
227482010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22749
22750 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
22751 `=' and added double quotes on operands of this equality test.
22752
3db3a82b
VS
227532010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
22754
22755 * Makefile.in (uninstall): Remove a leftover debug echo.
22756 Reported by: Grégoire Sutre
22757
38023412
VS
227582010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
22759
22760 MIPS multiboot2 support.
22761
22762 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
22763 (multiboot2_mod_SOURCES): New variable.
22764 (multiboot2_mod_CFLAGS): Likewise.
22765 (multiboot2_mod_LDFLAGS): Likewise.
22766 (multiboot2_mod_ASFLAGS): Likewise.
22767 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
22768 definition.
22769 (MULTIBOOT_ENTRY_REGISTER): Likewise.
22770 (MULTIBOOT_MBI_REGISTER): Likewise.
22771 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
22772 (MULTIBOOT_ELF32_MACHINE): Likewise.
22773 (MULTIBOOT_ELF64_MACHINE): Likewise.
22774 * include/grub/mips/multiboot.h: New file.
22775 * include/grub/video.h (grub_video_driver_id): New type
22776 GRUB_VIDEO_DRIVER_SM712.
22777 (grub_video_get_info_and_fini): Export.
22778 (grub_video_get_palette): Likewise.
22779 (grub_video_get_driver_id): Likewise.
22780 * include/multiboot2.h: Resynced with spec.
22781 * loader/i386/multiboot.c: Moved from here ...
22782 * loader/multiboot.c: ... here. All users updated.
22783 (grub_multiboot_boot): Use platform-specific macros.
22784 * loader/i386/multiboot_elfxx.c: Moved from here ...
22785 * loader/multiboot_elfxx.c: ... here. All users updated.
22786 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
22787 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
22788 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
22789
47674667
VS
227902010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
22791
22792 Import gnulib argp module.
22793
22794 * gnulib/argp-ba.c: New file.
22795 * gnulib/argp-eexst.c: Likewise.
22796 * gnulib/argp-fmtstream.c: Likewise.
22797 * gnulib/argp-fmtstream.h: Likewise.
22798 * gnulib/argp-fs-xinl.c: Likewise.
22799 * gnulib/argp-help.c: Likewise.
22800 * gnulib/argp-namefrob.h: Likewise.
22801 * gnulib/argp-parse.c: Likewise.
22802 * gnulib/argp-pin.c: Likewise.
22803 * gnulib/argp-pv.c: Likewise.
22804 * gnulib/argp-pvh.c: Likewise.
22805 * gnulib/argp-version-etc.c: Likewise.
22806 * gnulib/argp-version-etc.h: Likewise.
22807 * gnulib/argp-xinl.c: Likewise.
22808 * gnulib/argp.h: Likewise.
22809
495442ed
VS
228102010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
22811
22812 * kern/device.c (grub_device_iterate): Clear errors after failed
22813 opening device.
22814
f9fd65df
VS
228152010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
22816
22817 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
22818 returned by firmware.
22819
af09641e
VS
228202010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
22821
22822 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
22823 compilation on coreboot and qemu
22824
016883a5
VS
228252010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
22826
22827 * include/multiboot2.h: Resync with spec.
22828
f97e1f7d
VS
228292010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
22830
22831 Multiboot2 tag support
22832
22833 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
22834 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
22835 Remove loader/multiboot_loader.c.
22836 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
22837 (grub_multiboot2_real_boot): Likewise.
22838 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
22839 (grub_get_multiboot_mmap_count): New proto.
22840 (grub_fill_multiboot_mmap): Likewise.
22841 (grub_multiboot_set_video_mode): Likewise.
22842 (grub_multiboot_set_console): Likewise.
22843 (grub_multiboot_load): Likewise.
22844 (grub_multiboot_load_elf): Likewise.
22845 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
22846 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
22847 * include/multiboot.h: Resynced with specification.
22848 * include/multiboot2.h: Resynced with specification.
22849 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
22850 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
22851 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
22852 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
22853 users updated.
22854 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
22855 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
22856 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
22857 Removed.
22858 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
22859 Moved from here...
22860 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
22861 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22862 Moved from here...
22863 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
22864 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
22865 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
22866 All users updated.
22867 * loader/i386/multiboot_mbi2.c: New file.
22868
3506b90b
VS
228692010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
22870
22871 Resync with gnulib.
22872
22873 * Makefile.in (GNULIB_CFLAGS): New variable.
22874 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
22875 (grub_script_check_CFLAGS): New variable.
22876 * gnulib/alloca.h: Resync with gnulib.
22877 * gnulib/error.c: Likewise.
22878 * gnulib/error.h: Likewise.
22879 * gnulib/fnmatch.c: Likewise.
22880 * gnulib/fnmatch_loop.c: Likewise.
22881 * gnulib/getdelim.c: Likewise.
22882 * gnulib/getline.c: Likewise.
22883 * gnulib/getopt.c: Likewise.
22884 * gnulib/getopt1.c: Likewise.
22885 * gnulib/getopt_int.h: Likewise.
22886 * gnulib/gettext.h: Likewise.
22887 * gnulib/progname.c: Likewise.
22888 * gnulib/progname.h: Likewise.
22889
394a3120
GS
228902010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
22891
22892 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
22893 which is the case with --disabled-nls.
22894
22895 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
22896 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
22897 * util/misc.c: Likewise.
22898 * util/mkisofs/mkisofs.c: Likewise.
22899 * util/mkisofs/mkisofs.h: Likewise.
22900
969d1c78
VS
229012010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
22902
22903 Simplify Apple CC support.
22904
22905 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
22906 Add 0 byte at the end not to have a symbol with empty target.
22907 * mmap/i386/pc/mmap_helper.S: Likewise.
22908 * genmk.rb: Ignore errors 2030 and 2050.
22909 * kern/i386/pc/startup.S: Use LOCAL when possible.
22910
8d2977bb
BC
229112010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
22912
22913 Testcase and the fix for final semicolon on cmdline.
22914
22915 * tests/grub_script_final_semicolon.in: New testcase.
22916 * conf/tests.rmk: Rules for the new testcase.
22917 * script/parser.y: Grammar fix.
22918
a7bd6915
BC
229192010-03-26 BVK Chaitanya <bvk@localhost>
22920
22921 Blank lines testcase for GRUB script.
22922
22923 * tests/grub_script_blanklines.in: New testcase.
22924 * conf/tests.rmk: Rules for the new testcase.
22925
e4ff6628
VS
229262010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22927
22928 Don't use __FILE__.
22929
22930 * genmk.rb: Add -DGRUB_FILE to all C targets.
22931 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
22932 * include/grub/list.h: Likewise.
22933 * include/grub/misc.h: Likewise.
22934 * include/grub/mm.h: Likewise.
22935 * include/grub/test.h: Likewise.
22936 * kern/mm.c: Likewise.
22937 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
22938
6a5cf6b6
VS
229392010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22940
22941 Sunpc partitions support.
22942
22943 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
22944 (grub_fstest_SOURCES): Likewise.
22945 (pkglib_MODULES): Add part_sunpc.mod.
22946 (part_sunpc_mod_SOURCES): New variable.
22947 (part_sunpc_mod_CFLAGS): Likewise.
22948 (part_sunpc_mod_LDFLAGS): Likewise.
22949 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
22950 * partmap/sunpc.c: New file.
22951
746d9045
BC
229522010-03-26 BVK Chaitanya <bvk@localhost>
22953
22954 For loop support to GRUB script.
22955
22956 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
22957 (grub_script_create_cmdfor): New function prototype.
22958 (grub_script_execute_cmdfor): New function prototype.
22959 * script/execute.c (grub_script_execute_cmdfor): New function.
22960 * script/parser.y (command): New for command.
22961 (forcmd): New grammar rule.
22962 * script/script.c (grub_script_create_cmdfor): New function.
22963 * util/grub-script-check.c (grub_script_execute_cmdfor): New
22964 function.
22965 * tests/grub_script_for1.in: New testcase.
22966 * conf/tests.rmk: Rules for new testcase.
22967
18486b18
VS
229682010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22969
22970 Nested partitions
22971
22972 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
22973 'partition' is NULL, grub_partition_get_start already does that.
22974 * commands/loadenv.c (check_blocklists): Likewise.
22975 (write_blocklists): Likewise.
22976 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
22977 (grub_fstest_SOURCES): Likewise.
22978 (pkglib_MODULES): Add part_bsd.mod.
22979 (part_bsd_mod_SOURCES): New variable.
22980 (part_bsd_mod_CFLAGS): Likewise.
22981 (part_bsd_mod_LDFLAGS): Likewise.
22982 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
22983 (grub_emu_SOURCES): Likewise.
22984 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22985 * include/grub/bsdlabel.h: New file.
22986 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
22987 'get_name'.
22988 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
22989 (grub_partition_map_list): New variable.
22990 (grub_partition_map_register): Inline.
22991 (grub_partition_map_unregister): Likewise.
22992 (FOR_PARTITION_MAPS): New macro.
22993 (grub_partition_map_iterate): Removed.
22994 (grub_partition_get_start): Handle nested partitions.
22995 * include/grub/msdos_partition.h: Remove bsd-related entries.
22996 (grub_pc_partition): Remove.
22997 * kern/disk.c (grub_disk_close): Free partition data.
22998 (grub_disk_adjust_range): Handle nested partitions.
22999 * kern/partition.c (grub_partition_map_probe): New function.
23000 (grub_partition_probe): Parse name to number, handle subpartitions.
23001 (get_partmap): New function.
23002 (grub_partition_iterate): Handle subpartitions.
23003 (grub_partition_get_name): Likewise.
23004 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
23005 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
23006 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
23007 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
23008 Set 'number'.
23009 (acorn_partition_map_probe): Remove.
23010 (acorn_partition_map_get_name): Likewise.
23011 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
23012 Set 'number'.
23013 Set 'index' to 0 since there can be only one partition entry per sector.
23014 (amiga_partition_map_probe): Remove.
23015 (amiga_partition_map_get_name): Likewise.
23016 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
23017 Set 'number'.
23018 Set 'offset' and 'index' to real positions of partitions.
23019 (apple_partition_map_probe): Remove.
23020 (apple_partition_map_get_name): Likewise.
23021 * partmap/bsdlabel.c: New file.
23022 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
23023 Set 'number'.
23024 Allocate 'data' so it can be correctly freed.
23025 Set 'index' to offset inside sector.
23026 (gpt_partition_map_probe): Remove.
23027 (gpt_partition_map_get_name): Likewise.
23028 * partmap/msdos.c (grub_partition_parse): Remove.
23029 (pc_partition_map_iterate): Don't force raw access.
23030 Set 'number'.
23031 Make 'ext_offset' a local variable.
23032 (pc_partition_map_probe): Remove.
23033 (pc_partition_map_get_name): Remove.
23034 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
23035 Set 'number'.
23036 (sun_partition_map_probe): Remove.
23037 (sun_partition_map_get_name): Likewise.
23038 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
23039 (grub_pcpart_type): Likewise.
23040 * util/hostdisk.c (open_device): Handle new numbering scheme.
23041 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
23042 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
23043 * util/grub-probe.c (probe_partmap): Handle nested paritions.
23044 * util/grub-install.in: Insert all subpartition modules.
23045 * util/ieee1275/grub-install.in: Likewise.
23046
a3940f88
AG
230472010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
23048
23049 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
23050 grammar.
23051
21b99926 230522010-03-24 Colin Watson <cjwatson@ubuntu.com>
23053
23054 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
23055
bed1d352
CW
230562010-03-21 Colin Watson <cjwatson@ubuntu.com>
23057
23058 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
23059 match where 'make install' puts them.
23060 * util/i386/efi/grub-install.in: Likewise.
23061
c9f58427
CW
230622010-03-19 Colin Watson <cjwatson@ubuntu.com>
23063
23064 * .bzrignore: Add gentrigtables, grub-script-check,
23065 grub_script_check_init.c, grub_script_check_init.h, and
23066 trigtables.c.
23067
f84afb27
VS
230682010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
23069
23070 * kern/parser.c: Indented.
23071
ed0e3d30
VS
230722010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
23073
23074 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
23075
0ea81d98
VS
230762010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
23077
23078 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
23079 alpha_mask_size == 0 case.
23080
0cdc2a09
BC
230812010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
23082
23083 GRUB shell lexer and parser improvements.
23084
23085 * conf/any-emu.rmk: Build rule updates.
23086 * conf/common.rmk: Likewise.
23087 * conf/i386-coreboot.rmk: Likewise.
23088 * conf/i386-efi.rmk: Likewise.
23089 * conf/i386-ieee1275.rmk: Likewise.
23090 * conf/i386-pc.rmk: Likewise.
23091 * conf/powerpc-ieee1275.rmk: Likewise.
23092 * conf/x86_64-efi.rmk: Likewise.
23093
23094 * configure.ac: Configure check for flex.
23095
23096 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
23097 types.
23098 (grub_lexer_param): Struct member updates.
23099 (grub_parser_param): Likewise.
23100 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
23101 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
23102 (grub_script_lexer_init): Prototype update.
23103 (grub_script_lexer_record_start): Likewise.
23104 (grub_script_lexer_record_stop): Likewise.
23105 (grub_script_lexer_yywrap): New function prototype.
23106 (grub_script_lexer_fini): Likewise.
23107 (grub_script_execute_argument_to_string): Removed by...
23108 (grub_script_execute_argument_to_argv): ...better version.
23109
23110 * script/execute.c (ROUND_UPTO): New macro.
23111 (grub_script_execute_cmdline): Out of memory fixes.
23112 (grub_script_execute_menuentry): Likewise.
23113 (grub_script_execute_argument_to_string): Removed. Update all
23114 users by...
23115 (grub_script_execute_argument_to_argv): ...better version.
23116 * script/function.c (grub_script_function_create): Use
23117 grub_script_execute_argument_to_argv instead of
23118 grub_script_execute_argument_to_string.
23119
23120 * script/lexer.c (check_varstate): Removed.
23121 (check_textstate): Removed.
23122 (grub_script_lexer_record_start): Likewise.
23123 (grub_script_lexer_record_stop): Likewise.
23124 (recordchar): Replaced with...
23125 (grub_script_lexer_record): ...new function.
23126 (nextchar): Removed.
23127 (grub_script_lexer_init): Rewritten.
23128 (grub_script_yylex): Rewritten.
23129 (append_newline): New function.
23130 (grub_script_lexer_yywrap): New function.
23131 (grub_script_lexer_fini): New function.
23132 (grub_script_yyerror): Sets error flag.
23133
23134 * script/yylex.l: New file.
23135 (grub_lexer_yyfree): Wrapper for flex yyffre.
23136 (grub_lexer_yyalloc): Likewise.
23137 (grub_lexer_yyrealloc): Likewise.
23138 * script/parser.y: Refactored.
23139
23140 * script/script.c (grub_script_arg_add): Out of memory fixes.
23141 (grub_script_add_arglist): Likewise.
23142 (grub_script_create_cmdline): Likewise.
23143 (grub_script_create_cmdmenu): Likewise.
23144 (grub_script_add_cmd): Likewise.
23145 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
23146 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
23147 unnecessary code.
23148
23149 * tests/grub_script_echo1.in: New testcase.
23150 * tests/grub_script_vars1.in: New testcase.
23151 * tests/grub_script_echo_keywords.in: New testcase.
23152
1d63a066
VS
231532010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23154
23155 Remove some redundancy in build system.
23156
23157 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
23158 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
23159 (TARGET_LDFLAGS): Add -nostdlib.
23160 (TARGET_IMG_LDFLAGS): Likewise.
23161 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
23162 anything since mmap isn't available.
23163 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
23164 Add util/time.c.
23165 (pkglib_MODULES): Remove reboot.mod.
23166 (reboot_mod_SOURCES): Removed.
23167 (reboot_mod_CFLAGS): Likewise.
23168 (reboot_mod_LDFLAGS): Likewise.
23169 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
23170 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
23171 (DEFSYMFILES): Add kernel_syms.lst.
23172 (kernel_img_HEADERS): Add common headers.
23173 (symlist.c): New target.
23174 (kernel_syms.lst): Likewise.
23175 (pkglib_MODULES): Add memdisk.mod.
23176 (memdisk_mod_SOURCES): New variable.
23177 (memdisk_mod_CFLAGS): Likewise.
23178 (memdisk_mod_LDFLAGS): Likewise.
23179 (pkglib_MODULES): Add reboot.mod.
23180 (reboot_mod_SOURCES): New variable.
23181 (reboot_mod_CFLAGS): Likewise.
23182 (reboot_mod_LDFLAGS): Likewise.
23183 (pkglib_MODULES): Add date.mod.
23184 (date_mod_SOURCES): New variable.
23185 (date_mod_CFLAGS): Likewise.
23186 (date_mod_LDFLAGS): Likewise.
23187 (pkglib_MODULES): Add datehook.mod.
23188 (datehook_mod_SOURCES): New variable.
23189 (datehook_mod_CFLAGS): Likewise.
23190 (datehook_mod_LDFLAGS): Likewise.
23191 (pkglib_MODULES): Add lsmmap.mod.
23192 (lsmmap_mod_SOURCES): New variable.
23193 (lsmmap_mod_CFLAGS): Likewise.
23194 (lsmmap_mod_LDFLAGS): Likewise.
23195 (pkglib_MODULES): Add boot.mod.
23196 (boot_mod_SOURCES): New variable.
23197 (boot_mod_CFLAGS): Likewise.
23198 (boot_mod_LDFLAGS): Likewise.
23199 * conf/i386-coreboot.rmk: Removed redundant parts.
23200 * conf/i386-ieee1275.rmk: Likewise.
23201 * conf/i386-pc.rmk: Likewise.
23202 * conf/mips-yeeloong.rmk: Likewise.
23203 * conf/mips.rmk: Likewise.
23204 * conf/powerpc-ieee1275.rmk: Likewise.
23205 * conf/sparc64-ieee1275.rmk: Likewise.
23206 * conf/x86_64-efi.rmk: Likewise.
23207 * conf/i386-coreboot.rmk: Moved qemu parts ..
23208 * conf/i386-qemu.rmk: ... here
23209 * conf/i386-efi.rmk: Moved common parts to...
23210 * conf/x86-efi.rmk: ... here.
23211 * conf/i386.rmk: Added modules common to all x86 variants.
23212 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
23213 * disk/memdisk.c: Remove grub/machine/kernel.h.
23214 * gensymlist.sh.in: Include symbol.h.
23215 * hook/datehook.c: Correct module name.
23216 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
23217 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
23218 * include/grub/i386/efi/serial.h: New file.
23219 * include/grub/x86_64/efi/serial.h: Likewise.
23220 * util/time.c: Likewise.
23221 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
23222
463ac55f
CK
232232010-03-14 Colin King <colin.king@ubuntu.com>
232242010-03-14 Colin Watson <cjwatson@ubuntu.com>
23225
23226 Shrink the pre-partition-table part of boot.img by eight bytes.
23227
23228 * boot/i386/pc/boot.S (ERR): New macro.
23229 (chs_mode): Use ERR.
23230 (geometry_error): Likewise.
23231 (hd_probe_error): Remove. This is only used once, so we wrwite
23232 it inline instead.
23233 (read_error): Instead of printing read_error_string, just set up
23234 %si and fall through to ...
23235 (error_message): ... this new function, also used by ERR.
23236
08e46ede
CW
232372010-03-14 Colin Watson <cjwatson@ubuntu.com>
23238
23239 Speed up consecutive hostdisk operations on the same device.
23240
23241 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
23242 (grub_util_biosdisk_open): Initialise disk->data.
23243 (struct linux_partition_cache): New structure.
23244 (linux_find_partition): Cache partition start positions; these are
23245 expensive to compute on every read and write.
23246 (open_device): Cache open file descriptor in disk->data, so that we
23247 don't have to reopen it and flush the buffer cache for consecutive
23248 operations on the same device.
23249 (grub_util_biosdisk_close): New function.
23250 (grub_util_biosdisk_dev): Set `close' member.
23251
23252 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
23253 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
23254 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23255 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
23256 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
23257
4a6d2d06
VS
232582010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23259
23260 Compile parts of grub-emu as modules.
23261
23262 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
23263 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
23264 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
23265 (all-local): Add $(GRUB_EMU).
23266 (install-local): Install $(GRUB_EMU).
23267 (uninstall): Uninstall $(GRUB_EMU).
23268 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
23269 * kern/dl.c: Likewise.
23270 * commands/sleep.c: Not include machine/time.h.
23271 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
23272 (COMMON_CFLAGS): Likewise.
23273 (sbin_UTILITIES): Remove grub-emu.
23274 (grub_emu_SOURCES): Removed.
23275 (kernel_img_RELOCATABLE): New variable.
23276 (pkglib_PROGRAMS): Add kernel.img.
23277 (kernel_img_SOURCES): New variable
23278 (kernel_img_CFLAGS): Likewise.
23279 (kernel_img_LDFLAGS): Likewise.
23280 (TARGET_NO_STRIP): Likewise.
23281 (TARGET_NO_DYNAMIC_MODULES): Likewise.
23282 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
23283 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
23284 (grub-emu): New target.
23285 (GRUB_EMU): New variable.
23286 * configure.ac: Whitelist -emu as possible x86_64 architecture.
23287 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
23288 * loader/xnu.c: Likewise.
23289 * include/grub/pci.h: Likewise.
23290 * genemuinit.sh: New file.
23291 * genemuinitheader.sh: Likewise.
23292 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
23293 Support TARGET_NO_DYNAMIC_MODULES.
23294 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
23295 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
23296 * disk/loopback.c: Likewise.
23297 * font/font_cmd.c: Likewise.
23298 * partmap/acorn.c: Likewise.
23299 * partmap/amiga.c: Likewise.
23300 * partmap/apple.c: Likewise.
23301 * partmap/gpt.c: Likewise.
23302 * partmap/msdos.c: Likewise.
23303 * partmap/sun.c: Likewise.
23304 * parttool/msdospart.c: Likewise.
23305 * term/gfxterm.c: Likewise.
23306 * video/bitmap.c: Likewise.
23307 * video/readers/jpeg.c: Likewise.
23308 * video/readers/png.c: Likewise.
23309 * video/readers/tga.c: Likewise.
23310 * video/video.c: Likewise.
23311 * util/grub-emu.c (read_command_list): Removed.
23312 (main): Don't call util_init_nls.
23313 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
23314 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
23315
91fdd2ed
VS
233162010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23317
23318 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
23319 date.mod, datehook.mod.
23320 (datetime_mod_SOURCES): New variable.
23321 (datetime_mod_CFLAGS): Likewise.
23322 (datetime_mod_LDFLAGS): Likewise.
23323 (date_mod_SOURCES): Likewise.
23324 (date_mod_CFLAGS): Likewise.
23325 (date_mod_LDFLAGS): Likewise.
23326 (datehook_mod_SOURCES): Likewise.
23327 (datehook_mod_CFLAGS): Likewise.
23328 (datehook_mod_LDFLAGS): Likewise.
23329 * conf/sparc64-ieee1275.rmk: Likewise.
23330 * lib/ieee1275/datetime.c: New file.
23331
873ccae6
VS
233322010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23333
23334 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
23335 (ieee1275_fb_mod_SOURCES): New variable.
23336 (ieee1275_fb_mod_CFLAGS): Likewise.
23337 (ieee1275_fb_mod_LDFLAGS): Likewise.
23338 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
23339 New proto.
23340 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
23341 (HEAP_MAX_ADDR): Likewise.
23342 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
23343 type.
23344 Correct stop condition.
23345 (grub_ieee1275_devices_iterate): New function.
23346 * video/ieee1275.c: New file.
23347
601c97c0
VS
233482010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23349
23350 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
23351
23352 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
23353 as scratch.
23354 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
23355 SCRATCH_PAD_DISKBOOT as scratch.
23356 (bootit): Pass Openfirmware pointer in %o4.
23357 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
23358 of 0x200000.
23359 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
23360 with util/grub-mkrawimage.c.
23361 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
23362 * include/grub/aout.h (AOUT_MID_SUN): New definition.
23363 (grub_aout_get_type) [GRUB_UTIL]: Removed.
23364 (grub_aout_load) [GRUB_UTIL]: Likewise.
23365 * include/grub/kernel.h (grub_modules_get_end): New proto.
23366 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
23367 (SCRATCH_PAD_BOOT): New definition.
23368 (SCRATCH_PAD_DISKBOOT): Likewise.
23369 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
23370 * include/grub/sparc64/ieee1275/ieee1275.h
23371 (grub_ieee1275_original_stack): New variable
23372 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23373 New definition
23374 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
23375 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
23376 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
23377 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
23378 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
23379 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
23380 (grub_platform_image_format_t): New type.
23381 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
23382 * kern/main.c (grub_modules_get_end)
23383 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
23384 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
23385 (codestart): Switch stacks.
23386 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
23387 variable.
23388 (grub_heap_init): Use grub_modules_get_end.
23389 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
23390 stack.
23391 * util/grub-mkrawimage.c (generate_image): Support sparc64.
23392 (main): Likewise.
23393 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
23394
d68b491e
TG
233952010-03-14 Thorsten Glaser <tg@mirbsd.org>
23396
23397 * util/grub-mkrescue.in: Base ISO UUID on UTC.
23398
4e02ed50
MK
233992010-03-08 Matt Kraai <kraai@ftbfs.org>
23400
23401 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
23402 bug #559005).
23403
1f15fc1e
VS
234042010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
23405
23406 * genmoddep.awk: Output all missing symbols and not only first.
23407
fce5d8ff
VS
234082010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23409
23410 * NEWS: Put the date of 1.98 release.
23411
d1e8a02f
VS
234122010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23413
23414 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
23415 ft2build.h.
23416
696fd607
VS
234172010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23418
23419 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
23420 completition in the middle of string.
23421
33e2e6f3
VS
234222010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23423
23424 * util/grub-mkrescue.in: Use mktemp with explicit template.
23425
b1f6d291
VS
234262010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23427
23428 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
23429
2ac227c7
VS
234302010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23431
23432 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
23433 right pointer.
23434
8f9a632b
VS
234352010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
23436
23437 Fix FreeBSD compilation.
23438
23439 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
23440 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
23441
60b03859
VS
234422010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
23443
23444 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
23445
48a5a769
VS
234462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23447
23448 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
23449
3ab4bd77
VS
234502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23451
23452 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
23453
d116e0d8
RM
234542010-03-04 Robert Millan <rmh.grub@aybabtu.com>
23455
23456 Support relative image path in theme file.
23457
23458 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
23459 (image_set_property): Handle theme_dir and relative path.
23460
c7ef54aa
VS
234612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23462
23463 * configure.ac: Alias amd64 to x86_64.
23464
fcee14ed
VS
234652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23466
23467 * NEWS: mention multiboot on EFI.
23468
d0780363
VS
234692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23470
23471 * kern/main.c (grub_load_modules): Handle errors from init functions of
23472 embeded modules.
23473
41168ea4
VS
234742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23475
23476 * normal/autofs.c (autoload_fs_module): Handle errors.
23477
b54d93ac
VS
234782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23479
23480 Disable linux.mod on qemu-mips since it's not functional and leads
23481 to compilation failure.
23482
23483 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
23484 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
23485 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
23486 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
23487 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
23488 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
23489 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
23490 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
23491 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
23492 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
23493 Reported by: BVK Chaitanya
23494
fc8345da
JU
234952010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
23496
23497 * INSTALL: Add gettext as a dependency and add qemu to a new section
23498 "Prerequisites for make-check".
23499
4760f979
CF
235002010-03-04 Christian Franke <franke@computer.org>
23501
23502 * util/grub-pe2elf.c: Add missing include "progname.h".
23503
f209b5b2
VS
235042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23505
23506 * normal/crypto.c (read_crypto_list): Fix a typo.
23507 Reported by: Seth Goldberg.
23508
b4b7be98
VS
235092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23510
23511 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 23512 Reported by: Seth Goldberg.
b4b7be98 23513
c0ee0385
VS
235142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23515
23516 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
23517 ascii.bitmaps.
23518
a8efbf64
VS
235192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23520
23521 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 23522 Reported by: Seth Goldberg.
a8efbf64 23523
08dcd913
VS
235242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23525
23526 * util/i386/efi/grub-install.in: Copy gettext files.
23527
c4d0b332
VS
235282010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23529
23530 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
23531
c6f2fe52
VS
235322010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23533
23534 Wait for user entry basing on presence of output rather than on errors.
23535
23536 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
23537 (grub_install_newline_hook): Likewise.
23538 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
23539 * normal/menu.c (show_menu): Check line_counter to determine presence
23540 of output.
23541 * normal/term.c (grub_normal_line_counter): New variable.
23542 (grub_normal_get_line_counter): New function.
23543 (grub_install_newline_hook): Likewise.
23544
5382b1e4
VS
235452010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23546
23547 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
23548
5519963b
VS
235492010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23550
23551 * configure.ac: Update version to 1.98.
23552
72b28631
VS
235532010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
23554
23555 * util/grub.d/10_linux.in (linux_entry): Don't default to
23556 gfxpayload=keep if Linux doesn't support video handover.
23557
c140a180
VS
235582010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
23559
23560 Don't compile video modules on yeeloong since video subsystem is part
23561 of kernel.
23562
23563 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
23564 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
23565 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
23566 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
23567 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
23568 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
23569 * include/grub/bitmap_scale.h: Likewise.
23570 * include/grub/bufio.h: Likewise.
23571 * include/grub/font.h: Likewise.
23572 * include/grub/gfxterm.h: Likewise.
23573 * include/grub/video.h: Likewise.
23574 * include/grub/vbe.h: Don't include video_fb.h.
23575 * video/i386/pc/vbe.c: Include video_fb.h.
23576 * commands/i386/pc/vbetest.c: Include video.h.
23577
a0ca21c2
CW
235782010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
23579
23580 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
23581 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
23582 default entry if GRUB_SAVEDEFAULT=true. This allows using
23583 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
23584 saving a new default on every boot.
23585
4a8a763c
VS
235862010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
23587
23588 * normal/crypto.c (read_crypto_list): Fix a memory leak.
23589 * normal/term.c (read_terminal_list): Likewise.
23590 * normal/main.c (grub_normal_init_page): Likewise.
23591 (grub_normal_read_line_real): Likewise.
23592
607ffde2
VS
235932010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
23594
23595 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
23596 memory leak.
23597 Reported by: Seth Goldberg.
23598
2b8fa975
CW
235992010-02-24 Joey Korkames <joey+lists@kidfixit.com>
23600
23601 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
23602 duplicate declaration of `start'.
23603
618307dd
VS
236042010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23605
23606 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
23607 filename.
23608 Reported by: Georgy Buranov
23609
7dd05b96 236102010-02-20 Carles Pina i Estany <carles@pina.cat>
23611
23612 * util/grub-mkrawimage.c (usage): Change string formatting to
23613 improve gettext.
23614
d1484a42
MRA
236152010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
23616
23617 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
23618 backspace keys.
23619
42b1d186
VS
236202010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23621
23622 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
23623 Reported by: Michael Suchanek.
23624
236252010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
23626
23627 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
23628 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
23629
d9f31a41
VS
236302010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
23631
23632 Remove any reference to non-free fonts.
23633
23634 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
23635 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
23636 uses non-free components.
23637 * font/font.c (grub_font_get_name): Remove example name.
23638 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
23639 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
23640 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
23641 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
23642
2793c71e
GB
236432010-02-16 Georgy Buranov <gburanov@gmail.com>
23644
23645 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
23646
402e3779
VS
236472010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
23648
23649 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
23650 Double divisor.
23651 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
23652 features.
23653 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
23654
0dd1e0dd
VS
236552010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
23656
23657 * gensymlist.sh.in: Use TARGET_CC instead of CC.
23658
6fa7cfce
ST
236592010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23660
23661 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
23662 * docs/grub.texi (Command-line and menu entry commands): Document play
23663 command.
23664
37c8483b
ST
236652010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23666
23667 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
23668 parse arguments as inline tempo and notes. Move code for playing notes
23669 to...
23670 (play): ... new function.
23671
14da0fb7
ST
236722010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23673
23674 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
23675 grub_uint16_t instead of short.
23676 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
23677 disk from little endian to cpu endianness.
23678
04459e70
ST
236792010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
23680
23681 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
23682 GRUB_TICKS_PER_SECOND instead of 120.
23683
a0876943
VS
236842010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23685
23686 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
23687 escape sequence after \e.
23688
e29f95dc
VS
236892010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23690
23691 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
23692 non-ASCII characters.
23693
d27859b2
VS
236942010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23695
23696 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
23697 set root in single quotes to prevent \, from being unescaped.
23698
bc028f2f
VS
236992010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23700
23701 Prevent unknown commands from stopping menuentry execution.
23702
23703 * script/execute.c (grub_script_execute_cmdline): Print error after
23704 unknown command.
23705
095f5f82
VS
237062010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23707
23708 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
23709 Reported by: Pavel Pisa.
23710
8c717950
VS
237112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23712
23713 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
23714
904935c3
VS
237152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23716
23717 Merge grub_ieee1275_map_physical into grub_map and rename to
23718 grub_ieee1275_map
23719
23720 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
23721 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
23722 Remove.
23723 * kern/ieee1275/openfw.c (grub_map): Rename to ...
23724 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
23725 necessary.
23726 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
23727
5b59a4e3
VS
237282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23729
23730 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
23731 opening and not after.
23732
69e137e8
VS
237332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23734
23735 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
23736 constants.
23737
2c0fcc36
VS
237382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23739
23740 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
23741 (alloc_phys): Use ALIGN_UP instead of align_addr.
23742
8c6052ce
VS
237432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23744
23745 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
23746
17cec782
VS
237472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23748
23749 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
23750
e0128bbd
VS
237512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23752
23753 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
23754 verbose dprintf.
23755
ca62070b
VS
237562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23757
23758 Fix over-4GiB seek on sparc64.
23759
23760 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
23761 Replace pos_i and pos_lo with pos. All users updated.
23762 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
23763 New constant.
23764 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
23765 Likewise.
23766 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
23767 and pos_lo.
23768
bdca2607
VS
237692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23770
23771 * util/grub-mkrawimage.c (main): Call set_program_name.
23772
da278c4d
VS
237732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23774
23775 Properly align 64-bit targets.
23776
23777 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
23778 (generate_image): Use ALIGN_ADDR.
23779
b274d734
VS
237802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23781
23782 Properly create cross-endian images.
23783
23784 * include/grub/types.h (grub_host_to_target_addr): New macro
23785 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
23786
82da2062
VS
237872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23788
23789 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
23790
7cae4377
VS
237912010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23792
23793 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
23794
23795 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
23796 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
23797 (grub_linux_boot): Divide by 64K when on VESA.
23798
65a533e7
VS
237992010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23800
23801 Support GRUB_GFXPAYLOAD_LINUX.
23802
23803 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
23804 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
23805
dd01d397
VS
238062010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23807
23808 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
23809 to show messages instead of discarding them.
23810 Process errors after executing command and not before. Keep old method
23811 too as precaution.
23812
660960d6
VS
238132010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
23814
23815 * configure.ac: Check for ft2build.h.
23816
62509f04
VS
238172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23818
23819 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
23820
473df63d
VS
238212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23822
23823 * genkernsyms.sh.in: Use TARGET_CC.
23824
c98d2a13
CW
238252010-02-07 Colin Watson <cjwatson@ubuntu.com>
23826
23827 * NEWS: Update.
23828
6e14234c
VS
238292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23830
23831 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
23832 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
23833 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 23834
b255e9cf
YB
238352010-02-07 Yves Blusseau <blusseau@zetam.org>
23836
6e14234c 23837 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 23838
98e6959d
VS
238392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23840
23841 Fix warnings in grub-emu when compiling with maximum warning options.
23842
23843 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
23844 (grub_arch_modules_addr): Return 0 and not NULL.
23845 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 23846 (xstrdup): Use newstr instead of dup.
f88d801b
VS
23847 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
23848 of disk to dsk to avoid shadowing.
74e4934e
VS
23849 (find_free_slot): Fix prototype.
23850 * util/getroot.c (grub_util_is_dmraid): Make static.
23851 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
23852 Add missing prototype.
23853 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 23854
74e31b5c
VS
238552010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23856
23857 * loader/i386/linux.c (grub_linux_setup_video): Handle error
23858 appropriately.
23859
6b2ad14b
VS
238602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23861
23862 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
23863 code out.
23864
8f891adc
VS
238652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23866
23867 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
23868 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
23869 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
23870 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
23871 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
23872 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
23873
74b45184
VS
238742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23875
23876 * include/grub/err.h (grub_err_printf): Don't export.
23877
a4bced77
VS
238782010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23879
23880 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
23881
007d0695
VS
238822010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23883
23884 * include/grub/i18n.h (grub_gettext_dummy): Removed.
23885 * kern/misc.c (grub_gettext_dummy): Make static.
23886
b6c0d9c2
VS
238872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23888
23889 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
23890 by non-valid ones.
23891 * kern/term.c (grub_putchar): Likewise.
23892
f51a90d0
VS
238932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23894
23895 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
23896 buggy hook call and memory leak.
23897
6846cec5
VS
238982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23899
23900 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
23901
468d69fe
VS
239022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23903
23904 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
23905
51906b8c
VS
239062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23907
23908 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
23909 modevar.
23910 Return grub_errno on allocation error.
23911
09706ce5
VS
239122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23913
23914 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
23915
911df80c
YB
239162010-02-06 Yves Blusseau <blusseau@zetam.org>
23917
23918 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
23919 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
23920
3746a6bc
VS
239212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23922
23923 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
23924 non-pxe disk.
23925 (grub_pxefs_open): Likewise.
23926
09706ce5
VS
239272010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23928
23929 * util/grub.d/10_hurd.in: Add --class information to menuentries.
23930 * util/grub.d/10_kfreebsd.in: Likewise.
23931 * util/grub.d/10_linux.in: Likewise.
23932
7cc192d9
VS
239332010-02-06 Colin D Bennett <colin@gibibit.com>
23934
23935 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
23936 (gfxmenu_mod_SOURCES): New variable.
23937 (gfxmenu_mod_CFLAGS): Likewise.
23938 (gfxmenu_mod_LDFLAGS): Likewise.
23939 * include/grub/term.h (grub_term_set_current_output): Declare
23940 argument as const.
23941 * docs/gfxmenu-theme-example.txt: New file.
23942 * gfxmenu/gfxmenu.c: Likewise.
23943 * gfxmenu/gui_box.c: Likewise.
23944 * gfxmenu/gui_canvas.c: Likewise.
23945 * gfxmenu/gui_circular_progress.c: Likewise.
23946 * gfxmenu/gui_image.c: Likewise.
23947 * gfxmenu/gui_label.c: Likewise.
23948 * gfxmenu/gui_list.c: Likewise.
23949 * gfxmenu/gui_progress_bar.c: Likewise.
23950 * gfxmenu/gui_string_util.c: Likewise.
23951 * gfxmenu/gui_util.c: Likewise.
23952 * gfxmenu/icon_manager.c: Likewise.
23953 * gfxmenu/model.c: Likewise.
23954 * gfxmenu/named_colors.c: Likewise.
23955 * gfxmenu/theme_loader.c: Likewise.
23956 * gfxmenu/view.c: Likewise.
23957 * gfxmenu/widget-box.c: Likewise.
23958 * include/grub/gfxmenu_model.h: Likewise.
23959 * include/grub/gfxmenu_view.h: Likewise.
23960 * include/grub/gfxwidgets.h: Likewise.
23961 * include/grub/gui.h: Likewise.
23962 * include/grub/gui_string_util.h: Likewise.
23963 * include/grub/icon_manager.h: Likewise.
23964
239652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23966
23967 Agglomerate scrolling in gfxterm.
23968
23969 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
23970 (grub_virtual_screen_setup): Initialise 'total_screen'.
23971 (write_char): Split to ...
23972 (paint_char): ... this ...
23973 (write_char): ... and this.
23974 (paint_char): Handle delayed scrolling.
23975 (draw_cursor): Likewise.
23976 (scroll_up): Split to ...
23977 (real_scroll): ... this ...
23978 (scroll_up): ... and this.
23979 (real_scroll): Handle multi-line scroll and draw below-the-bottom
23980 characters.
23981 (grub_gfxterm_refresh): Call real_scroll.
23982
239832010-02-06 Colin D Bennett <colin@gibibit.com>
23984
23985 * include/grub/misc.h (grub_iscntrl): New inline function.
23986 (grub_isalnum): Likewise.
23987 (grub_strtol): Likewise.
23988
239892010-02-06 Colin D Bennett <colin@gibibit.com>
23990
23991 * normal/menu_text.c (get_entry_number): Move from here ...
23992 * normal/menu.c (get_entry_number): ... moved here.
23993 * include/grub/menu.h (grub_menu_get_default_entry_index):
23994 New prototype.
23995 * normal/menu.c (grub_menu_get_default_entry_index): New function.
23996 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
23997 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
23998 (grub_menu_viewer_should_return): Likewise.
23999 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
24000 * normal/menu_text.c (run_menu): Enable menu switching.
24001 * normal/menu_viewer.c (should_return): New variable.
24002 (menu_viewer_changed): Likewise.
24003 (grub_menu_viewer_show_menu): Handle menu viewer changes.
24004 (grub_menu_viewer_should_return): New function.
24005 (menuviewer_write_hook): Likewise.
24006 (grub_menu_viewer_init): Likewise.
24007
240082010-02-06 Colin D Bennet <colin@gibibit.com>
240092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24010
24011 Support for gfxterm in a window.
24012
24013 * include/grub/gfxterm.h: New file.
24014 * include/grub/video.h (struct grub_video_rect): New declaration.
24015 (grub_video_rect_t): Likewise.
24016 * term/gfxterm.c (struct grub_gfxterm_window): New type.
24017 (refcount): New variable.
24018 (render_target): Likewise.
24019 (window): Likewise.
24020 (repaint_callback): Likewise.
24021 (grub_virtual_screen_setup): Use 'render_target'.
24022 (init_window): New function.
24023 (grub_gfxterm_init_window): Likewise.
24024 (grub_gfxterm_init): Check reference counter.
24025 Use init_window.
24026 (destroy_window): New function.
24027 (grub_gfxterm_destroy_window): Likewise.
24028 (grub_gfxterm_fini): Check reference counter.
24029 Use destroy_window.
24030 (redraw_screen_rect): Restore viewport.
24031 Use 'render_target' and 'window'.
24032 Call 'repaint_callback'.
24033 (write_char): Use 'render_target'.
24034 (draw_cursor): Likewise.
24035 (scroll_up): Restore viewport.
24036 Use 'render_target' and 'window'.
24037 Call 'repaint_callback'.
24038 (grub_gfxterm_cls): Likewise.
24039 (grub_gfxterm_refresh): Use 'window'.
24040 (grub_gfxterm_set_repaint_callback): New function.
24041 (grub_gfxterm_background_image_cmd): Use 'window'.
24042 (grub_gfxterm_get_term): New function.
24043 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
24044
240452010-02-06 Colin D Bennett <colin@gibibit.com>
24046
24047 Bitmap scaling support.
24048
24049 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
24050 (bitmap_scale_mod_SOURCES): New variable.
24051 (bitmap_scale_mod_CFLAGS): Likewise.
24052 (bitmap_scale_mod_LDFLAGS): Likewise.
24053 * include/grub/bitmap_scale.h: New file.
24054 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
24055 (background_image_cmd_options): New variable.
24056 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
24057 (cmd): Rename and change type to ...
24058 (background_image_cmd_handle): ... this. All users updated.
24059 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
24060 * video/bitmap_scale.c: New file.
24061
240622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24063
24064 SDL support.
24065
24066 * Makefile.in (LIBSDL): New variable.
24067 (enable_grub_emu_sdl): Likewise.
24068 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
24069 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
24070 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
24071 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
24072 * util/sdl.c: New file.
24073
240742010-02-06 Colin D Bennett <colin@gibibit.com>
240752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24076
24077 Double buffering support.
24078
24079 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
24080 * include/grub/video.h: Update comment.
24081 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
24082 New type.
24083 (grub_video_fb_doublebuf_blit_init): New prototype.
24084 * term/gfxterm.c (scroll_up): Support double buffering.
24085 (grub_gfxterm_refresh): Likewise.
24086 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
24087 (grub_video_fb_doublebuf_blit_init): Likewise.
24088 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
24089 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
24090 'displayed_page', 'render_page' and 'update_screen'.
24091 (grub_video_vbe_fini): Free offscreen buffer.
24092 (doublebuf_pageflipping_commit): New function.
24093 (doublebuf_pageflipping_update_screen): Likewise.
24094 (doublebuf_pageflipping_init): Likewise.
24095 (double_buffering_init): Likewise.
24096 (grub_video_vbe_setup): Enable doublebuffering.
24097 (grub_video_vbe_swap_buffers): Implement.
24098 (grub_video_vbe_set_active_render_target): Handle double buffering.
24099 (grub_video_vbe_get_active_render_target): Likewise.
24100 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
24101 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
24102 (grub_video_vbe_enable_double_buffering): Likewise.
24103 (grub_video_vbe_swap_buffers): Use update_screen.
24104 (grub_video_set_mode): Use double buffering.
24105
241062010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24107
24108 * maintainance/gentrigtables.py: Remove.
24109 * lib/trig.c: Likewise.
24110
24111 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
24112
24113 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
24114 `trigtables.c'.
24115 (trigtables.c): New rule.
24116 (gentrigtables): Likewise.
24117 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
24118
241192010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24120
24121 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
24122 integer constants.
24123
241242010-02-06 Colin D Bennet <colin@gibibit.com>
24125
24126 Trigonometry support.
24127
24128 * include/grub/trig.h: New file.
24129 * lib/trig.c: Likewise.
24130 * maintainance/gentrigtables.py: Likewise.
24131 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
24132 (trig_mod_SOURCES): New variable.
24133 (trig_mod_CFLAGS): Likewise.
24134 (trig_mod_LDFLAGS): Likewise.
24135
5562834e
VS
241362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24137
24138 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
24139 disk devices.
24140
4f8528fc
VS
241412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24142
24143 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
24144 error.
24145
2b4068e9
VS
241462010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
24147
24148 * util/hostdisk.c (open_device): Don't use partition device when reading
24149 before the partition.
24150 (grub_util_biosdisk_read): Don't read from partition and before the
24151 partition in single operation.
24152 (grub_util_biosdisk_write): Don't write to partition and before the
24153 partition in single operation.
24154
399f6e4d
TL
241552010-02-03 Torsten Landschoff <torsten@debian.org>
24156
24157 * kern/disk.c (grub_disk_read): Fix offset computation when reading
24158 last sectors.
24159
996649b0
VS
241602010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
24161
24162 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
24163 CDROM reads.
24164 (grub_biosdisk_write): Refuse to write to CDROM.
24165
3b205d4d
VS
241662010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
24167
24168 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
24169
61e89d9d
VS
241702010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
24171
24172 * font/font.c (find_glyph): Check that bmp_idx is available before
24173 using it.
24174 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
24175 with (font == NULL).
24176
bf7fcba2
CS
241772010-01-28 Christian Schmitt <chris@ilovelinux.de>
24178
24179 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
24180
f45d2663
BC
241812010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
24182
24183 * include/grub/script_sh.h (sourcecode): Add const qualifier.
24184 * util/grub-script-check.c (getline): Fix empty lines case.
24185
ec1444e6
RM
241862010-01-28 Robert Millan <rmh.grub@aybabtu.com>
24187
24188 * Makefile.in (check): Exit with fail status when one of the tests
24189 fails.
24190 * tests/example_functional_test.c (example_test): Fix reversed assert.
24191 * tests/example_unit_test.c (example_test): Likewise.
24192
2e1cb9bb
CW
241932010-01-28 Colin Watson <cjwatson@ubuntu.com>
24194
24195 * util/grub.d/10_linux.in: This script does not use any of the
24196 contents of gettext.sh, only the external command `gettext', so stop
24197 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
24198 the same prefix as GRUB.)
24199 * util/grub.d/10_kfreebsd.in: Likewise.
24200
63533ab0
VS
242012010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24202
24203 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
24204 of the line.
24205
989e1f93
VS
242062010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24207
24208 * kern/disk.c (grub_disk_read): Fix offset computation when reading
24209 last sectors.
24210
e709ebe2
VS
242112010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24212
24213 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
24214 having a 4KiB and not 32KiB buffer size.
24215
27dea7ed
RM
242162010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24217
24218 * util/hostfs.c: Include `<errno.h>'.
24219 (grub_hostfs_read): Handle errors from fseeko() and fread().
24220
67667b9c
RM
242212010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24222
24223 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
24224 loop when using read hooks on files whose size isn't sector-aligned.
24225
c294d9d8
RM
242262010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24227
24228 Remove unused parameter.
24229
24230 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
24231 (grub_iso9660_open): Remove initialization of `data->length'.
24232
af75a9f1
RM
242332010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24234
24235 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
24236 memleak conditions.
24237
254e2ce5 242382010-01-27 Carles Pina i Estany <carles@pina.cat>
24239
24240 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
24241 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
24242
b510928c 242432010-01-26 Carles Pina i Estany <carles@pina.cat>
24244
24245 * util/bin2h.c (usage): Fix warning (space after backslash).
24246
aa2f9dd2 242472010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 24248
24249 * font/font.c: Include `grub/fontformat.h.
24250 Remove font file format constants.
24251 (grub_font_load): Use the new macros.
24252 * include/grub/fontformat.h: New file.
24253 * util/grub-mkfont.c: Include `grub/fontformat.c'.
24254 (write_font_pf2): Use the new macros.
24255
94e7e712
RM
242562010-01-26 Robert Millan <rmh.grub@aybabtu.com>
24257
24258 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
24259 does.
24260
3973a59a
RM
242612010-01-26 Robert Millan <rmh.grub@aybabtu.com>
24262
24263 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
24264
24265 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
24266 (_start): Macroify `0x7F'.
24267
24268 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
24269 (make_install_device): Use "(pxe)" as fallback prefix when booting
24270 via PXE.
24271
42e0cba3
GS
242722010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
24273
24274 * configure.ac: Reset LIBS after check for libgcc symbols.
24275
847effd8
CW
242762010-01-25 Colin Watson <cjwatson@ubuntu.com>
24277
24278 * util/hostdisk.c (open_device): Add trailing newline to debug
24279 message.
24280
ea4a7e35
GS
242812010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
24282
24283 * configure.ac: Check for `limits.h'.
24284 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
24285
67951a53
RM
242862010-01-24 Robert Millan <rmh.grub@aybabtu.com>
24287
24288 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
24289 capitalize error strings.
24290
c273d4ce
ST
242912010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
24292
24293 * util/grub.d/10_hurd.in: Add a recovery mode.
24294
69be5b74
VS
242952010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
24296
24297 * configure.ac: Check for libgcc symbols with -nostdlib.
24298
fc9e5810
BC
242992010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
24300
24301 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
24302
4b358c0a
VS
243032010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
24304
24305 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
24306 stack since heap may be unavailable at that point.
24307 (grub_ofconsole_gotoxy): Likewise.
24308
454fcd1c
VS
243092010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
24310
24311 * configure.ac: Check for _restgpr_14_x.
24312 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
24313 and _savegpr_* prototypes.
24314
566863ca
RM
243152010-01-22 Robert Millan <rmh.grub@aybabtu.com>
24316
24317 Use generic grub_reboot() for i386-efi.
24318
24319 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
24320 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
24321 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
24322
bf86e59a
VS
243232010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
24324
24325 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
24326 presence of "prefix" variable as it breaks when normal.mod is
24327 embedded.
24328
d645e0f8
VS
243292010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24330
24331 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
24332 stack since heap is unavailable at that point.
24333
f9ab2e25
VS
243342010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24335
24336 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
24337 (grub_freebsd_bootinfo): Rewritten.
24338 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
24339
01fc7054
VS
243402010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24341
24342 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
24343
caab4fd6
RM
243442010-01-21 Robert Millan <rmh.grub@aybabtu.com>
24345
24346 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
24347 domain now.
24348
67eb1427
FZ
243492010-01-20 Felix Zielcke <fzielcke@z-51.de>
24350
24351 * util/misc.c (make_system_path_relative_to_its_root): Change the work
24352 around for handling "/" to the correct fix. Fix a memory leak. Use
24353 xstrdup instead of strdup.
24354
a9ed4ff3
VS
243552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24356
24357 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
24358
243592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
24360
24361 Optimise glyph lookup by Basic Multilingual Plane lookup array.
24362
24363 * font/font.c (struct grub_font): New member 'bmp_idx'.
24364 (font_init): Initialise 'bmp_idx'.
24365 (load_font_index): Fill 'bmp_idx'.
24366 (find_glyph): Make inline. Use bmp_idx for BMP characters.
24367
48209f4f
VS
243682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24369
24370 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
24371 unnecessary calls.
24372
9f0a4bb7
VS
243732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24374
24375 Move context handling out of the kernel.
24376
24377 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
24378 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
24379 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
24380 * conf/i386-efi.rmk: Likewise.
24381 * conf/i386-ieee1275.rmk: Likewise.
24382 * conf/i386-pc.rmk: Likewise.
24383 * conf/powerpc-ieee1275.rmk: Likewise.
24384 * conf/sparc64-ieee1275.rmk: Likewise.
24385 * conf/x86_64-efi.rmk: Likewise.
24386 * include/grub/env.h: Include grub/menu.h.
24387 (grub_env_var_type): Removed.
24388 (grub_env_var): Replaced field 'type' with 'global'.
24389 (grub_env_find): New prototype.
24390 (grub_env_context_open): Remove EXPORT_FUNC.
24391 (grub_env_context_close): Likewise.
24392 (grub_env_export): Likewise.
24393 (grub_env_set_data_slot): Removed.
24394 (grub_env_get_data_slot): Likewise.
24395 (grub_env_unset_data_slot): Likewise.
24396 (grub_env_unset_menu): New prototype.
24397 (grub_env_set_menu): Likewise.
24398 (grub_env_get_menu): Likewise.
24399 * include/grub/env_private.h: New file.
24400 * include/grub/normal.h (grub_context_init): New prototype.
24401 (grub_context_fini): Likewise.
24402 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
24403 * normal/context.c (grub_cmd_export): ... to here.
24404 * kern/env.c: Include env_private.h.
24405 (HASHSZ): Moved to include/grub/env_private.h.
24406 (grub_env_context): Likewise.
24407 (grub_env_sorted_var): Likewise.
24408 (current_context): Renamed from this ...
24409 (grub_current_context): ...to this. 'static' removed. All users updated.
24410 (grub_env_find): Removed 'static'.
24411 (grub_env_context_open): Moved to normal/context.c.
24412 (grub_env_context_close): Likewise.
24413 (grub_env_export): Likewise.
24414 (mangle_data_slot_name): Removed.
24415 (grub_env_set_data_slot): Likewise.
24416 (grub_env_get_data_slot): Likewise.
24417 (grub_env_unset_data_slot): Likewise.
24418 * kern/main.c (grub_set_root_dev): Don't export root.
24419 It will be done later.
24420 (grub_main): Don't export prefix.
24421 It will be done later.
24422 * normal/context.c: New file.
24423 * normal/main.c (free_menu): Use grub_env_unset_menu.
24424 (grub_normal_add_menu_entry): Use grub_env_get_menu.
24425 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
24426 (GRUB_MOD_INIT(normal)): Call grub_context_init.
24427 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
24428
8dd35b8c
VS
244292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24430
24431 setpci support.
24432
24433 * commands/setpci.c: New file.
24434 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
24435 (setpci_mod_SOURCES): New variable.
24436 (setpci_mod_CFLAGS): Likewise.
24437 (setpci_mod_LDFLAGS): Likewise.
24438
449193d5
VS
244392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24440
24441 Byte-addressable PCI configuration space.
24442
24443 * bus/pci.c (grub_pci_make_address): Use byte address instead of
24444 dword address.
24445 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
24446 GRUB_PCI_REG_CACHELINE.
24447 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
24448 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
24449 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
24450 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
24451 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
24452 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
24453 grub_pci_make_address.
24454 (lock_rom_area): Likewise.
24455 * commands/lspci.c (grub_lspci_iter): Use macroses
24456 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
24457 of grub_pci_make_address.
24458 * disk/ata.c (grub_ata_pciinit): Likewise.
24459 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
24460 (GRUB_PCI_REG_VENDOR): Likewise.
24461 (GRUB_PCI_REG_DEVICE): Likewise.
24462 (GRUB_PCI_REG_COMMAND): Likewise.
24463 (GRUB_PCI_REG_STATUS): Likewise.
24464 (GRUB_PCI_REG_REVISION): Likewise.
24465 (GRUB_PCI_REG_CLASS): Likewise.
24466 (GRUB_PCI_REG_CACHELINE): Likewise.
24467 (GRUB_PCI_REG_LAT_TIMER): Likewise.
24468 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
24469 (GRUB_PCI_REG_BIST): Likewise.
24470 (GRUB_PCI_REG_ADDRESSES): Likewise.
24471 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24472 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24473 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24474 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24475 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24476 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24477 (GRUB_PCI_REG_CIS_POINTER): Likewise.
24478 (GRUB_PCI_REG_SUBVENDOR): Likewise.
24479 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
24480 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
24481 (GRUB_PCI_REG_CAP_POINTER): Likewise.
24482 (GRUB_PCI_REG_IRQ_LINE): Likewise.
24483 (GRUB_PCI_REG_IRQ_PIN): Likewise.
24484 (GRUB_PCI_REG_MIN_GNT): Likewise.
24485 (GRUB_PCI_REG_MAX_LAT): Likewise.
24486 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
24487 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
24488 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 24489 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
24490 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
24491 space.
24492
96d73208
RM
244932010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24494
24495 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
24496 can be reliably determined to be supported.
24497
d4484482
RM
244982010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24499
24500 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
24501 that VESA is supported.
24502 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
24503 supported.
24504
00308ecf
VS
245052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24506
24507 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
24508
f66924a4
RM
245092010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24510
24511 * util/misc.c (make_system_path_relative_to_its_root): Work around
24512 special-casing of "/", as previous incarnation of this routine did.
24513
cbca0ada
VS
245142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24515
24516 Fix any-emu compilation.
24517
24518 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
24519 * grub_bin2h_SOURCES: New variable.
24520
34a66d99
RM
245212010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24522
24523 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
24524
94fabf58
RM
245252010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24526
24527 * util/grub.d/00_header.in: Fix handling of locale_dir.
24528
02cf98ca
VS
245292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24530
24531 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
24532 as possible unifont location (Gentoo).
24533 Reported by: Alexander Brüning
24534
327dbcd7
VS
245352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24536
24537 Don't try to generate lists for kernel.img.
24538
24539 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
24540 (pkglib_MODULES): Remove kernel.img.
24541 (kernel_img_EXPORTS): Removed.
24542 (kernel_img_RELOCATABLE): New variable.
24543 * conf/x86_64-efi.rmk: Likewise.
24544 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
24545
ca467290
VS
245462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24547
24548 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
24549 grub_xasprintf or grub_snprintf.
24550 (grub_vsprintf): Likewise.
24551 (grub_snprintf): New proto.
24552 (grub_vsnprintf): Likewise.
24553 (grub_xasprintf): Likewise.
24554 (grub_xvasprintf): Likewise.
24555 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
24556 (grub_sprintf): Removed.
24557 (grub_vsnprintf): New function.
24558 (grub_snprintf): Likewise.
24559 (grub_xvasprintf): Likewise.
24560 (grub_xasprintf): Likewise.
24561 (grub_vsprintf): Renamed to ...
24562 (grub_vsnprintf_real): ...this. New argument max_len.
24563
aca655fd
BC
245642010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
24565
24566 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
24567 fix grub-script-check warning.
24568
7ee92c32
VS
245692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24570
24571 * include/grub/font.h (grub_font_load): Fix prototype.
24572
f80927ca
VS
245732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24574
24575 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
24576
119c50ea
VS
245772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24578
24579 * include/grub/x86_64/at_keyboard.h: New file.
24580
47d5f3c1
VS
245812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24582
24583 * loader/mips/linux.c: Include missing grub/i18n.h.
24584
55ff5266
RM
245852009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24586
24587 * normal/menu.c (notify_execution_failure): Clarify error message.
24588
c893cc87
RM
245892009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24590
24591 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
24592 return value (and revert all return statements). Update users.
24593
917dd370
CW
245942010-01-20 Dan Merillat <debian@dan.merillat.org>
24595
24596 * kern/device.c (grub_device_iterate): Allocate new part_ent
24597 structure based on sizeof (*p) rather than sizeof (p->next), to
24598 account for structure padding.
24599
24600 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
24601 disk is NULL, which might happen for LVM physical volumes with no
24602 LVM signature.
24603
d4a4ee57
RM
246042009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24605
24606 * loader/mips/linux.c (grub_cmd_initrd)
24607 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
24608
246092009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24610
24611 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
24612 (grub_video_video_init, grub_video_bitmap_init)
24613 (grub_font_manager_init, grub_term_gfxterm_init)
24614 (grub_at_keyboard_init): New extern declarations.
24615 (grub_machine_init): Initialize gfxterm and at_keyboard.
24616
24617 * kern/main.c (grub_main): Revert grub_printf delay kludge.
24618
24619 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
24620 `gfxterm.mod' into core image.
24621
24622 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24623 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24624 (kernel_img_FORMAT): Copy to ...
24625
24626 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24627 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24628 (kernel_img_FORMAT): ... here, and ...
24629
24630 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24631 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24632 (kernel_img_FORMAT): ... here.
24633
24634 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
24635 and input (at_keyboard) terminals in kernel.
24636 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
24637
24638 (pkglib_MODULES): Remove `pci.mod'.
24639 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
24640 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
24641 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24642 (at_keyboard_mod_LDFLAGS): Remove variables.
24643
246442010-01-11 Felix Zielcke <fzielcke@z-51.de>
24645
24646 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
24647
246482009-12-10 Robert Millan <rmh.grub@aybabtu.com>
24649
24650 * include/grub/mips/libgcc.h: Only export symbols for functions
24651 that libgcc provides.
24652
246532009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
24654
24655 MIPS support.
24656
24657 * bus/bonito.c: New file.
24658 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
24659 GRUB_PCI_NUM_DEVICES.
24660 * term/i386/pc/serial.c: Move to ...
24661 * term/serial.c: ... here. All users updated.
24662 * util/i386/pc/grub-mkimage.c: Move to ...
24663 * util/grub-mkrawimage.c: ... here. All users updated.
24664 * term/i386/pc/at_keyboard.c: Move to ...
24665 * term/at_keyboard.c: ... here. All users updated.
24666 * conf/mips-qemu-mips.rmk: New file.
24667 * conf/mips-yeeloong.rmk: Likewise.
24668 * conf/mips.rmk: Likewise.
24669 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
24670 mipsel-qemu-mips.
24671 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
24672 to port addresses.
24673 (grub_ata_pciinit): Support CS5536.
24674 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
24675 * font/font_cmd.c (loadfont_command): Open file before passing it to
24676 grub_font_load.
24677 (pseudo_file_read): New function.
24678 (pseudo_file_close): Likewise.
24679 (pseudo_fs): New structure.
24680 (load_font_module): New function.
24681 (GRUB_MOD_INIT(font_manager)): Load embedded font.
24682 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
24683 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
24684 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
24685 * include/grub/i386/at_keyboard.h: Split into ...
24686 * include/grub/at_keyboard.h: ... this ...
24687 * include/grub/i386/at_keyboard.h: ... and this.
24688 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
24689 New prototype.
24690 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
24691 updated.
24692 (grub_elf64_size): Likewise.
24693 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
24694 filename.
24695 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
24696 * include/grub/i386/coreboot/serial.h: Rewritten.
24697 * include/grub/i386/ieee1275/serial.h: Include
24698 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
24699 * include/grub/i386/pc/serial.h: Moved from here ...
24700 * include/grub/serial.h: ... to here. All users updated.
24701 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
24702 (GRUB_PCI_NUM_BUS): Likewise.
24703 (GRUB_PCI_NUM_DEVICES): Likewise.
24704 (grub_pci_device_map_range): Add missing volatile keyword.
24705 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
24706 * include/grub/mips/at_keyboard.h: New file.
24707 * include/grub/mips/cache.h: Likewise.
24708 * include/grub/mips/io.h: Likewise.
24709 * include/grub/mips/kernel.h: Likewise.
24710 * include/grub/mips/libgcc.h: Likewise.
24711 * include/grub/mips/pci.h: Likewise.
24712 * include/grub/mips/qemu-mips/boot.h: Likewise.
24713 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24714 * include/grub/mips/qemu-mips/loader.h: Likewise.
24715 * include/grub/mips/qemu-mips/memory.h: Likewise.
24716 * include/grub/mips/qemu-mips/serial.h: Likewise.
24717 * include/grub/mips/qemu-mips/time.h: Likewise.
24718 * include/grub/mips/relocator.h: Likewise.
24719 * include/grub/mips/time.h: Likewise.
24720 * include/grub/mips/types.h: Likewise.
24721 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
24722 * include/grub/mips/yeeloong/boot.h: Likewise.
24723 * include/grub/mips/yeeloong/kernel.h: Likewise.
24724 * include/grub/mips/yeeloong/loader.h: Likewise.
24725 * include/grub/mips/yeeloong/memory.h: Likewise.
24726 * include/grub/mips/yeeloong/pci.h: Likewise.
24727 * include/grub/mips/yeeloong/serial.h: Likewise.
24728 * include/grub/mips/yeeloong/time.h: Likewise.
24729 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
24730 * kern/elf.c (grub_elf32_size): New parameter. All users
24731 updated.
24732 (grub_elf64_size): Likewise.
24733 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
24734 Load modules before saying "Welcome to GRUB!".
24735 Call grub_refresh after saying "Welcome to GRUB!".
24736 * kern/mips/cache.S: New file.
24737 * kern/mips/cache_flush.S: Likewise.
24738 * kern/mips/dl.c: Likewise.
24739 * kern/mips/init.c: Likewise.
24740 * kern/mips/qemu-mips/init.c: Likewise.
24741 * kern/mips/startup.S: Likewise.
24742 * kern/mips/yeeloong/init.c: Likewise.
24743 * kern/term.c (grub_putcode): Handle NULL terminal.
24744 (grub_getcharwidth): Likewise.
24745 (grub_getkey): Likewise.
24746 (grub_checkkey): Likewise.
24747 (grub_getkeystatus): Likewise.
24748 (grub_getxy): Likewise.
24749 (grub_getwh): Likewise.
24750 (grub_gotoxy): Likewise.
24751 (grub_cls): Likewise.
24752 (grub_setcolorstate): Likewise.
24753 (grub_setcolor): Likewise.
24754 (grub_getcolor): Likewise.
24755 (grub_refresh): Likewise.
24756 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
24757 (write_jump): Add hatch nop.
24758 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
24759 * lib/mips/setjmp.S: New file.
24760 * loader/mips/linux.c: Likewise.
24761 * term/i386/pc/at_keyboard.c: Move from here ...
24762 * term/at_keyboard.c: ... to here.
24763 * term/i386/pc/serial.c: Moved from here ...
24764 * term/serial.c: ... to here. All users updated.
24765 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
24766 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
24767 (serial_translate_key_sequence): Avoid deadlock.
24768 (grub_serial_getkey): Handle backspace.
24769 (grub_serial_putchar): Fix newline handling.
24770 * util/i386/pc/grub-mkimage.c: Move from here ...
24771 * util/grub-mkrawimage.c: ... to here. All users updated.
24772 (generate_image): New parameters 'font_path' and 'format'.
24773 Support embedding font.
24774 Use grub_host_to_target* instead of grub_cpu_to_le*.
24775 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
24776 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
24777 (options): New option "--font".
24778 (usage): Likewise.
24779 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
24780 (main): Handle "--font".
24781 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
24782 (grub_virtual_screen_setup): Set bg_color_display.
24783 (redraw_screen_rect): Use bg_color_display instead of incorrect
24784 bg_color.
24785 (grub_gfxterm_cls): Likewise.
24786 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
24787 Support embedding config file.
24788 (add_segments): Likewise.
24789 (options): New option "--config".
24790 (main): Handle "--config".
24791 * video/sm712.c: New file.
24792
25c2b5b3
RM
247932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24794
24795 Fix parallel builds.
24796
24797 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
24798 font.c depend on ascii.h).
24799
248002010-01-12 Carles Pina i Estany <carles@pina.cat>
24801
24802 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
24803
248042010-01-11 Carles Pina i Estany <carles@pina.cat>
24805
24806 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
24807 By default: disabled.
24808 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
24809 parameter.
24810
248112010-01-10 Carles Pina i Estany <carles@pina.cat>
24812
24813 * font/font.c: Update copyright years.
24814 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
24815
248162010-01-10 Carles Pina i Estany <carles@pina.cat>
24817
24818 * font/font.c: Include `ascii.h'.
24819 (ASCII_BITMAP_SIZE): New macro.
24820 (ascii_font_glyph): Define.
24821 (ascii_glyph_lookup): New function.
24822 (grub_font_get_string_width): Change comment. If glyph not found, use
24823 ascii_glyph_lookup.
24824 (grub_font_get_glyph_with_fallback): If glyph not available returns
24825 ascii_glyph_lookup.
24826 * util/grub-mkfont.c (file_formats): New enum.
24827 (options): Add `ascii-bitmaps' new option.
24828 (usage): Add `asii-bitmaps' new option.
24829 (write_font_ascii_bitmap): New function.
24830 (write_font): Rename to ...
24831 (write_font_p2): ... this. Remove print_glyphs call.
24832 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
24833 used. Call print_glyphs.
24834 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
24835
248362010-01-14 Robert Millan <rmh.grub@aybabtu.com>
24837
24838 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
24839 (grub_bin2h_SOURCES): New variable.
24840 * util/bin2h.c: New file.
24841
915fc1b8
VS
248422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24843
24844 * include/multiboot.h: Resynced with spec.
24845 * include/multiboot2.h: Likewise.
24846 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
24847 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
24848
9444b678
RM
248492010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24850
24851 * include/grub/term.h (grub_term_register_input,
24852 grub_term_register_output): Check return of terminal init()
24853 routines, and abort if errors are raised.
24854
24855 * commands/terminal.c: Update copyright year.
24856
cba98e8d
RM
248572010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24858
24859 * commands/terminal.c (grub_cmd_terminal_input)
24860 (grub_cmd_terminal_output): Check return of terminal init()
24861 routines, and abort if errors are raised.
24862
6f7db5d6
VS
248632010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
24864
24865 * include/grub/i386/bsd.h: Fix include pathes.
24866
262bff8d
VS
248672010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
24868
24869 Add missing *BSD copyright headers.
24870
24871 * include/grub/aout.h: Add BSD licence.
24872 * include/grub/i386/bsd.h: Parts under different licences moved to ...
24873 * include/grub/i386/freebsd_linker.h: ... here,
24874 * include/grub/i386/freebsd_reboot.h: ... here,
24875 * include/grub/i386/netbsd_bootinfo.h: ... here,
24876 * include/grub/i386/netbsd_reboot.h: ... here,
24877 * include/grub/i386/openbsd_bootarg.h: ... here,
24878 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
24879 licence to each file.
24880
b2cab848
RM
248812010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24882
24883 * acinclude.m4: Remove `nop' assembly instruction; it's not
24884 implemented by all architectures.
24885
2cb6be4b
RM
248862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24887
24888 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
24889 ELILO. This is no longer necessary.
24890
a2eaee15
BC
248912010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
24892
24893 Added new tool, grub-scrit-check to verify grub.cfg syntax.
24894
24895 * util/grub-script-check.c: grub-script-check tool.
24896 * conf/common.rmk: Make rules for grub-script-check.
24897
88d17012
RM
248982010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24899
24900 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
24901 spotting it back in 2008. Shame on me for forgetting he did.
24902
24903 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
24904
8040619d
RM
249052010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24906
24907 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
24908 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
24909 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
24910 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
24911 (GRUB_VIDEO_TYPE_EFI): Rename to ...
24912 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
24913
a0c2a0f6
RM
249142010-01-17 Robert Millan <rmh.grub@aybabtu.com>
24915
24916 * include/grub/test.h: Add license header.
24917 * tests/example_functional_test.c: Likewise.
24918 * tests/example_unit_test.c: Likewise.
24919 * tests/lib/functional_test.c: Likewise.
24920 * tests/lib/test.c: Likewise.
24921 * tests/lib/unit_test.c: Likewise.
24922
b0b13907
VS
249232010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
24924
24925 Use flag-based instead of hook-based video mode selection and "auto"
24926 keyword.
24927
24928 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
24929 (grub_video_set_mode): Changed prototype. All users updated.
24930 (grub_video_check_mode_flag): New inline function.
24931 * video/video.c (parse_modespec): New function.
24932 (grub_video_set_mode): Parse flags and keywords.
24933
ea379330 249342010-01-17 Carles Pina i Estany <carles@pina.cat>
24935
24936 * util/misc.c (grub_util_info): Fix the order of the parameters in a
24937 fprintf call.
24938
e15c215e
FZ
249392010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
24940
24941 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
24942
409ae1c9 249432010-01-16 Carles Pina i Estany <carles@pina.cat>
24944
24945 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
24946 string.
24947 * util/grub-emu.c (usage): Likewise.
24948 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
24949 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24950 * util/i386/pc/grub-mkimage.c (usage): Likewise.
24951 * util/i386/pc/grub-setup.c (usage): Likewise.
24952
70a14d3d 249532010-01-16 Carles Pina i Estany <carles@pina.cat>
24954
24955 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
24956 the message.
24957 (grub_util_info): Likewise.
24958 (grub_util_error): Likewise.
24959 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
24960 and/or new lines in `grub_util_warna', `grub_util_info',
24961 `grub_util_error' calls.
24962 * util/getroot.c: Likewise.
24963 * util/grub-editenv.c: Likewise.
24964 * util/grub-emu.c: Likewise.
24965 * util/grub-fstest.c: Likewise.
24966 * util/grub-mkdevicemap.c: Likewise.
24967 * util/grub-mkfont.c: Likewise.
24968 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24969 * util/grub-mkrelpath.c: Likewise.
24970 * util/grub-pe2elf.c: Likewise.
24971 * util/grub-probe.c: Likewise.
24972 * util/hostdisk.c: Likewise.
24973 * util/i386/efi/grub-mkimage.c: Likewise.
24974 * util/i386/pc/grub-mkimage.c: Likewise.
24975 * util/i386/pc/grub-setup.c: Likewise.
24976 * util/ieee1275/ofpath.c: Likewise.
24977 * util/mkisofs/eltorito.c: Likewise.
24978 * util/mkisofs/rock.c: Likewise.
24979 * util/mkisofs/write.c: Likewise.
24980 * util/raid.c: Likewise.
24981 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
24982 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24983
a0b766fc
VS
249842010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
24985
24986 Enable multiboot on non-pc.
24987
24988 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
24989 multiboot.mod and multiboot2.mod to ...
24990 * conf/i386.rmk (pkglib_MODULES): ... here.
24991 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
24992 Moved to ...
24993 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
24994 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
24995 Moved to ...
24996 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
24997 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
24998 Moved to ...
24999 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
25000 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
25001 Moved to ...
25002 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
25003 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
25004 relocator.mod.
25005 (ata_mod_SOURCES): Removed.
25006 (ata_mod_CFLAGS): Likewise.
25007 (ata_mod_LDFLAGS): Likewise.
25008 (relocator_mod_SOURCES): Removed.
25009 (relocator_mod_CFLAGS): Likewise.
25010 (relocator_mod_ASFLAGS): Likewise.
25011 (relocator_mod_LDFLAGS): Likewise.
25012 Include i386.mk.
25013 * include/grub/x86_64/multiboot.h: New file.
25014 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
25015 Terminate EFI.
25016
884ade56
VS
250172010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25018
25019 Video multiboot support.
25020
25021 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
25022 New prototype.
25023 * include/multiboot.h: Resynced with multiboot specification.
25024 * include/multiboot2.h: Likewise.
25025 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
25026 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
25027 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
25028 (HAS_VGA_TEXT): Likewise.
25029 (accepts_video): New variable.
25030 (grub_multiboot_set_accepts_video): New function.
25031 (grub_multiboot_get_mbi_size): Account for video structures.
25032 (set_video_mode): New function.
25033 (retrieve_video_parameters): Likewise.
25034 (grub_multiboot_make_mbi): Fill video fields.
25035
0d90e8a6
VS
250362010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25037
25038 Video driver ids.
25039
25040 * include/grub/video.h (grub_video_driver_id): New type.
25041 (grub_video_adapter): New member 'id'. All users updated.
25042 (grub_video_get_driver_id): New proto.
25043 * video/video.c (grub_video_get_driver_id): New function.
25044
5c71db1b 250452010-01-14 Carles Pina i Estany <carles@pina.cat>
25046
25047 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
25048 `var=val'.
25049
cca15b52 250502010-01-14 Carles Pina i Estany <carles@pina.cat>
25051
25052 * normal/cmdline.c (print_completion): Gettextizze.
25053
c586fbb2 250542001-01-14 Carles Pina i Estany <carles@pina.cat>
25055
25056 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
25057
ba2f6848 250582010-01-14 Carles Pina i Estany <carles@pina.cat>
25059
25060 * gettext/gettext.c (grub_gettext_translate): Push and pop
25061 grub_errno.
25062 (grub_gettext_delete_list): Change comment style.
25063 * kern/err.c (grub_error): Gettextizze.
25064 (grub_fatal): Gettextizze.
25065
0a46429a
RM
250662010-01-14 Robert Millan <rmh.grub@aybabtu.com>
25067
25068 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
25069 (grub_linux16_real_boot): ... this.
25070 * kern/i386/loader.S: Likewise.
25071 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
25072 (grub_linux16_boot): New function. Switches to text mode and calls
25073 grub_linux16_real_boot().
25074
25075 * loader/i386/bsd.c: Include `<grub/video.h>'.
25076 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
25077 text mode before calling grub_unix_real_boot().
25078
25079 * loader/i386/multiboot.c: Include `<grub/video.h>'.
25080 (grub_multiboot_boot): Switch to text mode before calling
25081 grub_relocator32_boot().
25082
25083 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
25084 (grub_chainloader_boot): Switch to text mode before calling
25085 grub_chainloader_real_boot().
25086
d6f93a66
RM
250872010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
250882010-01-05 Colin Watson <cjwatson@ubuntu.com>
25089
25090 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
25091 non-empty value.
25092
250932010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
250942010-01-05 Colin Watson <cjwatson@ubuntu.com>
25095
25096 * util/grub.d/00_header.in: Define a "savedefault" function for use
25097 in menu entries.
25098 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
25099
251002010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
251012010-01-05 Colin Watson <cjwatson@ubuntu.com>
25102
25103 * util/grub-mkconfig_lib.in (save_default_entry): Only set
25104 saved_entry if boot_once is unset.
25105 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
25106 previous saved entry (i.e. grub-reboot).
25107
251082009-12-08 Colin Watson <cjwatson@ubuntu.com>
25109
25110 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
25111
251122009-12-08 Colin Watson <cjwatson@ubuntu.com>
25113
25114 * util/grub.d/00_header.in: Use `set var=val' rather than plain
25115 `var=val'.
25116 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
25117
251182009-12-08 Colin Watson <cjwatson@ubuntu.com>
25119
25120 * util/grub-reboot.in: Fix --version output.
25121 * util/grub-set-default.in: Likewise.
25122
251232009-12-08 Colin Watson <cjwatson@ubuntu.com>
25124
25125 * util/grub.d/00_header.in: Silently ignore zero-sized environment
25126 blocks.
25127
251282009-12-08 Colin Watson <cjwatson@ubuntu.com>
25129
25130 * util/grub.d/00_header.in: Quote the value assigned to `default',
25131 in case it contains spaces.
25132
251332009-12-08 Colin Watson <cjwatson@ubuntu.com>
25134
25135 * util/grub.d/30_os-prober.in: Fix merge error that moved a
25136 `save_default_entry' call from the macosx case to the linux case.
25137
251382009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
251392009-10-25 Colin Watson <cjwatson@ubuntu.com>
25140
25141 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
25142 in `chosen' environment variable.
25143 * normal/menu_text.c (get_entry_number): Check if the variable
25144 matches the title of a menu entry.
25145 (run_menu): Pass menu to get_entry_number.
25146
25147 * util/grub-reboot.in: New file.
25148 * util/grub-set-default.in: New file.
25149 * conf/common.rmk (grub-reboot): New utility.
25150 (grub-set-default): New utility.
25151
25152 * util/grub-mkconfig_lib.in (save_default_entry): New function.
25153 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
25154 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
25155 move it to `saved_entry' for the next boot. Load environment on
25156 initialisation.
25157 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
25158 * util/grub.d/10_hurd.in: Likewise.
25159 * util/grub.d/10_linux.in (linux_entry): Likewise.
25160 * util/grub.d/10_windows.in: Likewise.
25161 * util/grub.d/30_os-prober.in: Likewise.
25162
25163 * util/grub-install.in: Create environment block.
25164 * util/i386/efi/grub-install.in: Likewise.
25165 * util/ieee1275/grub-install.in: Likewise.
25166 * util/sparc64/ieee1275/grub-install.in: Likewise.
25167
0934d184
BC
251682010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
25169
25170 Unit testing framework for GRUB.
25171
25172 * Makefile.in: Test framework build rules for 'make check'.
25173 * conf/tests.rmk: Build rules for individual tests and framework.
25174
25175 * include/grub/test.h: Header file for whitebox tests.
25176 * tests/lib/functional_test.c: Framework support for whitebox
25177 functional tests.
25178 * tests/lib/test.c: Common whitebox testing code for unit and
25179 functional tests.
25180 * tests/lib/unit_test.c: Framework support for whitebox unit
25181 tests.
25182
25183 * tests/util/grub-shell-tester.in: Support utility for grub-script
25184 tests.
25185 * tests/util/grub-shell.in: Utility to execute grub-script
25186 commands in a Qemu instance.
25187
25188 * tests/example_functional_test.c: Example whitebox functional
25189 test.
25190 * tests/example_grub_script_test.in: Example grub-script test.
25191 * tests/example_scripted_test.in: Example scripted test.
25192 * tests/example_unit_test.c: Example whitebox unit test.
25193
9c4ffeeb
VS
251942010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
25195
25196 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
25197 Add loader/i386/multiboot_mbi.c.
25198 (multiboot2_mod_SOURCES): Likewise.
25199 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
25200 (multiboot2_mod_SOURCES): Likewise.
25201 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
25202 (grub_multiboot_make_mbi): Likewise.
25203 (grub_multiboot_free_mbi): Likewise.
25204 (grub_multiboot_init_mbi): Likewise.
25205 (grub_multiboot_add_module): Likewise.
25206 (grub_multiboot_set_bootdev): Likewise.
25207 * loader/i386/multiboot.c (mbi): Removed.
25208 (mbi_dest): Likewise.
25209 (alloc_mbi): New variable.
25210 (grub_multiboot_payload_size): Removed. All users updated.
25211 (grub_multiboot_pure_size): New variable.
25212 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
25213 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
25214 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
25215 (grub_fill_multiboot_mmap): Likewise.
25216 (grub_multiboot_get_bootdev): Likewise.
25217 (grub_multiboot): Use multiboot_mbi functions.
25218 * loader/i386/multiboot_mbi.c: New file.
25219
17383dfe
VS
252202010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
25221
25222 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
25223 it would result in module crash.
25224
c1f28820
VS
252252010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
25226
25227 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
25228 (grub_ofconsole_getwh): Split to ...
25229 (grub_ofconsole_getwh): ... this.
25230 (grub_ofconsole_dimensions): ...and this.
25231 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
25232
58655a16
RM
252332010-01-13 Robert Millan <rmh.grub@aybabtu.com>
25234
25235 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
25236
10891398
VS
252372010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
25238
25239 * loader/i386/pc/multiboot2.c: Removed stalled file.
25240
0b8a223c
VS
252412010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
25242
25243 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
25244 Reported by: Grégoire Sutre
25245
92ab12b0
RM
252462010-01-11 Robert Millan <rmh.grub@aybabtu.com>
25247
25248 * util/misc.c (canonicalize_file_name): New function.
25249 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
25250 instead of realpath().
25251
a788afb6
CW
252522010-01-11 Colin Watson <cjwatson@ubuntu.com>
25253
25254 * util/grub-install.in (usage): Clarify meaning of --root-directory,
25255 and make it clearer that it's optional. Based on confusion
25256 witnessed on IRC.
25257
ffa8e3d2
VS
252582010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
25259
25260 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
25261 in premature implicit newline.
25262
e9060a9d
VS
252632010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
25264
25265 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
25266 which resulted in garbled command line at the end of screen.
25267
f0d0c0b7
RM
252682010-01-10 Robert Millan <rmh.grub@aybabtu.com>
25269
25270 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
25271 initialization with similar approach as with other Linux loaders.
25272
0e60bae7
RM
252732010-01-10 Robert Millan <rmh.grub@aybabtu.com>
25274
25275 Fix i386-ieee1275 build.
25276
25277 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
25278 and grub_term_height() for video_{width,height} initialization.
25279
252802010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
25281
25282 Fix grub-emu build.
25283
25284 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
25285
cdb3f378
RM
252862010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
252872010-01-09 Robert Millan <rmh.grub@aybabtu.com>
25288
25289 Support for multiple terminals.
25290
25291 * Makefile.in (pkglib_DATA): terminal.lst.
25292 (terminal.lst): New target.
25293 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
25294 (GRUB_MOD_INIT(handler)): Likewise.
25295 (GRUB_MOD_FINI(handler)): Likewise.
25296 * commands/help.c (grub_cmd_help): Handle multiple terminals.
25297 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
25298 * commands/sleep.c (do_print): Use grub_term_restore_pos.
25299 (grub_cmd_sleep): Use grub_term_save_pos.
25300 * commands/terminal.c: New file.
25301 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
25302 commands/terminal.c and lib/charset.c.
25303 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
25304 (pkglib_MODULES): Add terminal.mod.
25305 (terminal_mod_SOURCES): New variable.
25306 (terminal_mod_CFLAGS): Likewise.
25307 (terminal_mod_LDFLAGS): Likewise.
25308 * genhandlerlist.sh: Don't handle terminals.
25309 * genmk.rb: Generate terminal-*.lst.
25310 * genterminallist.sh: New file.
25311 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
25312 (grub_is_valid_utf8): Likewise.
25313 (grub_utf8_to_ucs4_alloc): Likewise.
25314 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
25315 (grub_menu_register_viewer): Changed argument.
25316 (grub_menu_try_text): New proto.
25317 (grub_gfxmenu_try_hook): New declaration.
25318 * include/grub/normal.h (grub_normal_exit_level): New declaration.
25319 (grub_menu_init_page): Additional argument term.
25320 (grub_normal_init_page): Likewise.
25321 (grub_cmdline_get): Arguments simplified.
25322 (grub_utf8_to_ucs4_alloc): Removed.
25323 (grub_print_ucs4): Additional argument term.
25324 (grub_getstringwidth): Likewise.
25325 (grub_print_message_indented): Likewise.
25326 (grub_menu_text_register_instances): New proto.
25327 (grub_show_menu): Likewise.
25328 (read_terminal_list): Likewise.
25329 (grub_set_more): Likewise.
25330 * include/grub/parser.h: Include handler.h.
25331 * include/grub/reader.h: Rewritten.
25332 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
25333 (GRUB_TERM_WIDTH): Changed to function.
25334 (GRUB_TERM_HEIGHT): Likewise.
25335 (GRUB_TERM_BORDER_WIDTH): Likewise.
25336 (GRUB_TERM_BORDER_HEIGHT): Likewise.
25337 (GRUB_TERM_NUM_ENTRIES): Likewise.
25338 (GRUB_TERM_ENTRY_WIDTH): Likewise.
25339 (GRUB_TERM_CURSOR_X): Likewise.
25340 (grub_term_input_class): Likewise.
25341 (grub_term_output_class): Likewise.
25342 (grub_term_outputs_disabled): New declaration.
25343 (grub_term_inputs_disabled): Likewise.
25344 (grub_term_outputs): Likewise.
25345 (grub_term_inputs): Likewise.
25346 (grub_term_register_input): Rewritten.
25347 (grub_term_register_output): Likewise.
25348 (grub_term_unregister_input): Likewise.
25349 (grub_term_unregister_output): Likewise.
25350 (FOR_ACTIVE_TERM_INPUTS): New macro.
25351 (FOR_DISABLED_TERM_INPUTS): Likewise.
25352 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25353 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25354 * include/grub/terminfo.h: Add oterm argument to all protypes.
25355 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
25356 Use grub_rescue_run.
25357 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
25358 All users updated.
25359 * kern/reader.c: Removed. All users updated.
25360 * kern/rescue_reader.c (grub_rescue_init): Removed.
25361 (grub_rescue_reader): Likewise.
25362 (grub_register_rescue_reader): Likewise.
25363 (grub_rescue_run): New function based on kern/reader.c.
25364 * kern/term.c: Adapted for multiterm.
25365 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
25366 (grub_is_valid_utf8): Likewise.
25367 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
25368 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
25369 right terminal.
25370 * loader/i386/linux.c (grub_linux_boot): Likewise.
25371 * normal/auth.c (grub_username_get): New function.
25372 (grub_auth_check_authentication): Use grub_username_get.
25373 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
25374 * normal/color.c: Adapt for multiterm.
25375 * normal/main.c (read_config_file): Don't use grub_reader_loop.
25376 (grub_normal_init_page): Additional argument term.
25377 (read_lists): Call read_terminal_lists.
25378 (grub_enter_normal_mode): Call grub_cmdline_run.
25379 Handle grub_normal_exit_level.
25380 (grub_cmd_normal): Make reentrant.
25381 (grub_cmd_normal_exit): New function.
25382 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
25383 * normal/menu.c: Adapt for multiterm.
25384 * normal/menu_entry.c: Likewise.
25385 * normal/menu_text.c: Likewise.
25386 * normal/menu_viewer.c: Removed. All users updated.
25387 * normal/term.c: New file.
25388 * util/console.c: Change order of includes to workaround a bug in
25389 ncurses headers.
25390 * term/terminfo.c: New argument oterm on all exported functions.
25391 All users updated.
25392 * util/grub-editenv.c (grub_term_input_class): Removed.
25393 (grub_term_output_class): Likewise.
25394
1a064917
RM
253952010-01-09 Robert Millan <rmh.grub@aybabtu.com>
25396
25397 Make loader output a bit more user-friendly.
25398
25399 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
25400 is being loaded. Likewise for the Hurd.
25401
25402 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
25403 that kernel of FreeBSD ${version} is being loaded.
25404
25405 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
25406 grub_dprintf().
25407 (grub_cmd_initrd): Likewise.
25408 * util/grub.d/10_linux.in (linux_entry): Print message indicating
25409 that Linux ${version} is being loaded. Likewise for initrd.
25410
5ce0a83a 254112010-01-09 Carles Pina i Estany <carles@pina.cat>
25412
25413 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
25414
809bbfeb 254152010-01-08 Carles Pina i Estany <carles@pina.cat>
25416
25417 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
25418 (GRUB_MOD_INIT): Gettextizze.
25419 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
25420 (GRUB_MOD_INIT): Gettextizze.
25421 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
25422 (grub_cmd_linux): Capitalise Linux.
25423 (GRUB_MOD_INIT): Gettextizze.
25424 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
25425 (grub_cmd_linux): Capitalise Linux.
25426 (GRUB_MOD_INIT): Gettextizze.
25427 * loader/i386/linux.c: Include `<grub/i18n.h>'.
25428 (grub_cmd_linux): Capitalise Linux.
25429 (GRUB_MOD_INIT): Gettextizze.
25430 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
25431 (GRUB_MOD_INIT): Gettextizze.
25432 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
25433 (grub_cmd_linux): Capitalise Linux.
25434 (GRUB_MOD_INIT): Gettextizze.
25435 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
25436 (grub_cpu_xnu_init): Gettextizze.
25437 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
25438 (GRUB_MOD_INIT): Gettextizze.
25439 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
25440 (GRUB_MOD_INIT): Gettextizze.
25441 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
25442 (grub_linux_load64): Capitalise Linux.
25443 (GRUB_MOD_INIT): Gettextizze.
25444 * loader/xnu.c: Include `<grub/i18n.h>'.
25445 (GRUB_MOD_INIT): Gettextizze.
25446 * po/POTFILES: Add `loader/efi/appleloader.c',
25447 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
25448 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
25449 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
25450 `loader/i386/xnu.c', `loader/multiboot_loader.c',
25451 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
25452 and `loader/xnu.c'.
25453
b394b2ca
RM
254542010-01-08 Robert Millan <rmh.grub@aybabtu.com>
25455
25456 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
25457
254582010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
25459
25460 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
25461 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
25462 * util/mkisofs/mkisofs.c (main): Readjust --version output.
25463
bc8b32b3
RM
254642010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25465
25466 Reset Multiboot 2 support. New loader implements the draft in
25467 /branches/multiboot2 and shares as much code as possible with the
25468 production Multiboot 1 implementation.
25469
25470 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
25471 * loader/multiboot2.c: Likewise.
25472 * loader/i386/multiboot_helper.S: Likewise.
25473 * include/multiboot2.h: Replace with latest version from the draft
25474 in /branches/multiboot2.
25475
25476 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
25477 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
25478 and `loader/multiboot2.c'.
25479 (pkglib_MODULES): Add `multiboot2.mod'.
25480 (multiboot2_mod_SOURCES): New variable.
25481 (multiboot2_mod_LDFLAGS): Likewise.
25482 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
25483
25484 * conf/i386-pc.rmk: Likewise.
25485
25486 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
25487 (multiboot_mod_SOURCES): Remove variable.
25488 (multiboot_mod_LDFLAGS): Likewise.
25489 (multiboot_mod_CFLAGS): Likewise.
25490
25491 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
25492 `<multiboot2.h>' instead of `<multiboot.h>'.
25493 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
25494 (MULTIBOOT_HEADER_MAGIC): New macros.
25495
25496 * loader/multiboot_loader.c (module_version_status): Remove variable.
25497 (find_multi_boot2_header): Remove function.
25498 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
25499 logic. Always check for the Multiboot version we're compiling for.
25500 (grub_cmd_module_loader): Likewise.
25501 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
25502 command instead of `multiboot'.
25503
5d2c52b8
RM
255042010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25505
25506 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
25507 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
25508 all users.
25509
53108d92
RM
255102010-01-07 Robert Millan <rmh.grub@aybabtu.com>
255112010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
25512
25513 Fix breakage introduced with previous commit.
25514
25515 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
25516 commands.
25517 * normal/handler.c (read_handler_list): Revert part of previous commit
25518 affecting this file.
25519 * normal/main.c (read_lists): Move read_handler_list() call back to ...
25520 (grub_normal_execute): ... here.
25521
e2e936b2
RM
255222010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25523
25524 Merge prefix-redefinition-fix branch.
25525
25526 * normal/autofs.c (read_fs_list): Make function capable of being
25527 run multiple times, gracefuly replacing the previous data
25528 structures.
25529 * normal/dyncmd.c (read_command_list): Likewise.
25530 * normal/handler.c (read_handler_list): Likewise.
25531 * normal/main.c (read_lists): New function. Calls all the
25532 list reading functions.
25533 (grub_normal_execute): Use read_lists() instead of calling all
25534 list reading functions explicitly. Register read_lists() as a
25535 variable hook attached to ${prefix}.
25536
607a3701
VS
255372010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
25538
25539 Merge crypto branch.
25540
25541 * Makefile.in (pkglib_DATA): Add crypto.lst.
25542 (crypto.lst): New target.
25543 * commands/hashsum.c: New file.
25544 * commands/password.c (check_password): Use grub_crypto_memcmp.
25545 * commands/password_pbkdf2.c: New file.
25546 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
25547 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
25548 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
25549 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
25550 -I$(srcdir)/lib/libgcrypt_wrap.
25551 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
25552 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
25553 password_pbkdf2.mod.
25554 (crypto_mod_SOURCES): New variable.
25555 (crypto_mod_CFLAGS): Likewise.
25556 (crypto_mod_LDFLAGS): Likewise.
25557 (hashsum_mod_SOURCES): New variable.
25558 (hashsum_mod_CFLAGS): Likewise.
25559 (hashsum_mod_LDFLAGS): Likewise.
25560 (pbkdf2_mod_SOURCES): New variable.
25561 (pbkdf2_mod_CFLAGS): Likewise.
25562 (pbkdf2_mod_LDFLAGS): Likewise.
25563 (password_pbkdf2_mod_SOURCES): New variable.
25564 (password_pbkdf2_mod_CFLAGS): Likewise.
25565 (password_pbkdf2_mod_LDFLAGS): Likewise.
25566 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
25567 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
25568 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
25569 Include conf/gcry.rmk.
25570 * include/grub/auth.h: Rewritten.
25571 * include/grub/crypto.h: New file.
25572 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
25573 * include/grub/normal.h (read_crypto_list): New prototype.
25574 * lib/crypto.c: New file.
25575 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25576 * lib/pbkdf2.c: Likewise.
25577 * normal/auth.c (grub_auth_strcmp): Removed.
25578 (grub_iswordseparator): Likewise.
25579 (grub_auth_strword): Likewise.
25580 (is_authenticated): Use grub_strword.
25581 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
25582 and grub_strword. Pass entered password to authentication callback.
25583 * normal/crypto.c: New file.
25584 * normal/main.c: Call read_crypto_list.
25585 * util/grub-mkpasswd-pbkdf2.c: New file.
25586 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
25587
42841caa
VS
255882010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
25589
25590 Fix descent and ascent calculation.
25591
25592 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
25593 (options): New option "asce".
25594 (usage): Likewise.
25595 (add_char): Ignore invalid glyphs for descent calculation.
25596 Calculate ascent from actual content.
25597 (print_glyphs): Use 'asce'.
25598 (write_font): Likewise. Allow ascent override.
25599 (main): Handle "asce" option.
25600
e7730de7 256012010-01-06 Carles Pina i Estany <carles@pina.cat>
25602
25603 * kern/err.c: Include `<grub/i18n.h>'.
25604 (grub_print_error): Add full stop. Gettextizze.
25605 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
25606 (grub_bsd_load_elf): Capitalise ELF.
25607 (grub_cmd_freebsd_loadenv): Add `s' in error string.
25608 (grub_cmd_freebsd_module): Likewise.
25609 (grub_cmd_freebsd_module_elf): Likewise.
25610 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
25611
40e3a41f 256122010-01-06 Carles Pina i Estany <carles@pina.cat>
25613
25614 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
25615 * commands/search_file.c (HELP_MESSAGE): New macro.
25616 * commands/search_label.c (HELP_MESSAGE): Likewise.
25617 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
25618 * po/POTFILES: Add `commands/search_file.c',
25619 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
25620 `commands/search.c'.
25621
83507e68
RM
256222010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25623
25624 * config.rpath: Update from Gnulib.
25625
465c787b
YB
256262010-01-05 Yves Blusseau <blusseau@zetam.org>
25627
25628 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
25629
6581dd3a
YB
256302010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
25631
25632 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
25633
3bff18c5
CW
256342010-01-05 Colin Watson <cjwatson@ubuntu.com>
25635
25636 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
25637 arguments to fread so that we get a return value in bytes, rather
25638 than something that will normally be rounded down to 0.
25639 Adjust error handling to avoid producing garbage when size_t is not
25640 the same size as long long.
25641
a1368118
CW
256422010-01-05 Colin Watson <cjwatson@ubuntu.com>
25643
25644 * util/mkisofs/write.c (padblock_write): Check return value of
25645 fread.
25646
7c302978
RM
256472010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25648
25649 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
25650 floppy images now.
25651
25652 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
25653
e33ace06
RM
256542010-01-04 Robert Millan <rmh.grub@aybabtu.com>
25655
25656 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
25657 instead of manual alignment.
25658 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
25659 verbose). Avoid attempts to read past end of the device
25660 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
25661 but GRUB_DISK_CACHE_SIZE may exceed that).
25662
4b856776
RM
256632010-01-04 Robert Millan <rmh.grub@aybabtu.com>
25664
25665 * commands/crc.c (grub_cmd_crc): Abort on read errors.
25666 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
25667 it to upper layer.
25668
52c2d97f
VS
256692010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
25670
25671 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
25672 New constant.
25673 (grub_efi_piwg_device_path): New structure
25674 (grub_efi_piwg_device_path_t): New type.
25675 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
25676 (devpath_1): Transform to a structure. All users updated.
25677 (devpath_2): Likewise.
25678 (devpath_3): Likewise.
25679 (devpath_4): Likewise.
25680 (devpath_5): Likewise.
25681
98ff6a54
VS
256822010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
25683
25684 * loader/efi/appleloader.c: Restored. Update all users.
25685
3a73dcb6
RM
256862010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25687
25688 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
25689
25690 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
25691 (struct boot_blocklist): Move from here ...
25692 * include/grub/i386/pc/boot.h [ASM_FILE]
25693 (struct grub_boot_blocklist): ... to here. Update all users.
25694 (setup): Only initialize `start' member of `first_block'
25695 structure. Add assert() calls to verify the other members.
25696
25697 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
25698 (generate_image): Fix broken blocklist length initialization.
25699 Add assert() call to verify blocklist `segment' field.
25700
ab0eeb0c
RM
257012010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25702
25703 * loader/efi/appleloader.c: Remove. Update all users.
25704
58bc8bd5
RM
257052010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25706
25707 * boot/i386/pc/boot.S: Update copyright year.
25708 * boot/i386/pc/cdboot.S: Likewise.
25709 * boot/i386/pc/diskboot.S: Likewise.
25710 * boot/i386/pc/lnxboot.S: Likewise.
25711 * boot/i386/pc/pxeboot.S: Likewise.
25712 * bus/pci.c: Likewise.
25713 * commands/cmp.c: Likewise.
25714 * commands/help.c: Likewise.
25715 * commands/hexdump.c: Likewise.
25716 * commands/i386/pc/halt.c: Likewise.
25717 * commands/i386/pc/play.c: Likewise.
25718 * commands/i386/pc/vbeinfo.c: Likewise.
25719 * commands/ls.c: Likewise.
25720 * commands/test.c: Likewise.
25721 * disk/dmraid_nvidia.c: Likewise.
25722 * disk/i386/pc/biosdisk.c: Likewise.
25723 * disk/ieee1275/nand.c: Likewise.
25724 * disk/ieee1275/ofdisk.c: Likewise.
25725 * disk/lvm.c: Likewise.
25726 * disk/raid.c: Likewise.
25727 * disk/raid6_recover.c: Likewise.
25728 * disk/scsi.c: Likewise.
25729 * fs/affs.c: Likewise.
25730 * fs/cpio.c: Likewise.
25731 * fs/ext2.c: Likewise.
25732 * fs/hfs.c: Likewise.
25733 * fs/iso9660.c: Likewise.
25734 * fs/ntfs.c: Likewise.
25735 * fs/sfs.c: Likewise.
25736 * fs/udf.c: Likewise.
25737 * fs/ufs.c: Likewise.
25738 * fs/xfs.c: Likewise.
25739 * gencmdlist.sh: Likewise.
25740 * genmk.rb: Likewise.
25741 * include/grub/disk.h: Likewise.
25742 * include/grub/efi/api.h: Likewise.
25743 * include/grub/efi/efi.h: Likewise.
25744 * include/grub/efi/pe32.h: Likewise.
25745 * include/grub/elf.h: Likewise.
25746 * include/grub/fs.h: Likewise.
25747 * include/grub/i386/at_keyboard.h: Likewise.
25748 * include/grub/i386/pc/memory.h: Likewise.
25749 * include/grub/i386/pc/vbe.h: Likewise.
25750 * include/grub/i386/pci.h: Likewise.
25751 * include/grub/i386/tsc.h: Likewise.
25752 * include/grub/ieee1275/ieee1275.h: Likewise.
25753 * include/grub/ntfs.h: Likewise.
25754 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25755 * include/grub/sparc64/libgcc.h: Likewise.
25756 * include/grub/symbol.h: Likewise.
25757 * include/grub/types.h: Likewise.
25758 * include/multiboot2.h: Likewise.
25759 * io/gzio.c: Likewise.
25760 * kern/device.c: Likewise.
25761 * kern/disk.c: Likewise.
25762 * kern/efi/efi.c: Likewise.
25763 * kern/efi/mm.c: Likewise.
25764 * kern/elf.c: Likewise.
25765 * kern/file.c: Likewise.
25766 * kern/i386/dl.c: Likewise.
25767 * kern/i386/pc/init.c: Likewise.
25768 * kern/i386/pc/startup.S: Likewise.
25769 * kern/ieee1275/ieee1275.c: Likewise.
25770 * kern/ieee1275/init.c: Likewise.
25771 * kern/main.c: Likewise.
25772 * kern/mm.c: Likewise.
25773 * kern/powerpc/dl.c: Likewise.
25774 * kern/sparc64/dl.c: Likewise.
25775 * kern/x86_64/dl.c: Likewise.
25776 * lib/hexdump.c: Likewise.
25777 * loader/efi/appleloader.c: Likewise.
25778 * loader/i386/ieee1275/linux.c: Likewise.
25779 * loader/i386/pc/chainloader.c: Likewise.
25780 * loader/i386/pc/linux.c: Likewise.
25781 * loader/i386/pc/multiboot2.c: Likewise.
25782 * loader/ieee1275/multiboot2.c: Likewise.
25783 * loader/multiboot2.c: Likewise.
25784 * loader/multiboot_loader.c: Likewise.
25785 * loader/powerpc/ieee1275/linux.c: Likewise.
25786 * normal/completion.c: Likewise.
25787 * normal/menu_entry.c: Likewise.
25788 * partmap/apple.c: Likewise.
25789 * util/grub.d/10_hurd.in: Likewise.
25790 * util/hostfs.c: Likewise.
25791 * video/readers/png.c: Likewise.
25792
e2d70b5c
CW
257932010-01-03 Colin Watson <cjwatson@ubuntu.com>
25794
25795 * include/grub/misc.h (GNUC_PREREQ): New macro.
25796 (ATTRIBUTE_ERROR): New macro.
25797 * include/grub/list.h (grub_bad_type_cast_real): Use
25798 ATTRIBUTE_ERROR.
25799
a173283f 258002010-01-03 Carles Pina i Estany <carles@pina.cat>
25801
25802 * normal/menu_text.c (print_message): Change messages.
25803
7fa7ff74 258042010-01-03 Carles Pina i Estany <carles@pina.cat>
25805
25806 * normal/menu_entry.c (store_completion): Gettextizze.
25807
136d24f6 258082010-01-03 Carles Pina i Estany <carles@pina.cat>
25809
25810 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
25811
f936862e 258122010-01-03 Carles Pina i Estany <carles@pina.cat>
25813
25814 * po/POTFILES: Sort correctly.
25815
29c44ad1 258162010-01-03 Carles Pina i Estany <carles@pina.cat>
25817
25818 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
25819 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
25820 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
25821 full stop.
25822 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
25823 summary. Gettextizze the strings.
25824 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
25825 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
25826 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
25827 full stop.
25828 (GRUB_MOD_INIT): Remove command name from summary.
25829 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
25830 summary.
25831 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
25832 * term/i386/pc/serial.c (options): Add full stops.
25833 (GRUB_MOD_INIT): Remove command name from the summary.
25834
77a79592 258352010-01-03 Carles Pina i Estany <carles@pina.cat>
25836
25837 * commands/acpi.c: Gettextizze help strings and/or options. Include
25838 `grub/i18n.h' if needed.
25839 * commands/blocklist.c: Likewise.
25840 * commands/boot.c: Likewise.
25841 * commands/cat.c: Likewise.
25842 * commands/cmp.c: Likewise.
25843 * commands/configfile.c: Likewise.
25844 * commands/crc.c: Likewise.
25845 * commands/date.c: Likewise.
25846 * commands/echo.c: Likewise.
25847 * commands/efi/fixvideo.c: Likewise.
25848 * commands/efi/loadbios.c: Likewise.
25849 * commands/gptsync.c: Likewise.
25850 * commands/halt.c: Likewise.
25851 * commands/handler.c: Likewise.
25852 * commands/hdparm.c: Likewise.
25853 * commands/hexdump.c: Likewise.
25854 * commands/i386/cpuid.c: Likewise.
25855 * commands/i386/pc/drivemap.c: Likewise.
25856 * commands/i386/pc/halt.c: Likewise.
25857 * commands/i386/pc/pxecmd.c: Likewise.
25858 * commands/i386/pc/vbeinfo.c: Likewise.
25859 * commands/i386/pc/vbetest.c: Likewise.
25860 * commands/ieee1275/suspend.c: Likewise.
25861 * commands/keystatus.c: Likewise.
25862 * commands/loadenv.c: Likewise.
25863 * commands/ls.c: Likewise.
25864 * commands/lsmmap.c: Likewise.
25865 * commands/lspci.c: Likewise.
25866 * commands/memrw.c: Likewise.
25867 * commands/minicmd.c: Likewise.
25868 * commands/parttool.c: Likewise.
25869 * commands/password.c: Likewise.
25870 * commands/probe.c: Likewise.
25871 * commands/read.c: Likewise.
25872 * commands/reboot.c: Likewise.
25873 * commands/search.c: Likewise.
25874 * commands/sleep.c: Likewise.
25875 * commands/test.c: Likewise.
25876 * commands/true.c: Likewise.
25877 * commands/usbtest.c: Likewise.
25878 * commands/videotest.c: Likewise.
25879 * commands/xnu_uuid.c: Likewise.
25880 * disk/loopback.c: Likewise.
25881 * hello/hello.c: Likewise.
25882 * loader/i386/bsd.c: Likewise.
25883 * term/i386/pc/serial.c: Likewise.
25884 * po/POTFILES: Add new files.
25885
da8d5c53
CW
258862010-01-02 Colin Watson <cjwatson@ubuntu.com>
25887
25888 * term/i386/pc/at_keyboard.c
25889 (keyboard_controller_wait_untill_ready): Rename to ...
25890 (keyboard_controller_wait_until_ready): ... this. Update all users.
25891
33937904 258922010-01-01 Carles Pina i Estany <carles@pina.cat>
25893
25894 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
25895 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
25896 string using string width.
25897 * normal/menu_text.c (grub_print_message_indented): Use
25898 grub_print_spaces and not print_spaces.
25899 (print_timeout): Likewise.
25900 (print_spaces): Move to...
25901 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
25902
3fd3b8d8
RM
259032010-01-01 Robert Millan <rmh.grub@aybabtu.com>
25904
25905 Import from Gnulib.
25906
25907 * gnulib/getdelim.c: New file.
25908 * gnulib/getline.c: Likewise.
25909
33433555
VS
259102009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
25911
25912 * include/grub/list.h (grub_assert_fail): Removed.
25913 (grub_bad_type_cast_real): New function.
25914 (grub_bad_type_cast): New macro.
25915 (GRUB_AS_LIST): Use grub_bad_type_cast.
25916 (GRUB_AS_LIST_P): Likewise.
e44721e8 25917 (GRUB_AS_NAMED_LIST): Likewise.
33433555 25918 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 25919 (GRUB_AS_PRIO_LIST): Likewise.
33433555 25920 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 25921 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 25922
f5a51306
VS
259232009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
25924
25925 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
25926 Fix syntax error.
25927
90d1e879
RM
259282009-12-29 Robert Millan <rmh.grub@aybabtu.com>
25929
25930 * configure.ac: Check for TARGET_CFLAGS initialization before we
25931 initialize it ourselves (sigh).
25932 Move a few modifications to TARGET_CFLAGS to be unconditional
25933 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
25934 eh_frame)
25935
25936 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
25937 * term/i386/pc/at_keyboard.c
25938 (keyboard_controller_wait_untill_ready): Likewise.
25939 (keyboard_controller_led): Rename `led_status' paramter to avoid
25940 name conflict.
25941
465b5a81 259422009-12-28 Carles Pina i Estany <carles@pina.cat>
25943
25944 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
25945 quotes.
25946
c181849b
VS
259472009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25948
25949 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
25950
9c8739a4
VS
259512009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25952
25953 * normal/menu_text.c (grub_print_message_indented): Prevent
25954 past-the-end-of-array dereference.
25955
3e74249c
VS
259562009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25957
25958 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
25959 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
25960
64fd18ed 259612009-12-27 Carles Pina i Estany <carles@pina.cat>
25962
25963 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
25964 * normal/main.c (grub_normal_read_line): Remove a space from the
25965 default prompt.
25966
714af9b9 259672009-12-27 Carles Pina i Estany <carles@pina.cat>
25968
25969 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
25970 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25971 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
25972 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
25973 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25974 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25975 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
25976
82f3e412 259772009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 25978
25979 * video/readers/jpeg.c (cmd): Declare.
25980 (grub_cmd_jpegtest): Use `grub_command_t' type.
25981 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
25982 Assign to `cmd'.
25983 (GRUB_MOD_FINI): Use `cmd' to unregister.
25984 * video/readers/png.c (cmd): Declare.
25985 (grub_cmd_pngtest): Use `grub_command_t' type.
25986 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
25987 Assign to `cmd'.
25988 (GRUB_MOD_FINI): Use `cmd' to unregister.
25989 * video/readers/tga.c (cmd): Declare.
25990 (grub_cmd_tgatest): Use `grub_command_t' type.
25991 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
25992 Assign to `cmd'.
25993 (GRUB_MOD_FINI): Use `cmd' to unregister.
25994
82f3e412 259952009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 25996
25997 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
25998 stops.
25999 * kern/corecmd.c (grub_register_core_commands): Likewise.
26000 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
26001 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
26002 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
26003 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26004 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
26005 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
26006 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
26007 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
26008 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26009 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26010 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26011 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26012 * normal/handler.c (insert_handler): Likewise.
26013 * normal/main.c (GRUB_MOD_INIT): Likewise.
26014 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26015
fdcdbb66 260162009-12-26 Carles Pina i Estany <carles@pina.cat>
26017
26018 * commands/help.c (grub_cmd_help): Print the command name before the
26019 summary.
26020 (GRUB_MOD_INIT): Remove command name from the summary.
26021 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 26022 string as summary.
fdcdbb66 26023 * lib/arg.c (find_long): Print the command name before the summary.
26024 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
26025 summary.
26026 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
26027 * commands/cat.c (GRUB_MOD_INIT): Likewise.
26028 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
26029 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26030 * commands/crc.c (GRUB_MOD_INIT): Likewise.
26031 * commands/date.c (GRUB_MOD_INIT): Likewise.
26032 * commands/echo.c (GRUB_MOD_INIT): Likewise.
26033 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
26034 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
26035 * commands/handler.c (GRUB_MOD_INIT): Likewise.
26036 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
26037 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
26038 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
26039 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
26040 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
26041 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
26042 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
26043 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
26044 * commands/ls.c (GRUB_MOD_INIT): Likewise.
26045 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
26046 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
26047 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
26048 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
26049 * commands/password.c (GRUB_MOD_INIT): Likewise.
26050 * commands/probe.c (GRUB_MOD_INIT): Likewise.
26051 * commands/read.c (GRUB_MOD_INIT): Likewise.
26052 * commands/search.c (GRUB_MOD_INIT): Likewise.
26053 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
26054 * commands/test.c (GRUB_MOD_INIT): Likewise.
26055 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
26056 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26057 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26058 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
26059 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26060 * lib/arg.c (GRUB_MOD_INIT): Likewise.
26061 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
26062 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
26063 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26064 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26065 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26066 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
26067 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
26068 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
26069
9c288be2
VS
260702009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26071
26072 Use search command for preliminar UUID search.
26073
26074 * commands/search.c: Split into ...
26075 * commands/search_wrap.c: ...this
26076 * commands/search.c: ...and this.
26077 * commands/search_file.c: New file.
26078 * commands/search_label.c: New file.
26079 * commands/search_uuid.c: New file.
26080 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
26081 Add commands/search_wrap.c, commands/search_file.c,
26082 commands/search_label.c and commands/search_uuid.c.
26083 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
26084 (search_mod_SOURCES): Set to commands/search_wrap.c.
26085 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
26086 search_label.mod.
26087 (search_fs_file_mod_SOURCES): New variable.
26088 (search_fs_file_mod_CFLAGS): Likewise.
26089 (search_fs_file_mod_LDFLAGS): Likewise.
26090 (search_label_mod_SOURCES): Likewise.
26091 (search_label_mod_CFLAGS): Likewise.
26092 (search_label_mod_LDFLAGS): Likewise.
26093 (search_fs_uuid_mod_SOURCES): New variable.
26094 (search_fs_uuid_mod_CFLAGS): Likewise.
26095 (search_fs_uuid_mod_LDFLAGS): Likewise.
26096 (fs_file_mod_SOURCES): Removed.
26097 (fs_file_mod_CFLAGS): Likewise.
26098 (fs_file_mod_LDFLAGS): Likewise.
26099 (fs_uuid_mod_SOURCES): Removed.
26100 (fs_uuid_mod_CFLAGS): Likewise.
26101 (fs_uuid_mod_LDFLAGS): Likewise.
26102 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
26103 Set to util/grub-install.in.
26104 * disk/fs_file.c: Removed.
26105 * disk/fs_uuid.c: Likewise.
26106 * include/grub/search.h: New file.
26107 * util/grub-install.in: Handle sparc64.
26108 Create and use load.cfg.
26109 * util/sparc64/ieee1275/grub-install.in: Removed.
26110
db943399
VS
261112009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26112
26113 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
26114 Ignore return status if CF is cleared.
26115 (grub_biosdisk_get_diskinfo_standard): Likewise.
26116
3fdae612
RM
261172009-12-25 Robert Millan <rmh.grub@aybabtu.com>
26118
26119 * term/i386/pc/at_keyboard.c
26120 (keyboard_controller_wait_untill_ready): New function.
26121 (grub_keyboard_controller_write, grub_keyboard_controller_read)
26122 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
26123 for keyboard polling, rather than duplicate the same loop. This
26124 saves a few bytes in code size.
26125
7ebaa2b4
VS
261262009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26127
26128 Support for (pxe[:server[:gateway]]) syntax and
26129 use environment variable for PXE.
26130
26131 * commands/i386/pc/pxecmd.c (options): Removed.
26132 (print_ip): Removed.
26133 (grub_cmd_pxe): Removed
26134 (grub_cmd_pxe_unload): New function.
26135 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
26136 (grub_pxe_your_ip): Made static.
26137 (grub_pxe_default_server_ip): Likewise.
26138 (grub_pxe_default_gateway_ip): Likewise.
26139 (grub_pxe_blksize): Likewise.
26140 (parse_ip): New function.
26141 (grub_pxe_open): Support server and gateway specification.
26142 (grub_pxe_close): Free disk->data.
26143 (grub_pxefs_open): Use disk->data.
26144 (grub_pxefs_read): Likewise.
26145 (grub_env_write_readonly): New function.
26146 (set_mac_env): Likewise.
26147 (set_env_limn_ro): Likewise.
26148 (parse_dhcp_vendor): Likewise.
26149 (grub_pxe_detect): Set the environment variables.
26150 (set_ip_env): New function.
26151 (write_ip_env): Likewise.
26152 (grub_env_write_pxe_default_server): Likewise.
26153 (grub_env_write_pxe_default_gateway): Likewise.
26154 (grub_env_write_pxe_blocksize): Likewise.
26155 (GRUB_MOD_INIT(pxe)): Set environment variables.
26156 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
26157 (grub_pxe_mac_addr_t): ... this. All users updated.
26158 (grub_pxe_your_ip): Removed.
26159 (grub_pxe_server_ip): Likewise.
26160 (grub_pxe_gateway_ip): Likewise.
26161 (grub_pxe_blksize): Likewise.
26162
ec5f98ab 261632009-12-25 Carles Pina i Estany <carles@pina.cat>
26164
26165 * commands/help.c: Include `<grub/i18n.h>'.
26166 (grub_cmd_help): Gettextizze.
26167 (GRUB_MOD_INIT): Likewise.
26168 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
26169 (GRUB_MOD_INIT): Gettextizze.
26170 * commands/search.c: Include `<grub/i18n.h>'.
26171 (options): Gettextizze.
26172 (GRUB_MOD_INIT): Gettextizze.
26173 * lib/arg.c: Include `<grub/i18n.h>'.
26174 (help_options): Gettextizze.
26175 (find_long): Likewise.
26176 (grub_arg_show_help): Likewise.
26177 * normal/dyncmd.c: Include `<grub/i18n.h>'.
26178 (read_command_list): Gettextizze.
26179 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 26180 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 26181
22815526
RM
261822009-12-25 Robert Millan <rmh.grub@aybabtu.com>
26183
26184 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
26185 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
26186 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
26187 (led_status): New variable.
26188 (keyboard_controller_led): New function.
26189 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
26190 update led status for caps lock, num lock and scroll lock.
26191
0ad46fd7
FZ
261922009-12-25 Felix Zielcke <fzielcke@z-51.de>
26193
26194 * util/hostdisk.c (open_device): Fix a comment.
26195
d0e158c2
RM
261962009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26197
26198 * util/grub-install.in (host_os): New variable.
26199 * util/i386/efi/grub-install.in (host_os): Likewise.
26200
401c0ad6
RM
262012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26202
26203 * util/mkisofs/write.c (padblock_write): Abort when given an
26204 excedingly large embed image, instead of silently truncating it.
26205
d14d3370
RM
262062009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26207
26208 * include/multiboot.h: Indentation fixes.
26209
eeed10b4
RM
262102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26211
26212 * include/multiboot.h (struct multiboot_aout_symbol_table)
26213 (struct multiboot_elf_section_header_table): New structure
26214 declarations (stolen from GRUB Legacy).
26215 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
26216 table information.
26217
26218 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
26219 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
26220 type aliases.
26221
681c70ab
RM
262222009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26223
26224 * include/multiboot.h: Make comments src2texi-friendly.
26225
e4d47d8d
RM
262262009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26227
26228 For consistency with [multiboot]/docs/boot.S.
26229
26230 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
26231 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
26232 (MULTIBOOT_MAGIC2): Rename from this ...
26233 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
26234
a0b70bda
RM
262352009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26236
26237 * include/multiboot.h: Remove `<grub/types.h>'.
26238 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
26239 types. Update all users.
26240
61ba42be 262412009-12-25 Carles Pina i Estany <carles@pina.cat>
26242
26243 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
26244 `couldn't' and `can not' by `cannot'.
26245 * commands/i386/pc/drivemap.c: Likewise.
26246 * disk/ata.c: Likewise.
26247 * disk/ieee1275/nand.c: Likewise.
26248 * fs/affs.c: Likewise.
26249 * fs/fat.c: Likewise.
26250 * fs/hfs.c: Likewise.
26251 * fs/hfsplus.c: Likewise.
26252 * fs/iso9660.c: Likewise.
26253 * fs/jfs.c: Likewise.
26254 * fs/minix.c: Likewise.
26255 * fs/reiserfs.c: Likewise.
26256 * fs/sfs.c: Likewise.
26257 * fs/udf.c: Likewise.
26258 * fs/ufs.c: Likewise.
26259 * fs/xfs.c: Likewise.
26260 * loader/powerpc/ieee1275/linux.c: Likewise.
26261 * loader/sparc64/ieee1275/linux.c: Likewise.
26262 * util/grub-probe.c: Likewise.
26263 * util/misc.c: Likewise.
26264
7fd0baee 262652009-12-24 Carles Pina i Estany <carles@pina.cat>
26266
26267 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
26268 grub_errno calls.
26269 * commands/acpi.c: Likewise.
26270 * commands/blocklist.c: Likewise.
26271 * commands/efi/loadbios.c: Likewise.
26272 * commands/i386/pc/drivemap.c: Likewise.
26273 * commands/loadenv.c: Likewise.
26274 * commands/memrw.c: Likewise.
26275 * commands/password.c: Likewise.
26276 * commands/videotest.c: Likewise.
26277 * disk/ata.c: Likewise.
26278 * disk/ata_pthru.c: Likewise.
26279 * disk/dmraid_nvidia.c: Likewise.
26280 * disk/ieee1275/nand.c: Likewise.
26281 * disk/ieee1275/ofdisk.c: Likewise.
26282 * disk/loopback.c: Likewise.
26283 * disk/lvm.c: Likewise.
26284 * disk/mdraid_linux.c: Likewise.
26285 * disk/raid.c: Likewise.
26286 * disk/raid6_recover.c: Likewise.
26287 * disk/scsi.c: Likewise.
26288 * efiemu/main.c: Likewise.
26289 * efiemu/mm.c: Likewise.
26290 * efiemu/pnvram.c: Likewise.
26291 * efiemu/symbols.c: Likewise.
26292 * font/font.c: Likewise.
26293 * fs/cpio.c: Likewise.
26294 * fs/hfsplus.c: Likewise.
26295 * fs/iso9660.c: Likewise.
26296 * fs/jfs.c: Likewise.
26297 * fs/minix.c: Likewise.
26298 * fs/ntfs.c: Likewise.
26299 * fs/ntfscomp.c: Likewise.
26300 * fs/reiserfs.c: Likewise.
26301 * fs/ufs.c: Likewise.
26302 * fs/xfs.c: Likewise.
26303 * gettext/gettext.c: Likewise.
26304 * include/grub/auth.h: Likewise.
26305 * kern/elf.c: Likewise.
26306 * kern/file.c: Likewise.
26307 * kern/ieee1275/init.c: Likewise.
26308 * kern/ieee1275/mmap.c: Likewise.
26309 * kern/ieee1275/openfw.c: Likewise.
26310 * kern/powerpc/dl.c: Likewise.
26311 * kern/sparc64/dl.c: Likewise.
26312 * lib/arg.c: Likewise.
26313 * loader/i386/bsd.c: Likewise.
26314 * loader/i386/bsdXX.c: Likewise.
26315 * loader/i386/efi/linux.c: Likewise.
26316 * loader/i386/efi/xnu.c: Likewise.
26317 * loader/i386/ieee1275/linux.c: Likewise.
26318 * loader/i386/linux.c: Likewise.
26319 * loader/i386/multiboot.c: Likewise.
26320 * loader/i386/pc/linux.c: Likewise.
26321 * loader/i386/pc/multiboot2.c: Likewise.
26322 * loader/i386/xnu.c: Likewise.
26323 * loader/ieee1275/multiboot2.c: Likewise.
26324 * loader/macho.c: Likewise.
26325 * loader/machoXX.c: Likewise.
26326 * loader/multiboot2.c: Likewise.
26327 * loader/multiboot_loader.c: Likewise.
26328 * loader/powerpc/ieee1275/linux.c: Likewise.
26329 * loader/sparc64/ieee1275/linux.c: Likewise.
26330 * loader/xnu.c: Likewise.
26331 * loader/xnu_resume.c: Likewise.
26332 * mmap/i386/pc/mmap.c: Likewise.
26333 * normal/menu_viewer.c: Likewise.
26334 * partmap/acorn.c: Likewise.
26335 * partmap/amiga.c: Likewise.
26336 * partmap/apple.c: Likewise.
26337 * script/lexer.c: Likewise.
26338 * term/gfxterm.c: Likewise.
26339 * term/i386/pc/serial.c: Likewise.
26340 * term/i386/pc/vga.c: Likewise.
26341 * term/ieee1275/ofconsole.c: Likewise.
26342 * term/terminfo.c: Likewise.
26343 * video/bitmap.c: Likewise.
26344 * video/efi_gop.c: Likewise.
26345 * video/efi_uga.c: Likewise.
26346 * video/fb/video_fb.c: Likewise.
26347 * video/i386/pc/vbe.c: Likewise.
26348 * video/readers/tga.c: Likewise.
26349 * video/video.c: Likewise.
26350
0ad46fd7 263512009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
26352
26353 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
26354 * commands/lspci.c: Likewise.
26355 * commands/probe.c: Likewise.
26356 * commands/xnu_uuid.c: Likewise.
26357 * conf/i386-coreboot.rmk: Likewise.
26358 * conf/i386-efi.rmk: Likewise.
26359 * conf/i386-ieee1275.rmk: Likewise.
26360 * conf/i386-pc.rmk: Likewise.
26361 * conf/powerpc-ieee1275.rmk: Likewise.
26362 * conf/sparc64-ieee1275.rmk: Likewise.
26363 * conf/x86_64-efi.rmk: Likewise.
26364 * fs/i386/pc/pxe.c: Likewise.
26365 * gettext/gettext.c: Likewise.
26366 * include/grub/efi/graphics_output.h: Likewise.
26367 * include/grub/i386/pc/memory.h: Likewise.
26368 * kern/env.c: Likewise.
26369 * kern/i386/qemu/startup.S: Likewise.
26370 * lib/i386/pc/biosnum.c: Likewise.
26371 * lib/i386/relocator.c: Likewise.
26372 * lib/i386/relocator_asm.S: Likewise.
26373 * lib/relocator.c: Likewise.
26374 * loader/i386/bsd.c: Likewise.
26375 * loader/i386/multiboot.c: Likewise.
26376 * loader/i386/pc/chainloader.c: Likewise.
26377 * loader/i386/xnu.c: Likewise.
26378 * loader/xnu.c: Likewise.
26379 * normal/main.c: Likewise.
26380 * normal/menu_text.c: Likewise.
26381 * util/getroot.c: Likewise.
26382 * util/grub-mkconfig_lib.in: Likewise.
26383 * util/grub.d/00_header.in: Likewise.
26384 * util/i386/pc/grub-mkimage.c: Likewise.
26385 * util/mkisofs/eltorito.c: Likewise.
26386 * util/mkisofs/exclude.h: Likewise.
26387 * util/mkisofs/hash.c: Likewise.
26388 * util/mkisofs/iso9660.h: Likewise.
26389 * util/mkisofs/joliet.c: Likewise.
26390 * util/mkisofs/mkisofs.c: Likewise.
26391 * util/mkisofs/mkisofs.h: Likewise.
26392 * util/mkisofs/multi.c: Likewise.
26393 * util/mkisofs/name.c: Likewise.
26394 * util/mkisofs/rock.c: Likewise.
26395 * util/mkisofs/tree.c: Likewise.
26396 * util/mkisofs/write.c: Likewise.
26397 * video/efi_gop.c: Likewise.
26398
009ec743
VS
263992009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
26400
26401 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
26402 size counting.
26403
0ad46fd7 264042009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
26405
26406 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
26407 * genmk.rb (class SCRIPT): Modify the target file instead of source.
26408
d3d30ea0
VS
264092009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26410
26411 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
26412 (GRUB_MOD_INIT(memrw)): Update help line.
26413
a34f5c70
VS
264142009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26415
26416 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
26417 Use grub_extcmd_t. All users updated.
26418 (options): New variable.
26419 (grub_cmd_read): Restructure for readability. Support "-v" option.
26420 (grub_cmd_write): Restructure for readability.
26421
0ad46fd7 264222009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
26423
26424 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
26425
0ad46fd7 264262009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
26427
26428 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
26429 with the actual contents of the correspondending make variable.
26430 * util/grub-mkrescue.in (pkglib_DATA): New variable.
26431 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
26432 specifying `*.lst' and `efiemu??.o'
26433
0ad46fd7 264342009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
26435
26436 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
26437 after function name.
26438 Noticed by Rene Engelhard <rene@debian.org>.
26439
dc77a799
VS
264402009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26441
26442 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
26443 (options): New variable.
26444 (iospace): Likewise.
26445 (grub_lspci_iter): List IO spaces if "-i" was given.
26446 (grub_cmd_lspci): Parse options.
26447 (GRUB_MOD_INIT(lspci)): Use extcmd.
26448 (GRUB_MOD_FINI(lspci)): Likewise.
26449
0ad46fd7 264502009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
26451
26452 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
26453 `function' keyword.
26454 Patch by Tony Mancill <tmancill@debian.org>.
26455
b5d5993b
VS
264562009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26457
26458 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
26459 (grub_uhci_portstatus): Likewise.
26460 (grub_uhci_portstatus): Add necessary delay.
11d18281 26461 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 26462
941903f2 264632009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 26464
941903f2 26465 * commands/acpi.c (options): Fix capitalizations and/or full stops.
26466 (GRUB_MOD_INIT): Likewise.
26467 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 26468 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
26469 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 26470 * commands/efi/loadbios.c (enable_rom_area): Likewise.
26471 (enable_rom_area): Likewise.
26472 (GRUB_MOD_INIT): Likewise.
26473 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
26474 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
26475 * commands/handler.c (GRUB_MOD_INIT): Likewise.
26476 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
26477 * commands/hexdump.c (options): Likewise.
26478 * commands/i386/cpuid.c (options): Likewise.
26479 (GRUB_MOD_INIT): Likewise.
26480 * commands/i386/pc/drivemap.c (options): Likewise.
26481 (GRUB_MOD_INIT): Likewise.
26482 * commands/i386/pc/halt (options): Likewise.
26483 (GRUB_MOD_INIT): Likewise.
26484 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
26485 * commands/i386/pc/pxecmd.c (options): Likewise.
26486 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
26487 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
26488 * commands/keystatus.c (options): Likewise.
26489 (GRUB_MOD_INIT): Likewise.
26490 * commands/loadenv.c (options): Likewise.
26491 * commands/ls.c (options): Likewise.
26492 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
26493 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
26494 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
26495 * commands/parttool.c (helpmsg): Likewise.
26496 * commands/probe.c (options): Likewise.
26497 * commands/read.c (GRUB_MOD_INIT): Likewise.
26498 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
26499 * commands/search.c (options): Likewise.
26500 * commands/sleep.c (options): Likewise.
26501 * commands/test.c (GRUB_MOD_INIT): Likewise.
26502 * commands/true.c (GRUB_MOD_INIT): Likewise.
26503 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
26504 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
26505 * lib/arg.c (help_options): Likewise.
e9bbb4e7 26506 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
26507 `$(XGETTEXT)'.
98a50553 26508 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 26509
0ad46fd7 265102009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 26511
ef3c2c3a 26512 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
26513 instead of specifying them explicit.
26514
7922f68b
RM
265152009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26516
26517 * NEWS: Add grub-probe support for GNU/Hurd.
26518
537ce47f
RM
265192009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26520
26521 * NEWS: gettext was added after 1.97.
26522
9b214e3a
RM
265232009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26524
26525 * util/mkisofs/msdos_partition.h: New file (based on
26526 include/grub/msdos_partition.h).
26527 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
26528 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
26529 (ld_options, main): Recognize --protective-msdos-label.
26530 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
26531 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
26532 (padblock_write): If `use_protective_msdos_label' is set, patch a
26533 protective DOS-style label in the output image.
26534
26535 * util/grub-mkrescue.in: Use --protective-msdos-label.
26536
e9309813
RM
265372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26538
26539 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
26540 boot.
26541
0ae56929
RM
265422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26543
26544 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
26545 variables.
26546 (ld_options, main): Recognize `--embedded-boot'.
26547 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
26548 declarations.
26549 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
26550 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
26551 (padblock_write): Likewise. Rewrite to support embedded boot image.
26552
26553 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
26554 for BIOS-based disk boot instead of only ElTorito.
26555
b15937b1
RM
265562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26557
26558 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
26559 build (not needed for bootstrap).
26560
52cc3ce0
RM
265612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26562
26563 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
26564 from i386-pc build (not needed for bootstrap).
26565 Rewrite a pair of strings.
26566
36f5ff04
RM
265672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26568
26569 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
26570
973c6c85 265712009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
26572
26573 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
26574
05d21547
AB
265752009-12-21 Andreas Born <futur.andy@googlemail.com>
26576
26577 * kern/env.c (grub_env_context_open): Mark exported variable for
26578 reexport.
26579
0175d51f
AB
265802009-12-21 Andreas Born <futur.andy@googlemail.com>
26581
26582 * kern/env.c (grub_env_export): Create nonexistent variables before
26583 exporting.
26584
7f39d92f 265852009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 26586
7f39d92f 26587 * include/grub/auth.h: Include `<grub/i18n.h>'.
26588 (GRUB_GET_PASSWORD): Gettextizze string.
26589 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
26590 menu_text.c.
26591 (grub_utf8_to_ucs4_alloc): Fix indentation.
26592 (grub_print_ucs4): Likewise.
26593 (grub_getstringwidth): Likewise.
26594 (print_message_indented): New declaration.
26595 * normal/auth.c: Include `<grub/i18n.h>'.
26596 (grub_auth_check_authentication): Gettexttize string.
26597 * normal/cmdline.c: Include `<grub/i18n.h>'.
26598 (grub_cmdline_get): Gettextizze.
26599 * normal/color.c: Include `<grub/i18n.h>'.
26600 (grub_parse_color_name_pair): Gettexttize strings.
26601 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
26602 string (use `print_message_indented').
26603 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
26604 `include/grub/normal.h'.
26605 (print_message_indented): Renamed to ...
26606 (grub_print_message_indented): ... this. Remove `static' qualifer (now
26607 used in normal/main.c).
26608 (print_message): Use `grub_print_message_indented' instead of
26609 `print_message_indented'.
26610 (print_timeout): Likewise.
26611 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
26612 (grub_normal_print_device_info): Gettexttize strings.
26613 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
26614
3041d898
VS
266152009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26616
26617 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
26618 of arguments. Return number of tokens and not arguments. All users
26619 updated.
26620
de15bf8e
VS
266212009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26622
26623 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
26624 non-MSDOS paritions.
26625
e0a6ca52
VS
266262009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
26627
26628 * include/grub/types.h (UNUSED): Removed since it conflicts with
26629 NetBSD headers. All users changed to direct __attribute__ ((unused)).
26630 Reported by Grégoire Sutre.
26631
b99518d1 266322009-12-19 Carles Pina i Estany <carles@pina.cat>
26633
26634 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
26635 (grub_print_ucs4_alloc): Likewise.
26636 (grub_getstringwidth): Likewise.
26637 * normal/main.c (grub_normal_init_page): Gettextize version string.
26638 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
26639 (getstringwidth): Renamed to ...
26640 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
26641 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
26642 (grub_print_ucs4): Remove `static' qualifer (now used in
26643 normal/main.c).
26644 * po/POTFILES: Add normal/main.c.
26645
bfd5e52b 266462009-12-19 Carles Pina i Estany <carles@pina.cat>
26647
26648 * normal/menu_text.c (STANDARD_MARGIN): New macro.
26649 (print_message_indented): Add `margin_left' and `margin_right'
26650 parameters.
26651 (print_message): Update `print_message_indented' calls. Adds '\n' to the
26652 strings.
26653 (print_timeout): Use `print_message_indented' to print the message.
26654 Deletes `second_stage' parameter.
26655 (run_menu): Update `print_timeout' calls.
26656
5a1ad2b9
VS
266572009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26658
26659 Fix console palette on OpenFirmware.
26660
26661 * term/ieee1275/ofconsole.c (MAX): Removed.
26662 (colors): Redone based on VGA palette.
26663 (grub_ofconsole_setcolor): Discard brightness bit since only 8
26664 colors are supported.
26665 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
26666
b045f00a
VS
266672009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26668
26669 Fix potential EfiEmu double prepare.
26670
26671 * efiemu/main.c (prepared): New variable
26672 (grub_efiemu_unload): Set prepare to '0'.
26673 (grub_efiemu_prepare): Return if already prepared. Set prepared.
26674
26675 set_virtual_address_map support.
26676
26677 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
26678 prototype.
26679 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
26680 prototype.
26681 (grub_efiemu_crc32): Likewise.
26682 (grub_efiemu_crc64): Likewise.
26683 (grub_efiemu_set_virtual_address_map): Likewise.
26684 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
26685 New definition.
26686 (grub_autoefi_set_virtual_address_map): Likewise.
26687 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
26688 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
26689 Restructure flow to accomodate it.
26690 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
26691 (grub_efiemu_crc): Recompute CRC32.
26692 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
26693 (efiemu_ptv_relocated): ... this. Made global. All users updated.
26694 * efiemu/symbols.c (relocated_handle): New variable.
26695 (grub_efiemu_free_syms): Free relocated_handle.
26696 (grub_efiemu_alloc_syms): Allocate relocated_handle.
26697 (grub_efiemu_write_sym_markers): New function.
26698 (grub_efiemu_set_virtual_address_map): Likewise.
26699
26700 Newer XNU parameters.
26701
26702 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
26703 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
26704 (grub_xnu_fill_devicetree): New prototype.
26705 (grub_xnu_heap_real_start): New variable.
26706 * loader/xnu.c (get_name_ptr): New function.
26707 (grub_xnu_load_driver): Fill namelen and name.
26708
26709 64-bit xnu support.
26710
26711 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
26712 and 'loader/macho64.c'.
26713 * conf/i386-pc.rmk: Likewise.
26714 * conf/x86_64-efi.rmk: Likewise.
26715 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
26716 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
26717 * include/grub/macho.h (grub_macho_segment64): New structure.
26718 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
26719 (grub_macho_size32): ... to this.
26720 (grub_macho32_get_entry_point): Renamed from ...
26721 (grub_macho_get_entry_point32): ... to this.
26722 (grub_macho_contains_macho64): New prototype.
26723 (grub_macho_size64): Likewise.
26724 (grub_macho_get_entry_point64): Likewise.
26725 (grub_macho32_load): Renamed from ...
26726 (grub_macho_load32): ... to this.
26727 (grub_macho32_filesize): Renamed from ...
26728 (grub_macho_filesize32): ... to this.
26729 (grub_macho32_readfile): Renamed from ...
26730 (grub_macho_readfile32): ... to this.
26731 (grub_macho_filesize64): New prototype.
26732 (grub_macho_readfile64): Likewise.
26733 (grub_macho_parse32): Likewise.
26734 (grub_macho_parse64): Likewise.
26735 * loader/macho.c: Split into ...
26736 * loader/machoXX.c: ... and this. Replace 32 with XX.
26737 * loader/macho32.c: New file.
26738 * loader/macho64.c: Likewise.
26739 * loader/xnu.c (grub_xnu_is_64bit): New variable.
26740 (grub_cmd_xnu_kernel): Make 32-bit only.
26741 (grub_cmd_xnu_kernel64): New function.
26742 (grub_xnu_load_driver): Support Mach-O 64.
26743 (grub_cmd_xnu_mkext): Likewise.
26744 * util/grub.d/30_os-prober.in (osx_entry): New function.
26745 Generate entries for 64-bit boot too.
26746
26747 Eliminate ad-hoc tree format in XNU and EfiEmu.
26748
26749 * efiemu/main.c (grub_efiemu_prepare): Update comment.
26750 * efiemu/pnvram.c: Rewritten to use environment variables.
26751 All users updated.
26752
26753 Inline utf16_to_utf8.
26754
26755 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
26756 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
26757 All users updated.
26758 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
26759
26760 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
26761 * commands/usbtest.c (grub_usb_get_string): ... move here.
26762 (usb_print_str): Fix error handling.
26763 * include/grub/usb.h (grub_usb_get_string): Remove.
26764
26765 UTF-8 to UTF-16 transformation.
26766
26767 * conf/common.rmk (pkglib_MODULES): Add charset.mod
26768 (charset_mod_SOURCES): New variable.
26769 (charset_mod_CFLAGS): Likewise.
26770 (charset_mod_LDFLAGS): Likewise.
26771 * include/grub/utf.h: New file.
26772 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
26773
26774 Support for device properties.
26775
26776 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
26777 (grub_xnu_devprop_device_header): Likewise.
26778 (grub_xnu_devprop_device_descriptor): Likewise.
26779 (grub_xnu_devprop_add_device): New prototype.
26780 (grub_xnu_devprop_remove_device): Likewise.
26781 (grub_xnu_devprop_remove_property): Likewise.
26782 (grub_xnu_devprop_add_property_utf8): Likewise.
26783 (grub_xnu_devprop_add_property_utf16): Likewise.
26784 (grub_cpu_xnu_init): Likewise.
26785 (grub_cpu_xnu_fini): Likewise.
26786 (grub_cpu_xnu_unload): Likewise.
26787 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
26788 (property_descriptor): Likewise.
26789 (devices): New variable.
26790 (grub_xnu_devprop_remove_property): New function.
26791 (grub_xnu_devprop_add_device): Likewise.
26792 (grub_xnu_devprop_remove_device): Likewise.
26793 (grub_xnu_devprop_add_property): Likewise.
26794 (grub_xnu_devprop_add_property_utf8): Likewise.
26795 (grub_xnu_devprop_add_property_utf16): Likewise.
26796 (hextoval): Likewise.
26797 (grub_cpu_xnu_fill_devprop): Likewise.
26798 (grub_cmd_devprop_load): Likewise.
26799 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
26800 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
26801 (cmd_devprop_load): New variable.
26802 (grub_cpu_xnu_init): New function.
26803 (grub_cpu_xnu_fini): Likewise.
26804 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
26805 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
26806 (grub_cmd_xnu_devtree): Likewise.
26807 (hextoval): New function.
26808 (unescape): Likewise.
26809 (grub_xnu_fill_devicetree): Likewise.
26810
26811 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
26812 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
26813
0945f181
VS
268142009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26815
26816 Workaround for broken ATI VBE.
26817
26818 * video/i386/pc/vbe.c (last_set_mode): New variable.
26819 (grub_vbe_set_video_mode): Set 'last_set_mode'.
26820 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
26821 (grub_video_vbe_setup): Don't check for reserved flag.
26822
0ad46fd7 268232009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
26824
26825 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
26826 the `find' command.
26827
c179ebe4
VS
268282009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
26829
26830 UUID support for HFS.
26831
26832 * fs/hfs.c (grub_hfs_uuid): New function.
26833 (grub_hfs_fs): New value .uuid.
26834 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
26835
0ad46fd7 268362009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
26837
26838 Fix a segfault with parsing unknown long options.
26839
26840 * util/grub-mkrelpath.c (options): Zero terminate it.
26841
c4a3e41a
CPE
268422009-12-13 Carles Pina i Estany <carles@pina.cat>
26843
26844 * include/grub/misc.h (grub_puts): New declaration.
26845 (grub_puts_): Likewise.
a22008a6 26846 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
26847 (grub_puts_): Likewise.
26848
2e8a7602
RM
268492009-12-13 Robert Millan <rmh.grub@aybabtu.com>
26850
26851 * util/grub-probe.c (probe): Improve error message.
26852
b50b77b9
RM
268532009-12-13 Robert Millan <rmh.grub@aybabtu.com>
26854
26855 * loader/i386/multiboot_elfxx.c
26856 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
26857 initialization.
26858
268592009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
26860
26861 Relocator framework
26862
26863 * loader/i386/xnu_helper.S: Removed. All users updated.
26864 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
26865 (relocator_mod_SOURCES): New variable.
26866 (relocator_mod_CFLAGS): Likewise.
26867 (relocator_mod_LDFLAGS): Likewise.
26868 (relocator_mod_ASFLAGS): Likewise.
26869 * conf/x86_64.rmk: Likewise.
26870 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
26871 (grub_multiboot_payload_entry_offset): Likewise.
26872 (grub_multiboot_forward_relocator): Likewise.
26873 (grub_multiboot_forward_relocator_end): Likewise.
26874 (grub_multiboot_backward_relocator): Likewise.
26875 (grub_multiboot_backward_relocator_end): Likewise.
26876 (grub_multiboot_payload_eip): New variable.
26877 (grub_multiboot_payload_orig): Likewise.
26878 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
26879 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
26880 * include/grub/i386/memory.h
26881 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
26882 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
26883 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
26884 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
26885 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
26886 * include/grub/i386/relocator.h: New file.
26887 * include/grub/x86_64/relocator.h: Likewise.
26888 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
26889 (XNU_RELOCATOR): New macro.
26890 (grub_xnu_launcher_start): Remove.
26891 (grub_xnu_launcher_end): Likewise.
26892 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
26893 (grub_xnu_heap_real_start): Remove.
26894 (grub_xnu_heap_start): Change to void *. All users updated.
26895 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
26896 * lib/i386/relocator.c: New file.
26897 * lib/i386/relocator_asm.S: Likewise.
26898 * lib/i386/relocator_backward.S: Likewise.
26899 * lib/mips/relocator.c: Likewise.
26900 * lib/mips/relocator_asm.S: Likewise.
26901 * lib/relocator.c: Likewise.
26902 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
26903 (entry): Removed.
26904 (playground): Likewise.
26905 (grub_multiboot_payload_orig): New variable.
26906 (grub_multiboot_payload_dest): Likewise.
26907 (grub_multiboot_payload_size): Likewise.
26908 (grub_multiboot_payload_eip): Likewise.
26909 (grub_multiboot_payload_esp): Likewise.
26910 (grub_multiboot_boot): Use grub_relocator32_boot.
26911 (grub_multiboot_unload): Free relocators.
26912 (grub_multiboot): Setup stack. Use relocators.
26913 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
26914 (grub_multiboot_load_elfXX): Use relocators.
26915 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
26916 (grub_multiboot_payload_size): Likewise.
26917 (grub_multiboot_payload_dest): Likewise.
26918 (grub_multiboot_payload_entry_offset): Likewise.
26919 (grub_multiboot_forward_relocator): Likewise.
26920 (grub_multiboot_backward_relocator): Likewise.
26921 (grub_multiboot_real_boot): Likewise.
26922 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
26923 (grub_xnu_entry_point): Likewise.
26924 (grub_xnu_arg1): Likewise.
26925 (grub_xnu_stack): Likewise.
26926 (grub_xnu_launch): Removed.
26927 (grub_xnu_boot_resume): New function.
26928 (grub_xnu_boot): Use relocators.
26929 * loader/i386/xnu_helper.S: Removed.
26930 * loader/xnu.c (grub_xnu_heap_start): New variable.
26931 (grub_xnu_heap_size): Likewise.
26932 (grub_xnu_heap_malloc): Use relocators.
26933 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
26934
29eb90c6
VS
269352009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
26936
26937 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
26938 anything.
26939
31027430
CPE
269402009-12-13 Carles Pina i Estany <carles@pina.cat>
26941
26942 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
26943 GRUB_ERR_NONE before calling grub_env_set.
26944
dc0c71d9
RM
269452009-12-12 Robert Millan <rmh@aybabtu.com>
26946
26947 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
26948 * genmk.rb (video): New variable.
26949 (CLEANFILES, VIDEOFILES): Add #{video}.
26950 (#{video}): New target rule.
26951 * genvideolist.sh: New file.
26952 * Makefile.in (pkglib_DATA): Add video.lst.
26953 (video.lst): New target rule.
26954 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
26955 `video.lst'.
26956 * util/grub.d/30_os-prober.in: Replace `vbe' with
26957 ${GRUB_VIDEO_BACKEND}.
26958
2a4bfcf0
RM
269592009-12-11 Robert Millan <rmh.grub@aybabtu.com>
26960
26961 * THANKS: Add David Miller.
26962
2a3aa4d5
RM
269632009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
26964
26965 libpciaccess support.
26966
26967 * Makefile.in (LIBPCIACCESS): New variable.
26968 (enable_grub_emu_pci): Likewise.
26969 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
26970 util/pci.c and commands/lspci.c.
26971 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
26972 * configure.ac (grub-emu-pci): New option.
26973 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
26974 (grub_pci_device_unmap_range): Likewise.
26975 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
26976 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
26977 (grub_pci_address_t) [!GRUB_UTIL]: New type.
26978 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
26979 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
26980 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
26981 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
26982 * include/grub/pciutils.h: New file.
26983 * util/pci.c: Likewise.
26984
0ad46fd7 269852009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
26986
26987 * util/misc.c: Don't include <errno.h> twice.
26988
0ad46fd7 269892009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
26990
26991 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
26992 name in an error message.
26993 (grub_biosdisk_rw): Likewise.
26994
2e59983c
VS
269952009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26996
26997 Eliminate NTFS 4Gib barrier.
26998
26999 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
27000 (read_run_data): Likewise.
27001 (grub_ntfs_read_run_list): Likewise.
27002 (grub_ntfs_read_block): Likewise.
27003 (grub_ntfs_iterate_dir): Likewise.
27004 (read_mft): Likewise.
27005 (read_data): Likewise.
27006 Use COM_LOG_LEN.
27007 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
27008 to avoid 64-bit division
27009 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
27010 (grub_ntfs_rlst): Use grub_disk_addr_t.
27011
71ee178a
VS
270122009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27013
27014 Eliminate grub-fstest 4Gib barrier.
27015
27016 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
27017 (read_file): Fix error reporting.
27018
2520d4b8
VS
270192009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27020
27021 Eliminate hexdump 4Gib barrier.
27022
27023 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
27024 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
27025
e1f27065
VS
270262009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27027
27028 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
27029 Fixes amarsh bug.
27030
1a0f7f45
RM
270312009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
27032
27033 Remove miscellaneous files in distclean target.
27034
27035 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
27036
c631d9fb
CW
270372009-12-09 Colin Watson <cjwatson@ubuntu.com>
27038
27039 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
27040 if they're already set. This resolves the conflict between my
27041 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
27042 fixing the --grub-probe option again.
27043 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
27044 change on 2009-10-06, so that we now once again source
27045 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
27046
7c7b6106
RM
270472009-12-08 Robert Millan <rmh.grub@aybabtu.com>
27048
27049 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
27050 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
27051 `util/devicemap.c'.
27052
e3069ec1
CPE
270532009-12-08 Carles Pina i Estany <carles@pina.cat>
27054
27055 * include/grub/misc.h (grub_printf_): New declaration.
27056 * kern/misc.c (grub_printf_): New definition.
27057 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
27058 instead of `grub_printf' and `_'.
27059 * normal/menu_entry.c (store_completion): Likewise.
27060 (run): Likewise.
27061 (grub_menu_entry_run): Likewise.
27062 * normal/menu_text.c (grub_wait_after_message): Likewise.
27063 (notify_booting): Likewise.
27064 (notify_fallback): Likewise.
27065 (notify_execution_failure): Likewise.
27066
d6ceebf1
CW
270672009-12-07 Colin Watson <cjwatson@ubuntu.com>
27068
27069 * configure.ac: Check for vasprintf.
27070 * util/misc.c (asprintf): Move allocation from here ...
27071 (vasprintf): ... to here. New function.
27072 (xasprintf): New function.
27073 * include/grub/util/misc.h (vasprintf, xasprintf): Add
27074 prototypes.
27075 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
27076 * util/grub-mkfont.c (write_font): Likewise.
27077 * util/grub-probe.c (probe): Likewise.
27078 * util/hostdisk.c (make_device_name): Likewise.
27079
de6daa8b
DM
270802009-12-06 David S. Miller <davem@sunset.davemloft.net>
27081
27082 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
27083 anything even prefixed with 'cdrom' as a cdrom.
27084
0ad46fd7 270852009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
27086
27087 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
27088 mount points.
27089
98d3dc02
CPE
270902009-12-05 Carles Pina i Estany <carles@pina.cat>
27091
27092 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
27093 grub_gettext_msg_list.
27094 (grub_gettext_gettranslation_from_position): Return const char *
27095 and not char *.
a2c1332b 27096 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
27097 returns from the list if existing there.
27098 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
27099 (grub_gettext_delete_list): Delete the list.
27100 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
27101 lang environment variable is changed.
27102 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
27103
b283f108
VS
271042009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27105
27106 Rename kernel.mod to kernel.img.
27107
27108 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
27109 (kernel_mod_EXPORTS): Rename to ...
27110 (kernel_img_EXPORTS): ... this.
27111 (kernel_mod_SOURCES): Rename to ...
27112 (kernel_img_SOURCES): ... this.
27113 (kernel_mod_HEADERS): Rename to ...
27114 (kernel_img_HEADERS): ... this. All users updated.
27115 (kernel_mod_CFLAGS): Rename to ...
27116 (kernel_img_CFLAGS): ... this.
27117 (kernel_mod_ASFLAGS): Rename to ...
27118 (kernel_img_ASFLAGS): ... this.
27119 (kernel_mod_LDFLAGS): Rename to ...
27120 (kernel_img_LDFLAGS): ... this.
27121 * conf/x86_64-efi.rmk: Likewise.
27122 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
27123 (read_kernel_image): ... this. All users updated.
27124 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
27125
69055f8a
CPE
271262009-12-05 Carles Pina i Estany <carles@pina.cat>
27127
27128 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
27129 (print_spaces): New function.
27130 (grub_print_ucs4): New function.
27131 (getstringwidth): New function.
27132 (print_message_indented): New function.
27133 (print_message): Gettexttize strings using print_message_indented.
27134 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
27135 width.
27136 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 27137 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
27138 Gettextize.
27139 * normal/menu_entry.c (store_completion): Cleanup the gettextized
27140 string.
27141 (run): Likewise.
27142 (grub_menu_entry_run): Likewise.
27143 * PO/POTFILES: Add normal/menu_entry.c.
27144
f616f51c
VS
271452009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27146
27147 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
27148
57bbe3be
CPE
271492009-12-05 Carles Pina i Estany <carles@pina.cat>
27150
27151 * util/grub-install.in: Install gettext .mo files.
27152 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
27153
013d67a1
CPE
271542009-12-05 Carles Pina i Estany <carles@pina.cat>
27155
27156 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
27157 grub_dprintf.
27158
fb954db0
RM
271592009-12-05 Robert Millan <rmh.grub@aybabtu.com>
27160
27161 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
27162 non-firmware-dependant one in realmode.S takes precedence.
27163
6b8474f8
RM
271642009-12-04 Robert Millan <rmh.grub@aybabtu.com>
27165
27166 * commands/halt.c: Replace misc arch-specific headers with
27167 `<grub/misc.h>'.
27168 * commands/reboot.c: Likewise.
27169 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
27170 `<grub/misc.h>'.
27171 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
27172 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
27173 (kernel_img_SOURCES): ... to here.
27174
27175 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
27176 * include/grub/i386/pc/init.h: Likewise.
27177 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27178 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27179
27180 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
27181
27182 * include/grub/i386/halt.h: Remove.
27183 * include/grub/i386/reboot.h: Likewise.
27184
27185 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
27186
4b2e6ca2
DM
271872009-12-03 David S. Miller <davem@sunset.davemloft.net>
27188
27189 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
27190 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
27191 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
27192 "progname.h"
27193 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
27194 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27195 (usage): Add missing comma in printf.
27196
5239348f
RM
271972009-12-02 Robert Millan <rmh.grub@aybabtu.com>
27198
27199 Use the same reboot approach on i386 coreboot and qemu as we do on
27200 BIOS.
27201
27202 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
27203 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
27204 * kern/i386/reboot.c: Remove.
27205 * include/grub/i386/reboot.h (grub_reboot): Export function.
27206 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
27207 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
27208 0xf000:0xfff0 instead of 0xffff:0x0000.
27209 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
27210 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
27211
ef34cbd4
RM
272122009-11-30 Robert Millan <rmh.grub@aybabtu.com>
27213
27214 Fix $srcdir != $objdir build.
27215
27216 * Makefile.in (po/%.po): Rewrite as ...
27217 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
27218
dc9837ea
ST
272192009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
27220
27221 Fix GNU/Hurd grub-install crash.
27222 * util/grub-probe.c (probe): Try to access `path' only when it is not
27223 NULL.
27224
2f857f98
VS
272252009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27226
27227 Correct module naming.
27228
27229 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
27230 (GRUB_MOD_INIT(efi_uga)): ... to this
27231 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
27232 (GRUB_MOD_FINI(efi_uga)): ... to this
27233 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
27234 (GRUB_MOD_INIT(efi_gop)): ... to this
27235 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
27236 (GRUB_MOD_FINI(efi_gop)): ... to this
27237
c5448046
RM
272382009-11-28 Robert Millan <rmh.grub@aybabtu.com>
27239
27240 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
27241 translatable.
27242 (usage): Translate `arg' strings using gettext().
27243 Thanks to Jordi Mallach for the suggestion.
27244
c85184ad
VS
272452009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27246
27247 GOP support. Based on patch from Bean
27248 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
27249
27250 * video/efi_gop.c: New file.
27251 * include/grub/efi/graphics_output.h: Likewise.
27252 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
27253 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
27254 variables.
27255 * conf/x86_64-efi.rmk: Likewise.
27256
8a4c48d8
VS
272572009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27258
27259 Rename efi_fb to efi_uga.
27260
27261 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
27262 'efi_uga.mod'.
27263 (efi_fb_mod_SOURCES): Rename this ...
27264 (efi_uga_mod_SOURCES): ... to this.
27265 (efi_fb_mod_CFLAGS): Rename this ...
27266 (efi_uga_mod_CFLAGS): ... to this.
27267 (efi_fb_mod_LDFLAGS): Rename this ...
27268 (efi_uga_mod_LDFLAGS): ... to this.
27269 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
27270 'efi_uga.mod'.
27271 (efi_fb_mod_SOURCES): Rename this ...
27272 (efi_uga_mod_SOURCES): ... to this.
27273 (efi_fb_mod_CFLAGS): Rename this ...
27274 (efi_uga_mod_CFLAGS): ... to this.
27275 (efi_fb_mod_LDFLAGS): Rename this ...
27276 (efi_uga_mod_LDFLAGS): ... to this.
27277 * video/efi_fb.c: Move this ...
27278 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
27279
fb6c1a7b
RM
272802009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27281
27282 * po/README: New file. Explain our PO file workflow.
27283
3bc7896c
RM
272842009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27285
27286 * po/ChangeLog: Remove. Move relevant entries back to ...
27287 * ChangeLog: ... here.
27288 * po/ca.po: Remove (now handled by TLP).
27289 * po/id.po: Likewise.
27290 * po/zh_CN.po: Likewise.
27291 * Makefile.in (LINGUAS): Initialize in a way that supports
27292 empty set.
27293
9ed4841d
RM
272942009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27295
27296 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
27297 reliing on po/LINGUAS.
27298 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
27299 (po/%.po): ... this.
27300
0ad46fd7 273012009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
27302
27303 * util/i386/efi/grub-mkimage.c: Include "progname.h".
27304 (main): Use `program_name' instead of nonexistent `progname'.
27305
e30dd392
FZ
273062009-11-26 Felix Zielcke <fzielcke@z-51.de>
27307
27308 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27309 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
27310
7656de4f
RM
273112009-11-26 Robert Millan <rmh.grub@aybabtu.com>
27312
27313 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
27314 commit.
27315 * conf/i386-efi.rmk: Likewise.
27316 * conf/i386-ieee1275.rmk: Likewise.
27317 * conf/powerpc-ieee1275.rmk: Likewise.
27318 * conf/sparc64-ieee1275.rmk: Likewise.
27319 * conf/x86_64-efi.rmk: Likewise.
27320
db77c4d4
FZ
273212009-11-26 Felix Zielcke <fzielcke@z-51.de>
27322
27323 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
27324
a755bb04
FZ
273252009-11-26 Felix Zielcke <fzielcke@z-51.de>
27326
27327 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
27328
8a4c07fd
RM
273292009-11-26 Robert Millan <rmh.grub@aybabtu.com>
27330
27331 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
27332 (grub_mkdevicemap_SOURCES): New variable.
27333 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
27334 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
27335 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
27336 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
27337 (grub_mkdevicemap_SOURCES): Remove.
27338 * conf/i386-efi.rmk: Likewise.
27339 * conf/i386-ieee1275.rmk: Likewise.
27340 * conf/i386-pc.rmk: Likewise.
27341 * conf/powerpc-ieee1275.rmk: Likewise.
27342 * conf/sparc64-ieee1275.rmk: Likewise.
27343 * conf/x86_64-efi.rmk: Likewise.
27344 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
27345 (usage): Fix strings to use `program_name'.
27346 (main): Initialize gettext.
27347 * util/grub-editenv.c: Likewise.
27348 * util/grub-emu.c: Likewise.
27349 * util/grub-fstest.c: Likewise.
27350 * util/grub-mkdevicemap.c: Likewise.
27351 * util/grub-mkfont.c: Likewise.
27352 * util/grub-mkrelpath.c: Likewise.
27353 * util/grub-pe2elf.c: Likewise.
27354 * util/grub-probe.c: Likewise.
27355 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27356 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
27357 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27358
27359 * util/misc.c: Include `"progname.h"'.
27360 (progname): Remove variable.
27361 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
27362
6f61ed55
FZ
273632009-11-25 Felix Zielcke <fzielcke@z-51.de>
27364
27365 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
27366 printf and print a newline after the menuentry header line.
27367 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27368
f022876b
FZ
273692009-11-25 Felix Zielcke <fzielcke@z-51.de>
27370
27371 autoconf >= 2.60 support $(localedir).
27372
27373 * INSTALL: Note that autoconf 2.60 is required.
27374 * configure.ac (AC_PREREQ): Bump to 2.60.
27375 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
27376 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27377
6717926e
YB
273782009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
27379
27380 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
27381 aclocal is run.
27382
08806a54
RM
273832009-11-25 Robert Millan <rmh.grub@aybabtu.com>
27384
27385 * normal/main.c (grub_normal_read_line): Fix off-by-one
27386 buffer overflow.
27387
13b33fba
RM
273882009-11-25 Robert Millan <rmh.grub@aybabtu.com>
27389
27390 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
27391 "parser.grub" in grub_command_execute() call.
27392
4a8572e9
CPE
273932009-11-24 Carles Pina i Estany <carles@pina.cat>
27394
27395 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
27396 * conf/i386-efi.rmk: Likewise.
27397 * conf/i386-ieee1275.rmk: Likewise.
27398 * conf/i386-pc.rmk: Likewise.
27399 * conf/powerpc-ieee1275.rmk: Likewise.
27400 * conf/sparc64-ieee1275.rmk: Likewise.
27401 * conf/x86_64-efi.rmk: Likewise.
27402 * gettext/gettex.c: Include <grub/i18n.h>.
27403 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
27404 here ...
27405 * include/grub/i18n.h: ... to here
27406 * include/grub/i18n.h: ... to here.
27407 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 27408 (grub_gettext_dummy): Move above user.
4a8572e9 27409
bee48093
FZ
274102009-11-24 Felix Zielcke <fzielcke@z-51.de>
27411
27412 * util/Makefile.in (install-local): Convert a `for' into a normal
27413 shell expansion.
27414
a031e91c
RM
274152009-11-24 Robert Millan <rmh.grub@aybabtu.com>
27416
27417 * autogen.sh: Add automake call.
27418 * config.guess: Remove.
27419 * config.sub: Likewise.
27420 * install-sh: Likewise.
27421
26bec39d
FZ
274222009-11-24 Felix Zielcke <fzielcke@z-51.de>
27423
27424 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
27425
8e2532fd
FZ
274262009-11-24 Felix Zielcke <fzielcke@z-51.de>
27427
27428 * util/Makefile.in (install-local): Convert a make `$(foreach)'
27429 function to a normal shell `for'.
27430
fefa1b7d
FZ
274312009-11-24 Felix Zielcke <fzielcke@z-51.de>
27432
27433 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27434
4501250b
FZ
274352009-11-24 Felix Zielcke <fzielcke@z-51.de>
27436
27437 * util/grub-mkrelpath.c: New file.
27438 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
27439 (grub_mkrelpath_SOURCES): New variable.
27440 * include/grub/util/misc.h: New function prototype.
27441 * util/misc.c (make_system_path_relative_to_its_root): New function.
27442
27443 * util/grub-mkconfig_lib.in (bindir): New variable.
27444 (grub_mkrelpath): Likewise.
27445 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
27446
27447 * util/probe.c (probe): Make the file path relative to its root.
27448 Change a info message to use the GRUB path. Enable again the
27449 check if we can read the file with GRUB facilities.
27450
27451 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
27452 to its root.
27453
11d9778b
FZ
274542009-11-24 Felix Zielcke <fzielcke@z-51.de>
27455
27456 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
27457 platform.
27458
4465287d
FZ
274592009-11-24 Felix Zielcke <fzielcke@z-51.de>
27460
27461 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
27462 strncmp().
27463
62b47f22
FZ
274642009-11-24 Felix Zielcke <fzielcke@z-51.de>
27465
27466 * util/getroot.c (grub_util_is_dmraid): New function.
27467 (grub_util_get_dev_abstraction): Treat dmraid and multipath
27468 devices as normal ones, not as LVM.
27469
1eafb9b9 274702009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
27471
27472 * conf/common.rmk: Add grub-gettext_lib target and updates
27473 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
27474 LDFLAGS.
27475 * gettext/gettext.c: New file. (Reads mo files).
27476 * include/grub/file.h (grub_file_pread): New prototype.
27477 * include/grub/i18n.h (_): New prototype.
27478 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
27479 prototypes.
27480 * kern/misc.c (grub_gettext_dummy): New function.
27481 * normal/menu_text.c: Include <grub/i18n.h>.
27482 * normal/menu_text.c (print_timeout): Gettexttize string.
27483 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
27484 * po/POTFILES: Add `normal/menu_text.c'.
27485 * po/ca.po: Add new translations.
c3ea6bd4
CPE
27486 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
27487 gettext module and defines locale_dir and lang in grub.cfg.
27488 * NEWS: Add gettext support.
27489
0fdb2568
RM
274902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27491
27492 * util/hostdisk.c: Include `<grub/i18n.h>'.
27493 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
27494 (make_device_name): Rewrite using asprintf.
27495 (convert_system_partition_to_system_disk): Replace 0 with NULL.
27496 (find_system_device): If a device is not found, generate one just
27497 by reusing the OS path name.
27498 (read_device_map): Make it permissible for device.map not to exist.
27499
f515aa62
RM
275002009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27501
27502 * script/sh/execute.c: Move from here ...
27503 * script/execute.c: ... to here. Update all users.
27504 * script/sh/function.c: Move from here ...
27505 * script/function.c: ... to here. Update all users.
27506 * script/sh/lexer.c: Move from here ...
27507 * script/lexer.c: ... to here. Update all users.
27508 * script/sh/main.c: Move from here ...
27509 * script/main.c: ... to here. Update all users.
27510 * script/sh/parser.y: Move from here ...
27511 * script/parser.y: ... to here. Update all users.
27512 * script/sh/script.c: Move from here ...
27513 * script/script.c: ... to here. Update all users.
27514
f84b481b
RM
275152009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27516
27517 * configure.ac: Detect all `emu' platforms. Define
27518 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
27519 --enable-grub-emu logic. Disable include/grub/machine
27520 symlink on `emu' platforms.
27521
27522 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
27523 * gensymlist.sh.in: Likewise.
27524
27525 * include/grub/i386/coreboot/machine.h: Remove file.
27526 * include/grub/i386/efi/machine.h: Likewise.
27527 * include/grub/i386/ieee1275/machine.h: Likewise.
27528 * include/grub/i386/pc/machine.h: Likewise.
27529 * include/grub/i386/qemu/machine.h: Likewise.
27530 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27531 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27532 * include/grub/x86_64/efi/machine.h: Likewise.
27533
27534 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
27535 * commands/halt.c: Likewise.
27536 * commands/reboot.c: Likewise.
27537 * include/grub/autoefi.h: Likewise.
27538 * include/grub/i386/at_keyboard.h: Likewise.
27539 * include/grub/i386/kernel.h: Likewise.
27540 * include/grub/i386/loader.h: Likewise.
27541 * include/grub/i386/pc/memory.h: Likewise.
27542 * kern/dl.c: Likewise.
27543 * kern/i386/coreboot/init.c: Likewise.
27544 * loader/i386/bsd.c: Likewise.
27545 * loader/i386/linux.c: Likewise.
27546 * loader/multiboot_loader.c: Likewise.
27547 * term/i386/pc/serial.c: Likewise.
27548 * term/usb_keyboard.c: Likewise.
27549
27550 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
27551 `<grub/machine/machine.h>'
27552 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
27553 * util/misc.c: Remove `<grub/machine/machine.h>' and
27554 `<grub/machine/time.h>'.
27555
27556 * Makefile.in (enable_grub_emu): Remove variable.
27557 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
27558
27559 * conf/any-emu.rmk: New file.
27560 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
27561 (grub_emu_init.c): Move from here ...
27562 * conf/any-emu.rmk: ... to here.
27563
27564 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
27565 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
27566 * conf/any-emu.rmk: ... to here.
27567
4efeab03
RM
275682009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27569
27570 * include/grub/parser.h (grub_parser_register): Document need
27571 of `name' parameter.
27572 * normal/main.c (grub_normal_read_line): Simplify prompt string.
27573 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
27574 "sh" to "grub".
27575
ea1dd8bf
RM
275762009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27577
27578 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
27579 `$(XGETTEXT)'.
27580 * include/grub/i18n.h (N_): New macro.
27581 * util/mkisofs/mkisofs.h: Likewise.
27582 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
27583 around N_().
27584 (usage): Use gettext() to translate help strings when printing them.
27585
0c140626
RM
275862009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27587
27588 Based on patch from Bean
27589 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
27590
27591 * video/efi_fb.c: New file.
27592 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
27593 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
27594 variables.
27595 * conf/x86_64-efi.rmk: Likewise.
27596
87d58298
RM
275972009-11-22 Robert Millan <rmh.grub@aybabtu.com>
27598
27599 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
27600 * util/i386/pc/grub-setup.c: Likewise.
27601
994cc3a3
ST
276022009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
27603
27604 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
27605 <hurd/fs.h>
27606 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
27607 file_get_storage_info to implement grub_guess_root_device.
27608
26a61d6a
FZ
276092009-11-21 Felix Zielcke <fzielcke@z-51.de>
27610
27611 * Makefile.in (target): Use make's builtin $(shell) function
27612 instead of calling directly $(SHELL) to create the locale directories,
27613 inside the $(foreach) function.
27614
74ff1dd5
FZ
276152009-11-21 Felix Zielcke <fzielcke@z-51.de>
27616
27617 * util/grub-mkrescue.in: Print an error and usage if output option
27618 has not been given.
27619
0b787d0e
FZ
276202009-11-21 Felix Zielcke <fzielcke@z-51.de>
27621
27622 Patch from Loïc Minier <loic.minier@ubuntu.com>.
27623 * util/grub.d/30_os-prober.in: Cope with Linux entries where
27624 root and /boot are on different devices.
27625
1164b270
RM
276262009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27627
27628 Fix build for srcdir != objdir.
27629
27630 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
27631 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
27632 $(srcdir).
27633 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
27634 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
27635 reference for input.
27636
13774a2f
RM
276372009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27638
27639 * util/grub-mkrescue.in: Use source directory direcly (without copiing
27640 or hardlinking it). Remove -J option, Joliet is not compatible with
27641 multiple source directories.
27642
efda854e
RM
276432009-11-21 Carles Pina i Estany <carles@pina.cat>
276442009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27645
27646 * util/grub-mkrescue.in: Recognize `--override-directory' option.
27647 (process_input_dir): New function. Process an arbitrary input
27648 directory.
27649 Misc adjustments to support both "override mode" and system-wide mode.
27650
6c09890c
FZ
276512009-11-20 Felix Zielcke <fzielcke@z-51.de>
27652
27653 * configure.ac (UNIFONT_BDF): Rename to ...
27654 (FONT_SOURCE): ... this. Update all users.
27655
a797824f
FZ
276562009-11-20 Felix Zielcke <fzielcke@z-51.de>
27657
27658 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
27659 to the list of unifont files to look for.
27660
cd4f42b0
RM
276612009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27662
27663 Patch from Joe Auricchio <jauricchio@gmail.com>
27664 * commands/minicmd.c (grub_mini_cmd_clear): New function.
27665 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
27666 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
27667
393c783d
FZ
276682009-11-19 Felix Zielcke <fzielcke@z-51.de>
27669
27670 * Makefile.in (install-local): Add a missing backslash.
27671
b2f1e327
FZ
276722009-11-19 Felix Zielcke <fzielcke@z-51.de>
27673
27674 * include/grub/x86_64/io.h: New file.
27675
f577f7a0
RM
276762009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27677
27678 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
27679 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
27680 Include `"progname.h"'.
27681 (main): Initialize gettext.
27682 * util/i386/pc/grub-setup.c: Gettexttize.
27683 * util/i386/pc/grub-mkimage.c: Likewise.
27684
27685 * Makefile.in (po/*.po): Redefine as ...
27686 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
27687
3bc7896c
RM
27688 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
27689
c37943b6
RM
276902009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27691
27692 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
27693 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
27694 (program_name): Remove.
27695 (main): Initialize gettext support.
6323f705
RM
27696 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
27697 Include `<libintl.h>'.
27698 (_): New macro.
c37943b6
RM
27699
27700 * util/mkisofs/eltorito.c: Gettexttize.
27701 * util/mkisofs/joliet.c: Likewise.
27702 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
27703 * util/mkisofs/multi.c: Likewise.
27704 * util/mkisofs/rock.c: Likewise.
27705 * util/mkisofs/tree.c: Likewise.
27706 * util/mkisofs/write.c: Likewise.
27707
3bc7896c
RM
27708 * po/POTFILES: Update with new files.
27709
5ce77c6e
RM
277102009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27711
27712 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
27713 * util/mkisofs/iso9660.h: Likewise.
27714 * util/mkisofs/joliet.c: Likewise.
27715 * util/mkisofs/mkisofs.c: Likewise.
27716 * util/mkisofs/mkisofs.h: Likewise.
27717 * util/mkisofs/rock.c: Likewise.
27718 * util/mkisofs/tree.c: Likewise.
27719 * util/mkisofs/write.c: Likewise.
27720
27721 * util/mkisofs/eltorito.c (rcsid): Remove.
27722 * util/mkisofs/hash.c: Likewise.
27723 * util/mkisofs/joliet.c: Likewise.
27724 * util/mkisofs/name.c: Likewise.
27725 * util/mkisofs/rock.c: Likewise.
27726 * util/mkisofs/tree.c: Likewise.
27727 * util/mkisofs/write.c: Likewise.
27728
1dabbc77
RM
277292009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27730
27731 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
27732 instead of static allocation.
27733 * util/mkisofs/match.h: Likewise.
27734
633877cb
RM
277352009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27736
3bc7896c
RM
27737 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
27738 and `util/grub.d/10_linux.in'.
633877cb
RM
27739 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
27740 translatable Shell files.
27741
af1c0c85
RM
277422009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27743
27744 * Makefile.in ($(srcdir)/aclocal.m4): New target.
27745
769ae37b
RM
277462009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27747
27748 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 27749 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
27750 * util/grub.d/10_kfreebsd.in (bindir): New variable.
27751 Add gettext initialization.
27752 (kfreebsd_entry): Make menuentry output translatable.
27753
277542009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27755
27756 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
27757 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
27758 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
27759 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
27760 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 27761 * po/LINGUAS: New file.
769ae37b
RM
27762
277632009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27764
27765 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
27766 other things).
27767 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
27768 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
27769 bindtextdomain() calls for gettext initialization.
27770
277712009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27772
27773 * gnulib/progname.c: New file (imported from Gnulib).
27774 * gnulib/progname.h: Likewise.
27775 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27776 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
27777 (usage): Replace `progname' with `program_name'.
27778 (main): Use set_program_name() for program name initialization.
27779
277802009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27781
27782 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
27783 from here ...
27784 * Makefile.in (CPPFLAGS): ... to here.
27785
277862009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27787
27788 * aclocal.m4: Move from here ...
27789 * acinclude.m4: ... to here.
27790 * autogen.sh: Add call to `aclocal'.
27791 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
27792
277932009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27794
27795 * Makefile.in (CLEANFILES): Add `po/*.mo'.
27796 (LINGUAS): New variable.
27797 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
27798 (install-local): Install MO files.
27799 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
27800 * include/grub/i18n.h: New file.
3bc7896c
RM
27801 * po/POTFILES: New file.
27802 * po/ca.po: New file.
769ae37b
RM
27803 * util/grub.d/10_linux.in (bindir): New variable.
27804 Add gettext initialization.
27805 (linux_entry): Make menuentry output translatable.
27806 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
27807 (usage): Make --help output translatable.
27808 (main): Initialize gettext.
27809
02c0a6ad
RM
278102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27811
27812 * import_gcry.py: New file (written by Vladimir with minor
27813 adjustments).
27814 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
27815 ciphers.
27816 * INSTALL: Document that Python is required for bootstrap.
27817
278182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27819
27820 Import ciphers from libgcrypt 1.4.4.
27821
27822 * lib/libgcrypt/cipher/ChangeLog
27823 * lib/libgcrypt/cipher/ac.c
27824 * lib/libgcrypt/cipher/arcfour.c
27825 * lib/libgcrypt/cipher/bithelp.h
27826 * lib/libgcrypt/cipher/blowfish.c
27827 * lib/libgcrypt/cipher/camellia-glue.c
27828 * lib/libgcrypt/cipher/camellia.c
27829 * lib/libgcrypt/cipher/camellia.h
27830 * lib/libgcrypt/cipher/cast5.c
27831 * lib/libgcrypt/cipher/cipher.c
27832 * lib/libgcrypt/cipher/crc.c
27833 * lib/libgcrypt/cipher/des.c
27834 * lib/libgcrypt/cipher/dsa.c
27835 * lib/libgcrypt/cipher/ecc.c
27836 * lib/libgcrypt/cipher/elgamal.c
27837 * lib/libgcrypt/cipher/hash-common.c
27838 * lib/libgcrypt/cipher/hash-common.h
27839 * lib/libgcrypt/cipher/hmac-tests.c
27840 * lib/libgcrypt/cipher/md.c
27841 * lib/libgcrypt/cipher/md4.c
27842 * lib/libgcrypt/cipher/md5.c
27843 * lib/libgcrypt/cipher/primegen.c
27844 * lib/libgcrypt/cipher/pubkey.c
27845 * lib/libgcrypt/cipher/rfc2268.c
27846 * lib/libgcrypt/cipher/rijndael-tables.h
27847 * lib/libgcrypt/cipher/rijndael.c
27848 * lib/libgcrypt/cipher/rmd.h
27849 * lib/libgcrypt/cipher/rmd160.c
27850 * lib/libgcrypt/cipher/rsa.c
27851 * lib/libgcrypt/cipher/seed.c
27852 * lib/libgcrypt/cipher/serpent.c
27853 * lib/libgcrypt/cipher/sha1.c
27854 * lib/libgcrypt/cipher/sha256.c
27855 * lib/libgcrypt/cipher/sha512.c
27856 * lib/libgcrypt/cipher/tiger.c
27857 * lib/libgcrypt/cipher/twofish.c
27858 * lib/libgcrypt/cipher/whirlpool.c
27859
af2f93ac
RM
278602009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27861
27862 Fix build for systems without error().
27863
27864 * gnulib/error.c: New file (imported from Gnulib).
27865 * gnulib/error.h: Likewise.
27866 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
27867 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
27868 (this variable is now used by error()).
27869
73fb3dd5
FZ
278702009-11-16 Felix Zielcke <fzielcke@z-51.de>
27871
814f5e96
FZ
27872 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
27873 instead of relying that char is signed.
73fb3dd5 27874
a691ca33
VS
278752009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
27876
27877 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
27878 blocksize different from specified.
27879 (grub_pxefs_read): Likewise.
27880
2af8f0f4
FZ
278812009-11-16 Felix Zielcke <fzielcke@z-51.de>
27882
27883 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
27884
27885 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
27886 (grub_ata_readwrite): Likewise. Update 2 format strings.
27887 (grub_atapi_read): Likewise.
27888
27889 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
27890 * conf/i386.rmk (pkglib_MODULES): ... to here ...
27891 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
27892 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
27893 (ata_mod_LDFLAGS): Move from here ...
27894 * conf/i386.rmk: ... to here ...
27895 * conf/x86_64-efi.rmk: ... and here.
27896 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
27897 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
27898
83bdecaf
RM
278992009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27900
27901 Relicense multiboot.h, with RMS' blessing.
27902
27903 * include/multiboot.h: Change to X11 license.
27904
fd6fd3d7
RM
279052009-11-15 Robert Millan <rmh.grub@aybabtu.com>
27906
27907 Support --version in grub-mkisofs.
27908
27909 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
27910 (OPTION_VERSION): New macro.
27911 (ld_options): Recognize --version.
27912 (usage): Move `program_name' from here ...
27913 (program_name): ... to here. Add `static' qualifier.
27914 (main): Recognize `OPTION_VERSION'.
27915
16a88c49
FZ
279162009-11-15 Felix Zielcke <fzielcke@z-51.de>
27917
27918 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
27919 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
27920
a4158476
RM
279212009-11-14 Robert Millan <rmh.grub@aybabtu.com>
27922
27923 Fix help2man generation for mkisofs.
27924
27925 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
27926 (usage): Send output to stdout (rather than stderr).
27927
fc2208b0
RM
279282009-11-14 Robert Millan <rmh.grub@aybabtu.com>
27929
27930 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
27931 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
27932 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
27933 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
27934 (bin_SCRIPTS): Add `grub-mkfloppy'.
27935 (grub_mkfloppy_SOURCES): New variable.
27936
27937 * util/grub-mkrescue.in: New file.
27938 * util/i386/pc/grub-mkfloppy.in: New file.
27939
27940 * util/i386/coreboot/grub-mkrescue.in: Remove.
27941 * util/i386/pc/grub-mkrescue.in: Remove.
27942
8d0edf4a
RM
279432009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27944
27945 * include/grub/multiboot.h (struct grub_multiboot_header): Move
27946 from here ...
27947 * include/multiboot.h (struct multiboot_header): ... to here. Update
27948 all users.
27949 * include/grub/multiboot.h (struct grub_multiboot_info): Move
27950 from here ...
27951 * include/multiboot.h (struct multiboot_info): ... to here. Update
27952 all users.
27953 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
27954 from here ...
27955 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
27956 Update all users.
27957 * include/grub/multiboot.h (struct grub_mod_list): Move
27958 from here ...
27959 * include/multiboot.h (struct multiboot_mod_list): ... to here.
27960 Update all users.
27961
a73f5969
RM
279622009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27963
27964 * include/multiboot2.h (multiboot_word): Rename from this ...
27965 (multiboot2_word): ... to this. Update all users.
27966 (multiboot_header): Rename from this ...
27967 (multiboot2_header): ... to this. Update all users.
27968 (multiboot_tag_header): Rename from this ...
27969 (multiboot2_tag_header): ... to this. Update all users.
27970 (multiboot_tag_start): Rename from this ...
27971 (multiboot2_tag_start): ... to this. Update all users.
27972 (multiboot_tag_name): Rename from this ...
27973 (multiboot2_tag_name): ... to this. Update all users.
27974 (multiboot_tag_module): Rename from this ...
27975 (multiboot2_tag_module): ... to this. Update all users.
27976 (multiboot_tag_memory): Rename from this ...
27977 (multiboot2_tag_memory): ... to this. Update all users.
27978 (multiboot_tag_unused): Rename from this ...
27979 (multiboot2_tag_unused): ... to this. Update all users.
27980 (multiboot_tag_end): Rename from this ...
27981 (multiboot2_tag_end): ... to this. Update all users.
27982
1c8927f0
RM
279832009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27984
27985 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
27986 this platform we should support Multiboot1 first.
27987
27988 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27989 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
27990 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
27991
6e1e0d89
RM
279922009-11-12 Robert Millan <rmh.grub@aybabtu.com>
27993
27994 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
27995 of write calls (converting them to fwrite() if they aren't already).
27996 (get_torito_desc): Likewise.
27997 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
27998
7f2b34d8
RM
279992009-11-12 Robert Millan <rmh.grub@aybabtu.com>
28000
28001 * util/i386/pc/grub-install.in: Move from here ...
28002 * util/grub-install.in: ... to here. Update all users.
28003
c0ef3311
CW
280042009-11-11 Colin Watson <cjwatson@ubuntu.com>
28005
28006 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
28007
e1f240ff
RM
280082009-11-11 Robert Millan <rmh.grub@aybabtu.com>
28009
28010 Support for El Torito without floppy emulation.
28011
28012 * util/mkisofs/eltorito.c: Include `<errno.h>'.
28013 (init_boot_catalog): Improve error handling.
28014 (get_torito_desc): Don't use floppy emulation unless requested by
28015 user. Patch boot information table when requested via
28016 `-boot-info-table'.
28017 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
28018 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
28019 (use_boot_info_table): New variables.
28020 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
28021 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
28022 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
28023 `--eltorito-emul-floppy'.
28024 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
28025 and `OPTION_ELTORITO_EMUL_FLOPPY'.
28026 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
28027 (use_boot_info_table, get_731): New prototypes.
28028 * util/mkisofs/write.c (get_731): New function.
28029
af7d4de5
FZ
280302009-11-11 Felix Zielcke <fzielcke@z-51.de>
28031
28032 Fix the generation of the man page.
28033
28034 * util/pc/i386/grub-install.in: Source
28035 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28036
2c55dbc0
RM
280372009-11-11 Robert Millan <rmh.grub@aybabtu.com>
28038
28039 Large file support for grub-mkisofs.
28040
28041 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
28042 * util/mkisofs/mkisofs.c (next_extent, last_extent)
28043 (session_start): Upgrade type to `uint64_t'. Update all users.
28044 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
28045 (struct directory_entry): Upgrade type of `starting_block' and
28046 `size' to `uint64_t'. Update all users.
28047 (struct deferred): Remove unused structure.
28048 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
28049 Update all users.
28050 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
28051 file is larger than `UINT32_MAX'.
28052 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
28053 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
28054 return value.
28055 (struct deferred_write): Upgrade type of `extent' and `size' to
28056 `uint64_t'. Update all users.
28057 (last_extent_written): Upgrade type to `uint64_t'. Update all
28058 users.
28059 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
28060 Update all users. Upgrade type of `remain' to `int64_t' and
28061 `use' to `size_t'. Use error() to handle fread() errors.
28062 (write_files): Rely on write_one_file() rather than calling
28063 xfwrite() directly.
28064
6a9cead5
FZ
280652009-11-09 Felix Zielcke <fzielcke@z-51.de>
28066
28067 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
28068
4825d790
RM
280692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28070
28071 * util/mkisofs/fnmatch.c: Remove.
28072 * util/mkisofs/getopt1.c: Likewise.
28073 * util/mkisofs/getopt.c: Likewise.
28074 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
28075 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
28076 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
28077 `gnulib/getopt1.c' and `gnulib/getopt.c'.
28078 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
28079
28080 * configure.ac: Detect `mingw32msvc' host_os.
28081 Check for lstat(), getuid() and getgid().
28082
28083 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
28084 instances of `u_char' with `uint8_t'.
28085
28086 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
28087 [!HAVE_GETUID] (getuid): New function (stub).
28088 [!HAVE_GETGID] (getgid): Likewise.
28089 [!HAVE_LSTAT] (lstat): Likewise.
28090 [!S_IROTH] (S_IROTH): New macro (dummy).
28091 [!S_IRGRP] (S_IRGRP): Likewise.
28092
84b860d8
RM
280932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28094
28095 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
28096 conditional expression).
28097
66e9b712
RM
280982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28099
28100 Import from Gnulib.
28101
28102 * gnulib/fnmatch.c: New file.
28103 * gnulib/fnmatch.h: Likewise.
28104 * gnulib/fnmatch_loop.c: Likewise.
28105 * gnulib/getopt.c: Likewise.
28106 * gnulib/getopt.h: Likewise.
28107 * gnulib/getopt1.c: Likewise.
28108 * gnulib/getopt_int.h: Likewise.
28109 * gnulib/gettext.h: Likewise.
28110
34f4a5b0
RM
281112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28112
28113 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
28114 * normal/handler.c (read_handler_list): Likewise.
28115
ac451143
RM
281162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28117
28118 Misc cleanup.
28119
28120 * kern/command.c (grub_register_command_prio): Use
28121 grub_zalloc() instead of explicitly zeroing data.
28122 * kern/list.c: Include `<grub/mm.h>'.
28123 (grub_named_list_find): Replace `0' with `NULL'.
28124 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
28125 (fs_module_list): Change type to `grub_named_list_t'. Update all
28126 users.
28127 * normal/dyncmd.c (read_command_list): Add space between function
28128 call and parenthesis.
28129 * normal/handler.c (read_handler_list): Likewise.
28130
4089b167
RM
281312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28132
28133 * normal/auth.c (punishment_delay): Moved from here ...
28134 (grub_auth_strcmp): ... to here (inside function).
28135
325f5037
RM
281362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28137
28138 * include/grub/list.h (struct grub_named_list): Remove `const'
28139 qualifier from `name'.
28140 (struct grub_prio_list): Likewise.
28141
7aea29a3
RM
281422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28143
28144 * normal/auth.c: Include `<grub/time.h>'.
28145 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
28146
3fd6f044
RM
281472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28148
28149 * normal/auth.c (punishment_delay): New variable.
28150 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
28151 (grub_auth_check_authentication): Punish failed login attempts with
28152 an incremental (2^N) delay.
28153
a4cd68e4
RM
281542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28155
28156 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
28157 path with $(srcdir).
28158
7ad12f43
VS
281592009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
28160
28161 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
28162
c1129f03
RM
281632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28164
28165 * util/i386/coreboot/grub-mkrescue.in: New file.
28166 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
28167 variables.
28168
28169 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
28170 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
28171 * configure.ac: Add header and function checks to satisfy grub-mkisofs
28172 requirements.
28173 * util/mkisofs/defaults.h: New file.
28174 * util/mkisofs/eltorito.c: Likewise.
28175 * util/mkisofs/exclude.h: Likewise.
28176 * util/mkisofs/fnmatch.c: Likewise.
28177 * util/mkisofs/getopt.c: Likewise.
28178 * util/mkisofs/getopt1.c: Likewise.
28179 * util/mkisofs/hash.c: Likewise.
28180 * util/mkisofs/include/fctldefs.h: Likewise.
28181 * util/mkisofs/include/mconfig.h: Likewise.
28182 * util/mkisofs/include/prototyp.h: Likewise.
28183 * util/mkisofs/include/statdefs.h: Likewise.
28184 * util/mkisofs/iso9660.h: Likewise.
28185 * util/mkisofs/joliet.c: Likewise.
28186 * util/mkisofs/match.c: Likewise.
28187 * util/mkisofs/match.h: Likewise.
28188 * util/mkisofs/mkisofs.c: Likewise.
28189 * util/mkisofs/mkisofs.h: Likewise.
28190 * util/mkisofs/multi.c: Likewise.
28191 * util/mkisofs/name.c: Likewise.
28192 * util/mkisofs/rock.c: Likewise.
28193 * util/mkisofs/tree.c: Likewise.
28194 * util/mkisofs/write.c: Likewise.
28195
ec8bb77d
VS
281962009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
28197
28198 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
28199 being insecure.
28200
3716b12c
RM
282012009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28202
28203 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
28204 `grub-mkimage' (and use $0 when possible).
28205
b97b7b91
RM
282062009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28207
28208 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
28209 error message for excessively large memory map.
28210
04114812
RM
282112009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28212
28213 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
28214 executable bit.
28215
e4eb2373
RM
282162009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28217
28218 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
28219 message for coreboot users.
28220
c926e1d5 282212009-11-07 Robert Millan <rmh.grub@aybabtu.com>
28222
28223 Fix build with GNU gold.
28224
28225 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
28226 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
28227 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
28228 link addresses.
28229 * aclocal.m4: Likewise.
28230
86e5b1db 282312009-11-04 Felix Zielcke <fzielcke@z-51.de>
28232
28233 * configure.ac (AC_PREREQ): Bump to 2.59d.
28234 * INSTALL: Make it more clear when Autoconf and Ruby are
28235 needed and when to run `./autogen.sh'.
28236
246cd78f 282372009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
28238
28239 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
28240 OSes.
28241
4f9dfb37 282422009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28243
28244 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
28245
b82bd5e1 282462009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28247
28248 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
28249 giving it to GNU Mach.
28250
ff1a9bca 282512009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28252
28253 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
28254 GNU partition number to get internal GRUB partition number.
28255
61697d9c 282562009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28257
28258 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
28259 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
28260
a50569e1 282612009-11-01 Robert Millan <rmh.grub@aybabtu.com>
28262
28263 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
28264 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
28265 case.
28266
5b153867 282672009-11-01 Felix Zielcke <fzielcke@z-51.de>
28268
28269 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
28270
d9e2cd70 282712009-10-30 Robert Millan <rmh.grub@aybabtu.com>
28272
28273 Fix build problem.
28274
28275 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
28276 `-isystem=$(srcdir)/include'.
28277
805111a4 282782009-10-30 Robert Millan <rmh.grub@aybabtu.com>
28279
28280 * util/i386/pc/grub-install.in: Remove hint that device.map should be
28281 checked (grub-install doesn't currently rely on it).
28282
fa6e945f 282832009-10-29 Robert Millan <rmh.grub@aybabtu.com>
28284
28285 Revert SVN r2660.
28286
28287 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
28288 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
28289 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
28290 * conf/i386-ieee1275.rmk: Likewise.
28291 * conf/i386-pc.rmk: Likewise.
28292 * conf/powerpc-ieee1275.rmk: Likewise.
28293 * conf/sparc64-ieee1275.rmk: Likewise.
28294 * conf/x86_64-efi.rmk: Likewise.
28295
cee15086 282962009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28297
28298 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
28299
95b9239e 283002009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28301
28302 * include/grub/misc.h: Stop checking for APPLE_CC.
28303
2ed19dfd 283042009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28305
28306 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
28307 doesn't cause an infinite call loop.
28308
fdcdde19 283092009-10-28 Felix Zielcke <fzielcke@z-51.de>
28310
28311 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
28312 strings.
28313
cefabfe1 283142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28315
28316 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
28317 variable.
28318 * Makefile.in: Likewise.
28319
ed96ab6d 283202009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28321
28322 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
28323
0579b753 283242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28325
28326 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
28327
478df409 283282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28329
28330 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
28331
083d1679 283322009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28333
28334 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
28335 from here ...
28336 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
28337
5947ae32 283382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28339
28340 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
28341 in $(MAKEINFO) invocation. This makes it clear in output that
28342 errors are being ignored.
28343
94180ff6 283442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28345
28346 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
28347 from here ...
28348 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
28349 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
28350 * conf/i386-ieee1275.rmk: Likewise.
28351 * conf/i386-pc.rmk: Likewise.
28352 * conf/powerpc-ieee1275.rmk: Likewise.
28353 * conf/sparc64-ieee1275.rmk: Likewise.
28354 * conf/x86_64-efi.rmk: Likewise.
28355
9031b03a 283562009-10-26 Colin Watson <cjwatson@ubuntu.com>
28357
28358 * util/grub-editenv.c (main): If only a command is given, use
28359 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
28360 (usage): FILENAME is now optional and has a default.
28361
e4f6809b 283622009-10-26 Colin Watson <cjwatson@ubuntu.com>
28363
28364 Improve grub-mkconfig performance when there are several menu
28365 entries on a single filesystem.
28366
28367 * util/grub.d/10_linux.in (linux_entry): Cache the output of
28368 prepare_grub_to_access_device.
28369 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28370 * util/grub.d/30_os-prober.in: Likewise.
28371
67937d4d 283722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28373
28374 * util/grub.d/10_freebsd.in: Remove.
28375 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
28376 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
28377
ee3756cc 283782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28379
5c35048e 28380 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 28381
4dea1c6f 283822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28383
28384 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
28385 grub_util_error() call.
28386
042484d7 283872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28388
28389 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
28390 `reserved_first_sector' member.
28391 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
28392 `reserved_first_sector' to 1.
28393 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
28394 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
28395 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
28396 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
28397 filesystems which begin at first sector.
28398 (options): New option --skip-fs-probe.
28399 (main): Handle --skip-fs-probe and pass it to setup().
28400
d64448a7 284012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28402
28403 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
28404 (memset): Fix function prototype.
28405
508d42ec 284062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
284072009-10-25 Vasily Averin <vvs@parallels.com>
28408
28409 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
28410 `dirent.direntlen == 0'.
28411
b240e30c 284122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28413
28414 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
28415 `cpio'.
28416 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
28417
346e7fbe 284182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28419
28420 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
28421 `__trampoline_setup' and `__ucmpdi2'.
28422 * include/grub/powerpc/libgcc.h: Only export symbols for functions
28423 that libgcc provides.
28424
cdb308b0 284252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28426
28427 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
28428 * include/grub/sparc64/libgcc.h (memset): Likewise.
28429 * include/grub/misc.h (memset, memcmp): New function prototypes.
28430
fb26abc2 284312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28432
28433 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
28434 `cpio'.
28435 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
28436
f6693890 284372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28438
28439 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
28440 * docs/grub.cfg: Compensate for recent change in multiboot
28441 loader (since 2009-08-14 it won't pass filename to payload).
28442 * util/grub.d/10_hurd.in: Likewise.
28443
0933cdc0 284442009-10-21 Felix Zielcke <fzielcke@z-51.de>
28445
28446 * config.guess: Update to latest version from config git
28447 repository.
28448 * config.sub: Likewise.
28449
3b2fe8c2 284502009-10-20 Robert Millan <rmh.grub@aybabtu.com>
28451
28452 Fix build on sparc64.
28453
28454 * configure.ac: Perform checks for libgcc symbols before
28455 adding `-nostdlib' to LDFLAGS.
28456
46695a62 284572009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
28458
28459 Let user specify OpenBSD root device.
28460
28461 * loader/i386/bsd.c (openbsd_root): New variable.
28462 (openbsd_opts): New option 'root'.
28463 (OPENBSD_ROOT_ARG): New macro.
28464 (grub_openbsd_boot): Use 'openbsd_root'.
28465 (grub_cmd_openbsd): Fill 'openbsd_root'.
28466
d2b6b7fc 284672009-10-16 Robert Millan <rmh.grub@aybabtu.com>
28468
28469 * NEWS: Misc adjustments.
28470
421bd7ac 284712009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
28472
28473 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
28474
f1d29d87 284752009-10-16 Robert Millan <rmh.grub@aybabtu.com>
28476
28477 * configure.ac: Bump version to 1.97.
28478
6f3cd880 284792009-10-16 Colin Watson <cjwatson@ubuntu.com>
28480
28481 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
28482 -mno-3dnow on x86 architectures. Some toolchains enable these
28483 features by default, but they rely on registers that aren't enabled
28484 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
28485
035f7122 284862009-10-15 Robert Millan <rmh.grub@aybabtu.com>
28487
28488 Make entry text a bit more readable.
28489
28490 * util/grub.d/10_linux.in: Add `with' before `Linux'.
28491
44998e58 284922009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28493
28494 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
28495
cd2851b3 284962009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28497
28498 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
28499 operations.
28500
c6f3b249 285012009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28502
28503 * configure.ac: Add missing dollar.
28504
6b5886ba 285052009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28506
28507 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
28508
28509 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
28510 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
28511 exports.
28512 * include/grub/sparc64/libgcc.h: Likewise. Use
28513 preprocessor conditionals.
28514
e9d66f6d 285152009-10-14 Robert Millan <rmh.grub@aybabtu.com>
28516
28517 * conf/common.rmk (grub-dumpbios): Remove rule.
28518 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
28519 * util/grub-dumpbios.in: Remove file.
28520
9155bc17 285212009-10-14 Robert Millan <rmh.grub@aybabtu.com>
28522
28523 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
28524 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
28525
28526 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
28527 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
28528 users.
28529
28530 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
28531 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
28532 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
28533 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
28534 users.
28535
bf7f7a18 285362009-10-12 Robert Millan <rmh.grub@aybabtu.com>
28537
28538 * term/tparm.c: Switch to GPLv3.
28539
86564c26 285402009-10-09 Robert Millan <rmh.grub@aybabtu.com>
28541
28542 * include/grub/i386/cpuid.h: Add header protection.
28543
5c936493 285442009-10-09 Robert Millan <rmh.grub@aybabtu.com>
28545
28546 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
28547
28548 * include/grub/i386/cpuid.h: New file.
28549 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
28550 (has_longmode): Rename to ...
28551 (grub_cpuid_has_longmode): ... this. Update all users. Remove
28552 `static' attribute.
28553 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
28554 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
28555 on a CPU that doesn't implement AMD64 instruction set.
28556
186e7cf2 285572009-10-06 Colin Watson <cjwatson@ubuntu.com>
28558
28559 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
28560 that version.texi is rebuilt on version number changes.
28561
83b65c4a 285622009-10-06 Colin Watson <cjwatson@ubuntu.com>
28563
28564 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
28565 Fixes bug #27602.
28566
d244281c 285672009-10-06 Colin Watson <cjwatson@ubuntu.com>
28568
28569 * util/i386/pc/grub-install.in: Source
28570 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
28571 that the --grub-probe option will work.
28572 * util/sparc64/ieee1275/grub-install.in: Likewise.
28573
da25306d 285742009-10-05 Robert Millan <rmh.grub@aybabtu.com>
28575
28576 * configure.ac: Bump version to 1.97~beta4.
28577
e8ee83c0 285782009-10-03 Robert Millan <rmh.grub@aybabtu.com>
28579
28580 Resync grub-mkdevicemap in x86_64-efi.
28581
28582 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
28583 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
28584 `util/devicemap.c'.
28585
50dcabcf 285862009-10-01 Colin Watson <cjwatson@ubuntu.com>
28587
28588 * util/grub-editenv.c (create_envblk_file): Write new block with a
28589 .new suffix and then rename it into place, to ensure atomic
28590 creation.
28591
0e51c3a7 285922009-09-28 Robert Millan <rmh.grub@aybabtu.com>
28593
28594 Do not automatically install headers.
28595
28596 * Makefile.in (include_DATA): Remove. Update all users.
28597
31299a95 285982009-09-26 Robert Millan <rmh.grub@aybabtu.com>
28599
28600 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
28601 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
28602
28603 * util/osdetect.lua: Remove.
28604 * script/lua/lauxlib.c: Likewise.
28605 * script/lua/ldebug.c: Likewise.
28606 * script/lua/grub_main.c: Likewise.
28607 * script/lua/lauxlib.h: Likewise.
28608 * script/lua/ldebug.h: Likewise.
28609 * script/lua/ltablib.c: Likewise.
28610 * script/lua/liolib.c: Likewise.
28611 * script/lua/lstrlib.c: Likewise.
28612 * script/lua/lualib.h: Likewise.
28613 * script/lua/ldo.c: Likewise.
28614 * script/lua/ldump.c: Likewise.
28615 * script/lua/ldo.h: Likewise.
28616 * script/lua/loslib.c: Likewise.
28617 * script/lua/lundump.c: Likewise.
28618 * script/lua/grub_lib.c: Likewise.
28619 * script/lua/ldblib.c: Likewise.
28620 * script/lua/lundump.h: Likewise.
28621 * script/lua/lmem.c: Likewise.
28622 * script/lua/grub_lib.h: Likewise.
28623 * script/lua/lmathlib.c: Likewise.
28624 * script/lua/lstate.c: Likewise.
28625 * script/lua/ltm.c: Likewise.
28626 * script/lua/lvm.c: Likewise.
28627 * script/lua/lmem.h: Likewise.
28628 * script/lua/lstate.h: Likewise.
28629 * script/lua/ltm.h: Likewise.
28630 * script/lua/ltable.c: Likewise.
28631 * script/lua/lvm.h: Likewise.
28632 * script/lua/llex.c: Likewise.
28633 * script/lua/lgc.c: Likewise.
28634 * script/lua/grub_lua.h: Likewise.
28635 * script/lua/loadlib.c: Likewise.
28636 * script/lua/lfunc.c: Likewise.
28637 * script/lua/lopcodes.c: Likewise.
28638 * script/lua/lparser.c: Likewise.
28639 * script/lua/ltable.h: Likewise.
28640 * script/lua/llex.h: Likewise.
28641 * script/lua/lgc.h: Likewise.
28642 * script/lua/lfunc.h: Likewise.
28643 * script/lua/lbaselib.c: Likewise.
28644 * script/lua/lopcodes.h: Likewise.
28645 * script/lua/lparser.h: Likewise.
28646 * script/lua/lzio.c: Likewise.
28647 * script/lua/linit.c: Likewise.
28648 * script/lua/lobject.c: Likewise.
28649 * script/lua/llimits.h: Likewise.
28650 * script/lua/lstring.c: Likewise.
28651 * script/lua/lzio.h: Likewise.
28652 * script/lua/lapi.c: Likewise.
28653 * script/lua/lcode.c: Likewise.
28654 * script/lua/lua.h: Likewise.
28655 * script/lua/lobject.h: Likewise.
28656 * script/lua/lstring.h: Likewise.
28657 * script/lua/lapi.h: Likewise.
28658 * script/lua/lcode.h: Likewise.
28659 * script/lua/luaconf.h: Likewise.
28660
cb8a2c38 286612009-09-26 Colin Watson <cjwatson@ubuntu.com>
28662
28663 * docs/grub.texi (Command-line and menu entry commands): Document
28664 date and echo commands.
28665
6b9b6276 286662009-09-24 Pavel Roskin <proski@gnu.org>
28667
28668 * include/grub/kernel.h (struct grub_module_header): Remove
28669 `grub_module_header_types'. Make `type' unsigned. Make `size'
28670 32-bit on all platforms.
28671 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
28672 8-bit field. Use grub_host_to_target32() for `size'.
28673 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
28674 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
28675 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
28676
4e5a02a7 286772009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28678
28679 Fix "lost keypress" bug in at_keyboard.
28680
28681 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
28682 Checks for readyness of input buffer (without flushing it).
28683 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
28684 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
28685
c6dcedf6 286862009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28687
28688 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
28689 size check within GRUB_MACHINE_PCBIOS section.
28690
74c958b1 286912009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28692
28693 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
28694 return value.
28695 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
28696 KEYBOARD_ISREADY check.
28697 (grub_at_keyboard_checkkey): Rename to ...
28698 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
28699 Remove gratuitous cast.
28700
ff420223 287012009-09-23 Colin Watson <cjwatson@ubuntu.com>
28702
28703 * configure.ac: Call AC_PROG_MKDIR_P.
28704 * Makefile.in (docs/stamp-vti): Create docs directory. Create
28705 version.texi in $(builddir) rather than $(srcdir).
28706 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
28707 to makeinfo's @include search path.
28708
d96875df 287092009-09-23 Felix Zielcke <fzielcke@z-51.de>
28710
28711 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
28712
9b3f8365 287132009-09-23 Felix Zielcke <fzielcke@z-51.de>
28714
28715 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
28716 for `*.dpkg-new'.
28717
c44c90db 287182009-09-21 Colin Watson <cjwatson@ubuntu.com>
28719
28720 Build info documentation. Some code borrowed from Automake.
28721
28722 * configure.ac: Check for makeinfo.
28723 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
28724 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
28725 docs/version.texi.
28726 (MOSTLYCLEANFILES): Add vti.tmp.
28727 (docs/version.texi, docs/stamp-vti): Update automatically.
28728 (docs/grub.info): Build info documentation. Use --force and ignore
28729 errors for now.
28730 (all-local): Add $(INFOS).
28731 (install-local): Install info files.
28732 (uninstall): Uninstall info files.
28733 * docs/version.texi: Remove from revision control. This file is
28734 automatically generated on build now.
28735 * gendistlist.sh: Add `*.info'.
28736
e0b37bb5 287372009-09-21 Felix Zielcke <fzielcke@z-51.de>
28738
28739 * kern/term.c: Fix indentation.
28740
5a78865b 287412009-09-21 Felix Zielcke <fzielcke@z-51.de>
28742
28743 * util/hostdisk.c: Fix a comment.
28744
dace7e8a 287452009-09-20 Robert Millan <rmh.grub@aybabtu.com>
28746
28747 Fix regression introduced in r2539.
28748
28749 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
28750 to 0xA1.
28751
a83d079b 287522009-09-19 Colin Watson <cjwatson@ubuntu.com>
28753
28754 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 28755 os-prober. Under normal operation, it does not print anything to
28756 stderr; if it does, we need to debug it, and throwing away stderr
28757 makes that excessively difficult.
a83d079b 28758
be94a509 287592009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
28760
28761 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
28762
63f745e8 287632009-09-16 Robert Millan <rmh.grub@aybabtu.com>
28764
28765 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
28766 AC_LANG_PROGRAM from autoconf.
28767 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
28768 prototypes (fixes warning).
28769
28770 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
28771 `--disable-werror' was used.
28772
bbb2a70f 287732009-09-16 Robert Millan <rmh.grub@aybabtu.com>
28774
28775 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
28776 uninitialized `lastaddr'.
28777
77c24f1d 287782009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
28779
0f0b8c87 28780 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 28781
07197f23 287822009-09-14 Colin Watson <cjwatson@ubuntu.com>
28783
28784 * commands/test.c (get_fileinfo): Return immediately if
28785 grub_fs_probe fails.
28786
dabf1798 287872009-09-14 José Martínez <xosemp@gmail.com>
28788
28789 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
28790
d52109a7 287912009-09-14 Colin Watson <cjwatson@ubuntu.com>
28792
28793 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
28794 output.
28795
56532179 287962009-09-13 Robert Millan <rmh.grub@aybabtu.com>
28797
28798 * configure.ac: Remove --enable-grub-pe2elf. Only build
28799 grub-pe2elf when needed by the build system itself.
28800 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
28801
8ef070f5 288022009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28803
28804 * configure.ac: Bump version to 1.97~beta3.
28805 * docs/version.texi: Likewise.
28806
61229557 288072009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28808
28809 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
28810 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
28811 from here ...
28812 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
28813 (grub_linux_setup_video): ... to here (with some adjustments).
28814
5c9f8d84 288152009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28816
28817 Fix memory corruption issue (spotted by Colin Watson).
28818
28819 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
28820 causing returned size to be stored in an incorrect memory location.
28821 Fix use of uninitialized value when storing the returned size.
28822
e8f5d6e9 288232009-09-12 Yves Blusseau <blusseau@zetam.org>
28824
28825 Change clean rules to properly remove files
28826
28827 * genmk.rb: add new clean rules
28828 * Makefile.in (clean): add the new targets
28829 (mostlyclean): likewise
28830
cda2a409 288312009-09-11 Colin Watson <cjwatson@ubuntu.com>
28832
28833 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
28834 to grub_uint64_t.
28835 * fs/ntfs.c (init_file): Understand 64-bit sizes for
28836 non-resident files.
28837
86695375 288382009-09-11 Colin Watson <cjwatson@ubuntu.com>
28839
28840 * configure.ac: Don't look for help2man when cross-compiling. Fixes
28841 part of bug #27349.
28842
8aa1541a 288432009-09-10 Felix Zielcke <fzielcke@z-51.de>
28844
28845 * util/grub-mkconfig.in: Make the created config mode 400 and
28846 print a warning if it fails.
28847
48d9bb0a 288482009-09-10 Robert Millan <rmh.grub@aybabtu.com>
28849
28850 * util/grub.d/40_custom.in: Ask user to type custom entries below
28851 comment, rather than below 'exec tail' line.
28852
3b0521be 288532009-09-10 Colin Watson <cjwatson@ubuntu.com>
28854
28855 * util/grub.d/40_custom.in: Make sure that the explanatory text is
28856 visible in grub.cfg.
28857
50051d55 288582009-09-10 Colin Watson <cjwatson@ubuntu.com>
28859
28860 * util/grub.d/40_custom.in: Make it a little clearer how to use this
28861 file.
28862
c0d34387 288632009-09-10 Felix Zielcke <fzielcke@z-51.de>
28864
28865 * docs/grub.cfg: Add an example menu entry for memtest86+.
28866
80a608f3 288672009-09-09 Felix Zielcke <fzielcke@z-51.de>
28868
a2094832 28869 * config.guess: Update to latest version from config git.
80a608f3 28870 * config.sub: Likewise.
28871
99423078 288722009-09-08 Colin Watson <cjwatson@ubuntu.com>
28873
28874 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
28875 unknown-command case. Fixes bug #27320.
28876
44454e4c 288772009-09-08 Felix Zielcke <fzielcke@z-51.de>
28878
28879 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
28880 `help' if the command exists.
28881
e30d87ad 288822009-09-06 Robert Millan <rmh.grub@aybabtu.com>
28883
28884 * INSTALL: Require GCC 4.1.3 or later.
28885
9a86f1ec 288862009-09-06 Yves Blusseau <blusseau@zetam.org>
28887
28888 * Makefile.in (RMKFILES): add i386-qemu.rmk
28889 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
28890 $(srcdir)/stamp-h.in
28891
7f26d466 288922009-09-05 Robert Millan <rmh.grub@aybabtu.com>
28893
28894 * util/grub-probe.c (probe): Comment out buggy codepath, which
28895 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
28896 should be re-enabled after 1.97.
28897
3a613259 288982009-09-05 Felix Zielcke <fzielcke@z-51.de>
28899
28900 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
28901 find searches for.
28902
197f76c7 289032009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
28904
28905 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
28906 unnecessary calls to grub_error.
28907
70ba68ce 289082009-09-04 Colin Watson <cjwatson@ubuntu.com>
28909
28910 * NEWS: Mention `keystatus' and Unicode fonts.
28911
4ff0d7a4 289122009-09-04 Robert Millan <rmh.grub@aybabtu.com>
28913
28914 * configure.ac: Bump version to 1.97~beta2.
28915 * docs/version.texi: Likewise.
28916
77c55a87 289172009-09-03 Colin Watson <cjwatson@ubuntu.com>
28918
28919 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
28920 containing unwind information in some cases where it previously did
28921 not. Use -fno-dwarf2-cfi-asm if available to restore the old
28922 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
28923 discussion.
28924
f79572cd 289252009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
28926
28927 Embedding loadenv module into grub-emu
28928
28929 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
28930 commands/loadenv.c
28931 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
28932 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
28933 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
28934 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
28935 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
28936 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
28937
93a81088 289382009-09-03 Magnus Granberg <zorry@ume.nu>
28939
28940 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
28941 include -fPIE in the default specs.
28942 * configure.ac: Check if pie_possible is yes and add -fno-PIE
28943 to TARGET_CFLAGS.
28944
160034b2 289452009-09-03 Felix Zielcke <fzielcke@z-51.de>
28946
28947 * INSTALL: Note that GNU Bison 2.3 or later is required.
28948
087c07c4 289492009-09-03 Colin Watson <cjwatson@ubuntu.com>
28950
28951 * kern/i386/pc/startup.S: Fix typo.
28952
cbf978c0 289532009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
28954
28955 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
28956 according to GCS.
28957
289582009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 28959
28960 * docs/grub.texi (Naming convention): Describe one-based partition
28961 numbering.
28962 (Device syntax): Likewise.
28963 (File name syntax): Likewise.
28964 (Block list syntax): Likewise.
28965 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
28966 menu.lst.
28967 (File name syntax): Likewise.
28968 (Command-line and menu entry commands): Document acpi, blocklist,
28969 crc, export, insmod, keystatus, ls, set, and unset commands.
28970
f3e8cdfd 289712009-09-02 Colin Watson <cjwatson@ubuntu.com>
28972
28973 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
28974 to avoid implying that only one of --shift, --ctrl, or --alt may be
28975 used.
28976
c0bc232b 289772009-09-02 Colin Watson <cjwatson@ubuntu.com>
28978
28979 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
28980 rather than comparing against S_IFREG, which will almost never work.
28981
aa0f752d 289822009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
28983
28984 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
28985 (write_blocklists): Likewise.
28986
ecb3166a 289872009-09-01 Colin Watson <cjwatson@ubuntu.com>
28988
28989 * script/lua/grub_lua.h (fputs): Supply a format string as the first
28990 argument to grub_printf.
28991
c403a125 289922009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 28993
28994 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 28995 non GNU test.
31aba781 28996
b5e7312c 289972009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
28998
28999 * kern/file.c (grub_file_read): Spelling fix
29000
fe00f472 290012009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
29002
29003 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
29004 loading of headers in some cases.
29005
cc55302e 290062009-08-30 Robert Millan <rmh.grub@aybabtu.com>
29007
29008 * configure.ac: Bump version to 1.97~beta1.
29009 * docs/version.texi: Likewise.
29010
5c90cdd2 290112009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 29012
29013 * include/grub/i386/xnu.h: Add license header.
29014 include grub/err.h explicitly.
29015
c90edae4 290162009-08-29 Robert Millan <rmh.grub@aybabtu.com>
29017
29018 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
29019 to `ufs' in the vfs.root.mountfrom kernel parameter.
29020
d8888b5c 290212009-08-29 Robert Millan <rmh.grub@aybabtu.com>
29022
29023 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
29024
29025 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
29026 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
29027
29028 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
29029 `ARRAY_SIZE' macro.
29030
6f07b921 290312009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29032
29033 * kern/file.c (grub_file_read): Check offset.
29034 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
29035 * fs/jfs.c (grub_jfs_read_file): Likewise.
29036 * fs/ntfs.c (grub_ntfs_read): Likewise.
29037 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
29038 * fs/minix.c (grub_minix_read_file): Correct offset check.
29039 * fs/ufs.c (grub_ufs_read_file): Likewise.
29040
b4f34077 290412009-08-28 Colin Watson <cjwatson@ubuntu.com>
29042
29043 * term/i386/pc/console.c (bios_data_area): Cast
29044 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
29045
e7c69859 290462009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29047
29048 1-bit optimised blitters.
29049
29050 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
29051 prototype.
29052 (grub_video_fbblit_replace_24bit_1bit): Likewise.
29053 (grub_video_fbblit_replace_16bit_1bit): Likewise.
29054 (grub_video_fbblit_replace_8bit_1bit): Likewise.
29055 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
29056 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
29057 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
29058 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
29059 function.
29060 (grub_video_fbblit_replace_24bit_1bit): Likewise.
29061 (grub_video_fbblit_replace_16bit_1bit): Likewise.
29062 (grub_video_fbblit_replace_8bit_1bit): Likewise.
29063 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
29064 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
29065 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
29066 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
29067 when possible.
29068 * video/video.c (grub_video_get_blit_format): Return
29069 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
29070
a57da43f 290712009-08-28 Colin Watson <cjwatson@ubuntu.com>
29072
29073 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
29074 the first argument to grub_printf.
29075
4cbe67e5 290762009-08-28 Colin Watson <cjwatson@ubuntu.com>
290772009-08-28 Robert Millan <rmh.grub@aybabtu.com>
29078
29079 Add `getkeystatus' terminal method. Add a new `keystatus' command
29080 to query it.
29081
29082 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
29083 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
29084 modifier key bitmasks.
29085 (struct grub_term_input): Add `getkeystatus' member.
29086 (grub_getkeystatus): Add prototype.
29087 * kern/term.c (grub_getkeystatus): New function.
29088
29089 * include/grub/i386/pc/memory.h
29090 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
29091 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
29092 Data Area layout.
29093 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
29094 (grub_console_term_input): Set `getkeystatus' member.
29095 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
29096 constants.
29097 (grub_usb_keyboard_getreport): Likewise.
29098 (grub_usb_keyboard_checkkey): Likewise.
29099 (grub_usb_keyboard_getkeystatus): New function.
29100 (grub_usb_keyboard_term): Set `getkeystatus' member.
29101
29102 * commands/keystatus.c: New file.
29103 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
29104 (keystatus_mod_SOURCES): New variable.
29105 (keystatus_mod_CFLAGS): Likewise.
29106 (keystatus_mod_LDFLAGS): Likewise.
29107 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
29108 commands/keystatus.c.
29109 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29110 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29111 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29113 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29114 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 29115
6e2a9085 291162009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29117
29118 Split befs.mod and afs.mod into *_be.mod and *.mod
29119
29120 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
29121 (grub_fstest_SOURCES): Likewise.
29122 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
29123 (afs_be_mod_SOURCES): New variable.
29124 (afs_be_mod_CFLAGS): Likewise.
29125 (afs_be_mod_LDFLAGS): Likewise.
29126 (befs_be_mod_SOURCES): Likewise.
29127 (befs_be_mod_CFLAGS): Likewise.
29128 (befs_be_mod_LDFLAGS): Likewise.
29129 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
29130 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29131 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29132 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29133 (grub_emu_SOURCES): Likewise.
29134 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29135 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29136 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29137 * fs/afs_be.c: New file.
29138 * fs/befs_be.c: New file.
29139 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
29140 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
29141 (U16): Replaced with ...
29142 (grub_afs_to_cpu16): ...this. All users updated.
29143 (U32): Replaced with ...
29144 (grub_afs_to_cpu32): ...this. All users updated.
29145 (U64): Replaced with ...
29146 (grub_afs_to_cpu64): ...this. All users updated.
29147 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
29148 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 29149 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 29150 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29151 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
29152 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
29153 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
29154 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29155 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
29156 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
29157 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
29158
32a71655 291592009-08-26 Bean <bean123ch@gmail.com>
29160
29161 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
29162 64-bit number.
29163 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
29164 (grub_xfs_inode_block): Change return type to grub_uint64_t.
29165 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
29166
552bf6c5 291672009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29168
29169 NetBSD memory map support.
29170
29171 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
29172 (grub_netbsd_btinfo_mmap_header): New structure.
29173 (grub_netbsd_btinfo_mmap_entry): Likewise.
29174 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
29175
1ae2078c 291762009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29177
29178 Enable bsd.mod on coreboot.
29179
29180 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
29181 (bsd_mod_SOURCES): New variable.
29182 (bsd_mod_CFLAGS): Likewise.
29183 (bsd_mod_LDFLAGS): Likewise.
29184 (bsd_mod_ASFLAGS): Likewise.
29185 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
29186 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
29187
beefc598 291882009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29189
29190 Cleanup NetBSD root support.
29191
29192 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
29193 grub_bsd_get_device.
29194 Fix typo.
29195
3b76e68b 291962009-08-25 Felix Zielcke <fzielcke@z-51.de>
29197
29198 * util/grub.d/00_header.in: Move check for the video backend of
29199 gfxterm from here ...
29200 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
29201 a suitable video backend.
29202
aea664ea 292032009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29204
29205 Fix breakage in grub-setup.
29206
29207 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
29208 "msdos_partition_map".
29209
ff747d50 292102009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29211
29212 Fix breakage in normal/auth.c.
29213
29214 * normal/auth.c (grub_iswordseparator): New function.
29215
e7e1f93f 292162009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29217
29218 Authentication support.
29219
29220 * commands/password.c: New file.
29221 * conf/common.rmk (pkglib_MODULES): Add password.mod.
29222 (password_mod_SOURCES): New variable.
29223 (password_mod_CFLAGS): Likewise.
29224 (password_mod_LDFLAGS): Likewise.
29225 (normal_mod_SOURCES): Add normal/auth.c.
29226 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
29227 normal/auth.c.
29228 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29229 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29230 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29232 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29233 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29234 * include/grub/auth.h: New file.
29235 * include/grub/err.h (grub_err_t): New enum value
29236 GRUB_ERR_ACCESS_DENIED.
29237 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
29238 'users'.
29239 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
29240 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
29241 users updated.
29242 * normal/auth.c: New file.
29243 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
29244 (grub_cmdline_run): Don't allow to go to command line without
29245 authentication.
29246 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
29247 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
29248 menuentry without superuser rights.
29249 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
29250 user isn't a superuser.
29251
70f1161d 292522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29253
29254 Save space by inlining misc.c functions.
29255
29256 * kern/misc.c (grub_iswordseparator): Made static.
29257 * kern/misc.c (grub_strcat): Moved from here ...
29258 * include/grub/misc.h (grub_strcat): ... here. Inlined.
29259 * kern/misc.c (grub_strncat): Moved from here ...
29260 * include/grub/misc.h (grub_strncat): ... here. Inlined.
29261 * kern/misc.c (grub_strcasecmp): Moved from here ...
29262 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
29263 * kern/misc.c (grub_strncasecmp): Moved from here ...
29264 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
29265 * kern/misc.c (grub_isalpha): Moved from here ...
29266 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
29267 * kern/misc.c (grub_isdigit): Moved from here ...
29268 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
29269 * kern/misc.c (grub_isgraph): Moved from here ...
29270 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
29271 * kern/misc.c (grub_tolower): Moved from here ...
29272 * include/grub/misc.h (grub_tolower): ... here. Inlined.
29273
48e40bff 292742009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29275
29276 * script/sh/function.c (grub_script_function_find): Cut error message
29277 not to flood terminal.
29278 * script/sh/lexer.c (grub_script_yylex): Remove command line length
29279 limit.
29280 * script/sh/script.c (grub_script_arg_add): Duplicate string.
29281
c385bfc3 292822009-08-24 Colin Watson <cjwatson@ubuntu.com>
29283
29284 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
29285 `report' grub_uint8_t *.
29286 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
29287 Use a 50-millisecond timeout rather than just repeating
29288 grub_usb_keyboard_getreport 50 times.
29289 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
29290
2d21e3e8 292912009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29292
29293 Rename *_partition_map to part_*
29294
29295 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
29296 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
29297 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
29298 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
29299 All users updated.
29300 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
29301 All users updated.
29302 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
29303 * util/grub-probe.c (probe_partmap): Don't transform partition name
29304 to get module name.
29305
dd103c4e 293062009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29307
29308 Fix OpenBSD and NetBSD support.
29309
29310 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
29311 memory address conflict.
29312 (OPENBSD_MMAP_ACPI): New definition.
29313 (OPENBSD_MMAP_NVS): Likewise.
29314 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
29315 and OPENBSD_MMAP_NVS.
29316 Add memory map terminator
29317 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 29318 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 29319
16c84d74 293202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29321
29322 Let user specify NetBSD root device.
29323
29324 * loader/i386/bsd.c (netbsd_root): New variable.
29325 (netbsd_opts): New option 'root'.
29326 (NETBSD_ROOT_ARG): New macro.
29327 (grub_netbsd_boot): Use 'netbsd_root'.
29328 (grub_bsd_unload): Free 'netbsd_root'.
29329 (grub_cmd_netbsd): Fill 'netbsd_root'.
29330
adb29902 293312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29332
29333 Support for 64-bit NetBSD.
29334
29335 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
29336 point when booting non-FreeBSD.
29337
f5ae9f74 293382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29339
29340 Support --no-smp and --no-acpi for NetBSD.
29341
29342 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
29343 (NETBSD_AB_NOACPI): Likewise.
29344 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
29345 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
29346
de74f136 293472009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
29348
29349 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
29350 errors.
29351 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
29352 errors. Call grub_error when needed.
29353
e9a925da 293542009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
29355
29356 * commands/search.c (search_fs): Try searching without autoload first.
29357 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
29358 filesystem module explicitly for faster booting.
29359
5174302b 293602009-08-23 Colin Watson <cjwatson@ubuntu.com>
29361
29362 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
29363
c8c80635 293642009-08-23 Colin Watson <cjwatson@ubuntu.com>
29365
29366 * util/grub.d/30_os-prober.in: Disable os-prober if
29367 `GRUB_DISABLE_OS_PROBER' was set to true.
29368
71acf5e5 293692009-08-23 Robert Millan <rmh.grub@aybabtu.com>
29370
29371 * partmap/pc.c: Rename to ...
29372 * partmap/msdos.c: ... this. Update all users.
29373 (grub_pc_partition_map): Rename to ...
29374 (grub_msdos_partition_map): ... this. Update all users.
29375
29376 * parttool/pcpart.c: Rename to ...
29377 * parttool/msdospart.c: ... this. Update all users.
29378
29379 * include/grub/pc_partition.h: Rename to ...
29380 * include/grub/msdos_partition.h: ... this. Update all users.
29381 (grub_pc_partition_bsd_entry): Rename to ...
29382 (grub_msdos_partition_bsd_entry): ... this. Update all users.
29383 (grub_pc_partition_disk_label): Rename to ...
29384 (grub_msdos_partition_disk_label): ... this. Update all users.
29385 (grub_pc_partition_entry): Rename to ...
29386 (grub_msdos_partition_entry): ... this. Update all users.
29387 (grub_pc_partition_mbr): Rename to ...
29388 (grub_msdos_partition_mbr): ... this. Update all users.
29389 (grub_pc_partition): Rename to ...
29390 (grub_msdos_partition): ... this. Update all users.
29391 (grub_pc_partition_is_empty): Rename to ...
29392 (grub_msdos_partition_is_empty): ... this. Update all users.
29393 (grub_pc_partition_is_extended): Rename to ...
29394 (grub_msdos_partition_is_extended): ... this. Update all users.
29395 (grub_pc_partition_is_bsd): Rename to ...
29396 (grub_msdos_partition_is_bsd): ... this. Update all users.
29397
29398 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
29399 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
29400 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
29401 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
29402 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
29403 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
29404 (gpt_mod_LDFLAGS): Rename to ...
29405 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
29406 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
29407 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
29408 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
29409 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
29410 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
29411 (part_gpt_mod_LDFLAGS): ... this.
29412 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
29413 `pcpart.mod' to `msdospart.mod'.
29414 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
29415 to ...
29416 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
29417 (msdospart_mod_LDFLAGS): ... this.
29418
c11fded5 294192009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
29420
29421 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
29422 (openbsd_opts): Likewise.
29423 (netbsd_opts): Likewise.
29424 (freebsd_flags): Added 0 terminator.
29425 (openbsd_flags): Likewise.
29426 (netbsd_flags): Likewise.
29427 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
29428 (grub_cmd_freebsd): Transformed into extended command.
29429 (grub_cmd_openbsd): Likewise.
29430 (grub_cmd_netbsd): Likewise.
29431 (cmd_freebsd): Changed type to grub_extcmd_t.
29432 (cmd_openbsd): Likewise.
29433 (cmd_netbsd): Likewise.
29434 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
29435 grub_cmd_openbsd as extended commands.
29436 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
29437 cmd_netbsd and cmd_openbsd
29438
11d1c769 294392009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
29440
29441 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
29442
7a9094e5 294432009-08-21 Pavel Roskin <proski@gnu.org>
29444
5496c37e 29445 * Makefile.in (install-local): When checking if a file is in the
29446 build directory, use "test -e" to detect symlinks.
29447
7a9094e5 29448 * Makefile.in (install-local): Remove all files in
29449 $(DESTDIR)$(pkglibdir) before installing new files there.
29450
e53cea11 294512009-08-18 Felix Zielcke <fzielcke@z-51.de>
29452
29453 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
29454 grub-mkelfimage.
29455
9aced544 294562009-08-18 Felix Zielcke <fzielcke@z-51.de>
29457
29458 * util/grub-mkconfig.in: Don't use gfxterm by default if not
29459 explicitly specified by the user.
29460
b7da6bab 294612009-08-18 Pavel Roskin <proski@gnu.org>
29462
29463 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
29464 grub_uint8_t pointer for data.
29465 * include/grub/fbutil.h (struct grub_video_fbblit_info):
29466 Likewise.
29467 * video/fb/fbutil.c: Remove unnecessary casts.
29468
19f1b335 294692009-08-17 Michal Suchanek <hramrach@centrum.cz>
29470
29471 VBE cleanup.
29472
29473 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
29474 (grub_vbe_set_video_mode): Save active mode info
29475 only after setting the mode.
29476 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
29477 second argument.
29478
2f467aa9 294792009-08-17 Michal Suchanek <hramrach@centrum.cz>
29480
29481 Rename variables for clarity.
29482
29483 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
29484 (active_vbe_mode_info): ... this. All users updated.
29485 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
29486 All users updated.
29487 (initial_mode): Rename to ...
29488 (initial_vbe_mode): ... this. All users updated.
29489 (mode_in_use): Rename to ..
29490 (vbe_mode_in_use): ... this. All users updated.
29491 (mode_list): Rename to ..
29492 (vbe_mode_list): ... this. All users updated.
29493 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
29494 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
29495 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
29496 'mode_list_size' to 'vbe_mode_list_size'.
29497 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
29498 'best_mode_info' to 'best_vbe_mode_info' and
29499 'best_mode' to 'best_vbe_mode'
29500
6025fcd7 295012009-08-17 Michal Suchanek <hramrach@centrum.cz>
29502
29503 Remove duplicate grub_video_fb_get_video_ptr.
29504
29505 * include/grub/fbutil.h (get_data_ptr): Rename to ...
29506 (grub_video_fb_get_video_ptr): ... this.
29507 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
29508 * video/fb/fbutil.c: Add comment about addressing.
29509 (get_data_ptr): Rename to ...
29510 (grub_video_fb_get_video_ptr): ... this. All users updated.
29511 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
29512
cc8c6faf 295132009-08-17 Robert Millan <rmh.grub@aybabtu.com>
29514
29515 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
29516 grub_dprintf() that was just added.
29517
08aa61f0 295182009-08-17 Robert Millan <rmh.grub@aybabtu.com>
29519
29520 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
29521 (DEFAULT_VIDEO_MODE): Remove macros.
29522 (grub_linux_boot): Remove assumption that Linux has FB support,
29523 and use "text" as default video mode.
29524
7cef4f75 295252009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
29526
29527 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
29528 grub_dprintf.
29529 * fs/fat.c (grub_fat_read_data): Likewise.
29530
e1f39873 295312009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29532
29533 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
29534 payload.
29535 (grub_module): Likewise.
29536
c166d79e 295372009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29538
29539 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
29540 mbi->cmdline but free playground.
29541
c60cee8e 295422009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29543
29544 Handle group offset on UFS1.
29545
29546 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
29547 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
29548
c0d8b5d4 295492009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29550
29551 Split ufs.mod into ufs1.mod and ufs2.mod.
29552
29553 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
29554 (grub_fstest_SOURCES): Likewise.
29555 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
29556 (ufs_mod_SOURCES): Remove.
29557 (ufs_mod_CFLAGS): Likewise.
29558 (ufs_mod_LDFLAGS): Likewise.
29559 (ufs1_mod_SOURCES): New variable.
29560 (ufs1_mod_CFLAGS): Likewise.
29561 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 29562 (ufs2_mod_SOURCES): New variable.
29563 (ufs2_mod_CFLAGS): Likewise.
29564 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 29565 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
29566 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
29567 Likewise.
29568 (grub_emu_SOURCES): Likewise.
29569 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29570 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29571 (grub_setup_SOURCES): Likewise.
29572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29573 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
29574 (grub_setup_SOURCES): Likewise.
29575 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
29576 Likewise.
29577 * fs/ufs2.c: New file.
29578 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
29579
d3539132 295802009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29581
29582 Framebuffer split.
29583
29584 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
29585 subsystem at the end.
29586 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
29587 (video_fb_mod_SOURCES): New variable.
29588 (video_fb_mod_CFLAGS): Likewise.
29589 (video_fb_mod_LDFLAGS): Likewise.
29590 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
29591 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
29592 * video/i386/pc/vbeblit.c: Moved from here ...
29593 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
29594 * video/i386/pc/vbefill.c: Moved from here ...
29595 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
29596 * video/i386/pc/vbeutil.c: Moved from here ...
29597 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
29598 * include/grub/i386/pc/vbeblit.h: Moved from here ...
29599 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
29600 * include/grub/i386/pc/vbefill.h: Moved from here ...
29601 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
29602 * include/grub/i386/pc/vbeutil.h: Moved from here ...
29603 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
29604 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
29605 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
29606 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
29607 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
29608 (grub_video_adapter): Added 'get_info_and_fini'.
29609 (grub_video_get_info_and_fini): New prototype.
29610 (grub_video_set_mode): make modestring const char *.
29611 * loader/i386/linux.c (grub_linux_setup_video): Use
29612 grub_video_get_info_and_fini.
29613 (grub_linux_boot): Move modesetting just before booting.
29614 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
29615 grub_video_get_info_and_fini.
29616 * video/i386/pc/vbe.c: Moved framebuffer part ...
29617 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
29618 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
29619 grub_video_fbstd_colors and grub_video_fb_set_palette.
29620 (grub_video_vbe_init): Clear 'framebuffer' variable and use
29621 grub_video_fb_init.
29622 (grub_video_vbe_fini): Use grub_video_fb_fini.
29623 (grub_video_vbe_setup): Use framebuffer.render_target instead of
29624 render_target and use grub_video_fb_set_active_render_target and
29625 grub_video_fb_set_palette.
29626 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
29627 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
29628 (grub_video_vbe_adapter): Use framebuffer.
29629 * video/video.c (grub_video_get_info_and_fini): New function.
29630 (grub_video_set_mode): Make modestring const char *.
29631 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
29632 values are already initialised.
29633
d404ee56 296342009-08-14 Pavel Roskin <proski@gnu.org>
29635
29636 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
29637 ABS and APPLE_CC.
29638 * boot/i386/pc/diskboot.S: Likewise.
29639 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
29640 sectors allow compilation on MacOSX.
29641 * conf/i386-pc.rmk: Enable unconditional compilation of
29642 lnxboot.img.
29643
9a10df16 296442009-08-13 Colin Watson <cjwatson@ubuntu.com>
29645
29646 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
29647 * util/grub.d/00_header.in: Enter interruptible sleep if
29648 GRUB_HIDDEN_TIMEOUT is set.
29649
be3c9ca7 296502009-08-13 Yves Blusseau <blusseau@zetam.org>
29651
29652 * include/grub/symbol.h: Add the LOCAL macro.
29653 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
29654 starting with "L_".
29655
1f9e557e 296562009-08-13 Pavel Roskin <proski@gnu.org>
29657
9ca62843 29658 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
29659 any modern compilers we support.
29660
1f9e557e 29661 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
29662 Use local labels starting with "L_" so that Apple assembler
29663 knows they are local.
29664
81623db6 296652009-08-10 Robert Millan <rmh.grub@aybabtu.com>
29666
29667 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
29668 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
29669 (bsd_kernel_types): ... this enum.
29670
29671 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
29672 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
29673 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
29674
29675 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
29676 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
29677 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
29678 messages.
29679
f5d35e7a 296802009-08-08 Robert Millan <rmh.grub@aybabtu.com>
29681
29682 * util/grub-dumpdevtree: Moved from here ...
29683 * util/i386/efi/grub-dumpdevtree: ... to here.
29684 (hexify): New function. Converts a string to its hex version.
29685 Generate hex versions of "efi" and "device-properties" by calling
29686 hexify() on the ASCII strings rather than by hardcoding numbers.
29687
d1e1d527 296882009-08-08 Robert Millan <rmh.grub@aybabtu.com>
29689
29690 * fs/jfs.c: Update copyright year.
29691
1ebbe064 296922009-08-08 Felix Zielcke <fzielcke@z-51.de>
29693
29694 * util/grub.d/00_header.in: Fix a comment.
29695 * util/grub.d/10_linux.in: Likewise.
29696 * util/grub.d/10_windows.in: Likewise.
29697 * util/grub.d/10_hurd.in: Likewise.
29698
a78c8d24 296992009-08-08 Felix Zielcke <fzielcke@z-51.de>
29700
29701 * util/grub-mkconfig.in: Allow the user to specify the used font
29702 with GRUB_FONT.
29703
29a6b9e8 297042009-08-08 Pavel Roskin <proski@gnu.org>
29705
b5f16cc4 29706 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
29707 available, xfs.mod needs it now.
29708
2f5cb827 29709 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
29710 the "g" modifier in sed when the intention is to strip something
29711 once. This fixes comparison of kernels with multiple dashes.
29712
29a6b9e8 29713 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
29714 on it. Add missing space before closing bracket. Fix
29715 misleading formatting.
29716
892a3d98 297172009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29718
29719 * docs/grub.texi: Major overhaul. Remove all sections that are
29720 specific to GRUB Legacy, or mostly composed of Legacy-specific
29721 information.
29722
ed94253f 297232009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29724
29725 * docs/version.texi: New file. Provides version information for
29726 grub.texi.
29727
126d6628 297282009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29729
29730 * docs/grub.texi: Update CVS information to SVN.
29731 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
29732
998b5aa9 297332009-08-07 Felix Zielcke <fzielcke@z-51.de>
29734
29735 * util/grub-mkconfig.in: Remove a wrong `fi'.
29736
818e094a 297372009-08-07 Felix Zielcke <fzielcke@z-51.de>
29738
29739 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
29740 (grub_jfs_uuid): New function.
29741 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
29742
b969c52f 297432009-08-07 Felix Zielcke <fzielcke@z-51.de>
29744
29745 * util/grub-mkconfig_lib.in (font_path): Move the functionality
29746 of it to ...
29747 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
29748 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
29749
7a4894cc 297502009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29751
29752 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
29753 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
29754 Update all users.
29755
29756 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
29757 not just "vmlinu[zx]".
29758 Moved from here ...
29759 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
29760 all users.
29761
29762 * util/grub.d/10_linux.in (find_latest): Moved from here ...
29763 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
29764 all users.
29765
4e2171f8 297662009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29767
29768 * util/grub.d/10_freebsd.in: Use an absolute device path for
29769 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
29770
6dcfcb32 297712009-08-06 Felix Zielcke <fzielcke@z-51.de>
29772
29773 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
29774 handling of multiple abstraction modules.
29775
f56a8756 297762009-08-04 Robert Millan <rmh.grub@aybabtu.com>
29777
29778 Fix a bug resulting in black screen when loading Linux using a
29779 packed video mode.
29780
29781 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
29782 function.
29783
29784 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
29785 (grub_vbe_bios_getset_dac_palette_width): New function.
29786 (grub_vbe_bios_get_dac_palette_width)
29787 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
29788 grub_vbe_bios_getset_dac_palette_width()).
29789
29790 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
29791 check for return status.
29792 (grub_vbe_get_video_mode_info): When getting information for a packed
29793 mode (<= 8 bpp), obtain DAC palette width using
29794 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
29795 {red,green,blue}_mark_size.
29796
222671b2 297972009-08-04 Felix Zielcke <fzielcke@z-51.de>
29798
ecb1a6d9 29799 * commands/search.c (options): Fix help output to match actual code.
222671b2 29800
f84114f5 298012009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
29802
29803 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
29804 of homegrown code.
29805
bd288a20 298062009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 29807
29808 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
29809 on XFS or ReiserFS.
29810
8aab5e25 298112009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
29812
29813 Support Apple partition map with sector size different from 512 bytes.
29814
29815 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
29816 (apple_partition_map_iterate): Respect 'aheader.blocksize'
29817 and 'apart.partmap_size'.
29818
6ad6258a 298192009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
298202009-08-01 Robert Millan <rmh.grub@aybabtu.com>
29821
29822 Fix cpuid command.
29823
29824 * commands/i386/cpuid.c (options): New variable.
29825 (grub_cmd_cpuid): Return real error.
29826 (GRUB_MOD_INIT(cpuid)): Declare options.
29827
67459bc6 298282009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
29829
29830 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
29831 valid.
29832
fbc6ab54 298332009-07-31 Bean <bean123ch@gmail.com>
29834
29835 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
29836 log2_inode.
29837 (grub_fshelp_node): Move inode field to the end.
29838 (grub_xfs_data): Remove inode field.
29839 (grub_xfs_inode_block): Calculate inode size using sblock.
29840 (grub_xfs_inode_offset): Likewise.
29841 (grub_xfs_read_inode): Calculate inode size using sblock.
29842 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
29843 (grub_xfs_iterate_dir): Calculate inode size using sblock.
29844 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
29845 to match inode size.
29846 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
29847 not accessible when data is null.
29848 (grub_xfs_open): Likewise.
29849
f45d6cfc 298502009-07-31 Bean <bean123ch@gmail.com>
29851
29852 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
29853 Don't change pv->disk if it's already set.
29854
29855 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
29856 (grub_raid_register): ... here.
29857 (grub_raid_rescan): Removed.
29858
29859 * include/grub/raid.h (grub_raid_rescan): Removed.
29860
29861 * util/grub-fstest.c: Remove include file <grub/raid.h>.
29862 (fstest): Replace grub_raid_rescan with module fini function followed
29863 by init function.
29864
29865 * util/grub-probe.c: Add include file <grub/raid.h>.
29866 (probe_raid_level): New function.
29867 (probe): Detect abstraction by walking the disk device, support two
29868 level of abstraction (LVM on RAID) when detecting partition map.
29869
24443b5a 298702009-07-31 Pavel Roskin <proski@gnu.org>
29871
29872 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
29873 to grub_zalloc(), it was erroneous.
29874 Reported by Bean <bean123ch@gmail.com>
29875
a275d9e7 298762009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
29877
29878 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 29879 embedding zone, not only the first one.
a275d9e7 29880
56c5a47f 298812009-07-29 Joe Auricchio <jauricchio@gmail.com>
29882
29883 * term/gfxterm.c (clear_char): New function.
29884 (grub_virtual_screen_setup): Use clear_char.
29885 (scroll_up): Likewise.
29886 (grub_virtual_screen_cls): Likewise.
29887
67bb323a 298882009-07-29 Felix Zielcke <fzielcke@z-51.de>
29889
29890 * util/deviceiter.c (get_acceleraid_disk_name): New static
29891 function.
29892 (grub_util_iterate_devices): Handle Accelraid devices.
29893 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
29894
388a7c75 298952009-07-28 Robert Millan <rmh.grub@aybabtu.com>
29896
29897 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
29898 separator for the suggested gfxpayload string (';' collides with the
29899 parser and needs escaping).
29900
3bb7abcf 299012009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
29902
29903 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
29904 Clear direction flag before jumping to OS.
29905 (grub_multiboot2_real_boot): Likewise.
29906
2ddd36d7 299072009-07-28 Felix Zielcke <fzielcke@z-51.de>
29908
29909 * util/i386/pc/grub-install: Fix parsing of --disk-module
29910 option.
29911
c521b62b 299122009-07-28 Felix Zielcke <fzielcke@z-51.de>
29913
29914 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
29915 when embedding.
29916
880e0a0c 299172009-07-26 Felix Zielcke <fzielcke@z-51.de>
29918
29919 * util/grub-mkconfig.in (package_version): New variable.
29920 Use it do display the version.
29921
2366e356 299222009-07-25 Felix Zielcke <fzielcke@z-51.de>
29923
29924 * kern/file.c (grub_file_open): Revert to previous check with
29925 grub_errno.
29926
7ad8c80e 299272009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
29928
29929 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
29930 from help line. It's out of sync with code.
29931
72b9658b 299322009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
29933
29934 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
29935 entries on failed boot.
29936
77435277 299372009-07-25 Felix Zielcke <fzielcke@z-51.de>
29938
29939 * kern/file.c (grub_file_open): Fix an error check.
29940
fcaa8b21 299412009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
29942
35d16c74 29943 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
29944 partition map couldn't be identified.
fcaa8b21 29945
48904cd1 299462009-07-23 Pavel Roskin <proski@gnu.org>
29947
ef3c317f 29948 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
29949 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
29950 case of little endian words becomes just an optimization.
29951 Respect const modifier.
ad8ea1f4 29952 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 29953
48904cd1 29954 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
29955 to avoid loss of upper bits if align is unsigned and shorter
29956 than addr.
29957
260c9a89 299582009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
29959
29960 UUID support for UFS
29961
29962 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
29963 (grub_ufs_uuid): New function.
29964 (grub_ufs_fs): add .uuid
29965
f76ce889 299662009-07-21 Pavel Roskin <proski@gnu.org>
29967
29968 * kern/dl.c (grub_dl_check_header): Make static.
29969
6a6cbcaf 299702009-07-21 Felix Zielcke <fzielcke@z-51.de>
29971
29972 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
29973 add drivemap for Vista. It breaks Windows 7.
29974
cffcddb2 299752009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
29976
29977 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
29978 128 bytes
29979
1ef44b80 299802009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29981
29982 Add BFS support
29983
29984 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
29985 (grub_fstest_SOURCES): Likewise.
29986 (pkglib_MODULES): Add befs.mod.
29987 (befs_mod_SOURCES): New variable.
29988 (befs_mod_CFLAGS): Likewise.
29989 (befs_mod_LDFLAGS): Likewise.
29990 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29991 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29992 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29993 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29994 (grub_setup_SOURCES): Likewise.
29995 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29996 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29997 (grub_setup_SOURCES): Likewise.
29998 * fs/befs.c: New file.
29999 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
30000 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
30001 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
30002 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
30003 (B_KEY_INDEX_ALIGN): New declaration.
30004 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
30005 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
30006 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
30007 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
30008 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
30009 (grub_afs_mount) [MODE_BFS]: Likewise.
30010 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
30011 (grub_afs_fs): Use GRUB_AFS_FSNAME
30012 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
30013 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
30014 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
30015 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
30016
4f253044 300172009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
30018
30019 * util/getroot.c (find_root_device): Add support for MacOSX.
30020 * util/hostdisk.c: Likewise.
30021
57a55913 300222009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30023
30024 * font/font.c (find_glyph): Check whether a font is present to avoid
30025 segmentation fault.
75421ca9 30026
300272009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 30028
30029 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
30030
e98cd0c2 300312009-07-20 Pavel Roskin <proski@gnu.org>
30032
30033 * configure.ac: Trim excessively wordy excuses.
30034
1d2d169a 300352009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30036
30037 Add symlink, mtime and label support to AtheFS.
30038
30039 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
30040 (grub_afs_iterate_dir): Handle symlinks.
30041 (grub_afs_open): Use grub_afs_read_symlink.
30042 (grub_afs_dir): Likewise.
30043 Pass mtime.
30044 (grub_afs_label): New function.
30045 (grub_afs_fs): Add grub_afs_label.
30046 (grub_afs_read_symlink): New function.
30047
186f3189 300482009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30049
30050 Fix AtheFS support.
30051
30052 * fs/afs.c: Fix comments style.
30053 (grub_afs_blockrun): Declare as packed.
30054 (grub_afs_datastream): Likewise.
30055 (grub_afs_bnode): Likewise.
30056 (grub_afs_btree): Likewise.
30057 (grub_afs_sblock): Likewise.
30058 Declare `name' as char.
30059 (grub_afs_inode): Declare as packed.
30060 Change void *vnode to grub_uint32_t unused.
30061 (grub_afs_iterate_dir): Check that key_size is positive.
30062 (grub_afs_mount): Don't read superblock twice.
75421ca9 30063 (grub_afs_dir): Don't free node in case of error,
186f3189 30064 grub_fshelp_find_file already handles this.
30065 (grub_afs_open): Likewise.
30066
5680109e 300672009-07-19 Pavel Roskin <proski@gnu.org>
30068
30069 * Makefile.in: Remove LIBLZO and enable_lzo.
30070 * conf/i386-pc.rmk: Remove lzo support.
30071 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
30072 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
30073 support.
30074 * kern/i386/pc/lzo1x.S: Remove.
30075 * kern/i386/pc/startup.S: Remove lzo support.
30076 * util/i386/pc/grub-mkimage.c: Likewise.
30077
ac70fa32 300782009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
30079
30080 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
30081 * fs/xfs.c (grub_xfs_dir): Likewise.
30082 * fs/afs.c (grub_afs_dir): Likewise.
30083 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
30084 (grub_iso9660_open): Likewise.
30085 * fs/jfs.c (grub_jfs_open): Likewise.
30086 * fs/ext2.c (grub_ext2_dir): Likewise.
30087 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
30088 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 30089
eab58da2 300902009-07-16 Pavel Roskin <proski@gnu.org>
30091
d2838156 30092 * configure.ac: Never add "-c" to CFLAGS.
30093
55c70904 30094 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
30095
43e6200c 30096 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
30097 grub_cv_cc_efiemu should be used.
30098
ce7a733d 30099 * configure.ac: Typo fixes.
30100
eab58da2 30101 * kern/mm.c (grub_zalloc): New function.
30102 (grub_debug_zalloc): Likewise.
30103 * include/grub/mm.h: Declare grub_zalloc() and
30104 grub_debug_zalloc().
30105 * util/misc.c (grub_zalloc): New function.
30106 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
30107 instead of grub_malloc(), remove unneeded initializations.
30108 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
30109 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
30110 * commands/parttool.c (grub_cmd_parttool): Likewise.
30111 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
30112 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
30113 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
30114 * disk/usbms.c (grub_usbms_finddevs): Likewise.
30115 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
30116 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
30117 (grub_cmd_efiemu_pnvram): Likewise.
30118 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
30119 * fs/iso9660.c (grub_iso9660_mount): Likewise.
30120 (grub_iso9660_iterate_dir): Likewise.
30121 * fs/jfs.c (grub_jfs_opendir): Likewise.
30122 * fs/ntfs.c (list_file): Likewise.
30123 (grub_ntfs_mount): Likewise.
30124 * kern/disk.c (grub_disk_open): Likewise.
30125 * kern/dl.c (grub_dl_load_core): Likewise.
30126 * kern/elf.c (grub_elf_file): Likewise.
30127 * kern/env.c (grub_env_context_open): Likewise.
30128 (grub_env_set): Likewise.
30129 (grub_env_set_data_slot): Likewise.
30130 * kern/file.c (grub_file_open): Likewise.
30131 * kern/fs.c (grub_fs_blocklist_open): Likewise.
30132 * loader/i386/multiboot.c (grub_module): Likewise.
30133 * loader/xnu.c (grub_xnu_create_key): Likewise.
30134 (grub_xnu_create_value): Likewise.
30135 * normal/main.c (grub_normal_add_menu_entry): Likewise.
30136 (read_config_file): Likewise.
30137 * normal/menu_entry.c (make_screen): Likewise.
30138 * partmap/sun.c (sun_partition_map_iterate): Likewise.
30139 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
30140 * script/sh/script.c (grub_script_parse): Likewise.
30141 * video/bitmap.c (grub_video_bitmap_create): Likewise.
30142 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
30143 * video/readers/png.c (grub_png_output_byte): Likewise.
30144 (grub_video_reader_png): Likewise.
30145
830afef7 301462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 30147
30148 Enable all targets that can be built by default
30149
830afef7 30150 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 30151 grub-mkfont and grub-fstest if they can be built
30152
ee293aee 301532009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30154
30155 Fix hang and segmentation fault in grub-emu-usb
30156
30157 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
30158 * util/usb.c (grub_libusb_devices): likewise
30159 (grub_libusb_init): rename to ...
30160 (GRUB_MOD_INIT (libusb)):...this
30161 (grub_libusb_fini): rename to ..
30162 (GRUB_MOD_FINI (libusb)):...this
30163 * disk/usbms.c (grub_usbms_transfer): fix retry logic
30164 * include/grub/disk.h (grub_raid_init): removed, it's useless
30165 (grub_raid_fini): likewise
30166 (grub_lvm_init): likewise
30167 (grub_lvm_fini): likewise
30168 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
30169 by grub_init_all
30170
94414221 301712009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30172
30173 Fix libusb
30174
30175 * Makefile.in (LIBUSB): new macro
30176 * genmk.rb (Utility/print_tail): new method
30177 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
30178 (top level): call util.print_tail at the end.
30179
59ade63d 301802009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30181
30182 Make FreeBSD accept zpool.cache
30183
30184 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
30185 type is /boot/zfs/zpool.cache
30186
a58da8c7 301872009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30188
30189 Fix 64-bit efiemu
30190
30191 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
30192 correct wrong typedef
30193 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
30194
20591577 301952009-07-15 Pavel Roskin <proski@gnu.org>
30196
560ca572 30197 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
30198 * kern/disk.c (struct grub_disk_cache): Likewise.
30199
e8e8e4fd 30200 * commands/probe.c (options): Typo fix.
30201
fde24e10 30202 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
30203 Increase to 0x5a to accommodate FAT32. Adjust other offsets
30204 accordingly.
30205 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
30206
379c54c1 30207 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
30208 the end of "Error" to make the message more readable.
30209
7bd8f5bf 30210 * boot/i386/pc/boot.S (kernel_segment): Remove.
30211 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
30212 for destination.
30213
40b132c5 30214 * boot/i386/pc/boot.S (boot_version): Remove.
30215 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
30216 Remove.
30217
20591577 30218 * include/grub/i386/pc/boot.h: Sort all offsets.
30219 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
30220 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
30221 * boot/i386/pc/boot.S: Assert location of every offset listed in
30222 include/grub/i386/pc/boot.h.
30223
2df32b2c 302242009-07-13 Pavel Roskin <proski@gnu.org>
30225
44b5d879 30226 * include/grub/i386/coreboot/machine.h: Rename
30227 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
30228 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
30229 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
30230
17dc3751 30231 * kern/dl.c: Force native word size to suppress warnings when
30232 compiling grub-emu.
30233
2df32b2c 30234 * kern/device.c (grub_device_iterate): Change struct part_ent to
30235 hold the name, not a pointer to it. Use one grub_malloc() per
30236 partition, not two. Free partition_name if grub_malloc() fails.
30237 Set ents to NULL only before grub_partition_iterate() is called.
30238
75c59f59 302392009-07-11 Bean <bean123ch@gmail.com>
30240
30241 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
30242 childname.
30243
0ae1bf88 302442009-07-10 Bean <bean123ch@gmail.com>
302452009-07-10 Robert Millan <rmh.grub@aybabtu.com>
30246
30247 * kern/ieee1275/openfw.c (grub_children_iterate)
30248 (grub_devalias_iterate): Fix size evaluation for property or path
30249 strings, which was broken since r2132.
30250
8279cade 302512009-07-07 Pavel Roskin <proski@gnu.org>
30252
7d8a52d3 30253 * commands/search.c (search_file): Merge into ...
30254 (search_fs): ... this. Accept search type as argument.
30255 (grub_cmd_search): Pass search type to search_fs().
30256
25f9a05a 30257 * include/grub/util/console.h: New file.
30258 * util/console.c: Use it instead of grub/machine/console.h.
30259 * util/grub-emu.c: Likewise.
30260
8279cade 30261 * lib/arg.c (find_long_option): Remove.
30262 (find_long): Add `len' argument, make `s' const char *.
30263 (grub_arg_parse): Parse long options in place, not in a
30264 temporary buffer.
30265
4a11b60f 302662009-07-06 Pavel Roskin <proski@gnu.org>
30267
99f68041 30268 * commands/search.c (search_fs): Fix potential NULL pointer
30269 dereference.
30270
4a11b60f 30271 * commands/search.c (search_fs): Replace QUID macro with quid_fn
30272 function pointer.
30273
e110f4de 302742009-07-06 Daniel Mierswa <impulze@impulze.org>
30275
30276 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
30277 comparison.
30278
46eeb6a2 302792009-07-05 Pavel Roskin <proski@gnu.org>
30280
bab74958 30281 * include/grub/i386/linux.h (struct linux_kernel_params):
30282 Restore padding3, it's still needed.
30283
46eeb6a2 30284 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
30285 FreeBSD.
30286 * util/osdetect.lua: Likewise.
30287
b4a1dc79 302882009-07-05 Bean <bean123ch@gmail.com>
30289
30290 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
30291
30292 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
30293 (grub_lua_getenv): Likewise.
30294 (grub_lua_setenv): Likewise.
30295 (save_errno): New function.
30296 (push_result): Likewise.
30297 (grub_lua_enum_device): Likewise.
30298 (grub_lua_enum_file): Likewise.
30299 (grub_lua_file_open): Likewise.
30300 (grub_lua_file_close): Likewise.
30301 (grub_lua_file_seek): Likewise.
30302 (grub_lua_file_read): Likewise.
30303 (grub_lua_file_getline): Likewise.
30304 (grub_lua_file_getsize): Likewise.
30305 (grub_lua_file_getpos): Likewise.
30306 (grub_lua_file_eof): Likewise.
30307 (grub_lua_file_exist): Likewise.
30308 (grub_lua_add_menu): Likewise.
30309
30310 * script/lua/grub_lua.h (isupper): New inline function.
30311 (islower): Likewise.
30312 (ispunct): Likewise.
30313 (isxdigit): Likewise.
30314 (strcspn): Change to normal function.
30315 (strpbkr): New function declaration.
30316 (memchr): Likewise.
30317
30318 * script/lua/grub_main.c (scan_str): New function.
30319 (strcspn): Likewise.
30320 (strpbrk): Likewise.
30321 (memchr): Likewise.
30322
30323 * script/lua/linit.c (lualibs): Enable the string library.
30324
30325 * util/osdetect.lua: New file.
30326
2da92295 303272009-07-04 Robert Millan <rmh.grub@aybabtu.com>
30328
30329 * include/grub/i386/linux.h (struct linux_kernel_params): Add
30330 `capabilities' member.
30331
b2582ec9 303322009-07-02 Pavel Roskin <proski@gnu.org>
30333
30334 * genparttoollist.sh: Add missing newline at the end.
30335
32622956 303362009-07-01 Pavel Roskin <proski@gnu.org>
30337
87a7339e 30338 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
30339
d23af54e 30340 * util/hostdisk.c (open_device): Remove `const' from
30341 `sysctl_size', as sysctlbyname() can change it (in this case it
30342 doesn't actually happen).
30343
c94b18a9 30344 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
30345 using signed long int constants.
30346
c6cd3ef0 30347 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
30348 constant to avoid a warning on FreeBSD.
30349
0df63420 30350 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
30351 where it's needed.
30352
999577f1 30353 * Makefile.in: Install include/grub/machine symlink.
30354
6f41557f 30355 * Makefile.in: When installing symlinks, use "cp -fR", which
30356 works on FreeBSD and MacOSX.
30357 From Yves Blusseau <cl7m42e02@sneakemail.com>
30358
c8d22988 30359 * kern/dl.c (grub_dl_resolve_symbol): Make static.
30360 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
30361
1b96e952 30362 * util/misc.c: Move grub_reboot() and grub_halt() ...
30363 * util/grub-emu.c: ... here. Make main_env static.
30364 * include/grub/util/misc.h: Remove main_env.
30365
2ef0084d 30366 * kern/mm.c: Use correct format to print size_t.
30367
32622956 30368 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
30369 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
30370 * kern/powerpc/dl.c: Likewise.
30371 * kern/sparc64/dl.c: Likewise.
30372 * kern/x86_64/dl.c: Likewise.
30373
3f7f0cd0 303742009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30375
30376 Fix grub-emu build on sparc64-ieee1275.
30377
75421ca9 30378 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 30379 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
30380
211d06b5 303812009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30382
30383 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
30384 (grub_reboot, grub_halt): New functions.
30385
30386 * util/i386/pc/misc.c: Delete. Update all users.
30387 * util/sparc64/ieee1275/misc.c: Likewise.
30388 * util/powerpc/ieee1275/misc.c: Likewise.
30389
aaf53e3c 303902009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30391
30392 * conf/i386.rmk (setjmp_mod_SOURCES)
30393 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
30394 * conf/common.rmk (setjmp_mod_SOURCES)
30395 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
30396 to use $(target_cpu).
30397 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
30398 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
30399 * conf/powerpc-ieee1275.rmk: Likewise.
30400 * conf/sparc64-ieee1275.rmk: Likewise.
30401
30402 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
30403 $(target_cpu) for kern/$(target_cpu)/dl.c.
30404 * conf/i386-efi.rmk: Likewise.
30405 * conf/i386-ieee1275.rmk: Likewise.
30406 * conf/x86_64-efi.rmk: Likewise.
30407 * conf/i386-coreboot.rmk: Likewise.
30408 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
30409 $(target_cpu) for kern/$(target_cpu)/dl.c and for
30410 kern/$(target_cpu)/cache.S.
30411 * conf/sparc64-ieee1275.rmk: Likewise.
30412
a337130b 304132009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30414
30415 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
30416 type to `grub_uint8_t', and adjust `padding9' accordingly.
30417
c6fe4d53 304182009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30419
b09db61d 30420 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
30421
c6fe4d53 30422 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
30423 assembly in final jump, using register constraints.
30424
b09db61d 30425 (grub_linux_boot): For text mode, initialize `have_vga' using
30426 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
30427
30428 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
30429 right before the final jump.
30430
30431 Set `video_mode' to 0x3.
30432
30433 Document initialization of `video_page', `video_mode' and
30434 `video_ega_bx'.
30435
28333ad0 304362009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30437
30438 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
30439 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 30440 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 30441
02164e1b 304422009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30443
30444 Fix build on Debian / sparc.
30445
30446 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
30447
18b6c557 304482009-06-28 Pavel Roskin <proski@gnu.org>
30449
85f2aab6 30450 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
30451 fix a warning.
30452
18b6c557 30453 * util/grub.d/10_linux.in: Match SUSE style initrd names.
30454
ad760f81 304552009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30456
30457 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
30458 `err'.
30459
87a4623b 304602009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30461
30462 Revert r2338.
30463
30464 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
30465 file can't be opened. grub_file_open() is already supposed to set
75421ca9 30466 grub_errno / grub_errmsg appropriately.
87a4623b 30467 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
30468
8231fb77 304692009-06-27 Pavel Roskin <proski@gnu.org>
304702009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30471
30472 * include/grub/dl.h: Include grub/elf.h.
30473 (struct grub_dl): Add symtab field.
30474 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
30475 GRUB_MODULES_MACHINE_READONLY.
30476 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
30477 of the header for read-only modules.
30478 (grub_dl_unload): Free mod->symtab for read-only modules.
30479 * kern/i386/dl.c: Use mod->symtab.
30480 * kern/powerpc/dl.c: Likewise.
30481 * kern/sparc64/dl.c: Likewise.
30482 * kern/x86_64/dl.c: Likewise.
30483
30484 * conf/i386-qemu.rmk: New file.
30485 * kern/i386/qemu/startup.S: Likewise.
30486 * kern/i386/qemu/mmap.c: Likewise.
30487 * boot/i386/qemu/boot.S: Likewise.
30488 * include/grub/i386/qemu/time.h: Likewise.
30489 * include/grub/i386/qemu/serial.h: Likewise.
30490 * include/grub/i386/qemu/kernel.h: Likewise.
30491 * include/grub/i386/qemu/console.h: Likewise.
30492 * include/grub/i386/qemu/boot.h: Likewise.
30493 * include/grub/i386/qemu/init.h: Likewise.
30494 * include/grub/i386/qemu/machine.h: Likewise.
30495 * include/grub/i386/qemu/loader.h: Likewise.
30496 * include/grub/i386/qemu/memory.h: Likewise.
30497
30498 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
30499 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
30500 [qemu] (pkglib_IMAGES): Add `boot.img'.
30501 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
30502 [qemu] (boot_img_FORMAT): New variables.
30503 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
30504 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
30505 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
30506 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30507 [qemu] (kernel_img_FORMAT): New variables.
30508
30509 * configure.ac: Recognise `i386-qemu'.
30510
30511 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
30512 (for no compression).
30513 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
30514 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
30515 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
30516 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
30517 ifdefs).
30518
97fe384e 305192009-06-27 Pavel Roskin <proski@gnu.org>
30520
30521 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
30522 read.
30523 * efiemu/prepare32.c: Likewise.
30524 * efiemu/prepare64.c: Likewise.
30525
c402ab17 305262009-06-26 Pavel Roskin <proski@gnu.org>
30527
30528 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
30529 * include/grub/elf.h: Define symbols without "32" or "64" based
30530 on GRUB_TARGET_WORDSIZE.
30531 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
30532 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
30533 ELF definitions.
30534 * efiemu/loadcore64.c: Likewise.
30535 * loader/i386/bsd32.c: Likewise.
30536 * loader/i386/bsd64.c: Likewise.
30537 * kern/dl.c: Remove own ELF definitions.
30538 * util/i386/efi/grub-mkimage.c: Likewise.
30539
9bbdfd4d 305402009-06-23 Robert Millan <rmh.grub@aybabtu.com>
30541
30542 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
30543 segment 0x0 unconditionally, because the reference generated by
30544 GAS is an absolute address.
30545
a42ce6e9 305462009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30547
30548 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
30549 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
30550
c952cf92 305512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30552
30553 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
30554 indexes. Check for -f explicitly.
cc3752ad 30555 (search_file): Improve error message.
30556 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 30557
132a0a59 305582009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30559
30560 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
30561 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
30562
387a140c 305632009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30564
30565 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
30566 * conf/i386-ieee1275.rmk: Likewise.
30567 * conf/i386-coreboot.rmk: Likewise.
30568
30569 * kern/i386/pc/startup.S (grub_stop): Remove function.
30570 * kern/i386/ieee1275/startup.S: Likewise.
30571 * kern/i386/coreboot/startup.S: Likewise.
30572 * kern/i386/misc.S (grub_stop): New function.
30573
41da9665 305742009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30575
30576 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
30577 * kern/i386/realmode.S (real_to_prot): ... to here.
30578
bf337234 305792009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30580
30581 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
30582 with `kernel.img'.
30583 (kernel_elf_SOURCES): Rename to ...
30584 (kernel_img_SOURCES): ... this.
30585 (kernel_elf_HEADERS): Rename to ...
30586 (kernel_img_HEADERS): ... this. Update all users.
30587 (kernel_elf_ASFLAGS): Rename to ...
30588 (kernel_img_ASFLAGS): ... this.
30589 (kernel_elf_CFLAGS): Rename to ...
30590 (kernel_img_CFLAGS): ... this.
30591 (kernel_elf_LDFLAGS): Rename to ...
30592 (kernel_img_LDFLAGS): ... this.
30593 * conf/i386-coreboot.rmk: Likewise.
30594 * conf/powerpc-ieee1275.rmk: Likewise.
30595
30596 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
30597 with "kernel.img".
30598
f52196ff 305992009-06-21 Pavel Roskin <proski@gnu.org>
30600
c3cee413 30601 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
30602 to match nested functions.
30603 * loader/sparc64/ieee1275/linux.c: Likewise.
30604
f52196ff 30605 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
30606
58750afc 306072009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30608
30609 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
30610 all i386 platforms.
30611
15355c7d 306122009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30613
30614 Fix asm file handling on ELF, and remove workarounds.
30615
30616 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 30617 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 30618 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
30619 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
30620
3f3ec72b 306212009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
30622
30623 Load BSD ELF modules
30624
30625 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
30626 and loader/i386/bsd64.c
30627 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
30628 (FREEBSD_MODTYPE_ELF_MODULE): New definition
30629 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
30630 (grub_freebsd_load_elfmodule32): New declaration
30631 (grub_freebsd_load_elfmoduleobj64): Likewise
30632 (grub_freebsd_load_elf_meta32): Likewise
30633 (grub_freebsd_load_elf_meta64): Likewise
30634 (grub_freebsd_add_meta): Likewise
30635 (grub_freebsd_add_meta_module): Likewise
30636 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
30637 (grub_freebsd_add_meta_module): Likewise and move module-specific
30638 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
30639 (grub_cmd_freebsd): Add elf-kernel specific parts
30640 based on grub_freebsd_add_meta_module
30641 (grub_cmd_freebsd_module): Add type parsing moved from
30642 grub_freebsd_add_meta_module
30643 (grub_cmd_freebsd_module_elf): New function
30644 (cmd_freebsd_module_elf): New variable
30645 (GRUB_MOD_INIT): Register freebsd_module_elf
30646 * loader/i386/bsd32.c: New file
30647 * loader/i386/bsd64.c: Likewise
30648 * loader/i386/bsdXX.c: Likewise
30649 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
30650 (grub_elf64_load): Likewise
30651 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
30652 All users updated
30653 (grub_elf64_load_hook_t): Likewise
30654
0db15301 306552009-06-21 Colin Watson <cjwatson@ubuntu.com>
30656
30657 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
30658 variable.
30659 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
30660 don't write a menu entry for recovery mode.
30661
546796c1 306622009-06-20 Robert Millan <rmh.grub@aybabtu.com>
30663
30664 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
30665 after it's no longer needed.
30666
cd7310d5 306672009-06-20 Robert Millan <rmh.grub@aybabtu.com>
30668
30669 * include/grub/i386/loader.h (grub_linux_prot_size)
30670 (grub_linux_tmp_addr, grub_linux_real_addr)
30671 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
30672 GRUB_MACHINE_PCBIOS.
30673 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
30674 common grub_util_info() call to ...
30675 (generate_image): ... here.
30676 Fix use of uninitialized memory, comparison of signed with
30677 unsigned integers and memory leak.
30678 Remove bogus module address message.
30679
ab32d3b5 306802009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
30681
30682 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
30683 grub_raid_register
30684 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
30685
024ef597 306862009-06-19 Pavel Roskin <proski@gnu.org>
30687
30688 * configure.ac: Remove stray AC_MSG_CHECKING.
30689
3ac72b51 306902009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
30691
30692 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 30693
e14cd814 306942009-06-18 Pavel Roskin <proski@gnu.org>
30695
30696 * conf/common.rmk: Add fs_file.mod.
30697 * disk/fs_file.c: New file.
30698 * include/grub/disk.h (enum grub_disk_dev_id): Add
30699 GRUB_DISK_DEVICE_FILE_ID.
30700
26586d98 307012009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30702
30703 Fix build with Apple's toolchain. Part 2
30704
30705 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
30706 a fake start
30707
26de2bcd 307082009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30709
30710 Fix build with Apple's toolchain. Part 1
30711
30712 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
30713 for long calls
30714 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 30715 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 30716 Apple's toolchain
30717
09b3490b 307182009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30719
30720 Fix warnings
30721
30722 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
30723 (decomp_block): initialize ch
30724 use grub_memcpy instead of memcpy
30725
c22a006a 307262009-06-17 Pavel Roskin <proski@gnu.org>
30727
d3638678 30728 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
30729 version, use declarations needed to use vga_text as the startup
30730 console.
30731
c22a006a 30732 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
30733 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
30734 the kernel.
30735 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
30736 and grub_at_keyboard_fini(), it's done on module load and
30737 unload.
30738
05b129e0 307392009-06-17 Felix Zielcke <fzielcke@z-51.de>
30740
30741 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
30742 file can't be found.
30743 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
30744
cf24ed9e 307452009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
30746
30747 Fix newline handling
30748
30749 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 30750 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 30751 (grub_script_yylex): don't segfault on unterminated script
30752 newline terminates command and variable
30753
74aa8e4b 307542009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
30755
30756 avoid double grub_adjust_range call. Bug reported by David Simner
30757
30758 * kern/disk.c (grub_disk_write): change to raw disk access before
30759 calling disk_read
30760
1bd265f3 307612009-06-17 Colin Watson <cjwatson@ubuntu.com>
30762
30763 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
30764 spaces, for the benefit of help2man.
30765 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30766
a2d08c06 307672009-06-16 Pavel Roskin <proski@gnu.org>
30768
30769 * kern/i386/halt.c: Include grub/machine/init.h.
30770 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
30771
b97bcb19 307722009-06-16 Felix Zielcke <fzielcke@z-51.de>
30773
30774 * util/grub.d/30_os-prober.in: Use ${root} in the generated
30775 drivemap menuentry.
30776
0644f96c 307772009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
30778
30779 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
30780 `echo' command.
30781
3ef17a2e 307822009-06-16 Pavel Roskin <proski@gnu.org>
30783
30784 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
30785 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
30786 save %dx, we only need %dl and we never change it.
30787 * boot/i386/pc/cdboot.S: Don't set the root drive.
30788 * boot/i386/pc/pxeboot.S: Likewise.
30789 * include/grub/i386/pc/boot.h: Remove
30790 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
30791 GRUB_BOOT_MACHINE_DRIVE_CHECK.
30792 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
30793 * kern/i386/pc/init.c (make_install_device): Remove references
30794 to grub_root_drive.
30795 * kern/i386/pc/startup.S: Likewise.
30796 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
30797
693fe637 307982009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
30799
30800 xnu_uuid command
30801
30802 * commands/xnu_uuid.c: new file
30803 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
30804 (xnu_uuid_mod_SOURCES): new variable
30805 (xnu_uuid_mod_CFLAGS): likewise
30806 (xnu_uuid_mod_LDFLAGS): likewise
30807 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
30808 * conf/i386-ieee1275.rmk: likewise
30809 * conf/i386-pc.rmk: likewise
30810 * conf/powerpc-ieee1275.rmk: likewise
30811 * conf/sparc64-ieee1275.rmk: likewise
30812 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
30813
c9da87d0 308142009-06-16 Pavel Roskin <proski@gnu.org>
30815
30816 * configure.ac: Avoid '==' in test command, it's not portable.
30817
9c6f4596 308182009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
30819
30820 Probe command
30821
30822 * commands/probe.c: new file
30823 * conf/common.rmk (pkglib_MODULES): add probe.mod
30824 (probe_mod_SOURCES): new variable
30825 (probe_mod_CFLAGS): likewise
30826 (probe_mod_LDFLAGS): likewise
30827 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
30828 * conf/i386-ieee1275.rmk: likewise
30829 * conf/i386-pc.rmk: likewise
30830 * conf/powerpc-ieee1275.rmk: likewise
30831 * conf/sparc64-ieee1275.rmk: likewise
30832
70b7f9fd 308332009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
30834
30835 Fix handling of string like \"hello\" and "a
30836 b"
30837
30838 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
30839 (grub_script_yylex): fix parsing of quoting, escaping and newline
30840
71c79a6b 308412009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
30842
dd74360c 30843 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 30844 handling
dd74360c 30845
0644f96c 308462009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 30847
30848 * util/grub-mkconfig.in: Fix parsing of --output option.
30849
e40893c3 308502009-06-12 Pavel Roskin <proski@gnu.org>
30851
30852 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
30853 genmk.rb don't need to be generated or installed.
30854
3a1acfe2 308552009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
30856
30857 * commands/i386/pc/drivemap_int13h.S: add more comments
30858
3a4575d4 308592009-06-11 Pavel Roskin <proski@gnu.org>
30860
0658e928 30861 * Makefile.in (uninstall): Uninstall manuals.
30862
ca0388f0 30863 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
30864 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
30865 and update-grub_lib in two places.
30866 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
30867
e3b27c39 30868 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
30869 a compiler warning.
30870
3a4575d4 30871 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
30872 `entry_lo' to fix variable shadowing.
30873
af1f4f55 308742009-06-11 Christian Franke <franke@computer.org>
30875
30876 * kern/misc.c (__enable_execute_stack): Add missing return type
30877 to prevent gcc warning.
30878
5225e649 308792009-06-11 Felix Zielcke <fzielcke@z-51.de>
30880
30881 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
30882
7d83bd47 308832009-06-11 Pavel Roskin <proski@gnu.org>
30884
c1cb63ba 30885 * Makefile.in: Don't rely on any scripts being executable.
30886 Always use $(SHELL) to run shell scripts.
30887
7d83bd47 30888 * configure.ac: Always define ___main if using -nostdlib. This
30889 fixes tests on Cygwin.
30890
948f48e7 308912009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
30892
30893 UDF fix
30894
7d83bd47 30895 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 30896 is in bytes and not in blocks
7d83bd47 30897
8ada9bc1 308982009-06-11 Pavel Roskin <proski@gnu.org>
30899
30900 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
30901 warning.
30902
25ad2323 309032009-06-11 Felix Zielcke <fzielcke@z-51.de>
30904
30905 * util/grub.d/30_os-prober.in: Fix a comment. Source
30906 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
30907 to set the root device. Place drivemap command in the generated
30908 chain entry.
30909
e65acb0c 309102009-06-11 Pavel Roskin <proski@gnu.org>
30911
30912 * configure.ac: Remove host_m32. Issues with 64-bit utilities
30913 have long been resolved.
30914
f285fe2d 309152009-06-11 Colin Watson <cjwatson@ubuntu.com>
30916
bd47b0b5 30917 * util/grub.d/10_linux.in: Capitalise "Linux".
30918
f285fe2d 30919 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
30920
a0c62e4e 309212009-06-11 Pavel Roskin <proski@gnu.org>
30922
b6783cb2 30923 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
30924 fix a gcc warning and ensure that the function won't ever exit.
30925
dde032e8 30926 * kern/i386/ieee1275/init.c: Add missing prototype for
30927 grub_stop_floppy().
30928
22cd079d 30929 * loader/ieee1275/multiboot2.c [__i386__]: Include
30930 grub/cpu/multiboot.h.
30931
a0c62e4e 30932 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
30933 casts to short - they are not portable and cause warnings. Fix
30934 use of uninitialized values in input_buf. Use ARRAY_SIZE.
30935
63963d17 309362009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
30937
30938 Drivemap fixes
30939
30940 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
30941 new function
30942 (grub_get_root_biosnumber_saved): new variable
30943 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
30944 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 30945 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 30946 %dx after the call if necessary
30947 * conf/common.rmk (pkglib_MODULES): remove boot.mod
30948 (boot_mod_SOURCES): remove
30949 (boot_mod_CFLAGS): remove
30950 (boot_mod_LDFLAGS): remove
30951 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
30952 (boot_mod_SOURCES): new variable
30953 (boot_mod_CFLAGS): likewise
30954 (boot_mod_LDFLAGS): likewise
30955 * conf/i386-efi.rmk: likewise
30956 * conf/i386-ieee1275.rmk: likewise
30957 * conf/i386-pc.rmk: likewise
30958 * conf/powerpc-ieee1275.rmk: likewise
30959 * conf/sparc64-ieee1275.rmk: likewise
30960 * conf/x86_64-efi.rmk: likewise
30961 * include/grub/i386/pc/biosnum.h: new file
30962 * lib/i386/pc/biosnum.c: likewise
30963 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
30964 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
30965 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 30966
33abf7ae 309672009-06-10 Pavel Roskin <proski@gnu.org>
30968
5ac35b35 30969 * io/gzio.c (test_header): Don't reuse one buffer for all data.
30970 Use separate variables. Read only the file size at the end, but
30971 not the checksum that we don't use.
30972
5c5215d5 30973 * kern/file.c (grub_file_read): Use void pointer for the buffer.
30974 Adjust all callers.
30975
27d5fef7 30976 * kern/ieee1275/openfw.c: Remove libc includes.
30977 * kern/ieee1275/cmain.c: Likewise.
30978 * include/grub/ieee1275/ieee1275.h: Likewise.
30979
33abf7ae 30980 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
30981 compiler warnings.
30982
19d50c2b 309832009-06-10 Felix Zielcke <fzielcke@z-51.de>
30984
30985 * Makefile.in: Remove all trailing whitespace.
30986 * conf/i386-pc.rmk: Likewise.
30987 * conf/powerpc-ieee1275.rmk: Likewise.
30988 * conf/sparc64-ieee1275.rmk: Likewise.
30989 * docs/grub.texi: Likewise.
30990 * docs/texinfo.tex: Likewise.
30991 * disk/fs_uuid.c: Likewise.
30992 * disk/lvm.c: Likewise.
30993 * disk/scsi.c: Likewise.
30994 * disk/ata.c: Likewise.
30995 * disk/ieee1275/ofdisk.c: Likewise.
30996 * disk/i386/pc/biosdisk.c: Likewise.
30997 * disk/host.c: Likewise.
30998 * disk/raid.c: Likewise.
30999 * disk/efi/efidisk.c: Likewise.
31000 * disk/usbms.c: Likewise.
31001 * disk/memdisk.c: Likewise.
31002 * disk/loopback.c: Likewise.
31003 * kern/powerpc/dl.c: Likewise.
31004 * kern/device.c: Likewise.
31005 * kern/dl.c: Likewise.
31006 * kern/sparc64/dl.c: Likewise.
31007 * kern/ieee1275/ieee1275.c: Likewise.
31008 * kern/term.c: Likewise.
31009 * kern/fs.c: Likewise.
31010 * kern/i386/dl.c: Likewise.
31011 * kern/i386/pc/startup.S: Likewise.
31012 * kern/i386/pc/init.c: Likewise.
31013 * kern/i386/pc/mmap.c: Likewise.
31014 * kern/i386/pc/lzo1x.S: Likewise.
31015 * kern/i386/ieee1275/init.c: Likewise.
31016 * kern/i386/realmode.S: Likewise.
31017 * kern/i386/tsc.c: Likewise.
31018 * kern/partition.c: Likewise.
31019 * kern/corecmd.c: Likewise.
31020 * kern/file.c: Likewise.
31021 * kern/efi/efi.c: Likewise.
31022 * kern/efi/init.c: Likewise.
31023 * kern/efi/mm.c: Likewise.
31024 * kern/main.c: Likewise.
31025 * kern/err.c: Likewise.
31026 * kern/env.c: Likewise.
31027 * kern/disk.c: Likewise.
31028 * kern/generic/millisleep.c: Likewise.
31029 * kern/generic/rtc_get_time_ms.c: Likewise.
31030 * kern/misc.c: Likewise.
31031 * kern/parser.c: Likewise.
31032 * genmk.rb: Likewise.
31033 * configure.ac: Likewise.
31034 * boot/i386/pc/diskboot.S: Likewise.
31035 * boot/i386/pc/pxeboot.S: Likewise.
31036 * boot/i386/pc/boot.S: Likewise.
31037 * boot/i386/pc/lnxboot.S: Likewise.
31038 * boot/i386/pc/cdboot.S: Likewise.
31039 * parttool/pcpart.c: Likewise.
31040 * video/readers/tga.c: Likewise.
31041 * video/video.c: Likewise.
31042 * video/bitmap.c: Likewise.
31043 * lib/envblk.c: Likewise.
31044 * lib/i386/setjmp.S: Likewise.
31045 * fs/xfs.c: Likewise.
31046 * fs/afs.c: Likewise.
31047 * fs/fat.c: Likewise.
31048 * fs/ntfs.c: Likewise.
31049 * fs/udf.c: Likewise.
31050 * fs/affs.c: Likewise.
31051 * fs/iso9660.c: Likewise.
31052 * fs/hfs.c: Likewise.
31053 * fs/fshelp.c: Likewise.
31054 * fs/ext2.c: Likewise.
31055 * fs/jfs.c: Likewise.
31056 * fs/reiserfs.c: Likewise.
31057 * fs/hfsplus.c: Likewise.
31058 * fs/minix.c: Likewise.
31059 * fs/cpio.c: Likewise.
31060 * fs/sfs.c: Likewise.
31061 * fs/ufs.c: Likewise.
31062 * efiemu/prepare.c: Likewise.
31063 * efiemu/loadcore_common.c: Likewise.
31064 * efiemu/runtime/efiemu.sh: Likewise.
31065 * efiemu/runtime/efiemu.S: Likewise.
31066 * efiemu/runtime/efiemu.c: Likewise.
31067 * efiemu/pnvram.c: Likewise.
31068 * efiemu/main.c: Likewise.
31069 * efiemu/i386/pc/cfgtables.c: Likewise.
31070 * efiemu/i386/loadcore64.c: Likewise.
31071 * efiemu/i386/loadcore32.c: Likewise.
31072 * efiemu/loadcore.c: Likewise.
31073 * efiemu/symbols.c: Likewise.
31074 * efiemu/mm.c: Likewise.
31075 * include/grub/autoefi.h: Likewise.
31076 * include/grub/datetime.h: Likewise.
31077 * include/grub/term.h: Likewise.
31078 * include/grub/hfs.h: Likewise.
31079 * include/grub/lvm.h: Likewise.
31080 * include/grub/i386/tsc.h: Likewise.
31081 * include/grub/i386/linux.h: Likewise.
31082 * include/grub/i386/xnu.h: Likewise.
31083 * include/grub/i386/efiemu.h: Likewise.
31084 * include/grub/i386/pc/biosdisk.h: Likewise.
31085 * include/grub/i386/pc/memory.h: Likewise.
31086 * include/grub/i386/pc/vbe.h: Likewise.
31087 * include/grub/parttool.h: Likewise.
31088 * include/grub/video.h: Likewise.
31089 * include/grub/memory.h: Likewise.
31090 * include/grub/fs.h: Likewise.
31091 * include/grub/partition.h: Likewise.
31092 * include/grub/xnu.h: Likewise.
31093 * include/grub/efi/api.h: Likewise.
31094 * include/grub/efi/pe32.h: Likewise.
31095 * include/grub/efi/memory.h: Likewise.
31096 * include/grub/multiboot.h: Likewise.
31097 * include/grub/usbdesc.h: Likewise.
31098 * include/grub/multiboot2.h: Likewise.
31099 * include/grub/acpi.h: Likewise.
31100 * include/grub/efiemu/efiemu.h: Likewise.
31101 * include/grub/disk.h: Likewise.
31102 * include/grub/ieee1275/ieee1275.h: Likewise.
31103 * include/grub/net.h: Likewise.
31104 * include/grub/machoload.h: Likewise.
31105 * include/grub/macho.h: Likewise.
31106 * include/multiboot.h: Likewise.
31107 * genmoddep.awk: Likewise.
31108 * normal/main.c: Likewise.
31109 * normal/menu_entry.c: Likewise.
31110 * normal/menu_viewer.c: Likewise.
31111 * normal/completion.c: Likewise.
31112 * normal/cmdline.c: Likewise.
31113 * normal/misc.c: Likewise.
31114 * normal/datetime.c: Likewise.
31115 * bus/usb/usbtrans.c: Likewise.
31116 * bus/usb/ohci.c: Likewise.
31117 * bus/usb/uhci.c: Likewise.
31118 * bus/usb/usb.c: Likewise.
31119 * mmap/efi/mmap.c: Likewise.
31120 * mmap/i386/pc/mmap_helper.S: Likewise.
31121 * mmap/i386/pc/mmap.c: Likewise.
31122 * mmap/i386/mmap.c: Likewise.
31123 * mmap/i386/uppermem.c: Likewise.
31124 * mmap/mmap.c: Likewise.
31125 * commands/acpi.c: Likewise.
31126 * commands/echo.c: Likewise.
31127 * commands/blocklist.c: Likewise.
31128 * commands/loadenv.c: Likewise.
31129 * commands/usbtest.c: Likewise.
31130 * commands/boot.c: Likewise.
31131 * commands/parttool.c: Likewise.
31132 * commands/search.c: Likewise.
31133 * commands/cat.c: Likewise.
31134 * commands/i386/pc/play.c: Likewise.
31135 * commands/i386/pc/drivemap.c: Likewise.
31136 * commands/i386/pc/vbeinfo.c: Likewise.
31137 * commands/i386/pc/acpi.c: Likewise.
31138 * commands/i386/pc/vbetest.c: Likewise.
31139 * commands/ls.c: Likewise.
31140 * commands/cmp.c: Likewise.
31141 * commands/test.c: Likewise.
31142 * commands/efi/acpi.c: Likewise.
31143 * commands/gptsync.c: Likewise.
31144 * commands/help.c: Likewise.
31145 * partmap/amiga.c: Likewise.
31146 * partmap/apple.c: Likewise.
31147 * partmap/acorn.c: Likewise.
31148 * partmap/pc.c: Likewise.
31149 * partmap/sun.c: Likewise.
31150 * partmap/gpt.c: Likewise.
31151 * script/sh/lexer.c: Likewise.
31152 * script/sh/function.c: Likewise.
31153 * font/font.c: Likewise.
31154 * font/font_cmd.c: Likewise.
31155 * loader/powerpc/ieee1275/linux.c: Likewise.
31156 * loader/efi/chainloader.c: Likewise.
31157 * loader/multiboot_loader.c: Likewise.
31158 * loader/macho.c: Likewise.
31159 * loader/i386/multiboot.c: Likewise.
31160 * loader/i386/linux.c: Likewise.
31161 * loader/i386/pc/linux.c: Likewise.
31162 * loader/i386/pc/multiboot2.c: Likewise.
31163 * loader/i386/pc/chainloader.c: Likewise.
31164 * loader/i386/pc/xnu.c: Likewise.
31165 * loader/i386/bsd_trampoline.S: Likewise.
31166 * loader/i386/efi/linux.c: Likewise.
31167 * loader/i386/multiboot_elfxx.c: Likewise.
31168 * loader/i386/bsd_helper.S: Likewise.
31169 * loader/i386/bsd.c: Likewise.
31170 * loader/i386/linux_trampoline.S: Likewise.
31171 * loader/i386/xnu_helper.S: Likewise.
31172 * loader/i386/xnu.c: Likewise.
31173 * loader/i386/bsd_pagetable.c: Likewise.
31174 * loader/i386/multiboot_helper.S: Likewise.
31175 * loader/xnu.c: Likewise.
31176 * loader/xnu_resume.c: Likewise.
31177 * io/gzio.c: Likewise.
31178 * term/efi/console.c: Likewise.
31179 * term/terminfo.c: Likewise.
31180 * term/ieee1275/ofconsole.c: Likewise.
31181 * term/i386/pc/serial.c: Likewise.
31182 * term/i386/pc/vesafb.c: Likewise.
31183 * term/i386/pc/vga.c: Likewise.
31184 * term/usb_keyboard.c: Likewise.
31185 * term/gfxterm.c: Likewise.
31186 * aclocal.m4: Likewise.
31187 * util/lvm.c: Likewise.
31188 * util/grub.d/30_os-prober.in: Likewise.
31189 * util/grub.d/10_hurd.in: Likewise.
31190 * util/console.c: Likewise.
31191 * util/grub-macho2img.c: Likewise.
31192 * util/grub-probe.c: Likewise.
31193 * util/hostfs.c: Likewise.
31194 * util/i386/pc/grub-mkimage.c: Likewise.
31195 * util/i386/pc/grub-setup.c: Likewise.
31196 * util/i386/efi/grub-mkimage.c: Likewise.
31197 * util/grub-mkconfig.in: Likewise.
31198 * util/raid.c: Likewise.
31199 * util/resolve.c: Likewise.
31200 * util/grub-mkdevicemap.c: Likewise.
31201 * util/grub-emu.c: Likewise.
31202 * util/getroot.c: Likewise.
31203 * util/hostdisk.c: Likewise.
31204 * util/usb.c: Likewise.
31205 * util/grub-editenv.c: Likewise.
31206 * util/misc.c: Likewise.
31207
d2d49665 312082009-06-10 Felix Zielcke <fzielcke@z-51.de>
31209
31210 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
31211 `genparttoollist.sh'.
31212 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
31213 Add `*.sh' to the list find searches for and change `mdate.sh'
31214 to `mdate-sh'.
31215
fe052e37 312162009-06-10 Pavel Roskin <proski@gnu.org>
31217
2763ac18 31218 * include/grub/multiboot2.h: Provide compatibility defines for
31219 multiboot2.h.
31220 * include/multiboot2.h: Include stdint.h only if needed, using
31221 angle brackets.
31222 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
31223 grub/multiboot2.h.
31224 * loader/ieee1275/multiboot2.c: Likewise.
31225 * loader/multiboot2.c: Likewise.
31226 * loader/multiboot_loader.c: Likewise.
31227
437e6adc 31228 * configure.ac: Use -nostdlib when probing for the target. It
31229 should not be required to have libc for the target.
31230
06a6836c 31231 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
31232 they fail without libc headers for the target.
31233 * include/grub/powerpc/libgcc.h: Use weak attribute for all
31234 exports.
31235 * include/grub/sparc64/libgcc.h: Likewise. Don't use
31236 preprocessor conditionals.
31237
fe052e37 31238 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
31239 build system doesn't need to be aware of the tar.c internals.
31240
afd22553 312412009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 31242
afd22553 31243 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 31244
6b787c4f 312452009-06-09 Robert Millan <rmh.grub@aybabtu.com>
31246
31247 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
31248 disk limit to 26 for IDE, Virtio, Xen and SCSI.
31249
312502009-06-09 Felix Zielcke <fzielcke@z-51.de>
31251
31252 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 31253 aren't available if ata.mod gets used.
6b787c4f 31254
473d1e45 312552009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 31256
473d1e45 31257 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 31258 initialising controller.
473d1e45 31259 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 31260
255a27d4 312612009-06-08 Felix Zielcke <fzielcke@z-51.de>
31262
31263 * util/i386/pc/grub-install.in: Add a parameter --disk-module
31264 to choose between ata and biosdisk module on i386-pc.
31265
473d1e45 312662009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 31267
d55842d8 31268 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
31269 Subclass and Programming Interface fields in terms of the 3 byte
31270 Class Code register.
31271 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31272
fa5db0b1 31273 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
31274 interface is OHCI. Add grub_dprintf for symmetry with
31275 bus/usb/uhci.c.
31276 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
31277 interface is UHCI. Add interf variable for programming
31278 interface. Print interface with class/subclass.
31279
c0947beb 31280 * bus/usb/ohci.c: Set interf with correct field.
31281
69da8877 31282 * bus/usb/uhci.c: Remove unneeded doubled lines.
31283 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
31284 Remove whitespace inside comment.
31285
9e172e30 312862009-06-08 Robert Millan <rmh.grub@aybabtu.com>
31287
31288 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
31289 as fallback an equivalent option without depth.
31290
de65ee2b 312912009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
31292
31293 Not fail if unable to retrieve C/H/S on LBA disks
31294
473d1e45 31295 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 31296 if unable to retrieve C/H/S on LBA disks
31297
b57ea2c9 312982009-06-08 Pavel Roskin <proski@gnu.org>
31299
31300 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
31301 about aliasing.
31302
af361263 313032009-06-08 Felix Zielcke <fzielcke@z-51.de>
31304
31305 * Makefile.in (uninstall): Remove all $lib_DATA files.
31306
4c9ec6b3 313072009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
31308
31309 Bugfix: install on partitionless device
31310
31311 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
31312 is a whole disk
31313
e76fc924 313142009-06-08 Felix Zielcke <fzielcke@z-51.de>
31315
31316 * Makefile.in (uninstall): Remove all $include_DATA files.
31317
ba5a0d05 313182009-06-08 Felix Zielcke <fzielcke@z-51.de>
31319
31320 * commands/true.c: New file. Implement the true and false commands.
31321 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
31322 (true_mod_SOURCES): New variable.
31323 (true_mod_CFLAGS): Likewise.
31324 (true_mod_LDFLAGS): Likewise.
31325
c8048e32 313262009-06-05 Colin D Bennett <colin@gibibit.com>
31327
31328 Optimized font character lookup using binary search instead of linear
31329 search. Fonts now are required to have the character index ordered by
31330 code point.
31331
31332 * font/font.c (load_font_index): Verify that fonts have ordered
31333 character indices.
31334 (find_glyph): Use binary search instead of linear search to find a
31335 character in a font.
31336
408305be 313372009-06-05 Michael Scherer <misc@mandriva.org>
31338
31339 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
31340 uses case sensitive btree.
31341 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
31342 only for case insensitive filesystems.
31343
8ee1e0d9 313442009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
31345
31346 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
31347 * conf/common.rmk (search_mod_CFLAGS): likewise
31348
a9966eb1 313492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31350
473d1e45 31351 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 31352 compensate a compiler bug
31353
9e7100fb 313542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31355
473d1e45 31356 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 31357 instead of '\b'
473d1e45 31358
ede21d71 313592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31360
31361 Definitions for creating asm symbols with Apple's CC
31362
31363 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
31364 [APPLE_CC] (VARIABLE): likewise
31365
9dbf7653 313662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31367
31368 Disable lnxboot.img when compiled
31369 with Apple's CC
31370
31371 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
31372 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
31373 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
31374 [! APPLE_CC] (CODE_LENG): skip
31375 [! APPLE_CC] (setup_sects): likewise
31376 [! APPLE_CC]: skip filling
473d1e45 31377
e93cdc3d 313782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31379
31380 Address in trampolines based on 32-bit registers when compiled
31381 with Apple's CC
31382
473d1e45 31383 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 31384 for addresses
31385 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
31386
6c688477 313872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31388
31389 Avoid aliases when compiling with Apple's CC for PCBIOS machine
31390
31391 * kern/misc.c [APPLE_CC] (memcpy): new function
31392 [APPLE_CC] (memmove): likewise
31393 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 31394 (memcpy): define alias conditionally on !APPLE_CC
6c688477 31395 (memset): likewise
31396 (abort): likewise
31397 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
31398 APPLE_CC are defined
31399 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
31400 (grub_assert_fail): make prototype conditional
31401
e37ffc5c 314022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31403
31404 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
31405
473d1e45 31406 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
31407 grub-macho2img
e37ffc5c 31408 (CLEANFILES): add grub-macho2img
31409 (grub_macho2img_SOURCES): new variable
31410 * kern/i386/pc/startup.S (bss_start): new variable
31411 (bss_end): likewise
31412 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
31413 * util/grub-macho2img.c: new file
31414
cf00df31 314152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31416
31417 Use objconv when compiling with Apple's CC
31418
31419 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
31420 (efiemu64.o): likewise
31421 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
31422 when compiling with Apple's CC
31423 (efiemu64_s.o): likewise
31424 * configure.ac: check for objconv when compiling with Apple's CC
31425 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 31426
d119a20c 314272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31428
31429 Define segment as well as section when compiling with
31430 Apple's CC
31431
31432 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
31433 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
31434 (efiemu_convert_pointer): likewise
31435 (efiemu_set_virtual_address_map): likewise
31436 (efiemu_convert_pointer): likewise
31437 (efiemu_getcrc32): likewise
31438 (init_crc32_table): likewise
31439 (reflect): likewise
31440 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
31441 (GRUB_MOD_DEP): likewise
473d1e45 31442
c8600122 314432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31444
31445 Allow a compilation without -mcmodel=large
31446
31447 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
31448 when compiled without -mcmodel=large
473d1e45 31449 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 31450 without -mcmodel=large
473d1e45 31451 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 31452 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 31453
e8df1d4e 314542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31455
31456 Remove nested functions in efiemu core
31457
31458 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 31459
cc6c3ac1 314602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31461
31462 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
31463
31464 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
31465 temporary storage
473d1e45 31466 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
31467 using Apple's CC
cc6c3ac1 31468 (grub_cpu_is_tsc_supported): likewise
31469 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 31470
3e325901 314712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31472
31473 Absolute addressing through constant with Apple's cc
31474
31475 * kern/i386/pc/startup.S: Define necessary constants
31476 and address through it when using ABS with Apple's CC
31477 * boot/i386/pc/diskboot.S: likewise
31478 * boot/i386/pc/boot.S: likewise
31479 * boot/i386/pc/lnxboot.S: likewise
31480 * boot/i386/pc/cdboot.S: likewise
31481 * mmap/i386/pc/mmap_helper.S: likewise
31482 * commands/i386/pc/drivemap_int13h.S: likewise
31483
2b167a72 314842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31485
31486 Check if compiler is apple cc
31487
31488 * Makefile.in (ASFLAGS): new variable
31489 (TARGET_ASFLAGS): likewise
31490 (TARGET_MODULE_FORMAT): likewise
31491 (TARGET_APPLE_CC): likewise
31492 (OBJCONV): likewise
31493 (TARGET_IMG_CFLAGS): likewise
31494 (TARGET_CPPFLAGS): add includedir
31495 * configure.ac: call grub_apple_cc and grub_apple_target_cc
31496 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
31497 Check for linker script only if compiler isn't Apple's CC
31498 (TARGET_MODULE_FORMAT): set
31499 (TARGET_APPLE_CC): likewise
31500 (TARGET_ASFLAGS): likewise
31501 (ASFLAGS): likewise
31502 Check for objcopy only if compiler isn't Apple's CC
31503 Check for BSS symbol only if compiler isn't Apple's CC
31504 * genmk.rb: adapt nm options if we use Apple's utils
31505 * aclocal.m4 (grub_apple_cc): new test
31506 (grub_apple_target_cc): likewise
473d1e45 31507
fb14123e 315082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31509
31510 Simplify sed expressions and improve awk
31511
31512 * Makefile.in (install-local): simplify sed expression
31513 * gencmdlist.sh: likewise
31514 * genmoddep.awk: avoid adding module as a dependency of itself
31515
5b889789 315162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31517
31518 Add missing start symbols
31519
31520 * boot/i386/pc/boot.S: add start
fb14123e 31521 * boot/i386/pc/pxeboot.S: likewise
473d1e45 31522
fd2bf2e3 315232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31524
31525 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 31526
31527 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 31528 (relocate_addresses): consider both r_addend and value at offset
31529 (make_mods_section): zerofill modinfo and header
31530 (convert_elf): write prefix here
473d1e45 31531
5389763d 315322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31533
31534 Use .asciz instead of .string
31535
31536 * i386/pc/diskboot.S: use .asciz instead of .string
31537 * i386/pc/boot.S: likewise
31538 * include/grub/dl.h (GRUB_MOD_DEP): likewise
31539 (GRUB_MOD_NAME): likewise
473d1e45 31540
3eb5ed4e 315412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31542
31543 gfxpayload support
31544
31545 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
31546 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
31547 (grub_video_setup): remove
31548 (grub_video_set_mode): new prototype
31549 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
31550 (vid_mode): remove
31551 (linux_vesafb_res): compile only on PCBIOS
31552 (grub_linux_boot): support gfxpayload
31553 * loader/i386/pc/xnu.c (video_hook): new function
31554 (grub_xnu_set_video): support gfxpayload
31555 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
31556 (DEFAULT_VIDEO_HEIGHT): likewise
31557 (DEFAULT_VIDEO_FLAGS): likewise
31558 (DEFAULT_VIDEO_MODE): new definition
31559 (video_hook): new function
31560 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 31561 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 31562 loading xnu
31563 * video/video.c (grub_video_setup): removed
473d1e45 31564 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 31565 grub_video_setup
31566
4b0e1143 315672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31568
31569 Avoid calling biosdisk in drivemap
31570
31571 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
31572 (revparse_biosdisk): likewise
31573 (list_mappings): derive name from id directly
31574 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 31575
fda6cb98 315762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31577
31578 Script fixes
31579
31580 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
31581 (grub_lexer_param): add tokenonhold
31582 (grub_script_create_cmdline): remove cmdline. All callers updated
31583 (grub_script_function_create): make functionname
31584 grub_script_arg. All callers updated
31585 (grub_script_execute_argument_to_string): new prototype
31586 * kern/parser.c (state_transitions): reorder
31587 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 31588 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 31589 make global
31590 (grub_script_execute_cmdline): use new format
31591 * script/sh/function.c (grub_script_function_create): make functionname
31592 grub_script_arg. All callers updated
473d1e45 31593 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 31594 (grub_script_yylex): remove
31595 (grub_script_yylex2): renamed to ...
31596 (grub_script_yylex): ...renamed
31597 parse the expressions like a${b}c
31598 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
31599 (GRUB_PARSER_TOKEN_VAR): remove
31600 (GRUB_PARSER_TOKEN_NAME): likewise
31601 ("if"): declare as typeless
31602 ("while"): likewise
31603 ("function"): likewise
31604 ("else"): likewise
31605 ("then"): likewise
31606 ("fi"): likewise
31607 (text): remove
31608 (argument): likewise
31609 (script): accept empty scripts and make exit on error
31610 (arguments): use GRUB_PARSER_TOKEN_ARG
31611 (function): likewise
31612 (command): move error handling to script
31613 (menuentry): move grub_script_lexer_ref before
473d1e45 31614 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 31615 argument. All callers updated
31616
f4448a07 316172009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31618
31619 Prevent GRUB from probing floppies during boot.
31620
31621 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
31622 * commands/search.c (options): Add --no-floppy.
31623 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
31624 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
31625 --no-floppy when searching for UUIDs.
31626
2bf5885a 316272009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31628
31629 Simplify the code duplication in commands/search.c.
31630
31631 * commands/search.c (search_label, search_fs_uuid): Merge into ...
31632 (search_fs): ... this. Update all users.
31633
f6fd460a 316342009-06-03 Felix Zielcke <fzielcke@z-51.de>
31635
31636 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
31637
cbb3c83e 316382009-05-28 Pavel Roskin <proski@gnu.org>
31639
57788cfd 31640 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
31641 Remove the original symlink explicitly.
31642
cbb3c83e 31643 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
31644 just one slash. That's how grub_fshelp_find_file() does it.
31645
cd0d5e30 316462009-05-26 Pavel Roskin <proski@gnu.org>
31647
f0f8bbe2 31648 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
31649 to `str'.
31650
cd0d5e30 31651 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
31652 possibly unused.
31653
8c2cab51 316542009-05-25 Christian Franke <franke@computer.org>
31655
31656 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
31657 register.
31658 (grub_atapi_identify): Add wait after drive select.
31659 (grub_ata_identify): Do more strict status register check before
31660 calling grub_atapi_identify (). Suppress error message if status
31661 register is 0x00 after command failure. Add status register
31662 check after PIO read to avoid bogus identify due to stuck DRQ.
31663 Thanks to Pavel Roskin for testing.
31664 (grub_device_initialize): Remove unsafe status register check.
31665 Thanks to 'phcoder' for problem report and patch.
31666 Prevent sign extension in debug message.
31667
230c0ad6 316682009-05-23 Colin D Bennett <colin@gibibit.com>
31669
31670 Cleaned up `include/grub/normal.h'. Grouped prototypes by
31671 definition file, and functions defined in `normal/menu.c' have had
31672 their prototypes moved to `include/grub/menu.h' for consistency.
31673
31674 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
31675 from normal.h.
31676 (grub_menu_get_entry): Likewise.
31677 (grub_menu_get_timeout): Likewise.
31678 (grub_menu_set_timeout): Likewise.
31679 (grub_menu_execute_entry): Likewise.
31680 (grub_menu_execute_with_fallback): Likewise.
31681 (grub_menu_entry_run): Likewise.
31682
31683 * include/grub/normal.h: Re-ordered and grouped function
31684 prototypes by file that the function is defined in.
31685 (grub_menu_execute_callback): Removed; moved to menu.h.
31686 (grub_menu_get_entry): Likewise.
31687 (grub_menu_get_timeout): Likewise.
31688 (grub_menu_set_timeout): Likewise.
31689 (grub_menu_execute_entry): Likewise.
31690 (grub_menu_execute_with_fallback): Likewise.
31691 (grub_menu_entry_run): Likewise.
31692 (grub_menu_addentry): Renamed from this ...
31693 (grub_normal_add_menu_entry): ... to this.
31694
31695 * normal/main.c (grub_menu_addentry): Renamed from this ...
31696 (grub_normal_add_menu_entry): ... to this.
31697
31698 * script/sh/execute.c (grub_script_execute_menuentry): Update
31699 reference to renamed grub_menu_addentry function.
31700
861f03a5 317012009-05-23 Felix Zielcke <fzielcke@z-51.de>
31702
31703 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
31704
96b1619a 317052009-05-22 Pavel Roskin <proski@gnu.org>
31706
bf6a5fb2 31707 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
31708 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
31709 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
31710 compiling for the i386 targets, but not for the utilities.
31711
96b1619a 31712 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
31713 to grub_uint8_t.
31714 (grub_root_drive): Likewise.
31715 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
31716 remove alignment.
31717 (grub_root_drive): Change size to byte.
31718 (grub_start_addr): Remove.
31719 (grub_end_addr): Likewise.
31720 (grub_apm_bios_info): Likewise.
31721
b729776b 317222009-05-21 Felix Zielcke <fzielcke@z-51.de>
31723
31724 * normal/i386: Remove.
31725 * normal/powerpc: Likewise.
31726 * normal/sparc64: Likewise.
31727 * normal/x86_64: Likewise.
31728
0a15ce80 317292009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
31730
31731 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 31732 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 31733 * loader/i386/xnu_helper.S: Likewise
d6da58e6 31734
33db9015 317352009-05-18 Colin D Bennett <colin@gibibit.com>
31736
d6da58e6 31737 Display error messages when parsing a Lua statement fails.
31738 Previously, executing a syntactically invalid statement like
31739 ")foo" or "bar;" would silently fail.
33db9015 31740
31741 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 31742 (grub_lua_parse_line): Improved reporting of Lua parser and
31743 execution errors.
33db9015 31744
46422c89 317452009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
31746
31747 Remove -Werror which causes build to fail on some systems
31748
31749 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
31750 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
31751 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 31752
22f53a96 317532009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
31754
31755 trampoline for linux on 64-bit platform
31756
18f547ad 31757 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
31758 loader/i386/efi/linux_trampoline.S
31759 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 31760 declaration
d6da58e6 31761 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
31762 here
22f53a96 31763 * loader/i386/linux_trampoline.S: moved here
d6da58e6 31764 * loader/i386/efi/linux.c (allocate_pages): reserve space for
31765 trampoline
22f53a96 31766 (jumpvector): removed
31767 (grub_linux_trampoline_start): new declaration
31768 (grub_linux_trampoline_end): likewise
31769 (grub_linux_boot): use trampoline when on 64-bit platform
31770 * loader/i386/linux.c: likewise
31771
cb5a0f40 317722009-05-16 Pavel Roskin <proski@gnu.org>
31773
31774 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
31775 const to avoid a warning.
31776 (grub_lua_setenv): Likewise.
31777 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
31778 lmsg to fix a warning.
31779
334f2c28 317802009-05-16 Felix Zielcke <fzielcke@z-51.de>
31781
31782 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 31783 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31784 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
31785 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31786 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
31787 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31788 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
31789 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 31790
59e5d3ec 317912009-05-16 Felix Zielcke <fzielcke@z-51.de>
31792
31793 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
31794
9d87a1ba 317952009-05-16 Bean <bean123ch@gmail.com>
31796
31797 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
31798 (lua_mod_SOURCES): New variable.
31799 (lua_mod_CFLAGS): Likewise.
31800 (lua_mod_LDFLAGS): Likewise.
31801
31802 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
31803 (setjmp_mod_SOURCES): New variable.
31804 (setjmp_mod_CFLAGS): Likewise.
31805 (setjmp_LDFLAGS): Likewise.
31806
31807 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
31808 (setjmp_mod_SOURCES): New variable.
31809 (setjmp_mod_CFLAGS): Likewise.
31810 (setjmp_LDFLAGS): Likewise.
31811
31812 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
31813 (setjmp_mod_SOURCES): New variable.
31814 (setjmp_mod_CFLAGS): Likewise.
31815 (setjmp_LDFLAGS): Likewise.
31816
31817 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
31818 (setjmp_mod_SOURCES): New variable.
31819 (setjmp_mod_CFLAGS): Likewise.
31820 (setjmp_LDFLAGS): Likewise.
31821
31822 * normal/i386/setjmp.S: Moved from here ...
31823 * lib/i386/setjmp.S: ... Moved here
31824 * normal/x86_64/setjmp.S: Moved from here ...
31825 * lib/x86_64/setjmp.S: ... Moved here
31826 * normal/powerpc/setjmp.S: Moved from here ...
31827 * lib/powerpc/setjmp.S: ... Moved here
31828 * normal/sparc64/setjmp.S: Moved from here ...
31829 * lib/sparc64/setjmp.S: ... Moved here
31830
31831 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
31832 returns_twice in mingw.
31833
31834 * script/lua/grub_lib.c: New file.
31835 * script/lua/grub_lib.h: Likewise.
31836 * script/lua/grub_lua.h: Likewise.
31837 * script/lua/grub_main.c: Likewise.
31838 * script/lua/lapi.c: Likewise.
31839 * script/lua/lapi.h: Likewise.
31840 * script/lua/lauxlib.c: Likewise.
31841 * script/lua/lauxlib.h: Likewise.
31842 * script/lua/lbaselib.c: Likewise.
31843 * script/lua/lcode.c: Likewise.
31844 * script/lua/lcode.h: Likewise.
31845 * script/lua/ldblib.c: Likewise.
31846 * script/lua/ldebug.c: Likewise.
31847 * script/lua/ldebug.h: Likewise.
31848 * script/lua/ldo.c: Likewise.
31849 * script/lua/ldo.h: Likewise.
31850 * script/lua/ldump.c: Likewise.
31851 * script/lua/lfunc.c: Likewise.
31852 * script/lua/lfunc.h: Likewise.
31853 * script/lua/lgc.c: Likewise.
31854 * script/lua/lgc.h: Likewise.
31855 * script/lua/linit.c: Likewise.
31856 * script/lua/liolib.c: Likewise.
31857 * script/lua/llex.c: Likewise.
31858 * script/lua/llex.h: Likewise.
31859 * script/lua/llimits.h: Likewise.
31860 * script/lua/lmathlib.c: Likewise.
31861 * script/lua/lmem.c: Likewise.
31862 * script/lua/lmem.h: Likewise.
31863 * script/lua/loadlib.c: Likewise.
31864 * script/lua/lobject.c: Likewise.
31865 * script/lua/lobject.h: Likewise.
31866 * script/lua/lopcodes.c: Likewise.
31867 * script/lua/lopcodes.h: Likewise.
31868 * script/lua/loslib.c: Likewise.
31869 * script/lua/lparser.c: Likewise.
31870 * script/lua/lparser.h: Likewise.
31871 * script/lua/lstate.c: Likewise.
31872 * script/lua/lstate.h: Likewise.
31873 * script/lua/lstring.c: Likewise.
31874 * script/lua/lstring.h: Likewise.
31875 * script/lua/lstrlib.c: Likewise.
31876 * script/lua/ltable.c: Likewise.
31877 * script/lua/ltable.h: Likewise.
31878 * script/lua/ltablib.c: Likewise.
31879 * script/lua/ltm.c: Likewise.
31880 * script/lua/ltm.h: Likewise.
31881 * script/lua/lua.h: Likewise.
31882 * script/lua/luaconf.h: Likewise.
31883 * script/lua/lualib.h: Likewise.
31884 * script/lua/lundump.c: Likewise.
31885 * script/lua/lundump.h: Likewise.
31886 * script/lua/lvm.c: Likewise.
31887 * script/lua/lvm.h: Likewise.
31888 * script/lua/lzio.c: Likewise.
31889 * script/lua/lzio.h: Likewise.
31890
5e898c9d 318912009-05-16 Bean <bean123ch@gmail.com>
31892
31893 * include/grub/kernel.h (grub_module_header_types): Add type
31894 OBJ_TYPE_CONFIG.
31895
31896 * kern/main.c (grub_load_config): New function.
31897 (grub_main): Call grub_load_config to read boot config.
31898
31899 * grub-mkimage (generate_image): New parameter config_path.
31900 (options): New option --config.
31901 (main): Parse --config option, and pass it to generate_image.
31902
cf353a47 319032009-05-14 Christian Franke <franke@computer.org>
31904
31905 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
31906 This fixes build on Cygwin.
31907
3834887f 319082009-05-14 Pavel Roskin <proski@gnu.org>
31909
31910 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
31911 jump. This saves two bytes, so the typical case of 2 swapped
31912 drives would fit 32 bytes.
31913
8090fc01 319142009-05-13 Pavel Roskin <proski@gnu.org>
31915
ac963883 31916 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
31917 grub_uint32_t to avoid a warning.
31918
8090fc01 31919 * loader/i386/linux.c (allocate_pages): When assigning
31920 real_mode_mem, cast through grub_size_t to fix a warning. The
31921 code already makes sure that the value would fit a pointer.
31922 (grub_linux_setup_video): Cast render_target->data to
31923 grub_size_t to fix a warning.
31924
18f547ad 319252009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 31926
31927 * commands/i386/pc/drivemap.c: New file - implement drivemap
31928 command.
31929 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
31930 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
31931
6f6a8b28 319322009-05-13 Pavel Roskin <proski@gnu.org>
31933
31934 * util/i386/pc/grub-setup.c (setup): Remove unused variable
31935 embedding_area_exists.
31936
15fbf4c4 319372009-05-13 Robert Millan <rmh.grub@aybabtu.com>
31938
31939 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
31940 it easier to understand / work with.
59978c8a 31941 Improve warning messages for cases where there's no embedding area,
31942 or when it is too small (or core.img too large).
15fbf4c4 31943
238e871f 319442009-05-13 Pavel Roskin <proski@gnu.org>
31945
0ab3a9a4 31946 * loader/i386/pc/multiboot2.c: Add necessary includes for
31947 grub_multiboot2_real_boot().
31948
a2c8c5f8 31949 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
31950 PX record is always little-endian. We only need the lower 2
31951 bytes of the mode.
31952
faec96af 31953 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
31954 facilitate code reuse.
31955 (grub_cpio_mount): Use "struct head", not a char buffer. This
31956 fixes a warning reported by gcc 4.4.
31957
238e871f 31958 * kernel/disk.c (grub_disk_read): Use void pointer for the
31959 buffer.
31960 (grub_disk_write): Use const void pointer for the buffer.
31961 Adjust all callers. Remove unnecessary casts.
31962
901d2f0c 319632009-05-10 Robert Millan <rmh.grub@aybabtu.com>
31964
31965 * util/i386/pc/grub-install.in: Update copyright year.
31966
18f547ad 319672009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 31968
31969 gptsync
31970
31971 * commands/gptsync.c: new file
31972 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
31973 (gptsync_mod_SOURCES): new variable
31974 (gptsync_mod_CFLAGS): likewise
31975 (gptsync_mod_LDFLAGS): likewise
18f547ad 31976 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 31977 new definition
31978 (GRUB_PC_PARTITION_TYPE_HFS): likewise
31979 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
31980 * conf/i386-ieee1275.rmk: likewise
31981 * conf/i386-pc.rmk: likewise
31982 * conf/powerpc-ieee1275.rmk: likewise
31983
b4ba690a 319842009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
31985
31986 Fixed grub-emu
31987
31988 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
31989 (grub_dl_ref): likewise
31990
317e1a44 319912009-05-08 Robert Millan <rmh.grub@aybabtu.com>
31992
31993 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
31994 split in two functions (one for msdos and one for gpt).
31995
041b8094 319962009-05-08 Pavel Roskin <proski@gnu.org>
31997
752473c2 31998 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
31999 not modified.
32000
041b8094 32001 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
32002 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
32003 Initialize them with -1. Add sanity check for bad1. Eliminate
32004 nerr variable.
32005
172800ce 320062009-05-08 David S. Miller <davem@davemloft.net>
32007
32008 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
32009
29aa5e81 320102009-05-06 Robert Millan <rmh.grub@aybabtu.com>
32011
32012 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 32013 existence.
29aa5e81 32014
96613b62 320152009-05-05 Felix Zielcke <fzielcke@z-51.de>
32016
32017 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 32018 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 32019
eef73c8a 320202009-05-05 David S. Miller <davem@davemloft.net>
32021
32022 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
32023
119494b5 320242009-05-05 Pavel Roskin <proski@gnu.org>
32025
32026 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
32027 of grub_dl_ref() and grub_dl_unref().
32028 * commands/parttool.c: Remove preprocessor conditionals around
32029 grub_dl_ref() and grub_dl_unref().
32030 * fs/affs.c: Likewise.
32031 * fs/afs.c: Likewise.
32032 * fs/cpio.c: Likewise.
32033 * fs/ext2.c: Likewise.
32034 * fs/fat.c: Likewise.
32035 * fs/hfs.c: Likewise.
32036 * fs/hfsplus.c: Likewise.
32037 * fs/iso9660.c: Likewise.
32038 * fs/jfs.c: Likewise.
32039 * fs/minix.c: Likewise.
32040 * fs/ntfs.c: Likewise.
32041 * fs/reiserfs.c: Likewise.
32042 * fs/sfs.c: Likewise.
32043 * fs/udf.c: Likewise.
32044 * fs/ufs.c: Likewise.
32045 * fs/xfs.c: Likewise.
32046 * include/grub/dl.h: Likewise.
32047 * loader/xnu.c: Likewise.
32048
de5fd76e 320492009-05-04 Pavel Roskin <proski@gnu.org>
32050
32051 * commands/acpi.c: Remove unused variable my_mod.
32052 * partmap/amiga.c: Likewise.
32053 * partmap/apple.c: Likewise.
32054 * partmap/gpt.c: Likewise.
32055 * partmap/pc.c: Likewise.
32056 * partmap/sun.c: Likewise.
32057 * term/gfxterm.c: Likewise.
32058 * term/i386/pc/vesafb.c: Likewise.
32059 * term/i386/pc/vga.c: Likewise.
32060
983598ad 320612009-05-04 David S. Miller <davem@davemloft.net>
32062
32063 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
32064 pointer args to grub_ieee1275_get_property().
32065
8aadec43 32066 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
32067
9554b15e 32068 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
32069 devices, and do not traverse down under controller nodes.
32070
67e23c90 32071 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
32072 (grub_ofdisk_open): Use it to un-escape "," characters.
32073 * kern/disk.c (find_part_sep): New.
32074 (grub_disk_open): Use it to find the first non-escaped ','
32075 character in the disk name.
32076 * util/ieee1275/devicemap.c (escape_of_path): New.
32077 (grub_util_emit_devicemap_entry): Use it.
32078 * util/sparc64/ieee1275/grub-install.in: Update script to
32079 strip partition specifiers properly by not triggering on
32080 '\' escaped ',' characters.
32081
74bfdd2f 320822009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32083
32084 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
32085 to 0x300.
32086 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
32087 resolutions.
32088 (linux_vesafb_modes): Add a lot of additional modes to the list (based
32089 on documentation from Wikipedia).
32090
4241d2b1 320912009-05-04 Pavel Roskin <proski@gnu.org>
32092
32093 * disk/ata.c: Spelling fixes.
32094 * disk/raid.c: Likewise.
32095 * disk/usbms.c: Likewise.
32096 * disk/dmraid_nvidia.c: Likewise.
32097 * kern/ieee1275/openfw.c: Likewise.
32098 * kern/ieee1275/init.c: Likewise.
32099 * kern/ieee1275/cmain.c: Likewise.
32100 * boot/i386/pc/cdboot.S: Likewise.
32101 * video/readers/png.c: Likewise.
32102 * video/i386/pc/vbe.c: Likewise.
32103 * fs/udf.c: Likewise.
32104 * fs/hfs.c: Likewise.
32105 * fs/reiserfs.c: Likewise.
32106 * efiemu/runtime/efiemu.c: Likewise.
32107 * efiemu/main.c: Likewise.
32108 * efiemu/mm.c: Likewise.
32109 * include/grub/elf.h: Likewise.
32110 * include/grub/xnu.h: Likewise.
32111 * include/grub/usbdesc.h: Likewise.
32112 * include/grub/usb.h: Likewise.
32113 * include/grub/script_sh.h: Likewise.
32114 * include/grub/lib/LzmaEnc.h: Likewise.
32115 * include/grub/efiemu/efiemu.h: Likewise.
32116 * include/grub/command.h: Likewise.
32117 * normal/menu.c: Likewise.
32118 * normal/main.c: Likewise.
32119 * normal/datetime.c: Likewise.
32120 * bus/usb/uhci.c: Likewise.
32121 * mmap/i386/uppermem.c: Likewise.
32122 * mmap/mmap.c: Likewise.
32123 * commands/acpi.c: Likewise.
32124 * commands/test.c: Likewise.
32125 * partmap/apple.c: Likewise.
32126 * font/font.c: Likewise.
32127 * loader/sparc64/ieee1275/linux.c: Likewise.
32128 * loader/macho.c: Likewise.
32129 * loader/i386/bsd_trampoline.S: Likewise.
32130 * loader/i386/bsd.c: Likewise.
32131 * loader/xnu.c: Likewise.
32132 * term/i386/pc/vesafb.c: Likewise.
32133 * term/usb_keyboard.c: Likewise.
32134 * util/resolve.c: Likewise.
32135 * util/getroot.c: Likewise.
32136
0cfc0083 321372009-05-04 Felix Zielcke <fzielcke@z-51.de>
32138
32139 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
32140
7c1d00cd 321412009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32142
32143 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
32144 build error.
32145
b01f0548 321462009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32147
32148 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
32149 parameter only available on BIOS.
32150
ecc3eb22 321512009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32152
32153 Removed wrong semicolon in declaration
32154
32155 * grub/misc.h (grub_dprintf): remove semicolon
32156
112972a9 321572009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32158
32159 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
32160 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
32161 is done by grub_cmd_linux() now).
32162 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
32163 restore video to text mode.
32164 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
32165 indicates lack of "vga=" parameter. "vga=0" is mapped to
32166 `GRUB_LINUX_VID_MODE_NORMAL'.
32167
afd5c115 321682009-05-04 Felix Zielcke <fzielcke@z-51.de>
32169
32170 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
32171 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
32172 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 32173 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 32174 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
32175 `grub_script.tab.c'.
32176
32177 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32178 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32179 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32180 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32181 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32182
faa517ce 32183 * Makefile.in: Remove duplicated 2008 in Copyright line.
32184
ae0c0bdc 321852009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32186
473d1e45 32187 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 32188 unconditionally.
32189 * include/grub/util/misc.h (grub_util_warn): New declaration.
32190
32191 * util/i386/pc/grub-install.in: Understand --force and pass it down
32192 to grub-setup.
32193
32194 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
32195 down to setup().
32196 (setup): Improve error messages and add warnings when requested to
32197 install in odd layouts. Refuse to install using blocklists unless
32198 --force was set.
32199
18f547ad 322002009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 32201
32202 * disk/raid.c (grub_raid_scan_device): Improve debug message.
32203
6d260daa 322042009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32205
32206 Updated copyright year
32207
32208 * fs/hfsplus.c: updated copyright year
18f547ad 32209
69f853f8 322102009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32211
32212 HFS+ UUID
32213
18f547ad 32214 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 32215 in the space previously used by unused3
32216 (grub_hfsplus_uuid): new function
32217 (grub_hfsplus_fs): added uuid field
32218
4c402e73 322192009-05-03 Pavel Roskin <proski@gnu.org>
32220
32221 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
32222 suppress warnings. It's no longer needed.
32223 * disk/host.c: Likewise.
32224 * disk/ata_pthru.c: Likewise.
32225 * disk/loopback.c: Likewise.
32226 * hook/datehook.c: Likewise.
32227 * parttool/pcpart.c: Likewise.
32228 * fs/i386/pc/pxe.c: Likewise.
32229 * fs/ntfscomp.c: Likewise.
32230 * efiemu/main.c: Likewise.
32231 * mmap/mmap.c: Likewise.
32232 * commands/crc.c: Likewise.
32233 * commands/hexdump.c: Likewise.
32234 * commands/hdparm.c: Likewise.
32235 * commands/acpi.c: Likewise.
32236 * commands/echo.c: Likewise.
32237 * commands/minicmd.c: Likewise.
32238 * commands/blocklist.c: Likewise.
32239 * commands/memrw.c: Likewise.
32240 * commands/loadenv.c: Likewise.
32241 * commands/usbtest.c: Likewise.
32242 * commands/lsmmap.c: Likewise.
32243 * commands/boot.c: Likewise.
32244 * commands/parttool.c: Likewise.
32245 * commands/configfile.c: Likewise.
32246 * commands/search.c: Likewise.
32247 * commands/ieee1275/suspend.c: Likewise.
32248 * commands/cat.c: Likewise.
32249 * commands/i386/pc/pxecmd.c: Likewise.
32250 * commands/i386/pc/play.c: Likewise.
32251 * commands/i386/pc/halt.c: Likewise.
32252 * commands/i386/pc/vbeinfo.c: Likewise.
32253 * commands/i386/pc/vbetest.c: Likewise.
32254 * commands/lspci.c: Likewise.
32255 * commands/date.c: Likewise.
32256 * commands/handler.c: Likewise.
32257 * commands/ls.c: Likewise.
32258 * commands/test.c: Likewise.
32259 * commands/cmp.c: Likewise.
32260 * commands/efi/loadbios.c: Likewise.
32261 * commands/efi/fixvideo.c: Likewise.
32262 * commands/halt.c: Likewise.
32263 * commands/help.c: Likewise.
32264 * commands/reboot.c: Likewise.
32265 * hello/hello.c: Likewise.
32266 * script/sh/main.c: Likewise.
32267 * loader/xnu.c: Likewise.
32268 * term/terminfo.c: Likewise.
32269 * term/i386/pc/serial.c: Likewise.
32270 * term/usb_keyboard.c: Likewise.
32271
515b5079 322722009-05-03 David S. Miller <davem@davemloft.net>
32273
32274 * normal/menu.c: Include grub/parser.h
32275
dfc31a22 322762009-05-03 Pavel Roskin <proski@gnu.org>
32277
2fee74f1 32278 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
32279 not char*.
32280 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
32281 Suggested by Javier Martín <lordhabbit@gmail.com>
32282
dfc31a22 32283 * util/i386/pc/grub-mkrescue.in: Allow for the case when
32284 efiemu??.o doesn't exist.
32285 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
32286 copying.
32287
18f547ad 322882009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 32289
32290 FreeBSD 64-bit support
32291
18f547ad 32292 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 32293 and loader/i386/bsd_trampoline.S
32294 (bsd_mod_ASFLAGS): new variable
32295 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
32296 (FREEBSD_MODTYPE_KERNEL64): likewise
32297 (grub_bsd64_trampoline_start): likewise
32298 (grub_bsd64_trampoline_end): likewise
32299 (grub_bsd64_trampoline_selfjump): likewise
32300 (grub_bsd64_trampoline_gdt): likewise
32301 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
32302 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
32303 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
32304 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 32305 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 32306 of "attrib" member
32307 * loader/i386/bsd_pagetable.c: new file
32308 * loader/i386/bsd_trampoline.S: likewise
32309 * loader/i386/bsd.c (ALIGN_QWORD): new macro
32310 (ALIGN_VAR): likewise
32311 (entry_hi): new variable
32312 (kern_end_mdofs): likewise
32313 (is_64bit): likewise
32314 (grub_freebsd_add_meta): use ALIGN_VAR
32315 (grub_e820_mmap): new declaration
32316 (grub_freebsd_add_mmap): new function
32317 (grub_freebsd_add_meta_module): support 64 bit kernels
32318 (grub_freebsd_list_modules): use ALIGN_VAR
32319 (gdt_descriptor): new declaration
32320 (grub_freebsd_boot): support 64 bit kernels
32321 (grub_bsd_elf64_hook): new function
32322 (grub_bsd_load_elf): support elf64
32323
038c5720 323242009-05-03 Bean <bean123ch@gmail.com>
32325
32326 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
32327 after we get the result of if statement.
32328
fc45fb58 323292009-05-03 Bean <bean123ch@gmail.com>
32330
32331 * Makefile.in (enable_efiemu): New variable.
32332
32333 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
32334 set.
32335 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
32336 path.
32337 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
32338 path, add -mno-red-zone option.
32339 (efiemu64_s.o): Likewise.
32340 (efiemu64.o): Use macro $^ for source file.
32341
32342 * configure.ac (--enable-efiemu): New option.
32343
bbee0f2b 323442009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
32345
32346 xnu support
32347
32348 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
32349 (pkglib_MODULES): add xnu.mod
32350 (xnu_mod_SOURCES): new variable
32351 (xnu_mod_CFLAGS): likewise
32352 (xnu_mod_LDFLAGS): likewise
32353 (xnu_mod_ASFLAGS): likewise
32354 * conf/i386-pc.rmk: likewise
32355 * conf/x86_64-efi.rmk: likewise
7dd4a573 32356 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 32357 new declaration
32358 * include/grub/i386/macho.h: new file
32359 * include/grub/i386/xnu.h: likewise
32360 * include/grub/macho.h: likewise
32361 * include/grub/machoload.h: likewise
32362 * include/grub/x86_64/macho.h: likewise
32363 * include/grub/x86_64/xnu.h: likewise
32364 * include/grub/xnu.h: likewise
32365 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
32366 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
32367 * loader/i386/efi/xnu.c: new file
32368 * loader/i386/pc/xnu.c: likewise
32369 * loader/i386/xnu.c: likewise
32370 * loader/i386/xnu_helper.S: likewise
32371 * loader/macho.c: likewise
32372 * loader/xnu.c: likewise
32373 * loader/xnu_resume.c: likewise
32374 * util/grub-dumpdevtree: likewise
32375 * include/grub/i386/pit.h: include grub/err.h
32376 (grub_pit_wait): export
32377 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 32378
5caf964d 323792009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32380
32381 Efiemu
7dd4a573 32382
5caf964d 32383 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 32384 _linux_efi, linux_efi.
32385 new files in grub-emu
5caf964d 32386 new targets efiemu32.o and efiemu64.o
32387 * loader/linux_normal_efiemu.c: likewise
32388 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 32389 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 32390 files to copy
32391 * include/grub/autoefi.h: new file
7dd4a573 32392 * include/grub/i386/efiemu.h: likewise
5caf964d 32393 * include/grub/i386/pc/efiemu.h: likewise
32394 * include/grub/efi/api.h: add LL suffix when necessary
32395 new definitions relating to tables
32396 * include/grub/efiemu/efiemu.h: new file
32397 * include/grub/efiemu/runtime.h: likewise
32398 * efiemu/prepare.c: likewise
32399 * efiemu/loadcore_common.c: likewise
32400 * efiemu/loadcore64.c: likewise
32401 * efiemu/runtime/efiemu.sh: likewise
32402 * efiemu/runtime/efiemu.S: likewise
32403 * efiemu/runtime/efiemu.c: likewise
32404 * efiemu/runtime/config.h: likewise
32405 * efiemu/prepare32.c: likewise
32406 * efiemu/main.c: likewise
32407 * efiemu/modules/pnvram.c: likewise
32408 * efiemu/modules/i386: likewise
32409 * efiemu/modules/i386/pc: likewise
32410 * efiemu/modules/acpi.c: likewise
32411 * efiemu/i386/pc/cfgtables.c: likewise
32412 * efiemu/i386/loadcore64.c: likewise
32413 * efiemu/i386/loadcore32.c: likewise
32414 * efiemu/prepare64.c: likewise
32415 * efiemu/loadcore.c: likewise
32416 * efiemu/symbols.c: likewise
32417 * efiemu/mm.c: likewise
32418 * efiemu/loadcore32.c: likewise
7dd4a573 32419
324202009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 32421
32422 ACPI spoofing
32423
32424 * commands/acpi.c: new file
32425 * commands/i386/pc/acpi.c: likewise
32426 * commands/efi/acpi.c: likewise
32427 * include/grub/acpi.h: likewise
32428 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
32429 (acpi_mod_SOURCES): new variable
32430 (acpi_mod_CFLAGS): likewise
32431 (acpi_mod_LDFLAGS): likewise
32432 * conf/i386-efi.rmk: likewise
32433 * conf/x86_64-efi.rmk: likewise
32434
7dd4a573 324352009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 32436
32437 Missing part from mmap patch
32438
32439 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
32440 (grub_mmap_unregister)
32441 (grub_mmap_free_and_unregister): use grub_mmap_register
32442
7dd4a573 324432009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 32444
32445 Mmap services
32446
32447 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
32448 * loader/i386/linux.c (find_mmap_size): likewise
32449 (allocate_pages): likewise
32450 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
32451 (grub_fill_multiboot_mmap): likewise
32452 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
32453 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
32454 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
32455 (OPENBSD_MMAP_RESERVED): likewise
32456 * include/grub/i386/pc/memory.h: include grub/memory.h
32457 (grub_lower_mem): removed
32458 (grub_upper_mem): likewise
32459 (GRUB_MACHINE_MEMORY_ACPI): new definition
32460 (GRUB_MACHINE_MEMORY_NVS): likewise
32461 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
32462 (GRUB_MACHINE_MEMORY_HOLE): likewise
32463 (grub_machine_mmap_register): likewise
32464 (grub_machine_mmap_unregister): likewise
32465 (grub_machine_get_upper): likewise
32466 (grub_machine_get_lower): likewise
32467 (grub_machine_get_post64): likewise
32468 * include/grub/i386/efi/memory.h: new file
32469 * include/grub/x86_64/efi/memory.h: likewise
32470 * include/grub/efi/memory.h: likewise
32471 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
32472 (mmap_mod_SOURCES): new variable
32473 (mmap_mod_LDFLAGS): likewise
32474 (mmap_mod_ASFLAGS): likewise
32475 * conf/i386-coreboot.rmk: likewise
32476 * conf/i386-ieee1275.rmk: likewise
32477 * conf/i386-efi.rmk: likewise
32478 * conf/x86_64-efi.rmk: likewise
32479 * include/grub/types.h (UINT_TO_PTR): new macro
32480 (PTR_TO_UINT32): likewise
32481 (PTR_TO_UINT64): likewise
32482 * include/grub/memory.h: new file
32483 * mmap/i386/pc/mmap.c: likewise
32484 * mmap/i386/pc/mmap_helper.S: likewise
32485 * mmap/i386/uppermem.c: likewise
32486 * mmap/mmap.c: likewise
32487 * mmap/efi/mmap.c: likewise
7dd4a573 32488 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 32489 grub_upper_mem
32490 * kern/i386/pc/init.c (grub_lower_mem): removed variable
32491 (grub_upper_mem): likewise
32492 (grub_machine_init): don't use grub_upper_mem,
32493 make grub_lower_mem local
32494 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
32495 grub_mmap_iterate and grub_mmap_get_upper
32496 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
32497
d558e6b5 324982009-05-02 Bean <bean123ch@gmail.com>
32499
32500 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
32501 script/sh/parser.y.
32502 (pkglib_MODULES): Add normal.mod and sh.mod.
32503 (normal_SOURCES): New variable.
32504 (normal_mod_CFLAGS): Likewise.
32505 (normal_mod_LDFLAGS): Likewise.
32506 (sh_mod_SOURCES): Likewise.
32507 (sh_mod_CFLAGS): Likewise.
32508 (sh_mod_LDFLAGS): Likewise.
32509
32510 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
32511 script/sh/lexer.c_DEPENDENCIES.
32512 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
32513 kern/rescue_reader.c and kern/rescue_parser.c.
32514 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
32515 (grub_emu_SOURCES): Change source files.
32516 (pkglib_MODULES): Remove normal.mod.
32517 (normal_SOURCES): Removed.
32518 (normal_mod_CFLAGS): Likewise.
32519 (normal_mod_LDFLAGS): Likewise.
32520 * conf/i386-coreboot.rmk: Likewise.
32521 * conf/i386-efi.rmk: Likewise.
32522 * conf/i386-ieee1276.rmk: Likewise.
32523 * conf/powerpc-ieee1275.rmk: Likewise.
32524 * conf/sparc64-ieee1275.rmk: Likewise.
32525 * conf/x86_64-efi.rmk: Likewise.
32526
32527 * include/grub/command.h (grub_command_execute): New inline function.
32528
32529 * include/grub/menu.h (grub_menu_entry): Removed commands field.
32530
32531 * include/grub/normal.h: Remove <grub/setjmp.h>.
32532 (grub_fs_module_list): Moved to normal/autofs.c.
32533 (grub_exit_env): Removed.
32534 (grub_command_execute): Likewise.
32535 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
32536 parameter script.
32537 (read_command_list): New function declaration.
32538 (read_fs_list): Likewise.
32539
32540 * include/parser.h: Include <grub/reader.h>.
32541 (grub_parser_split_cmdline): Change type of getline parameter.
32542 (grub_parser): New structure.
32543 (grub_parser_class): New variable.
32544 (grub_parser_execute): New function declaration.
32545 (grub_register_rescue_parser): Likewise.
32546 (grub_parser_register): New inline function.
32547 (grub_parser_unregister): Likewise.
32548 (grub_parser_get_current): Likewise.
32549 (grub_parser_set_current): Likewise.
32550
32551 * include/grub/reader.h: New file.
32552 * kern/reader.c: Likewise.
32553 * kern/rescue_parser.c: Likewise.
32554 * kern/rescue_reader.c: Likewise.
32555 * normal/autofs.c: Likewise.
32556 * normal/dyncmd.c: Likewise.
32557
32558 * include/grub/rescue.h: Removed.
32559 * normal/command.h: Likewise.
32560
32561 * include/grub/script.h: Moved to ...
32562 * include/grub/script_sh.h: ... Moved here.
32563 * normal/execute.c: Moved to ...
32564 * script/sh/execute.c: ... Moved here.
32565 * normal/function.c: Moved to ...
32566 * script/sh/function.c: ... Moved here.
32567 * normal/lexer.c: Moved to ...
32568 * script/sh/lexer.c: ... Moved here.
32569 * normal/parser.y: Moved to ...
32570 * script/sh/parser.y: ... Moved here.
32571 * normal/script.c: Moved to ...
32572 * script/sh/script.c: ... Moved here.
32573
32574 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
32575 <grub/reader.h>.
32576 (grub_exit_env): Removed.
32577 (fs_module_list): Moved to normal/autofs.c.
32578 (grub_file_getline): Don't handle comment here.
32579 (free_menu): Skip removed field entry->commands.
32580 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
32581 script parameter.
32582 (read_config_file): Removed nested parameter, change getline function.
32583 (grub_enter_normal_mode): Removed.
32584 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
32585 (read_command_list): Likewise.
32586 (autoload_fs_module): Moved to normal/autofs.c.
32587 (read_fs_list): Likewise.
32588 (reader_nested): New variable.
32589 (grub_normal_execute): Run parser.sh to switch to sh parser.
32590 (grub_cmd_rescue): Removed.
32591 (cmd_normal): Removed.
32592 (grub_cmd_normal): Unregister itself at the beginning. Don't register
32593 rescue command.
32594 (grub_cmdline_run): New function.
32595 (grub_normal_reader_init): Likewise.
32596 (grub_normal_read_line): Likewise.
32597 (grub_env_write_pager): Likewise.
32598 (cmdline): New variable.
32599 (grub_normal_reader): Likewise.
32600 (GRUB_MOD_INIT): Register normal reader and set as current, register
32601 pager hook, register normal command with grub_register_command_prio,
32602 so that it won't show up in command.lst.
32603 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
32604 grub_fs_autoload_hook.
32605
32606 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
32607 (grub_menu_execute_entry): Replace grub_script_execute with
32608 grub_parser_execute, change parameter to grub_command_execute.
32609
32610 * normal/menu_text.c: Remove <grub/script.h>.
32611
32612 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
32613 and <grub/parser.h>.
32614 (run): Change editor_getline to use new parser interface. Change
32615 parameter to grub_command_execute.
32616
32617 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
32618 <grub/reader.h> and <grub/parser.h>.
32619 (grub_load_normal_mode): Execute normal command.
32620 (grub_main): Call grub_register_core_commands,
32621 grub_register_rescue_parser and grub_register_rescue_reader, use
32622 grub_reader_loop to enter input loop.
32623
7dd4a573 32624 * kern/parser.c (grub_parser_split_cmdline): Change type of
32625 getline parameter.
d558e6b5 32626 (grub_parser_class): New variable.
32627 (grub_parser_execute): New function.
32628
32629 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
32630 * loader/multiboot2.c: Likewise.
32631 * loader/sparc64/ieee1275/linux.c: Likewise.
32632
32633 * util/grub-emu.c (read_command_list): New dummy function.
32634
18db813d 326352009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32636
32637 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
32638 count to 16 for CCISS and IDA.
32639
6c67de15 326402009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32641
32642 * normal/menu_text.c (grub_wait_after_message): Print a newline
32643 after waiting for user input.
32644
32645 * loader/i386/linux.c: Include `<grub/normal.h>'.
32646 (grub_cmd_linux): Improve the error message about `ask' mode, by
32647 waiting for user input so it's not missed (we can do this, since
32648 user requested interaction).
32649
d9dc87b0 326502009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32651
32652 Added missing lst to grub-mkrescue
32653
32654 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
32655 and ${input_dir}/parttool.lst
32656
ac8a2baa 326572009-04-30 David S. Miller <davem@davemloft.net>
32658
ad22a610 32659 * util/hostdisk.c (device_is_wholedisk): New function.
32660 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
32661 zero only if device_is_wholedisk() returns true.
32662
6966215d 32663 * util/hostdisk.c (convert_system_partition_to_system_disk):
32664 Handle virtual disk devices named /dev/vdiskX as found on sparc
32665 and powerpc.
32666
ac8a2baa 32667 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
32668 lettered partition specifier is found, convert to numbered.
32669
979b4fb4 326702009-04-29 David S. Miller <davem@davemloft.net>
32671
e2bf39b2 32672 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
32673 * include/grub/sparc64/ieee1275/memory.h: Likewise.
32674
3c64e104 32675 * normal/command.c: Add missing newline at end of file.
32676
979b4fb4 32677 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
32678 warnings.
32679 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
32680 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
32681 grub_ofdisk_read): Likewise, and deal similarly with the fact that
32682 ihandles have a 32-bit type but need to be stored in a "void *".
32683
136d9f82 326842009-04-28 Pavel Roskin <proski@gnu.org>
32685
9459c306 32686 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
32687 not disk. Adjust all dependencies.
2e08a26a 32688 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 32689 grub_disk_close().
32690
136d9f82 32691 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
32692 parent's partition, don't copy it by reference, as it gets freed
32693 on close.
32694
7dd4a573 326952009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 32696
32697 Preboot hooks support
32698
32699 * commands/boot.c (struct grub_preboot_t): new declaration
32700 (preboots_head): new variable
32701 (preboots_tail): likewise
32702 (grub_loader_register_preboot_hook): new function
32703 (grub_loader_unregister_preboot_hook): likewise
32704 (grub_loader_set): launch preboot hooks
32705 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
32706 (grub_loader_register_preboot_hook): new declaration
32707 (grub_loader_unregister_preboot_hook): likewise
32708
5af922b5 327092009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
32710
32711 Warning fix
32712
7dd4a573 32713 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 32714 calling grub_dprintf
32715
a5562c30 327162009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
32717
32718 Bug and warning fixes
32719
7dd4a573 32720 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 32721 declaration
32722 * commands/test.c (test_parse): fixed bug with file tests and corrected
32723 declaration of find_file
32724
4006f85c 327252009-04-26 Pavel Roskin <proski@gnu.org>
32726
32727 * Makefile.in: Don't install empty manual pages if help2man is
32728 missing. Use help2man option for output, not shell redirection.
32729
5c77c3de 327302009-04-26 David S. Miller <davem@davemloft.net>
32731
32732 * util/grub-mkdevicemap.c (make_device_map): Add missing
32733 NESTED_FUNC_ATTR to process_device().
32734
033b10a8 327352009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
32736
32737 Test command
32738
32739 * commands/test.c: rewritten to use bash-like test
32740
e4343593 327412009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
32742
32743 Parttool autoloading and improvements
32744
7dd4a573 32745 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 32746 (parttool.lst): new target
32747 * genmk.rb: generate parttool-*
32748 (CLEANFILES): add #{parttool}
32749 (PARTTOOLFILES): new variable
32750 * genparttoollist.sh: new file
7dd4a573 32751 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 32752 (grub_pcpart_type): likewise
32753 * commands/parttool.c (helpmsg): new variable
32754 (grub_cmd_parttool): output help if not enough arguments are supplied
32755 autoload modules
32756 (GRUB_MOD_INIT(parttool)): use helpmsg
32757
0d312500 327582009-04-24 David S. Miller <davem@davemloft.net>
32759
7dd4a573 32760 Avoiding opening same device multiple times in device iterator.
0d312500 32761
32762 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 32763 and use it to build a list of partitions in iterate_disk() and
0d312500 32764 iterate_partition().
32765
ac20caff 32766 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
32767 on disk->data.
32768
0dcf7495 32769 * disk/ieee1275/nand.c (grub_nand_iterate): Return
32770 grub_devalias_iterate() result instead of unconditional 0.
32771 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
32772 Also, capture hook return value, either directly or via
32773 grub_children_iterate(), and propagate to caller.
32774 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
32775 grub_children_iterate): Return value is now 'int' instead of
32776 'grub_err_t'.
32777 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
32778 like a proper iterator, stopping when hooks return non-zero.
32779 (grub_devalias_iterate): Likewise.
32780
c8c08833 327812009-04-23 David S. Miller <davem@davemloft.net>
32782
32783 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
32784
f01005a8 327852009-04-22 David S. Miller <davem@davemloft.net>
32786
32787 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
32788 is larger than address_cells, use that value for address_cells too.
32789
4e8269da 32790 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
32791 IEEE1275_MAX_PATH_LEN): Define.
32792 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
32793 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
32794 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
32795 'devtype'. Explicitly NULL terminate devalias expansion.
32796
a1447506 32797 * util/sparc64/ieee1275/misc.c: New file.
32798 * util/sparc64/ieee1275/grub-setup.c: New file.
32799 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
32800 * util/sparc64/ieee1275/grub-mkimage.c: New file.
32801 * util/sparc64/ieee1275/grub-install.in: New file.
32802 * util/ieee1275/ofpath.c: New file.
32803 * util/ieee1275/devicemap.c: New file.
32804 * util/devicemap.c: New file.
32805 * util/deviceiter.c: New file.
32806 * kern/sparc64/ieee1275/init.c: New file.
32807 * include/grub/util/ofpath.h: New file.
32808 * include/grub/util/deviceiter.h: New file.
32809 * util/grub-mkdevicemap.c: Include deviceiter.h.
32810 Implement using grub_util_emit_devicemap_entry and
32811 grub_util_iterate_devices.
32812 * conf/i386-corebook.rmk: Build util/deviceiter.c and
32813 util/devicemap.c into grub-mkdevicemap
32814 * conf/i386-efi.rmk: Likewise.
32815 * conf/i386-ieee1275.rmk: Likewise.
32816 * conf/i386-pc.rmk: Likewise.
32817 * conf/powerpc-ieee1275.rmk: Likewise.
32818 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
32819 images and installation utilities. Build kernel as image
32820 instead of as elf binary. Use common rules as much as possible.
32821
7dd4a573 328222009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 32823
32824 Correct GPT definition
32825
7dd4a573 32826 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 32827 of "attrib" member
32828
c6c5219f 328292009-04-19 Felix Zielcke <fzielcke@z-51.de>
32830
32831 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
32832
0552ff9f 328332009-04-19 David S. Miller <davem@davemloft.net>
32834
32835 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
32836 (grub_rescue_cmd_linux): Rename to...
32837 (grub_cmd_linux): and fix prototype.
32838 (grub_rescue_cmd_initrd): Rename to...
32839 (grub_cmd_initrd): and fix prototype.
32840 (cmd_linux, cmd_initrd): New.
32841 (GRUB_MOD_INIT(linux)): Use grub_register_command().
32842 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
32843
d1a282fc 328442009-04-17 Pavel Roskin <proski@gnu.org>
32845
07c5039f 32846 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
32847 format.
32848 (grub_ohci_transfer): Likewise.
32849
b012002d 32850 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
32851
1bc09c35 32852 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
32853 return without a value. Fix inconsistent indentation.
32854
e0ff9126 32855 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
32856 match struct grub_fs.
32857
d1a282fc 32858 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
32859 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
32860 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32861 * commands/lspci.c (grub_lspci_iter): Likewise.
32862
a96df3f2 328632009-04-16 Bean <bean123ch@gmail.com>
32864
32865 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
32866 value.
32867
41bb0fe9 328682009-04-15 Pavel Roskin <proski@gnu.org>
32869
32870 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
32871 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
32872 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
32873 definitions.
32874
596c6970 328752009-04-15 Felix Zielcke <fzielcke@z-51.de>
32876
32877 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 32878 that no multiple data or metadata areas are supported and `Unknown
596c6970 32879 metadata header'.
32880
7dd4a573 328812009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 32882
32883 Move loader out of the kernel
32884
32885 * kern/loader.c: moved to ...
32886 * commands/boot.c: ... moved here
32887 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
32888 * commands/boot.c (grub_cmd_boot): moved here. All users updated
32889 * include/grub/kernel.h (grub_machine_fini): export
32890 * include/grub/loader.h (grub_loader_is_loaded): update declaration
32891 (grub_loader_set): likewise
32892 (grub_loader_unset): likewise
32893 (grub_loader_boot): likewise
32894 * conf/common.rmk: new module boot.mod
32895 (pkglib_MODULES): add boot.mod
32896 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
32897 (grub_emu_SOURCES): likewise
32898 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
32899 (grub_emu_SOURCES): likewise
32900 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
32901 (grub_emu_SOURCES): likewise
32902 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
32903 (grub_emu_SOURCES): likewise
32904 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
32905 (grub_emu_SOURCES): likewise
7dd4a573 32906 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
32907 (grub_emu_SOURCES): likewise
0d5d5653 32908 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 32909 (grub_emu_SOURCES): likewise
0d5d5653 32910
7dd4a573 329112009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 32912
32913 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 32914
5999d619 32915 * kern/misc.c (grub_itoa): Removed function
32916 (grub_ltoa): likewise
32917 (grub_vsprintf): use grub_lltoa
32918
7dd4a573 329192009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 32920
32921 Restore grub-emu
32922
32923 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
32924 * conf/i386-coreboot.rmk: likewise
32925 * conf/i386-ieee1275.rmk: likewise
32926 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 32927
20318222 329282009-04-15 Felix Zielcke <fzielcke@z-51.de>
32929
32930 * INSTALL: Add that `./autogen.sh' needs to be run before
32931 `./configure.'.
32932
d05f0df3 329332009-04-14 Bean <bean123ch@gmail.com>
32934
32935 * Makefile.in (pkglib_DATA): Add handler.lst.
32936 (handler.lst): New rule.
32937
32938 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
32939 * conf/i386-coreboot.rmk: Likewise.
32940 * conf/i386-ieee1275.rmk: Likewise.
32941 * conf/i386-efi.rmk: Likewise.
32942 * conf/x86_64-efi.rmk: Likewise.
32943 * conf/powerpc-ieee1275.rmk: Likewise.
32944 * conf/sparc64-ieee1275.rmk: Likewise.
32945
32946 * genhandlerlist.sh: New file.
32947
32948 * genmk.rb: Add rules to generate handler.lst.
32949
32950 * include/grub/normal.h (grub_file_getline): New function definition.
32951 (read_handler_list): Likewise.
32952 (free_handler_list): Likewise.
32953
32954 * include/grub/term.h (grub_term_register_input): Add name parameter
32955 for auto generation of handler.lst.
32956 (grub_term_register_output): Likewise.
32957
32958 * normal/handler.c: New file.
32959
32960 * normal/main.c (get_line): Renamed to grub_file_getline.
32961 (read_config_file): Use the newly renamed grub_file_getline.
32962 (read_command_list): Likewise.
32963 (read_fs_list): Likewise.
32964 (grub_normal_execute): Call read_handler_list to parse handler.lst.
32965 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
32966
32967 * term/efi/console.c (grub_console_init): Add name parameter for auto
32968 generation of handler.lst.
32969 * term/gfxterm.c: Likewise.
32970 * term/i386/pc/at_keyboard.c: Likewise.
32971 * term/i386/pc/console.c: Likewise.
32972 * term/i386/pc/serial.c: Likewise.
32973 * term/i386/pc/vesafb.c: Likewise.
32974 * term/i386/pc/vga.c: Likewise.
32975 * term/i386/pc/vga_text.c: Likewise.
32976 * term/ieee1275/ofconsole.c: Likewise.
32977 * term/usb_keyboard.c: Likewise.
32978
33c846be 329792009-04-14 Bean <bean123ch@gmail.com>
32980
32981 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
32982 properly with null character.
32983
4484e01e 329842009-04-14 Felix Zielcke <fzielcke@z-51.de>
32985
32986 * configure: Remove.
32987 * config.h.in: Likewise.
f93d668e 32988 * stamp-h.in: Likewise.
4484e01e 32989 * DISTLIST: Likewise.
32990 * conf/common.mk: Likewise.
32991 * conf/i386-coreboot.mk: Likewise.
32992 * conf/i386-efi.mk: Likewise.
32993 * conf/i386-ieee1275.mk: Likewise.
32994 * conf/i386.mk: Likewise.
32995 * conf/i386-pc.mk: Likewise.
32996 * conf/powerpc-ieee1275.mk: Likewise.
32997 * conf/sparc64-ieee1275.mk: Likewise.
32998 * conf/x86_64-efi.mk: Likewise.
32999
33000 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
33001 develop on GRUB.
33002
7dd4a573 330032009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 33004 David S. Miller <davem@davemloft.net>
33005
33006 * util/hostdisk.c (make_device_name): Fix buffer length
33007 calculations.
33008
e25b5a8c 330092009-04-14 Felix Zielcke <fzielcke@z-51.de>
33010
33011 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
33012 <sys/param.h> and <sys/sysctl.h>.
33013 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
33014 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
33015 opening the device and reset them afterwards.
33016
1f1f580c 330172009-04-13 Pavel Roskin <proski@gnu.org>
33018
33019 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
33020 Reported by John Stanley <jpsinthemix@verizon.net>
33021
7ebc2d6b 330222009-04-13 Robert Millan <rmh@aybabtu.com>
33023
33024 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 33025 that name for menuentries when appropriate.
7ebc2d6b 33026
d8ba3667 330272009-04-13 Felix Zielcke <fzielcke@z-51.de>
33028
33029 * util/grub.d/10_freebsd.in: Add a missing `fi'.
33030
cba416eb 330312009-04-13 Robert Millan <rmh@aybabtu.com>
33032
33033 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
33034 to Linux, simply abort telling the user it's no longer supported.
33035
a547a745 330362009-04-13 Felix Zielcke <fzielcke@z-51.de>
33037
33038 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 33039 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 33040 `freebsd_loadenv' only when devices.hints exist.
33041
232a769c 330422009-04-13 Pavel Roskin <proski@gnu.org>
33043
33044 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
33045
c3012039 330462009-04-13 Felix Zielcke <fzielcke@z-51.de>
33047
33048 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
33049 partition number.
33050 (grub_drive): Likewise.
33051
234022fe 330522009-04-13 David S. Miller <davem@davemloft.net>
33053
33054 * kern/sparc64/ieee1275/ieee1275.c: New file.
33055 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
33056 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
33057 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
33058 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
33059 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
33060 grub_ieee1275_alloc_physmem): Declare new exported functions.
33061
d8e1836c 33062 * include/grub/sparc64/ieee1275/loader.h: New file.
33063 * include/grub/sparc64/ieee1275/memory.h: Likewise.
33064 * include/grub/sparc64/kernel.h: Likewise.
33065 * loader/sparc64/ieee1275/linux.c: Likewise.
33066
96bd81ec 33067 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
33068 (grub_fstest_SOURCES): Likewise.
33069
6a4737e5 33070 * util/hostdisk.c (make_device_name): Do not make any assumptions
33071 about the length of drive names.
33072
1d7a72fd 33073 * kern/dl.c (grub_dl_load_file): Close file immediately when
33074 we are done using it.
33075
56bc2471 330762009-04-12 David S. Miller <davem@davemloft.net>
33077
33078 * kern/misc.c (grub_ltoa): Fix cast when handling negative
33079 values. Noticed by Pavel Roskin.
33080
df38d0bb 33081 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
33082 target compiler.
7dd4a573 33083
e382e93a 33084 * genmk.rb: Add more flexible image type specification, also
33085 pass --strip-unneeded to objcopy.
33086 * conf/i386-pc.rmk: Use *_FORMAT.
33087 * conf/i386-pc.mk: Rebuilt.
33088
f5dbbca9 33089 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
33090 (OFDISK_HASH_SZ): Define.
33091 (ofdisk_hash): New hash table.
33092 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
33093 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
33094 instead of device phandle which is not unique.
33095
91c88b12 33096 * kern/sparc64/ieee1275/init.c: Delete, replace with...
33097 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
33098 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
33099 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
33100 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
33101 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
33102 GRUB_KERNEL_MACHINE_DATA_END): Define.
33103 (grub_kernel_image_size, grub_total_module_size): Declare.
33104
5b5d4aa5 331052009-04-12 Pavel Roskin <proski@gnu.org>
33106
7dd4a573 33107 * configure.ac: Change the logic when we check for target tools.
33108 Do it when the target is specified and it's different from the
33109 specified value of the host.
5b5d4aa5 33110
c91e1793 331112009-04-11 Felix Zielcke <fzielcke@z-51.de>
33112
33113 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
33114 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
33115 GNU/kFreeBSD. Check if a device is a character device. Use
33116 DIOCGMEDIASIZE to get the size.
33117 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
33118 support for GNU/kFreeBSD.
33119 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
33120 is a character device instead of a block device. Add support for
33121 FreeBSD device names.
33122
33123 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
33124 is a character device instead of a block device.
33125
33126 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
33127 is a character device instead of a block device.
33128
b1ac8644 331292009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
33130
33131 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
33132 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
33133 FreeBSD. Check if a device is a character device. Use
33134 DIOCGMEDIASIZE to get the size.
33135 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
33136 support for FreeBSD.
33137 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
33138 is a character device instead of a block device. Add support for
33139 FreeBSD device names.
33140
33141 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
33142 a character device instead of a block device.
33143 (grub_util_check_char_device): New function.
33144
33145 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
33146 a character device instead of a block device.
33147
33148 * include/grub/util/getroot.h (grub_util_check_char_device): New
33149 prototype.
33150
a3f7515a 331512009-04-11 David S. Miller <davem@davemloft.net>
33152
33153 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
33154 static libgcc.
33155 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
33156 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
33157 function, if present.
33158 (__bswapdi2): Likewise.
33159
0d44993d 33160 * include/grub/sparc64/ieee1275/boot.h: New file.
33161 * boot/sparc64/ieee1275/boot.S: Likewise.
33162 * boot/sparc64/ieee1275/diskboot.S: Likewise.
33163
ed3d2bc2 33164 * kern/misc.c (grub_ltoa): New function.
33165 (grub_vsprintf): Use it to format 'long' integers.
33166
d3bfb59c 331672009-04-10 David S. Miller <davem@davemloft.net>
33168
33169 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
33170 slots are of type grub_ieee1275_cell_t.
33171 (grub_nand_read): Likewise.
33172 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
33173 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
33174 macros are used to compare values in arg/ret block of the call.
33175 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
33176 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
33177 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
33178 grub_ieee1275_instance_to_path, grub_ieee1275_write,
33179 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
33180 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
33181 grub_ieee1275_close, grub_ieee1275_set_property,
33182 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
33183 grub_ieee1275_cell_t.
33184 * kern/ieee1275/openfw.c (grub_map): Likewise.
33185 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
33186 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
33187
450e2238 33188 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
33189 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
33190 (grub_devalias_iterate): Likewise.
33191
7dd4a573 331922009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 33193
33194 UFS improvements
33195
33196 * fs/ufs.c (INODE_NBLOCKS): new definition
33197 (struct grub_ufs_dirent): added fields for non-BSD dirents
33198 (grub_ufs_get_file_block): fixed double indirect handling
33199 (grub_ufs_lookup_symlink): use more robust way to determine whether
33200 symlink is inline
33201 (grub_ufs_find_file): support for non-BSD dirents
33202 (grub_ufs_dir): support for non-BSD dirents
33203
e7e6862a 332042009-04-10 Bean <bean123ch@gnail.com>
33205
33206 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
33207 attribute, otherwise the size would be wrong for i386 platform.
33208
33209 * include/grub/pci.h (grub_pci_read_word): New inline function.
33210 (grub_pci_read_byte): Likewise.
33211 (grub_pci_write): Likewise.
33212 (grub_pci_write_word): Likewise.
33213 (grub_pci_write_byte): Likewise.
33214
33215 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
33216
33217 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
33218 (find_framebuf): Scan pci to locate the frame buffer address.
33219
33220 * commands/efi/fixvideo.c: New file.
33221
33222 * commands/efi/loadbios.c: Likewise.
33223
33224 * commands/memrw.c: Likewise.
33225
33226 * util/grub-dumpbios.in: Likewise.
33227
33228 * conf/common.rmk (grub-dumpbios): New utility.
33229 (pkglib_MODULES): New module memrw.mod.
33230 (memrw_mod_SOURCE): New macro.
33231 (memrw_mod_CFLAGS): Likewise.
33232 (memrw_mod_LDFLAGS): Likewise.
33233
7dd4a573 33234 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 33235 fixvideo.mod.
33236 (loadbios_mod_SOURCE): New macro.
33237 (loadbios_mod_CFLAGS): Likewise.
33238 (loadbios_mod_LDFLAGS): Likewise.
33239 (fixvideo_mod_SOURCE): Likewise.
33240 (fixvideo_mod_CFLAGS): Likewise.
33241 (fixvideo_mod_LDFLAGS): Likewise.
33242
7dd4a573 33243 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 33244 fixvideo.mod.
33245 (loadbios_mod_SOURCE): New macro.
33246 (loadbios_mod_CFLAGS): Likewise.
33247 (loadbios_mod_LDFLAGS): Likewise.
33248 (fixvideo_mod_SOURCE): Likewise.
33249 (fixvideo_mod_CFLAGS): Likewise.
33250 (fixvideo_mod_LDFLAGS): Likewise.
33251
af63ada2 332522009-04-08 Felix Zielcke <fzielcke@z-51.de>
33253
33254 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
33255
c2cdde70 332562009-04-07 David S. Miller <davem@davemloft.net>
33257
33258 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
33259 support for R_SPARC_OLO10 relocations. Fix compile warning for
33260 R_SPARC_WDISP30 case.
ea3f72cf 33261 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 33262
761319cf 332632009-04-06 Pavel Roskin <proski@gnu.org>
33264
1007d1f5 33265 * include/grub/misc.h (ARRAY_SIZE): New macro.
33266 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
33267 New macro.
33268 * loader/i386/linux.c (allocate_pages): Use free_pages().
33269 (grub_linux_unload): Don't use free_pages().
33270 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
33271 wrong index. Treat all other modes as text modes.
33272 (grub_cmd_linux): Initialize vid_mode unconditionally to
33273 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
33274
761319cf 33275 * commands/help.c (print_command_help): Use cmd->prio, not
33276 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
33277
ea761d40 332782009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 33279
ea761d40 33280 Parttool
33281
33282 * parttool/pcpart.c: new file
33283 * commands/parttool.c: likewise
33284 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
33285 (parttool_mod_SOURCES): new variable
33286 (parttool_mod_CFLAGS): likewise
33287 (parttool_mod_LDFLAGS): likewise
33288 (pcpart_mod_SOURCES): likewise
33289 (pcpart_mod_CFLAGS): likewise
33290 (pcpart_mod_LDFLAGS): likewise
7dd4a573 33291 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 33292 and parttool/pcpart.c
33293 * conf/i386-efi.rmk: likewise
33294 * conf/i386-ieee1275.rmk: likewise
33295 * conf/i386-pc.rmk: likewise
33296 * conf/powerpc-ieee1275.rmk: likewise
33297 * conf/sparc64-ieee1275.rmk: likewise
33298 * conf/x86_64-ieee1275.rmk: likewise
33299
05aaebfb 333002009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
33301
33302 Support for mtime and further expandability of dir command
33303
33304 * include/grub/lib/datetime.h: moved to ...
7dd4a573 33305 * include/grub/datetime.h: ... moved here and added
05aaebfb 33306 declaration of grub_unixtime2datetime. All users updated
7dd4a573 33307 * include/grub/fs.h: new syntax for dir and mtime functions in
33308 struct grub_fs
05aaebfb 33309 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
33310 and GRUB_FSHELP_FLAGS_MASK
33311 * commands/ls.c (grub_ls_list_files): Write mtime in long format
33312 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
33313 (grub_ext2_mtime): new function
33314 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
33315 (grub_hfsplus_mtime): new function
33316 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
33317 (GRUB_UFS_ATTR_FILE): likewise
33318 (GRUB_UFS_ATTR_LNK): likewise
33319 (struct grub_ufs_sblock): new fields mtime
33320 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
33321 all users updated
33322 (grub_ufs_dir): mtime support
33323 (grub_ufs_mtime): new function
33324 * fs/affs.c (grub_affs_dir): use new dir syntax
33325 * fs/afs.c (grub_afs_dir): likewise
33326 * fs/cpio.c (grub_cpio_dir): likewise
33327 * fs/fat.c (grub_fat_find_dir): likewise
33328 * fs/hfs.c (grub_hfs_dir): likewise
33329 * fs/iso9660.c (grub_iso9660_dir): likewise
33330 * fs/jfs.c (grub_jfs_dir): likewise
33331 * fs/minix.c (grub_minix_dir): likewise
33332 * fs/ntfs.c (grub_ntfs_dir): likewise
33333 * fs/reiserfs.c (grub_reiserfs_dir): likewise
33334 * fs/sfs.c (grub_sfs_dir): likewise
33335 * fs/xfs.c (grub_xfs_dir): likewise
33336 * util/hostfs.c (grub_hostfs_dir): likewise
33337 * lib/datetime.c: moved to ...
33338 * normal/datetime.c: ... moved here
33339 (grub_unixtime2datetime): new function
33340 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 33341 * normal/completion.c (iterate_dir): use new dir syntax
33342 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 33343 last modification time of a volume
7dd4a573 33344 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 33345 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 33346 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 33347 (normal_mod_SOURCES): likewise
33348 (datetime_mod_SOURCES): Removed lib/datetime.c
33349 * conf/i386-efi.rmk: likewise
7dd4a573 33350 * conf/i386-ieee1275.rmk: likewise
05aaebfb 33351 * conf/i386-pc.rmk: likewise
33352 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 33353 * conf/sparc64-ieee1275.rmk: likewise
33354 * conf/x86_64-efi.rmk: likewise
05aaebfb 33355
8a7e1a14 333562009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
33357
33358 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 33359
33360 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 33361 on grub_fat_find_dir
33362 (grub_fat_find_dir): use grub_fat_iterate_dir
33363 (grub_fat_label): likewise
33364
04186a9c 333652009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
33366
7dd4a573 33367 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 33368 and command.h
33369 remove extraneous kernel_elf_HEADERS
33370
da4c0bb6 333712009-04-04 Bean <bean123ch@gnail.com>
33372
33373 * include/grub/util/misc.h: Add dummy function fsync for mingw.
33374
33375 * util/misc.c: Likewise.
33376
54ad9555 333772009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33378
33379 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
33380 instead of grub_printf.
33381
7a6bf9f2 333822009-04-03 Robert Millan <rmh@aybabtu.com>
33383
33384 * loader/i386/linux.c (grub_linux_setup_video): Fill
33385 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
33386 values from `mode info' structure instead of hardcoded
33387 values.
33388
3fcc2083 333892009-04-01 Pavel Roskin <proski@gnu.org>
33390
33391 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
33392 unused now.
33393 * genmk.rb: Likewise.
33394 * configure.ac: Likewise.
33395
5ec9740b 333962009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
33397
33398 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
33399 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
33400
5270cec8 334012009-04-01 David S. Miller <davem@davemloft.net>
33402
33403 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 33404 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 33405 (grub_setjmp): Mark with 'returns_twice' attribute.
33406 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
33407 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
33408 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
33409
9c3dd854 334102009-04-01 Robert Millan <rmh@aybabtu.com>
33411
33412 Reapply fix from 2008-07-28 which was accidentally reverted; also
33413 perform the same fix to a similar check in same function.
33414
33415 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
33416 with the same number are found, just use issue a warning with
33417 grub_dprintf(), as this error has been reported to be non-fatal.
33418
0d818b7e 334192009-03-31 Pavel Roskin <proski@gnu.org>
33420
33421 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
33422 for cross-compilation.
33423
95646d92 334242009-03-30 Robert Millan <rmh@aybabtu.com>
33425
33426 Fix i386-ieee1275 build.
33427
33428 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
33429 Remove declaration.
33430
6a003ed1 334312009-03-30 Pavel Roskin <proski@gnu.org>
33432
33433 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
33434 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
33435 zero-terminated, rely only on the strlen value. Fix comparison
33436 of strings differing in length.
33437
92f33540 334382009-03-30 Robert Millan <rmh@aybabtu.com>
33439
33440 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
33441 checking for abi version. Improve error messages on BIOS to notify
33442 user about `linux16' command.
33443
a8c48fd5 334442009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
33445
f968172e 33446 Leak fixes
a8c48fd5 33447
f968172e 33448 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
33449 in case of collision
33450 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 33451
9c323f09 334522009-03-29 Robert Millan <rmh@aybabtu.com>
33453
33454 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
33455 set `vid_mode' accordingly.
33456 (grub_linux_boot): Process `vid_mode' and set video mode.
33457
ae68f423 334582009-03-29 Robert Millan <rmh@aybabtu.com>
33459
33460 * util/grub.d/10_linux.in (linux_entry): New function.
33461 Factorize generation of Linux boot entries.
33462
5709cfc4 334632009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
33464
33465 Make the format of Environment Block plain text. The boot loader
33466 part is not tested well yet.
7dd4a573 33467
5709cfc4 33468 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
33469 (buffer): Removed.
33470 (envblk): Likewise.
33471 (usage): Remove "info" and "clear". Add "unset". Update the
33472 description of "set", as this does not delete variables any
33473 longer.
33474 (create_envblk_file): Complete rewrite.
33475 (open_envblk_file): Likewise.
33476 (cmd_info): Removed.
33477 (cmd_list): Likewise.
33478 (cmd_set): Likewise.
33479 (cmd_clear): Likewise.
33480 (list_variables): New function.
33481 (write_envblk): Likewise.
33482 (set_variables): Likewise.
33483 (unset_variables): Likewise.
33484 (main): Complete rewrite.
33485
33486 * commands/loadenv.c (buffer): Removed.
33487 (envblk): Likewise.
33488 (open_envblk_file): New function.
33489 (read_envblk_file): Complete rewrite.
33490 (grub_cmd_load_env): Likewise.
33491 (grub_cmd_list_env): Likewise.
33492 (struct blocklist): New struct.
33493 (free_blocklists): New function.
33494 (check_blocklists): Likewise.
33495 (write_blocklists): Likewise.
33496 (grub_cmd_save_env): Complete rewrite.
33497
33498 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
33499 a plain text signature.
33500 (GRUB_ENVBLK_MAXLEN): Removed.
33501 (struct grub_envblk): Complete rewrite.
33502 (grub_envblk_find): Removed.
33503 (grub_envblk_insert): Likewise.
33504 (grub_envblk_open): New prototype.
33505 (grub_envblk_set): Likewise.
33506 (grub_envblk_delete): Put const to VALUE.
33507 (grub_envblk_iterate): Put const to NAME and VALUE.
33508 (grub_envblk_close): New prototype.
33509 (grub_envblk_buffer): New inline function.
33510 (grub_envblk_size): Likewise.
33511
33512 * lib/envblk.c: Include grub/mm.h.
33513 (grub_env_find): Removed.
33514 (grub_envblk_open): New function.
33515 (grub_envblk_close): Likewise.
33516 (escaped_value_len): Likewise.
33517 (find_next_line): Likewise.
33518 (grub_envblk_insert): Removed.
33519 (grub_envblk_set): New function.
33520 (grub_envblk_delete): Complete rewrite.
33521 (grub_envblk_iterate): Likewise.
33522
a9368fd3 335232009-03-28 Robert Millan <rmh@aybabtu.com>
33524
33525 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
33526 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
33527 variables. Use 16-bit loader.
33528 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
33529 loader.
33530 * kern/i386/loader.S (grub_linux_boot): Rename to ...
33531 (grub_linux16_boot): ... this. Update all users.
33532 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
33533 (grub_linux_boot): ... this. Update all users.
33534
33535 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
33536 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
33537 commands to `linux16' and `initrd16'.
33538 (GRUB_MOD_FINI(linux)): Rename to ...
33539 (GRUB_MOD_FINI(linux16)): ... this.
33540
e4dd5a7e 335412009-03-24 Pavel Roskin <proski@gnu.org>
33542
33543 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
33544 not just for compilation.
33545
c04d6e05 335462009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
33547
33548 Move multiboot helper out of kernel
33549
33550 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
33551 `loader/i386/multiboot_helper.S'.
33552 * conf/i386-coreboot.rmk: Likewise
33553 * conf/i386-ieee1275.rmk: Likewise
33554
33555 * kern/i386/loader.S: Move multiboot helpers from here...
33556 * loader/i386/multiboot_helper.S: ...moved here
33557 * include/grub/i386/loader.h: Move declarations of multiboot
33558 helpers from here...
33559 * include/grub/i386/multiboot.h: ...moved here
33560 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
33561
42a5b3fc 335622009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33563
33564 * kern/env.c (grub_env_context_open): Added an argument to specify
33565 whether a new context inherits exported variables from current
33566 one. This is useful when making a sandbox to interpret a config
33567 file.
33568 All callers updated.
33569
33570 * include/grub/env.h (grub_env_context_open): Updated the prototype.
33571
b28bbc4e 335722009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33573
33574 * kern/env.c (grub_env_context_close): Fix memory leaks.
33575
f04f02e4 335762009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33577
33578 * normal/main.c (grub_normal_execute): Added an argument
33579 BATCH to specify if an interactive interface should be provided
33580 after reading a config file.
33581 All callers updated.
33582 (read_command_list): Prevent being executed twice.
33583 (read_fs_list): Likewise.
33584
42a5b3fc 33585 * include/grub/normal.h (grub_normal_execute): Updated the
33586 prototype.
f04f02e4 33587
41473ac2 335882009-03-22 Pavel Roskin <proski@gno.org>
33589
fbc00b0c 33590 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
33591 _start.
33592 * kern/i386/pc/startup.S: Likewise.
33593 * kern/i386/efi/startup.S: Likewise.
33594 * kern/i386/ieee1275/startup.S: Likewise.
33595 * kern/i386/coreboot/startup.S: Likewise.
33596 * kern/x86_64/efi/startup.S: Likewise.
33597
41473ac2 33598 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
33599 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
33600 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
33601
2274cc8f 336022009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
33603
33604 Bugfixes in multiboot for bugs uncovered by solaris kernel.
33605
33606 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
33607 limit detection.
33608 Use vaddr of correct segment for entry_point.
33609
b1b797cb 336102009-03-21 Bean <bean123ch@gmail.com>
33611
33612 * commands/blocklist.c: Add include file <grub/command.h>, remove
33613 <grub/normal.h> and <grub/arg.h>.
33614 (grub_cmd_blocklist): Use the new command interface.
33615 (GRUB_MOD_INIT): Likewise.
33616 (GRUB_MOD_FINI): Likewise.
33617 * commands/boot.c: Likewise.
33618 * commands/cat.c: Likewise.
33619 * commands/cmp.c: Likewise.
33620 * commands/configfile.c: Likewise.
33621 * commands/crc.c: Likewise.
33622 * commands/echo.c: Likewise.
33623 * commands/halt.c: Likewise.
33624 * commands/handler.c: Likewise.
33625 * commands/hdparm.c: Likewise.
33626 * commands/help.c: Likewise.
33627 * commands/hexdump.c: Likewise.
33628 * commands/loadenv.c: Likewise.
33629 * commands/ls.c: Likewise.
33630 * commands/lsmmap.c: Likewise.
33631 * commands/lspci.c: Likewise.
33632 * commands/loadenv.c: Likewise.
33633 * commands/read.c: Likewise.
33634 * commands/reboot.c: Likewise.
33635 * commands/search.c: Likewise.
33636 * commands/sleep.c: Likewise.
33637 * commands/test.c: Likewise.
33638 * commands/usbtest.c: Likewise.
33639 * commands/videotest.c: Likewise.
33640 * commands/i386/cpuid.c: Likewise.
33641 * commands/i386/pc/halt.c: Likewise.
33642 * commands/i386/pc/play.c: Likewise.
33643 * commands/i386/pc/pxecmd.c: Likewise.
33644 * commands/i386/pc/vbeinfo.c: Likewise.
33645 * commands/i386/pc/vbetest.c: Likewise.
33646 * commands/ieee1275/suspend.c: Likewise.
33647 * disk/loopback.c: Likewise.
33648 * font/font_cmd.c: Likewise.
33649 * hello/hello.c: Likewise.
33650 * loader/efi/appleloader.c: Likewise.
33651 * loader/efi/chainloader.c: Likewise.
33652 * loader/i386/bsd.c: Likewise.
33653 * loader/i386/efi/linux.c: Likewise.
33654 * loader/i386/ieee1275/linux.c: Likewise.
33655 * loader/i386/linux.c: Likewise.
33656 * loader/i386/pc/chainloader.c: Likewise.
33657 * loader/i386/pc/linux.c: Likewise.
33658 * loader/powerpc/ieee1275/linux.c: Likewise.
33659 * loader/multiboot_loader.c: Likewise.
33660 * term/gfxterm.c: Likewise.
33661 * term/i386/pc/serial.c: Likewise.
33662 * term/terminfo.c: Likewise.
33663
33664 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
33665 * term/i386/pc/vga.c: Likewise.
33666 * video/readers/jpeg.c: Likewise.
33667 * video/readers/png.c: Likewise.
33668 * video/readers/tga.c: Likewise.
33669
33670 * util/grub-fstest (cmd_loopback): Removed.
33671 (cmd_blocklist): Likewise.
33672 (cmd_ls): Likewise.
33673 (grub_register_command): Likewise.
33674 (grub_unregister_command): Likewise.
33675 (execute_command): Use grub_command_find to locate command and execute
33676 it.
33677
33678 * include/grub/efi/chainloader.h: Removed.
33679 * loader/efi/chainloader_normal.c: Likewise.
33680 * loader/i386/bsd_normal.c: Likewise.
33681 * loader/i386/pc/chainloader_normal.c: Likewise.
33682 * loader/i386/pc/multiboot_normal.c: Likewise.
33683 * loader/linux_normal.c: Likewise.
33684 * loader/multiboot_loader_normal.c: Likewise.
33685 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33686
33687 * gencmdlist.sh: Scan new registration command grub_register_extcmd
33688 and grub_register_command_p1.
33689
33690 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
33691 kern/command.c, lib/arg.c and commands/extcmd.c.
33692 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
33693 (minicmd_mod_SOURCES): New variable.
33694 (minicmd_mod_CFLAGS): Likewise.
33695 (minicmd_mod_LDFLAGS): Likewise.
33696 (extcmd_mod_SOURCES): Likewise.
33697 (extcmd_mod_CFLAGS): Likewise.
33698 (extcmd_mod_LDFLAGS): Likewise.
33699 (boot_mod_SOURCES): Removed.
33700 (boot_mod_CFLAGS): Likewise.
33701 (boot_mod_LDFLAGS): Likewise.
33702
33703 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
33704 kern/corecmd.c.
33705 (kernel_img_HEADERS): Add command.h.
33706 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
33707 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
33708 and lib/arg.c.
33709 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
33710 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
33711 remove the corresponding normal mode command.
33712 (normal_mod_SOURCES): Remove normal/arg.c.
33713 * conf/i386-coreboot.rmk: Likewise.
33714 * conf/i386-efi.rmk: Likewise.
33715 * conf/i386-ieee1275.rmk: Likewise.
33716 * conf/powerpc-ieee1275.rmk: Likewise.
33717 * conf/x86_64-efi.rmk: Likewise.
33718
33719 * include/grub/arg.h: Move from here ...
33720 * include/grub/lib/arg.h: ... to here.
33721
33722 * normal/arg.c: Move from here ...
33723 * lib/arg.c: ... to here.
33724
33725 * commands/extcmd.c: New file.
33726 * commands/minicmd.c: Likewise.
33727 * include/grub/command.h: Likewise.
33728 * include/grub/extcmd.h: Likewise.
33729 * kern/command.c: Likewise.
33730 * kern/corecmd.c: Likewise.
33731
33732 * kern/list.c (grub_list_iterate): Return int instead of void.
33733 (grub_list_insert): New function.
33734 (grub_prio_list_insert): Likewise.
33735
33736 * kern/rescue.c (grub_rescue_command): Removed.
33737 (grub_rescue_command_list): Likewise.
33738 (grub_rescue_register_command): Likewise.
33739 (grub_rescue_unregister_command): Likewise.
33740 (grub_rescue_cmd_boot): Move to minicmd.c
33741 (grub_rescue_cmd_help): Likewise.
33742 (grub_rescue_cmd_info): Likewise.
33743 (grub_rescue_cmd_boot): Likewise.
33744 (grub_rescue_cmd_testload): Likewise.
33745 (grub_rescue_cmd_dump): Likewise.
33746 (grub_rescue_cmd_rmmod): Likewise.
33747 (grub_rescue_cmd_lsmod): Likewise.
33748 (grub_rescue_cmd_exit): Likewise.
33749 (grub_rescue_print_devices): Moved to corecmd.c.
33750 (grub_rescue_print_files): Likewise.
33751 (grub_rescue_cmd_ls): Likewise.
33752 (grub_rescue_cmd_insmod): Likewise.
33753 (grub_rescue_cmd_set): Likewise.
33754 (grub_rescue_cmd_unset): Likewise.
7d074e3c 33755 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 33756 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 33757 commands, remove grub_rescue_register_command calls.
b1b797cb 33758
7d074e3c 33759 * normal/command.c (grub_register_command): Removed.
b1b797cb 33760 (grub_unregister_command): Likewise.
33761 (grub_command_find): Likewise.
33762 (grub_iterate_commands): Likewise.
33763 (rescue_command): Likewise.
33764 (export_command): Moved to corecmd.c.
33765 (set_command): Removed.
33766 (unset_command): Likewise.
33767 (insmod_command): Likewise.
33768 (rmmod_command): Likewise.
33769 (lsmod_command): Likewise.
33770 (grub_command_init): Likewise.
33771
33772 * normal/completion.c (iterate_command): Use cmd->prio to check for
33773 active command.
33774 (complete_arguments): Use grub_extcmd_t structure to find options.
33775 (grub_normal_do_completion): Change function grub_iterate_commands to
33776 grub_command_iterate.
33777
33778 * normal/execute.c (grub_script_execute_cmd): No need to parse
33779 argument here.
33780
33781 * normal/main.c (grub_dyncmd_dispatcher): New function.
33782 (read_command_list): Register unload commands as dyncmd.
33783 (grub_cmd_normal): Use new command interface, register rescue,
33784 unregister normal at entry, register normal, unregister rescue at exit.
33785
33786 * include/grub/list.h (grub_list_test_t): New type.
33787 (grub_list_iterate): Return int instead of void.
33788 (grub_list_insert): New function.
33789 (GRUB_AS_NAMED_LIST_P): New macro.
33790 (GRUB_AS_PRIO_LIST): Likewise.
33791 (GRUB_AS_PRIO_LIST_P): Likewise.
33792 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
33793 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
33794 (grub_prio_list): New structure.
33795 (grub_prio_list_insert): New function.
33796 (grub_prio_list_remove): New inline function.
33797
33798 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
33799 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
33800 (GRUB_COMMAND_FLAG_MENU): Likewise.
33801 (GRUB_COMMAND_FLAG_BOTH): Likewise.
33802 (GRUB_COMMAND_FLAG_TITLE): Likewise.
33803 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
33804 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
33805 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
33806 (grub_command): Likewise.
33807 (grub_register_command): Likewise.
33808 (grub_command_find): Likewise.
33809 (grub_iterate_commands): Likewise.
33810 (grub_command_init): Likewise.
33811 (grub_arg_parse): Likewise.
33812 (grub_arg_show_help): Likewise.
33813
33814 * include/grub/rescue.h (grub_rescue_register_command): Removed.
33815 (grub_rescue_unregister_command): Likewise.
33816
33817 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
33818 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
33819 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
33820
33821 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
33822 grub_rescue_cmd_initrd.
33823 * include/grub/i386/loader.h: Likewise.
33824 * include/grub/x86_64/loader.h: Likewise.
33825
33826 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
33827
1f4147aa 338282009-03-21 Bean <bean123ch@gmail.com>
33829
33830 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
33831 instead of stat in mingw environment.
33832
33833 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
33834
33835 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
33836
33837 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
33838 AC_CONFIG_LINKS.
33839
2156d5ba 338402009-03-21 Bean <bean123ch@gmail.com>
33841
33842 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
33843 out of range error.
33844
177b82ca 338452009-03-18 Michel Dänzer <michel@daenzer.net>
33846
33847 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
33848 checking inode flags for EXT4_EXTENTS_FLAG.
33849
14aad807 338502009-03-18 Robert Millan <rmh@aybabtu.com>
33851
33852 * loader/i386/linux.c: Include `<grub/video.h>' and
33853 `<grub/i386/pc/vbe.h>'..
33854 (grub_linux_setup_video): New function. Loosely based on the EFI one.
33855 (grub_linux32_boot): Attempt to configure video settings with
33856 grub_linux_setup_video().
33857 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
33858 to avoid grub_console_fini() which would step out of graphical mode
33859 unconditionally.
33860
8cf83a27 338612009-03-14 Robert Millan <rmh@aybabtu.com>
33862
33863 Fix build on powerpc.
33864 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
33865
40164e75 338662009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
33867
33868 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
33869 background image command.
33870
c58bc32a 338712009-03-12 Colin D Bennett <colin@gibibit.com>
33872
33873 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
33874 (grub_gfxterm_putchar): Extract pairs of identical calls to
33875 draw_cursor out of conditional blocks.
33876
5415144a 338772009-03-11 Pavel Roskin <proski@gnu.org>
33878
33879 * fs/hfs.c (grub_hfs_strncasecmp): New function.
33880 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
33881
6394042e 338822009-03-11 Robert Millan <rmh@aybabtu.com>
33883
33884 * loader/i386/multiboot_elfxx.c
33885 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
33886
b7b50e5f 338872009-03-11 Felix Zielcke <fzielcke@z-51.de>
33888
33889 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
33890 `kern/handler.c'.
33891
1ca7fc96 338922009-03-11 Robert Millan <rmh@aybabtu.com>
33893
33894 * loader/i386/multiboot.c (code_size): New variable.
33895 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 33896 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 33897 4-byte alignment to MBI and others by increasing
7d074e3c 33898 `boot_loader_name_length' appropriately.
1ca7fc96 33899
33900 * loader/i386/multiboot_elfxx.c
33901 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
33902
a83ea1d2 339032009-03-09 Felix Zielcke <fzielcke@z-51.de>
33904
33905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
33906 `fs/ext2.c'.
33907
aa9f3bff 339082009-03-08 Robert Millan <rmh@aybabtu.com>
33909
33910 Make loader/i386/linux.c usable on i386-pc again.
33911
33912 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
33913 memory to heap.
33914 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
33915 `#error' stanza.
33916
d8b3b60e 339172009-03-07 Bean <bean123ch@gmail.com>
33918
33919 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
33920 allocation.
33921
b362c9e9 339222009-03-06 Robert Millan <rmh@aybabtu.com>
33923
33924 Fix display issue on terminals with screen size other than 80x25
33925 (e.g. gfxterm with resolution higher than 640x480).
33926
33927 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 33928 position relative to the center of the terminal instead of relying
b362c9e9 33929 on a hardcoded offset.
33930
9304eef1 339312009-03-04 Robert Millan <rmh@aybabtu.com>
33932
33933 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
33934 installed.
33935
33936 * Makefile.in (host_kernel): New variable.
33937 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
33938 scripts instead of just the windows one.
33939 * configure.ac: Initialize and AC_SUBST `host_kernel'.
33940
eabc95fb 339412009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 33942
33943 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
33944 `kern/handler.c'.
33945 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33946 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33947 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33948 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33949 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33950 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33951
ceb1223c 339522009-03-04 Felix Zielcke <fzielcke@z-51.de>
33953
33954 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
33955 or if there's no space for the disk label and print the partition number on a
33956 invalid magic.
33957
4910684a 339582009-03-04 Felix Zielcke <fzielcke@z-51.de>
33959
33960 * util/misc.c: Include <time.h>.
33961 (grub_millisleep): New function.
33962
7e9ca17a 339632009-03-04 Bean <bean123ch@gmail.com>
33964
33965 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
33966 another option -mno-red-zone.
33967
33968 * commands/handler.c: Change module description.
33969
33970 * kern/handler.c: Add missing space at the end of description line.
33971
33972 * kern/list.c: Likewise.
33973
f501677c 339742009-03-03 Robert Millan <rmh@aybabtu.com>
33975
33976 Move more components to the relocation area, and fix mbi pointer
33977 handling to use the destination rather than the origin (thanks to
33978 Vladimir Serbinenko for spotting).
33979
33980 * loader/i386/multiboot.c (mbi_dest): New variable.
33981 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
33982 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
33983 relocation area.
33984
9902d047 339852009-03-01 Bean <bean123ch@gmail.com>
33986
50fb7002 33987 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 33988 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
33989 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
33990 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
33991
33992 * loader/i386/efi/linux.c (acpi_guid): New variable.
33993 (acpi_guid): Likewise.
33994 (EBDA_SEG_ADDR): New constant.
33995 (LOW_MEM_ADDR): Likewise.
33996 (FAKE_EBDA_SEG): Likewise.
33997 (fake_bios_data): New function.
33998 (grub_linux_boot): Call fake_bios_data.
33999
71b9f361 340002009-03-01 Bean <bean123ch@gmail.com>
34001
34002 * commands/terminal.c: Removed.
34003
34004 * commands/handler.c: New file.
34005
34006 * include/grub/list.h: Likewise.
34007
34008 * include/grub/handler.h: Likewise.
34009
34010 * kern/list.c: Likewise.
34011
34012 * kern/handler.c: Likewise.
34013
34014 * kern/term.h: Include header file <grub/handler.h>.
34015 (grub_term_input): Move next field to the beginning.
34016 (grub_term_output): Likewise.
34017 (grub_term_input_class): New variable.
34018 (grub_term_output_class): Likewise.
34019 (grub_term_register_input): Changed to inline function.
34020 (grub_term_register_output): Likewise.
34021 (grub_term_unregister_input): Likewise.
34022 (grub_term_unregister_output): Likewise.
34023 (grub_term_set_current_input): Likewise.
34024 (grub_term_set_current_output): Likewise.
34025 (grub_term_get_current_input): Likewise.
34026 (grub_term_get_current_output): Likewise.
34027 (grub_term_iterate_input): Removed.
34028 (grub_term_iterate_output): Likewise.
34029
34030 * kern/term.c (grub_term_list_input): Removed.
34031 (grub_term_list_output): Likewise.
34032 (grub_term_input_class): New variable.
34033 (grub_term_output_class): Likewise.
50fb7002 34034 (grub_cur_term_input): Change variable as macro.
71b9f361 34035 (grub_cur_term_output): Likewise.
34036 (grub_term_register_input): Removed.
34037 (grub_term_register_output): Likewise.
34038 (grub_term_unregister_input): Likewise.
34039 (grub_term_unregister_output): Likewise.
34040 (grub_term_set_current_input): Likewise.
34041 (grub_term_set_current_output): Likewise.
34042 (grub_term_iterate_input): Likewise.
34043 (grub_term_iterate_output): Likewise.
34044 (grub_term_get_current_input): Likewise.
34045 (grub_term_get_current_output): Likewise.
34046
34047 * util/grub-editenv.c: Include header file <grub/handler.h>.
34048 (grub_term_get_current_input): Removed.
34049 (grub_term_get_current_output): Likewise.
34050 (grub_term_input_class): New variable.
50fb7002 34051 (grub_term_output_class): Likewise.
71b9f361 34052
34053 * util/grub-fstest.c (grub_term_get_current_input): Removed.
34054 (grub_term_get_current_output): Likewise.
34055 (grub_term_input_class): New variable.
50fb7002 34056 (grub_term_output_class): Likewise.
71b9f361 34057
34058 * util/grub-probe.c (grub_term_get_current_input): Removed.
34059 (grub_term_get_current_output): Likewise.
34060 (grub_term_input_class): New variable.
50fb7002 34061 (grub_term_output_class): Likewise.
71b9f361 34062
34063 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
34064 (grub_term_get_current_output): Likewise.
34065 (grub_term_input_class): New variable.
50fb7002 34066 (grub_term_output_class): Likewise.
71b9f361 34067
34068 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
34069 (terminal_mod_SOURCES): Likewise.
34070 (terminal_mod_CFLAGS): Likewise.
34071 (terminal_mod_LDFLAGS): Likewise.
34072
34073 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
34074 handler.c.
34075 (kernel_img_SOURCES): Add list.c and handler.c.
34076 (kernel_img_HEADERS): Add list.h and handler.h.
34077
34078 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
34079 handler.c.
34080 (kernel_mod_SOURCES): Add list.c and handler.c.
34081 (kernel_mod_HEADERS): Add list.h and handler.h.
34082
34083 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
34084 handler.c.
34085 (kernel_elf_SOURCES): Add list.c and handler.c.
34086 (kernel_elf_HEADERS): Add list.h and handler.h.
34087
34088 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34089 handler.c.
34090 (kernel_elf_SOURCES): Add list.c and handler.c.
34091 (kernel_elf_HEADERS): Add list.h and handler.h.
34092
34093 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
34094 handler.c.
34095 (kernel_mod_SOURCES): Add list.c and handler.c.
34096 (kernel_mod_HEADERS): Add list.h and handler.h.
34097
34098 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34099 handler.c.
34100 (kernel_elf_SOURCES): Add list.c and handler.c.
34101 (kernel_elf_HEADERS): Add list.h and handler.h.
34102
8a31787f 341032009-02-27 Robert Millan <rmh@aybabtu.com>
34104
34105 Factorize elf32 / elf64 code in Multiboot loader. This will
34106 prevent it from getting out of sync again.
34107
34108 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
34109 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
34110 grub_multiboot_load_elf64): Move from here ...
34111 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
34112 grub_multiboot_load_elf): ... to here (new file).
34113
51cd3dfc 341142009-02-27 Robert Millan <rmh@aybabtu.com>
34115
34116 * util/grub.d/10_linux.in: Rename "single-user mode" to
34117 "recovery mode".
34118
6e8c9c3a 341192009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
34120
34121 Don't leak in SCSI code.
34122 * disk/scsi.c (grub_scsi_close): free `scsi'.
34123
4b6bf4f9 341242009-02-27 Robert Millan <rmh@aybabtu.com>
34125
34126 * loader/i386/pc/multiboot.c: Move from here ...
34127 * loader/i386/multiboot.c: ... to here. Update all users.
34128
b9413424 341292009-02-27 Robert Millan <rmh@aybabtu.com>
34130
34131 Patch from Alexandre Bique <bique.alexandre@gmail.com>
34132 * util/i386/pc/grub-setup.c (setup): Fix directory path.
34133
50fb7002 341342009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 34135
34136 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
34137 b-tree.
34138
8cc50345 341392009-02-27 Robert Millan <rmh@aybabtu.com>
34140
34141 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
34142 `0x' qualifier as 0 when base is specified as parameter).
34143
6e09b8b7 341442009-02-24 Bean <bean123ch@gmail.com>
34145
34146 * configure.ac: Check for -mcmodel=large in x86_64 target.
34147
34148 * include/grub/efi/api.h (efi_call_10): New macro.
34149 (efi_wrap_10): New function.
34150
34151 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
34152 (GRUB_PE32_REL_BASED_HIGH): Likewise.
34153 (GRUB_PE32_REL_BASED_LOW): Likewise.
34154 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
34155 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
34156 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
34157 (GRUB_PE32_REL_BASED_SECTION): Likewise.
34158 (GRUB_PE32_REL_BASED_REL): Likewise.
34159 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
34160 (GRUB_PE32_REL_BASED_DIR64): Likewise.
34161 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
34162
34163 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
34164 issue.
34165
34166 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
34167 (efi_wrap_10): New function.
34168
34169 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
34170
34171 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
34172 MB/MBP model (NV chipset).
34173 (devdata_devs): Add devpath_5 to the list.
34174
34175 * load/i386/efi/linux.c (video_base): Remove variable.
34176 (RGB_MASK): New macro.
34177 (RGB_MAGIC): Likewise.
34178 (LINE_MIN): Likewise.
34179 (LINE_MAX): Likewise.
34180 (FBTEST_STEP): Likewise.
34181 (FBTEST_COUNT): Likewise.
34182 (fb_list): New variable.
34183 (grub_find_video_card): Remove function.
34184 (find_framebuf): New function.
34185 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
34186 line length.
34187
34188 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
34189 problem for x86_64.
34190
74b21bee 341912009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
34192
34193 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
34194
34195 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
34196 coding tool name.
34197
a455f472 341982009-02-22 Robert Millan <rmh@aybabtu.com>
34199
34200 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
34201 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
34202 in our relocation, instead of using it directly from heap. Also
34203 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
34204
6374daf3 342052009-02-21 Robert Millan <rmh@aybabtu.com>
34206
34207 Implement USB keyboard support (based on patch by Marco Gerards)
34208
34209 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
34210 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
34211 (usb_keyboard_mod_LDFLAGS): New variables.
34212
34213 * term/usb_keyboard.c: New file.
34214
8fa4ea70 342152009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
34216
34217 Corrected wrong declaration
34218
34219 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
34220
353976ac 342212009-02-14 Christian Franke <franke@computer.org>
34222
34223 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
34224 (grub_lspci_iter): Print class code and programming interface byte.
34225
6aa1169b 342262009-02-14 Christian Franke <franke@computer.org>
34227
34228 * gendistlist.sh: Ignore `.svn' directories.
34229
265372ca 342302009-02-14 Felix Zielcke <fzielcke@z-51.de>
34231
34232 * fs/fat.c: Add 2009 to Copyright line.
34233
9ff516f3 342342009-02-14 Christian Franke <franke@computer.org>
34235
34236 * commands/hdparm.c: New file. Provides `hdparm' command
34237 which sends ATA commands via grub_disk_ata_pass_through ().
34238
34239 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
34240
34241 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
34242 and <grub/cpu/io.h> to include/grub/ata.h.
34243 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
34244 (GRUB_CDROM_SECTOR_SIZE): Remove.
34245 (GRUB_ATA_*): Move to include/grub/ata.h.
34246 (GRUB_ATAPI_*): Likewise.
34247 (enum grub_ata_commands): Likewise.
34248 (enum grub_ata_timeout_milliseconds): Likewise.
34249 (struct grub_ata_device): Likewise.
34250 (grub_ata_regset): Likewise.
34251 (grub_ata_regget): Likewise.
34252 (grub_ata_regset2): Likewise.
34253 (grub_ata_regget2): Likewise.
34254 (grub_ata_check_ready): Likewise.
34255 (grub_ata_wait_not_busy): Remove static, exported in
34256 include/grub/ata.h.
34257 (grub_ata_wait_drq): Likewise.
34258 (grub_ata_pio_read): Likewise.
34259
34260 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
34261 function for hdparm.mod.
34262
34263 * include/grub/ata.h: New file, contains declarations from
34264 disk/ata.c.
34265 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
34266
34267 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
34268 (grub_disk_ata_pass_through): New exported variable.
34269
34270 * kern/disk.c (grub_disk_ata_pass_through): New variable.
34271
772e23da 342722009-02-13 Colin D Bennett <colin@gibibit.com>
34273
34274 Support multiple fallback entries, and provide an API to support
34275 executing default+fallback menu entries. Renamed the `terminal' menu
34276 viewer to `text'.
34277
34278 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
34279 variable declaration.
34280 (grub_menu_execute_callback): New structure declaration.
34281 (grub_menu_execute_callback_t): New typedef.
34282 (grub_menu_execute_with_fallback): New function declaration.
34283 (grub_menu_get_entry): Likewise.
34284 (grub_menu_get_timeout): Likewise.
34285 (grub_menu_set_timeout): Likewise.
34286
34287 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
34288
34289 * normal/menu.c (grub_wait_after_message): Moved to
34290 `normal/menu_text.c'.
34291 (draw_border): Likewise.
34292 (print_message): Likewise.
34293 (print_entry): Likewise.
34294 (print_entries): Likewise.
34295 (grub_menu_init_page): Likewise.
34296 (get_entry_number): Likewise.
34297 (print_timeout): Likewise.
34298 (run_menu): Likewise.
34299 (grub_menu_execute_entry): Likewise.
34300 (show_text_menu): Likewise.
34301 (get_and_remove_first_entry_number): New function.
34302 (grub_menu_execute_with_fallback): Likewise.
34303 (get_entry): Renamed to ...
34304 (grub_menu_get_entry): .. this and made it global.
34305 (get_timeout): Renamed to ...
34306 (grub_menu_get_timeout): ... this and made it global.
34307 (set_timeout): Renamed to ...
34308 (grub_menu_set_timeout): ... this and made it global.
34309 (grub_normal_terminal_menu_viewer): Renamed to ...
34310 (grub_normal_text_menu_viewer): ... this.
34311
34312 * normal/menu_text.c: New file. Extracted text-menu-specific code
34313 from normal/menu.c.
34314
34315 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
34316 (normal_mod_SOURCES): Likewise.
34317
34318 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34319 (normal_mod_SOURCES): Likewise.
34320
34321 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34322 (normal_mod_SOURCES): Likewise.
34323
34324 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
34325 (normal_mod_SOURCES): Likewise.
34326
34327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34328 (normal_mod_SOURCES): Likewise.
34329
34330 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34331 (normal_mod_SOURCES): Likewise.
34332
34333 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34334 (normal_mod_SOURCES): Likewise.
34335
16ac430e 343362009-02-11 Robert Millan <rmh@aybabtu.com>
34337
34338 * util/grub.d/00_header.in: Update old reference to `font' command.
34339
06ff20fc 343402009-02-10 Felix Zielcke <fzielcke@z-51.de>
34341
34342 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
34343
34344 Based on patch from Javier Martín.
34345
96da9407 343462009-02-09 Felix Zielcke <fzielcke@z-51.de>
34347
34348 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 34349 to avoid false positives with FAT.
96da9407 34350 (grub_fstest_SOURCES): Likewise.
34351 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34352 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34353 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34354 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34355 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34356 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34357
6dca6fe4 343582009-02-09 Felix Zielcke <fzielcke@z-51.de>
34359
06ff20fc 34360 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 34361 bpb.version_specific.fat12_or_fat16.fstype and
34362 bpb.version_specific.fat32.fstype.
34363
2550c62f 343642009-02-08 Robert Millan <rmh@aybabtu.com>
34365
be110b30 34366 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 34367
56978920 343682009-02-08 Robert Millan <rmh@aybabtu.com>
34369
34370 * Makefile.in (host_os, host_cpu): New variables.
34371 (target_os): Remove. Update all users.
34372
d64399b5 343732009-02-08 Marco Gerards <marco@gnu.org>
34374
34375 * Makefile.in (enable_grub_emu_usb): New variable.
34376 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
34377 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
34378 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
34379 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
34380 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
34381 `usbtest.mod' and `usbms.mod'.
34382 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
34383 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
34384 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
34385 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
34386 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
34387 variables.
34388
34389 * disk/usbms.c: New file.
34390
34391 * include/grub/usb.h: Likewise.
34392
34393 * include/grub/usbtrans.h: Likewise.
34394
34395 * include/grub/usbdesc.h: Likewise.
34396
34397 * bus/usb/usbtrans.c: Likewise.
34398
34399 * bus/usb/ohci.c: Likewise.
34400
34401 * bus/usb/uhci.c: Likewise.
34402
34403 * bus/usb/usbhub.c: Likewise.
34404
34405 * bus/usb/usb.c: Likewise.
34406
34407 * commands/usbtest.c: Likewise.
34408
34409 * util/usb.c: Likewise.
50fb7002 34410
d64399b5 34411 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
34412
34413 * configure.ac: Test for libusb presence.
50fb7002 34414
d64399b5 34415 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
34416
2b40d6bb 344172009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
34418
34419 * kern/mm.c: Add more comments.
34420
73a4ce81 344212009-02-08 Robert Millan <rmh@aybabtu.com>
34422
34423 Patch from Javier Martín.
34424 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
34425 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
34426
f821ce59 344272009-02-08 Robert Millan <rmh@aybabtu.com>
34428
34429 * fs/cpio.c: Split tar functionality to ...
34430 * fs/tar.c: ... here (new file). Update all users.
34431
aebfc4b0 344322009-02-07 Robert Millan <rmh@aybabtu.com>
34433
34434 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
34435 backward-incompatible features.
34436
34437 Based on patch from Javier Martín, with some adjustments.
34438
50fb7002 344392009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 34440
34441 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
34442
0bb5115e 344432009-02-07 Robert Millan <rmh@aybabtu.com>
34444
34445 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
34446 position of `disk/lvm.c' to ensure grub_init_all() always picks it
34447 after the RAID stuff.
34448
38a0f8e7 344492009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
34450
50fb7002 34451 Fixes problem when running vbetest command as reported by
38a0f8e7 34452 Vladimir Serbinenko <phcoder@gmail.com>.
34453
34454 * (grub_vbe_set_video_mode): Fixed problem with text modes.
34455
3143cc1c 344562009-02-04 Felix Zielcke <fzielcke@z-51.de>
34457
34458 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
34459 /dev/md/NpN style mdraid devices.
34460
9cba6fce 344612009-02-03 Felix Zielcke <fzielcke@z-51.de>
34462
34463 * util/unifont2pff.rb: Remove.
34464
e507a2c1 344652009-02-03 Felix Zielcke <fzielcke@z-51.de>
34466
34467 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
34468 `#'.
34469
d2c2b4cd 344702009-02-03 Felix Zielcke <fzielcke@z-51.de>
34471
34472 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
34473 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34474 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34475 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34477 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34478 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34479
b4315fb0 344802009-02-02 Christian Franke <franke@computer.org>
34481
34482 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
34483
de3aa260 344842009-02-01 Felix Zielcke <fzielcke@z-51.de>
34485
7c3ff286 34486 * INSTALL: Note that we now require at least autoconf 2.59 and
34487 that LZO is optional.
de3aa260 34488
825a182b 344892009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
34490
34491 Base on patch on bug #24154 created by Tomas Tintera
34492 <trosos@seznam.cz>.
34493
34494 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
34495
a69ef770 344962009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
34497
7c3ff286 34498 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 34499 <bero@arklinux.org>.
34500
34501 * normal/parser.y (script_init): Add missing semicolon.
34502
6fa42fa6 345032009-01-31 Colin D Bennett <colin@gibibit.com>
34504
7c3ff286 34505 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 34506 (free_menu_entry_classes): Added.
34507 (grub_normal_menu_addentry): Added class property handling.
34508 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
34509 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
34510
34511 * normal/menu_viewer.c: New file.
34512
34513 * normal/menu.c (run_menu_entry): Renamed to ...
34514 (grub_menu_execute_entry): ... this and made it as global.
34515 (grub_menu_run): Renamed to ...
34516 (show_text_menu): ... this and made it local.
34517 (show_text_menu): Adapt to new function names.
34518 (grub_normal_terminal_menu_viewer): New global variable.
34519
34520 * include/grub/menu.h: New file.
34521
34522 * include/grub/menu_viewer.h: New file.
34523
34524 * include/grub/normal.h: Added include to grub/menu.h.
34525 (grub_menu_entry): Moved to include/grub/menu.h.
34526 (grub_menu_entry_t): Likewise.
34527 (grub_menu): Likewise.
34528 (grub_menu_t): Likewise.
34529 (grub_normal_terminal_menu_viewer): Added.
34530 (grub_menu_execute_entry): Likewise.
34531 (grub_menu_run): Removed.
34532
34533 * DISTLIST: Added include/grub/menu.h.
34534 Added include/grub/menu_viewer.h.
34535 Added normal/menu_viewer.c.
34536
345372009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
34538
34539 * normal/execute.c (grub_script_execute_menuentry): Changed to use
34540 arglist for menutitle arguments.
34541
34542 * normal/main.c (grub_normal_menu_addentry): Likewise.
34543
34544 * normal/parser.y (menuentry): Likewise.
34545
34546 * normal/script.c (grub_script_create_cmdmenu): Likewise.
34547
34548 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
34549 (grub_script_create_cmdmenu): Likewise.
34550
34551 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
34552
34553 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
34554 changes.
34555
34556 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
34557
34558 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
34559
34560 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
34561
34562 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34563
34564 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34565
34566 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34567
56192c23 345682009-01-30 Christian Franke <franke@computer.org>
34569
34570 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
34571 in option help text.
34572
d72521b3 345732009-01-27 Pavel Roskin <proski@gnu.org>
34574
34575 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
34576
994b5e84 345772009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
34578
34579 * commands/lsmmap.c: Add include to grub/machine/memory.h.
34580
34581 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
34582
34583 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
34584 unregister function.
34585
6a7eab2c 345862009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
34587
34588 * disk/scsi.c (grub_scsi_read): Fix sign problem.
34589
34590 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
34591
34592 * util/grub-mkfont.c (usage): Fix typo.
34593
34594 * util/elf/grub-mkimage.c (load_modules): Fix warning.
34595
1806b56e 345962009-01-26 Daniel Mierswa <impulze@impulze.org>
34597
3fb18f09 34598 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
34599
336e1fb9 34600 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
34601
1806b56e 34602 * kern/misc.c (grub_strcasecmp): New function.
34603 (grub_strcasecmp): Use grub_size_t instead of int for length.
34604 Fix return value.
34605 * include/grub/misc.h: Update function prototypes.
34606
580b2a0f 346072009-01-26 Robert Millan <rmh@aybabtu.com>
34608
34609 * configure.ac: Fix cross-compilation check.
ef257b36 34610
d31c24f1 346112009-01-22 Christian Franke <franke@computer.org>
34612
34613 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
34614 (precision) digit string. Allow `.format2' without `format1' (width).
34615 Limit input chars for `%s' output to `format2' if specified. This is
34616 compatible with standard printf ().
34617
3138b44c 346182009-01-22 Christian Franke <franke@computer.org>
34619
34620 * disk/ata.c (grub_ata_wait_status): Replace by ...
34621 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
34622 other status bits may be invalid while BSY is asserted.
34623 (grub_ata_check_ready): New function.
34624 (grub_ata_cmd): Removed.
34625 (grub_ata_wait_drq): New function.
34626 (grub_ata_strncpy): Remove inline.
34627 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
34628 and error check now done by grub_ata_wait_drq ().
34629 (grub_ata_pio_write): Likewise.
34630 (grub_atapi_identify): Set DEV before check for !BSY. Use
34631 grub_ata_wait_drq () to wait for data.
34632 (grub_ata_device_initialize): Add status register check to
34633 detect missing SATA slave devices. Add debug messages.
34634 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
34635 (grub_atapi_packet): Set DEV before check for !BSY. Replace
34636 transfer loop by grub_ata_pio_write ().
34637 (grub_ata_identify): Set DEV before check for !BSY. Use
34638 grub_ata_wait_drq () to wait for data.
ef257b36 34639 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 34640 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
34641 read/write in one loop. Fix invalid command on write. Fix incomplete
34642 command on (size % batch) == 0. Add missing error check after write of
34643 last block. Add debug messages.
34644 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
34645
59a64ef6 346462009-01-19 Christian Franke <franke@computer.org>
34647
34648 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
34649 (GRUB_ATAPI_IREASON_*): Likewise.
34650 (grub_ata_pio_write): Fix timeout error return.
34651 (grub_atapi_identify): Add grub_ata_wait () after cmd.
34652 (grub_atapi_wait_drq): New function.
34653 (grub_atapi_packet): New parameter `size'.
34654 Use grub_atapi_wait_drq () and direct write instead of
34655 grub_ata_pio_write ().
34656 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
34657 reads the number of bytes requested by the device for each DRQ
34658 assertion.
34659 (grub_atapi_write): Remove old implementation, return not
34660 implemented instead.
34661
1cfe20b3 346622009-01-19 Christian Franke <franke@computer.org>
34663
34664 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
34665 of 512 to calculate data size.
34666 (grub_scsi_read12): Likewise.
34667 (grub_scsi_write10): Likewise.
34668 (grub_scsi_write12): Likewise.
34669 (grub_scsi_read): Adjust size according to blocksize.
34670 Add checks for invalid blocksize and unaligned transfer.
34671
bee5fe5d 346722009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
34673
34674 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
34675
ef257b36 34676 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 34677 width glyphs.
34678
3e643f8c 346792009-01-19 Robert Millan <rmh@aybabtu.com>
34680
34681 * config.guess: Update to latest version from config git.
34682 * config.sub: Likewise.
34683
4fa80998 346842009-01-17 Felix Zielcke <fzielcke@z-51.de>
34685
34686 * Makefile.in: Change font compilation to use new grub-mkfont instead
34687 of java version.
34688
34689 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
34690 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34691 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34692 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34693 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34694 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34695 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34696 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34697 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
34698
7086085b 346992009-01-16 Christian Franke <franke@computer.org>
34700
34701 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
34702 (enum grub_ata_timeout_milliseconds): New enum.
34703 (grub_ata_wait_status): Add parameter milliseconds.
34704 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
34705 recovery from timed-out commands.
34706 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
34707 return grub_errno instead of REG_ERROR.
34708 (grub_ata_pio_write): Add parameter milliseconds.
34709 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
34710 Pass milliseconds to grub_ata_wait_status () and
34711 grub_ata_pio_read ().
34712 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
34713 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
34714 grub_ata_wait_status (). Fix IDENTIFY timeout check.
34715 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
34716 It is not suitable for device detection, because DEV bit is ignored,
34717 the command may run too long, and not all devices set the signature
34718 properly.
34719 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
34720 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
34721 Fix device selection, DEV bit must be set first to address the registers
34722 of the correct device.
34723 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
34724 grub_ata_pio_read/write ().
34725 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
34726 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
34727
4a412913 347282009-01-13 Carles Pina i Estany <carles@pina.cat>
34729
34730 * util/grub-editenv.c (main): Use fseeko(), not fseek().
34731
7795c55e 347322009-01-13 Bean <bean123ch@gmail.com>
d913988c 34733
34734 * util/grub-mkfont.c (write_font): forget to remove some debug code.
34735
7795c55e 347362009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 34737
34738 * Makefile.in: (enable_grub_mkfont): New variable.
34739 (freetype_cflags): Likewise.
34740 (freetype_libs): Likewise.
34741
34742 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
34743 (grub_mkfont_SOURCES): New variable.
34744 (grub_mkfont_CFLAGS): Likewise.
34745 (grub_mkfont_LDFLAGS): Likewise.
34746
34747 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
34748 library if `--enable-grub-mkfont' is requested.
34749 (enable_grub_mkfont): New variable.
34750 (freetype_cflags): Likewise.
34751 (freetype_libs): Likewise.
34752
34753 * util/grub-mkfont.c: New file.
34754
093af1fe 347552009-01-12 Christian Franke <franke@computer.org>
34756
34757 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
34758 mode check. Fix setting of compat_use[].
34759
f36cc108 347602009-01-10 Robert Millan <rmh@aybabtu.com>
34761
34762 Update a few copyright years which we forgot to do in 2008 (only for
34763 files whose changes made in 2008 were copyright-significant)
34764
34765 * Makefile.in: Add 2008 to Copyright line.
34766 * disk/ieee1275/ofdisk.c: Likewise.
34767 * disk/efi/efidisk.c: Likewise.
34768 * kern/dl.c: Likewise.
34769 * kern/sparc64/ieee1275/init.c: Likewise.
34770 * kern/mm.c: Likewise.
34771 * kern/efi/mm.c: Likewise.
34772 * boot/i386/pc/boot.S: Likewise.
34773 * genfslist.sh: Likewise.
34774 * fs/iso9660.c: Likewise.
34775 * fs/hfs.c: Likewise.
34776 * fs/jfs.c: Likewise.
34777 * fs/minix.c: Likewise.
34778 * fs/ufs.c: Likewise.
34779 * gensymlist.sh.in: Likewise.
34780 * genkernsyms.sh.in: Likewise.
34781 * include/grub/misc.h: Likewise.
34782 * include/grub/types.h: Likewise.
34783 * include/grub/symbol.h: Likewise.
34784 * include/grub/elf.h: Likewise.
34785 * include/grub/kernel.h: Likewise.
34786 * include/grub/disk.h: Likewise.
34787 * include/grub/dl.h: Likewise.
34788 * include/grub/i386/linux.h: Likewise.
34789 * include/grub/i386/pc/biosdisk.h: Likewise.
34790 * include/grub/efi/api.h: Likewise.
34791 * include/grub/efi/pe32.h: Likewise.
34792 * include/grub/util/misc.h: Likewise.
34793 * normal/execute.c: Likewise.
34794 * normal/arg.c: Likewise.
34795 * normal/completion.c: Likewise.
34796 * normal/lexer.c: Likewise.
34797 * normal/parser.y: Likewise.
34798 * normal/misc.c: Likewise.
34799 * commands/i386/pc/vbeinfo.c: Likewise.
34800 * commands/hexdump.c: Likewise.
34801 * commands/terminal.c: Likewise.
34802 * commands/ls.c: Likewise.
34803 * commands/help.c: Likewise.
34804 * partmap/pc.c: Likewise.
34805 * loader/efi/chainloader.c: Likewise.
34806 * loader/multiboot_loader.c: Likewise.
34807 * loader/i386/pc/multiboot2.c: Likewise.
34808 * term/efi/console.c: Likewise.
34809 * term/i386/pc/serial.c: Likewise.
34810 * util/lvm.c: Likewise.
34811 * util/console.c: Likewise.
34812 * util/i386/efi/grub-mkimage.c: Likewise.
34813 * util/raid.c: Likewise.
34814
7f02114b 348152009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
34816
34817 * commands/videotest.c: Removed include to grub/machine/memory.h.
34818
34819 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
34820 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
34821 (video_mod_SOURCES): Removed.
34822 (video_mod_CFLAGS): Likewise.
34823 (video_mod_LDFLAGS): Likewise.
34824 (gfxterm_mod_SOURCES): Likewise.
34825 (gfxterm_mod_CFLAGS): Likewise.
34826 (gfxterm_mod_LDFLAGS): Likewise.
34827 (videotest_mod_SOURCES): Likewise.
34828 (videotest_mod_CFLAGS): Likewise.
34829 (videotest_mod_LDFLAGS): Likewise.
34830 (bitmap_mod_SOURCES): Likewise.
34831 (bitmap_mod_CFLAGS): Likewise.
34832 (bitmap_mod_LDFLAGS): Likewise.
34833 (tga_mod_SOURCES): Likewise.
34834 (tga_mod_CFLAGS): Likewise.
34835 (tga_mod_LDFLAGS): Likewise.
34836 (jpeg_mod_SOURCES): Likewise.
34837 (jpeg_mod_CFLAGS): Likewise.
34838 (jpeg_mod_LDFLAGS): Likewise.
34839 (png_mod_SOURCES): Likewise.
34840 (png_mod_CFLAGS): Likewise.
34841 (png_mod_LDFLAGS): Likewise.
34842
34843 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
34844 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
34845 (video_mod_SOURCES): Added.
34846 (video_mod_CFLAGS): Likewise.
34847 (video_mod_LDFLAGS): Likewise.
34848 (videotest_mod_SOURCES): Likewise.
34849 (videotest_mod_CFLAGS): Likewise.
34850 (videotest_mod_LDFLAGS): Likewise.
34851 (bitmap_mod_SOURCES): Likewise.
34852 (bitmap_mod_CFLAGS): Likewise.
34853 (bitmap_mod_LDFLAGS): Likewise.
34854 (tga_mod_SOURCES): Likewise.
34855 (tga_mod_CFLAGS): Likewise.
34856 (tga_mod_LDFLAGS): Likewise.
34857 (jpeg_mod_SOURCES): Likewise.
34858 (jpeg_mod_CFLAGS): Likewise.
34859 (jpeg_mod_LDFLAGS): Likewise.
34860 (png_mod_SOURCES): Likewise.
34861 (png_mod_CFLAGS): Likewise.
34862 (png_mod_LDFLAGS): Likewise.
34863 (gfxterm_mod_SOURCES): Likewise.
34864 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 34865 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 34866
34867 * term/gfxterm.c: Removed include to grub/machine/memory.h,
34868 grub/machine/console.h.
34869
644fff97 348702009-01-04 Jerone Young <jerone@gmail.com>
34871
34872 Make on screen instructions clearer
34873
34874 Based on patch created by Jidanni <jidanni@jidanni.org>
34875
34876 * normal/menu.c: print clearer instructions on the screen
34877
1e901a75 348782009-01-02 Colin D Bennett <colin@gibibit.com>
34879
34880 New font engine.
34c44600 34881
1e901a75 34882 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
34883 build system and fixed gfxterm.c to work with different sized fonts.
34884
34885 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 34886
1e901a75 34887 * configure: Re-generated.
34c44600 34888
1e901a75 34889 * DISTLIST: Removed font/manager.c.
34890 Added font/font.c.
34891 Added font/font_cmd.c.
34c44600 34892
1e901a75 34893 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
34894 compilation.
34c44600 34895
1e901a75 34896 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 34897
34898 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 34899
34900 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 34901
1e901a75 34902 * normal/menu.c: Likewise.
34c44600 34903
1e901a75 34904 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
34905 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 34906
1e901a75 34907 * include/grub/font.h: Replaced with new file.
34c44600 34908
1e901a75 34909 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
34910 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
34911 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
34912 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
34913 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 34914 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 34915 fg_red, fg_green, fg_blue, fg_alpha.
34916 (grub_video_adapter): Removed blit_glyph.
34c44600 34917 (grub_video_blit_glyph): Removed.
34918
1e901a75 34919 * font/manager.c: Removed file.
34c44600 34920
34921 * font/font.c: New file.
34922
1e901a75 34923 * font/font_cmd.c: Likewise.
34c44600 34924
1e901a75 34925 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 34926
1e901a75 34927 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
34928 (grub_video_vbe_map_rgba): Likewise.
34929 (grub_video_vbe_unmap_color_int): Likewise.
34930 (grub_video_vbe_blit_glyph): Removed.
34931 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 34932
1e901a75 34933 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
34934 (get_pixel): Likewise.
34c44600 34935 (set_pixel): Likewise.
34936
1e901a75 34937 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 34938
1e901a75 34939 * term/gfxterm.c: Adapted to new font engine.
34c44600 34940
1e901a75 34941 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 34942
1e901a75 34943 * term/i386/pc/vga.c: Likewise.
34c44600 34944
1e901a75 34945 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 34946
1e901a75 34947 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 34948
1e901a75 34949 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 34950
1e901a75 34951 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 34952
1e901a75 34953 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 34954
1e901a75 34955 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 34956
1e901a75 34957 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 34958
1e901a75 34959 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 34960
1e901a75 34961 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
34962
34963 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 34964
1e901a75 34965 * util/grub-mkconfig_lib.in: Changed font extension.
34966
278922e8 349672008-12-28 Felix Zielcke <fzielcke@z-51.de>
34968
34969 * util/getroot.c (grub_util_get_grub_dev): Add support for
34970 /dev/md/dNNpNN style partitionable mdraid devices.
34971
3ced05cf 349722008-12-12 Alex Smith <alex@alex-smith.me.uk>
34973
34974 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
34975 at a time limit of the PXE TFTP API correctly.
34976 (grub_pxefs_close): Likewise.
34977
7fd0ee30 349782008-11-29 Robert Millan <rmh@aybabtu.com>
34979
34c44600 34980 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 34981 grub_ata_device_initialize() calls.
34982
34c44600 349832008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 34984
34985 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
34986 iteration failed.
34987 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
34988
89313780 349892008-11-28 Robert Millan <rmh@aybabtu.com>
34990
34991 Fix build on powerpc-ieee1275. Based on patch created by
34992 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
34993 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34994 `kern/ieee1275/mmap.c'.
34995 * include/grub/powerpc/ieee1275/memory.h: New file.
34996
15257703 34997 Provide grub-install on coreboot.
34998 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
34999 (grub_install_SOURCES): New variable.
35000 * util/i386/pc/grub-install.in: Add a few condition checks to make it
35001 usable on coreboot.
35002
9fc5388a 350032008-11-25 Felix Zielcke <fzielcke@z-51.de>
35004
35005 * util/grub-fstest.c (grub_term_get_current_input): Change return type
35006 to `grub_term_input_t'.
35007 (grub_term_get_current_output): Change return type to
35008 `grub_term_output_t'.
35009
bc3a2f31 350102008-11-22 Robert Millan <rmh@aybabtu.com>
35011
34c44600 35012 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 35013 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
35014 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
35015 grub_vga_text_cls().
35016
80fc88f2 35017 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 35018 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 35019
cbf36fd3 35020 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
35021 to 0x200000 (avoids trouble with some OFW implementations, and matches
35022 with the one in Yaboot).
35023 Reported by Manoel Abranches
35024
73e8e268 350252008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 35026
35027 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
35028 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
35029
73e8e268 35030 * util/grub-mkconfig_lib.in (grub_warn): New function.
35031 (convert_system_path_to_grub_path): Use grub_warn() when issuing
35032 warnings, to obtain consistent formatting.
35033 * util/grub.d/00_header.in: Likewise.
35034 * util/update-grub_lib.in: Likewise.
35035
e94045a1 35036 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 35037 Move comment text to `#error' stanza.
e94045a1 35038
79d29fd7 35039 Harmonize ieee1275's grub_available_iterate() with the generic
35040 grub_machine_mmap_iterate() interface (fixes a recently-introduced
35041 build problem on i386-ieee1275):
35042 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
35043 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
35044 parameter `type'. Update all users of this function.
35045 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35046 `kern/ieee1275/mmap.c'.
35047 * kern/ieee1275/init.c
35048 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
35049 with ...
35050 (grub_machine_mmap_iterate): ... this.
35051 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
35052 return type to `grub_err_t'. Update all implementations of this
35053 function prototype.
35054 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
35055 Likewise.
35056
60d6b16e 35057 Add `lsmmap' command (lists firmware-provided memory map):
35058 * commands/lsmmap.c: New file.
35059 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
35060 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
35061 variables.
35062 * conf/powerpc-ieee1275.rmk: Likewise.
35063 * conf/i386-coreboot.rmk: Likewise.
35064 * conf/i386-ieee1275.rmk: Likewise.
35065
ebaaf49b 350662008-11-19 Robert Millan <rmh@aybabtu.com>
35067
35068 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 35069 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
35070 constraints to initrd allocation (based on code from
35071 loader/i386/pc/linux.c). Without them, initrd was allocated too high
35072 for Linux to find it.
ebaaf49b 35073
dfab719f 350742008-11-14 Robert Millan <rmh@aybabtu.com>
35075
35076 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
35077 order to cope with duplicate slashes.
35078
10fc3eb9 350792008-11-14 Robert Millan <rmh@aybabtu.com>
35080
35081 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
35082 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
35083 don't want to mess with lower memory, because it is used in the Linux
35084 loader.
35085
35086 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 35087 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 35088 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
35089 is in our heap (probably as a result of it being corrupted during
2f2a3442 35090 decompression). Add #error instance with comment to explain why this
35091 loader isn't currently usable on PC/BIOS.
10fc3eb9 35092
e2e07847 350932008-11-14 Robert Millan <rmh@aybabtu.com>
35094
35095 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 35096 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 35097
fe8e8d69 350982008-11-12 Robert Millan <rmh@aybabtu.com>
35099
35100 Make loader/i386/linux.c buildable on i386-pc (although disabled).
35101
35102 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
35103 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
35104 from here ...
35105 * include/grub/i386/pc/memory.h: ... to here.
35106
976b07d0 351072008-11-12 Robert Millan <rmh@aybabtu.com>
35108
35109 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
35110 split).
35111
35112 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
35113 (grub_console_cur_color, grub_console_real_putchar)
35114 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35115 (grub_console_setcolorstate, grub_console_setcolor)
35116 (grub_console_getcolor): Move from here ...
35117 * include/grub/i386/vga_common.h: ... to here (new file).
35118
35119 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
35120 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
35121 `<grub/i386/io.h>'.
35122 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
35123 `<grub/i386/vga_common.h>'.
35124
76679cd3 351252008-11-12 Robert Millan <rmh@aybabtu.com>
35126
35127 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
35128 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
35129 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
35130 variables.
35131 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
35132 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
35133
35134 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
35135 grub_console_init() with call to grub_vga_text_init().
35136 (grub_machine_fini): Replace call to
35137 grub_console_fini() with call to grub_vga_text_fini() and
35138 grub_at_keyboard_fini().
35139
35140 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
35141 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35142 (grub_console_setcolorstate, grub_console_setcolor)
35143 (grub_console_getcolor): New function prototypes.
35144
35145 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
35146 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
35147 (grub_vga_text_setcursor): Static-ize.
35148 (grub_vga_text_term): New structure.
35149 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
35150
35151 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
35152 (grub_console_cur_color, grub_console_standard_color)
35153 (grub_console_normal_color, grub_console_highlight_color)
35154 (map_char, grub_console_putchar, grub_console_getcharwidth)
35155 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
35156 (grub_console_getcolor): Move from here ...
35157 * term/i386/vga_common.c: ... to here (same function names).
35158
95b841d3 351592008-11-12 Robert Millan <rmh@aybabtu.com>
35160
35161 Use newly-added Multiboot support in coreboot.
35162
35163 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
35164 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
35165
35166 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
35167 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
35168 (codestart): Store the MBI in `startup_multiboot_info' when we're
35169 being loaded using Multiboot.
35170
35171 * kern/i386/coreboot/init.c (grub_machine_init): Move
35172 grub_at_keyboard_init() call to beginning of function (useful for
35173 debugging). Call grub_machine_mmap_init() before attempting to use
35174 grub_machine_mmap_iterate().
35175 (grub_lower_mem, grub_upper_mem): Move from here ...
35176 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
35177 here (new file).
35178
35179 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
35180 function prototype.
35181
761ca975 351822008-11-12 Robert Millan <rmh@aybabtu.com>
35183
35184 Fix a regression introduced by the at_keyboard.mod split. Because
35185 some terminals are default on some platforms and non-default on
35186 others, the first terminal being registered determines which is
35187 going to be default.
35188
35189 * kern/term.c (grub_term_register_input): If this is the first
35190 terminal being registered, set it as the current one.
35191 (grub_term_register_output): Likewise.
35192
35193 * term/efi/console.c (grub_console_init): Do not call
35194 grub_term_set_current_output() or grub_term_set_current_input().
35195 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
35196 * term/i386/pc/console.c (grub_console_init): Likewise.
35197 (grub_console_fini): Do not call grub_term_set_current_input()
35198 (but leave grub_term_set_current_output() to restore text mode).
35199
6c529df7 352002008-11-10 Robert Millan <rmh@aybabtu.com>
35201
35202 * util/grub.d/00_header.in: Add backward compatibility check for
35203 versions of terminal.mod that don't understand `terminal_input' or
35204 `terminal_output'.
35205
132e4113 352062008-11-09 Robert Millan <rmh@aybabtu.com>
35207
35208 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
35209 `terminal_input' / `terminal_output', not `terminal'.
35210
ac293d50 352112008-11-08 Robert Millan <rmh@aybabtu.com>
35212
35213 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 35214 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 35215
0025933a 352162008-11-08 Robert Millan <rmh@aybabtu.com>
35217
35218 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 35219 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 35220 members. Update all users.
35221 * util/console.c (grub_ncurses_term): Split in ...
35222 (grub_ncurses_term_input): ... this, and ...
35223 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 35224 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 35225
37c86336 352262008-11-08 Robert Millan <rmh@aybabtu.com>
35227
35228 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
35229 (PKGDATA): Add $(pkgdata_SRCDIR).
35230 (pkglib_BUILDDIR): New variable.
35231 (pkgdata_SRCDIR): New variable.
35232 (build_env.mk): New target.
35233 (include_DATA): New variable.
35234 (install-local): Install $(include_DATA) files in $(includedir).
35235
b6c15a2d 352362008-11-07 Pavel Roskin <proski@gnu.org>
35237
d99d46f1 35238 * gendistlist.sh: Use C locale for sorting to ensure consistent
35239 output on all systems.
35240
b6c15a2d 35241 * util/grub.d/00_header.in: Remove incorrect space before
35242 "serial".
35243
c32ee8c9 352442008-11-07 Robert Millan <rmh@aybabtu.com>
35245
35246 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
35247 per specification.
35248 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
35249 * loader/multiboot_loader.c (find_multi_boot2_header): New function
35250 (based on find_multi_boot1_header).
35251 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
35252 using find_multi_boot2_header(), and abort if neither Multiboot or
35253 Multiboot headers were found.
35254
651c29b7 352552008-11-07 Robert Millan <rmh@aybabtu.com>
35256
35257 Modularize at_keyboard.mod:
35258
35259 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
35260 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
35261 (at_keyboard_mod_LDFLAGS): New variables.
35262
35263 Actual terminal split:
35264
35265 * include/grub/term.h (struct grub_term): Split in ...
35266 (struct grub_term_input): ... this, and ...
35267 (struct grub_term_output): ... this. Update all users.
35268 (grub_term_set_current): Split in ...
35269 (grub_term_set_current_input): ... this, and ...
35270 (grub_term_set_current_output): ... this.
35271 (grub_term_get_current): Split in ...
35272 (grub_term_get_current_input): ... this, and ...
35273 (grub_term_get_current_output): ... this.
35274 (grub_term_register): Split in ...
35275 (grub_term_register_input): ... this, and ...
35276 (grub_term_register_output): ... this.
35277 (grub_term_unregister): Split in ...
35278 (grub_term_unregister_input): ... this, and ...
35279 (grub_term_unregister_output): ... this.
35280 (grub_term_iterate): Split in ...
35281 (grub_term_iterate_input): ... this, and ...
35282 (grub_term_iterate_output): ... this.
35283
35284 * kern/term.c (grub_term_list): Split in ...
35285 (grub_term_list_input): ... this, and ...
35286 (grub_term_list_output): ... this. Update all users.
35287 (grub_cur_term): Split in ...
35288 (grub_cur_term_input): ... this, and ...
35289 (grub_cur_term_output): ... this. Update all users.
35290 (grub_term_set_current): Split in ...
35291 (grub_term_set_current_input): ... this, and ...
35292 (grub_term_set_current_output): ... this.
35293 (grub_term_get_current): Split in ...
35294 (grub_term_get_current_input): ... this, and ...
35295 (grub_term_get_current_output): ... this.
35296 (grub_term_register): Split in ...
35297 (grub_term_register_input): ... this, and ...
35298 (grub_term_register_output): ... this.
35299 (grub_term_unregister): Split in ...
35300 (grub_term_unregister_input): ... this, and ...
35301 (grub_term_unregister_output): ... this.
35302 (grub_term_iterate): Split in ...
35303 (grub_term_iterate_input): ... this, and ...
35304 (grub_term_iterate_output): ... this.
35305
35306 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
35307 a check for input and one for output (and only attempt to get keys
35308 from user when input works).
35309
35310 * util/grub-probe.c (grub_term_get_current): Split in ...
35311 (grub_term_get_current_input): ... this, and ...
35312 (grub_term_get_current_output): ... this.
35313 * util/grub-fstest.c: Likewise.
35314 * util/i386/pc/grub-setup.c: Likewise.
35315 * util/grub-editenv.c: Likewise.
35316
35317 Portability adjustments:
35318
35319 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
35320 `term/i386/pc/at_keyboard.c'.
35321 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
35322 grub_keyboard_controller_init() (now handled by terminal .init).
35323 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
35324 grub_at_keyboard_init().
35325 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
35326 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
35327 at_keyboard.mod via input terminal interface).
35328 * include/grub/i386/coreboot/console.h: Convert into a stub for
35329 `<grub/i386/pc/console.h>'.
35330
35331 Migrate full terminals to new API:
35332
35333 * term/efi/console.c (grub_console_term): Split into ...
35334 (grub_console_term_input): ... this, and ...
35335 (grub_console_term_output): ... this. Update all users.
35336 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
35337 (grub_ofconsole_init): Split into ...
35338 (grub_ofconsole_init_input): ... this, and ...
35339 (grub_ofconsole_init_output): ... this.
35340 (grub_ofconsole_term): Split into ...
35341 (grub_ofconsole_term_input): ... this, and ...
35342 (grub_ofconsole_term_output): ... this. Update all users.
35343 * term/i386/pc/serial.c (grub_serial_term): Split into ...
35344 (grub_serial_term_input): ... this, and ...
35345 (grub_serial_term_output): ... this. Update all users.
35346 * term/i386/pc/console.c (grub_console_term): Split into ...
35347 (grub_console_term_input): ... this, and ...
35348 (grub_console_term_output): ... this. Update all users.
35349 (grub_console_term_input): Only enable it on PC/BIOS platform.
35350 (grub_console_init): Remove grub_keyboard_controller_init() call.
35351
35352 Migrate input terminals to new API:
35353
35354 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
35355 `i386' and `i386/pc' to enable build on x86_64 (this driver is
35356 i386-specific anyway).
35357 (grub_console_checkkey): Rename to ...
35358 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
35359 users.
35360 (grub_keyboard_controller_orig): New variable.
35361 (grub_console_getkey): Rename to ...
35362 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
35363 users.
35364 (grub_keyboard_controller_init): Static-ize. Save original
35365 controller value so that it can be restored ...
35366 (grub_keyboard_controller_fini): ... here (new function).
35367 (grub_at_keyboard_term): New structure.
35368 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
35369 functions.
35370
35371 Migrate output terminals to new API:
35372
35373 * term/i386/pc/vga.c (grub_vga_term): Change type to
35374 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
35375 members. Update all users.
35376 * term/gfxterm.c (grub_video_term): Change type to
35377 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
35378 members. Update all users.
35379 * include/grub/i386/pc/console.h (grub_console_checkkey)
35380 (grub_console_getkey): Do not export (no longer needed by gfxterm,
35381 etc).
35382
35383 Migrate `terminal' command and userland tools to new API:
35384
35385 * commands/terminal.c (grub_cmd_terminal): Split into ...
35386 (grub_cmd_terminal_input): ... this, and ...
35387 (grub_cmd_terminal_output): ... this.
35388 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
35389 `terminal_input' and `terminal_output'.
35390 * util/grub.d/00_header.in: Adjust `terminal' calls to new
35391 `terminal_input' / `terminal_output' API.
35392 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
35393 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
35394 provided ${GRUB_TERMINAL}, convert it).
35395
96e5d876 353962008-11-04 Robert Millan <rmh@aybabtu.com>
35397
35398 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
35399 for FreeBSD.
35400 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
35401
556f3775 354022008-11-03 Bean <bean123ch@gmail.com>
35403
35404 * kern/elf.c (grub_elf32_load): Revert to previous code.
35405 (grub_elf64_load): Likewise.
35406
35407 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
35408
926b9823 354092008-11-01 Robert Millan <rmh@aybabtu.com>
35410
35411 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
35412 (TARGET_CPPFLAGS): Likewise.
35413 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
35414
1432e958 354152008-11-01 Carles Pina i Estany <carles@pina.cat>
35416
35417 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
35418
dba3f844 354192008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 35420
35421 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
35422 addition of objects until the code is not going to be able to fail.
35423
dba3f844 354242008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 35425
35426 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
35427 (add a missing NULL check, and correct them by moving the pointer
35428 operations after the actual check).
35429
7ab28c21 354302008-10-29 Robert Millan <rmh@aybabtu.com>
35431
35432 * util/i386/pc/grub-install.in: Handle empty string as output from
35433 make_system_path_relative_to_its_root().
35434
1b7748eb 354352008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
35436
35437 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
35438 circular metadata worst case scenario. If the metadata is circular
35439 then copy the wrap in place.
35440 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
35441 project lib/format_text/layout.h
35442 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
35443
c9618ab2 354442008-10-03 Felix Zielcke <fzielcke@z-51.de>
35445
7a36edca 35446 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 35447
bf981c62 354482008-10-03 Felix Zielcke <fzielcke@z-51.de>
35449
35450 * util/update-grub_lib.in: Mention filename in warning message.
35451
6d994591 354522008-09-29 Felix Zielcke <fzielcke@z-51.de>
35453
35454 * NEWS: Update for rename of update-grub to grub-mkconfig.
35455
18ade780 354562008-09-29 Felix Zielcke <fzielcke@z-51.de>
35457
35458 * util/update-grub_lib.in: Copy to ...
35459 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 35460 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 35461 * util/update-grub.in: Rename to ...
35462 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
35463 option. Add `--output' option to allow users to specify the generated
35464 configuration file. Default to stdout.
35465 (update_grub_dir): Rename to ...
35466 (grub_mkconfig_dir): ... this.
35467 (grub_cfg): Default to an empty string.
35468 * conf/common.rmk (update-grub): Rename to ...
35469 (grub-mkconfig): ... this.
35470 (update-grub_lib): Copy to ...
35471 (grub-mkconfig_lib): ... this.
35472 (update-grub_SCRIPTS): Copy to ...
35473 (grub-mkconfig_SCRIPTS): ... this. Update all users.
35474 (update-grub_DATA): Rename to ...
35475 (grub-mkconfig_DATA): ... this.
35476
556ce6ac 354772008-09-28 Robert Millan <rmh@aybabtu.com>
35478
35479 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
35480 to `modified'. Add the real `created' field.
35481 (grub_iso9660_uuid): Use `modified' rather than `created' for
35482 constructing the UUID.
35483
354842008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 35485
35486 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
35487 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
35488
92274e85 354892008-09-28 Bean <bean123ch@gmail.com>
35490
35491 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
35492 Thanks to Christian Franke for finding this bug.
35493
add6f17a 354942008-09-25 Robert Millan <rmh@aybabtu.com>
35495
35496 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
35497 instances of grub_util_get_disk_name() (see previous commit).
35498
d2a367b8 354992008-09-25 Robert Millan <rmh@aybabtu.com>
35500
35501 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
35502 `util/i386/get_disk_name.c'.
35503 * conf/i386-efi.rmk: Likewise.
35504 * conf/x86_64-efi.rmk: Likewise.
35505 * conf/i386-coreboot.rmk: Likewise.
35506 * conf/i386-ieee1275.rmk: Likewise.
35507 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
35508 `util/ieee1275/get_disk_name.c'.
35509 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
35510 * util/ieee1275/get_disk_name.c: Remove file.
35511 * util/i386/get_disk_name.c: Remove file.
35512 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
35513 "hd%d" for device.map entries, rather than using
35514 grub_util_get_disk_name().
35515
81a06771 355162008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 35517
35518 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
35519 warning.
35520 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
35521
5a004279 355222008-09-24 Carles Pina i Estany <carles@pina.cat>
35523
35524 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
35525 Changed to 0x5100.
35526 (GRUB_TERM_PPAGE): Changed to 0x4900.
35527
397093d3 355282008-09-24 Robert Millan <rmh@aybabtu.com>
35529
35530 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
35531 macros (they were i386-pc specific).
35532 * include/grub/sparc64/ieee1275/console.h: Likewise.
35533 * include/grub/efi/console.h: Likewise.
35534
a91b6c7c 355352008-09-22 Bean <bean123ch@gmail.com>
35536
35537 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
35538 resident and in attribute list.
35539
35540 * include/grub/ntfs.h (BMP_LEN): Removed.
35541
c40fd116 355422008-09-22 Bean <bean123ch@gmail.com>
35543
81a06771 35544 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 35545 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
35546
35547 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
35548 error occurs, as grub_disk_open will call grub_disk_close, which will
35549 call p->close (scsi).
35550
81a06771 355512008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 35552
35553 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
35554 (AC_PREREQ): Bumped to 2.59.
35555 (AC_TRY_COMPILE): Replace obsolete macro with ...
35556 (AC_COMPILE_IFELSE): ... this.
35557 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
35558 (AC_LINK_IFELSE): ... this.
35559
5dc43410 355602008-09-21 Felix Zielcke <fzielcke@z-51.de>
35561
35562 * autogen.sh: Add a call to `gendistlist.sh'.
35563
9035dce4 355642008-09-19 Christian Franke <franke@computer.org>
35565
35566 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
35567 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
35568 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
35569 Export __enable_execute_stack() to modules.
35570 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
35571 New function.
35572
7fd75377 355732008-09-09 Felix Zielcke <fzielcke@z-51.de>
35574
040030b3 35575 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
35576 Sort the list.
35577
355782008-09-09 Felix Zielcke <fzielcke@z-51.de>
35579
35580 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 35581 #include <grub/util/hostdisk.h>.
35582
89d5ffcf 355832008-09-08 Robert Millan <rmh@aybabtu.com>
35584
35585 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
35586 segments when their filesz is zero (grub_file_read() interprets
81a06771 35587 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 35588 Use `lowest_segment' rather than 0 for calculating the current
35589 segment load address.
35590
40da438f 355912008-09-08 Robert Millan <rmh@aybabtu.com>
35592
35593 * util/hostdisk.c (open_device): Replace a grub_util_info() call
35594 with grub_dprintf("hostdisk", ...), as it was so verbose that it
35595 clobbered useful information.
35596
ddbf5556 355972008-09-08 Robert Millan <rmh@aybabtu.com>
35598
35599 * include/grub/util/biosdisk.h: Move to ...
35600 * include/grub/util/hostdisk.h: ... here. Update all users.
35601 * util/biosdisk.c: Move to ...
35602 * util/hostdisk.c: ... here. Update all users.
35603
783d0f48 356042008-09-07 Robert Millan <rmh@aybabtu.com>
35605
35606 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
35607 variables.
35608 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
35609 and length can be stored directly in the `mbi->mmap_addr' and
35610 `mbi->mmap_length' struct fields.
35611
548e2ea5 356122008-09-07 Robert Millan <rmh@aybabtu.com>
35613
35614 * conf/i386.rmk: New file. Provides declaration for building
35615 `cpuid.mod'.
35616 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
35617 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
35618 variables.
35619 Include `conf/i386.mk'.
35620 * conf/i386-efi.rmk: Likewise.
35621 * conf/x86_64-efi.rmk: Likewise.
35622 * conf/i386-coreboot.rmk: Likewise.
35623 * conf/i386-ieee1275.rmk: Likewise.
35624
0ea85a37 356252008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
35626
35627 Based on patch created by Colin D Bennett <colin@gibibit.com>.
35628 Adds optimization support for BGR based modes.
35629
35630 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
35631 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
35632 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35633 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35634 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35635 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35636 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35637 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35638 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35639 (grub_video_i386_vbeblit_index_index): Likewise.
35640 (grub_video_i386_vbeblit_replace_directN): Added.
35641 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
35642 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
35643 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
35644 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
35645 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
35646 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 35647 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 35648 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
35649 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
35650 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
35651 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
35652 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
35653 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
35654
35655 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
35656 (grub_video_i386_vbefill_R8G8B8): Likewise.
35657 (grub_video_i386_vbefill_index): Likewise.
35658 (grub_video_i386_vbefill_direct32): Added.
35659 (grub_video_i386_vbefill_direct24): Likewise.
35660 (grub_video_i386_vbefill_direct16): Likewise.
35661 (grub_video_i386_vbefill_direct8): Likewise.
35662
81a06771 35663 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 35664 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
35665 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
35666 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
35667 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
35668 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 35669
0ea85a37 35670 * video/video.c (grub_video_get_blit_format): Updated to use new
35671 blit formats. Added handling for 16 bit color modes.
81a06771 35672
35673 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 35674 fillers.
35675 (common_blitter): Updated to use new blitters.
35676
35677 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
35678 Removed.
35679 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
35680 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35681 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35682 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35683 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35684 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35685 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35686 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35687 (grub_video_i386_vbeblit_index_index): Likewise.
35688 (grub_video_i386_vbeblit_replace_directN): Added.
35689 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
35690 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
35691 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
35692 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
35693 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
35694 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
35695 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
35696 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
35697 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
35698 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
35699 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
35700 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
35701 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 35702
0ea85a37 35703 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
35704 (grub_video_i386_vbefill_R8G8B8): Likewise.
35705 (grub_video_i386_vbefill_index): Likewise.
35706 (grub_video_i386_vbefill_direct32): Added.
35707 (grub_video_i386_vbefill_direct24): Likewise.
35708 (grub_video_i386_vbefill_direct16): Likewise.
35709 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 35710
0ea85a37 35711 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
35712 types.
81a06771 35713
0ea85a37 35714 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
35715 types.
81a06771 35716
0ea85a37 35717 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
35718 blitter types.
81a06771 35719
0ea85a37 35720 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
35721 types.
35722
e8a83df6 357232008-09-06 Felix Zielcke <fzielcke@z-51.de>
35724
35725 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
35726 RAID level 1.
35727
6bcd8ee5 357282008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 35729
6bcd8ee5 35730 * fs/iso9660.c (grub_iso9660_date): New structure.
35731 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
35732 (grub_iso9660_uuid): New function.
c375ae58 35733
59261157 357342008-09-05 Bean <bean123ch@gmail.com>
35735
35736 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
35737
35738 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
35739 insensitive bit for names in Win32 and Win32 & DOS namespace.
35740
35741 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
35742
35743 * include/grub/types.h (LONG_MAX): Likewise.
35744
58b6645a 357452008-09-04 Felix Zielcke <fzielcke@z-51.de>
35746
4ee55921 35747 * util/getroot.c: Include <config.h>.
35748 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
35749 add support for /dev/md/N devices and handle LVM double dash escaping.
35750
357512008-09-04 Felix Zielcke <fzielcke@z-51.de>
35752
35753 * config.guess: Update to latest version from config git.
35754 * config.sub: Likewise.
58b6645a 35755
9124f65d 357562008-09-03 Robert Millan <rmh@aybabtu.com>
35757
35758 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
35759 `disk->total_sectors'.
35760
81a06771 357612008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 35762
35763 * include/grub/normal.h: Fixed incorrect comment for
35764 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
35765
81a06771 357662008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 35767
35768 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
35769 values with defines.
35770
35771 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
35772 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
35773 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
35774 (GRUB_VBE_MODEATTR_COLOR): Likewise.
35775 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
35776 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
35777 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
35778 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
35779 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
35780 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
35781 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
35782 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
35783 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
35784 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
35785 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
35786 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
35787 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
35788 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
35789 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
35790
93d5cbf8 357912008-08-31 Robert Millan <rmh@aybabtu.com>
35792
35793 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
35794 declaration.
35795 (grub_multiboot): Fix a few warnings.
35796
21751d50 357972008-08-31 Robert Millan <rmh@aybabtu.com>
35798
35799 * loader/i386/pc/multiboot.c: Update comment not to say that
35800 boot_device support is unimplemented.
35801
e27a75c5 358022008-08-31 Robert Millan <rmh@aybabtu.com>
35803
35804 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
35805 or memory map support are unimplemented.
35806
81a06771 358072008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 35808
35809 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
35810
81a06771 358112008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 35812
35813 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
35814 total video memory in 'vbeinfo' output; show color format details for
35815 each video mode.
35816
7c5d8d95 358172008-08-30 Pavel Roskin <proski@gnu.org>
35818
35819 * util/genmoddep.c: Remove for real this time.
35820 * DISTLIST: Remove util/genmoddep.c.
35821
4cebd25a 358222008-08-30 Robert Millan <rmh@aybabtu.com>
35823
35824 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
35825 as required by Multiboot spec (it was already 4-byte aligned, but
35826 only by chance).
35827
b497a269 358282008-08-29 Pavel Roskin <proski@gnu.org>
35829
e3925185 35830 * kern/powerpc/ieee1275/crt0.S: Rename to ...
35831 * kern/powerpc/ieee1275/startup.S: ... this.
35832 * conf/powerpc-ieee1275.rmk: Adjust for the above.
35833 * DISTLIST: Likewise.
35834
b497a269 35835 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
35836 grub/cpu/kernel.h. Add start label for consistency with other
35837 platforms. Add grub_prefix immediately after start. Add jump
35838 to the code after grub_prefix.
35839 * include/grub/powerpc/kernel.h: Provide valid values for
35840 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
35841
6e5a42fe 358422008-08-29 Bean <bean123ch@gmail.com>
35843
35844 * configure.ac: Change host_os to cygwin for mingw.
35845 (asprintf): New check for function.
35846
35847 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
35848 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
35849
35850 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 35851 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 35852 sync, sleep and grub_util_get_disk_size for mingw.
35853
35854 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
35855 to get size in mingw.
35856 (open_device): Use flag O_BINARY if it's defined.
35857 (find_root_device): Add dummy code for mingw.
35858
35859 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
35860 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
35861 (get_scsi_disk_name): Return 0 for mingw.
35862
35863 * util/hostfs.c: #include <grub/util/misc.h>.
35864 (grub_hostfs_open): Use "rb" flag to open file, use
35865 grub_util_get_disk_size to get disk size for mingw.
35866
35867 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
35868 (asprintf): New function if HAVE_ASPRINTF is not set.
35869 (sync): New function for mingw.
35870 (sleep): Likewise.
35871 (grub_util_get_disk_size): Likewise.
35872
ab3f2673 358732008-08-28 Pavel Roskin <proski@gnu.org>
35874
35875 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35876 kern/time.c.
35877
1c282483 358782008-08-28 Robert Millan <rmh@aybabtu.com>
35879
35880 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
35881
678e849c 358822008-08-28 Robert Millan <rmh@aybabtu.com>
35883
35884 Change find_grub_drive() syntax so it doesn't prevent it from
35885 detecting NULL names as errors.
35886
35887 * util/biosdisk.c (find_grub_drive): Move free slot search code
35888 from here ...
35889 (find_free_slot): ... to here.
35890 (read_device_map): Use find_free_slot() to search for free slots.
35891
965c75ca 358922008-08-27 Marco Gerards <marco@gnu.org>
35893
35894 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
35895 (scsi_mod_SOURCES): New variable.
35896 (scsi_mod_CFLAGS): Likewise
35897 (scsi_mod_LDFLAGS): Likewise.
35898
35899 * disk/scsi.c: New file.
35900
35901 * include/grub/scsi.h: Likewise.
35902
35903 * include/grub/scsicmd.h: Likewise.
35904
35905 * disk/ata.c: Include <grub/scsi.h>.
35906 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
35907 instead.
35908 (grub_ata_iterate): Skip ATAPI devices.
35909 (grub_ata_open): Only handle ATAPI devices.
35910 (struct grub_atapi_read): Removed.
35911 (grub_atapi_readsector): Likewise.
35912 (grub_ata_read): No longer handle ATAPI devices.
35913 (grub_ata_write): Likewise.
35914 (grub_atapi_iterate): New function.
35915 (grub_atapi_read): Likewise.
35916 (grub_atapi_write): Likewise.
35917 (grub_atapi_open): Likewise.
35918 (grub_atapi_close): Likewise.
35919 (grub_atapi_dev): New variable.
35920 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
35921 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
35922
35923 * include/grub/disk.h (enum grub_disk_dev_id): Add
35924 `GRUB_DISK_DEVICE_SCSI_ID'.
35925
c07ae501 359262008-08-26 Robert Millan <rmh@aybabtu.com>
35927
35928 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
35929 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
35930 descriptive.
35931
5ed20adc 359322008-08-23 Bean <bean123ch@gmail.com>
35933
35934 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
35935 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
35936 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
35937 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
35938 dm_nv.mod.
35939 (raid5rec_mod_SOURCES): New macro.
35940 (raid5rec_mod_CFLAGS): Likewise.
35941 (raid5rec_mod_LDFLAGS): Likewise.
35942 (raid6rec_mod_SOURCES): Likewise.
35943 (raid6rec_mod_CFLAGS): Likewise.
35944 (raid6rec_mod_LDFLAGS): Likewise.
35945 (mdraid_mod_SOURCES): Likewise.
35946 (mdraid_mod_CFLAGS): Likewise.
35947 (mdraid_mod_LDFLAGS): Likewise.
35948 (dm_nv_mod_SOURCES): Likewise.
35949 (dm_nv_mod_CFLAGS): Likewise.
35950 (dm_nv_mod_LDFLAGS): Likewise.
35951
35952 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
35953 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
35954 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
35955
35956 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
35957 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
35958
35959 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35960
35961 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35962
35963 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35964
35965 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35966
35967 * disk/raid5_recover.c: New file.
35968
35969 * disk/raid6_recover.c: Likewise.
35970
35971 * disk/mdraid_linux.c: Likewise.
35972
35973 * disk/dmraid_nvidia.c: Likewise.
35974
35975 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
35976 ULONG_MAX.
35977
35978 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
35979 calculate the size of raid device.
35980 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
35981 different layout of raid5.
35982 (grub_raid_scan_device): Remove code specific to mdraid.
35983 (grub_raid_list): New variable.
35984 (free_array): New function.
35985 (grub_raid_register): Likewise.
35986 (grub_raid_unregister): Likewise.
35987 (grub_raid_rescan): Likewise.
35988 (GRUB_MOD_INIT): Don't iterate device here.
35989 (GRUB_MOD_FINI): Use free_array to release resource.
35990
35991 * include/grub/raid.h: Remove macro and structure specific to mdraid.
35992 (grub_raid5_recover_func_t): New function variable type.
35993 (grub_raid6_recover_func_t): Likewise.
35994 (grub_raid5_recover_func): New variable.
35995 (grub_raid6_recover_func): Likewise.
35996 (grub_raid_register): New function.
35997 (grub_raid_unregister): Likewise.
35998 (grub_raid_rescan): Likewise.
35999 (grub_raid_block_xor): Likewise.
36000
36001 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
36002 (CMD_CRC): New macro.
36003 (part): Removed.
36004 (read_file): Handle device as well as file.
36005 (cmd_crc): New function.
36006 (fstest): Handle multiple disks.
36007 (options): Remove part, raw and long, add root and diskcount.
36008 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 36009 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 36010 add handling for the new options, support multiple disks.
36011
36012 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
36013
29c18915 360142008-08-23 Bean <bean123ch@gmail.com>
36015
36016 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
36017
36018 * genfslist.sh: Ignore kernel.mod.
36019
36020 * genpartmaplist.sh: Likewise.
36021
8415f261 360222008-08-23 Robert Millan <rmh@aybabtu.com>
36023
36024 * util/getroot.c (find_root_device): Skip anything that starts with
36025 a dot, not just directories. This avoids things like /dev/.tmp.md0.
36026
d5a7dc5b 360272008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 36028
d5a7dc5b 36029 * util/update-grub.in (GRUB_GFXMODE): Export variable.
36030 * util/grub.d/00_header.in: Allow the administrator to change default
36031 gfxmode via ${GRUB_GFXMODE}.
36032
380cfbb4 360332008-08-21 Felix Zielcke <fzielcke@z-51.de>
36034
36035 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
36036
c9baafe7 360372008-08-21 Robert Millan <rmh@aybabtu.com>
36038
36039 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
36040 loader.
36041 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
36042 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
36043
e290bef2 360442008-08-20 Carles Pina i Estany <carles@pina.cat>
36045
36046 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
36047 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
36048
f9dbfc96 360492008-08-19 Robert Millan <rmh@aybabtu.com>
36050
36051 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
36052 (struct grub_virtual_screen): Remove `cursor_color'.
36053 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
36054 initialization.
36055 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
36056
dd6bd6ab 360572008-08-18 Robert Millan <rmh@aybabtu.com>
36058
36059 Unify (identical) linux_normal.c files.
36060 * loader/i386/efi/linux_normal.c: Move from here ...
36061 * loader/linux_normal.c: ... to here. Update all users.
36062 * loader/i386/pc/linux_normal.c: Delete. Update all users.
36063 * loader/i386/ieee1275/linux_normal.c: Likewise.
36064
7f42f83e 360652008-08-18 Robert Millan <rmh@aybabtu.com>
36066
36067 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
36068 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
36069 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
36070 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
36071 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
36072 New macros.
36073 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
36074 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
36075 (GRUB_LINUX_CL_END_OFFSET): ... to here.
36076 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
36077 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
36078 (GRUB_EFI_CL_END_OFFSET): Rename to ...
36079 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
36080 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
36081 Initialize `params->video_cursor_x' and `params->video_cursor_y'
36082 portably using grub_getxy().
36083 Replace `-EFI' with `-bzImage' in boot message.
36084
38487ddb 360852008-08-17 Robert Millan <rmh@aybabtu.com>
36086
36087 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
36088
deceb3ec 360892008-08-17 Robert Millan <rmh@aybabtu.com>
36090
36091 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
36092
36093 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
36094 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
36095 (grub_machine_mmap_iterate): New function declaration.
36096 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
36097 structure.
36098 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
36099 macros.
36100
36101 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
36102 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
36103 Move e820 parsing from here ...
36104 * kern/i386/pc/mmap.c: New file.
36105 (grub_machine_mmap_iterate): ... to here.
36106
36107 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
36108 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
36109 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
36110 (grub_available_iterate): Redeclare to return `void', and redeclare
36111 its hook to use grub_uint64_t as addr and size parameters, and rename
36112 to ...
36113 (grub_machine_mmap_iterate): ... this. Update all users.
36114
36115 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
36116 to make it more readable. Rename to ...
36117 (grub_machine_mmap_iterate): ... this.
36118
36119 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
36120 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
36121 (grub_multiboot): Allocate an extra region after the payload, and fill
36122 it with a Multiboot memory map. Adjust a.out loader to calculate size
36123 with the extra space.
36124 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
36125 with the extra space.
36126
f8aa0f43 361272008-08-17 Carles Pina i Estany <carles@pina.cat>
36128
9807deb9 36129 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 36130
605f5bb6 361312008-08-17 Felix Zielcke <fzielcke@z-51.de>
36132
36133 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
36134 mdate-sh to the list `find' searches for.
36135 * DISTLIST: Regenerated.
36136
210db6c6 361372008-08-16 Felix Zielcke <fzielcke@z-51.de>
36138
36139 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
36140 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 36141 genmoddep.awk, gensymlist.sh.in.
36142 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 36143 * DISTLIST: Regenerated.
48cdbfd4 36144 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 36145
1082b929 361462008-08-16 Robert Millan <rmh@aybabtu.com>
36147
36148 * disk/raid.c (grub_raid_init): Handle/report errors set by
36149 grub_device_iterate().
36150 * disk/lvm.c (grub_lvm_init): Likewise.
36151
42ce5170 361522008-08-15 Bean <bean123ch@gmail.com>
36153
36154 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36155 and datehook.mod.
36156 (datetime_mod_SOURCES): New macro.
36157 (datetime_mod_CFLAGS): Likewise.
36158 (datetime_mod_LDFLAGS): Likewise.
36159 (date_mod_SOURCES): Likewise.
36160 (date_mod_CFLAGS): Likewise.
36161 (date_mod_LDFLAGS): Likewise.
36162 (datehook_mod_SOURCES): Likewise.
36163 (datehook_mod_CFLAGS): Likewise.
36164 (datehook_mod_LDFLAGS): Likewise.
36165
36166 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36167 and datehook.mod.
36168 (datetime_mod_SOURCES): New macro.
36169 (datetime_mod_CFLAGS): Likewise.
36170 (datetime_mod_LDFLAGS): Likewise.
36171 (date_mod_SOURCES): Likewise.
36172 (date_mod_CFLAGS): Likewise.
36173 (date_mod_LDFLAGS): Likewise.
36174 (datehook_mod_SOURCES): Likewise.
36175 (datehook_mod_CFLAGS): Likewise.
36176 (datehook_mod_LDFLAGS): Likewise.
36177
36178 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36179 and datehook.mod.
36180 (datetime_mod_SOURCES): New macro.
36181 (datetime_mod_CFLAGS): Likewise.
36182 (datetime_mod_LDFLAGS): Likewise.
36183 (date_mod_SOURCES): Likewise.
36184 (date_mod_CFLAGS): Likewise.
36185 (date_mod_LDFLAGS): Likewise.
36186 (datehook_mod_SOURCES): Likewise.
36187 (datehook_mod_CFLAGS): Likewise.
36188 (datehook_mod_LDFLAGS): Likewise.
36189
36190 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36191 and datehook.mod.
36192 (datetime_mod_SOURCES): New macro.
36193 (datetime_mod_CFLAGS): Likewise.
36194 (datetime_mod_LDFLAGS): Likewise.
36195 (date_mod_SOURCES): Likewise.
36196 (date_mod_CFLAGS): Likewise.
36197 (date_mod_LDFLAGS): Likewise.
36198 (datehook_mod_SOURCES): Likewise.
36199 (datehook_mod_CFLAGS): Likewise.
36200 (datehook_mod_LDFLAGS): Likewise.
36201
36202 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36203 and datehook.mod.
36204 (datetime_mod_SOURCES): New macro.
36205 (datetime_mod_CFLAGS): Likewise.
36206 (datetime_mod_LDFLAGS): Likewise.
36207 (date_mod_SOURCES): Likewise.
36208 (date_mod_CFLAGS): Likewise.
36209 (date_mod_LDFLAGS): Likewise.
36210 (datehook_mod_SOURCES): Likewise.
36211 (datehook_mod_CFLAGS): Likewise.
36212 (datehook_mod_LDFLAGS): Likewise.
36213
36214 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
36215
36216 * commands/date.c: New file.
36217
36218 * hook/datehook.c: Likewise.
36219
36220 * include/grub/lib/datetime.h: Likewise.
36221
36222 * include/grub/i386/cmos.h: Likewise.
36223
36224 * lib/datetime.c: Likewise.
36225
36226 * lib/i386/datetime.c: Likewise.
36227
36228 * lib/efi/datetime.c: Likewise.
36229
0e9242da 362302008-08-14 Robert Millan <rmh@aybabtu.com>
36231
36232 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
36233 (grub_mkelfimage_SOURCES): New variable.
36234 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
36235
36236 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
36237 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
36238 * conf/powerpc-ieee1275.rmk: Likewise.
36239 * conf/i386-ieee1275.rmk: Likewise.
36240
36241 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
36242 * kern/i386/coreboot/init.c: Likewise.
36243
36244 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
36245 with `<grub/cpu/kernel.h>'.
36246 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
36247 to ...
36248 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
36249 * kern/i386/coreboot/startup.S: Likewise.
36250
36251 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
36252 (GRUB_MOD_GAP): Remove.
36253 * include/grub/powerpc/kernel.h: New file.
36254 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
36255 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
36256 * include/grub/i386/kernel.h: New file.
36257 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
36258 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
36259 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
36260
36261 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
36262 `grub-mkelfimage'.
36263 Use --directory when invoking grub_mkimage.
36264
36265 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
36266 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
36267 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
36268 and GRUB_KERNEL_CPU_PREFIX.
36269
b86408f8 362702008-08-14 Felix Zielcke <fzielcke@z-51.de>
36271
d5e619ca 36272 * include/grub/err.h (grub_err_printf): New function prototype.
36273 * util/misc.c (grub_err_printf): New function.
36274 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
36275 grub_printf.
36276 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 36277
7161f0e0 362782008-08-13 Robert Millan <rmh@aybabtu.com>
36279
36280 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
36281
a1967522 362822008-08-13 Robert Millan <rmh@aybabtu.com>
36283
36284 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
36285 boot entry.
36286
371458b5 362872008-08-12 Robert Millan <rmh@aybabtu.com>
36288
36289 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
36290 of the relocation code from here ...
36291 (grub_multiboot): ... to here.
36292 (forward_relocator, backward_relocator): Move from here ...
36293 * kern/i386/loader.S (grub_multiboot_forward_relocator)
36294 (grub_multiboot_backward_relocator): ... to here.
36295 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
36296 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
36297 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
36298 (grub_multiboot_forward_relocator_end)
36299 (grub_multiboot_backward_relocator)
36300 (grub_multiboot_backward_relocator_end): New variables.
36301
05f9452b 363022008-08-12 Bean <bean123ch@gmail.com>
36303
36304 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
36305
20024ab0 363062008-08-11 Robert Millan <rmh@aybabtu.com>
36307
36308 * kern/i386/linuxbios/startup.S: Move from here ...
36309 * kern/i386/coreboot/startup.S: ... to here.
36310
36311 * kern/i386/linuxbios/init.c: Move from here ...
36312 * kern/i386/coreboot/init.c: ... to here.
36313
36314 * kern/i386/linuxbios/table.c: Move from here ...
36315 * kern/i386/coreboot/mmap.c: ... to here.
36316
36317 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
36318
e352e9cd 363192008-08-11 Robert Millan <rmh@aybabtu.com>
36320
36321 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
36322 errors. Leave it to the upper layer to handle them.
36323
2d05bc6a 363242008-08-09 Christian Franke <franke@computer.org>
36325
36326 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
36327 * conf/common.rmk: Install `grub-pe2elf' only if requested.
36328 Install `grub.d/10_windows' only on Cygwin.
36329 * configure.ac: Add subst of `target_os'.
36330 Check `target_os' also before setting TARGET_OBJ2ELF.
36331 Add `--enable-grub-pe2elf'.
36332
042bd419 363332008-08-08 Robert Millan <rmh@aybabtu.com>
36334
36335 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
36336 (grub_last_time): Change type to grub_uint64_t.
36337 (grub_disk_open): Migrate code from to using grub_get_time_ms().
36338 (grub_disk_close): Likewise.
36339
36340 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
36341 (run_menu): Migrate code from to using grub_get_time_ms().
36342
36343 * util/misc.c (grub_get_time_ms): New function.
36344
7f280db5 363452008-08-08 Marco Gerards <marco@gnu.org>
36346
36347 * disk/ata.c (grub_ata_regget): Change return type to
36348 `grub_uint8_t'.
36349 (grub_ata_regget2): Likewise.
36350 (grub_ata_wait_status): New function.
36351 (grub_ata_wait_busy): Removed function, updated all users to use
36352 `grub_ata_wait_status'.
36353 (grub_ata_wait_drq): Likewise.
36354 (grub_ata_cmd): New function.
36355 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
36356 error handling.
36357 (grub_ata_pio_write): Add error handling.
36358 (grub_atapi_identify): Likewise.
36359 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
36360 handling.
36361 (grub_ata_identify): Use `grub_ata_cmd' and improve error
36362 handling. Actually use the detected registers. Reorder the
36363 detection logic such that it is easier to read.
36364 (grub_ata_pciinit): Do not assign the same ID to each controller.
36365 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
36366 handling.
36367 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
36368
36369 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
36370
1fbc5e66 363712008-08-08 Marco Gerards <marco@gnu.org>
36372
36373 * NEWS: Update.
36374
819ce6c0 363752008-08-07 Bean <bean123ch@gmail.com>
36376
36377 * include/grub/x86_64/pci.h: New file.
36378
5c41d44d 363792008-08-07 Christian Franke <franke@computer.org>
36380
36381 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
36382 (TIMER2_GATE): Likewise.
36383 (grub_pit_wait): Add enable/disable of the timer2 gate
36384 bit of port 0x61. This fixes a possible infinite loop.
36385
5ebc275d 363862008-08-07 Bean <bean123ch@gmail.com>
36387
36388 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
36389 kern/i386/tsc.c and kern/i386/pit.c.
36390
36391 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
36392 x86_64 platform.
36393
36394 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
36395 <grub/i386/tsc.h>.
36396
36397 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
36398
e383b3d0 363992008-08-07 Bean <bean123ch@gmail.com>
36400
36401 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
36402
36403 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
36404
36405 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
36406 multiple inclusion. Add #include <grub/types.h>.
36407
1cbb58ac 364082008-08-06 Christian Franke <franke@computer.org>
36409
36410 * conf/common.rmk: Build and install `10_windows'.
36411 * util/grub.d/10_windows.in: New script.
36412
337f5a1e 364132008-08-06 Pavel Roskin <proski@gnu.org>
36414
36415 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
36416
057bc4ac 364172008-08-06 Robert Millan <rmh@aybabtu.com>
36418
36419 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
36420 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
36421
2b99f123 364222008-08-06 Bean <bean123ch@gmail.com>
36423
36424 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
36425 (grub_pxefs_fs_int): Remove dummy definition.
36426 (grub_pxefs_open): Use data->block_size to store the current block
36427 size setting.
36428 (grub_pxefs_read): Use block size stored in data->block_size. As the
36429 value of grub_pxe_blksize can be changed after the file is opened.
36430
9f0234cb 364312008-08-06 Bean <bean123ch@gmail.com>
36432
36433 * fs/i386/pc/pxe.c (curr_file): new variable.
36434 (grub_pxefs_open): Simply the handling of pxe file system. Don't
36435 require the dummy internal file system anymore.
36436 (grub_pxefs_read): Removed.
36437 (grub_pxefs_close): Likewise.
36438 (grub_pxefs_fs_int): Likewise.
36439 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
36440 connection when we switch file.
36441 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
36442
a55d42e0 364432008-08-06 Robert Millan <rmh@aybabtu.com>
36444
36445 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
36446 `halt.mod'.
36447 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
36448 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
36449
36450 * kern/i386/halt.c: New file.
36451 * kern/i386/reboot.c: Likewise.
36452 * include/grub/i386/reboot.h: Likewise.
36453 * include/grub/i386/halt.h: Likewise.
36454
36455 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
36456 Include `<grub/cpu/halt.h>'.
36457 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
36458 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
36459
36460 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
36461 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
36462 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
36463 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
36464 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
36465 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
36466 from here ...
36467 * include/grub/i386/at_keyboard.h: ... to here.
36468
24371d26 364692008-08-05 Robert Millan <rmh@aybabtu.com>
36470
36471 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
36472 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
36473 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
36474 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
36475 `kern/generic/millisleep.c'.
36476
36477 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
36478 instead of grub_get_rtc().
36479 (grub_tsc_init): Initialize `tsc_boot_time'.
36480
36481 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
36482 (grub_machine_init): Use grub_tsc_init() rather than
36483 installing an RTC-based handler via grub_install_get_time_ms().
36484
36485 * kern/i386/pit.c: New file.
36486 * include/grub/i386/pit.h: Likewise.
36487
9e7007b3 364882008-08-05 Bean <bean123ch@gmail.com>
36489
36490 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
36491
36492 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
36493 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
36494 (pxe_mod_SOURCES): New macro.
36495 (pxe_mod_CFLAGS): Likewise.
36496 (pxe_mod_LDFLAGS): Likewise.
36497 (pxecmd_mod_SOURCES): Likewise.
36498 (pxecmd_mod_CFLAGS): Likewise.
36499 (pxecmd_mod_LDFLAGS): Likewise.
36500
36501 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
36502 (grub_pxe_call): Likewise.
36503
36504 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
36505
36506 * commands/i386/pc/pxecmd.c: New file.
36507
9f0234cb 36508 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 36509
36510 * include/grub/i386/pc/pxe.h: Likewise.
36511
6977d49f 365122008-08-05 Bean <bean123ch@gmail.com>
36513
36514 * util/console.c (grub_console_cur_color): New variable.
36515 (grub_console_standard_color): Likewise.
36516 (grub_console_normal_color): Likewise.
36517 (grub_console_highlight_color): Likewise.
36518 (color_map): Likewise.
36519 (use_color): Likewise.
36520 (NUM_COLORS): New macro.
36521 (grub_ncurses_setcolorstate): Handle color properly.
36522 (grub_ncurses_setcolor): Don't change color here, just remember the
36523 settings, color will be set in grub_ncurses_setcolorstate.
36524 (grub_ncurses_getcolor): New function.
36525 (grub_ncurses_init): Initialize color pairs.
36526 (grub_ncurses_term): New member grub_ncurses_getcolor.
36527
9c2ff3ee 365282008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 36529
9c2ff3ee 36530 High resolution timer support. Implemented for x86 CPUs using TSC.
36531 Extracted generic grub_millisleep() so it's linked in only as needed.
36532 This requires a Pentium compatible CPU; if the RDTSC instruction is
36533 not supported, then it falls back on the generic grub_get_time_ms()
36534 implementation that uses the machine's RTC.
36535
36536 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
36537 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
36538 `kern/generic/millisleep.c'.
36539
36540 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
36541 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
36542
36543 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
36544 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
36545
36546 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36547
36548 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36549 `kern/generic/millisleep.c'.
36550
36551 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36552
36553 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
36554
36555 * kern/generic/rtc_get_time_ms.c: New file.
36556
36557 * kern/generic/millisleep.c: New file.
337f5a1e 36558
9c2ff3ee 36559 * kern/misc.c: Don't include
36560 <kern/time.h> anymore.
36561 (grub_millisleep_generic): Removed.
36562
36563 * commands/sleep.c (grub_interruptible_millisleep): Uses
36564 grub_get_time_ms() instead of grub_get_rtc().
36565
36566 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
36567 function.
36568 (grub_cpu_is_cpuid_supported): New inline function.
36569 (grub_cpu_is_tsc_supported): New inline function.
36570 (grub_tsc_init): New function prototype.
36571 (grub_tsc_get_time_ms): New function prototype.
36572
36573 * kern/i386/tsc.c (grub_get_time_ms): New file.
36574
36575 * include/grub/time.h: Include <grub/types.h.
36576 (grub_millisleep_generic): Removed.
36577 (grub_get_time_ms): New prototype.
36578 (grub_install_get_time_ms): New prototype.
36579 (grub_rtc_get_time_ms): New prototype.
36580
36581 * kern/time.c (grub_get_time_ms): New function.
36582 (grub_install_get_time_ms): New function.
36583
36584 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
36585 <grub/time.h> anymore.
36586 (grub_millisleep): Removed.
36587 (grub_machine_init): Call grub_tsc_init.
36588
36589 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
36590 get_time_ms() implementation.
36591
36592 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
36593 (ieee1275_get_time_ms): New function.
36594 (grub_machine_init): Install get_time_ms() implementation.
36595
36596 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
36597 (grub_machine_init): Call grub_tsc_init().
36598 (grub_millisleep): Removed.
bf06a93f 36599
9c2ff3ee 36600 * kern/ieee1275/init.c (grub_millisleep): Removed.
36601 (grub_machine_init): Install ieee1275_get_time_ms()
36602 implementation.
36603 (ieee1275_get_time_ms): New function.
36604 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
36605 real work.
36606
9ec92aaf 366072008-08-05 Marco Gerards <marco@gnu.org>
36608
36609 * disk/ata.c: Include <grub/pci.h>.
36610 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
36611 (grub_ata_initialize): Rewritten.
36612 (grub_ata_device_initialize): New function.
36613
8d23f507 366142008-08-04 Pavel Roskin <proski@gnu.org>
36615
36616 * kern/main.c: Include grub/mm.h.
36617
5e15ee3d 366182008-08-04 Robert Millan <rmh@aybabtu.com>
36619
36620 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
36621 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
36622 corruption problem).
36623
a9053f8f 366242008-08-04 Robert Millan <rmh@aybabtu.com>
36625
36626 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
36627 warnings introduced in my last commit.
36628
dd19c7d7 366292008-08-03 Robert Millan <rmh@aybabtu.com>
36630
36631 Make PCI available on all i386 architectures.
36632
36633 * include/grub/i386/pc/pci.h: Move from here ...
36634 * include/grub/i386/pci.h: ... to here.
36635
36636 * include/grub/i386/pc/pci.h: Remove.
36637 * include/grub/i386/efi/pci.h: Remove.
36638 * include/grub/x86_64/efi/pci.h: Remove.
36639
36640 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
36641 `<grub/cpu/pci.h>'.
36642
36643 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
36644 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
36645 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
36646
36647 * conf/i386-ieee1275.rmk: Likewise.
36648
e14a6184 366492008-08-03 Robert Millan <rmh@aybabtu.com>
36650
36651 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
36652 (grub_console_setcursor): Make it possible to set cursor off.
36653
52768e37 366542008-08-03 Robert Millan <rmh@aybabtu.com>
36655
36656 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
36657 of modules instead of assuming which platform provides what.
36658 * util/update-grub.in: Likewise.
36659
2d52f57f 366602008-08-03 Robert Millan <rmh@aybabtu.com>
36661
36662 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
36663 instead of `grub_install_dos_part' to determine whether a drive needs
36664 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 36665 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 36666
2a5cd121 366672008-08-02 Robert Millan <rmh@aybabtu.com>
36668
36669 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
36670
93808428 366712008-08-02 Robert Millan <rmh@aybabtu.com>
36672
36673 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
36674 of informational grub_dprintf() calls.
36675
3bd0a12a 366762008-08-02 Robert Millan <rmh@aybabtu.com>
36677
36678 * disk/memdisk.c (memdisk_size): Don't initialize.
36679 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
36680
36681 * include/grub/i386/pc/kernel.h
36682 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
36683 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
36684 (grub_memdisk_image_size, grub_arch_memdisk_addr)
36685 (grub_arch_memdisk_size): Remove.
36686
36687 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
36688 field (was only used to transfer a constant). Add `type' field to
36689 support multiple module types.
36690 (grub_module_iterate): New function.
36691
36692 * kern/device.c (grub_device_open): Do not hide error messages
36693 when grub_disk_open() fails. Use grub_print_error() instead.
36694
36695 * kern/i386/pc/init.c (grub_arch_modules_addr)
36696 (grub_arch_memdisk_size): Remove functions.
36697 (grub_arch_modules_addr): Return the module address in high memory
36698 (now that it isn't copied anymore).
36699
36700 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
36701 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
36702 decompression routine (grub_total_module_size already includes that
36703 now). Don't copy modules back to low memory.
36704
36705 * kern/main.c: Include `<grub/mm.h>'.
36706 (grub_load_modules): Split out (and use) ...
36707 (grub_module_iterate): ... this function, which iterates through
36708 module objects and runs a hook.
36709 Comment out grub_mm_init_region() call, as it would cause non-ELF
36710 modules to be overwritten.
36711
36712 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
36713 the memdisk image in its own region, make it part of the module list.
36714 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
36715 (main): Parse --memdisk|-m option, and pass user-provided path as
36716 parameter to generate_image().
36717 (add_segments): Pass `memdisk_path' down to load_modules().
36718 (load_modules): Embed memdisk image in module section when requested.
36719 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
36720 `header.type' instead of `header.offset'.
36721
36722 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
36723 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
36724 (memdisk_mod_LDFLAGS): New variables.
36725 * conf/i386-coreboot.rmk: Likewise.
36726 * conf/i386-ieee1275.rmk: Likewise.
36727
a927cc73 367282008-08-02 Robert Millan <rmh@aybabtu.com>
36729
36730 * loader/i386/pc/multiboot.c (playground, forward_relocator)
36731 (backward_relocator): New variables. Used to allocate and relocate
36732 the payload, respectively.
36733 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 36734 address, install the appropriate relocator code in each bound of
a927cc73 36735 the payload, and set the entry point such that
36736 grub_multiboot_real_boot() will jump to one of them.
36737
36738 * kern/i386/loader.S (grub_multiboot_payload_size)
36739 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
36740 (grub_multiboot_payload_entry_offset): New variables.
36741 (grub_multiboot_real_boot): Set cpu context to what the relocator
36742 expects, and jump to the relocator instead of the payload.
36743
36744 * include/grub/i386/loader.h (grub_multiboot_payload_size)
36745 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
36746 (grub_multiboot_payload_entry_offset): Export.
36747
b15d8a0c 367482008-08-01 Bean <bean123ch@gmail.com>
36749
36750 * normal/menu_entry.c (editor_getline): Don't return the original
36751 string as result, as it will be released by lexer once it has done
36752 using it.
36753
cdfb3d22 367542008-08-01 Robert Millan <rmh@aybabtu.com>
36755
36756 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
36757 within menuentries, not before them.
36758 util/grub.d/10_hurd.in: Likewise.
36759
9175e93d 367602008-08-01 Bean <bean123ch@gmail.com>
36761
36762 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
36763 (bufio_mod_SOURCES): New macro.
36764 (bufio_mod_CFLAGS): Likewise.
36765 (bufio_mod_LDFLAGS): Likewise.
36766
36767 * include/grub/bufio.h: New file.
36768
36769 * io/bufio.c: Likewise.
36770
36771 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
36772 (grub_video_reader_png): Use grub_buffile_open to open file.
36773
36774 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
36775 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
36776
36777 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
36778 (grub_video_reader_tga): Use grub_buffile_open to open file.
36779
36780 * font/manager.c: Include <grub/bufio.h>.
36781 (add_font): Use grub_buffile_open to open file.
36782
3d8383e7 367832008-07-31 Robert Millan <rmh@aybabtu.com>
36784
36785 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
36786 ELF segments, use a macro for arbitrarily accessing any of them instead
36787 of preparing a pointer that allows access to one at a time.
36788 (grub_multiboot_load_elf64): Likewise.
36789
16e641b6 367902008-07-31 Bean <bean123ch@gmail.com>
36791
36792 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
36793 GRUB_KERNEL_MACHINE_DATA_END.
36794
59198b72 367952008-07-30 Robert Millan <rmh@aybabtu.com>
36796
36797 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
36798 Increase from 0x50 to 0x60.
36799 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
36800 use UUIDs to identify the root drive for them. If that's not
36801 possible, abort.
36802 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
36803 check, for cross-disk installs.
36804
ae88bca3 368052008-07-30 Robert Millan <rmh@aybabtu.com>
36806
36807 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
36808 is non-empty, use it to set the `prefix' environment variable instead
36809 of the usual approach.
36810 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
36811 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
36812 environment variable instead of dummy make_install_device().
36813
36814 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
36815 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 36816 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 36817
36818 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
36819 New variable reference.
36820 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
36821 New macro. Defines offset of `grub_prefix' within startup.S (relative
36822 to `start').
36823 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
36824 section within startup.S (relative to `start').
36825 * include/grub/i386/coreboot/kernel.h: Likewise.
36826
36827 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
36828 Overwrite grub_prefix with its contents, at the beginning of the
36829 first segment.
36830 (main): Understand -p|--prefix.
36831
14f41dd1 368322008-07-30 Robert Millan <rmh@aybabtu.com>
36833
36834 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
36835
4ca049a3 368362008-07-30 Robert Millan <rmh@aybabtu.com>
36837
36838 * term/i386/pc/vga_text.c (grub_console_cls): Use
36839 grub_console_gotoxy() to go back to beginning of the screen.
36840 Found by Patrick Georgi <patrick.georgi@coresystems.de>
36841
2921d337 368422008-07-29 Christian Franke <franke@computer.org>
36843
36844 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36845 Add conversion of emulated mount points on Cygwin.
36846
b609876d 368472008-07-29 Christian Franke <franke@computer.org>
36848
36849 * util/update-grub.in: Add a check for admin
36850 group on Cygwin.
36851 Remove old `grub.cfg.new' before creation.
36852 Add `-f' to `mv' to handle the different filesystem
36853 semantics of Windows.
36854
e93e4679 368552008-07-29 Bean <bean123ch@gmail.com>
36856
36857 * normal/main.c (get_line): Fix buffer overflow bug.
36858
41694fd0 368592008-07-28 Robert Millan <rmh@aybabtu.com>
36860
36861 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
36862 (struct grub_apple_header): New struct. Describes the layout of
36863 the partmap header.
36864 (apple_partition_map_iterate): Check the header magic as well as the
36865 partition magic (which was already being checked).
36866
cfd0b4e6 368672008-07-28 Pavel Roskin <proski@gnu.org>
36868
36869 * genmk.rb: Add a warning to the beginning of the output that
36870 it's a generated file and should not be edited.
36871
93cce016 368722008-07-28 Robert Millan <rmh@aybabtu.com>
36873
36874 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
36875 with the same number are found, just use issue a warning with
36876 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 36877
cd1df915 368782008-07-27 Robert Millan <rmh@aybabtu.com>
36879
36880 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
36881 information.
36882
b70a8427 368832008-07-27 Bean <bean123ch@gmail.com>
36884
36885 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
36886 (grub_fat_find_dir): Ignore case when comparing filename.
36887
8f5e379f 368882008-07-27 Bean <bean123ch@gmail.com>
36889
36890 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
36891 smallino, as it's more descriptive, and i8count can be confused with
36892 the other field count.
36893 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
36894 inode type.
36895
a85cd5a0 368962008-07-27 Bean <bean123ch@gmail.com>
36897
36898 * commands/crc.c: New file.
36899
36900 * lib/crc.c: Likewise.
36901
36902 * include/grub/lib/crc.h: Likewise.
36903
36904 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
36905
36906 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
36907 (hexdump): Move this function to ...
36908
36909 * lib/hexdump.c: ... here.
36910
36911 * include/grub/hexdump.h: Renamed to ...
36912
36913 * include/grub/lib/hexdump.h: ... this.
36914
36915 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
36916
36917 * util/grub-editenv.c: Likewise.
36918
36919 * include/envblk.h: Renamed to ...
36920
36921 * include/lib/envblk.h: ... this.
36922
36923 * util/envblk.c: Renamed to ...
36924
36925 * lib/envblk.c: ... this.
36926
36927 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
36928 lib/hexdump.c.
36929 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
36930 (pkglib_MODULES): Add crc.mod.
36931 (hexdump_mod_SOURCES): Add lib/hexdump.c.
36932 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
36933 (crc_mod_SOURCES): New macro.
36934 (crc_mod_CFLAGS): Likewise.
36935 (crc_mod_LDFLAGS): Likewise.
36936
36937 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
36938
36939 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36940
36941 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36942
36943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36944
36945 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36946
c298def0 369472008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 36948
36949 * commands/help.c: Include <grub/term.h>.
36950 (TERM_WIDTH): Removed. Updated all users.
36951
cc349fb3 369522008-07-27 Pavel Roskin <proski@gnu.org>
36953
36954 * util/getroot.c (find_root_device): Rephrase a comment to avoid
36955 spurious warnings about a comment within a comment.
36956
9051607e 369572008-07-25 Robert Millan <rmh@aybabtu.com>
36958
36959 * util/getroot.c (find_root_device): Skip devices that match
36960 /dev/dm-[0-9]. This lets the real device be found for any type of
36961 abstraction (LVM, EVMS, RAID..).
36962 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
36963 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
36964 device is found first, find_root_device() will now skip it.
36965
01453bfc 369662008-07-24 Pavel Roskin <proski@gnu.org>
36967
36968 * include/grub/types.h: Use __builtin_bswap32() and
36969 __builtin_bswap64() with gcc 4.3 and newer.
36970
6af9849f 369712008-07-24 Christian Franke <franke@computer.org>
36972
3a0fa256 36973 * util/i386/pc/grub-install.in: If `--debug' is specified,
36974 pass `--verbose' to grub-setup.
36975 Abort script if make_system_path_relative_to_its_root() fails.
36976
7810e747 369772008-07-24 Bean <bean123ch@gmail.com>
36978
36979 * configure.ac: Fixed a bug caused by the previous cygwin patch,
36980 variable `target_platform' should be `platform'.
36981
42290e17 369822008-07-24 Bean <bean123ch@gmail.com>
36983
51cc5193 36984 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 36985 (grub_png_init_fixed_block): New function.
36986 (grub_png_decode_image_data): Handle fixed huffman code compression.
36987
2a8a80e4 369882008-07-24 Bean <bean123ch@gmail.com>
36989
36990 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
36991 (grub_pe2elf_SOURCES): New macro.
36992 (CLEANFILES): Add grub-pe2elf.
36993
36994 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
36995 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
36996 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
36997 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
36998 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
36999 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
37000 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
37001 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
37002 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
37003 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
37004 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
37005 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
37006 (GRUB_PE32_DT_FUNCTION): Likewise.
37007 (GRUB_PE32_REL_I386_DIR32): Likewise.
37008 (GRUB_PE32_REL_I386_REL32): Likewise.
37009 (grub_pe32_symbol): New structure.
37010 (grub_pe32_reloc): Likewise.
37011
37012 * util/grub-pe2elf.c: New file.
37013
37014 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
37015 start symbol in non pc platform.
37016
37017 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
37018
37019 The following patches are from Christian Franke.
37020
37021 * include/grub/dl.h: Remove .previous, gas supports this only
37022 for ELF format.
37023
37024 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
37025 Remove .type, gas supports this only for ELF format.
37026
37027 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
37028 nullbytes in symbol table. This fixes an infinite loop if table is
37029 zero filled.
37030
37031 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
37032 TARGET_IMG_LDFLAGS and EXEEXT.
37033
37034 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
37035 TARGET_IMG_LDFLAGS_AC.
37036 (grub_CHECK_STACK_ARG_PROBE): New function.
37037
37038 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
37039
37040 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
37041
37042 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
37043 to set TARGET_IMG_LD* accordingly.
37044 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
37045 Add call to grub_CHECK_STACK_ARG_PROBE.
37046 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
37047
37048 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
37049
37050 * genmk.rb: Add EXEEXT to CLEANFILES.
37051
12ccdb75 370522008-07-23 Robert Millan <rmh@aybabtu.com>
37053
37054 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
37055 define the codes for arrows and lines used for the menu).
37056 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
37057 as well.
37058
37059 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
37060 fonts, because the latter are too slow.
37061
18eeaf04 370622008-07-21 Bean <bean123ch@gmail.com>
37063
37064 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
37065 a20. Run keyboard test last, as it will cause macbook to halt.
37066
b095e2ad 370672008-07-18 Pavel Roskin <proski@gnu.org>
37068
37069 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
37070 load foreign architecture modules correctly anyway. Keep
37071 support for loading host architecture modules, whether we
37072 compile them or not.
37073
737feb35 370742008-07-17 Pavel Roskin <proski@gnu.org>
37075
3f4ce737 37076 * configure.ac: Use -m32 or -m64 regardless of whether we had to
37077 change target_cpu. The compiler default can mismatch target_cpu
37078 in any case.
37079
4ad2d049 37080 * disk/efi/efidisk.c: Fix format warnings on x86_64.
37081 * kern/efi/efi.c: Likewise.
37082
f6130a12 37083 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
37084 target compiler is functional.
37085 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
37086 are set up.
37087
58393a2d 37088 * configure.ac: Default to efi platform for x86_64-apple. Allow
37089 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
37090 adjustments from the rest, only do them if target is not
37091 explicitly given. Merge other adjustments with the final sanity
37092 check. Remove an extraneous check for supported CPU. Be
37093 specific which CPU and which platform is not supported.
37094
737feb35 37095 * configure.ac: Default to pc platform for x86_64.
37096
546f966a 370972008-07-17 Robert Millan <rmh@aybabtu.com>
37098
37099 Partial LinuxBIOS -> Coreboot rename.
37100
37101 * conf/i386-linuxbios.rmk: Renamed to ...
37102 * conf/i386-coreboot.rmk: ... this.
37103 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
37104 * configure.ac: Accept "coreboot" as input platform (but maintain
37105 compatibility with "linuxbios").
37106 * include/grub/i386/linuxbios: Renamed to ...
37107 * include/grub/i386/coreboot: ... this.
37108
20011694 371092008-07-17 Bean <bean123ch@gmail.com>
37110
37111 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 37112 (appleldr_mod_SOURCE): New variable.
20011694 37113 (appleldr_mod_CFLAGS): Likewise.
37114 (appleldr_mod_LDFLAGS): Likewise.
37115 (pci_mod_SOURCES): Likewise.
37116 (pci_mod_CFLAGS): Likewise.
37117 (pci_mod_LDFLAGS): Likewise.
37118 (lspci_mod_SOURCES): Likewise.
37119 (lspci_mod_CFLAGS): Likewise.
37120 (lspci_mod_LDFLAGS): Likewise.
37121
37122 * conf/x86_64-efi.rmk: New file.
37123
37124 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
37125 macro.
37126 (grub_efidisk_write): Likewise.
37127
37128 * include/efi/api.h (efi_call_0): New macro.
37129 (efi_call_1): Likewise.
37130 (efi_call_2): Likewise.
37131 (efi_call_3): Likewise.
37132 (efi_call_4): Likewise.
37133 (efi_call_5): Likewise.
37134 (efi_call_6): Likewise.
37135
37136 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
37137 grub_rescue_cmd_chainloader.
37138
37139 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
37140 (grub_pe32_optional_header): Change some fields based on i386 or
37141 x86_64 platform.
37142 (GRUB_PE32_PE32_MAGIC): Likewise.
37143
37144 * include/grub/efi/uga_draw.h: New file.
37145
37146 * include/grub/elf.h (STN_ABS): New constant.
37147 (R_X86_64_NONE): Relocation constant for x86_64.
37148 (R_X86_64_64): Likewise.
37149 (R_X86_64_PC32): Likewise.
37150 (R_X86_64_GOT32): Likewise.
37151 (R_X86_64_PLT32): Likewise.
37152 (R_X86_64_COPY): Likewise.
37153 (R_X86_64_GLOB_DAT): Likewise.
37154 (R_X86_64_JUMP_SLOT): Likewise.
37155 (R_X86_64_RELATIVE): Likewise.
37156 (R_X86_64_GOTPCREL): Likewise.
37157 (R_X86_64_32): Likewise.
37158 (R_X86_64_32S): Likewise.
37159 (R_X86_64_16): Likewise.
37160 (R_X86_64_PC16): Likewise.
37161 (R_X86_64_8): Likewise.
37162 (R_X86_64_PC8): Likewise.
37163
37164 * include/grub/i386/efi/pci.h: New file.
37165
37166 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
37167 Change it value based on platform.
37168 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
37169 (GRUB_E820_RAM): Likewise.
37170 (GRUB_E820_RESERVED): Likewise.
37171 (GRUB_E820_ACPI): Likewise.
37172 (GRUB_E820_NVS): Likewise.
37173 (GRUB_E820_EXEC_CODE): Likewise.
37174 (GRUB_E820_MAX_ENTRY): Likewise.
37175 (grub_e820_mmap): New structure.
37176 (linux_kernel_header): Change the efi field according to different
37177 kernel version, also field from linux_kernel_header.
37178
37179 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
37180
37181 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
37182 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
37183 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
37184 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
37185 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
37186 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
37187 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
37188 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
37189 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
37190 (GRUB_PCI_ADDR_IO_MASK): Likewise.
37191
37192 * include/grub/x86_64/efi/kernel.h: New file.
37193
37194 * include/grub/x86_64/efi/loader.h: Likewise.
37195
37196 * include/grub/x86_64/efi/machine.h: Likewise.
37197
37198 * include/grub/x86_64/efi/pci.h: Likewise.
37199
37200 * include/grub/x86_64/efi/time.h: Likewise.
37201
37202 * include/grub/x86_64/linux.h: Likewise.
37203
37204 * include/grub/x86_64/setjmp.h: Likewise.
37205
37206 * include/grub/x86_64/time.h: Likewise.
37207
37208 * include/grub/x86_64/types.h: Likewise.
37209
37210 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
37211 GRUB_TARGET_SIZEOF_VOID_P.
37212
37213 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
37214 (grub_efi_locate_handle): Likewise.
37215 (grub_efi_open_protocol): Likewise.
37216 (grub_efi_set_text_mode): Likewise.
37217 (grub_efi_stall): Likewise.
37218 (grub_exit): Likewise.
37219 (grub_reboot): Likewise.
37220 (grub_halt): Likewise.
37221 (grub_efi_exit_boot_services): Likewise.
37222 (grub_get_rtc): Likewise.
37223
37224 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
37225 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
37226 (grub_efi_allocate_pages): Wrap efi calls.
37227 (grub_efi_free_pages): Wrap efi calls.
37228 (grub_efi_get_memory_map): Wrap efi calls.
37229
37230 * kern/x86_64/dl.c: New file.
37231
37232 * kern/x86_64/efi/callwrap.S: Likewise.
37233
37234 * kern/x86_64/efi/startup.S: Likewise.
37235
37236 * loader/efi/appleloader.c: Likewise.
37237
37238 * loader/efi/chainloader.c (cmdline): New variable.
37239 (grub_chainloader_unload): Wrap efi calls.
37240 (grub_chainloader_boot): Likewise.
37241 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
37242 command line.
37243
37244 * loader/efi/chainloader_normal.c (chainloader_command):
37245 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
37246 command line.
37247
37248 * loader/i386/efi/linux.c (allocate_pages): Change allocation
37249 method.
37250 (grub_e820_add_region): New function.
37251 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
37252 booting.
37253 (grub_find_video_card): New function.
37254 (grub_linux_setup_video): New function.
37255 (grub_rescue_cmd_linux): Probe for video information.
37256
37257 * normal/x86_64/setjmp.S: New file.
37258
37259 * term/efi/console.c (map_char): New function.
37260 (grub_console_putchar): Map unicode char.
37261 (grub_console_checkkey): Wrap efi calls.
37262 (grub_console_getkey): Likewise.
37263 (grub_console_getwh): Likewise.
37264 (grub_console_gotoxy): Likewise.
37265 (grub_console_cls): Likewise.
37266 (grub_console_setcolorstate): Likewise.
37267 (grub_console_setcursor): Likewise.
37268
37269 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
37270
59652a20 372712008-07-16 Pavel Roskin <proski@gnu.org>
37272
ef294055 37273 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
37274 format strings.
37275
59652a20 37276 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
37277 pointer, not an integer. This fixes a warning and prevents
37278 precision loss on 64-bit systems.
37279 (relocate_addresses): Remove unneeded cast.
37280
afc3b5d7 372812008-07-15 Pavel Roskin <proski@gnu.org>
37282
506b2b3e 37283 * kern/i386/ieee1275/init.c: Include grub/cache.h.
37284
62ead89c 37285 * term/ieee1275/ofconsole.c: Disable code unused on i386.
37286
c4cd51d7 37287 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
37288 Fix comparison between signed and unsigned.
37289
0d3d8f28 37290 * include/grub/i386/ieee1275/console.h: Declare
37291 grub_console_init() and grub_console_fini().
37292
8804b286 37293 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
37294 It's empty and unused.
37295
ee01cf35 37296 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
37297 beginning to avoid warnings with some compilers.
37298
afc3b5d7 37299 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
37300 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
37301
e4e8eaa5 373022008-07-14 Pavel Roskin <proski@gnu.org>
37303
407aceb4 37304 * kern/env.c (grub_register_variable_hook): Don't copy empty
37305 string, it leaks memory. Pass "" to grub_env_set(), it should
37306 handle constant strings.
37307
e4e8eaa5 37308 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
37309 * commands/cmp.c (grub_cmd_cmp): Likewise.
37310 * kern/dl.c (grub_dl_flush_cache): Likewise.
37311 (grub_dl_load_core): Likewise.
37312 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
37313 (grub_elf64_load_phdrs): Likewise.
37314
d4e2dad3 373152008-07-13 Pavel Roskin <proski@gnu.org>
37316
37317 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
37318 between signed and unsigned.
37319 (LzmaEnc_Finish): Fix warning about an unused parameter.
37320
aa24b516 373212008-07-13 Bean <bean123ch@gmail.com>
37322
37323 * Makefile.in (enable_lzo): New rule.
37324
37325 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
37326
37327 * configure.ac (ENABLE_LZO): New option --enable-lzo.
37328
37329 * boot/i386/pc/lnxboot.S: #include <config.h>.
37330
37331 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 37332 its value according to the compression algorithm used, lzo or lzma.
aa24b516 37333
37334 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
37335 compression algorithm according to configure macro.
37336
37337 * kern/i386/pc/startup.S (codestart): Likewise.
37338
37339 * kern/i386/pc/lzma_decode.S: New file.
37340
37341 * include/grub/lib/LzFind.h: Likewise.
37342
37343 * include/grub/lib/LzHash.h: Likewise.
37344
37345 * include/grub/lib/LzmaDec.h: Likewise.
37346
37347 * include/grub/lib/LzmaEnc.h: Likewise.
37348
37349 * include/grub/lib/LzmaTypes.h: Likewise.
37350
37351 * lib/LzFind.c: Likewise.
37352
37353 * lib/LzmaDec.c: Likewise.
37354
37355 * lib/LzmaEnc.c: Likewise.
37356
4ae821ac 373572008-07-13 Bean <bean123ch@gmail.com>
37358
37359 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
37360 (grub_ext4_extent_header): New structure.
37361 (grub_ext4_extent): Likewise.
37362 (grub_ext4_extent_idx): Likewise.
37363 (grub_ext4_find_leaf): New function.
37364 (grub_ext2_read_block): Handle extents.
37365
9a745147 373662008-07-12 Robert Millan <rmh@aybabtu.com>
37367
37368 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
37369
d49a4cf6 373702008-07-11 Robert Millan <rmh@aybabtu.com>
37371
37372 * util/grub.d/40_custom.in: New file. Example on how to add custom
37373 entries to /etc/grub.d.
37374 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
37375 40_custom (implicitly, by merging all the grub.d rules).
37376
947414b4 373772008-07-11 Pavel Roskin <proski@gnu.org>
37378
0059cf6f 37379 * commands/read.c (grub_getline): Fix invalid memory access.
37380 Don't add newline to the variable value.
37381
947414b4 37382 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
37383 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
37384 (serial_hw_get_port): Check validity of the port number.
37385 (grub_cmd_serial): Check return value of serial_hw_get_port().
37386
62a02d00 373872008-07-07 Pavel Roskin <proski@gnu.org>
37388
37389 * boot/i386/pc/diskboot.S (notification_string): Replace
37390 "Loading kernel" with just "loading". This is shorter, less
37391 confusing and saves a few bytes for possible future changes.
37392
3e5581b0 373932008-07-05 Pavel Roskin <proski@gnu.org>
37394
ea387a48 37395 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
37396 size for ATAPI devices, they are undefined. Output sector
37397 number in decimal form.
37398
3e5581b0 37399 * disk/ata.c: Use named constants for status bits.
37400
fdecb8fd 374012008-07-04 Pavel Roskin <proski@gnu.org>
37402
bcd35b90 37403 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
37404 grub_addr_t before casting it to the void pointer to fix a
37405 warning. Non-addressable regions are discarded earlier.
37406 (grub_arch_modules_addr): Cast _end to grub_addr_t.
37407 * kern/i386/linuxbios/table.c: Include grub/misc.h.
37408 (check_signature): Don't shadow table_header.
37409 (grub_linuxbios_table_iterate): Cast numeric constants to
37410 grub_linuxbios_table_header_t.
37411 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
37412 grub_stop().
37413
af58ab3d 37414 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
37415 prevent warnings.
37416
1759aa57 37417 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
37418 pointer, which can cause warnings. Support 64-bit addresses.
37419
fdecb8fd 37420 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
37421 of sizeof(long). This fixes PowerPC image generation on x86_64.
37422
8516d2a8 374232008-07-04 Robert Millan <rmh@aybabtu.com>
37424
37425 This fixes a performance issue when pc & gpt partmap iterators
37426 didn't abort iteration even after our hook found what it was
fe987087 37427 looking for (often causing expensive probes of non-existent drives).
8516d2a8 37428
37429 Some callers relied on previous buggy behaviour, since they would
34c44600 37430 raise an error when their own hooks caused early abortion of its
8516d2a8 37431 iteration.
37432
37433 * kern/device.c (grub_device_open): Improve error message.
37434 * disk/lvm.c (grub_lvm_open): Likewise.
37435 * disk/raid.c (grub_raid_open): Likewise.
37436
37437 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
37438 when hook requests it, independently of grub_errno.
37439 (pc_partition_map_probe): Do not fail when find_func() caused
37440 early abortion of pc_partition_map_iterate().
37441
37442 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
37443 when hook requests it, independently of grub_errno.
37444 (gpt_partition_map_probe): Do not fail when find_func() caused
37445 early abortion of gpt_partition_map_iterate().
37446
37447 * kern/partition.c (grub_partition_iterate): Abort parent iteration
37448 when hook requests it, independently of grub_errno. Do not fail when
37449 part_map_iterate_hook() caused early abortion of p->iterate().
37450
37451 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
37452 when grub_partition_iterate() returned with non-zero.
37453
277d0de9 374542008-07-03 Pavel Roskin <proski@gnu.org>
37455
37456 * disk/ata.c (grub_ata_pio_write): Check status before writing,
37457 like we do in grub_ata_pio_read().
37458 (grub_ata_readwrite): Always write individual sectors. Fix the
37459 sector count for the remainder.
37460 (grub_ata_write): Enable writing to ATA devices. Correctly
37461 report error for ATAPI devices.
37462
d4c9b428 374632008-07-02 Pavel Roskin <proski@gnu.org>
37464
e43fc690 37465 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
37466 warning.
37467
f707af42 37468 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
37469 for every read sector, we already increment it for the whole
37470 batch. This fixes reading more than 256 sectors at once.
37471
11e16b15 37472 * util/grub-editenv.c (cmd_info): Cast argument to long
37473 explicitly. ptrdiff_t reduces to int on i386.
37474
cbabfdd4 37475 * util/grub-editenv.c (main): Be specific which parameter is
37476 missing.
37477
b8fbce0a 37478 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
37479 (memdisk): Make memdisk_orig_addr a pointer.
37480
c9c8e606 37481 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
37482 for file offsets, use grub_off_t instead. Fix printf format
37483 warnings.
37484
ca62e598 37485 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
37486 there. Real unexpected warnings should not drown in the noise
37487 about known problems.
37488
ce8d1766 37489 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
37490 grub_disk_addr_t for memory addresses.
37491
00c7a56a 37492 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
37493 explicitly to fix a warning.
37494
08d3ef09 37495 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
37496
cb71ba20 37497 * Makefile.in (MODULE_LDFLAGS): New variable.
37498 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
37499 the linker accepts --build-id=none.
37500 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
37501 MODULE_LDFLAGS.
37502 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
37503
d4c9b428 37504 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
37505 those in Linux XFS code. Provide a way to access 64-bit parent
37506 inode.
37507 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
37508 the end of struct grub_xfs_dir_header.
37509
d4156eee 375102008-07-02 Bean <bean123ch@gmail.com>
37511
37512 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
37513 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
37514 and GRUB_IEEE1275_FLAG_NO_ANSI.
37515
37516 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
37517 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
37518 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
37519
37520 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
37521 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
37522
37523 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
37524 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
37525
37526 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
37527 esc sequence on non ANSI terminal.
37528 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
37529
37530 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
37531 beginning of file.
37532
2270f77b 375332008-07-02 Bean <bean123ch@gmail.com>
37534
37535 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
37536 (grub_editenv_SOURCES): New variable.
37537 (pkglib_MODULES): Add loadenv.mod.
37538 (loadenv_mod_SOURCES): New variable.
37539 (loadenv_mod_CFLAGS): Likewise.
37540 (loadenv_mod_LDFLAGS): Likewise.
37541
37542 * include/grub/envblk.h: New file.
37543
37544 * util/envblk.c: New file.
37545
37546 * util/grub-editenv.c: New file.
37547
37548 * commands/loadenv.c: New file.
37549
0e9e51ec 375502008-07-01 Pavel Roskin <proski@gnu.org>
37551
d89b7634 37552 * include/multiboot2.h (struct multiboot_tag_module): Use char,
37553 not unsigned char. This fixes warnings and is consistent with
37554 other tags.
37555
bf1835b1 37556 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
37557
8222a04b 37558 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
37559
6a42d99d 37560 * term/tparm.c (analyze): Always set *popcount.
37561
10b159d1 37562 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
37563 cast to fix a warning.
37564
b8789f6c 37565 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
37566 cast to suppress a warning.
37567
29d7e38a 37568 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
37569 grub_fshelp_read_file() expects.
37570
f341f669 37571 * fs/fat.c: Fix UUID calculation on big-endian systems. We
37572 write uuid as a 32-bit value in CPU byte order, so declare and
37573 use it as such.
37574
0e9e51ec 37575 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
37576 long if the format specifier expects it.
37577 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
37578 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37579 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
37580 long to fix a warning.
37581 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
37582 grub_dprintf() arguments to fix warnings.
37583
3aefa857 375842008-06-30 Pavel Roskin <proski@gnu.org>
37585
56c7668b 37586 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
37587 install_bsd_part immediately before core.img is embedded or
37588 modified on disk. This fixes core.img verification if core.img
37589 cannot be embedded.
37590
3aefa857 37591 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
37592 core_path to calculate the blocklist.
37593 Patch from Javier Martín <lordhabbit@gmail.com>
37594
5444088d 375952008-06-29 Robert Millan <rmh@aybabtu.com>
37596
37597 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
37598 block to disk block.
37599 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
37600 Patch from Niels Böhm <bitbucket@arcor.de>
37601
674835c8 376022008-06-29 Robert Millan <rmh@aybabtu.com>
37603
37604 * util/update-grub_lib.in (font_path): Search for fonts in
37605 /boot/grub first, which is more likely to be readable (we aren't
37606 deciding where fonts live, just looking for them).
37607
f527dbc8 376082008-06-26 Pavel Roskin <proski@gnu.org>
37609
6c2d8df6 37610 * util/biosdisk.c (read_device_map): Don't leave dead map
37611 entries for devices failing stat() check.
37612
f527dbc8 37613 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
37614 core_path_dev for the core.img path on the target device.
37615
aebe3d13 376162008-06-26 Robert Millan <rmh@aybabtu.com>
37617
37618 * disk/fs_uuid.c: New file.
37619 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
37620 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
37621 (fs_uuid_mod_LDFLAGS): New variables.
37622 * include/grub/disk.h (grub_disk_dev_id): Add
37623 `GRUB_DISK_DEVICE_UUID_ID'.
37624 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
37625 implement iterate().
37626
37aaf354 376272008-06-26 Robert Millan <rmh@aybabtu.com>
37628
37629 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
37630 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
37631 Linux image includes no initrd.
37632
25ff262a 376332008-06-21 Javier Martín <lordhabbit@gmail.com>
37634
37635 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
37636 call to resolve the core image location that effectively appended the
37637 name twice.
37638
76a2bd44 376392008-06-21 Robert Millan <rmh@aybabtu.com>
37640
37641 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
37642 call from here ...
37643
37644 * util/grub.d/10_hurd.in: ... to here ...
37645 * util/grub.d/10_linux.in: ... and here.
37646
650e1c79 376472008-06-19 Robert Millan <rmh@aybabtu.com>
37648
fe987087 37649 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 37650 after it has been set by grub_machine_set_prefix().
37651
6ce63911 376522008-06-19 Robert Millan <rmh@aybabtu.com>
37653
37654 * commands/search.c (search_label, search_fs_uuid, search_file): Print
37655 search result when not saving to variable, not the other way around.
37656 When saving to variable, abort iteration as soon as a match is found.
37657
73940cec 376582008-06-19 Robert Millan <rmh@aybabtu.com>
37659
37660 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
37661 check for partition that provides /boot/grub. Its logic is flawed,
37662 as it prevents prepare_grub_to_access_device() from being called
37663 multiple times.
37664
3c62a39d 376652008-06-19 Robert Millan <rmh@aybabtu.com>
37666
37667 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
37668 "insmod" command directly when abstraction modules are needed,
fe987087 37669 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 37670 since it had already been processed).
37671
47395a42 376722008-06-19 Pavel Roskin <proski@gnu.org>
37673
37674 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
37675 changed. This is needed in case GRUB_LIBDIR changes.
37676 * conf/i386-ieee1275.rmk: Likewise.
37677 * conf/i386-linuxbios.rmk: Likewise.
37678 * conf/i386-pc.rmk: Likewise.
37679 * conf/powerpc-ieee1275.rmk: Likewise.
37680
a145ac2d 376812008-06-18 Pavel Roskin <proski@gnu.org>
37682
37683 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
37684 kernel_elf_symlist.c to symlist.c for consistency with other
37685 architectures. Update all users.
37686 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37687
7847c51e 376882008-06-18 Robert Millan <rmh@aybabtu.com>
37689
37690 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
37691 it in prefix.
37692
37693 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
37694 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
37695 a RAID device, run setup() for all members independently on whether
37696 LVM abstraction is being used.
37697 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
37698 If grub-mkimage has set `*install_dos_part == -2', don't override this
37699 value.
37700 Perform *install_dos_part adjustments independently on whether
37701 we're embedding or not.
37702 Clarify error message when image is too big for embedding.
37703 Remove duplicate *install_dos_part stanza.
37704
b23e5644 377052008-06-17 Robert Millan <rmh@aybabtu.com>
37706
37707 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
37708 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
37709 variables.
37710 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
37711 values in grub_ofconsole_normal_color and
37712 grub_ofconsole_highlight_color (they're not directly related to
37713 background and foreground).
37714 (grub_ofconsole_setcolorstate): Extract background and foreground
37715 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
37716
0aac2f79 377172008-06-17 Robert Millan <rmh@aybabtu.com>
37718
37719 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
37720 /boot/grub for the check in last commit, not /boot (they could be
37721 different partitions).
37722
3cca7ef3 377232008-06-16 Robert Millan <rmh@aybabtu.com>
37724
37725 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
37726 asked to setup access for the same partition that provides /boot,
37727 don't bother using UUIDs since our root already has the value we
37728 want.
37729
347396d8 377302008-06-16 Robert Millan <rmh@aybabtu.com>
37731
37732 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
37733 I2O devices.
37734 Patch from Sven Mueller <sven@debian.org>.
37735
991477f8 377362008-06-16 Robert Millan <rmh@aybabtu.com>
37737
37738 * util/update-grub.in: Check for $EUID instead of $UID.
37739 Reported by Vincent Zweije.
37740
d31a32a1 377412008-06-16 Bean <bean123ch@gmail.com>
37742
fe987087 37743 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 37744 (grub_ext2_read_block): Likewise.
37745 (grub_ext2_read_inode): Likewise.
37746 (grub_ext2_mount): Likewise.
37747 (grub_ext2_close): Likewise.
37748 (grub_ext3_get_journal): Removed.
37749
fe987087 37750 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 37751 (grub_reiserfs_read_symlink): Likewise.
37752 (grub_reiserfs_mount): Likewise.
37753 (grub_reiserfs_open): Likewise.
37754 (grub_reiserfs_read): Likewise.
37755 (grub_reiserfs_close): Likewise.
37756 (grub_reiserfs_get_journal): Removed.
37757
37758 * fs/fshelp.c (grub_fshelp_read): Removed.
37759 (grub_fshelp_map_block): Likewise.
37760
37761 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
37762 (grub_fshelp_journal): Likewise.
37763 (grub_fshelp_read): Likewise.
37764 (grub_fshelp_map_block): Likewise.
37765
3540a760 377662008-06-16 Pavel Roskin <proski@gnu.org>
37767
37768 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
37769 floating point anymore.
37770 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
37771
95614c84 377722008-06-15 Pavel Roskin <proski@gnu.org>
37773
37774 * commands/ls.c (grub_ls_list_files): Use integer calculations
37775 for human readable format, avoid floating point use.
37776 * kern/misc.c (grub_ftoa): Remove.
37777 (grub_vsprintf): Remove floating point support.
37778
50465dd6 377792008-06-15 Robert Millan <rmh@aybabtu.com>
37780
fe6b695a 37781 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 37782 devices.
37783 Reported by Max Vozeler.
37784
a9207284 377852008-06-15 Robert Millan <rmh@aybabtu.com>
37786
37787 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
37788 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
37789 skipped later.
37790 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
37791 the beginning of the prefix.
37792
37793 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
37794 It is assumed that if we have a memdisk, grub-mkimage has set
37795 grub_prefix to include the "(memdisk)" drive in it.
37796
a7cbd45a 377972008-06-15 Robert Millan <rmh@aybabtu.com>
37798
37799 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
37800 Initialize keyboard controller after registering the terminal, so that
37801 grub_printf() can be called from grub_keyboard_controller_init().
37802
21cf716a 378032008-06-15 Robert Millan <rmh@aybabtu.com>
37804
37805 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
37806 extent-btree which is written as big endian on disk.
37807 Reported by Alain Greppin <al@chilibi.org>.
37808
23a64d8e 378092008-06-14 Robert Millan <rmh@aybabtu.com>
37810
37811 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
37812 * util/i386/pc/grub-install.in (modules): Likewise.
37813
d687651c 378142008-06-13 Pavel Roskin <proski@gnu.org>
37815
37816 * commands/ls.c (grub_ls_list_files): Fix format warnings.
37817
dfe9ddd4 378182008-06-13 Bean <bean123ch@gmail.com>
37819
37820 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
37821
37822 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
37823
37824 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
37825 to indicate sparse block.
37826
16ae7781 378272008-06-12 Pavel Roskin <proski@gnu.org>
37828
e6d1a308 37829 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
37830 number, grub_fshelp_read() does it for us.
37831
16ae7781 37832 * fs/fshelp.c (grub_fshelp_read): New function. Implement
37833 linear disk read with journal translation.
37834 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
37835 * include/grub/fshelp.h: Declare grub_fshelp_read().
37836
40fd3a2b 378372008-06-09 Pavel Roskin <proski@gnu.org>
37838
37839 * fs/minix.c (grub_minix_mount): Handle error reading
37840 superblock.
37841
f5679726 378422008-06-08 Robert Millan <rmh@aybabtu.com>
37843
37844 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
37845 don't append the RAID prefix afterwards.
37846 Reported by Clint Adams.
37847
ce525529 378482008-06-08 Robert Millan <rmh@aybabtu.com>
37849
37850 Based on description from Pavel:
37851 * kern/disk.c (grub_disk_check_range): Rename to ...
37852 (grub_disk_adjust_range): ... this. Add a comment explaining the
37853 tasks performed by this function.
37854
ad4936a0 378552008-06-08 Robert Millan <rmh@aybabtu.com>
37856
37857 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
37858 `num_serial' (for consistency with other variables).
37859 (struct grub_ntfs_data): Add `uuid' member.
37860 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
37861 (grub_ntfs_uuid): New function.
37862 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
37863
dc20b0f9 378642008-06-07 Pavel Roskin <proski@gnu.org>
37865
37866 * util/biosdisk.c (open_device): Revert last change to the
37867 function, it broke installation. The sector needs to be
37868 different dependent on which device is opened.
37869
c5e3cfba 378702008-06-06 Robert Millan <rmh@aybabtu.com>
37871
37872 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
37873 rest of GRUB, and breakage doesn't happen if its value were modified.
37874
37875 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37876 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
37877 a constant (same value).
37878 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
37879 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
37880
26a1f8c4 378812008-06-06 Robert Millan <rmh@aybabtu.com>
37882
37883 * util/biosdisk.c (open_device): Do not modify sector offset when
37884 accessing a partition. kern/disk.c already handles this for us.
37885
25d6b327 378862008-06-06 Robert Millan <rmh@aybabtu.com>
37887
37888 * util/grub-emu.c (grub_machine_init): Move code in this function from
37889 here ...
37890 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
37891 segfault in case grub_printf() is called).
37892
37893 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
37894 grub_probe. Update all users not to explicitly add it again.
37895 (grub_device): New variable; contains corresponding device for grubdir.
37896 (fs_module, partmap_module, devabstraction_module): Pass
37897 `--device ${grub_device}' to grub_probe to avoid traversing /dev
37898 every time.
37899
9ece62fb 379002008-06-05 Robert Millan <rmh@aybabtu.com>
37901
37902 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
37903 is found, print it (same layout as with labels).
37904
1ad36d37 379052008-06-04 Robert Millan <rmh@aybabtu.com>
37906
37907 * util/biosdisk.c (get_drive): Rename to ...
37908 (find_grub_drive): ... this. Update all users.
37909
37910 (get_os_disk): Rename to ...
37911 (convert_system_partition_to_system_disk): ... this. Update all users.
37912
37913 (find_drive): Rename to ...
37914 (find_system_device): ... this. Update all users.
37915
e6a30859 379162008-06-04 Robert Millan <rmh@aybabtu.com>
37917
37918 * util/biosdisk.c (get_os_disk): Handle IDA devices.
37919 * util/grub-mkdevicemap.c (get_mmc_disk_name)
37920 (make_device_map): Likewise.
37921
00c108a4 379222008-06-01 Robert Millan <rmh@aybabtu.com>
37923
37924 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
37925 before dereferencing it.
37926
37927 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
37928 union with fat12/fat16-specific ones. Add some new fields, including
37929 `num_serial' for both versions.
37930 (struct grub_fat_data): Add `uuid' member.
37931 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
37932 names. Initialize `data->uuid' using `num_serial'.
37933 (grub_fat_uuid): New function.
37934 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
37935
37936 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
37937 (grub_reiserfs_uuid): New function.
37938 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
37939 member.
37940
37941 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
37942 (grub_xfs_uuid): New function.
37943 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
37944
1385c5bb 379452008-06-01 Robert Millan <rmh@aybabtu.com>
37946
37947 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
37948 code that is backward compatible with pre-uuid search command.
37949
c682dfd7 379502008-05-31 Robert Millan <rmh@aybabtu.com>
37951
37952 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
37953 floppies after everything else, to ensure floppy drive isn't accessed
37954 unnecessarily (patch from Bean).
37955
b7db5d47 379562008-05-31 Robert Millan <rmh@aybabtu.com>
37957
37958 * commands/search.c (search_label, search_fs_uuid, search_file): Do
37959 not print device names when we were asked to set a variable.
37960
6e037aa9 379612008-05-31 Robert Millan <rmh@aybabtu.com>
37962
37963 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
37964 using "cursor-on" and "cursor-off" commands (understood at least by
37965 the Open Firmware flavour on OLPC).
37966
41305bc8 379672008-05-31 Michael Gorven <michael@gorven.za.net>
37968
37969 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
37970 on and off sequences.
37971
69ba137e 379722008-05-31 Robert Millan <rmh@aybabtu.com>
37973
37974 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
37975 * util/update-grub.in: Likewise.
37976
520ae21b 379772008-05-30 Pavel Roskin <proski@gnu.org>
37978
37979 * util/biosdisk.c (linux_find_partition): Simplify logic and
37980 make the code more universal. Keep special processing for
37981 devfs, but use a simple rule for all other devices. If the
37982 device ends with a number, append 'p' and the partition number.
37983 Otherwise, append only the partition number.
37984
5786569b 379852008-05-30 Robert Millan <rmh@aybabtu.com>
37986
37987 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
37988 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
37989 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
37990 the `root' parameter to Linux.
37991
51500452 379922008-05-30 Robert Millan <rmh@aybabtu.com>
37993
37994 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
37995 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
37996 --fs_uuid with --fs-uuid.
37997 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
37998 all filesystems support them).
37999
811d3878 380002008-05-30 Robert Millan <rmh@aybabtu.com>
38001
38002 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 38003 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 38004
cab63c95 380052008-05-30 Robert Millan <rmh@aybabtu.com>
38006
38007 * util/grub.d/00_header.in: Remove obsolete comment referencing
38008 convert_system_path_to_grub_path().
38009 * util/update-grub.in: Likewise.
38010 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
38011 (convert_system_path_to_grub_path): Add a warning message explaining
38012 that this function is deprecated. Rely on is_path_readable_by_grub()
38013 for the readability checks.
38014 (font_path): Use is_path_readable_by_grub() for the readability
38015 check rather than convert_system_path_to_grub_path().
38016
972e2f7a 380172008-05-30 Robert Millan <rmh@aybabtu.com>
38018
38019 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
38020 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
38021 converting it first.
38022 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
38023 grub.cfg for access to font file, and afterwards call it again to set
38024 the root device.
38025
62191274 380262008-05-30 Robert Millan <rmh@aybabtu.com>
38027
38028 * commands/search.c (options): Add --fs_uuid option.
38029 (search_fs_uuid): New function.
38030 (grub_cmd_search): Fix --set argument passing.
38031 Use search_fs_uuid() when requested via --fs_uuid.
38032 (grub_search_init): Update help message.
38033 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
38034 and redeclare it as an array of 16-bit words.
38035 (grub_ext2_uuid): New function.
38036 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
38037 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
38038 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
38039 (GRUB_DEVICE_BOOT_UUID): New variables.
38040 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
38041 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
38042 whenever possible.
38043 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
38044 just assume `root' variable has the right value.
38045 * util/grub.d/10_linux.in: Likewise.
38046 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
38047 via PRINT_FS_UUID.
38048 (main): Recognise `-t fs_uuid' argument.
38049
01b73ec8 380502008-05-30 Robert Millan <rmh@aybabtu.com>
38051
38052 * util/biosdisk.c (map): Redefine structure to hold information
38053 about GRUB drive name.
fe6b695a 38054 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 38055 drive names.
38056 (call_hook): Remove.
38057 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
38058 member. Assume drive has partitions.
38059 (grub_util_biosdisk_open): Access device names via `.device' struct
38060 member.
38061 (open_device): Likewise.
38062 (find_drive): Likewise.
38063 (read_device_map): Adjust map[] usage to match the new struct
38064 definition. Don't check for duplicates (still possible, but not cheap
38065 anymore).
38066 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
38067 (make_device_name): Remove assumption of BIOS-like drive names.
38068
22f16596 380692008-05-30 Pavel Roskin <proski@gnu.org>
38070
38071 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
38072 compiling execute.c doesn't need grub_script.tab.h anymore.
38073 (normal/command.c_DEPENDENCIES): Likewise.
38074 (normal/function.c_DEPENDENCIES): Likewise.
38075 * conf/i386-ieee1275.rmk: Likewise.
38076 * conf/i386-linuxbios.rmk: Likewise.
38077 * conf/i386-pc.rmk: Likewise.
38078 * conf/powerpc-ieee1275.rmk: Likewise.
38079 * conf/sparc64-ieee1275.rmk: Likewise.
38080
528ad8f2 380812008-05-29 Pavel Roskin <proski@gnu.org>
38082
d1dff95d 38083 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
38084 when scanning metadata for volume group name.
38085
528ad8f2 38086 * include/grub/script.h: Don't include grub_script.tab.h. It's
38087 a generated file, which may only be included from the files with
38088 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
38089 use union YYSTYPE, as the later allows forward declaration.
38090 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
38091
47248e08 380922008-05-29 Robert Millan <rmh@aybabtu.com>
38093
38094 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
38095 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
38096 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
38097 (grub_console_checkkey): Add grub_dprintf() call to report unknown
38098 scan codes.
38099
ee632529 381002008-05-29 Robert Millan <rmh@aybabtu.com>
38101
38102 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
38103 control key combinations.
38104
eee96e08 381052008-05-29 Robert Millan <rmh@aybabtu.com>
38106
38107 * util/powerpc/ieee1275/grub-install.in: Move from here ...
38108 * util/ieee1275/grub-install.in: ... to here.
38109 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
38110 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
38111 (grub_install_SOURCES): Likewise.
38112
da9a6a94 381132008-05-29 Robert Millan <rmh@aybabtu.com>
38114
38115 * fs/affs.c: Update copyright year.
38116 * fs/ext2.c: Likewise.
38117 * fs/fshelp.c: Likewise.
38118 * fs/hfsplus.c: Likewise.
38119 * fs/ntfs.c: Likewise.
38120 * fs/xfs.c: Likewise.
38121 * include/grub/fshelp.h: Likewise.
38122 * util/grub-mkdevicemap.c: Likewise.
38123
12e65f3a 381242008-05-28 Robert Millan <rmh@aybabtu.com>
38125
38126 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
38127 might need to be fatfs to support some firmware implementations
38128 (e.g. OFW or EFI).
38129
23023641 381302008-05-28 Robert Millan <rmh@aybabtu.com>
38131
38132 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
38133 devices.
38134 * util/grub-mkdevicemap.c (get_mmc_disk_name)
38135 (make_device_map): Likewise.
38136
887d2619 381372008-05-20 Bean <bean123ch@gmail.com>
38138
38139 * fs/fshelp.c (grub_fshelp_map_block): New function.
38140 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
38141 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
38142
38143 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
38144 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
38145 (grub_fshelp_journal): New structure.
38146 (grub_fshelp_map_block): New function prototype.
38147 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
38148 (grub_fshelp_map_block): Likewise.
38149
38150 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
38151 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
38152 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
38153 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
38154 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
38155 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
38156 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
38157 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
38158 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
38159 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
38160 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
38161 (grub_ext2_sblock): New members for journal support.
38162 (grub_ext3_journal_header): New structure.
38163 (grub_ext3_journal_revoke_header): Likewise.
38164 (grub_ext3_journal_block_tag): Likewise.
38165 (grub_ext3_journal_sblock): Likewise.
38166 (grub_fshelp_node): New members logfile and journal.
38167 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
38168 grub_fshelp_map_block to get real block number.
38169 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
38170 number.
38171 (grub_ext2_read_inode): Likewise.
38172 (grub_ext3_get_journal): New function.
38173 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
38174 (grub_ext2_close): Release memory used by journal.
38175
38176 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
38177 (REISERFS_MAGIC_DESC_BLOCK): New macro.
38178 (grub_reiserfs_transaction_header): Renamed to
38179 grub_reiserfs_description_block, replace field data with real_blocks.
38180 (grub_reiserfs_commit_block): New structure.
38181 (grub_reiserfs_data): New member journal.
38182 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
38183 number.
38184 (grub_reiserfs_read_symlink): Likewise.
38185 (grub_reiserfs_iterate_dir): Likewise.
38186 (grub_reiserfs_open): Likewise.
38187 (grub_reiserfs_read): Likewise.
38188 (grub_reiserfs_get_journal): New function.
38189 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
38190 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
38191 using grub_reiserfs_get_journal.
38192 (grub_reiserfs_close): Release memory used by journal.
38193
38194 * fs/affs.c (grub_affs_read_block): Change block type to
38195 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
38196
38197 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
38198
38199 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
38200
38201 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
38202
38203 * fs/udf.c (grub_udf_read_block): Change block type to
38204 grub_disk_addr_t. Use type cast to avoid warning.
38205
38206 * fs/xfs.c (grub_xfs_read_block): Likewise.
38207
b7c6bed5 382082008-05-16 Christian Franke <franke@computer.org>
38209
38210 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
38211 to ensure that break with ESC will always work.
38212 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
38213 Remove ESC from keyboard queue.
38214
eedf167f 382152008-05-16 Christian Franke <franke@computer.org>
38216
38217 * util/biosdisk.c: [__CYGWIN__] Add includes.
38218 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
38219 (get_os_disk): Move variable declarations to OS specific
38220 parts to avoid warning.
38221 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
38222 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
38223 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
38224 Cygwin.
38225 * util/getroot.c: [__CYGWIN__] Add includes.
38226 (strip_extra_slashes): Fix "/" case.
38227 [__CYGWIN__] (get_win32_path): New function.
38228 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
38229 [__CYGWIN__] (find_root_device): Disable.
38230 [__CYGWIN__] (get_bootsec_serial): New function.
38231 [__CYGWIN__] (find_cygwin_root_device): Likewise.
38232 [__linux__] (grub_guess_root_device): Add early returns to simplify
38233 structure.
38234 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
38235 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
38236 check for Linux only.
38237
a079699e 382382008-05-15 Bean <bean123ch@gmail.com>
38239
38240 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
38241 keyboard hang problem in apple's intel mac.
38242
1cf4059a 382432008-05-09 Robert Millan <rmh@aybabtu.com>
38244
38245 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
38246 devices.
38247 * util/grub-mkdevicemap.c (get_virtio_disk_name)
38248 (make_device_map): Likewise.
38249 Reported by Aurelien Jarno <aurel32@debian.org>
38250
ed759390 382512008-05-07 Ian Campbell <ijc@hellion.org.uk>
38252
38253 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
38254 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
38255 (make_device_map): Output entries for xvd type disks.
38256
b56c4eaa 382572008-05-07 Robert Millan <rmh@aybabtu.com>
38258
38259 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
38260 devices.
38261 * util/grub-mkdevicemap.c (get_cciss_disk_name)
38262 (make_device_map): Likewise.
38263 Reported by Roland Dreier <rdreier@cisco.com>
38264
7f8866ed 382652008-05-07 Robert Millan <rmh@aybabtu.com>
38266
38267 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
38268 grub_strstr() call. Correct a few mistakes in failure path handling.
38269
b0346e0f 382702008-05-06 Robert Millan <rmh@aybabtu.com>
38271
38272 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
38273 Do not print a trailing slash (therefore, the root directory is an
38274 empty string).
38275 (convert_system_path_to_grub_path): Do not remove trailing slash
38276 from make_system_path_relative_to_its_root() output.
38277
38278 * util/i386/pc/grub-install.in: Add trailing slash to output from
38279 make_system_path_relative_to_its_root().
38280
6cf12cbd 382812008-05-06 Robert Millan <rmh@aybabtu.com>
38282
38283 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
38284 ensures that output lines aren't intermangled with those sent to
38285 stderr (via grub_util_info()).
38286 * util/grub-probe.c (grub_refresh): Likewise.
38287 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
38288
0fbb3117 382892008-05-05 Christian Franke <franke@computer.org>
38290
38291 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
38292 Add Cygwin device names.
38293 (get_ide_disk_name) [__CYGWIN__]: Likewise.
38294 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
38295 (check_device): Return error instead of success on empty name.
38296 (make_device_map): Move label inside linux specific code to
38297 prevent compiler warning.
38298
8124cdb7 382992008-04-30 Robert Millan <rmh@aybabtu.com>
38300
38301 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
38302 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
38303 first boot option.
38304 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
38305
094c01d0 383062008-04-29 Robert Millan <rmh@aybabtu.com>
38307
38308 * docs/grub.cfg: New file (example GRUB configuration).
38309
f4b1fc02 383102008-04-26 Robert Millan <rmh@aybabtu.com>
38311
329ce2a5 38312 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
38313 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
38314 and `disk/ieee1275/nand.c'.
f4b1fc02 38315
25f16ec1 383162008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 38317
25f16ec1 38318 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
38319 i386-linuxbios.
38320
38321 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
38322 change the buffer size to 4096 for cdrom device.
38323
38324 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
38325 and nand.mod.
38326 (_linux_mod_SOURCES): New variable.
38327 (_linux_mod_CFLAGS): Likewise.
38328 (_linux_mod_LDFLAGS): Likewise.
38329 (linux_mod_SOURCES): Likewise.
38330 (linux_mod_CFLAGS): Likewise.
38331 (linux_mod_LDFLAGS): Likewise.
38332 (nand_mod_SOURCES): Likewise.
38333 (nand_mod_CFLAGS): Likewise.
38334 (nand_mod_LDFLAGS): Likewise.
38335
38336 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
38337 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
38338 type property. (nand device in olpc don't have this property)
38339
38340 * include/grub/disk.h (grub_disk_dev_id): New macro
38341 GRUB_DISK_DEVICE_NAND_ID.
38342
38343 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
38344 function prototype.
38345 (grub_rescue_cmd_initrd): Likewise.
38346
38347 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
38348 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
38349 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 38350
25f16ec1 38351 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
38352 GRUB_MACHINE_IEEE1275 is defined.
38353
38354 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
38355 Use NESTED_FUNC_ATTR attribute on the hook parameter.
38356
38357 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
38358 on nested function heap_init.
38359 (grub_upper_mem): New variable for i386-ieee1275.
38360 (grub_get_extended_memory): New function for i386-ieee1275.
38361 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
38362
38363 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
38364 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
38365 property.
f19dbdb7 38366
25f16ec1 38367 * loader/i386/ieee1275/linux.c: New file.
38368
38369 * loader/i386/ieee1275/linux_normal.c: New file.
38370
38371 * disk/ieee1275/nand.c: New file.
38372
e89d61e9 383732008-04-18 Thomas Schwinge <tschwinge@gnu.org>
38374
38375 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
38376 value.
38377 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
38378
602566f6 383792008-04-18 Robert Millan <rmh@aybabtu.com>
38380
38381 Restructures early code path on ieee1275 to unify grub_main() as
38382 the first C function that is executed in every platform.
38383
38384 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
38385 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
38386 cmain().
38387 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
38388 * kern/ieee1275/cmain.c (cmain): Rename to ...
38389 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
38390 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
38391 at the beginning.
38392
57490c2b 383932008-04-18 Robert Millan <rmh@aybabtu.com>
38394
38395 * util/update-grub.in: Fix syntax error when setting
38396 `GRUB_PRELOAD_MODULES'.
38397 Reported by Stephane Chazelas <stephane@artesyncp.com>
38398
1977517d 383992008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
38400
38401 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
38402 section into account, newer toolchains generate unique build ids
38403 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 38404 we want build ids to be preserved
1977517d 38405 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
38406 far from other sections don't cause the raw binary images grow
38407 size
38408
bfb1f1a2 384092008-04-15 Robert Millan <rmh@aybabtu.com>
38410
38411 * disk/lvm.c: Update copyright year.
38412 * kern/misc.c: Likewise.
38413
01979850 384142008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
38415
38416 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 38417 there is no memory left for physical volume name.
01979850 38418
0a1150e2 384192008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
38420
38421 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
38422 volume name mapping to support bigger than 9 character names properly.
38423
82ead3fe 384242008-04-13 Robert Millan <rmh@aybabtu.com>
38425
38426 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
38427 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
38428
e54a72f5 384292008-04-13 Christian Franke <franke@computer.org>
38430
38431 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
38432 to create a floppy emulation boot CD when non emulation mode
38433 does not work.
38434 Enable Joliet CD filesystem extension.
38435
9fe86034 384362008-04-13 Robert Millan <rmh@aybabtu.com>
38437
38438 * kern/misc.c (grub_strncat): Fix off-by-one error.
38439 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
38440
38441 * kern/env.c (grub_env_context_close): Clear current context, not
38442 previous one.
38443 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
38444
38445 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
38446
7ceeee39 384472008-04-13 Robert Millan <rmh@aybabtu.com>
38448
38449 Improve robustness when handling LVM.
38450
38451 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 38452 (and leave `*p' unmodified).
7ceeee39 38453 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
38454 through it.
38455 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
38456 iterating through it.
38457 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
38458 through it.
fe6b695a 38459 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 38460 when due) on each grub_lvm_getvalue() or grub_strstr() call.
38461 Don't assume `vg->pvs != NULL' when iterating through it.
38462
58cd3d85 384632008-04-13 Robert Millan <rmh@aybabtu.com>
38464
38465 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
38466 * genmk.rb (partmap): New variable.
38467 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
38468 (#{partmap}): New target rule.
38469 * genpartmaplist.sh: New file.
38470 * Makefile.in (pkglib_DATA): Add partmap.lst.
38471 (partmap.lst): New target rule.
38472 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
38473 modules (including all partition maps), instead of preloading them.
38474
78b51059 384752007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
38476
38477 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
38478 `linux-boot-prober' (if installed) to detect other operating
38479 systems which are installed on the computer and add them to
38480 the boot menu.
38481 * conf/common.rmk: Build and install 30_os-prober.
38482
a91627b4 384832008-04-12 Robert Millan <rmh@aybabtu.com>
38484
38485 * kern/powerpc/ieee1275/init.c: Move from here ...
38486 * kern/ieee1275/init.c: ... to here. Update all users.
38487
38488 * kern/powerpc/ieee1275/cmain.c: Move from here ...
38489 * kern/ieee1275/cmain.c: ... to here. Update all users.
38490
38491 * kern/powerpc/ieee1275/openfw.c: Move from here ...
38492 * kern/ieee1275/openfw.c: ... to here. Update all users.
38493
38494 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
38495 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
38496
322562ea 384972008-04-10 Pavel Roskin <proski@gnu.org>
38498
38499 * configure.ac: Always use "_cv_" in cache variables for
38500 compatibility with Autoconf 2.62.
38501
a02a73c5 385022008-04-07 Robert Millan <rmh@aybabtu.com>
38503
38504 Revert grub/machine/init.h addition by Pavel (since it breaks on
38505 i386-ieee1275 and others):
38506 * util/i386/pc/misc.c: Remove grub/machine/init.h.
38507 * util/powerpc/ieee1275/misc.c: Likewise.
38508
25c024b1 385092008-04-07 Robert Millan <rmh@aybabtu.com>
38510
38511 * util/grub-probe.c (probe): Improve error message.
38512
3cbd2f98 385132008-04-07 Robert Millan <rmh@aybabtu.com>
38514
38515 * util/biosdisk.c (read_device_map): Skip devices that don't exist
38516 (this prevents the presence of a bogus entry from ruining the whole
38517 thing).
38518
87a297bf 385192008-04-06 Pavel Roskin <proski@gnu.org>
38520
36747a62 38521 * util/biosdisk.c: Include grub/util/biosdisk.h.
38522 * util/grub-fstest.c (execute_command): Make static.
38523 * util/grub-mkdevicemap.c (check_device): Likewise.
38524 * util/i386/pc/misc.c: Include grub/machine/init.h.
38525 * util/powerpc/ieee1275/misc.c: Likewise.
38526 * util/lvm.c: Include grub/util/lvm.h.
38527 * util/misc.c: Include grub/kernel.h, grub/misc.h and
38528 grub/cache.h.
38529 * util/raid.c: Include grub/util/raid.h.
38530 (grub_util_getdiskname): Make static.
38531
87a297bf 38532 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
38533 grub_hostfs_fini(), as they are called from grub_init_all() and
38534 grub_fini_all() respectively. This fixes an infinite loop in
38535 grub-fstest due to double registration of hostfs.
38536 Reported by Christian Franke <Christian.Franke@t-online.de>
38537
f6ce7629 385382008-04-05 Pavel Roskin <proski@gnu.org>
38539
38540 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
38541 all 8 functions. Otherwise, probe function 0 only.
38542
070e49e4 385432008-04-04 Pavel Roskin <proski@gnu.org>
38544
8b088a4c 38545 * commands/lspci.c (grub_lspci_iter): Print the bus number
38546 correctly.
38547
4f657021 38548 * commands/lspci.c (grub_pci_classes): Fix typos.
38549 (grub_lspci_iter): Don't print func twice. Print vendor ID
38550 before device ID, as it's normally done.
38551
070e49e4 38552 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38553 Fix signedness warnings.
38554 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
38555 Likewise.
38556 * util/ieee1275/get_disk_name.c: Include config.h so that
38557 _GNU_SOURCE is defined and getline() is declared. Mark an
38558 unused argument as such. Fix a signedness warning.
38559
ba7328dc 385602008-04-02 Pavel Roskin <proski@gnu.org>
38561
26887f22 38562 * genkernsyms.sh.in: Use more robust assignments for CC and
38563 srcdir. Quote srcdir.
38564 * gensymlist.sh.in: Likewise. Assert at the compile time that
38565 the symbol table is not empty.
38566
ba7328dc 38567 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
38568 * fs/cpio.c (grub_cpio_read): Likewise.
38569
0f582c6b 385702008-04-01 Pavel Roskin <proski@gnu.org>
38571
4b6e1995 38572 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
38573 * disk/host.c (grub_host_open): Likewise.
38574 * disk/loopback.c (grub_loopback_open): Likewise.
38575 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
38576 disk->id as in disk/host.c, not a multi-character constant.
38577
828a2768 38578 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
38579 later is obsolete, potentially dangerous and sets a bad example.
38580 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
38581 * util/misc.c (grub_util_get_image_size): Likewise.
38582
2bb4fb47 38583 * disk/loopback.c (options): Improve help for "--partitions".
38584
0f582c6b 38585 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
38586 options to align them with the short options, e.g. "echo -e".
38587
a33224e0 385882008-03-31 Bean <bean123ch@gmail.com>
38589
38590 * video/reader/png.c (grub_png_data): New member is_16bit and
38591 image_data.
38592 (grub_png_decode_image_header): Detect 16 bit png image.
38593 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
38594 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
38595 (grub_video_reader_png): Release memory occupied by image_data.
38596
38597 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
38598 4096 bytes.
38599 (grub_nfs_mount): Skip the test for sector per cluster.
38600
38601 * include/grub/ntfs.h (MAX_SPC): Removed.
38602
86cb4f54 386032008-03-31 Bean <bean123ch@gmail.com>
38604
38605 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
38606 (grub_probe_SOURCES): Add fs/afs.c.
38607 (grub_fstest_SOURCES): Likewise.
38608 (afs_mod_SOURCES): New variable.
38609 (afs_mod_CFLAGS): Likewise.
38610 (afs_mod_LDFLAGS): Likewise.
38611
38612 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
38613 (grub_emu_SOURCES): Likewise.
38614
38615 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38616
38617 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38618
38619 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38620
38621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38622
38623 * fs/afs.c: New file.
38624
17c74c21 386252008-03-30 Pavel Roskin <proski@gnu.org>
38626
4cb68e89 38627 * disk/host.c: Include grub/misc.h to fix a warning.
38628 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
38629 warnings about implicit declarations.
38630
8790bb04 38631 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
38632 variable.
38633 * include/grub/i386/loader.h: Change declaration of
38634 grub_linux_boot() to match what grub_loader_set() expects.
38635 * util/getroot.c (grub_guess_root_device): Return const char* to
38636 fix a warning.
38637 * util/grub-probe.c (probe): Fix a warning about uninitialized
38638 abstraction_name variable.
38639 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
38640 second argument as unused to fix a warning.
38641
9a3f3296 38642 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
38643 missing grub_error() call.
38644
0ecef90d 38645 * util/update-grub_lib.in: Define datarootdir, since Autoconf
38646 2.60 and newer uses it to define datadir.
38647
0bf6d401 38648 * commands/sleep.c: Fix warning about implicit declaration.
38649 * disk/memdisk.c: Likewise.
38650 * loader/aout.c: Likewise.
38651 * loader/i386/bsd_normal.c: Likewise.
38652 * util/grub-probe.c: Likewise.
38653
7cdacf97 38654 * commands/i386/cpuid.c (has_longmode): Make static.
38655 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
38656 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
38657
17c74c21 38658 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
38659 GDT. This is more robust, as %ds can change.
38660 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
38661 calling real_to_prot().
38662 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
38663
80a3e68b 386642008-03-28 Pavel Roskin <proski@gnu.org>
38665
38666 * kern/i386/pc/startup.S: Assert that uncompressed functions
38667 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
38668 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
38669 code, as they push parts of the code (error handlers) beyond
38670 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
38671 code as correctness and size.
38672
77bcd272 386732008-03-28 Pavel Roskin <proski@gnu.org>
38674
38675 * kern/i386/pc/startup.S
38676 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
38677 data block address to the real mode, keep offset minimal. This
38678 works around a bug in AWARD BIOS on old Athlon systems, which
38679 makes CD detection hang.
38680
c5dfd43b 386812008-03-26 Pavel Roskin <proski@gnu.org>
38682
38683 * normal/color.c (grub_parse_color_name_pair): Make `name' a
38684 const.
38685 * include/grub/normal.h: Add grub_parse_color_name_pair()
38686 declaration.
38687
bf962df2 386882008-03-24 Bean <bean123ch@gmail.com>
38689
38690 * disk/i386/pc/biosdisk.c (cd_start): Removed.
38691 (cd_count): Removed.
38692 (cd_drive): New variable.
38693 (grub_biosdisk_get_drive): Don't check for (cdN) device.
38694 (grub_biosdisk_call_hook): Likewise.
38695 (grub_biosdisk_iterate): Change cdrom detection method.
38696 (grub_biosdisk_open): Replace cd_start with cd_drive.
38697 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
38698 detect cdrom device.
38699
38700 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
38701 Removed.
38702 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
38703 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
38704 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
38705 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
38706 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
38707 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
38708 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
38709 (grub_biosdisk_cdrp): New structure.
38710 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
38711
38712 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
38713
38714 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
38715 device.
38716
38717 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
38718 New function.
38719
68e7fc7a 387202008-03-20 Robert Millan <rmh@aybabtu.com>
38721
38722 Remove 2 TiB limit in ata.mod.
38723 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
38724 (grub_ata_dumpinfo): Print sector count with 0x%llx.
38725 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
38726 grub_uint64_t instead of grub_uint32_t.
38727
38ad2cf5 387282008-03-05 Bean <bean123ch@gmail.com>
38729
38730 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
38731 (grub_multiboot): Set boot device.
38732
38733 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
38734
2b89344e 387352008-03-02 Bean <bean123ch@gmail.com>
38736
38737 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
38738 symlink_buffer.
38739
87a95d1f 387402008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
38741
38742 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
38743 texinfo.tex.
38744
38745 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
38746 modified.
38747
38748 * docs/fdl.texi: New file.
f19dbdb7 38749
87a95d1f 38750 * docs/mdate-sh: New file. Copied from gnulib.
38751 * docs/texinfo.tex: Likewise.
38752
38753 * config.guess: Updated from gnulib.
38754 * install-sh: Likewise.
38755
7dc15d8e 387562008-02-28 Robert Millan <rmh@aybabtu.com>
38757
38758 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
38759 (aout_mod_SOURCES): New variable.
38760 (aout_mod_CFLAGS): Likewise.
38761 (aout_mod_LDFLAGS): Likewise.
38762
38763 * conf/i386-ieee1275.rmk: Likewise.
38764
b00ab696 387652008-02-28 Robert Millan <rmh@aybabtu.com>
38766
38767 * util/update-grub.in: Reorganise terminal validity check. Accept
38768 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
38769 Based on suggestion by Franklin PIAT.
38770
79ca2d78 387712008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
38772
38773 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
38774 function.
38775 * util/getroot.c (grub_util_check_block_device): New function that
38776 returns the given argument if it is a block device and returns NULL else.
38777 * util/grub-probe.c (argument_is_device): New variable.
38778 (probe): Promote device_name from a variable to an argument. Receive
38779 device_name from grub_util_check_block_device() if path is NULL and from
38780 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 38781 (options): Introduce new parameter '-d, --device'.
79ca2d78 38782 (main): Add description of the new parameter to the help screen.
38783 Rename path variable to argument. Set argument_is_device if the '-d'
38784 option is given. Pass argument to probe() depending on
38785 argument_is_device.
38786
0d16e571 387872008-02-24 Bean <bean123ch@gmail.com>
38788
38789 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
38790 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
38791 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
38792 (GRUB_ISO9660_VOLDESC_PART): Likewise.
38793 (GRUB_ISO9660_VOLDESC_END): Likewise.
38794 (grub_iso9660_primary_voldesc): New member escape.
38795 (grub_iso9660_data): New member joliet.
38796 (grub_iso9660_convert_string): New function.
38797 (grub_iso9660_mount): Detect joliet extension.
38798 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
38799 (grub_iso9660_iso9660_label): Likewise.
38800
38801 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
38802 (grub_setup_SOURCES): Add fs/udf.c.
38803 (grub_fstest_SOURCES): Likewise.
38804 (udf_mod_SOURCES): New variable.
38805 (udf_mod_CFLAGS): Likewise.
38806 (udf_mod_LDFLAGS): Likewise.
38807
38808 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
38809 (grub_emu_SOURCES): Likewise.
38810
38811 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38812
38813 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38814
38815 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38816
38817 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38818
38819 * fs/udf.c: New file.
38820
8a594a17 388212008-02-24 Robert Millan <rmh@aybabtu.com>
38822
38823 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
38824 (normal/lexer.c_DEPENDENCIES): New variables.
38825 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38826 (normal/lexer.c_DEPENDENCIES): Likewise.
38827 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
38828 (normal/lexer.c_DEPENDENCIES): Likewise.
38829 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
38830 (normal/lexer.c_DEPENDENCIES): Likewise.
38831 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38832 (normal/lexer.c_DEPENDENCIES): Likewise.
38833 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38834 (normal/lexer.c_DEPENDENCIES): Likewise.
38835
2dc33c03 388362008-02-23 Robert Millan <rmh@aybabtu.com>
38837
38838 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
38839 since they were intended to be in hex. This didn't break previously
38840 because of a bug in gpt_partition_map_iterate() (see below).
38841
38842 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
38843 when checking the validity of GPT header.
38844 Remove `partno', since it always provides the same information as `i'.
38845
f6f4cfb0 388462008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
38847
38848 * include/grub/efi/time.h: Fix a wrong comment.
38849
79ff665f 388502008-02-19 Pavel Roskin <proski@gnu.org>
38851
38852 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
38853 message.
38854
d38e24c2 388552008-02-19 Bean <bean123ch@gmail.com>
38856
38857 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
38858 (aout_mod_SOURCES): New variable.
38859 (aout_mod_CFLAGS): Likewise.
38860 (aout_mod_LDFLAGS): Likewise.
38861 (_bsd_mod_SOURCES): New variable.
38862 (_bsd_mod_CFLAGS): Likewise.
38863 (_bsd_mod_LDFLAGS): Likewise.
38864 (bsd_mod_SOURCES): New variable.
38865 (bsd_mod_CFLAGS): Likewise.
38866 (bsd_mod_LDFLAGS): Likewise.
38867
38868 * include/grub/aout.h: New file.
38869
38870 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
38871
38872 * include/grub/i386/bsd.h: New file.
38873
38874 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
38875 to make it public.
38876
38877 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
38878 function is called, so that it's possible to change it inside the hook.
38879 (grub_elf64_load): Likewise.
38880 (grub_elf_file): Don't close the file if elf header is not found.
38881 (grub_elf_close): Close the file if grub_elf_file fails (The new
38882 grub_elf_file won't close it).
38883 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
38884 (grub_elf64_size): Likewise.
38885
38886 * kern/i386/loader.S (grub_unix_real_boot): New function.
38887
38888 * loader/aout.c: New file.
38889
38890 * loader/i386/bsd.c: New file.
38891
38892 * loader/i386/bsd_normal.c: New file.
38893
38894 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
38895
38896 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 38897 can test other formats.
d38e24c2 38898
b93bdb0f 388992008-02-19 Robert Millan <rmh@aybabtu.com>
38900
38901 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
38902 (grub_gpt_partition_type_empty): Redefine with macro from
38903 `<grub/gpt_partition.h>'.
38904 (gpt_partition_map_iterate): Adjust partition type comparison.
38905
38906 Export `entry' as partmap-specific `part.data' struct.
38907 (grub_gpt_header, grub_gpt_partentry): Move from here ...
38908
38909 * include/grub/gpt_partition.h (grub_gpt_header)
38910 (grub_gpt_partentry): ... to here (new file).
38911
38912 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
38913
38914 (grub_gpt_partition_type_bios_boot): New const variable, defined
38915 with macro from `<grub/gpt_partition.h>'.
38916
38917 (setup): Replace `first_start' with `embed_region', which keeps
38918 track of the embed region (and is partmap-agnostic).
38919
38920 Replace find_first_partition_start() with find_usable_region(),
38921 which finds a usable region for embedding using partmap-specific
38922 knowledge (supports PC/MSDOS and GPT).
38923
38924 Fix all assumptions that the embed region start at sector 1, using
38925 `embed_region.start' from now on. Similarly, use `embed_region.end'
38926 rather than `first_start' to calculate available size.
38927
38928 In grub_util_info() message, replace "into after the MBR" with an
38929 indication of the specific sector our embed region starts at.
38930
66cb40f6 389312008-02-19 Robert Millan <rmh@aybabtu.com>
38932
38933 * DISTLIST: Replace `commands/ieee1275/halt.c' and
38934 `commands/ieee1275/reboot.c' with `commands/halt.c' and
38935 `commands/reboot.c'.
38936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
38937 (halt_mod_SOURCES): Likewise.
38938 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
38939 (halt_mod_SOURCES): Likewise.
38940
b7202015 389412008-02-17 Christian Franke <franke@computer.org>
38942
38943 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
38944
32b0fc49 389452008-02-17 Robert Millan <rmh@aybabtu.com>
38946
38947 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
38948 set `first_start' to 0 for non-PC/MSDOS partition maps.
38949
aca63502 389502008-02-16 Robert Millan <rmh@aybabtu.com>
38951
38952 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
38953 do not assume partition map is PC/MSDOS before performing checks that
38954 are specific to that layout.
38955
0de8be86 389562008-02-13 Robert Millan <rmh@aybabtu.com>
38957
38958 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
38959 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
38960 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
38961
c3db8364 389622008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
38963
38964 * configure.ac: Only a cosmetic change on the handling of
38965 -fno-stack-protector.
38966
f714229e 389672008-02-12 Alexandre Boeglin <alex@boeglin.org>
38968
c3db8364 38969 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
38970 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
38971 reboot.c.
f714229e 38972 (grub_install_SOURCES): Add halt.mod and reboot.mod.
38973 (halt_mod_SOURCES): New variable.
38974 (halt_mod_CFLAGS): Likewise.
38975 (halt_mod_LDFLAGS): Likewise.
38976 (reboot_mod_SOURCES): Likewise.
38977 (reboot_mod_CFLAGS): Likewise.
38978 (reboot_mod_LDFLAGS): Likewise.
38979
c3db8364 38980 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
38981 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
38982 reboot.c.
f714229e 38983 (halt_mod_SOURCES): Likewise.
38984 (reboot_mod_SOURCES): Likewise.
38985
c3db8364 38986 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
38987 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 38988 (reboot_mod_SOURCES): Likewise.
38989
38990 * commands/i386/pc/reboot.c: merge this file ...
38991
38992 * commands/ieee1275/reboot.c: ... and this file ...
38993
38994 * commands/reboot.c: ... to this file.
c3db8364 38995 Add some precompiler directive to include the correct header for
38996 each machine.
f714229e 38997
38998 * commands/ieee1275/halt.c: move this file ...
38999
39000 * commands/halt.c: ... to here.
c3db8364 39001 Add some precompiler directive to include the correct header for
39002 each machine.
f714229e 39003
39004 * include/grub/efi/efi.h (grub_reboot): New function declaration.
39005 (grub_halt): Likewise.
39006
39007 * kern/efi/efi.c (grub_reboot): New function.
39008 (grub_halt): Likewise.
39009
c74493e0 390102008-02-12 Robert Millan <rmh@aybabtu.com>
39011
39012 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
39013 /dev (like it is done for /dev/mapper). This doesn't provide support
39014 for EVMS, but at least it is now easy to identify the problem when it
39015 arises.
39016
d0db4b04 390172008-02-11 Robert Millan <rmh@aybabtu.com>
39018
39019 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
39020 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
39021 comparing it with -1, not 0.
39022
bf748642 390232008-02-10 Robert Millan <rmh@aybabtu.com>
39024
39025 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
39026 `disk/lvm.c'.
39027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39028 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
39029
39030 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
39031 `disk/lvm.c' to the end of the list.
39032 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39033 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39034
b5db202a 390352008-02-10 Robert Millan <rmh@aybabtu.com>
39036
39037 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
39038 grub_print_error() instead. This will let user know why we're entering
39039 rescue mode.
39040 Based on suggestions from Sam Morris.
39041
83abee31 390422008-02-10 Alexandre Boeglin <alex@boeglin.org>
39043
39044 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
39045 on remaining N args, instead of "--" arg N times.
39046
78d5a08b 390472008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
39048
39049 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
39050 (fill_with_default_glyph): Changed to use unknown_glyph for fill
39051 pattern for unknown glyphs.
39052
68807e5f 390532008-02-09 Robert Millan <rmh@aybabtu.com>
39054
39055 * configure.ac: Probe for `help2man'.
39056 * Makefile.in (builddir): New variable.
39057 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
39058 or otherwise add a few flags/options to it.
39059 (install-local): For every executable utility or script that is
39060 installed, invoke $(HELP2MAN) to install a manpage based on --help
39061 output.
39062
39063 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
39064 that it doesn't prevent --help from working in build tree.
39065
39066 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
39067 with `bug-grub@gnu.org'.
39068 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
39069 * util/update-grub.in (usage): New function.
39070 Implement proper argument check, with support for --help and --version
39071 (as well as existing -y).
39072
390732008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 39074
39075 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
39076 avoid overwriting previous output.
39077 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
39078
c1962162 390792008-02-09 Robert Millan <rmh@aybabtu.com>
39080
39081 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
39082 drawing the menu.
39083
3dac2e3f 390842008-02-09 Robert Millan <rmh@aybabtu.com>
39085
39086 * commands/sleep.c: New file.
39087 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
39088 (sleep_mod_SOURCES): New variable.
39089 (sleep_mod_CFLAGS): Likewise.
39090 (sleep_mod_LDFLAGS): Likewise.
39091
7a634e08 390922008-02-09 Robert Millan <rmh@aybabtu.com>
39093
39094 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
39095 situations in which we can deduce the RAID size and the superblock
39096 doesn't match it.
39097
b92f0c18 390982008-02-09 Robert Millan <rmh@aybabtu.com>
39099
39100 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
39101 and return a grub_diskmemberlist_t composed of LVM physical volumes.
39102 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
39103
39104 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
39105 and return a grub_diskmemberlist_t composed of physical array members.
39106 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
39107
39108 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
39109 prototype.
39110 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
39111 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
39112 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
39113
39114 * util/grub-probe.c (probe): Move partmap probing code from here ...
39115 (probe_partmap): ... to here.
39116 (probe): Use probe_partmap() once for the disk we're probing, and
39117 additionally, when such disk contains a memberlist() struct member,
39118 once for each disk that is contained in the structure returned by
39119 memberlist().
39120
91a4bf68 391212008-02-09 Robert Millan <rmh@aybabtu.com>
39122
39123 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
39124 environment variable to 'all' in order to obtain debug output from
39125 non-util/ code.
39126 * util/i386/pc/grub-setup.c (main): Likewise.
39127
a96f9caa 391282008-02-08 Robert Millan <rmh@aybabtu.com>
39129
39130 * disk/raid.c (grub_raid_scan_device): Check for
39131 `array->device[sb.this_disk.number]' rather than for
39132 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 39133 guaranteed to be accessible.
a96f9caa 39134
b37a9222 391352008-02-08 Robert Millan <rmh@aybabtu.com>
39136
39137 * disk/raid.c: Update copyright.
39138 * fs/cpio.c: Likewise.
39139 * include/grub/raid.h: Likewise.
39140 * loader/i386/pc/multiboot.c: Likewise.
39141 * util/hostfs.c: Likewise.
39142
5626aee1 391432008-02-08 Robert Millan <rmh@aybabtu.com>
39144
39145 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
39146 to a grub_disk_t array.
39147 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
39148 `device[x]'.
39149 (grub_raid_scan_device): Replace `device[x].name' accesses with
39150 `device[x]->name'. Simplify initialization of `array->device[x]'.
39151
554f0187 391522008-02-08 Robert Millan <rmh@aybabtu.com>
39153
39154 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
39155 grub_dprintf() calls.
39156 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
39157 error message.
39158
1ec8425d 391592008-02-07 Christian Franke <franke@computer.org>
39160
39161 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
39162 instead of fseek and ftell to support large files.
39163 (grub_hostfs_read): Likewise.
39164
f2156fda 391652008-02-07 Robert Millan <rmh@aybabtu.com>
39166
39167 Patch from Jeroen Dekkers.
39168 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 39169 failure, since successfully reading all array members might not be
f2156fda 39170 required.
39171
9216e0e7 391722008-02-06 Robert Millan <rmh@aybabtu.com>
39173
39174 * util/grub-probe.c (probe): Simplify partmap probing (with the
39175 assumption that the first word up to the underscore equals to
39176 the module name).
39177
b0dfd29a 391782008-02-06 Christian Franke <franke@computer.org>
39179
39180 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
39181 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
39182 last block of a cpio or tar stream.
39183 Check for "TRAILER!!!" instead of any empty data
39184 block to detect last block of a cpio stream.
39185 (grub_cpio_dir): Fix constness of variable np.
39186 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
39187 cpio or tar trailer is detected. This fixes a crash
39188 on open of a non existing file.
39189
c32865bf 391902008-02-05 Bean <bean123ch@gmail.com>
39191
39192 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
39193 address of entry.
39194 (grub_multiboot_load_elf64): Likewise.
39195 (grub_multiboot): Initialize mbi structure.
39196
39197 * util/grub-fstest.c: Don't include unused header file script.h.
39198
fe6b695a 39199 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 39200 of file.
39201 (grub_fstest_SOURCES): Likewise.
39202
409480b7 392032008-02-05 Robert Millan <rmh@aybabtu.com>
39204
39205 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
39206 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
39207 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
39208 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
39209
39210 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
39211 (translation_table): Replace hardcoded values with macros
39212 provided by `<grub/term.h>'.
39213
39214 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
39215 (keyboard_map): Correct/add a few values, with macros provided
39216 by `<grub/term.h>'.
39217 (keyboard_map_shift): Zero values that don't differ from their
39218 `keyboard_map' equivalents.
39219 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
39220 Discard the second scan code that is always sent by Caps lock.
39221 Only use `keyboard_map_shift' when it provides a non-zero value,
39222 otherwise fallback to `keyboard_map'.
39223
99fadbaa 392242008-02-04 Bean <bean123ch@gmail.com>
39225
39226 * Makefile.in (enable_grub_fstest): New variable.
39227
39228 * conf/common.rmk (grub_fstest_init.lst): New rule.
39229 (grub_fstest_init.h): Likewise.
39230 (grub_fstest_init.c): Likewise.
39231 (util/grub-fstest.c_DEPENDENCIES): New variable.
39232 (grub_fstest_SOURCES): Likewise.
39233
39234 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
39235
39236 * util/grub-fstest.c: New file.
39237
bf567c50 392382008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39239
39240 Make grub-setup handle a separate root device.
f19dbdb7 39241
bf567c50 39242 * util/i386/pc/grub-setup.c (setup): Always open the root device,
39243 so that the root device can be compared with the destination
39244 device.
39245 When embedding the core image, if the root and destination devices
39246 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
39247 0xFF.
39248 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 39249
9be6b98b 392502008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39251
39252 Add support for having a grub directory in a different drive. This
39253 is still only the data handling part.
f19dbdb7 39254
9be6b98b 39255 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
39256 (codestart): Save %dh in GRUB_ROOT_DRIVE.
39257 (grub_root_drive): New variable.
39258
39259 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
39260 instead of GRUB_BOOT_DRIVE to construct a device name. Set
39261 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
39262 as it was.
39263
39264 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
39265
39266 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
39267 macro.
39268 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
39269
39270 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
39271 is bogus, because PXE booting does not specify any drive
39272 correctly.
39273
39274 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
39275 am not sure if this is really correct.
39276
39277 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
39278 is always identical to the boot drive when booting from a CD.
39279
39280 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
39281 longer.
39282 (root_drive): New variable.
39283 (real_start): Unconditionally set %dh to ROOT_DRIVE.
39284 (setup_sectors): Push %dx right after popping it, because %dh will
39285 be modified later.
39286 (copy_buffer): Restore %dx.
39287
e0ca0677 392882008-02-03 Robert Millan <rmh@aybabtu.com>
39289
39290 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
39291 use `cdboot.img' for cdrom images.
39292
3b3f6629 392932008-02-03 Robert Millan <rmh@aybabtu.com>
39294
39295 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
39296 only setup gfxterm when `font' command has succeeded.
39297
d42b3672 392982008-02-03 Robert Millan <rmh@aybabtu.com>
39299
39300 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
39301 (grub_rescue_cmd_multiboot_loader)
39302 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
39303
fa370ea6 393042008-02-03 Pavel Roskin <proski@gnu.org>
39305
e0c5dacb 39306 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 39307 %edx and %esi from stack only after grub_gate_a20() is called.
39308 grub_gate_a20() clobbers %edx.
39309
f2a76e1d 393102008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39311
39312 * configure.ac (AC_INIT): Bumped to 1.96.
39313
39314 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
39315 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
39316 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
39317 video/readers/png.c.
39318
90fd32d1 393192008-02-03 Bean <bean123ch@gmail.com>
9be665dd 39320
39321 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
39322 (cdboot_img_SOURCES): New variable.
39323 (cdboot_img_ASFLAGS): New variable.
39324 (cdboot_img_LDFLAGS): New variable.
39325
39326 * boot/i386/pc/cdboot.S: New file.
39327
39328 * disk/i386/pc/biosdisk.c (cd_start): New variable.
39329 (cd_count): Likewise.
39330 (grub_biosdisk_get_drive): Add support for cd device.
39331 (grub_biosdisk_call_hook): Likewise.
39332 (grub_biosdisk_iterate): Likewise.
39333 (grub_biosdisk_open): Likewise.
39334 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
39335 (grub_biosdisk_rw): Support reading from cd device.
39336 (GRUB_MOD_INIT): Iterate cd devices.
39337
39338 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
39339 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
39340 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
39341
39342 * kern/i386/pc/init.c (make_install_device): Check for cd device.
39343
4020aa53 393442008-02-02 Robert Millan <rmh@aybabtu.com>
39345
39346 * commands/read.c: New file.
39347 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
39348 (read_mod_SOURCES): New variable.
39349 (read_mod_CFLAGS): Likewise.
39350 (read_mod_LDFLAGS): Likewise.
39351
e03a1132 393522008-02-02 Robert Millan <rmh@aybabtu.com>
39353
39354 * normal/main.c (grub_normal_execute): Check for `menu->size' when
39355 determining whether menu has to be displayed.
39356
58c69220 393572008-02-02 Marco Gerards <marco@gnu.org>
39358
39359 * bus/pci.c: New file.
39360
39361 * include/grub/pci.h: Likewise.
39362
39363 * include/grub/i386/pc/pci.h: Likewise.
39364
39365 * commands/lspci.c: Likewise.
39366
39367 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
39368 `lspci.mod'.
39369 (pci_mod_SOURCES): New variable.
39370 (pci_mod_CFLAGS): Likewise.
39371 (pci_mod_LDFLAGS): Likewise.
39372 (lspci_mod_SOURCES): Likewise.
39373 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 39374 (lspci_mod_LDFLAGS): Likewise.
58c69220 39375
c004e1b4 393762008-02-02 Bean <bean123ch@gmail.com>
39377
39378 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
39379 (grub_ufs_get_file_block): Fix indirect block calculation problem.
39380
39381 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
39382 (grub_xfs_btree_node): New structure.
39383 (grub_xfs_btree_root): New structure.
39384 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
39385 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
39386 (GRUB_XFS_EXTENT_BLOCK): Likewise.
39387 (GRUB_XFS_EXTENT_SIZE): Likewise.
39388 (grub_xfs_read_block): Support btree format type.
39389 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
39390 Use directory block as basic unit.
39391
39392 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
39393
39394 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
39395 __attribute__ ((__regparm__ (1))).
39396
f95562bf 393972008-02-01 Robert Millan <rmh@aybabtu.com>
39398
39399 Correct a mistake in previous commit.
39400
39401 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
39402 top.
39403 (normal/command.c_DEPENDENCIES): New variable.
39404
7d31f41f 394052008-02-01 Robert Millan <rmh@aybabtu.com>
39406
39407 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
39408 top.
39409 (normal/command.c_DEPENDENCIES): New variable.
39410 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
39411 * conf/i386-ieee1275.rmk: Likewise.
39412 * conf/i386-linuxbios.rmk: Likewise.
39413 * conf/i386-pc.rmk: Likewise.
39414 * conf/sparc64-ieee1275.rmk: Likewise.
39415 * conf/powerpc-ieee1275.rmk: Likewise.
39416 (grub_emu_SOURCES): Add `fs/fshelp.c'.
39417
39418 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
39419
60b6be74 394202008-02-01 Robert Millan <rmh@aybabtu.com>
39421
39422 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
39423 call at beginning of function.
39424
078522ab 394252008-01-31 Pavel Roskin <proski@gnu.org>
39426
39427 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 39428 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
39429 (grub_mkrescue_SOURCES): Likewise.
078522ab 39430 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
39431
ccaa8a5f 394322008-01-30 Robert Millan <rmh@aybabtu.com>
39433
39434 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
39435 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
39436 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
39437 (grub_probe_SOURCES): ... to here.
39438
39439 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
39440 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
39441 * conf/i386-ieee1275.rmk: Likewise.
39442 * conf/i386-linuxbios.rmk: Likewise.
39443 * conf/powerpc-ieee1275.rmk: Likewise.
39444
ae5a9cd7 394452008-01-30 Tristan Gingold <gingold@free.fr>
39446
39447 * kern/rescue.c: Silently accept empty lines.
39448
70bc2ef2 394492008-01-29 Bean <bean123ch@gmail.com>
39450
39451 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
39452 (real_code_2): Code cleanup and change comment style.
39453 (move_memory): Avoid using 32-bit address mode.
39454
6a4d50ea 394552008-01-29 Bean <bean123ch@gmail.com>
39456
39457 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
39458 (png_mod_SOURCES): New variable.
39459 (png_mod_CFLAGS): Likewise.
39460 (png_mod_LDFLAGS): Likewise.
39461
39462 * video/readers/png.c: New file.
39463
11cc30ac 394642008-01-28 Robert Millan <rmh@aybabtu.com>
39465
39466 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
39467 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
39468 `ifndef GRUB_MOD_GAP' hack.
39469 * util/elf/grub-mkimage.c (add_segments): Likewise.
39470
3abc589f 394712008-01-27 Robert Millan <rmh@aybabtu.com>
39472
39473 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
39474 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 39475 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 39476
e1907778 394772008-01-27 Robert Millan <rmh@aybabtu.com>
39478
39479 Get grub-emu to build again (including parallel builds).
39480
39481 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
39482 Split into ...
39483 (util/grub-emu.c_DEPENDENCIES): ... this, ...
39484 (normal/execute.c_DEPENDENCIES): ... this, ...
39485 (grub-emu_DEPENDENCIES): ... and this.
39486
39487 * conf/i386-efi.rmk: Likewise.
39488 * conf/i386-linuxbios.rmk: Likewise.
39489 * conf/i386-ieee1275.rmk: Likewise.
39490 * conf/powerpc-ieee1275.rmk: Likewise.
39491 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
39492
2216b101 394932008-01-27 Robert Millan <rmh@aybabtu.com>
39494
39495 * NEWS: Add a few items.
39496
f75172d9 394972008-01-27 Robert Millan <rmh@aybabtu.com>
39498
39499 Fix parallel builds with grub-emu. Based on earlier commit for
39500 grub-probe and grub-setup.
39501
39502 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39503 (util/grub-emu.c_DEPENDENCIES): ... this.
39504 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39505 (util/grub-emu.c_DEPENDENCIES): ... this.
39506 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39507 (util/grub-emu.c_DEPENDENCIES): ... this.
39508 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39509 (util/grub-emu.c_DEPENDENCIES): ... this.
39510 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39511 (util/grub-emu.c_DEPENDENCIES): ... this.
39512
3f51de77 395132008-01-27 Pavel Roskin <proski@gnu.org>
39514
39515 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
39516 to create a gap between _end and the modules added to the image
39517 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
39518 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
39519 * util/elf/grub-mkimage.c (add_segments): Likewise.
39520
2033f53e 395212008-01-26 Pavel Roskin <proski@gnu.org>
39522
39523 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
39524 just return an error.
39525
22da1f6f 395262008-01-26 Bean <bean123ch@gmail.com>
39527
39528 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
39529 (grub_reiserfs_get_item): Save offset of the next item.
39530 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
39531
2a9525e6 395322008-01-25 Robert Millan <rmh@aybabtu.com>
39533
39534 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
39535 make all filesystem sources appear together (possibly fixing omissions
39536 while at it).
39537 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39538 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39539 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39541
39542 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
39543 add `kern/file.c'.
39544 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
39545 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
39546 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
39547 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
39548
39549 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
39550 (probe): Add a sanity check to make sure of our ability to read
39551 requested files when probing for filesystem type.
39552
39553 * genmk.rb: Update copyright year (2007).
39554
39555 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
39556 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
39557 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
39558 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
39559 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
39560 : Remove function prototypes.
39561
b95f71b5 395622008-01-25 Robert Millan <rmh@aybabtu.com>
39563
39564 Revert my previous commits (based on wrong assumption of how grub_errno
39565 works).
39566
fe6b695a 39567 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 39568 * kern/file.c (grub_file_open): Likewise.
39569
d08bbb49 395702008-01-24 Pavel Roskin <proski@gnu.org>
39571
39572 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
39573 that hang if GRUB tries to setup colors.
39574 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
39575 colors for firmwares that don't support it.
39576 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
39577 Recognize Open Hack'Ware, set flags to work around its
39578 limitations.
39579
605e36ed 395802008-01-24 Robert Millan <rmh@aybabtu.com>
39581
39582 * kern/file.c (grub_file_open): Do not account previous failures of
39583 unrelated functions when grub_errno is checked for.
39584 Reported by Oleg Strikov.
39585
bac332a1 395862008-01-24 Bean <bean123ch@gmail.com>
39587
39588 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
39589 (grub_ufs_sblock): New member volume name.
39590 (grub_ufs_find_file): Fix string copy bug.
39591 (grub_ufs_label): Implement this function properly.
39592
39593 * fs/hfs.c (grub_hfs_cnid_type): New enum.
39594 (grub_hfs_iterate_records): Use the correct file number for extents
39595 and catalog file. Fix problem in next index calculation.
39596 (grub_hfs_find_node): Replace recursive function call with loop.
39597 (grub_hfs_iterate_dir): Replace recursive function call with loop.
39598
15c80c09 395992008-01-23 Robert Millan <rmh@aybabtu.com>
39600
39601 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
39602 `<grub/symbol.h>' and `<grub/multiboot.h>'.
39603 (grub_multiboot2_real_boot): New function prototype.
39604
39605 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
39606 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
39607
39608 * kern/i386/ieee1275/init.c (grub_os_area_addr)
39609 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
39610
305338fd 396112008-01-23 Robert Millan <rmh@aybabtu.com>
39612
39613 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
39614 #ifdef'ed out grub_printf().
39615
3ea52685 396162008-01-23 Robert Millan <rmh@aybabtu.com>
39617
39618 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
39619 grub_dprintf calls, since they make "debug=all" mode unusable.
39620 (grub_console_checkkey): Likewise.
39621
5882ae4b 396222008-01-23 Robert Millan <rmh@aybabtu.com>
39623
39624 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39625 `term/i386/pc/at_keyboard.c'.
39626 (pkglib_MODULES): Add `serial.mod'.
39627 (serial_mod_SOURCES): New variable.
39628 (serial_mod_CFLAGS): Likewise.
39629 (serial_mod_LDFLAGS): Likewise.
39630
39631 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
39632 `<grub/powerpc/ieee1275/console.h>'.
39633 (grub_keyboard_controller_init): New function prototype.
39634 (grub_console_checkkey): Likewise.
39635 (grub_console_getkey): Likewise.
39636
39637 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
39638 keyboard on i386.
39639
39640 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
39641 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
39642
06ab5303 396432008-01-23 Robert Millan <rmh@aybabtu.com>
39644
39645 * kern/i386/pc/init.c (make_install_device): When memdisk image is
39646 present, "(memdisk)/boot/grub" becomes the default prefix.
39647
39648 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
39649 a memdisk tarball with all the modules. Add --overlay=DIR option that
39650 allows users to overlay additional files into the image.
39651
dbb475a4 396522008-01-23 Robert Millan <rmh@aybabtu.com>
39653
39654 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
39655 and `machine/memory.h'.
39656 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
39657 (_multiboot_mod_SOURCES): New variable.
39658 (_multiboot_mod_CFLAGS): Likewise.
39659 (_multiboot_mod_LDFLAGS): Likewise.
39660 (multiboot_mod_SOURCES): Likewise.
39661 (multiboot_mod_CFLAGS): Likewise.
39662 (multiboot_mod_LDFLAGS): Likewise.
39663
39664 * include/grub/i386/ieee1275/loader.h: New file.
39665
39666 * include/grub/i386/ieee1275/machine.h: Likewise.
39667
39668 * include/grub/i386/ieee1275/memory.h: Likewise.
39669
39670 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
39671 variable declaration.
39672 (grub_os_area_size): Likewise.
39673
39674 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
39675 (grub_lower_mem, grub_upper_mem): New variables.
39676 (grub_stop_floppy): New function (just to make
39677 grub_multiboot2_real_boot() happy).
39678
39679 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
39680 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
39681 (grub_stop): New function.
39682 Include `"../realmode.S"' and `"../loader.S"'.
39683
39684 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
39685 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
39686
39687 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
39688 rely on grub_multiboot2_real_boot() for final boot.
39689
25638629 396902008-01-22 Robert Millan <rmh@aybabtu.com>
39691
39692 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
39693 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
39694 device that doesn't look like an SD card.
39695 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39696 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
39697 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
39698 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
39699 found.
39700
9dad816d 397012008-01-22 Robert Millan <rmh@aybabtu.com>
39702
39703 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
39704 avoid claiming over our own code.
39705
34842f2d 397062008-01-22 Bean <bean123ch@gmail.com>
39707
39708 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
39709 (jpeg_mod_SOURCES): New variable.
39710 (jpeg_mod_CFLAGS): Likewise.
39711 (jpeg_mod_LDFLAGS): Likewise.
39712
39713 * video/readers/jpeg.c : New file.
39714
44023a28 397152008-01-22 Bean <bean123ch@gmail.com>
39716
39717 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
39718 there are no more items.
39719
bc2d8ac6 397202008-01-21 Robert Millan <rmh@aybabtu.com>
39721
39722 * kern/mm.c (grub_mm_init_region): Improve debug message.
39723
261bd4bc 397242008-01-21 Robert Millan <rmh@aybabtu.com>
39725
39726 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
39727 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
39728 address.
39729 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
39730 a C macro.
39731 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
39732 Indicates start of upper memory.
39733 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
39734 (generate_image): Abort when image size is big enough to corrupt
39735 upper memory.
39736
39737 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
39738 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
39739 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
39740 instead of hardcoding 0xA0000.
39741 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
39742 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
39743 instead of hardcoding 0xA0000.
39744
f970b55e 397452008-01-21 Robert Millan <rmh@aybabtu.com>
39746
39747 * disk/memdisk.c (memdisk_size): New variable.
39748 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
39749 `memdisk_size'.
39750 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
39751 image to dynamic memory.
39752 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
39753 `memdisk_size'. Free memdisk block.
39754
1a8b0526 397552008-01-21 Robert Millan <rmh@aybabtu.com>
39756
39757 Fix detection of very small filesystems (like tar).
39758
39759 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
39760 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
39761 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
39762 a problem with this disk).
39763
6e9b4aab 397642008-01-21 Robert Millan <rmh@aybabtu.com>
39765
39766 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
39767 on grub_biosdisk_rw_standard() error.
39768
0d8837b2 397692008-01-21 Robert Millan <rmh@aybabtu.com>
39770
39771 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
39772 recent changes.
39773 * kern/elf.c: Likewise.
39774 * kern/ieee1275/ieee1275.c: Likewise.
39775 * kern/powerpc/ieee1275/openfw.c: Likewise.
39776 * term/ieee1275/ofconsole.c: Likewise.
39777
ffd36e34 397782008-01-21 Robert Millan <rmh@aybabtu.com>
39779
39780 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
39781
3f0093d0 39782 * include/grub/kernel.h (grub_arch_memdisk_addr)
39783 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 39784
3f0093d0 39785 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
39786 (grub_arch_memdisk_size): ... to here.
ffd36e34 39787
6c391b21 397882008-01-21 Robert Millan <rmh@aybabtu.com>
39789
39790 Mostly based on bugfix from Bean.
39791
39792 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
39793 attribute with hook() parameter.
39794 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
39795 declaration.
39796 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
39797 attribute with hook() parameter.
39798 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
39799 declaration.
39800
55a581dc 398012008-01-21 Robert Millan <rmh@aybabtu.com>
39802
39803 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
39804 (pkglib_MODULES): Add `memdisk.mod'.
39805 (memdisk_mod_SOURCES): New variable.
39806 (memdisk_mod_CFLAGS): Likewise.
39807 (memdisk_mod_LDFLAGS): Likewise.
39808
39809 * disk/memdisk.c: New file.
39810
39811 * include/grub/disk.h (grub_disk_dev_id): Add
39812 `GRUB_DISK_DEVICE_MEMDISK_ID'.
39813
39814 * include/grub/i386/pc/kernel.h
39815 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
39816 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
39817 (grub_kernel_image_size): New variable declaration.
39818 (grub_total_module_size): Likewise.
39819 (grub_memdisk_image_size): Likewise.
39820
39821 * include/grub/i386/pc/memory.h
39822 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
39823
39824 * include/grub/kernel.h: Include `<grub/symbol.h>'.
39825 (grub_arch_memdisk_addr): New variable declaration.
39826 (grub_arch_memdisk_size): Likewise.
39827
39828 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
39829 (grub_arch_memdisk_size): Likewise.
39830
39831 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
39832 (codestart): Replace hardcoded `0x100000' with
39833 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
39834
39835 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
39836 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
39837 not NULL, append the contents of the file it refers to, at the end of
39838 the compressed kernel image. Initialize `grub_memdisk_image_size'
39839 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
39840 (options): Add "memdisk"|'m' option.
39841 (main): Parse --memdisk|-m option, and pass user-provided path as
39842 parameter to generate_image().
39843
3d7f54c9 398442008-01-20 Robert Millan <rmh@aybabtu.com>
39845
39846 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
39847 grub_dprintf() calls from here ...
39848 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
39849
0bf74728 398502008-01-20 Robert Millan <rmh@aybabtu.com>
39851
39852 Fix detection of "real mode" when /options/real-mode? doesn't exist.
39853
39854 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
39855 declaration.
39856 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
39857 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
39858 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 39859 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 39860 property).
39861 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
39862 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
39863
33bf70a7 398642008-01-19 Robert Millan <rmh@aybabtu.com>
39865
fe6b695a 39866 Get rid of confusing function (superseded by
33bf70a7 39867 `grub_ieee1275_get_integer_property')
39868 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
39869 prototype.
39870 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
39871 function.
39872 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
39873 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 39874 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 39875
e2da7d26 398762008-01-19 Robert Millan <rmh@aybabtu.com>
39877
39878 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
39879 command after "shut-down", since implementations differ on which
39880 the command for halt is.
39881
59f1fd8d 398822008-01-19 Robert Millan <rmh@aybabtu.com>
39883
39884 * include/grub/i386/linuxbios/console.h: Add header protection.
39885 (grub_keyboard_controller_init): New function prototype.
39886 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
39887 (KEYBOARD_COMMAND_READ): Likewise.
39888 (KEYBOARD_COMMAND_WRITE): Likewise.
39889 (KEYBOARD_SCANCODE_SET1): Likewise.
39890 (grub_keyboard_controller_write): New function.
39891 (grub_keyboard_controller_read): Likewise.
39892 (grub_keyboard_controller_init): Likewise.
39893
39894 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
39895 (grub_console_init): On coreboot/LinuxBIOS, call
39896 grub_keyboard_controller_init().
39897
5f5a7c15 398982008-01-19 Robert Millan <rmh@aybabtu.com>
39899
39900 PowerPC changes provided by Pavel Roskin.
39901
39902 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
39903 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
39904 don't rely on cmain() doing it.
39905 * kern/i386/ieee1275/startup.S (_start): Store %eax in
39906 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
39907
1210e168 399082008-01-16 Robert Millan <rmh@aybabtu.com>
39909
39910 * include/grub/i386/linuxbios/memory.h
39911 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
39912 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
39913 receive `table_header' as argument. Instead, probe for it in the
39914 known memory ranges where it can be present.
39915 (grub_available_iterate): Do not pass a fixed `table_header' address
39916 to grub_linuxbios_table_iterate().
39917
3d04eab8 399182008-01-15 Robert Millan <rmh@aybabtu.com>
39919
39920 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
39921 * conf/i386-ieee1275.rmk: New file.
39922 * include/grub/i386/ieee1275/console.h: Likewise.
39923 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
39924 * include/grub/i386/ieee1275/kernel.h: Likewise.
39925 * include/grub/i386/ieee1275/time.h: Likewise.
39926 * kern/i386/ieee1275/init.c: Likewise.
39927 * kern/i386/ieee1275/startup.S: Likewise.
39928
d1bc1b73 399292008-01-15 Robert Millan <rmh@aybabtu.com>
39930
39931 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
39932 when pointers are 32-bit (but still do set it to one when they are
39933 64-bit).
39934
66a65807 399352008-01-15 Robert Millan <rmh@aybabtu.com>
39936
39937 * include/grub/ieee1275/ieee1275.h
39938 (grub_ieee1275_get_integer_property): New function prototype.
39939
39940 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
39941 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 39942 grub_ieee1275_get_property() to handle endianness.
66a65807 39943
39944 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
39945 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 39946 where appropriate.
66a65807 39947 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
39948 (grub_map): Likewise.
39949 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
39950
a83ccafd 399512008-01-15 Bean <bean123ch@gmail.com>
39952
39953 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
39954 (grub_script_execute_cmdline): Reset grub_errno.
39955
39956 * normal/main.c (read_config_file): Reset grub_errno.
39957
39958 * normal/parse.y (script_init): New.
39959 (script): Move function and menuentry here.
39960 (delimiter): New.
39961 (command): Add delimiter at the end of command.
39962 (commands): Adjust to match the new command.
39963 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 39964 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 39965 (if): Use the new commands.
39966
39967 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
39968
df6ecfc6 399692008-01-15 Robert Millan <rmh@aybabtu.com>
39970
39971 * normal/menu.c (run_menu): Move timeout message from here ...
39972 (print_timeout): ... to here.
39973 (run_menu): Use print_timeout() once during initial draw to print
39974 the whole message, and again in every clock tick to update only
39975 the number of seconds.
39976
87ae25eb 399772008-01-15 Robert Millan <rmh@aybabtu.com>
39978
39979 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
39980 actual size of `available' from grub_ieee1275_get_property(), and
39981 restrict parsing to that bound.
39982
47bf09a4 399832008-01-15 Christian Franke <franke@computer.org>
39984
39985 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
39986 (argp_program_version): Remove variable.
39987 (argp_program_bug_address): Likewise.
39988 (options): Convert from struct argp_option to struct option.
39989 (struct arguments): Remove.
39990 (parse_opt): Remove.
39991 (usage): New function.
39992 (main): Replace struct args members by simple variables.
39993 Replace argp_parse() by getopt_long().
39994 Add switch to evaluate options.
39995 Add missing "(...)" around root_dev in prefix string.
39996
c86f1469 399972008-01-14 Robert Millan <rmh@aybabtu.com>
39998
39999 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
40000 for grub_ieee1275_exit(), in order to improve portability.
40001
e622c559 400022008-01-14 Robert Millan <rmh@aybabtu.com>
40003
40004 * util/grub.d/10_linux.in (prefix): Define.
40005 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
40006
44cb1ec8 400072008-01-13 Pavel Roskin <proski@gnu.org>
40008
40009 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
40010 grub_errno if no errors have been detected.
40011
1eb8c802 400122008-01-12 Robert Millan <rmh@aybabtu.com>
40013
40014 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
40015 (grub_util_get_dev_abstraction): New function prototype.
40016
40017 * util/getroot.c: Include `<grub/util/getroot.h>'
40018 (grub_util_get_grub_dev): Move detection of abstraction type to ...
40019 (grub_util_get_dev_abstraction): ... here (new function).
40020
40021 * util/grub-probe.c: Convert PRINT_* to an enum. Add
40022 `PRINT_ABSTRACTION'.
40023 (probe): Probe for abstraction type when requested.
40024 (main): Understand `--target=abstraction'.
40025
40026 * util/i386/efi/grub-install.in: Add abstraction module to core
40027 image when it is found to be necessary.
40028 * util/i386/pc/grub-install.in: Likewise.
40029 * util/powerpc/ieee1275/grub-install.in: Likewise.
40030
40031 * util/update-grub_lib.in (font_path): Return system path without
40032 converting to GRUB path.
40033 * util/update-grub.in: Convert system path returned by font_path()
40034 to a GRUB path. Use `grub-probe -t abstraction' to determine what
40035 abstraction module is needed for loading fonts (if any). Export
40036 that as `GRUB_PRELOAD_MODULES'.
40037 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
40038 insmod commands).
40039
52bd3de9 400402008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
40041
40042 Remove some unused code from reiserfs.
f19dbdb7 40043
52bd3de9 40044 * fs/reiserfs.c (struct grub_reiserfs_key)
40045 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
40046 (struct grub_reiserfs_node_body): Removed.
40047 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
40048 Likewise.
40049 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40050 Likewise.
40051 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40052 Likewise.
40053 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40054 Likewise.
40055 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
40056 Likewise.
40057 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
40058 Likewise.
40059 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40060 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40061 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40062
2f80039d 400632008-01-10 Robert Millan <rmh@aybabtu.com>
40064
40065 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
40066 Determines if a file is garbage left by packaging systems, etc.
40067 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
40068 for processing /etc/grub.d scripts.
40069 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
40070 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
40071 as a condition for processing Linux images.
40072
87888032 400732008-01-10 Pavel Roskin <proski@gnu.org>
40074
40075 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
40076 to compile reiserfs.c on PowerPC.
40077
7e54fced 400782008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 40079
40080 * kern/device.c (grub_device_iterate): Do not abort device iteration
40081 when one of the devices cannot be opened.
40082 * kern/disk.c (grub_disk_open): Do not account previous failures of
40083 unrelated functions when grub_errno is checked for.
40084
5aa541e6 400852008-01-08 Robert Millan <rmh@aybabtu.com>
40086
40087 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
40088 `! grub_linux_is_bzimage', change order of address comparison to make
40089 it more intuitive, and improve "too big zImage" error message.
40090
7076340d 400912008-01-08 Robert Millan <rmh@aybabtu.com>
40092
40093 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
40094 `$(update-grub_DATA)'.
40095 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
40096 targets.
40097
9ca70333 400982008-01-07 Robert Millan <rmh@aybabtu.com>
40099
40100 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
40101 which instruction is modified by grub-setup during installation
40102 (since it wasn't obvious by only looking at this file).
40103
38ccf575 401042008-01-07 Robert Millan <rmh@aybabtu.com>
40105
40106 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
40107 listing actual TODO items.
40108
f5db4291 401092008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40110
868967cf 40111 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
40112 correctly.
40113 (grub_reiserfs_get_key_offset): Likewise.
40114 (grub_reiserfs_set_key_offset): Likewise.
40115 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 40116 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 40117
40118 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
40119 better to remove the bitfield version completely.
f19dbdb7 40120
868967cf 401212008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40122
f5db4291 40123 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
40124 allocated from the heap, due to the fshelp implementation.
40125 (grub_reiserfs_dir): Free NODE, due to the same reason.
40126
492e6d9d 401272008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40128
40129 Mostly from Vincent Pelletier:
f19dbdb7 40130
492e6d9d 40131 * fs/reiserfs.c: New file.
f19dbdb7 40132
492e6d9d 40133 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
40134 (reiserfs_mod_SOURCES): New variable.
40135 (reiserfs_mod_CFLAGS): Likewise.
40136 (reiserfs_mod_LDFLAGS): Likewise.
40137
40138 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
40139 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
40140 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
40141 normal/color.c.
40142
9ce3e7c1 401432008-01-06 Robert Millan <rmh@aybabtu.com>
40144
40145 * normal/color.c: Remove `<grub/env.h>'.
40146
f3b58148 401472008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
40148
40149 * include/grub/normal.h: Include <grub/env.h>.
40150
7ac3bcfa 401512008-01-05 Robert Millan <rmh@aybabtu.com>
40152
40153 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
40154 usage example with `(hd0,1)'.
fb358190 40155 Reported by Samuel Thibault.
7ac3bcfa 40156
c8ee99d7 401572008-01-05 Robert Millan <rmh@aybabtu.com>
40158
40159 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
40160 (grub_linux_boot_zimage): Rename to ...
40161 (grub_linux_boot): ... this.
40162 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
40163 (grub_linux_boot_zimage): Conditionalize zImage copy.
40164
40165 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
40166 (grub_linux_boot_bzimage): Remove prototype.
40167 (grub_linux_boot_zimage): Rename to ...
40168 (grub_linux_boot): ... this.
40169
40170 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
40171 (grub_linux_boot): Remove function.
40172
0ece25b1 401732008-01-05 Robert Millan <rmh@aybabtu.com>
40174
40175 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
40176 (grub_env_write_color_highlight): Likewise.
40177 (grub_wait_after_message): Likewise.
40178
40179 * normal/color.c: New file.
40180
40181 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40182 (normal_mod_DEPENDENCIES): Likewise.
40183
40184 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40185 (normal_mod_DEPENDENCIES): Likewise.
40186
40187 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40188 (normal_mod_DEPENDENCIES): Likewise.
40189
40190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40191 (normal_mod_DEPENDENCIES): Likewise.
40192
40193 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
40194 for waiting after a message is printed.
40195 * normal/main.c (read_config_file): Likewise.
40196 (grub_normal_init): Register grub_env_write_color_normal() and
40197 grub_env_write_color_highlight() hooks. Mark `color_normal' and
40198 `color_highlight' variables as global.
40199
40200 * normal/menu.c (grub_wait_after_message): New function.
40201 (grub_color_menu_normal): New variable. Replaces ...
40202 (GRUB_COLOR_MENU_NORMAL): ... this macro.
40203 (grub_color_menu_highlight): New variable. Replaces ...
40204 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
40205 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
40206 `GRUB_TERM_COLOR_STANDARD'.
40207 (print_message): Use `grub_setcolorstate' to reload colors. Rename
40208 `normal_code' and `highlight_code' to `old_color_normal' and
40209 `old_color_highlight', respectively.
40210 (grub_menu_init_page): Update colors when drawing the menu, based on
40211 `menu_color_normal' and `menu_color_highlight' variables.
40212 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
40213 a message is printed.
40214
182dd4e5 402152008-01-05 Robert Millan <rmh@aybabtu.com>
40216
40217 * kern/env.c (grub_env_context_open): Propagate hooks for global
40218 variables to new context.
40219
40220 * kern/main.c (grub_set_root_dev): Export `root' variable.
40221
ddf8f6ad 402222008-01-05 Robert Millan <rmh@aybabtu.com>
40223
40224 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 40225 discs unconditionally, since udev and others have options to provide
ddf8f6ad 40226 them.
40227
d8b43d9b 402282008-01-05 Robert Millan <rmh@aybabtu.com>
40229
40230 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
40231
2bff2de3 402322008-01-04 Christian Franke <franke@computer.org>
40233
40234 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
40235 of eisa_mmap.
40236
97eab917 402372008-01-03 Pavel Roskin <proski@gnu.org>
40238
40239 * kern/i386/linuxbios/init.c: Put "void" to all function
40240 declarations with no arguments.
40241 * kern/powerpc/ieee1275/init.c: Likewise.
40242 * term/i386/pc/at_keyboard.c: Likewise.
40243 * term/i386/pc/vga_text.c: Likewise.
40244 * util/grub-mkdevicemap.c: Likewise.
40245
b9416d00 402462008-01-02 Robert Millan <rmh@aybabtu.com>
40247
40248 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
40249 message when loaded image is out of bounds.
40250 (grub_multiboot_load_elf64): Likewise.
40251
92695df9 402522008-01-02 Pavel Roskin <proski@gnu.org>
40253
40254 * util/grub.d/10_linux.in: Try version without ".old" when
40255 looking for initrd. It's better to use initrd from the newer
40256 kernel of the same version than no initrd at all.
40257
d98d9cad 402582008-01-01 Robert Millan <rmh@aybabtu.com>
40259
40260 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
40261
dbfdce36 402622008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
40263
f19dbdb7 40264 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 40265 grub_video_get_active_render_target.
40266 (grub_video_adapter): Added unmap_color and get_active_render_target.
40267
f19dbdb7 40268 * video/video.c: Added grub_video_unmap_color and
dbfdce36 40269 grub_video_get_active_render_target.
40270 (grub_video_get_info): Changed method to accept NULL pointer as an
40271 argument to allow detection of active video adapter.
40272
40273 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
40274 grub_video_vbe_unmap_color_int.
40275 Added grub_video_vbe_unmap_color and
40276 grub_video_vbe_get_active_render_target.
40277 (grub_video_vbe_adapter): Added unmap_color and
40278 get_active_render_target.
40279
f19dbdb7 40280 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 40281 with grub_video_vbe_unmap_color_int.
40282
40283 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
40284 (DEFAULT_NORMAL_COLOR): Likewise.
40285 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
40286 (DEFAULT_FG_COLOR): Removed.
40287 (DEFAULT_BG_COLOR): Likewise.
40288 (DEFAULT_CURSOR_COLOR): Changed value.
40289 (grub_virtual_screen): Added standard_color_setting,
40290 normal_color_setting, highlight_color_setting and term_color.
40291 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
40292 (bitmap_width): Added.
40293 (bitmap_height): Likewise.
40294 (bitmap): Likewise.
40295 (set_term_color): Likewise.
40296 (grub_virtual_screen_setup): Changed to use new terminal coloring
40297 settings.
40298 (grub_gfxterm_init): Added init for bitmap.
40299 (grub_gfxterm_fini): Added destroy for bitmap.
40300 (redraw_screen_rect): Updated to use background bitmap and new
40301 terminal coloring.
40302 (scroll_up): Added optimization for case when there is no bitmap.
40303 (grub_gfxterm_cls): Fixed to use correct background color.
40304 (grub_virtual_screen_setcolorstate): Changed to use new terminal
40305 coloring.
40306 (grub_virtual_screen_setcolor): Likewise.
40307 (grub_virtual_screen_getcolor): Added.
40308 (grub_gfxterm_background_image_cmd): Likewise.
40309 (grub_video_term): Added setcolor and getcolor.
40310 (MOD_INIT): Added registration of background_image command.
40311 (MOD_TERM): Added unregistration for background_image command.
40312
c3c20931 403132007-12-30 Pavel Roskin <proski@gnu.org>
40314
40315 * loader/multiboot_loader.c: Fix multiboot command
40316 unregistration. Fix all typos in the word "multiboot".
40317
df266716 403182007-12-29 Pavel Roskin <proski@gnu.org>
94239199 40319
40320 * util/grub.d/10_linux.in: Refactor search for initrd. Add
40321 support for initrd names used in Fedora.
40322
fc6e896c 403232007-12-26 Bean <bean123ch@gmail.com>
40324
40325 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
40326 (cpio_mod_SOURCES): New variable.
40327 (cpio_mod_CFLAGS): Likewise.
40328 (cpio_mod_LDFLAGS): Likewise.
40329
40330 * fs/cpio.c: New file.
40331
40332 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
40333
40334 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40335
40336 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40337
40338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40339
533110ad 403402007-12-25 Robert Millan <rmh@aybabtu.com>
40341
40342 * include/grub/term.h (struct grub_term): Add `getcolor' function.
40343 (grub_getcolor): New function.
40344
40345 * kern/term.c (grub_getcolor): New function.
40346 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
40347 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
40348 (print_entry): Set normal and highlight colors to
40349 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
40350 respectively, before printing and restore them to old
40351 values afterwards.
40352 (grub_menu_init_page): Likewise. Fill an additional colored space
40353 that would otherwise be left blank.
40354
40355 * term/efi/console.c (grub_console_getcolor): New function.
40356 (struct grub_console_term.getcolor): New variable.
40357 * term/i386/pc/console.c (grub_console_getcolor): New function.
40358 (struct grub_console_term.getcolor): New variable.
40359 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
40360 (struct grub_console_term.getcolor): New variable.
40361
40362 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
40363 (struct grub_console_term.setcolor): Remove variable.
40364 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
40365 (struct grub_console_term.setcolor): Remove variable.
40366 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
40367 (struct grub_console_term.setcolor): Remove variable.
40368 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
40369 (struct grub_console_term.setcolor): Remove variable.
40370
4931827f 403712007-12-25 Robert Millan <rmh@aybabtu.com>
40372
40373 * configure.ac: Search for possible unifont.hex locations, and
40374 define UNIFONT_HEX if found.
40375
40376 * Makefile.in (UNIFONT_HEX): Define variable.
40377 (DATA): Rename to ...
40378 (PKGLIB): ... this. Update all users.
40379 (PKGDATA): New variable.
40380 (pkgdata_IMAGES): Rename to ...
40381 (pkglib_IMAGES): ... this. Update all users.
40382 (pkgdata_MODULES): Rename to ...
40383 (pkglib_MODULES): ... this. Update all users.
40384 (pkgdata_PROGRAMS): Rename to ...
40385 (pkglib_PROGRAMS): ... this. Update all users.
40386 (pkgdata_DATA): Rename to ...
40387 (pkglib_DATA): ... this. Update all users.
40388 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
40389 (unicode.pff, ascii.pff): New rules.
40390 (all-local): Add `$(PKGDATA)' dependency.
40391 (install-local): Process `$(PKGDATA)'.
40392
40393 * util/update-grub_lib.in (font_path): Search for *.pff files in
40394 a few more locations, including `${pkgdata}'.
40395
57e57e31 403962007-12-23 Robert Millan <rmh@aybabtu.com>
40397
40398 Patch from Bean <bean123ch@gmail.com>:
40399 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
40400 `size'.
40401
4bc72aa9 404022007-12-21 Bean <bean123ch@gmail.com>
40403
40404 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
40405 (ntfscomp_mod_SOURCES): New variable.
40406 (ntfscomp_mod_CFLAGS): Likewise.
40407 (ntfscomp_mod_LDFLAGS): Likewise.
40408
40409 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
40410 (grub_probe_SOURCES): Likewise.
40411 (grub_emu_SOURCES): Likewise.
40412
40413 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
40414 (grub_emu_SOURCES): Likewise.
40415
40416 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
40417 (grub_emu_SOURCES): Likewise.
40418
40419 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
40420 (grub_emu_SOURCES): Likewise.
40421
40422 * fs/ntfs.c (grub_ntfscomp_func): New variable.
40423 (read_run_list): Renamed to grub_ntfs_read_run_list.
40424 (decomp_nextvcn): Moved to ntfscomp.c.
40425 (decomp_getch): Likewise.
40426 (decomp_get16): Likewise.
40427 (decomp_block): Likewise.
40428 (read_block): Likewise.
40429 (read_data): Partially moved to ntfscomp.c.
40430 (fixup): Change unsigned to grub_uint16_t.
40431 (read_mft): Change unsigned long to grub_uint32_t.
40432 (read_attr): Likewise.
40433 (read_data): Likewise.
40434 (read_run_data): Likewise.
40435 (read_run_list): Likewise.
40436 (read_mft): Likewise.
40437
40438 * fs/ntfscomp.c: New file.
40439
40440 * include/grub/ntfs.h: New file.
40441
af680a87 404422007-12-16 Robert Millan <rmh@aybabtu.com>
40443
40444 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
40445 IDE disk check, since Linux is known to support 20 IDE disks.
40446 Reported by Colin Watson.
40447
84be7599 404482007-12-15 Bean <bean123ch@gmail.com>
40449
40450 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
40451 (lnxboot_img_SOURCES): New variable.
40452 (lnxboot_img_ASFLAGS): Likewise.
40453 (lnxboot_img_LDFLAGS): Likewise.
40454
40455 * boot/i386/pc/lnxboot.S: New file.
40456
6af9db01 404572007-11-24 Pavel Roskin <proski@gnu.org>
40458
40459 * configure.ac: Test if '--build-id=none' is supported by the
40460 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
40461 objcopy to generate incorrect binary files (binutils
40462 2.17.50.0.18-1 as shipped by Fedora 8).
40463 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
40464 linking, so that build ID doesn't break the test.
40465
7361cfe6 404662007-11-24 Pavel Roskin <proski@gnu.org>
40467
40468 * include/grub/i386/time.h: use "void" in the argument list
40469 of grub_cpu_idle().
40470 * include/grub/powerpc/time.h: Likewise.
40471 * include/grub/sparc64/time.h: Likewise.
40472
1593e10c 404732007-11-18 Christian Franke <franke@computer.org>
40474
40475 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
40476 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
40477 This fixes the problem that function keys did not work in grub-emu.
40478
3b8db1a8 404792007-11-18 Christian Franke <franke@computer.org>
40480
40481 * disk/host.c (grub_host_open): Remove attribute unused from
40482 name parameter. Add check for "host". This fixes the problem
40483 that grub-emu does not find partitions.
40484
2e29408d 404852007-11-18 Christian Franke <franke@computer.org>
40486
40487 * util/hostfs.c (is_dir): New function.
40488 (grub_hostfs_dir): Handle missing dirent.d_type case.
40489 (grub_hostfs_read): Add missing fseek().
40490 (grub_hostfs_label): Clear label pointer. This fixes a crash
40491 of grub-emu on "ls (host)".
40492
398cd047 404932007-11-18 Christian Franke <franke@computer.org>
40494
40495 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
40496 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
40497 to 64 bit boundary by default.
40498
c405c391 404992007-11-18 Bean <bean123ch@gmail.com>
40500
40501 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
40502 (hexdump_mod_SOURCES): New variable.
40503 (hexdump_mod_CFLAGS): Likewise.
40504 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 40505
c405c391 40506 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40507
40508 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40509
40510 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40511
40512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40513
40514 * include/grub/hexdump.h: New file.
40515
40516 * commands/hexdump.c: New file.
40517
5cced7fd 405182007-11-10 Robert Millan <rmh@aybabtu.com>
40519
40520 * commands/i386/pc/play.c (beep_off): Switch order of arguments
40521 in grub_outb() calls.
40522 (beep_on): Likewise.
40523
8b714eb0 405242007-11-10 Christian Franke <franke@computer.org>
40525
40526 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
40527 (grub_menu_run): Likewise.
40528
ce0f1839 405292007-11-10 Robert Millan <rmh@aybabtu.com>
40530
40531 * include/grub/i386/efi/machine.h: New file.
40532 * include/grub/i386/linuxbios/machine.h: Likewise.
40533 * include/grub/i386/pc/machine.h: Likewise.
40534 * include/grub/powerpc/ieee1275/machine.h: Likewise.
40535 * include/grub/sparc64/ieee1275/machine.h: Likewise.
40536
40537 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
40538 (serial_hw_io_addr): New variable.
40539 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
40540 instead of `(unsigned short *) 0x400'.
40541
270c237d 405422007-11-10 Bean <bean123ch@gmail.com>
40543
40544 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
40545
a87783bf 405462007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
40547
40548 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
40549 (vga_mod_SOURCES): Added.
40550 (vga_mod_CFLAGS): Likewise.
40551 (vga_mod_LDFLAGS): Likewise.
40552
40553 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
40554 grub_outb() calls.
40555 (set_map_mask): Likewise.
40556 (set_read_map): Likewise.
40557 (set_read_address): Likewise.
40558 (vga_font): Removed variable.
40559 (get_vga_glyph): Removed function.
40560 (invalidate_char): Likewise.
40561 (write_char): Changed to use grub_font_get_glyph() for font
40562 information.
40563 (grub_vga_putchar): Likewise.
40564 (grub_vga_getcharwidth): Likewise.
40565
6433b448 405662007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
40567
40568 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
40569 flags.
40570 (pxeboot_img_LDFLAGS): Likewise.
40571 (diskboot_img_LDFLAGS): Likewise.
40572 (kernel_img_LDFLAGS): Likewise.
40573
49178511 405742007-11-06 Robert Millan <rmh@aybabtu.com>
40575
40576 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
40577 in grub_outb() calls.
40578 (serial_hw_init): Likewise.
40579
53b052de 405802007-11-05 Robert Millan <rmh@aybabtu.com>
40581
40582 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
40583 spaces. Skip non-regular files.
40584
5ab33bba 405852007-11-05 Robert Millan <rmh@aybabtu.com>
40586
40587 * kern/disk.c (grub_disk_firmware_fini)
40588 (grub_disk_firmware_is_tainted): New variables.
40589
40590 * include/grub/disk.h (grub_disk_firmware_fini)
40591 (grub_disk_firmware_is_tainted): Likewise.
40592
40593 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
40594 (grub_disk_biosdisk_fini): ... to here.
40595 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
40596 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
40597 is set. Register grub_disk_biosdisk_fini() in
40598 `grub_disk_firmware_fini'.
40599
40600 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
40601 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
40602 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
40603 to finish existing firmware disk interface.
40604
40605 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
40606 (ata_mod_SOURCES): New variable.
40607 (ata_mod_CFLAGS): Likewise.
40608 (ata_mod_LDFLAGS): Likewise.
40609
0149ab7c 406102007-11-05 Robert Millan <rmh@aybabtu.com>
40611
40612 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
40613 (grub_ata_wait): Reimplement using grub_millisleep().
40614
40615 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
40616 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
40617
be7ac41e 406182007-11-03 Marco Gerards <marco@gnu.org>
40619
40620 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
40621 (CRTC_ADDR_PORT): New macro.
40622 (CRTC_DATA_PORT): Likewise.
40623 (CRTC_CURSOR): Likewise.
40624 (CRTC_CURSOR_ADDR_HIGH): Likewise.
40625 (CRTC_CURSOR_ADDR_LOW): Likewise.
40626 (update_cursor): New function.
40627 (grub_console_real_putchar): Call `update_cursor'.
40628 (grub_console_gotoxy): Likewise.
40629 (grub_console_cls): Set the default color when clearing the
40630 screen.
40631 (grub_console_setcursor): Implemented.
40632
bb06ab2e 406332007-11-03 Marco Gerards <marco@gnu.org>
40634
40635 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
40636 become activate.
40637 (grub_ata_pio_write): Likewise.
40638
40639 (grub_atapi_identify): Wait after issuing an ATA command.
40640 (grub_atapi_packet): Likewise.
40641 (grub_ata_identify): Likewise.
40642 (grub_ata_readwrite): Likewise.
40643
cf8f780b 406442007-11-03 Marco Gerards <marco@gnu.org>
40645
40646 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
40647 (grub_ata_pio_write): Likewise.
40648 (grub_ata_readwrite): Use `grub_error', instead of
40649 returning `grub_errno'.
40650
ed649e54 406512007-11-03 Marco Gerards <marco@gnu.org>
40652
40653 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
40654 grub_ata_pio_write once for every single sector, instead of for
40655 multiple sectors.
40656
ca25d8f0 406572007-10-31 Robert Millan <rmh@aybabtu.com>
40658
40659 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
40660
40661 * conf/i386-linuxbios.rmk: New file.
40662
40663 * kern/i386/pc/hardware.c: Likewise.
40664 * term/i386/pc/at_keyboard.c: Likewise.
40665 * term/i386/pc/vga_text.c: Likewise.
40666
40667 * include/grub/i386/linuxbios/boot.h: Likewise.
40668 * include/grub/i386/linuxbios/console.h: Likewise.
40669 * include/grub/i386/linuxbios/init.h: Likewise.
40670 * include/grub/i386/linuxbios/kernel.h: Likewise.
40671 * include/grub/i386/linuxbios/loader.h: Likewise.
40672 * include/grub/i386/linuxbios/memory.h: Likewise.
40673 * include/grub/i386/linuxbios/serial.h: Likewise.
40674 * include/grub/i386/linuxbios/time.h: Likewise.
40675
40676 * kern/i386/linuxbios/init.c: Likewise.
40677 * kern/i386/linuxbios/startup.S: Likewise.
40678 * kern/i386/linuxbios/table.c: Likewise.
40679
e911ecc1 406802007-10-31 Marco Gerards <marco@gnu.org>
40681
40682 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
40683 (ata_mod_SOURCES): New variable.
40684 (ata_mod_CFLAGS): Likewise.
40685 (ata_mod_LDFLAGS): Likewise.
40686
40687 * disk/ata.c: New file.
40688
40689 * include/grub/disk.h (grub_disk_dev_id): Add
40690 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 40691
7f66d0e0 406922007-10-31 Robert Millan <rmh@aybabtu.com>
40693
40694 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
40695 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
40696
40697 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
40698 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
40699
40700 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
40701 `<grub/types.h>'.
40702
40703 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
40704
5cd7dd46 407052007-10-27 Robert Millan <rmh@aybabtu.com>
40706
3236ca65 40707 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 40708
2ebfc90f 407092007-10-22 Robert Millan <rmh@aybabtu.com>
40710
40711 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
40712 `"../realmode.S"'.
40713 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
40714
73fcb0f3 407152007-10-22 Robert Millan <rmh@aybabtu.com>
40716
40717 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
40718 (pkgdata_MODULES): Add `biosdisk.mod'.
40719 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
40720 variables.
40721
40722 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
40723 (grub_biosdisk_init): Replace with ...
40724 (GRUB_MOD_INIT(biosdisk)): ... this.
40725 (grub_biosdisk_fini): Replace with ...
40726 (GRUB_MOD_FINI(biosdisk)): ... this.
40727
40728 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
40729 (grub_machine_init): Remove call to grub_biosdisk_init().
40730 (grub_machine_fini): Remove call to grub_machine_fini().
40731
40732 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
40733
3381d274 407342007-10-22 Robert Millan <rmh@aybabtu.com>
40735
40736 * include/grub/time.h: New file.
40737 * include/grub/i386/time.h: Likewise.
40738 * include/grub/powerpc/time.h: Likewise.
40739 * include/grub/sparc64/time.h: Likewise.
40740
40741 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
40742 instances to ...
40743 (KERNEL_MACHINE_TIME_HEADER): ... this.
40744 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
40745 instances to ...
40746 (KERNEL_MACHINE_TIME_HEADER): ... this.
40747 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
40748 instances to ...
40749 (KERNEL_MACHINE_TIME_HEADER): ... this.
40750
40751 * kern/i386/efi/init.c: Include `<grub/time.h>'.
40752 (grub_millisleep): New function.
40753 * kern/i386/pc/init.c: Include `<grub/time.h>'.
40754 (grub_millisleep): New function.
40755 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
40756 Remove `grub/machine/time.h' include.
40757 (grub_millisleep): New function.
40758 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
40759 Remove `grub/machine/time.h' include.
40760 (grub_millisleep): New function.
40761
40762 * include/grub/misc.h (grub_div_roundup): New function.
40763
40764 * kern/misc.c: Include `<grub/time.h>'.
40765 (grub_millisleep_generic): New function.
40766
40767 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
40768 Add `time.h'.
40769 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
40770 Add `time.h'.
40771 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
40772 `machine/time.h'. Add `time.h'.
40773 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40774
a39a0312 407752007-10-21 Robert Millan <rmh@aybabtu.com>
40776
40777 * include/grub/misc.h (grub_max): New function.
40778
2aad70e2 407792007-10-21 Robert Millan <rmh@aybabtu.com>
40780
40781 * util/misc.c (grub_util_info): Call fflush() before returning.
40782
54b71c4b 407832007-10-20 Robert Millan <rmh@aybabtu.com>
40784
40785 * genmk.rb (Image): Copy `extra_flags' from here ...
40786 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
40787
40788 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
40789 to `argc' and `args' arguments.
40790
a979f513 407912007-10-17 Robert Millan <rmh@aybabtu.com>
40792
40793 * kern/i386/loader.S: New file.
40794
40795 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
40796 * kern/i386/loader.S (grub_linux_prot_size)... to here.
40797 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
40798 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
40799 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
40800 * kern/i386/loader.S (grub_linux_real_addr)... to here.
40801 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
40802 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
40803 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
40804 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
40805 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
40806 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
40807 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
40808 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
40809
40810 * kern/i386/realmode.S: New file.
40811
40812 * kern/i386/pc/startup.S (protstack): Moved from here ...
40813 * kern/i386/realmode.S (protstack)... to here.
40814 * kern/i386/pc/startup.S (gdt): Moved from here ...
40815 * kern/i386/realmode.S (gdt)... to here.
40816 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
40817 * kern/i386/realmode.S (prot_to_real)... to here.
40818
40819 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
40820 `kern/i386/realmode.S'.
40821
825fc8fd 408222007-10-17 Robert Millan <rmh@aybabtu.com>
40823
40824 * include/grub/i386/loader.h: New file.
40825
40826 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
40827 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
40828 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
40829 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
40830 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
40831 * include/grub/i386/loader.h (grub_linux_prot_size)
40832 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
40833 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
40834 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
40835 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
40836
40837 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
40838
e179b2f4 408392007-10-15 Robert Millan <rmh@aybabtu.com>
40840
40841 * normal/misc.c (grub_normal_print_device_info): Do not probe for
40842 filesystem when dev->disk is unset.
40843 Do probe for filesystem even when dev->disk->has_partitions is set.
40844 In case a filesystem is found, always report it.
40845 In case it isn't, if dev->disk->has_partitions is set, report that
40846 a partition table was found instead of reporting that no filesystem
40847 could be identified.
40848
5db82af6 408492007-10-12 Robert Millan <rmh@aybabtu.com>
40850
40851 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
40852 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
40853
68f6ac74 40854 * include/grub/types.h (grub_host_to_target16): New macro.
40855 (grub_host_to_target32): Likewise.
40856 (grub_host_to_target64): Likewise.
40857 (grub_target_to_host16): Likewise.
40858 (grub_target_to_host32): Likewise.
40859 (grub_target_to_host64): Likewise.
5db82af6 40860
40861 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40862 Renamed from to ...
40863 (GRUB_MOD_ALIGN): ...this. Update all users.
40864
68f6ac74 40865 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
40866 grub_host_to_target32.
40867 Replace grub_be_to_cpu32 with grub_target_to_host32.
40868 (load_modules): Likewise.
40869 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
40870 Replace grub_be_to_cpu32 with grub_target_to_host32.
40871 Replace grub_cpu_to_be16 with grub_host_to_target16.
40872 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 40873
3cf497cc 408742007-10-12 Robert Millan <rmh@aybabtu.com>
40875
40876 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
40877 * util/elf/grub-mkimage.c: ... here.
40878
40879 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
40880 `util/powerpc/ieee1275/grub-mkimage.c'.
40881
c8cc3692 408822007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 40883
c8cc3692 40884 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
40885 and make it easier to figure out.
40886 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
40887 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
40888 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
40889 leave us with less than HEAP_MIN_SIZE total heap.
40890 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 40891
5c58b791 408922007-10-03 Robert Millan <rmh@aybabtu.com>
40893
40894 * include/grub/i386/io.h: New file.
40895 * commands/i386/pc/play.c (inb): Removed.
40896 (outb): Removed.
40897 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40898 with grub_outb().
afcd2ef8 40899 * term/i386/pc/serial.c (inb): Removed.
40900 (outb): Removed.
40901 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40902 with grub_outb().
40903 * term/i386/pc/vga.c (inb): Removed.
40904 (outb): Removed.
40905 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40906 with grub_outb().
5c58b791 40907
1a477ed6 409082007-10-02 Robert Millan <rmh@aybabtu.com>
40909
40910 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
40911 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40912 Reported by Marcin Kurek.
40913
6b5d80fa 409142007-09-07 Robert Millan <rmh@aybabtu.com>
40915
40916 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
40917 SmartFirmware version updates (as released by Sven Luther), and avoid
40918 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
40919 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
40920 known broken.
40921
5618afbf 409222007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40923
40924 From Hitoshi Ozeki:
40925 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
40926 when merging two regions.
40927
6139dcd9 409282007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40929
508e39ee 40930 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
40931 * normal/completion.c (grub_normal_do_completion): Likewise.
40932 Reported by Hitoshi Ozeki.
40933
409342007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40935
6139dcd9 40936 Do not use devices at boot in chainloading.
f19dbdb7 40937
6139dcd9 40938 * loader/i386/pc/chainloader.c (boot_drive): New variable.
40939 (boot_part_addr): Likewise.
40940 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
40941 with BOOT_DRIVE and BOOT_PART_ADDR.
40942 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
40943 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
40944
38da6516 409452007-08-29 Robert Millan <rmh@aybabtu.com>
40946
40947 Patch from Simon Peter <dn.tlp@gmx.net>:
40948 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
40949 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
40950 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
40951 util/i386/pc/grub-setup.c_DEPENDENCIES.
40952 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
40953 util/grub-probe.c_DEPENDENCIES.
40954 * conf/powerpc-ieee1275.rmk: Likewise.
40955
29d0928c 409562007-08-28 Robert Millan <rmh@aybabtu.com>
40957
40958 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
40959 to tell grub-mkdevicemap how to name devices.
40960 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
40961 feature).
40962
40963 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
40964 util/i386/get_disk_name.c.
40965 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
40966 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
40967 util/ieee1275/get_disk_name.c.
40968
40969 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
40970
40971 * DISTLIST: Add util/i386/get_disk_name.c and
40972 util/ieee1275/get_disk_name.c.
40973
40974 * util/grub-mkdevicemap.c: Replace device naming logic with
40975 grub_util_get_disk_name() calls.
40976
5a0d3cca 409772007-08-20 Robert Millan <rmh@aybabtu.com>
40978
40979 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
40980 (so that it works for both plural and singular quantities).
40981
8b72db2f 409822007-08-05 Robert Millan <rmh@aybabtu.com>
40983
40984 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
40985 so that [xz] isn't taken into account when determining order.
40986
352466bf 409872007-08-02 Marco Gerards <marco@gnu.org>
40988
40989 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
40990 `include/multiboot2.h', `include/grub/elfload.h',
40991 `include/multiboot.h', `include/grub/multiboot.h',
40992 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
40993 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
40994 `kern/elf.c', `loader/multiboot_loader.c',
40995 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
40996 `loader/i386/pc/multiboot2.c',
40997 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
40998 `util/i386/pc/grub-mkrescue.in'. Remove
40999 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
41000 `include/grub/i386/pc/util/biosdisk.h' and
41001 `include/grub/powerpc/ieee1275/multiboot.h'.
41002
8f096014 410032007-08-02 Bean <bean123ch@gmail.com>
41004
41005 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
41006 (ntfs_mod_SOURCES): New variable.
41007 (ntfs_mod_CFLAGS): Likewise.
41008 (ntfs_mod_LDFLAGS): Likewise.
41009
41010 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
41011 (grub_probe_SOURCES): Likewise.
41012 (grub_emu_SOURCES): Likewise.
41013
41014 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
41015 (grub_emu_SOURCES): Likewise.
41016
41017 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
41018 (grub_emu_SOURCES): Likewise.
f19dbdb7 41019
8f096014 41020 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
41021
41022 * fs/ntfs.c: New file.
41023
9959f7db 410242007-08-02 Bean <bean123ch@gmail.com>
41025
41026 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
41027
41028 * file.h (grub_file): Likewise.
41029
41030 * fshelp.h (grub_fshelp_read_file): Likewise.
41031
41032 * util/i386/pc/grub-setup.c (setup): Likewise.
41033 (save_first_sector): Likewise.
41034 (save_blocklists): Likewise.
f19dbdb7 41035
9959f7db 41036 * fs/affs.c (grub_affs_read_file): Likewise.
41037
41038 * fs/ext2.c (grub_ext2_read_file): Likewise.
41039
41040 * fs/fat.c (grub_fat_read_data): Likewise.
41041
41042 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
41043
41044 * fs/hfs.c (grub_hfs_read_file): Likewise.
41045
41046 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41047
41048 * fs/jfs.c (grub_jfs_read_file): Likewise.
41049
41050 * fs/minix.c (grub_minix_read_file): Likewise.
41051
41052 * fs/sfs.c (grub_sfs_read_file): Likewise.
41053
41054 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 41055
9959f7db 41056 * fs/xfs.c (grub_xfs_read_file): Likewise.
41057
41058 * command/blocklist.c (read_blocklist): Likewise.
41059 (print_blocklist): Likewise.
41060
0a203f83 410612007-08-02 Marco Gerards <marco@gnu.org>
41062
41063 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
41064 `util/hostfs.c'.
41065
41066 * disk/host.c: New file.
41067
41068 * util/hostfs.c: Likewise.
41069
41070 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
41071 return `GRUB_ERR_BAD_FS'.
41072 * fs/sfs.c (grub_sfs_mount): Likewise.
41073 * fs/xfs.c (grub_xfs_mount): Likewise.
41074
41075 * include/grub/disk.h (enum grub_disk_dev_id): Add
41076 `GRUB_DISK_DEVICE_HOST_ID'.
41077
41078 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
41079
e5dfe777 410802007-07-24 Jerone Young <jerone@gmail.com>
41081
f19dbdb7 41082 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 41083 modules for compilation.
41084 * conf/powerpc-ieee1275.rmk: Likewise.
41085
41086 * include/multiboot.h: Move multiboot definitions to one file. Rename
41087 many definitions to not get grub specific.
41088 * include/multiboot2.h: Create header with multiboot 2 definitions.
41089 * include/grub/multiboot.h: Header for grub specific function
41090 prototypes and definitions.
41091 * include/grub/multiboot2.h: Likewise.
41092 * include/grub/multiboot_loader.h: Likewise.
41093 * include/grub/i386/pc/multiboot.h: Removed.
41094 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
41095
41096 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
41097 and 2 to allow for one multiboot and module commands.
41098 * loader/multiboot2.c: Add multiboot2 functionality.
41099 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
41100 and definition names.
41101 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
41102 2 functions.
41103 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
41104 ieee1275 specific multiboot2 code.
41105
41106 * kern/i386/pc/startup.S: Change headers and definition names for
41107 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
41108
daf0f0ba 411092007-07-22 Robert Millan <rmh@aybabtu.com>
41110
41111 * geninitheader.sh: Process file specified in first parameter rather
41112 than hardcoding grub_modules_init.lst.
fe6b695a 41113 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 41114 than hardcoding grub_modules_init.h.
41115
41116 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
41117 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
41118 grub_probe_init.[ch] and grub_setup_init.[ch].
41119
41120 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
41121 grub_modules_init.h with grub_emu_init.h.
41122 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
41123 grub_probe_init.[ch] files.
41124 * conf/i386-efi.rmk: Likewise.
41125 * conf/i386-pc.rmk: Likewise.
41126 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
41127 grub_setup_init.[ch] files.
41128
41129 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
41130 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
41131 to initialize modules rather than a list of hardcoded functions.
41132 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
41133 grub_init_all() to initialize modules rather than a list of hardcoded
41134 functions.
41135
54cdc1cc 411362007-07-22 Robert Millan <rmh@aybabtu.com>
41137
41138 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
41139 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
41140
ad0686cc 411412007-07-22 Robert Millan <rmh@aybabtu.com>
41142
41143 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41144 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
41145 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
41146 flag when running on SmartFirmware.
41147 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
41148 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
41149 was set.
41150
41151 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
41152 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
41153 rather than decreasing it.
41154
41155 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
41156 there's not enough space to do it, fail in the same way as when it
41157 can't be done because there are no partitions.
41158
41159 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
41160 when nvsetenv failed.
41161
969c02ec 411622007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
41163
41164 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
41165 because this rule is automatically generated.
41166 (grub-mkrescue): Removed for the same reason as above.
41167
5a79f472 411682007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
41169
41170 Migrate to GNU General Public License Version 3.
f19dbdb7 41171
5a79f472 41172 * COPYING: Replaced with the plain text version of GPLv3.
41173
41174 * config.guess: Updated from gnulib.
41175 * config.sub: Likewise.
41176
41177 * geninit.sh: Output a GPLv3 copyright notice.
41178 * geninitheader.sh: Likewise.
41179 * genmodsrc.sh: Likewise.
41180 * gensymlist.sh.in: Likewise.
41181
41182 * boot/i386/pc/boot.S: Upgraded to GPLv3.
41183 * boot/i386/pc/diskboot.S: Likewise.
41184 * boot/i386/pc/pxeboot.S: Likewise.
41185 * commands/blocklist.c: Likewise.
41186 * commands/boot.c: Likewise.
41187 * commands/cat.c: Likewise.
41188 * commands/cmp.c: Likewise.
41189 * commands/configfile.c: Likewise.
41190 * commands/echo.c: Likewise.
41191 * commands/help.c: Likewise.
41192 * commands/ls.c: Likewise.
41193 * commands/search.c: Likewise.
41194 * commands/terminal.c: Likewise.
41195 * commands/test.c: Likewise.
41196 * commands/videotest.c: Likewise.
41197 * commands/i386/cpuid.c: Likewise.
41198 * commands/i386/pc/halt.c: Likewise.
41199 * commands/i386/pc/play.c: Likewise.
41200 * commands/i386/pc/reboot.c: Likewise.
41201 * commands/i386/pc/vbeinfo.c: Likewise.
41202 * commands/i386/pc/vbetest.c: Likewise.
41203 * commands/ieee1275/halt.c: Likewise.
41204 * commands/ieee1275/reboot.c: Likewise.
41205 * commands/ieee1275/suspend.c: Likewise.
41206 * disk/loopback.c: Likewise.
41207 * disk/lvm.c: Likewise.
41208 * disk/raid.c: Likewise.
41209 * disk/efi/efidisk.c: Likewise.
41210 * disk/i386/pc/biosdisk.c: Likewise.
41211 * disk/ieee1275/ofdisk.c: Likewise.
41212 * font/manager.c: Likewise.
41213 * fs/affs.c: Likewise.
41214 * fs/ext2.c: Likewise.
41215 * fs/fat.c: Likewise.
41216 * fs/fshelp.c: Likewise.
41217 * fs/hfs.c: Likewise.
41218 * fs/hfsplus.c: Likewise.
41219 * fs/iso9660.c: Likewise.
41220 * fs/jfs.c: Likewise.
41221 * fs/minix.c: Likewise.
41222 * fs/sfs.c: Likewise.
41223 * fs/ufs.c: Likewise.
41224 * fs/xfs.c: Likewise.
41225 * hello/hello.c: Likewise.
41226 * include/grub/acorn_filecore.h: Likewise.
41227 * include/grub/arg.h: Likewise.
41228 * include/grub/bitmap.h: Likewise.
41229 * include/grub/boot.h: Likewise.
41230 * include/grub/cache.h: Likewise.
41231 * include/grub/device.h: Likewise.
41232 * include/grub/disk.h: Likewise.
41233 * include/grub/dl.h: Likewise.
41234 * include/grub/elfload.h: Likewise.
41235 * include/grub/env.h: Likewise.
41236 * include/grub/err.h: Likewise.
41237 * include/grub/file.h: Likewise.
41238 * include/grub/font.h: Likewise.
41239 * include/grub/fs.h: Likewise.
41240 * include/grub/fshelp.h: Likewise.
41241 * include/grub/gzio.h: Likewise.
41242 * include/grub/hfs.h: Likewise.
41243 * include/grub/kernel.h: Likewise.
41244 * include/grub/loader.h: Likewise.
41245 * include/grub/lvm.h: Likewise.
41246 * include/grub/misc.h: Likewise.
41247 * include/grub/mm.h: Likewise.
41248 * include/grub/net.h: Likewise.
41249 * include/grub/normal.h: Likewise.
41250 * include/grub/parser.h: Likewise.
41251 * include/grub/partition.h: Likewise.
41252 * include/grub/pc_partition.h: Likewise.
41253 * include/grub/raid.h: Likewise.
41254 * include/grub/rescue.h: Likewise.
41255 * include/grub/script.h: Likewise.
41256 * include/grub/setjmp.h: Likewise.
41257 * include/grub/symbol.h: Likewise.
41258 * include/grub/term.h: Likewise.
41259 * include/grub/terminfo.h: Likewise.
41260 * include/grub/tparm.h: Likewise.
41261 * include/grub/types.h: Likewise.
41262 * include/grub/video.h: Likewise.
41263 * include/grub/efi/api.h: Likewise.
41264 * include/grub/efi/chainloader.h: Likewise.
41265 * include/grub/efi/console.h: Likewise.
41266 * include/grub/efi/console_control.h: Likewise.
41267 * include/grub/efi/disk.h: Likewise.
41268 * include/grub/efi/efi.h: Likewise.
41269 * include/grub/efi/pe32.h: Likewise.
41270 * include/grub/efi/time.h: Likewise.
41271 * include/grub/i386/linux.h: Likewise.
41272 * include/grub/i386/setjmp.h: Likewise.
41273 * include/grub/i386/types.h: Likewise.
41274 * include/grub/i386/efi/kernel.h: Likewise.
41275 * include/grub/i386/efi/loader.h: Likewise.
41276 * include/grub/i386/efi/time.h: Likewise.
41277 * include/grub/i386/pc/biosdisk.h: Likewise.
41278 * include/grub/i386/pc/boot.h: Likewise.
41279 * include/grub/i386/pc/chainloader.h: Likewise.
41280 * include/grub/i386/pc/console.h: Likewise.
41281 * include/grub/i386/pc/init.h: Likewise.
41282 * include/grub/i386/pc/kernel.h: Likewise.
41283 * include/grub/i386/pc/loader.h: Likewise.
41284 * include/grub/i386/pc/memory.h: Likewise.
41285 * include/grub/i386/pc/multiboot.h: Likewise.
41286 * include/grub/i386/pc/serial.h: Likewise.
41287 * include/grub/i386/pc/time.h: Likewise.
41288 * include/grub/i386/pc/vbe.h: Likewise.
41289 * include/grub/i386/pc/vbeblit.h: Likewise.
41290 * include/grub/i386/pc/vbefill.h: Likewise.
41291 * include/grub/i386/pc/vbeutil.h: Likewise.
41292 * include/grub/i386/pc/vga.h: Likewise.
41293 * include/grub/ieee1275/ieee1275.h: Likewise.
41294 * include/grub/ieee1275/ofdisk.h: Likewise.
41295 * include/grub/powerpc/libgcc.h: Likewise.
41296 * include/grub/powerpc/setjmp.h: Likewise.
41297 * include/grub/powerpc/types.h: Likewise.
41298 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
41299 * include/grub/powerpc/ieee1275/console.h: Likewise.
41300 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
41301 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
41302 * include/grub/powerpc/ieee1275/loader.h: Likewise.
41303 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
41304 * include/grub/powerpc/ieee1275/time.h: Likewise.
41305 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
41306 * include/grub/sparc64/libgcc.h: Likewise.
41307 * include/grub/sparc64/setjmp.h: Likewise.
41308 * include/grub/sparc64/types.h: Likewise.
41309 * include/grub/sparc64/ieee1275/console.h: Likewise.
41310 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
41311 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
41312 * include/grub/sparc64/ieee1275/time.h: Likewise.
41313 * include/grub/util/biosdisk.h: Likewise.
41314 * include/grub/util/getroot.h: Likewise.
41315 * include/grub/util/lvm.h: Likewise.
41316 * include/grub/util/misc.h: Likewise.
41317 * include/grub/util/raid.h: Likewise.
41318 * include/grub/util/resolve.h: Likewise.
41319 * io/gzio.c: Likewise.
41320 * kern/device.c: Likewise.
41321 * kern/disk.c: Likewise.
41322 * kern/dl.c: Likewise.
41323 * kern/elf.c: Likewise.
41324 * kern/env.c: Likewise.
41325 * kern/err.c: Likewise.
41326 * kern/file.c: Likewise.
41327 * kern/fs.c: Likewise.
41328 * kern/loader.c: Likewise.
41329 * kern/main.c: Likewise.
41330 * kern/misc.c: Likewise.
41331 * kern/mm.c: Likewise.
41332 * kern/parser.c: Likewise.
41333 * kern/partition.c: Likewise.
41334 * kern/rescue.c: Likewise.
41335 * kern/term.c: Likewise.
41336 * kern/efi/efi.c: Likewise.
41337 * kern/efi/init.c: Likewise.
41338 * kern/efi/mm.c: Likewise.
41339 * kern/i386/dl.c: Likewise.
41340 * kern/i386/efi/init.c: Likewise.
41341 * kern/i386/efi/startup.S: Likewise.
41342 * kern/i386/pc/init.c: Likewise.
41343 * kern/i386/pc/lzo1x.S: Likewise.
41344 * kern/i386/pc/startup.S: Likewise.
41345 * kern/ieee1275/ieee1275.c: Likewise.
41346 * kern/powerpc/cache.S: Likewise.
41347 * kern/powerpc/dl.c: Likewise.
41348 * kern/powerpc/ieee1275/cmain.c: Likewise.
41349 * kern/powerpc/ieee1275/crt0.S: Likewise.
41350 * kern/powerpc/ieee1275/init.c: Likewise.
41351 * kern/powerpc/ieee1275/openfw.c: Likewise.
41352 * kern/sparc64/cache.S: Likewise.
41353 * kern/sparc64/dl.c: Likewise.
41354 * kern/sparc64/ieee1275/init.c: Likewise.
41355 * kern/sparc64/ieee1275/openfw.c: Likewise.
41356 * loader/efi/chainloader.c: Likewise.
41357 * loader/efi/chainloader_normal.c: Likewise.
41358 * loader/i386/efi/linux.c: Likewise.
41359 * loader/i386/efi/linux_normal.c: Likewise.
41360 * loader/i386/pc/chainloader.c: Likewise.
41361 * loader/i386/pc/chainloader_normal.c: Likewise.
41362 * loader/i386/pc/linux.c: Likewise.
41363 * loader/i386/pc/linux_normal.c: Likewise.
41364 * loader/i386/pc/multiboot.c: Likewise.
41365 * loader/i386/pc/multiboot_normal.c: Likewise.
41366 * loader/powerpc/ieee1275/linux.c: Likewise.
41367 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41368 * normal/arg.c: Likewise.
41369 * normal/cmdline.c: Likewise.
41370 * normal/command.c: Likewise.
41371 * normal/completion.c: Likewise.
41372 * normal/execute.c: Likewise.
41373 * normal/function.c: Likewise.
41374 * normal/lexer.c: Likewise.
41375 * normal/main.c: Likewise.
41376 * normal/menu.c: Likewise.
41377 * normal/menu_entry.c: Likewise.
41378 * normal/misc.c: Likewise.
41379 * normal/parser.y: Likewise.
41380 * normal/script.c: Likewise.
41381 * normal/i386/setjmp.S: Likewise.
41382 * normal/powerpc/setjmp.S: Likewise.
41383 * normal/sparc64/setjmp.S: Likewise.
41384 * partmap/acorn.c: Likewise.
41385 * partmap/amiga.c: Likewise.
41386 * partmap/apple.c: Likewise.
41387 * partmap/gpt.c: Likewise.
41388 * partmap/pc.c: Likewise.
41389 * partmap/sun.c: Likewise.
41390 * term/gfxterm.c: Likewise.
41391 * term/terminfo.c: Likewise.
41392 * term/efi/console.c: Likewise.
41393 * term/i386/pc/console.c: Likewise.
41394 * term/i386/pc/serial.c: Likewise.
41395 * term/i386/pc/vesafb.c: Likewise.
41396 * term/i386/pc/vga.c: Likewise.
41397 * term/ieee1275/ofconsole.c: Likewise.
41398 * util/biosdisk.c: Likewise.
41399 * util/console.c: Likewise.
41400 * util/genmoddep.c: Likewise.
41401 * util/getroot.c: Likewise.
41402 * util/grub-emu.c: Likewise.
41403 * util/grub-mkdevicemap.c: Likewise.
41404 * util/grub-probe.c: Likewise.
41405 * util/lvm.c: Likewise.
41406 * util/misc.c: Likewise.
41407 * util/raid.c: Likewise.
41408 * util/resolve.c: Likewise.
41409 * util/update-grub.in: Likewise.
41410 * util/update-grub_lib.in: Likewise.
41411 * util/grub.d/00_header.in: Likewise.
41412 * util/grub.d/10_hurd.in: Likewise.
41413 * util/grub.d/10_linux.in: Likewise.
41414 * util/i386/efi/grub-install.in: Likewise.
41415 * util/i386/efi/grub-mkimage.c: Likewise.
41416 * util/i386/pc/grub-install.in: Likewise.
41417 * util/i386/pc/grub-mkimage.c: Likewise.
41418 * util/i386/pc/grub-mkrescue.in: Likewise.
41419 * util/i386/pc/grub-setup.c: Likewise.
41420 * util/i386/pc/misc.c: Likewise.
41421 * util/powerpc/ieee1275/grub-install.in: Likewise.
41422 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
41423 * util/powerpc/ieee1275/misc.c: Likewise.
41424 * video/bitmap.c: Likewise.
41425 * video/video.c: Likewise.
41426 * video/i386/pc/vbe.c: Likewise.
41427 * video/i386/pc/vbeblit.c: Likewise.
41428 * video/i386/pc/vbefill.c: Likewise.
41429 * video/i386/pc/vbeutil.c: Likewise.
41430 * video/readers/tga.c: Likewise.
41431
3572d015 414322007-07-02 Robert Millan <rmh@aybabtu.com>
41433
41434 * conf/i386-efi.rmk: Replace obsolete reference to
41435 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
41436 with util/getroot.c.
41437 * conf/powerpc-ieee1275.rmk: Likewise.
41438 * conf/sparc64-ieee1275.rmk: Likewise.
41439
41440 * util/grub-emu.c (main): Fix unchecked pointer handling.
41441
2c2a681b 414422007-07-02 Robert Millan <rmh@aybabtu.com>
41443
41444 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
41445 invocation to fail, in order to support partition-less media.
41446
41447 * util/i386/pc/grub-install.in: Likewise.
41448
41449 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
41450 which fs or partmap modules are needed (akin to its sister scripts).
41451
41452 Also use grub-probe to get rid of unportable /proc/mounts check.
41453
41454 Print the same informational message that the other scripts do, before
fe6b695a 41455 exiting.
2c2a681b 41456
6193defe 414572007-06-23 Robert Millan <rmh@aybabtu.com>
41458
fe6b695a 41459 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 41460 a font file can be found and, if so, echo the GRUB path to it.
41461
41462 * util/update-grub.in: Handle multiple terminals depending on user
41463 input, platform availability and font file presence. Propagate
41464 variables of our findings to /etc/grub.d/ children.
41465
41466 * util/grub.d/00_header.in: Handle multiple terminals, based on
41467 environment setup by update-grub.
41468
eface1dc 414692007-06-23 Robert Millan <rmh@aybabtu.com>
41470
ba50d28f 41471 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 41472
bf697e28 414732007-06-21 Robert Millan <rmh@aybabtu.com>
41474
41475 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
41476 indicate end of data section in kernel image.
41477 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
41478 GRUB_KERNEL_MACHINE_DATA_END.
41479
41480 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
41481 space for it.
41482 * kern/i386/efi/startup.S: Likewise.
41483
41484 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
41485 during image generation. Implement --prefix option to override this
41486 patch.
41487 * util/i386/efi/grub-mkimage.c: Likewise.
41488
41489 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
41490 code to make path relative to its root into a separate function.
41491
41492 * util/i386/pc/grub-install.in: Use newly provided
41493 make_system_path_relative_to_its_root() to convert ${grubdir}, then
41494 pass the result to grub-install --prefix.
41495
baa574b4 414962007-06-13 Robert Millan <rmh@aybabtu.com>
41497
41498 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
41499 DEFAULT_DEVICE_MAP.
41500 * util/grub-emu.c: Use above definitions from misc.h instead of
41501 defining them.
41502 * util/grub-mkdevicemap.c: Likewise.
41503 * util/i386/pc/grub-setup.c: Likewise.
41504 * util/grub-probe.c: Likewise.
41505 (probe): Abort with grub_util_error() when either
41506 grub_guess_root_device or grub_util_get_grub_dev fails.
41507
0215dcbf 415082007-06-12 Robert Millan <rmh@aybabtu.com>
41509
41510 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
41511 "pager" assignment.
41512 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
41513 "pcdata".
41514 * util/grub-probe.c (probe): Likewise for "drive_name".
41515
8af2ab7b 415162007-06-11 Robert Millan <rmh@aybabtu.com>
41517
41518 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
41519 not just the cdrom one.
41520
59d31694 415212007-06-11 Robert Millan <rmh@aybabtu.com>
41522
41523 * util/i386/pc/grub-mkrescue.in: Add "set -e".
41524 Add --pkglibdir=DIR option to override pkglibdir.
41525 Mention --image-type=TYPE in help output.
41526 Fix --grub-mkimage (it was a no-op).
fe6b695a 41527 Abort gracefully when no parameter is given.
59d31694 41528
7ee367e4 415292007-06-11 Robert Millan <rmh@aybabtu.com>
41530
41531 * util/i386/pc/grub-mkrescue.in: New file.
41532 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
41533 * Makefile.in: Handle bin_SCRIPTS.
41534
29b0ed46 415352007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
41536
41537 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
41538 list of video modes.
41539
c0f90770 415402007-06-06 Robert Millan <rmh@aybabtu.com>
41541
41542 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
41543 file doesn't exist, or if it is in a filesystem grub can't read.
41544
41545 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
41546 not abort if GRUB_DRIVE could not be defined. Rearrange generated
41547 header comment to fit in 80 columns when the variables are resolved.
41548
41549 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
41550 could be identified by update-grub. Remove redundant check for
fe6b695a 41551 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 41552 handles that).
41553
fb36dc26 415542007-06-04 Robert Millan <rmh@aybabtu.com>
41555
41556 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
41557
41558 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
41559
41560 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
41561
0c68c93e 415622007-06-04 Robert Millan <rmh@aybabtu.com>
41563
41564 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
41565
41566 * include/grub/partition.h: Declare grub_apple_partition_map_init and
41567 grub_apple_partition_map_fini.
41568
41569 * util/biosdisk.c
41570 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
41571 to access >2 TiB disks).
41572
41573 Print disk->total_sectors with %llu instead of %lu, since this
41574 variable is always 64-bit (prevents wrong disk size from being displayed
41575 on either >2 TiB disk or big-endian CPU).
41576
41577 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
41578 into a generic case that supports all (sane) partition maps.
41579
41580 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
41581 breaks big-endian.
41582
41583 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
41584 and grub_apple_partition_map_fini() after that.
41585
0f23eb74 415862007-06-01 Robert Millan <rmh@aybabtu.com>
41587
41588 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
41589
41590 * util/grub.d/00_header.in: Only enable gfxterm when
41591 convert_system_path_to_grub_path() succeeds.
41592
42c71976 415932007-05-20 Robert Millan <rmh@aybabtu.com>
41594
41595 * util/update-grub_lib.in: New file.
41596 * DISTLIST: Add update-grub_lib.in.
41597 * conf/common.rmk: Generate update-grub_lib and install it in
41598 $(lib_DATA).
41599 * Makefile.in: Add install routine for $(lib_DATA).
41600
41601 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
41602 function provided by update-grub_lib to support arbitrary paths of
41603 unifont.pff.
41604 * util/update-grub.in: Use convert_system_path_to_grub_path() to
41605 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
41606
5beb2291 416072007-05-19 Robert Millan <rmh@aybabtu.com>
41608
41609 * commands/i386/cpuid.c: New module.
41610 * DISTLIST: Add it.
41611 * conf/i386-efi.rmk: Enable cpuid.mod.
41612 * conf/i386-pc.rmk: Likewise.
41613
7262eca1 416142007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41615
41616 * kern/disk.c (grub_disk_read): Check return value of
41617 grub_realloc().
41618
260ba823 416192007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41620
41621 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
41622 arrays.
41623 * disk/raid.c (grub_raid_open): Likewise.
41624
1ecb6cf2 416252007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41626
41627 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
41628 stack instead of on the heap.
41629
41630 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
41631 before doing a read on it.
41632
41633 * configure.ac: Only use -fno-stack-protector for the target
41634 environment.
f19dbdb7 41635
21c8cbb1 416362007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41637
41638 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
41639 __attribute_ ((unused)) to mode_type argument.
41640
41641 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 41642
21c8cbb1 41643 * kern/misc.c (memcmp): Fix prototype.
41644
41645 * include/grub/partition.h [GRUB_UTIL]
41646 (grub_gpt_partition_map_init): Add prototype.
41647 (grub_gpt_partition_map_fini): Likewise.
41648
41649 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
41650 at the right place.
41651
41652 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
41653 (grub_fat_read_data): Likewise.
41654 (grub_fat_find_dir): Likewise.
41655
41656 * font/manager.c (find_glyph): Make table a const.
41657 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 41658
849d55d3 416592007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
41660
41661 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
41662 code, first search for device in /dev/mapper, then in /dev.
41663 (grub_util_get_grub_dev): New function.
41664 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
41665 prototype.
41666 * util/grub-probe.c (probe): Remove check for RAID, call
41667 grub_util_get_grub_dev() instead of
41668 grub_util_biosdisk_get_grub_dev().
41669 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
41670 grub_util_biosdisk_get_grub_dev().
41671 * util/i386/pc/grub-setup.c (main): Likewise.
41672
8fff7c2f 416732007-05-16 Robert Millan <rmh@aybabtu.com>
41674
41675 * DISTLIST: Update for the latest changes.
41676 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
41677 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
41678 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
41679 grub/util/biosdisk.h.
41680 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
41681 grub/util/biosdisk.h.
41682
48e12b52 416832007-05-16 Robert Millan <rmh@aybabtu.com>
41684
41685 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
41686
46b9d128 416872007-05-16 Robert Millan <rmh@aybabtu.com>
41688
41689 * util/i386/efi/grub-install.in: New.
41690 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
41691 newly added grub-install.
41692 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
41693 include.
41694 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
41695 grub/util/biosdisk.h.
41696 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
41697 grub/util/biosdisk.h.
41698
2d1a40a9 416992007-05-16 Robert Millan <rmh@aybabtu.com>
41700
41701 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
41702 * include/grub/util/biosdisk.h: ... here.
41703 * util/i386/pc/biosdisk.c: Moved to ...
41704 * util/biosdisk.c: ... here.
41705 * util/i386/pc/getroot.c: Moved to ...
41706 * util/getroot.c: ... here.
41707 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
41708 * util/grub-mkdevicemap.c: ... here.
41709 * util/i386/pc/grub-probe.c: Moved to ...
41710 * util/grub-probe.c: ... here.
41711
9e26e3bc 417122007-05-15 Robert Millan <rmh@aybabtu.com>
41713
41714 * util/update-grub.in: Remove duplicated line in grub.cfg header
41715 message.
41716
57f96397 417172007-05-13 Robert Millan <rmh@aybabtu.com>
41718
41719 * util/update-grub.in: Fix a few assumptions about the devices holding
41720 /, /boot and /boot/grub being the same.
41721 * util/grub.d/00_header.in: Likewise.
41722 * util/grub.d/10_hurd.in: Likewise.
41723 * util/grub.d/10_linux.in: Likewise.
41724
41725 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
41726 patterns. Use that to define the `.old' suffix as older than `'.
41727
41728 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
41729
41730 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
41731 the grub.cfg header message.
41732
2e610d62 417332007-05-11 Robert Millan <rmh@aybabtu.com>
41734
41735 * util/update-grub.in: Create device.map if it doesn't already exist,
41736 before attempting to run grub-probe.
41737 Check for grub-probe and grub-mkdevicemap with the same code
41738 grub-install is using.
41739 Remove test mode.
41740
3f6a10ef 417412007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
41742
41743 * Makefile.in: Add the datarootdir autoconf variable.
41744
02e7b75e 417452007-05-09 Robert Millan <rmh@aybabtu.com>
41746
41747 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 41748 fail gracefully if dev->disk->partition == NULL.
02e7b75e 41749
75f396cc 417502007-05-07 Robert Millan <rmh@aybabtu.com>
41751
41752 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
41753 determine partition map module.
41754 * util/i386/pc/grub-install.in: Use this feature to decide which
41755 partition module to load, instead of hardcoding pc and gpt.
41756
da65cb36 417572007-05-07 Robert Millan <rmh@aybabtu.com>
41758
41759 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
41760 source directory differs from build directory.
41761
b57d6a91 417622007-05-05 Robert Millan <rmh@aybabtu.com>
41763
41764 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
41765 initialisation.
41766
509d00f1 417672007-05-05 Robert Millan <rmh@aybabtu.com>
41768
41769 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
41770
c48f23ef 417712007-05-05 Robert Millan <rmh@aybabtu.com>
41772
41773 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
41774 command-line arguments via ${GRUB_CMDLINE_LINUX}.
41775
20b97658 417762007-05-05 Robert Millan <rmh@aybabtu.com>
41777
41778 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
41779 (grub_probe_SOURCES): Likewise.
41780 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
41781 GPT and initialize dos_part and bsd_part accordingly.
41782 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
41783 install_bsd_part.
41784 (main): Activate gpt module for use during partition identification,
41785 and deactivate it afterwards.
41786 * util/i386/pc/grub-install.in: Add gpt module to core.img.
41787 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
41788 partition identification, and deactivate it afterwards.
41789
99123174 417902007-05-05 Robert Millan <rmh@aybabtu.com>
41791
41792 * term/i386/pc/console.c (grub_console_fini): Call
41793 grub_term_set_current() before grub_term_unregister().
41794
ebd97f6e 417952007-05-04 Robert Millan <rmh@aybabtu.com>
41796
41797 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
41798 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
41799 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
41800 and update-grub_DATA.
41801 * conf/common.rmk: Build and install update-grub components.
41802 * conf/common.mk: Regenerate.
41803 * util/update-grub.in: New. Core of update-grub.
41804 * util/grub.d/00_header.in: New. Generates grub.cfg header.
41805 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
41806 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
41807 * util/grub.d/README: New. Document grub.d directory layout.
41808
b06a264d 418092007-05-01 Robert Millan <rmh@aybabtu.com>
41810
41811 * util/grub-emu.c: Move initialization functions
41812 grub_util_biosdisk_init() and grub_init_all() before
41813 grub_util_biosdisk_get_grub_dev(), which relies on them.
41814
41f0050e 418152007-04-19 Robert Millan <rmh@aybabtu.com>
41816
41817 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
41818 it is used later.
41819
04582bb3 418202007-04-18 Jerone Young <jerone@gmail.com>
41821
f19dbdb7 41822 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 41823 stanza.
41824
08db4632 418252007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 41826
08db4632 41827 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
41828 continue on and look for device node with real device name.
41829
801b76be 418302007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 41831
fe6b695a 41832 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 41833 ability.
41834 * Makefile.in: Add autoconf package transformation code.
41835 * util/i386/pc/grub-install.in: Likewise.
41836 * util/powerpc/ieee1275/grub-install.in: Likewise.
41837
6795c4e1 418382007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41839
41840 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
41841 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
41842 (EXT2_REVISION): Likewise.
41843 (EXT2_INODE_SIZE): Likewise.
41844 (struct grub_ext2_block_group): Added a missing member
41845 "used_dirs".
41846 (grub_ext2_read_inode): Divide by the inode size in a superblock
41847 instead of 128 to obtain INODES_PER_BLOCK.
41848 Use the macro EXT2_INODE_SIZE instead of directly using
41849 SBLOCK->INODE_SIZE.
41850
d70af616 418512007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41852
41853 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
41854 superblock instead of the structure size to compute an
41855 offset. This fixes the problem that GRUB could not read a
41856 filesystem when inode size is different from 128-byte.
41857
3b801603 418582007-03-05 Marco Gerards <marco@gnu.org>
41859
41860 * normal/main.c (read_config_file): When "menu" is not set, create
41861 an initial context.
41862
4785bfe4 418632007-02-21 Hollis Blanchard <hollis@penguinppc.org>
41864
41865 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
41866 (HEAP_LIMIT): New macro.
41867 (grub_claim_heap): Claim memory up to `heaplimit'.
41868
a0cbb023 418692007-02-21 Hollis Blanchard <hollis@penguinppc.org>
41870
41871 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
41872 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
41873 (_start): Likewise.
41874 (grub_arch_modules_addr): Return address after `_end'.
41875 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
41876 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
41877 (add_segments): Calculate `_end' from phdr size and location.
41878 (ALIGN_UP): Moved to ...
41879 * include/grub/misc.h: here.
41880 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
41881 New macro.
41882 (GRUB_IEEE1275_MODULE_BASE): Removed.
41883
fd7d8eba 418842007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41885
41886 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
41887 loop boundary.
41888
9b09e6fc 418892007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41890
41891 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
41892 All users updated.
41893 (grub_elf64_load_hook_t): Likewise.
41894 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
41895 debug output.
41896
3ce27299 418972007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41898
41899 * kern/mm.c: Update copyright.
41900 (grub_mm_debug): Correct syntax error.
41901 (grub_mm_dump_free): New function.
41902 (grub_debug_free): Call `grub_free'.
41903 * include/grub/mm.h: Update copyright.
41904 (grub_mm_dump_free): Add declaration.
41905
077d5fee 419062007-02-12 Hollis Blanchard <hollis@penguinppc.org>
41907
41908 * include/grub/ieee1275/ieee1275.h: Update copyright.
41909 * kern/powerpc/ieee1275/init.c: Likewise.
41910 * kern/powerpc/ieee1275/openfw.c: Likewise.
41911
41912 * loader/powerpc/ieee1275/linux.c: Likewise.
41913 * include/grub/elfload.h: Likewise.
41914 * kern/elf.c: Likewise.
41915 (grub_elf32_load): Pass `base' and `size' parameters. Update all
41916 callers.
41917 (grub_elf64_load): Likewise.
41918 (grub_elf32_load_segment): Move to a nested function.
41919 (grub_elf64_load_segment): Likewise.
41920
dc946850 419212007-02-12 Hollis Blanchard <hollis@penguinppc.org>
41922
41923 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
41924 prototype.
41925 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
41926 (grub_heap_len): Likewise.
41927 (HEAP_SIZE): New macro.
41928 (grub_claim_heap): New function.
41929 (grub_machine_init): Don't claim heap directly. Call
41930 `grub_claim_heap'.
41931 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
41932 (grub_available_iterate): New function.
41933
baa2a121 419342007-02-03 Thomas Schwinge <tschwinge@gnu.org>
41935
41936 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
41937 * configure.ac: Use it for testing the HOST and TARGET compilers.
41938
4fe9862e 419392006-12-13 Thomas Schwinge <tschwinge@gnu.org>
41940
41941 * Makefile.in (enable_grub_emu): New variable.
41942 * configure.ac (--enable-grub-emu): New option.
41943 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
41944 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
41945 * conf/i386-pc.rmk: Likewise.
41946 * conf/powerpc-ieee1275.rmk: Likewise.
41947 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
41948
a8aa5762 419492006-12-12 Marco Gerards <marco@gnu.org>
41950
41951 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
41952
41953 * kern/env.c (grub_env_unset): Don't free the member `value' when
41954 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
41955 pointer.
41956
41957 * normal/main.c (current_menu): Removed.
41958 (free_menu): Unset the `menu' environment variable.
41959 (grub_normal_menu_addentry): Make use of the environment variable
41960 `menu', instead of using the global `current_menu'. Allocate
41961 memory for the sourcecode of this entry.
41962 (read_config_file): New argument `nested', changed all callers.
41963 Only in the case of a new context, initialize a new menu. Set the
41964 `menu' environment variable.
41965 (grub_normal_execute): Don't set and unset the environment
41966 variable `menu' here anymore. Only free the menu when leaving the
41967 context.
41968
41969 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
41970 leak.
41971
957b3a3e 419722006-12-11 Marco Gerards <marco@gnu.org>
41973
41974 * normal/menu_entry.c (run): Fix off by one bug so the last line
41975 is executed. Move the loader check to outside the loop.
41976
ef875714 419772006-12-08 Hollis Blanchard <hollis@penguinppc.org>
41978
41979 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
41980
4e739985 419812006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
41982
41983 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
41984 the number of sectors. Reported by Andrey Shuvikov
41985 <mr_hyro@yahoo.com>.
f19dbdb7 41986
790707f2 419872006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
41988
41989 * kern/disk.c (grub_disk_read): When there is a read error, always
41990 try to read only the necessary data.
f19dbdb7 41991
790707f2 41992 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
41993 disk/raid.c.
41994 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
41995 prototype.
41996 [GRUB_UTIL] (grub_raid_fini): Likewise.
41997 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 41998 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 41999 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
42000 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
42001 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
42002 and grub_raid_fini().
f19dbdb7 42003
03e58196 420042006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42005
42006 * include/grub/types.h (__unused): Rename to UNUSED.
42007 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
42008 (grub_elf64_size): Likewise.
f19dbdb7 42009
ae4f23bf 420102006-11-03 Hollis Blanchard <hollis@penguinppc.org>
42011
42012 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
42013 grub_error_push and grub_error_pop in the error-handling path.
42014 (grub_elf32_load_segment): Only call grub_file_read with non-zero
42015 length.
42016
2166cc83 420172006-11-03 Hollis Blanchard <hollis@penguinppc.org>
42018
42019 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
42020 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42021 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42022 (kernel_elf_SOURCES): Likewise.
42023 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
42024 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
42025 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42026 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42027 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
42028 (elf_mod_SOURCES): New variable.
42029 (elf_mod_CFLAGS): Likewise.
42030 (elf_mod_LDFLAGS): Likewise.
42031 * include/grub/types.h (__unused): New macro.
42032 * include/grub/elfload.h: New file.
42033 * kern/elf.c: Likewise.
42034 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
42035 (ELF32_LOADMASK): New macro.
42036 (ELF64_LOADMASK): Likewise.
42037 (vmlinux): Removed.
42038 (grub_linux_load32): New function.
42039 (grub_linux_load64): Likewise.
42040 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
42041 Use grub_elf_t instead of grub_file_t.
42042
a09d5aa5 420432006-11-02 Hollis Blanchard <hollis@penguinppc.org>
42044
42045 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
42046 `catch_result' to struct set_color_args.
42047
d976fc51 420482006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42049
42050 * normal/menu.c: Include grub/script.h.
42051 * normal/menu_entry.c: Likewise.
42052 * include/grub/normal.h: Do not include grub/script.h.
42053
67507549 420542006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42055
42056 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
42057
69203a99 420582006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42059
42060 * kern/disk.c (grub_disk_open): Print debug messages when opening a
42061 disk.
42062 (grub_disk_close): Print debug messages when closing a disk.
42063 (grub_disk_read): Print debug messages when disk read fails.
42064 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
42065 filesystem type.
42066 * kern/partition.c: Include misc.h.
42067 (grub_partition_iterate): Print debug messages when detecting
42068 partition type.
42069
e2b8278c 420702006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42071
42072 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
42073 is negative.
42074 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
42075
97b2f2ff 420762006-10-26 Hollis Blanchard <hollis@penguinppc.org>
42077
42078 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42079 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
42080
6555d655 420812006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
42082
42083 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
42084 instead of sizeof(lv). Patch by Michael Guntsche.
42085
4d42b77f 420862006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
42087
42088 * disk/lvm.c: Rename VGS to VG_LIST.
42089 (grub_lvm_iterate): Change VGS->LV to VG-LV.
42090 (grub_lvm_open): Likewise.
42091 Thanks to Michael Guntsche for finding this bug.
42092
5d74d927 420932006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42094
42095 * configure.ac (AC_INIT): Bumped to 1.95.
42096
a1bb27e4 420972006-10-14 Robert Millan <rmh@aybabtu.com>
42098
42099 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
42100 with "/dev/.static/dev/md".
42101
e0994b8b 421022006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42103
42104 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
42105 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
42106 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
42107 DRIVE_NAME are always freed.
42108
42109 * util/i386/pc/biosdisk.c (make_device_name): Add one into
42110 DOS_PART, as a DOS partition is counted from one instead of zero
42111 now. Reported by Robert Millan.
42112
ddd5cee9 421132006-10-14 Robert Millan <rmh@aybabtu.com>
42114
42115 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
42116 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
42117 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
42118 string returned by grub_guess_root_device.
42119 * util/i386/pc/grub-setup.c: Likewise.
42120 * util/i386/pc/grub-probefs.c: Likewise.
42121
42122 * util/i386/pc/grub-probefs.c: Rename to ...
42123 * util/i386/pc/grub-probe.c: ... this.
42124 * DISTLIST: Remove grub-probefs, add grub-probe.
42125 * conf/i386-efi.rmk: Likewise.
42126 * conf/i386-pc.rmk: Likewise.
42127 * util/i386/pc/grub-install.in: Likewise.
42128
42129 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
42130 choose which information we want to print.
42131
2b002173 421322006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42133
42134 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
42135 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
42136 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
42137 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
42138 video/readers/tga.c and video/i386/pc/vbeutil.c.
42139
421402006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
42141
42142 Added support for RAID and LVM.
f19dbdb7 42143
2b002173 42144 * disk/lvm.c: New file.
42145 * disk/raid.c: Likewise.
42146 * include/grub/lvm.h: Likewise.
f19dbdb7 42147 * include/grub/raid.h: Likewise.
2b002173 42148 * include/grub/util/lvm.h: Likewise.
42149 * include/grub/util/raid.h: Likewise.
42150 * util/lvm.c: Likewise.
42151 * util/raid.c: Likewise.
42152
42153 * include/grub/disk.h (grub_disk_dev_id): Add
42154 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
42155 (grub_disk_get_size): New prototype.
42156 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
42157 returns a partition.
42158 (grub_disk_get_size): New function.
f19dbdb7 42159
2b002173 42160 * kern/i386/pc/init.c (make_install_device): Copy the prefix
42161 verbatim if grub_install_dos_part is -2.
42162
42163 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
42164 and LVM devices.
42165
42166 * util/i386/pc/grub-setup.c (setup): New argument
42167 MUST_EMBED. Force embedding of GRUB when the argument is
42168 true. Close FILE before returning.
42169 (main): Add support for RAID and LVM.
f19dbdb7 42170
2b002173 42171 * conf/common.rmk: Add RAID and LVM modules.
42172 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
42173 util/lvm.c.
42174 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
42175
42176 * kern/misc.c (grub_strstr): New function.
42177 * include/grub/misc.h (grub_strstr): New prototype.
42178
050548d0 421792006-10-10 Tristan Gingold <tristan.gingold@bull.net>
42180
42181 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
42182
da849d2d 421832006-10-05 Tristan Gingold <tristan.gingold@bull.net>
42184
42185 * kern/misc.c (grub_strtoull): Guess the base only if not
42186 specified.
42187
97b2f2ff 421882006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 42189
42190 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
42191 PowerMac support.
42192
97b2f2ff 421932006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 42194
42195 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
42196
42197 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
42198 Remove `flags' argument. All callers changed.
42199 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
42200 (IEEE1275_IHANDLE_INVALID): New variable.
42201 (IEEE1275_CELL_INVALID): New variable.
42202 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
42203 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
42204 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
42205 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
42206 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
42207 codes from Open Firmware. All callers updated.
42208 (grub_ieee1275_next_property): Directly return Open Firmware return
42209 code.
42210 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
42211 Standardize error checking from `grub_ieee1275_get_property'.
42212 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
42213 `devalias' to `aliases'. Correct comments. Consolidate error paths.
42214
97b2f2ff 422152006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 42216
42217 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
42218 `instance_to_package_args' to `instance_to_path_args'.
42219
42220 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
42221 `grub_ieee1275_chosen'.
42222
42223 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
42224 `grub_ieee1275_interpret'.
42225
97b2f2ff 422262006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 42227
42228 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
42229
97b2f2ff 422302006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 42231
42232 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
42233 (__cmpdi): Likewise.
42234
42235 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
42236 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
42237 `grub_ssize_t'.
42238
02bb8acc 42239 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 42240
42241 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
42242 to type `grub_ssize_t'.
42243 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
42244
7f9a8531 422452006-09-22 Marco Gerards <marco@gnu.org>
42246
42247 * normal/script.c (grub_script_create_cmdmenu): Skip leading
42248 newlines.
42249
b5ef1102 422502006-09-22 Marco Gerards <marco@gnu.org>
42251
42252 * commands/echo.c: New file.
42253
42254 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
42255
42256 * conf/common.rmk (echo_mod_SOURCES): New variable.
42257 (echo_mod_CFLAGS): Likewise.
42258 (echo_mod_LDFLAGS): Likewise.
42259
2cff3677 422602006-09-22 Marco Gerards <marco@gnu.org>
42261
42262 * normal/main.c (get_line): Malloc memory instead of using
42263 preallocated memory. Removed the arguments `cmdline' and
42264 `max_len'. Updated all callers.
42265
6ba4688b 422662006-09-22 Marco Gerards <marco@gnu.org>
42267
42268 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
42269 (normal_mod_DEPENDENCIES): Likewise.
42270
42271 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
42272 (normal_mod_DEPENDENCIES): Likewise.
42273
42274 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
42275
e02ac02c 422762006-09-22 Johan Rydberg <jrydberg@gnu.org>
42277
42278 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
42279 programs.
42280 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
42281 (normal_mod_DEPENDENCIES): Likewise.
42282 * conf/i386-pc.mk: Regenerate.
42283 * conf/i386-efi.mk: Likewise
42284 * conf/common.mk: Likewise.
42285 * conf/powerpc-ieee1275.mk: Likewise.
42286 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 42287
8d252e44 422882006-09-22 Robert Millan <rmh@aybabtu.com>
42289
42290 Sync with i386 version.
42291 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
42292 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
42293
209bf7ac 422942006-09-21 Robert Millan <rmh@aybabtu.com>
42295
42296 Import from GRUB Legacy (lib/device.c):
42297 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
42298 (init_device_map) [__linux__]: Add support for I2O devices.
42299
6b146090 423002006-09-14 Marco Gerards <marco@gnu.org>
42301
42302 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
42303 `-melf_i386'.
42304
e38600a8 423052006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 42306
42307 * util/i386/pc/grub-install.in: Skip menu.lst when removing
42308 /boot/grub/*.lst.
78fa1790 42309
2952da5d 42310 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 42311
2952da5d 42312 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
42313 before adding it to device.map.
42314
01b82a64 423152006-08-15 Johan Rydberg <jrydberg@gnu.org>
42316
fe6b695a 42317 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 42318 compiles a file; using the -MD option.
42319 * conf/common.mk: Regenerate.
42320 * conf/i386-pc.mk: Likewise.
42321 * conf/i386-efi.mk: Likewise.
42322 * conf/powerpc-ieee1275.mk: Likewise.
42323 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 42324
1064790d 423252006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
42326
42327 Move the prototypes of grub_setjmp and grub_longjmp to
42328 cpu/setjmp.h, so that each architecture may specify different
42329 attributes.
f19dbdb7 42330
1064790d 42331 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
42332 (grub_longjmp): Likewise.
42333 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
42334 (grub_longjmp): Likewise.
42335 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
42336 (grub_longjmp): Likewise.
42337
42338 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
42339 [!GRUB_UTIL] (grub_longjmp): Removed.
42340
29dda3ed 423412006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
42342
42343 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
42344 "color!" method does not return any value.
42345
ad2a06ed 423462006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42347
42348 * include/grub/bitmap.h: New file.
42349
42350 * include/grub/i386/pc/vbeutil.h: Likewise.
42351
42352 * video/bitmap.c: Likewise.
42353
42354 * video/readers/tga.c: Likewise.
42355
42356 * video/i386/pc/vbeutil.c: Likewise.
42357
42358 * commands/videotest.c: Code cleanup and updated to reflect to new
42359 video API.
42360
42361 * term/gfxterm.c: Likewise.
42362
42363 * video/video.c: Likewise.
42364
42365 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
42366 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
42367 (bitmap_mod_SOURCES): New entry.
42368 (bitmap_mod_CFLAGS): Likewise.
42369 (bitmap_mod_LDFLAGS): Likewise.
42370 (tga_mod_SOURCES): Likewise.
42371 (tga_mod_CFLAGS): Likewise.
42372 (tga_mod_LDFLAGS): Likewise.
42373
42374 * include/grub/video.h (grub_video_blit_operators): New enum type.
42375 (grub_video_render_target): Changed as forward declaration and moved
42376 actual definition to be video driver specific.
42377 (grub_video_adapter.blit_bitmap): Added blitting operator.
42378 (grub_video_adapter.blit_render_target): Likewise.
42379 (grub_video_blit_bitmap): Likewise.
42380 (grub_video_blit_render_target): Likewise.
42381
42382 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
42383 driver specific render target definition.
42384 (grub_video_vbe_map_rgba): Added driver internal helper.
42385 (grub_video_vbe_unmap_color): Updated to use
42386 grub_video_i386_vbeblit_info.
42387 (grub_video_vbe_get_video_ptr): Likewise.
42388
42389 * include/grub/i386/pc/vbeblit.h
42390 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
42391 grub_video_i386_vbeblit_info.
42392 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42393 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42394 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42395 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42396 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42397 (grub_video_i386_vbeblit_index_index): Likewise.
42398 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
42399 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42400 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42401 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
42402 operator.
42403 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
42404 operator.
42405
42406 * video/i386/pc/vbeblit.c: Updated to reflect changes on
42407 include/grub/i386/pc/vbeblit.h.
42408
42409 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
42410 Updated to use grub_video_i386_vbeblit_info.
42411 (grub_video_i386_vbefill_R8G8B8): Likewise.
42412 (grub_video_i386_vbefill_index): Likewise.
42413 (grub_video_i386_vbefill): Added generic filler.
42414
42415 * video/i386/pc/vbefill.c: Updated to reflect changes on
42416 include/grub/i386/pc/vbefill.h.
42417
42418 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
42419 grub_video_i386_vbeblit_info.
42420 (grub_video_vbe_unmap_color): Likewise.
42421 (grub_video_vbe_blit_glyph): Likewise.
42422 (grub_video_vbe_scroll): Likewise.
42423 (grub_video_vbe_draw_pixel): Removed function.
42424 (grub_video_vbe_get_pixel): Likewise.
42425 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
42426 updated code to use it.
42427 (common_blitter): Added common blitter for render target and bitmap.
42428 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
42429 (grub_video_vbe_blit_render_target): Likewise.
42430
bc8c036d 424312006-07-30 Johan Rydberg <jrydberg@gnu.org>
42432
42433 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
42434 is in text mode if there is no console control protocol instance
42435 available.
42436
684a8eff 424372006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42438
42439 * include/grub/video.h: Code cleanup.
42440
42441 * include/grub/i386/pc/vbe.h: Likewise.
42442
42443 * video/i386/pc/vbe.c: Likewise.
42444
42445 * video/i386/pc/vbeblit.c: Likewise.
42446
42447 * video/i386/pc/vbefill.c: Likewise.
42448
42449 * video/video.c: Likewise. Also added more comments.
42450
5915059b 424512006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42452
42453 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
42454 (struct grub_biosdisk_dap): Likewise.
42455
42456 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
42457 linkage settings for all functions.
42458
90ce5d56 424592006-07-12 Marco Gerards <marco@gnu.org>
42460
42461 * configure.ac (--enable-mm-debug): Fix typo.
42462
42463 * genkernsyms.sh.in: Use proper quoting for `CC'.
42464
43e7f879 424652006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
42466
42467 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
42468 (normal_mod_ASFLAGS): Remove "-m32".
42469
4889bdec 424702006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
42471
42472 * util/misc.c: Include config.h.
42473 [!HAVE_MEMALIGN]: Do not include malloc.h.
42474 (grub_memalign): Use posix_memalign, if present. Then, use
42475 memalign, if present. Otherwise, emit an error.
42476
42477 * util/grub-emu.c: Do not include malloc.h.
42478
42479 * include/grub/util/misc.h: Include unistd.h. This is required for
42480 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
42481 D. Eades III <hde@foobar-qux.org>.
42482
42483 * configure.ac (AC_GNU_SOURCE): Added.
42484 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
42485 type.
42486
fd39d4da 424872006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
42488
42489 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
42490 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
42491
b786f3b5 424922006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
42493
42494 * include/grub/types.h (grub_host_addr_t): Rename to
42495 grub_target_addr_t.
42496 (grub_host_off_t): Rename to grub_target_off_t.
42497 (grub_host_size_t): Rename to grub_target_size_t.
42498 (grub_host_ssize_t): Rename to grub_target_ssize_t.
42499 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
42500
42501 * include/grub/kernel.h (struct grub_module_header): Change type
42502 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
42503 (grub_module_info): Likewise.
f19dbdb7 42504
051988bb 425052006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
42506
42507 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
42508 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
42509 Velazquez <jesus.velazquez@gmail.com>.
42510
deae281b 425112006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
42512
42513 Count partitions from 1 instead of 0 in the string representation
42514 of partitions. Still use 0-based internally.
f19dbdb7 42515
deae281b 42516 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
42517 (sun_partition_map_iterate): Use grub_partition_t instead of
42518 struct grub_partition *. Cast DESC->START_CYLINDER to
42519 grub_uint64_t after converting the endian.
42520 (sun_partition_map_probe): Subtract 1 for PARTNUM.
42521 (sun_partition_map_get_name): Add 1 to P->INDEX.
42522
42523 * partmap/pc.c (grub_partition_parse): Subtract 1 for
42524 PCDATA->DOS_PART.
42525 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
42526
42527 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
42528 zero instead of one.
42529 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
42530 (gpt_partition_map_get_name): Add 1 into P->INDEX.
42531
42532 * partmap/apple.c (apple_partition_map_iterate): Change the type
42533 of POS to unsigned.
42534 (apple_partition_map_probe): Subtract 1 for PARTNUM.
42535 (apple_partition_map_get_name): Add 1 into P->INDEX.
42536
42537 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
42538 of POS to unsigned.
42539 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
42540 calculate the offset of a partition.
42541 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
42542 (amiga_partition_map_get_name): Add 1 into P->INDEX.
42543
42544 * partmap/acorn.c (acorn_partition_map_find): Change the type of
42545 SECTOR to grub_disk_addr_t.
42546 (acorn_partition_map_iterate): Likewise.
42547 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
42548 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
42549 top.
42550 (acorn_partition_map_get_name): Add 1 into P->INDEX.
42551
42552 * kern/i386/pc/init.c (make_install_device): Add 1 into
42553 GRUB_INSTALL_DOS_PART.
42554
42555 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
42556 conditional.
42557
524a1e6a 425582006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
42559
42560 Clean up the code to support 64-bit addressing in disks and
42561 files. This change is not enough for filesystems yet.
f19dbdb7 42562
524a1e6a 42563 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
42564 type of "start" to grub_uint64_t.
42565 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
42566 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
42567 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
42568 convert addresses.
42569
42570 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
42571 to grub_disk_addr_t.
42572
42573 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
42574 string.
42575
42576 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42577
42578 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
42579 to char *.
42580
42581 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
42582
42583 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
42584
42585 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
42586
42587 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
42588 to grub_off_t, to detect an error from grub_file_seek.
42589 (grub_multiboot_load_elf32): Likewise.
42590
42591 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
42592 maximum unsigned long value when an overflow is detected.
42593 (grub_strtoull): New function.
42594 (grub_divmod64): Likewise.
42595 (grub_lltoa): use grub_divmod64.
42596
42597 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
42598 grub_disk_addr_t.
42599 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
42600 the pointer to next character. Use grub_strtoull instead of
42601 grub_strtoul.
42602 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
42603 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
42604 respectively.
42605
fe6b695a 42606 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 42607 return value is signed.
42608 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
42609 test if OFFSET is less than zero, as OFFSET is unsigned now.
42610
42611 * kern/disk.c (struct grub_disk_cache): Change the type of
42612 "sector" to grub_disk_addr_t.
42613 (grub_disk_cache_get_index): Change the type of SECTOR to
42614 grub_disk_addr_t. Calculate the hash with SECTOR casted to
42615 unsigned after shifting.
42616 (grub_disk_cache_invalidate): Change the type of SECTOR to
42617 grub_disk_addr_t.
42618 (grub_disk_cache_unlock): Likewise.
42619 (grub_disk_cache_store): Likewise.
42620 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
42621 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
42622 grub_disk_addr_t and grub_uint64_t, respectively.
42623 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
42624 body, as the value of OFFSET is tweaked by
42625 grub_disk_check_range. Change the types of START_SECTOR, LEN and
42626 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
42627 respectively.
42628 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
42629 body, as the value of OFFSET is tweaked by
42630 grub_disk_check_range. Change the types of LEN and N to
42631 grub_size_t.
42632
42633 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
42634 and "saved_offset" to grub_off_t.
42635 (test_header): Cast BUF to char *.
42636 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
42637 to char *.
42638 (grub_gzio_read): Change the types of OFFSET and SIZE to
42639 grub_off_t and grub_size_t, respectively.
42640
42641 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
42642 Removed.
42643 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
42644 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
42645 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
42646 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
42647 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
42648
42649 * include/grub/types.h (grub_off_t): Unconditionally set to
42650 grub_uint64_t.
42651 (grub_disk_addr_t): Changed to grub_uint64_t.
42652
42653 * include/grub/partition.h (struct grub_partition): Change the
42654 types of "start", "len" and "offset" to grub_disk_addr_t,
42655 grub_uint64_t and grub_disk_addr_t, respectively.
42656 (grub_partition_get_start): Return grub_disk_addr_t.
42657 (grub_partition_get_len): Return grub_uint64_t.
42658
42659 * include/grub/misc.h (grub_strtoull): New prototype.
42660 (grub_divmod64): Likewise.
42661
42662 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
42663 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
42664 grub_off_t, respectively.
42665 All callers and references changed.
42666
42667 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
42668 grub_size_t in "read".
42669 All callers and references changed.
42670
42671 * include/grub/file.h (struct grub_file): Change the types of
42672 "offset" and "size" to grub_off_t and grub_off_t,
42673 respectively. Change the type of SECTOR to grub_disk_addr_t in
42674 "read_hook".
42675 (grub_file_read): Change the type of LEN to grub_size_t.
42676 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
42677 grub_off_t.
42678 (grub_file_size): Return grub_off_t.
42679 (grub_file_tell): Likewise.
42680 All callers and references changed.
42681
42682 * include/grub/disk.h (struct grub_disk_dev): Change the types of
42683 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
42684 "write".
42685 (struct grub_disk): Change the type of "total_sectors" to
42686 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 42687 "read_hook".
524a1e6a 42688 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
42689 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
42690 (grub_disk_write): Likewise.
42691 All callers and references changed.
42692
42693 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
42694 char * for grub_strncmp to silence gcc.
42695 (grub_iso9660_mount): Likewise.
42696 (grub_iso9660_mount): Likewise.
42697 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
42698 return statement.
42699 (grub_iso9660_iterate_dir): Likewise.
42700 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
42701
42702 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
42703 LEN to grub_disk_addr_t and grub_size_t, respectively.
42704
42705 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42706
42707 * fs/jfs.c (grub_jfs_read_file): Likewise.
42708
42709 * fs/minix.c (grub_jfs_read_file): Likewise.
42710
42711 * fs/sfs.c (grub_jfs_read_file): Likewise.
42712
42713 * fs/ufs.c (grub_jfs_read_file): Likewise.
42714
42715 * fs/xfs.c (grub_jfs_read_file): Likewise.
42716
42717 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
42718 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
42719 respectively.
42720
42721 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
42722 BLKNR to -1 instead of returning GRUB_ERRNO.
42723 (grub_ext2_read_file): Change the types of SECTOR and
42724 LEN to grub_disk_addr_t and grub_size_t, respectively.
42725
42726 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
42727 LEN to grub_disk_addr_t and grub_size_t, respectively.
42728
42729 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
42730 grub_file_read.
42731
42732 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
42733 string. Do not cast SECTOR explicitly.
42734
42735 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
42736 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
42737 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
42738 grub_disk_addr_t and grub_size_t, respectively. If the sector is
42739 over 2TB and LBA mode is not supported, raise an error.
42740 (get_safe_sectors): New function.
42741 (grub_biosdisk_read): Use get_safe_sectors.
42742 (grub_biosdisk_write): Likewise.
42743
42744 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
42745 (grub_efidisk_write): Likewise.
42746
42747 * disk/loopback.c (delete_loopback): Cosmetic changes.
42748 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
42749 correctly.
42750 (grub_loopback_open): Likewise.
42751 (grub_loopback_read): Likewise. Also, change the type of POS to
42752 grub_off_t, and fix the usage of grub_memset.
42753
42754 * commands/i386/pc/play.c: Include grub/machine/time.h.
42755
42756 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
42757 print FILE->SIZE.
42758
42759 * commands/configfile.c: Include grub/env.h.
42760
42761 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
42762 GRUB_ERRNO directly instead. Change the type of POS to
42763 grub_off_t. Follow the coding standard.
42764
42765 * commands/blocklist.c: Include grub/partition.h.
42766 (grub_cmd_blocklist): Return an error if the underlying device is
42767 not a disk. Take the starting sector of a partition into account,
42768 if a partition is used.
42769
42770 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
42771 a length field.
42772 (lba_mode): Support 64-bit addresses.
42773 (chs_mode): Likewise.
42774 (copy_buffer): Adapted to the new offsets of a length field and a
42775 segment field.
42776 (blocklist_default_start): Allocate 64-bit space.
42777
42778 * boot/i386/pc/boot.S (force_lba): Removed.
42779 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 42780 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 42781 space.
42782 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
42783 is useless.
42784 (lba_mode): Refactored to support a 64-bit address. More size
42785 optimization.
42786 (setup_sectors): Likewise.
42787
53af98ad 427882006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
42789
42790 * DISTLIST: Added include/grub/i386/linux.h. Removed
42791 include/grub/i386/pc/linux.h
42792
42793 * configure.ac (AC_INIT): Bumped to 1.94.
42794
42795 * config.guess: Updated from gnulib.
42796 * config.sub: Likewise.
42797 * install-sh: Likewise.
42798 * mkinstalldirs: Likewise.
42799
b4c1940a 428002006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
42801
42802 * conf/common.rmk (grub_modules_init.lst): Depended on
42803 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
42804 MODSRCFILES.
42805
42806 * genmk.rb (PModule::rule): Reverted the previous change.
42807
cfca1cfd 428082006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
42809
42810 * conf/common.rmk (grub_modules_init.lst): Depends on
42811 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
42812 that the target does not exist before producing.
42813 (grub_modules_init.h): Remove the target before generating.
42814 (grub_emu_init.c): Likewise.
42815
42816 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
42817
aa6d7826 428182006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
42819
42820 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
42821 for the target-specific tests. Make sure that we also have the
42822 up-to-date target variables for those tests.
42823
26c607b9 428242006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
42825
42826 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
42827 (PModule::rule): Likewise.
42828
0162321a 428292006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
42830
42831 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
42832 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
42833 target-specific flags should be prefixed.
42834 (PModule::rule): Likewise.
42835
6c826348 428362006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
42837
42838 * configure.ac (CMP): Check if cmp is available explicitly.
42839
b977bf01 428402006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
42841
42842 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
42843 (target_cpu): New variable.
42844 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 42845
b977bf01 42846 * util/i386/pc/grub-install.in (host_cpu): Removed.
42847 (target_cpu): New variable.
42848 (pkglibdir): Use target_cpu instead of host_cpu.
42849
42850 * util/genmoddep.c: Removed.
f19dbdb7 42851
b977bf01 42852 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
42853 instead of GRUB_HOST_SIZEOF_VOID_P.
42854 * kern/dl.c: Likewise.
42855
42856 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
42857 ...
42858 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42859 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42860 (GRUB_TARGET_SIZEOF_LONG): ... this.
42861 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42862 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42863 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
42864 to ...
42865 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42866 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42867 (GRUB_TARGET_SIZEOF_LONG): ... this.
42868 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42869 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42870 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
42871 to ...
42872 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42873 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42874 (GRUB_TARGET_SIZEOF_LONG): ... this.
42875 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42876 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42877
42878 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
42879 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
42880 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
42881 instead of GRUB_HOST_SIZEOF_LONG.
42882 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
42883 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
42884 GRUB_CPU_WORDS_BIGENDIAN.
42885 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
42886 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
42887 grub_host_ssize_t.
42888
42889 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
42890 (genmoddep_SOURCES): Likewise.
42891 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
42892 (genmoddep_SOURCES): Likewise.
42893 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
42894 (genmoddep_SOURCES): Likewise.
42895 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
42896 Likewise.
42897 (genmoddep_SOURCES): Likewise.
42898
42899 * genmoddep.awk: New file.
42900
42901 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
42902 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
42903 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
42904 (PModule::rule): Likewise.
42905 (Program::rule): Likewise.
42906 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
42907 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
42908 respectively.
42909
42910 * configure.ac: Rewritten intensively to use host and target
42911 instead of build and host, respectively.
42912
42913 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
42914 (host_cpu): Removed.
42915 (target_cpu): New variable.
42916 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
42917 (BUILD_CC): Removed.
42918 (BUILD_CFLAGS): Likewise.
42919 (BUILD_CPPFLAGS): Likewise.
42920 (TARGET_CC): New variable.
42921 (TARGET_CFLAGS): Likewise.
42922 (TARGET_CPPFLAGS): Likewise.
42923 (TARGET_LDFLAGS): Likewise.
42924 (AWK): Likewise.
42925 (include): Use target_cpu instead of host_cpu.
42926 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 42927
b977bf01 42928 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
42929
f09771a1 429302006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
42931
42932 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
42933 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
42934 field 'false' to 'exec_on_false'.
42935 (grub_script_create_cmdif): Renamed argument names to reflect above
42936 changes.
42937
42938 * normal/execute.c (grub_script_execute_cmdif): Likewise.
42939
42940 * normal/script.c (grub_script_create_cmdif): Likewise.
42941
118f4fb3 429422006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
42943
42944 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
42945 top.
42946 (grub_hfsplus_btree_recptr): Likewise.
42947 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
42948 FILEBLOCK both to pass a block number and store next block
42949 number.
42950 (grub_hfsplus_read_block): Rewritten heavily to support an extent
42951 overflow file correctly. Specify errors appropriately, because
42952 fshelp expects that GRUB_ERRNO is set when fails. Reuse
42953 grub_hfsplus_btree_recptr to get the pointer to a found key.
42954 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
42955 is found.
42956
42957 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
42958 linux.mod.
42959 (_linux_mod_SOURCES): New variable.
42960 (_linux_mod_CFLAGS): Likewise.
42961 (_linux_mod_LDFLAGS): Likewise.
42962 (linux_mod_SOURCES): Likewise.
42963 (linux_mod_CFLAGS): Likewise.
42964 (linux_mod_LDFLAGS): Likewise.
42965
42966 * DISTLIST: Added loader/i386/efi/linux.c,
42967 loader/i386/efi/linux_normal.c and
42968 include/grub/i386/efi/loader.h.
42969
42970 * loader/i386/efi/linux.c: New file.
42971 * loader/i386/efi/linux_normal.c: Likewise.
42972 * include/grub/i386/efi/loader.h: Likewise.
42973
89a7d726 429742006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
42975
42976 * commands/blocklist.c: New file.
42977
42978 * DISTLIST: Added commands/blocklist.c.
42979
42980 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 42981 color for the background, and a darker color for the foreground.
89a7d726 42982 (grub_console_checkkey): Return READ_KEY.
42983 (grub_console_cls): Set the background to
42984 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
42985
42986 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
42987
42988 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
42989 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
42990
42991 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
42992 prototype.
42993
42994 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
42995 BG. The spec is wrong again.
42996
42997 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
42998 prototype.
42999 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
43000
43001 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43002 commands/blocklist.c.
43003 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 43004
89a7d726 43005 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
43006 (blocklist_mod_SOURCES): New variable.
43007 (blocklist_mod_CFLAGS): Likewise.
43008 (blocklist_mod_LDFLAGS): Likewise.
43009
75c8f258 430102006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
43011
43012 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
43013 duplication.
43014 (lba_mode): Use %eax more intensively to reduce the code size.
43015
da2eb181 430162006-05-20 Marco Gerards <marco@gnu.org>
43017
43018 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
43019
43020 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
43021 for `menuentry'.
43022 (script): Accept leading newlines.
43023 (newlines): New rule to describe 0 or more newlines.
43024 (commands): Accept `command' with trailing newline. Fixed the
43025 order in which arguments were passed to `grub_script_add_cmd'.
43026 Accept commands separated by newlines.
43027 (function): Changed to accept newlines.
43028 (menuentry) Rewritten.
43029
43030 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
43031 front of the list, instead of to the end.
43032
577b4050 430332006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
43034
43035 * util/i386/pc/grub-install.in (bindir): New variable.
43036 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
43037 Shaver <lbgwjl@gmail.com>.
43038
0d6e1189 430392006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
43040
43041 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
43042 grub/machine/linux.h
43043 * loader/i386/pc/linux.c: Likewise.
43044
43045 * include/grub/i386/pc/linux.h: Moved to ...
43046 * include/grub/i386/linux.h: ... here.
43047
43048 * include/grub/i386/linux.h (struct linux_kernel_params): New
43049 struct.
f19dbdb7 43050
31b86e9f 430512006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
43052
43053 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
43054 checking.
43055 (grub_video_vbe_blit_glyph): Likewise.
43056 (grub_video_vbe_blit_bitmap): Likewise.
43057 (grub_video_vbe_blit_render_target): Likewise.
43058
83b984de 430592006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
43060
43061 * configure.ac (--with-platform): Properly quote the square
43062 brackets.
43063
5f0413bd 430642006-05-08 Marco Gerards <marco@gnu.org>
43065
43066 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
43067 this...
43068 (kernel_elf_HEADERS): ...to this. Updated all users.
43069 (grubof_symlist.c): Renamed from this...
43070 (kernel_elf_symlist.c): ...to this. Updated all users.
43071 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
43072 (grubof_SOURCES): Renamed from this...
43073 (kernel_elf_SOURCES): ...to this.
43074 (grubof_HEADERS): Renamed from this...
43075 (kernel_elf_HEADERS): ...to this.
43076 (grubof_CFLAGS): Renamed from this...
43077 (kernel_elf_CFLAGS): ...to this.
43078 (grubof_ASFLAGS): Renamed from this...
43079 (kernel_elf_ASFLAGS): ...to this.
43080 (grubof_LDFLAGS): Renamed from this...
43081 (kernel_elf_LDFLAGS): ...to this.
43082
43083 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
43084 this...
43085 (kernel_elf_HEADERS): ...to this. Updated all users.
43086 (grubof_symlist.c): Renamed from this...
43087 (kernel_elf_symlist.c): ...to this. Updated all users.
43088 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
43089 (grubof_SOURCES): Renamed from this...
43090 (kernel_elf_SOURCES): ...to this.
43091 (grubof_HEADERS): Renamed from this...
43092 (kernel_elf_HEADERS): ...to this.
43093 (grubof_CFLAGS): Renamed from this...
43094 (kernel_elf_CFLAGS): ...to this.
43095 (grubof_ASFLAGS): Renamed from this...
43096 (kernel_elf_ASFLAGS): ...to this.
43097 (grubof_LDFLAGS): Renamed from this...
43098 (kernel_elf_LDFLAGS): ...to this.
43099
43100 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
43101 `kernel.elf' instead of `grubof'.
43102
05568c2e 431032006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
43104
43105 Add --with-platform to configure. Use pkglibdir instead of
43106 pkgdatadir. This is reported by Roger Leigh.
43107
43108 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
43109 (host_vendor): Likewise.
43110 (host_os): Likewise.
43111 (pkgdatadir): Likewise.
43112 (platform): New variable.
43113 (pkglibdir): Likewise.
43114 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 43115
05568c2e 43116 * util/i386/pc/grub-install.in (datadir): Removed.
43117 (host_vendor): Likewise.
43118 (host_os): Likewise.
43119 (pkgdatadir): Likewise.
43120 (platform): New variable.
43121 (pkglibdir): Likewise.
43122 Use PKGLIBDIR instead of PKGDATADIR.
43123
43124 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
43125 instead of GRUB_DATADIR.
43126 (main): Likewise.
43127 * util/i386/pc/grub-mkimage.c (usage): Likewise.
43128 (main): Likewise.
43129 * util/i386/efi/grub-mkimage.c (usage): Likewise.
43130 (main): Likewise.
43131
43132 * configure.ac (--with-platform): New option.
43133 Use PLATFORM instead of HOST_VENDOR to specify a platform.
43134
43135 * Makefile.in: Include a makefile based on PLATFORM instead of
43136 HOST_VENDOR.
43137 (pkgdatadir): Not appended by the machine type.
43138 (pkglibdir): Appended by the machine type.
43139 (host_vendor): Removed.
43140 (platform): New variable.
43141 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
43142 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
43143 (uninstall): Likewise.
43144
4e93851c 431452006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
43146
43147 Use the environment context in the menu. Remove the commands
43148 "default" and "timeout", and use variables instead.
f19dbdb7 43149
4e93851c 43150 * normal/menu.c: Include grub/env.h.
43151 (print_entry): Cast TITLE to silence gcc.
43152 (get_timeout): New function.
43153 (set_timeout): Likewise.
43154 (get_entry_number): Likewise.
43155 (run_menu): Use a default entry, a fallback entry and a timeout
43156 in the environment variables "default", "fallback" and
43157 "timeout". Also, tweak the default entry if it is not within the
43158 current menu entries.
43159 (grub_menu_run): Use a fallback entry in the environment variable
43160 "fallback".
43161
43162 * normal/main.c (read_config_file): Do not initialize
43163 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
43164 NEWMENU->TIMEOUT.
43165 (grub_normal_execute): Use a data slot to store the menu.
43166
43167 * include/grub/normal.h (struct grub_menu): Removed default_entry,
43168 fallback_entry and timeout.
43169 (struct grub_menu_list): Removed.
43170 (grub_menu_list_t): Likewise.
43171 (struct grub_context): Likewise.
43172 (grub_context_t): Likewise.
43173 (grub_context_get): Likewise.
43174 (grub_context_get_current_menu): Likewise.
43175 (grub_context_push_menu): Likewise.
43176 (grub_context_pop_menu): Likewise.
43177 (grub_default_init): Likewise.
43178 (grub_default_fini): Likewise.
43179 (grub_timeout_init): Likewise.
43180 (grub_timeout_fini): Likewise.
43181
43182 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
43183 and timeout.mod.
43184 (normal_mod_SOURCES): Removed normal/context.c.
43185
43186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
43187 commands/default.c, commands/timeout.c and normal/context.c.
43188 (normal_mod_SOURCES): Removed normal/context.c.
43189
43190 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
43191 commands/timeout.c and normal/context.c.
43192 (normal_mod_SOURCES): Removed normal/context.c.
43193
43194 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
43195 commands/default.c, commands/timeout.c and normal/context.c.
43196 (normal_mod_SOURCES): Removed normal/context.c.
43197
43198 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
43199 timeout.mod.
43200 (default_mod_SOURCES): Removed.
43201 (default_mod_CFLAGS): Likewise.
43202 (default_mod_LDFLAGS): Likewise.
43203 (timeout_mod_SOURCES): Removed.
43204 (timeout_mod_CFLAGS): Likewise.
43205 (timeout_mod_LDFLAGS): Likewise.
43206
43207 * DISTLIST: Removed commands/default.c, commands/timeout.c and
43208 normal/context.c.
43209
43210 * commands/default.c: Removed.
43211 * commands/timeout.c: Likewise.
43212 * normal/context.c: Likewise.
43213
1eb9cc1d 432142006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
43215
43216 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
43217
385bd9c1 432182006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
43219
43220 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
43221 "next" to "prev" for readability.
43222 (struct grub_env_sorted_var): New struct.
43223 (grub_env_context): Renamed to ...
43224 (initial_context): ... this.
43225 (grub_env_var_context): Renamed to ...
43226 (current_context): ... this.
43227 (grub_env_find): Look only at CURRENT_CONTEXT.
43228 (grub_env_context_open): Rewritten to copy exported variables from
43229 previous context.
43230 (grub_env_context_close): Rewritten according to the new
43231 scheme. Also, add an assertion to prevent the initial context from
43232 removed.
43233 (grub_env_insert): Removed the code for the sorted list.
43234 (grub_env_remove): Likewise.
43235 (grub_env_export): Simply mark the variable with
43236 GRUB_ENV_VAR_GLOBAL.
43237 (grub_env_set): A cosmetic change for naming consistency.
43238 (grub_env_get): Likewise.
43239 (grub_env_unset): Likewise.
43240 (grub_env_iterate): Rewritten to sort variables within this
43241 function.
43242 (grub_register_variable_hook): Fixed for naming consistency. Call
43243 grub_env_find again, only if NAME is not found at the first time.
43244 (mangle_data_slot_name): New function.
43245 (grub_env_set_data_slot): Likewise.
43246 (grub_env_get_data_slot): Likewise.
43247 (grub_env_unset_data_slot): Likewise.
43248
43249 * include/grub/env.h (grub_env_var_type): New enum.
43250 (GRUB_ENV_VAR_LOCAL): New constant.
43251 (GRUB_ENV_VAR_GLOBAL): Likewise.
43252 (GRUB_ENV_VAR_DATA): Likewise.
43253 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
43254 "type".
43255 (grub_env_set): Replace VAR with NAME for consistency.
43256 (grub_register_variable_hook): Likewise.
43257 (grub_env_export): Specify the name of the argument.
43258 (grub_env_set_data_slot): New prototype.
43259 (grub_env_get_data_slot): Likewise.
43260 (grub_env_unset_data_slot): Likewise.
43261
7f362539 432622006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
43263
43264 Extend the loader so that GRUB can accept a loader which comes
43265 back to GRUB when a loaded image exits. Also, this change adds
43266 support for a chainloader on EFI.
f19dbdb7 43267
7f362539 43268 * term/efi/console.c: Include grub/misc.h.
43269 (grub_console_checkkey): Display a scan code on the top for
43270 debugging. This will be removed once the EFI port gets stable.
43271 Correct the scan code mapping.
43272
43273 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
43274 allocate memory from larger regions, in order to reduce the number
43275 of allocated regions. Otherwise, the MacOSX loader panics.
43276 (filter_memory_map): Avoid less than 1MB for compatibility with
43277 other loaders.
43278 (add_memory_regions): Allocate from the tail of a region, if
43279 possible, to avoid allocating a region near to 1MB, for the MacOSX
43280 loader.
43281
43282 * kern/efi/init.c (grub_efi_set_prefix): Specify
43283 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
43284
43285 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
43286 argument IMAGE_HANDLE and specify it to get a loaded image.
43287 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
43288 grub_efi_get_loaded_image.
fe6b695a 43289 (grub_efi_get_filename): Divide the length by the size of
7f362539 43290 grub_efi_char16_t.
43291 (grub_efi_get_device_path): New function.
43292 (grub_efi_print_device_path): Print End Device Path nodes. Divide
43293 the length by the size of grub_efi_char16_t for a file path device
43294 path node.
43295
43296 * kern/loader.c (grub_loader_noreturn): New variable.
43297 (grub_loader_set): Accept a new argument NORETURN. Set
43298 GRUB_LOADER_NORETURN to NORETURN.
43299 All callers changed.
43300 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
43301 grub_machine_fini.
43302
43303 * include/grub/efi/efi.h (grub_efi_get_device_path): New
43304 prototype.
43305 (grub_efi_get_loaded_image): Take an argument to specify an image
43306 handle.
43307
43308 * include/grub/loader.h (grub_loader_set): Added one more argument
43309 NORETURN.
43310
43311 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
43312 instead of grub_efi_open_protocol.
43313 (grub_efidisk_get_device_name): Likewise.
43314 (grub_efidisk_close): Print a newline.
43315 (grub_efidisk_get_device_handle): Fixed to use
43316 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
43317 GRUB_EFI_DEVICE_PATH_TYPE.
43318
43319 * disk/efi/efidisk.c (device_path_guid): Moved to ...
43320 * kern/efi/efi.c (device_path_guid): ... here.
43321
43322 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
43323 chain.mod.
43324 (kernel_mod_HEADERS): Added efi/disk.h.
43325 (_chain_mod_SOURCES): New variable.
43326 (_chain_mod_CFLAGS): Likewise.
43327 (_chain_mod_LDFLAGS): Likewise.
43328 (chain_mod_SOURCES): Likewise.
43329 (chain_mod_CFLAGS): Likewise.
43330 (chain_mod_LDFLAGS): Likewise.
43331
43332 * DISTLIST: Added include/grub/efi/chainloader.h,
43333 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
43334
43335 * include/grub/efi/chainloader.h: New file.
43336 * loader/efi/chainloader.c: Likewise.
43337 * loader/efi/chainloader_normal.c: Likewise.
43338
c0111d6e 433392006-04-30 Marco Gerards <marco@gnu.org>
43340
43341 * commands/configfile.c (grub_cmd_source): New function.
43342 (GRUB_MOD_INIT): Register the commands `source' and `.'.
43343 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
43344
df5341da 433452006-04-30 Marco Gerards <marco@gnu.org>
43346
43347 * normal/execute.c (grub_script_execute_cmd): Change the return
43348 type to `grub_err_t'. Correctly return the error.
43349 (grub_script_execute_cmdline): In case a command line is not a
43350 command or a function, try to interpret it as an assignment.
43351
f85934bd 433522006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
43353
43354 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
43355 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
43356 skip a node whose name is obviously invalid as UTF-16,
43357 i.e. contains a NUL character. Stop the iteration when the last
43358 directory entry is found. Instead of using the return value of
43359 grub_hfsplus_btree_iterate_node, store the value in RET and use
43360 it, because the iterator can be stopped by the last directory
43361 entry.
43362
8f8a2cf8 433632006-04-30 Marco Gerards <marco@gnu.org>
43364
43365 * include/grub/env.h (grub_env_export): New prototype. Reported
43366 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
43367
a27e84ce 433682006-04-30 Marco Gerards <marco@gnu.org>
43369
43370 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
43371 size of the extents in a catalog file record.
43372
eaef0553 433732006-04-29 Marco Gerards <marco@gnu.org>
43374
43375 * commands/configfile.c (grub_cmd_configfile): Execute the
43376 configfile within its own context.
43377
43378 * include/grub/env.h (grub_env_context_open): New prototype.
43379 (grub_env_context_close): Likewise.
43380
43381 * kern/env.c (grub_env): Removed.
43382 (grub_env_sorted): Likewise.
43383 (grub_env_context): New variable.
43384 (grub_env_var_context): Likewise.
43385 (grub_env_find): Search both the active context and the global
43386 context.
43387 (grub_env_context_open): New function.
43388 (grub_env_context_close): Likewise.
43389 (grub_env_insert): Likewise.
43390 (grub_env_remove): Likewise.
43391 (grub_env_export): Likewise.
43392 (grub_env_set): Changed to use helper functions to avoid code
43393 duplication.
43394 (grub_env_iterate): Rewritten so both the current context and the
43395 global context are being used.
43396
43397 * normal/command.c (export_command): New function.
43398 (grub_command_init): Register the `export' function.
43399
7b455f4d 434002006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
43401
43402 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
43403 explicitly to suppress gcc's warnings.
43404 * fs/fat.c (grub_fat_find_dir): Likewise.
43405 (grub_fat_label): Likewise.
43406 * fs/xfs.c (grub_xfs_read_inode): Likewise.
43407 (grub_xfs_mount): Likewise.
43408 (grub_xfs_label): Likewise.
43409 * fs/affs.c (grub_affs_mount): Likewise.
43410 (grub_affs_label): Likewise.
43411 (grub_affs_iterate_dir): Likewise.
43412 * fs/sfs.c (grub_sfs_mount): Likewise.
43413 (grub_sfs_iterate_dir): Likewise.
43414 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
43415 * fs/hfs.c (grub_hfs_mount): Likewise.
43416 (grub_hfs_cmp_catkeys): Likewise.
43417 (grub_hfs_find_dir): Likewise.
43418 (grub_hfs_dir): Likewise.
43419 (grub_hfs_label): Likewise.
43420 * fs/jfs.c (grub_jfs_mount): Likewise.
43421 (grub_jfs_opendir): Likewise.
43422 (grub_jfs_getent): Likewise.
43423 (grub_jfs_lookup_symlink): Likewise.
43424 (grub_jfs_label): Likewise.
43425 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
43426 (grub_hfsplus_iterate_dir): Likewise.
43427 (grub_hfsplus_btree_iterate_node): Made static.
43428
43429 * util/grub-emu.c (prefix): New variable.
43430 (grub_machine_set_prefix): New function.
43431 (main): Do not set the environment variable "prefix" here. Only
43432 set PREFIX, which is used later by grub_machine_set_prefix.
43433
43434 * include/grub/video.h: Do not include grub/symbol.h.
43435 (grub_video_register): Not exported. This symbol is not defined in
43436 the kernel.
43437 (grub_video_unregister): Likewise.
43438 (grub_video_iterate): Likewise.
43439 (grub_video_setup): Likewise.
43440 (grub_video_restore): Likewise.
43441 (grub_video_get_info): Likewise.
43442 (grub_video_get_blit_format): Likewise.
43443 (grub_video_set_palette): Likewise.
43444 (grub_video_get_palette): Likewise.
43445 (grub_video_set_viewport): Likewise.
43446 (grub_video_get_viewport): Likewise.
43447 (grub_video_map_color): Likewise.
43448 (grub_video_map_rgb): Likewise.
43449 (grub_video_map_rgba): Likewise.
43450 (grub_video_fill_rect): Likewise.
43451 (grub_video_blit_glyph): Likewise.
43452 (grub_video_blit_bitmap): Likewise.
43453 (grub_video_blit_render_target): Likewise.
43454 (grub_video_scroll): Likewise.
43455 (grub_video_swap_buffers): Likewise.
43456 (grub_video_create_render_target): Likewise.
43457 (grub_video_delete_render_target): Likewise.
43458 (grub_video_set_active_render_target): Likewise.
43459
43460 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
43461 Undefined.
43462 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
43463
43464 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
43465 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43466 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43467 instead of $(srcdir)/genkernsyms.sh.
43468
43469 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
43470 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43471 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43472 instead of $(srcdir)/genkernsyms.sh.
43473
43474 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
43475 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43476 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43477 instead of $(srcdir)/genkernsyms.sh.
43478
43479 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
43480 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43481 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43482 instead of $(srcdir)/genkernsyms.sh.
43483
43484 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
43485 genkernsyms.sh.
43486
43487 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
43488 genkernsyms.sh.
43489 (gensymlist.sh): New target.
43490 (genkernsyms.sh): Likewise.
43491
43492 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
43493 genkernsyms.sh.in and gensymlist.sh.in.
43494
43495 * genkernsyms.sh: Removed.
43496 * gensymlist.sh: Likewise.
f19dbdb7 43497
7b455f4d 43498 * genkernsyms.sh.in: New file.
43499 * gensymlist.sh.in: Likewise.
43500
1885bb27 435012006-04-25 Hollis Blanchard <hollis@penguinppc.org>
43502
43503 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
43504 clobber "prefix", since we may have already set it manually.
43505
71538dff 435062006-04-25 Hollis Blanchard <hollis@penguinppc.org>
43507
43508 * kern/misc.c (abort): New alias for grub_abort.
43509
2965c7cc 435102006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
43511
43512 A new machine-specific function "grub_machine_set_prefix" is
43513 defined. This is called after loading modules, so that a prefix
43514 initialization can use modules. Also, this change adds an
43515 intensive debugging feature for the memory manager via the
43516 configure option "--enable-mm-debug".
f19dbdb7 43517
2965c7cc 43518 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
43519 PART.LEN.
43520
43521 * kern/sparc64/ieee1275/init.c (abort): Removed.
43522 (grub_stop): Likewise.
43523 (grub_exit): New function.
43524 (grub_set_prefix): Renamed to ...
43525 (grub_machine_set_prefix): ... this.
43526 (grub_machine_init): Do not call grub_set_prefix.
43527
43528 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
43529 (grub_machine_set_prefix): ... this.
43530 (grub_machine_init): Do not call grub_set_prefix.
43531
43532 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
43533 (grub_machine_init): Do not set the prefix here.
43534
43535 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
43536
43537 * kern/efi/init.c: Include grub/mm.h.
43538 (grub_efi_set_prefix): New function.
43539
43540 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
43541 (grub_efi_get_filename): New function.
43542 (grub_print_device_path): Renamed to ...
43543 (grub_efi_print_device_path): ... this.
43544
43545 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
43546 [MM_DEBUG] (grub_realloc): Likewise.
43547 [MM_DEBUG] (grub_free): Likewise.
43548 [MM_DEBUG] (grub_memalign): Likewise.
43549 [MM_DEBUG] (grub_mm_debug): New variable.
43550 [MM_DEBUG] (grub_debug_malloc): New function.
43551 [MM_DEBUG] (grub_debug_free): New function.
43552 [MM_DEBUG] (grub_debug_realloc): New function.
43553 [MM_DEBUG] (grub_debug_memalign): New function.
43554
43555 * kern/misc.c (grub_abort): Print a newline to distinguish
43556 the message.
43557
43558 * kern/main.c (grub_main): Call grub_machine_set_prefix and
43559 grub_set_root_dev after loading modules. This is necessary when
43560 setting a prefix depends on modules.
43561
43562 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
43563 (grub_efi_print_device_path): ... this.
43564 (grub_efi_get_filename): New prototype.
43565 (grub_efi_set_prefix): Likewise.
43566
43567 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
43568 and grub/disk.h.
43569 (grub_efidisk_get_device_handle): New prototype.
43570 (grub_efidisk_get_device_name): Likewise.
43571
43572 * include/grub/mm.h: Include config.h.
43573 (MM_DEBUG): Removed.
43574 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
43575 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
43576 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
43577 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
43578 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
43579 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
43580 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
43581 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
43582 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
43583
43584 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
43585
43586 * disk/efi/efidisk.c: Include grub/partition.h.
43587 (iterate_child_devices): New function.
43588 (add_device): First, compare only last device path nodes, so that
43589 devices are sorted by the types.
43590 (grub_efidisk_get_device_handle): New function.
43591 (grub_efidisk_get_device_name): Likewise.
43592
43593 * configure.ac (--enable-mm-debug): New option to enable the
43594 memory manager debugging feature. This makes the binary much
43595 bigger, so is disabled by default.
43596
9cacaa17 435972006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
43598
43599 Use grub_abort instead of grub_stop, and grub_exit must be
43600 define in each architecture now. Also, this change adds support
43601 for EFI disks.
f19dbdb7 43602
9cacaa17 43603 * util/i386/pc/grub-probefs.c: Include grub/term.h.
43604 (grub_getkey): New function.
43605 (grub_term_get_current): Likewise.
43606
43607 * util/i386/pc/grub-setup.c: Include grub/term.h.
43608 (grub_getkey): New function.
43609 (grub_term_get_current): Likewise.
43610
43611 * util/misc.c (grub_stop): Renamed to ...
43612 (grub_exit): ... this.
43613
43614 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
43615 (grub_exit): ... this.
43616 (grub_machine_init): Use grub_abort instead of abort.
43617 (grub_stop): Removed.
43618
43619 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
43620 abort.
43621
43622 * kern/i386/pc/startup.S (grub_exit): New function.
43623 (cold_reboot): New label.
43624
43625 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
43626 (grub_efi_init): Call grub_efidisk_init.
43627 (grub_efi_fini): Call grub_efidisk_fini.
43628
43629 * kern/efi/efi.c: Include grub/mm.h.
43630 (grub_efi_console_control_guid): Renamed to ...
43631 (console_control_guid): ... this.
43632 (grub_efi_loaded_image_guid): Renamed to ...
43633 (loaded_image_guid): ... this.
43634 (grub_efi_locate_handle): New function.
43635 (grub_efi_open_protocol): Likewise.
43636 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
43637 GRUB_EFI_CONSOLE_CONTROL_GUID.
43638 (grub_efi_exit): Removed.
43639 (grub_stop): Likewise.
43640 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
43641 (grub_exit): New function.
43642 (grub_print_device_path): Likewise.
43643
43644 * kern/rescue.c (grub_rescue_cmd_exit): New function.
43645 (grub_enter_rescue_mode): Register "exit".
43646
43647 * kern/misc.c (grub_real_dprintf): A cosmetic change.
43648 (grub_abort): New function.
43649
43650 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
43651
43652 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
43653
43654 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
43655
43656 * include/grub/efi/efi.h (grub_efi_exit): Removed.
43657 (grub_print_device_path): New prototype.
43658 (grub_efi_locate_handle): Likewise.
43659 (grub_efi_open_protocol): Likewise.
43660
43661 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
43662 * disk/efi/efidisk.c: Likewise.
43663
43664 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
43665
43666 * include/grub/efi/console_control.h
43667 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
43668
43669 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
43670 last 8 bytes as an array.
43671 (GRUB_EFI_DISK_IO_GUID): New macro.
43672 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
43673 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
43674 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
43675 grub_uint8_t.
43676 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
43677 (struct grub_efi_device_path): Rename the member "sub_type" to
43678 "subtype".
43679 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
43680 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
43681 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
43682 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
43683 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
43684 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
43685 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
43686 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
43687 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
43688 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
43689 (struct grub_efi_pci_device_path): New structure.
43690 (grub_efi_pci_device_path_t): New type.
43691 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
43692 (struct grub_efi_pccard_device_path): New structure.
43693 (grub_efi_pccard_device_path_t): New type.
43694 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
43695 (struct grub_efi_memory_mapped_device_path): New structure.
43696 (grub_efi_memory_mapped_device_path_t): New type.
43697 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
43698 (struct grub_efi_vendor_device_path): New structure.
43699 (grub_efi_vendor_device_path_t): New type.
43700 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
43701 (struct grub_efi_controller_device_path): New structure.
43702 (grub_efi_controller_device_path_t): New type.
43703 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
43704 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
43705 (struct grub_efi_acpi_device_path): New structure.
43706 (grub_efi_acpi_device_path_t): New type.
43707 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
43708 (struct grub_efi_expanded_acpi_device_path): New structure.
43709 (grub_efi_expanded_acpi_device_path_t): New type.
43710 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
43711 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
43712 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
43713 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
43714 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
43715 (struct grub_efi_atapi_device_path): New structure.
43716 (grub_efi_atapi_device_path_t): New type.
43717 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
43718 (struct grub_efi_fibre_channel_device_path): New structure.
43719 (grub_efi_fibre_channel_device_path_t): New type.
43720 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
43721 (struct grub_efi_1394_device_path): New structure.
43722 (grub_efi_1394_device_path_t): New type.
43723 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
43724 (struct grub_efi_usb_device_path): New structure.
43725 (grub_efi_usb_device_path_t): New type.
43726 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
43727 (struct grub_efi_usb_class_device_path): New structure.
43728 (grub_efi_usb_class_device_path_t): New type.
43729 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
43730 (struct grub_efi_i2o_device_path): New structure.
43731 (grub_efi_i2o_device_path_t): New type.
43732 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
43733 (struct grub_efi_mac_address_device_path): New structure.
43734 (grub_efi_mac_address_device_path_t): New type.
43735 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
43736 (struct grub_efi_ipv4_device_path): New structure.
43737 (grub_efi_ipv4_device_path_t): New type.
43738 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
43739 (struct grub_efi_ipv6_device_path): New structure.
43740 (grub_efi_ipv6_device_path_t): New type.
43741 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
43742 (struct grub_efi_infiniband_device_path): New structure.
43743 (grub_efi_infiniband_device_path_t): New type.
43744 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
43745 (struct grub_efi_uart_device_path): New structure.
43746 (grub_efi_uart_device_path_t): New type.
43747 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
43748 (struct grub_efi_vendor_messaging_device_path): New structure.
43749 (grub_efi_vendor_messaging_device_path_t): New type.
43750 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
43751 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
43752 (struct grub_efi_hard_drive_device_path): New structure.
43753 (grub_efi_hard_drive_device_path_t): New type.
43754 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
43755 (struct grub_efi_cdrom_device_path): New structure.
43756 (grub_efi_cdrom_device_path_t): New type.
43757 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
43758 (struct grub_efi_vendor_media_device_path): New structure.
43759 (grub_efi_vendor_media_device_path_t): New type.
43760 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
43761 (struct grub_efi_file_path_device_path): New structure.
43762 (grub_efi_file_path_device_path_t): New type.
43763 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
43764 (struct grub_efi_protocol_device_path): New structure.
43765 (grub_efi_protocol_device_path_t): New type.
43766 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
43767 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
43768 (struct grub_efi_bios_device_path): New structure.
43769 (grub_efi_bios_device_path_t): New type.
43770 (struct grub_efi_disk_io): New structure.
43771 (grub_efi_disk_io_t): New type.
43772 (struct grub_efi_block_io_media): New structure.
43773 (grub_efi_block_io_media_t): New type.
43774 (struct grub_efi_block_io): New structure.
43775 (grub_efi_block_io_t): New type.
43776
43777 * include/grub/misc.h (grub_stop): Removed.
43778 (grub_exit): New prototype.
43779 (grub_abort): Likewise.
43780
43781 * include/grub/disk.h (enum grub_disk_dev_id): Added
43782 GRUB_DISK_DEVICE_EFIDISK_ID.
43783
43784 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
43785 disk/efi/efidisk.c.
43786 (kernel_syms.lst): Remove the target if an error occurs.
43787
49986a9f 437882006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
43789
43790 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
43791 as it was simply too buggy.
43792
970d3b8a 437932006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
43794
43795 * kern/misc.c (grub_lltoa): New function.
43796 (grub_vsprintf): Added support for the long long suffix,
43797 i.e. "ll".
43798
ff04ec24 437992006-04-20 Hollis Blanchard <hollis@penguinppc.org>
43800
43801 * Makefile.in (LDFLAGS): Add variable.
43802 (LD): Remove variable.
43803 * configure.ac: Add -m32 to LDFLAGS.
43804 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
43805 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
43806 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
43807 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
43808 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
43809 variables.
43810 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
43811 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
43812 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
43813
37e5e1a4 438142006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
43815
43816 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
43817 length for unknown glyph.
43818
c352d8dd 438192006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
43820
2eab1c0d 43821 Add support for pre-loaded modules into the EFI port.
f19dbdb7 43822
2eab1c0d 43823 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
43824 completely. Accept one more argument DIR. The caller has changed.
43825
43826 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
43827
43828 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
43829 (grub_efi_loaded_image_guid): New variable.
43830 (grub_efi_get_loaded_image): New function.
43831 (grub_arch_modules_addr): Likewise.
43832
43833 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
43834 prototype.
43835
43836 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
43837 (struct grub_efi_loaded_image): New structure.
43838 (grub_efi_loaded_image_t): New type.
43839
438402006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43841
c352d8dd 43842 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
43843 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
43844 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
43845
6d01d6b4 438462006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
43847
43848 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
43849
976a4ea0 438502006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
43851
43852 * DISTLIST: Added include/grub/efi/console.h,
43853 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
43854 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
43855
43856 * include/grub/efi/console.h: New file.
43857 * include/grub/efi/time.h: Likewise.
43858 * include/grub/i386/efi/kernel.h: Likewise.
43859 * kern/efi/init.c: Likewise.
43860 * kern/efi/mm.c: Likewise.
43861 * term/efi/console.c: Likewise.
f19dbdb7 43862
976a4ea0 43863 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
43864 (grub_stop): Removed.
43865 (grub_get_rtc): Likewise.
43866 (grub_machine_init): Simply call grub_efi_init.
43867 (grub_machine_fini): Call grub_efi_fini.
43868
43869 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
43870 (grub_efi_output_string): Removed.
43871 (grub_efi_stall): New function.
43872 (grub_stop): Likewise.
43873 (grub_get_rtc): Likewise.
43874
43875 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
43876 (grub_efi_stall): New prototype.
43877 (grub_efi_allocate_pages): Likewise.
43878 (grub_efi_free_pages): Likewise.
43879 (grub_efi_get_memory_map): Likewise.
43880 (grub_efi_mm_init): Likewise.
43881 (grub_efi_mm_fini): Likewise.
43882 (grub_efi_init): Likewise.
43883 (grub_efi_fini): Likewise.
43884
43885 * include/grub/i386/efi/time.h: Do not include
43886 grub/symbol.h. Include grub/efi/time.h.
43887 (GRUB_TICKS_PER_SECOND): Removed.
43888 (grub_get_rtc): Likewise.
43889
43890 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
43891 Added padding. The EFI spec is buggy.
43892 (GRUB_EFI_BLACK): New macro.
43893 (GRUB_EFI_BLUE): Likewise.
43894 (GRUB_EFI_GREEN): Likewise.
43895 (GRUB_EFI_CYAN): Likewise.
43896 (GRUB_EFI_RED): Likewise.
43897 (GRUB_EFI_MAGENTA): Likewise.
43898 (GRUB_EFI_BROWN): Likewise.
43899 (GRUB_EFI_LIGHTGRAY): Likewise.
43900 (GRUB_EFI_BRIGHT): Likewise.
43901 (GRUB_EFI_DARKGRAY): Likewise.
43902 (GRUB_EFI_LIGHTBLUE): Likewise.
43903 (GRUB_EFI_LIGHTGREEN): Likewise.
43904 (GRUB_EFI_LIGHTCYAN): Likewise.
43905 (GRUB_EFI_LIGHTRED): Likewise.
43906 (GRUB_EFI_LIGHTMAGENTA): Likewise.
43907 (GRUB_EFI_YELLOW): Likewise.
43908 (GRUB_EFI_WHITE): Likewise.
43909 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
43910 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
43911 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
43912 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
43913 (GRUB_EFI_BACKGROUND_RED): Likewise.
43914 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
43915 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
43916 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
43917 (GRUB_EFI_TEXT_ATTR): Likewise.
43918
43919 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
43920 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
43921 (kernel_mod_HEADERS): Added efi/time.h.
43922
83709125 439232006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
43924
43925 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
43926 include/grub/efi/api.h, include/grub/efi/console_control.h,
43927 include/grub/efi/efi.h, include/grub/efi/pe32.h,
43928 include/grub/i386/efi/time.h, kern/efi/efi.c,
43929 kern/i386/efi/init.c, kern/i386/efi/startup.S,
43930 and util/i386/efi/grub-mkimage.c.
43931
43932 * Makefile.in (RMKFILES): Added i386-efi.rmk.
43933
43934 * genmk.rb (PModule#rule): Do not export symbols if
43935 #{prefix}_EXPORTS is set to "no".
43936
43937 * conf/i386-efi.mk: New file.
43938 * conf/i386-efi.rmk: Likewise.
43939 * include/grub/efi/api.h: Likewise.
43940 * include/grub/efi/console_control.h: Likewise.
43941 * include/grub/efi/efi.h: Likewise.
43942 * include/grub/efi/pe32.h: Likewise.
43943 * include/grub/i386/efi/time.h: Likewise.
43944 * kern/efi/efi.c: Likewise.
43945 * kern/i386/efi/init.c: Likewise.
43946 * kern/i386/efi/startup.S: Likewise.
43947 * util/i386/efi/grub-mkimage.c: Likewise.
43948
439492006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 43950
43951 * include/grub/script.h: Include <grub/parser.h> and
43952 "grub_script.tab.h".
43953 (struct grub_lexer_param): New struct.
43954 (struct grub_parser_param): Likewise.
43955 (grub_script_create_arglist): Pass the state in an argument.
43956 (grub_script_add_arglist): Likewise.
43957 (grub_script_create_cmdline): Likewise.
43958 (grub_script_create_cmdblock): Likewise.
43959 (grub_script_create_cmdif): Likewise.
43960 (grub_script_create_cmdmenu): Likewise.
43961 (grub_script_add_cmd): Likewise.
43962 (grub_script_arg_add): Likewise.
43963 (grub_script_lexer_ref): Likewise.
43964 (grub_script_lexer_deref): Likewise.
43965 (grub_script_lexer_record_start): Likewise.
43966 (grub_script_lexer_record_stop): Likewise.
43967 (grub_script_mem_record): Likewise.
43968 (grub_script_mem_record_stop): Likewise.
43969 (grub_script_malloc): Likewise.
43970 (grub_script_yylex): Likewise.
43971 (grub_script_yyparse): Likewise.
43972 (grub_script_yyerror): Likewise.
43973 (grub_script_yylex): Likewise.
43974 (grub_script_lexer_init): Return the state.
43975
43976 * normal/lexer.c (grub_script_lexer_state): Removed variable.
43977 (grub_script_lexer_done): Likewise.
43978 (grub_script_lexer_getline): Likewise.
43979 (grub_script_lexer_refs): Likewise.
43980 (script): Likewise.
43981 (newscript): Likewise.
43982 (record): Likewise.
43983 (recording): Likewise.
43984 (recordpos): Likewise.
43985 (recordlen): Likewise.
43986 (grub_script_lexer_init): Return the state instead of setting
43987 global variables.
43988 (grub_script_lexer_ref): Use the newly added argument for state
43989 instead of globals.
43990 (grub_script_lexer_deref): Likewise.
43991 (grub_script_lexer_record_start): Likewise.
43992 (grub_script_lexer_record_stop): Likewise.
43993 (recordchar): Likewise.
43994 (nextchar): Likewise.
43995 (grub_script_yylex2): Likewise.
43996 (grub_script_yylex): Likewise.
43997 (grub_script_yyerror): Likewise.
43998
43999 * normal/parser.y (func_mem): Removed variable.
44000 (menu_entry): Likewise.
44001 (err): Likewise.
44002 (%lex-param): New parser option.
44003 (%parse-param): Likewise.
44004 (script): Always return the AST.
44005 (argument): Pass the state around.
44006 (arguments): Likewise.
44007 (grubcmd): Likewise.
44008 (commands): Likewise.
44009 (function): Likewise.
44010 (menuentry): Likewise.
44011 (if_statement): Likewise.
44012 (if): Likewise.
44013
44014 * normal/script.c (grub_script_memused): Removed variable.
44015 (grub_script_parsed): Likewise.
44016 (grub_script_malloc): Added a state argument. Use that instead of
44017 global variables.
44018 (grub_script_mem_record): Likewise.
44019 (grub_script_mem_record_stop): Likewise.
44020 (grub_script_arg_add): Likewise.
44021 (grub_script_add_arglist): Likewise.
44022 (grub_script_create_cmdline): Likewise.
44023 (grub_script_create_cmdif): Likewise.
44024 (grub_script_create_cmdmenu): Likewise.
44025 (grub_script_add_cmd): Likewise.
44026 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 44027
e2a8c904 440282006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 44029
44030 * normal/command.c (grub_command_init): Remove the title command.
44031
44032 * normal/lexer.c (grub_script_yylex): Renamed from this...
44033 (grub_script_yylex2): ... to this.
44034 (grub_script_yylex): New function. Temporary
44035 introduced to filter some tokens.
44036 (grub_script_yyerror): Print a newline.
44037
44038 * normal/main.c (read_config_file): Output information about the
44039 lines that contain errors. Wait for a key after all lines have
44040 been processed. Don't return an empty menu.
44041
44042 * normal/parser.y (func_mem): Don't initialize.
44043 (menu_entry): Likewise.
44044 (err): New variable.
44045 (script): Don't return anything when an error was encountered.
44046 (ws, returns): Removed rules.
44047 (argument): Disabled concatenated variable support.
44048 (arguments): Remove explicit separators.
44049 (grubcmd): Likewise.
44050 (function): Likewise.
44051 (menuentry): Likewise.
44052 (if): Likewise.
44053 (commands): Likewise. Add error handling.
44054
44055 * normal/script.c (grub_script_create_cmdline): If
44056 `grub_script_parsed' is 0, assume the parser encountered an error.
44057
c9a86192 440582006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
44059
44060 * configure.ac: Add support for EFI. Fix the typo
44061 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
44062
70f3b243 440632006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
44064
44065 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
44066 foreign multibyte characters should be shown correctly.
44067
65f201ad 440682006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
44069
44070 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
44071 calculation.
44072 (read_config_file): Made it to close file before returning.
44073
b4b93674 440742006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
44075
44076 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
44077 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
44078 video/i386/pc/vbefill.c.
44079
44080 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
44081 video/i386/pc/vbefill.c.
44082
44083 * include/grub/video.h (grub_video_blit_format): New enum.
44084 (grub_video_mode_info): Added new member blit_format.
44085 (grub_video_get_blit_format): New function prototype.
44086
44087 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
44088 function prototype.
44089 (grub_video_vbe_map_rgb): Likewise.
44090 (grub_video_vbe_unmap_color): Likewise.
44091
44092 * include/grub/i386/pc/vbeblit.h: New file.
44093
44094 * include/grub/i386/pc/vbefill.h: New file.
44095
44096 * video/video.c (grub_video_get_blit_format): New function.
44097 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
44098 (grub_video_vbe_map_rgb): Likewise.
44099 (grub_video_vbe_unmap_color): Likewise.
44100
44101 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
44102 optimized fills.
44103 (grub_video_vbe_blit_render_target): Changed to use more optimized
44104 blits.
44105 (grub_video_vbe_setup): Added detection for optimized settings.
44106 (grub_video_vbe_create_render_target): Likewise.
44107
44108 * video/i386/pc/vbeblit.c: New file.
44109
44110 * video/i386/pc/vbefill.c: New file.
44111
c2379b9c 441122006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
44113
44114 * font/manager.c (grub_font_get_glyph): Removed font fixup from
44115 here...
44116
44117 * util/unifont2pff.rb: ... and moved it to here. Improved argument
44118 parsing to support both hex and dec ranges. If filename was missing
44119 show usage information.
44120
bd0d7896 441212006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
44122
44123 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
44124 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
44125
44126 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
44127 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
44128 (video_mod_SOURCES): Added.
44129 (video_mod_CFLAGS): Likewise.
44130 (video_mod_LDFLAGS): Likewise.
44131 (gfxterm_mod_SOURCES): Likewise.
44132 (gfxterm_mod_CFLAGS): Likewise.
44133 (gfxterm_mod_LDFLAGS): Likewise.
44134 (videotest_mod_SOURCES): Likewise.
44135 (videotest_mod_CFLAGS): Likewise.
44136 (videotest_mod_LDFLAGS): Likewise.
44137 (vesafb_mod_SOURCES): Removed.
44138 (vesafb_mod_CFLAGS): Likewise.
44139 (vesafb_mod_LDFLAGS): Likewise.
44140 (vga_mod_SOURCES): Likewise.
44141 (vga_mod_CFLAGS): Likewise.
44142 (vga_mod_LDFLAGS): Likewise.
44143
44144 * commands/videotest.c: New file.
44145
44146 * font/manager.c (fill_with_default_glyph): Modified to use
44147 grub_font_glyph.
44148 (grub_font_get_glyph): Likewise.
44149 (fontmanager): Renamed from this...
44150 (font_manager): ... to this.
44151
44152 * include/grub/font.h (grub_font_glyph): Added new structure.
44153 (grub_font_get_glyph): Modified to use grub_font_glyph.
44154
44155 * include/grub/misc.h (grub_abs): Added as inline function.
44156
44157 * include/grub/video.h: New file.
44158
44159 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
44160 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
44161 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
44162 (grub_vbe_get_controller_info): Renamed from this...
44163 (grub_vbe_bios_get_controller_info): ... to this.
44164 (grub_vbe_get_mode_info): Renamed from this...
44165 (grub_vbe_bios_get_mode_info): ... to this.
44166 (grub_vbe_set_mode): Renamed from this...
44167 (grub_vbe_bios_set_mode): ... to this.
44168 (grub_vbe_get_mode): Renamed from this...
44169 (grub_vbe_bios_get_mode): ... to this.
44170 (grub_vbe_set_memory_window): Renamed from this...
44171 (grub_vbe_bios_set_memory_window): ... to this.
44172 (grub_vbe_get_memory_window): Renamed from this...
44173 (grub_vbe_bios_get_memory_window): ... to this.
44174 (grub_vbe_set_scanline_length): Renamed from this...
44175 (grub_vbe_set_scanline_length): ... to this.
44176 (grub_vbe_get_scanline_length): Renamed from this...
44177 (grub_vbe_bios_get_scanline_length): ... to this.
44178 (grub_vbe_set_display_start): Renamed from this...
44179 (grub_vbe_bios_set_display_start): ... to this.
44180 (grub_vbe_get_display_start): Renamed from this...
44181 (grub_vbe_bios_get_display_start): ... to this.
44182 (grub_vbe_set_palette_data): Renamed from this...
44183 (grub_vbe_bios_set_palette_data): ... to this.
44184 (grub_vbe_set_pixel_rgb): Removed.
44185 (grub_vbe_set_pixel_index): Likewise.
44186
44187 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
44188 from this...
44189 (grub_vbe_bios_get_controller_info): ... to this.
44190 (grub_vbe_get_mode_info): Renamed from this...
44191 (grub_vbe_bios_get_mode_info): ... to this.
44192 (grub_vbe_set_mode): Renamed from this...
44193 (grub_vbe_bios_set_mode): ... to this.
44194 (grub_vbe_get_mode): Renamed from this...
44195 (grub_vbe_bios_get_mode): ... to this.
44196 (grub_vbe_set_memory_window): Renamed from this...
44197 (grub_vbe_bios_set_memory_window): ... to this.
44198 (grub_vbe_get_memory_window): Renamed from this...
44199 (grub_vbe_bios_get_memory_window): ... to this.
44200 (grub_vbe_set_scanline_length): Renamed from this...
44201 (grub_vbe_set_scanline_length): ... to this.
44202 (grub_vbe_get_scanline_length): Renamed from this...
44203 (grub_vbe_bios_get_scanline_length): ... to this.
44204 (grub_vbe_set_display_start): Renamed from this...
44205 (grub_vbe_bios_set_display_start): ... to this.
44206 (grub_vbe_get_display_start): Renamed from this...
44207 (grub_vbe_bios_get_display_start): ... to this.
44208 (grub_vbe_set_palette_data): Renamed from this...
44209 (grub_vbe_bios_set_palette_data): ... to this.
44210 (grub_vbe_bios_get_controller_info): Fixed problem with registers
44211 getting corrupted after calling it. Added more pushes and pops.
44212 (grub_vbe_bios_set_mode): Likewise.
44213 (grub_vbe_bios_get_mode): Likewise.
44214 (grub_vbe_bios_get_memory_window): Likewise.
44215 (grub_vbe_bios_set_scanline_length): Likewise.
44216 (grub_vbe_bios_get_scanline_length): Likewise.
44217 (grub_vbe_bios_get_display_start): Likewise.
44218 (grub_vbe_bios_set_palette_data): Likewise.
44219
44220 * normal/cmdline.c (cl_set_pos): Refresh the screen.
44221 (cl_insert): Likewise.
44222 (cl_delete): Likewise.
44223
44224 * term/gfxterm.c: New file.
44225
44226 * term/i386/pc/vesafb.c: Removed file.
44227
44228 * video/video.c: New file.
44229
44230 * video/i386/pc/vbe.c (real2pm): Added new function.
44231 (grub_video_vbe_draw_pixel): Likewise.
44232 (grub_video_vbe_get_video_ptr): Likewise.
44233 (grub_video_vbe_get_pixel): Likewise
44234 (grub_video_vbe_init): Likewise.
44235 (grub_video_vbe_fini): Likewise.
44236 (grub_video_vbe_setup): Likewise.
44237 (grub_video_vbe_get_info): Likewise.
44238 (grub_video_vbe_set_palette): Likewise.
44239 (grub_video_vbe_get_palette): Likewise.
44240 (grub_video_vbe_set_viewport): Likewise.
44241 (grub_video_vbe_get_viewport): Likewise.
44242 (grub_video_vbe_map_color): Likewise.
44243 (grub_video_vbe_map_rgb): Likewise.
44244 (grub_video_vbe_map_rgba): Likewise.
44245 (grub_video_vbe_unmap_color): Likewise.
44246 (grub_video_vbe_fill_rect): Likewise.
44247 (grub_video_vbe_blit_glyph): Likewise.
44248 (grub_video_vbe_blit_bitmap): Likewise.
44249 (grub_video_vbe_blit_render_target): Likewise.
44250 (grub_video_vbe_scroll): Likewise.
44251 (grub_video_vbe_swap_buffers): Likewise.
44252 (grub_video_vbe_create_render_target): Likewise.
44253 (grub_video_vbe_delete_render_target): Likewise.
44254 (grub_video_vbe_set_active_render_target): Likewise.
44255 (grub_vbe_set_pixel_rgb): Remove function.
44256 (grub_vbe_set_pixel_index): Likewise.
44257 (index_color_mode): Remove static variable.
44258 (active_mode): Likewise.
44259 (framebuffer): Likewise.
44260 (bytes_per_scan_line): Likewise.
44261 (grub_video_vbe_adapter): Added new static variable.
44262 (framebuffer): Likewise.
44263 (render_target): Likewise.
44264 (initial_mode): Likewise.
44265 (mode_in_use): Likewise.
44266 (mode_list): Likewise.
44267
5f97350b 442682006-03-10 Marco Gerards <marco@gnu.org>
44269
44270 * configure.ac (AC_INIT): Bumped to 1.93.
44271
44272 * DISTLIST: Added `include/grub/hfs.h'.
44273
a3c5c6f8 442742006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
44275
44276 * boot/i386/pc/boot.S (general_error): Before looping, try INT
44277 18H, which might help the BIOS falling back to next boot media.
44278
6de53d26 442792006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
44280
44281 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
44282 Poe Chen <poe.poechen@gmail.com>.
44283
77c4a393 442842006-01-17 Marco Gerards <marco@gnu.org>
44285
44286 * include/grub/normal.h: Include <grub/script.h>.
44287 (grub_command_list): Removed struct.
44288 (grub_command_list_t): Removed type.
44289 (grub_menu_entry): Remove members `num' and `command_list'. Add
44290 members `commands' and `sourcecode'.
44291 * include/grub/script.h: Add inclusion guards.
44292 (grub_script_cmd_menuentry): New struct.
44293 (grub_script_execute_menuentry): New prototype.
44294 (grub_script_lexer_record_start): Likewise.
44295 (grub_script_lexer_record_stop): Likewise.
44296 * normal/execute.c (grub_script_execute_menuentry): New function.
44297 * normal/lexer.c (record, recording, recordpos, recordlen): New
44298 variables.
44299 (grub_script_lexer_record_start): New function.
44300 (grub_script_lexer_record_stop): Likewise.
44301 (recordchar): Likewise.
44302 (nextchar): Likewise.
44303 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
44304 2048 as the buffer size. Add the tokens `menuentry' and `@'.
44305 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
44306 (current_menu): New variable.
44307 (free_menu): Mainly rewritten.
44308 (grub_normal_menu_addentry): New function.
44309 (read_config_file): Rewritten.
44310 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 44311 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 44312 the menu entry.
44313 (run): Mainly rewritten.
44314 * normal/parser.y (menu_entry): New variable.
44315 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
44316 (menuentry): New rule.
44317 (command): Add `menuentry'.
44318 (if_statement): Allow additional returns before `fi'.
44319 * normal/script.c (grub_script_create_cmdmenu): New function.
44320
144f1f98 443212006-01-03 Marco Gerards <marco@gnu.org>
44322
44323 * INSTALL: GNU Bison is required.
44324 * configure.ac: Rewritten the test to detect Bison.
44325 * Makefile.in (YACC): New variable. Reported by Xun Sun
44326 <xun.sun.cn@gmail.com>.
44327
af4b2d89 443282006-01-03 Marco Gerards <marco@gnu.org>
44329
44330 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
44331 the HFS+ filesystem to filesystem blocks.
44332 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
44333 GCC warning is silenced.
44334
15643b71 443352006-01-03 Marco Gerards <marco@gnu.org>
44336
44337 * partmap/apple.c (apple_partition_map_iterate): Convert the data
44338 read from disk from big endian to host byte order.
44339
00905879 443402006-01-03 Hollis Blanchard <hollis@penguinppc.org>
44341
44342 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
44343 documentation.
44344 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
44345 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
44346 embedded HFS+ filesystem.
44347 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
44348 (grub_hfs_sblock): Move from here...
44349 * include/grub/hfs.h: To here... New file.
44350 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
44351 documentation.
44352 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
44353 New macros.
44354 (grub_hfsplus_volheader): Change type of member `magic' to
44355 `grub_uint16_t'.
44356 (grub_hfsplus_data): Add new member `embedded_offset'.
44357 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
44358 returned block.
44359 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
44360 Calculate the offset.
44361
8899bc3e 443622005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44363
44364 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
44365 Removed.
44366 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
44367
ae8c0277 443682005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44369
44370 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
44371 ENV->NAME is NULL after allocating ENV->VALUE.
44372
07084456 443732005-12-25 Marco Gerards <marco@gnu.org>
44374
44375 * kern/env.c (grub_env_set): Rewritten the error handling code.
44376
4750f5f1 443772005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44378
44379 * geninit.sh: Made more robust, and more portable.
44380
50214199 443812005-12-25 Marco Gerards <marco@gnu.org>
44382
44383 Add support for Apple HFS+ filesystems.
f19dbdb7 44384
50214199 44385 * fs/hfsplus.c: New file.
44386
44387 * DISTLIST: Added `fs/hfsplus.c'.
44388
44389 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
44390 (hfsplus_mod_SOURCES): New variable.
44391 (hfsplus_mod_CFLAGS): Likewise.
44392 (hfsplus_mod_LDFLAGS): Likewise.
44393 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
44394 (grub_setup_SOURCES): Likewise.
44395 (grub_mkdevicemap_SOURCES): Likewise.
44396 (grub_emu_SOURCES): Likewise.
44397 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44398
44399 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
44400
44401 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
44402
befaed6c 444032005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44404
44405 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
44406 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
44407 include/grub/parser.h, include/grub/script.h, kern/parser.c,
44408 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
44409 normal/lexer.c, normal/parser.y, normal/script.c, and
44410 partmap/gpt.c.
44411 Removed kern/sparc64/cache.c.
44412
44413 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
44414 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
44415 grub_emu_init.c.
44416
44417 * configure.ac (AC_INIT): Bumped to 1.92.
44418
6a124103 444192005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
44420
44421 * kern/err.c (grub_error_push): Added new function to support error
44422 stacks.
44423 (grub_error_pop): Likewise.
44424 (grub_error_stack_items): New local variable to support error stacks.
44425 (grub_error_stack_pos): Likewise.
44426 (grub_error_stack_assert): Likewise.
44427 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
44428 stack depth.
44429 (grub_print_error): Added support to print errors from error stack.
44430
44431 * include/grub/err.h (grub_error_push): Added function prototype.
44432 (grub_error_pop): Likewise.
44433
be973c1b 444342005-12-09 Hollis Blanchard <hollis@penguinppc.org>
44435
44436 * configure.ac: Accept `powerpc64' as host_cpu.
44437 (amd64): Rename to `biarch32'.
44438
44439 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
44440 non-cacheline-aligned addresses.
44441
44442 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
44443 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
44444 if `size' is non-zero.
44445
b04216ab 444462005-12-03 Marco Gerards <mgerards@xs4all.nl>
44447
44448 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
44449 and `cd' to make sure the filename is not prefixed with a
44450 directory name.
44451 (pkgdata_MODULES): Add `gpt.mod'.
44452 (gpt_mod_SOURCES): New variable.
44453 (gpt_mod_CFLAGS): Likewise.
44454 (gpt_mod_LDFLAGS): Likewise.
44455
44456 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
44457
44458 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
44459 New macro.
44460
44461 * partmap/gpt.c: New file.
44462
44463 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
44464 GPT partition map is detected.
44465
41730ed9 444662005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
44467
44468 * commands/i386/pc/play.c: New file.
44469 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
44470 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
44471 macros.
f19dbdb7 44472
95dc3643 444732005-11-27 Marco Gerards <mgerards@xs4all.nl>
44474
44475 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
44476 ((unused))' to silence gcc warning.
44477
1569ec51 444782005-11-26 Hollis Blanchard <hollis@penguinppc.org>
44479
44480 * configure.ac: Correct `AC_PROG_YACC' test.
44481
9abde152 444822005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44483
44484 * util/powerpc/ieee1275/grub-install.in: Run the mount point
44485 check before installing files.
44486
44b83271 444872005-11-22 Mike Small <smallm@panix.com>
44488
44489 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
44490 number regex so multidigit numbers are recognized correctly.
44491
444922005-11-22 Mike Small <smallm@panix.com>
44493
44494 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
44495 debugging message before attempting to claim memory.
44496 (grub_rescue_cmd_initrd): Add a claim debugging message and try
44497 multiple addresses in case of failure.
44498
9c12956b 444992005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44500
44501 * term/tparm.c (get_space): Remove empty `if' statement.
44502
44503 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
44504
44505 * kern/parser.c (check_varstate): Rename `state' to 's'.
44506
aeaf81d9 445072005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44508
44509 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
44510 variable definitions to the beginning of each function. Sort stack
44511 variables by size.
44512 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
44513 `buf' argument to `char *'.
44514
79bbb63f 445152005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44516
44517 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
44518 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 44519 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 44520 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
44521 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
44522 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
44523 configfile.mod, search.mod, gzio.mod and test.mod.
44524 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
44525 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
44526 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
44527 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
44528 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
44529 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
44530 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
44531 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
44532 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
44533 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
44534 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44535 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44536 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
44537 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
44538 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
44539 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
44540 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44541 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
44542 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
44543 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
44544 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
44545 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
44546 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
44547
44548 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
44549 `grep --include'.
44550 (pkgdata_MODULES): Add test.mod.
44551
233b1628 445522005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44553
44554 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
44555 appending to variables with "+=".
44556 (PModule): Use full pathname to generate *.lst filenames.
44557
44558 * Makefile.in: Fixed list rules moved from genmk.rb.
44559 (.DELETE_ON_ERROR): New special target.
44560 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
44561
44562 * conf/i386-pc.rmk: Include conf/common.mk.
44563 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 44564 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 44565 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
44566 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
44567 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
44568 configfile.mod, search.mod, gzio.mod and test.mod.
44569 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
44570 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
44571 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
44572 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
44573 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
44574 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
44575 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
44576 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
44577 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
44578 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
44579 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44580 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44581 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
44582 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
44583 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
44584 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
44585 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44586 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
44587 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
44588 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
44589 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
44590 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
44591 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
44592 here...
44593 * conf/common.rmk: ... to here. New file.
44594
44595 * conf/common.mk: New file.
44596
16f820c8 445972005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
44598
44599 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
44600 (grub_script.tab.c): ... here.
44601
44602 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
44603 (grub_script.tab.c): ... here.
44604
44605 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
44606 (grub_script.tab.c): ... here.
44607
44608 * normal/command.c (grub_command_find): Fixed a memory leak of
44609 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
44610
63ba1554 446112005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44612
44613 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
44614 "@" which marks the start of a comment on ARM.
44615 (VARIABLE): Likewise.
44616
7f67dc13 446172005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44618
79bbb63f 44619 Add support for Linux/ADFS partition tables.
7f67dc13 44620
44621 * partmap/acorn.c: New file.
44622
44623 * include/grub/acorn_filecore.h: Likewise.
44624
44625 * DISTLIST: Added `partmap/acorn.c' and
44626 `include/grub/acorn_filecore.h'.
f19dbdb7 44627
7f67dc13 44628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44629 `partmap/acorn.c'.
44630 (pkgdata_MODULES): Add `acorn.mod'.
44631 (acorn_mod_SOURCES): New variable.
44632 (acorn_mod_CFLAGS): Likewise.
44633
44634 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
44635 `partmap/acorn.c'.
44636 (pkgdata_MODULES): Add `acorn.mod'.
44637 (acorn_mod_SOURCES): New variable.
44638 (acorn_mod_CFLAGS): Likewise.
44639
44640 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
44641 (pkgdata_MODULES): Add `acorn.mod'.
44642 (acorn_mod_SOURCES): New variable.
44643 (acorn_mod_CFLAGS): Likewise.
44644 (acorn_mod_LDFLAGS): Likewise.
44645
44646 * include/types.h (grub_disk_addr_t): New typedef.
44647
6d099807 446482005-11-13 Marco Gerards <mgerards@xs4all.nl>
44649
44650 * geninit.sh: New file.
44651
44652 * geninitheader.sh: Likewise.
44653
44654 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
44655 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
44656 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
44657 * commands/configfile.c (grub_configfile_init)
44658 (grub_configfile_fini): Likewise.
44659 * commands/default.c (grub_default_init, grub_default_fini):
44660 Likewise.
44661 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
44662 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
44663 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
44664 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
44665 Likewise.
44666 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
44667 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
44668 Likewise.
44669 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 44670 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 44671 Likewise.
44672 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
44673 Likewise.
fe6b695a 44674 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 44675 Likewise.
44676 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
44677 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
44678 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
44679 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
44680 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
44681 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
44682 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
44683 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
44684 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
44685 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
44686 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
44687 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
44688 * partmap/amiga.c (grub_amiga_partition_map_init)
44689 (grub_amiga_partition_map_fini): Likewise.
44690 * partmap/apple.c (grub_apple_partition_map_init)
44691 (grub_apple_partition_map_fini): Likewise.
44692 * partmap/pc.c (grub_pc_partition_map_init)
44693 (grub_pc_partition_map_fini): Likewise.
44694 * partmap/sun.c (grub_sun_partition_map_init,
44695 grub_sun_partition_map_fini): Likewise.
44696 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
44697 Likewise.
44698
44699 * util/grub-emu.c: Include <grub_modules_init.h>.
44700 (main): Don't initialize and de-initialize any modules directly,
44701 use `grub_init_all' and `grub_fini_all' instead.
44702
44703 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
44704 `grub_vesafb_mod_init'.
44705 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
44706 all users.
44707 * term/i386/pc/vga.c (grub_vga_init): Renamed to
44708 `grub_vga_mod_init'. Updated all users.
44709 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 44710
6d099807 44711 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
44712 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
44713 rules.
44714
44715 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
44716 Generate a function to initialize the module in utilities.
44717 Updated all callers.
44718 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
44719 initialize the module in utilities. Updated all callers.
44720
9046bcf0 447212005-11-09 Hollis Blanchard <hollis@penguinppc.org>
44722
44723 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
44724 escape sequence and a literal ^L to clear the screen.
44725
44726 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
44727 when returning from Open Firmware.
44728
d13ea639 447292005-11-09 Hollis Blanchard <hollis@penguinppc.org>
44730
44731 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
44732 (grub_ofconsole_height): Likewise.
44733 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
44734 manually insert a '\n'.
44735 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
44736 `grub_ofconsole_height'. Return early if these are already set.
44737
a8fcf206 447382005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
44739
44740 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
44741 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
44742 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
44743 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
44744 and `normal/script.c'.
44745 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44746 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44747 (test_mod_SOURCES): New variable.
44748 (test_mod_CFLAGS): Likewise.
44749 (test_mod_LDFLAGS): Likewise.
44750 (pkgdata_MODULES): Add `test.mod'.
44751 (grub_script.tab.c): New rule.
44752 (grub_script.tab.h): Likewise.
44753
b6b32745 447542005-11-07 Marco Gerards <mgerards@xs4all.nl>
44755
44756 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44757 `commands/test.c', `normal/execute.c', `normal/lexer.c',
44758 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44759 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44760 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44761 (test_mod_SOURCES): New variable.
44762 (test_mod_CFLAGS): Likewise.
44763 (pkgdata_MODULES): Add `test.mod'.
44764 (grub_script.tab.c): New rule.
44765 (grub_script.tab.h): Likewise.
44766
daac212a 447672005-11-06 Marco Gerards <mgerards@xs4all.nl>
44768
44769 Add initial scripting support.
44770
44771 * commands/test.c: New file.
44772 * include/grub/script.h: Likewise.
44773 * normal/execute.c: Likewise.
44774 * normal/function.c: Likewise.
44775 * normal/lexer.c: Likewise.
44776 * normal/parser.y: Likewise.
44777 * normal/script.c: Likewise.
44778
44779 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 44780
daac212a 44781 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
44782 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
44783 `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'.
b6b32745 44786 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
44787 variables.
daac212a 44788 (pkgdata_MODULES): Add `test.mod'.
44789 (grub_script.tab.c): New rule.
44790 (grub_script.tab.h): Likewise.
44791
44792 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
44793
44794 * include/grub/normal.h (grub_test_init): New prototype.
44795 (grub_test_fini): Likewise.
f19dbdb7 44796
daac212a 44797 * normal/command.c: Include <grub/script.h>.
44798 (grub_command_execute): Rewritten.
f19dbdb7 44799
daac212a 44800 * util/grub-emu.c (main): Call `grub_test_init' and
44801 `grub_test_fini'.
44802
77500b2b 448032005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44804
44805 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
44806 to 0.
44807 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
44808 there are no pending characters.
44809
e45deb9e 448102005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44811
44812 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
44813 `grub_strndup' to drop device arguments. Replace unnecessary
44814 `grub_strndup' with `grub_strdup'.
44815
4ce32619 448162005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44817
44818 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
44819 `debug' environment variable has been set.
44820
448212005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 44822
4ce32619 44823 * Makefile.in (install-local): Use $(DATA).
44824 (uninstall): Likewise.
44825 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
44826 (sbin_UTILITIES): ... to here.
44827 (sbin_SCRIPTS): New variable.
44828 (grub_install_SOURCES): New variable.
44829 * util/powerpc/ieee1275/grub-install.in: New file.
44830 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
44831 variable.
44832 (add_segments): Call `grub_util_get_path'.
44833
25fe6f03 448342005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44835
44836 From Timothy Baldwin:
44837 * commands/ls.c (grub_ls_list_files): Close FILE with
44838 grub_file_close.
44839 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
44840
04ccf3ec 448412005-10-24 Marco Gerards <mgerards@xs4all.nl>
44842
44843 * include/grub/parser.h: New file.
44844
44845 * kern/parser.c: Likewise.
44846
44847 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
44848 (grub_setup_SOURCES): Likewise.
44849 (grub_probefs_SOURCES): Likewise.
44850 (grub_emu_SOURCES): Likewise.
44851 (kernel_img_HEADERS): Add `parser.h'.
44852
44853 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
44854 (grub_emu_SOURCES): Add `kern/parser.c'.
44855 (grubof_SOURCES): Likewise.
44856
44857 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
44858 (grubof_SOURCES): Add `kern/parser.c'.
44859
44860 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
44861
44862 * kern/misc.c (grub_split_cmdline): Removed function.
44863
44864 * kern/rescue.c: Include <grub/parser.h>.
44865 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
44866 of `grub_split_cmdline'.
44867
44868 * normal/command.c: Include <grub/parser.h>.
44869 (grub_command_execute): Use `grub_parser_split_cmdline' instead
44870 of `grub_split_cmdline'.
44871
44872 * normal/completion.c: Include <grub/parser.h>.
44873 (cmdline_state): New variable.
44874 (iterate_dir): End the filename with a quote depending on the
44875 command line state.
44876 (get_state): new function.
44877 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
44878 split the arguments and determine the current argument. When the
44879 argument string is not quoted, escape all spaces.
44880
6d8f4b0e 448812005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44882
44883 * normal/sparc64/setjmp.S: New file.
44884
15cf03ed 448852005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44886
44887 * include/grub/sparc64/libgcc.h: New file.
44888 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
44889 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
44890 normal/sparc64/setjmp.c.
44891
03e8661a 448922005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44893
44894 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
44895 * kern/sparc64/cache.S: New file.
44896 * kern/sparc64/cache.c: Removed.
44897 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
44898 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
44899 -mtune=ultrasparc.
44900 (COMMON_LDFLAGS): Add -melf64_sparc.
44901 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
44902 (grubof_SOURCES): Use cache.S instead of cache.c.
44903 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
44904 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
44905 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
44906 commented though.
44907 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
44908 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
44909 (linux_mod_CFLAGS): Commented out.
44910 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
44911 out because module isn't built.
44912 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
44913 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
44914 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
44915 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
44916 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
44917 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
44918 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
44919 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
44920 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
44921 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
44922 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44923 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44924 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
44925 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
44926
34eeec8a 449272005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
44928
44929 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
44930 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
44931 longer, because HFS should not be used on PC.
44932
708367a3 449332005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44934
44935 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
44936 consistently within the loop.
44937
6fa1251a 449382005-10-15 Marco Gerards <mgerards@xs4all.nl>
44939
44940 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
44941 directory can not be read.
44942
4801580b 449432005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44944
44945 * configure.ac (AC_INIT): Increase the version number to 1.91.
44946
44947 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
44948 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
44949 term/i386/pc/serial.c.
44950
219ad426 449512005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44952
44953 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
44954 file size must be permitted.
44955
44956 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
44957 between %ah and %al.
44958
688e5699 449592005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44960
44961 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
44962 grub_uint64_t.
44963 Call the hook with a NUL-terminated filename.
44964 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
44965 grub_cpu_to_be32.
44966
44967 * kern/term.c (cursor_state): New variable.
44968 (grub_term_set_current): Reset the cursor state on a new
44969 terminal.
44970 (grub_setcursor): Rewritten to use CURSOR_STATE.
44971 (grub_getcursor): New function.
44972
44973 * include/grub/term.h (grub_getcursor): New prototype.
44974
44975 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
44976 integers on ARM. Reported by Timothy Baldwin
44977 <T.E.Baldwin99@members.leeds.ac.uk>.
44978
bb34586c 449792005-10-11 Marco Gerards <mgerards@xs4all.nl>
44980
44981 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
44982 allocated.
44983 (grub_sfs_dir): Likewise.
44984
9a909877 449852005-10-09 Marco Gerards <mgerards@xs4all.nl>
44986
44987 Add support for the SFS filesystem.
44988
44989 * fs/sfs.c: New file.
44990
44991 * DISTLIST: Added `fs/sfs.c'.
44992
44993 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
44994 (grub_probefs_SOURCES): Likewise.
44995 (grub_emu_SOURCES): Likewise.
44996 (pkgdata_MODULES): Add `sfs.mod'.
44997 (sfs_mod_SOURCES): New variable.
44998 (sfs_mod_CFLAGS): Likewise.
44999 (sfs_mod_LDFLAGS): Likewise.
45000
45001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
45002 (pkgdata_MODULES): Add `sfs.mod'.
45003 (sfs_mod_SOURCES): New variable.
45004 (sfs_mod_CFLAGS): Likewise.
45005
45006 * util/grub-emu.c (main): Call `grub_sfs_init' and
45007 `grub_sfs_fini'.
45008
45009 * include/grub/fs.h (grub_sfs_init): New prototype.
45010 (grub_sfs_fini): Likewise.
45011
57bdbde3 450122005-10-07 Marco Gerards <mgerards@xs4all.nl>
45013
45014 Add support for the AFFS filesystem.
45015
45016 * fs/affs.c: New file.
45017
45018 * DISTLIST: Added `fs/affs.c'.
45019
45020 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
45021 (grub_probefs_SOURCES): Likewise.
45022 (grub_emu_SOURCES): Likewise.
45023 (pkgdata_MODULES): Add `affs.mod'.
45024 (affs_mod_SOURCES): New variable.
45025 (affs_mod_CFLAGS): Likewise.
45026 (affs_mod_LDFLAGS): Likewise.
45027
45028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
45029 (pkgdata_MODULES): Add `affs.mod'.
45030 (affs_mod_SOURCES): New variable.
45031 (affs_mod_CFLAGS): Likewise.
45032
45033 * util/grub-emu.c (main): Call `grub_affs_init' and
45034 `grub_affs_fini'.
45035
45036 * include/grub/fs.h (grub_affs_init): New prototype.
45037 (grub_affs_fini): Likewise.
45038
047b67e0 450392005-10-01 Marco Gerards <mgerards@xs4all.nl>
45040
45041 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
45042
59b8208a 450432005-10-01 Marco Gerards <mgerards@xs4all.nl>
45044
45045 * configure.ac: Accept `x86_64' as host_cpu. In that case add
45046 `-m32' to CFLAGS.
45047
45048 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
45049 linking.
f19dbdb7 45050
59b8208a 45051 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
45052 (COMMON_LDFLAGS): New variable.
45053 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
45054 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
45055 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
45056 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
45057 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
45058 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
45059 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
45060 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
45061 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
45062 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
45063 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
45064 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
45065 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
45066 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
45067 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
45068 variables.
45069 (normal_mod_ASFLAGS): Add `-m32'.
45070
45071 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
45072 (grub_host_size_t, grub_host_ssize_t): New types.
45073 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 45074 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 45075 `GRUB_HOST_SIZEOF_VOID_P'.
45076
45077 * include/grub/kernel.h (struct grub_module_header): Type of
45078 member offset changed to `grub_host_off_t'. Type of member size
45079 changed to `grub_host_size_t'.
45080 (struct grub_module_info): Type of member offset changed to
45081 `grub_host_off_t'. Type of member size changed to
45082 `grub_host_size_t'.
45083
b4093103 450842005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
45085
45086 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 45087
b4093103 45088 * kern/i386/pc/startup.S (multiboot_header): New label.
45089 (multiboot_entry): Likewise.
45090 (multiboot_trampoline): Likewise.
45091
45092 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
45093 Increased to 0x4A0.
45094
45095 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
45096 put parentheses after a question mark.
45097 [!GRUB_UTIL] (my_mod): New variable.
45098
45099 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
45100
b2499b29 451012005-09-28 Marco Gerards <mgerards@xs4all.nl>
45102
45103 Adds support for the XFS filesystem. Btrees are not supported
45104 yet.
45105
45106 * fs/xfs.c: New file.
45107
45108 * DISTLIST: Added `fs/xfs.c'.
45109
45110 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
45111 (grub_probefs_SOURCES): Likewise.
45112 (grub_emu_SOURCES): Likewise.
45113 (pkgdata_MODULES): Add `xfs.mod'.
45114 (xfs_mod_SOURCES): New variable.
45115 (xfs_mod_CFLAGS): Likewise.
45116
45117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
45118 (pkgdata_MODULES): Add `xfs.mod'.
45119 (xfs_mod_SOURCES): New variable.
45120 (xfs_mod_CFLAGS): Likewise.
45121
45122 * util/grub-emu.c (main): Call `grub_xfs_init' and
45123 `grub_xfs_fini'.
45124
45125 * include/grub/fs.h (grub_xfs_init): New prototype.
45126 (grub_xfs_fini): Likewise.
45127
f19dbdb7 45128
83d37a62 451292005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
45130
45131 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
45132 color modes, allow greater than 16 colors to be configured as
45133 a default palette.
45134
47d2d65e 451352005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45136
45137 * normal/completion.c (complete_arguments): Add the qualifier
45138 const into OPTIONS.
45139
45140 From Omniflux <omniflux+lists@omniflux.com>:
45141 * include/grub/terminfo.h: New file.
45142 * include/grub/tparm.h: Likewise.
45143 * include/grub/i386/pc/serial.h: Likewise.
45144 * term/terminfo.c: Likewise.
45145 * term/tparm.c: Likewise.
45146 * term/i386/pc/serial.c: Likewise.
45147 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
45148 serial.mod.
45149 (terminfo_mod_SOURCES): New variable.
45150 (terminfo_mod_CFLAGS): Likewise.
45151 (serial_mod_SOURCES): Likewise.
45152 (serial_mod_CFLAGS): Likewise.
45153
48b671ff 451542005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
45155
45156 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
45157 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
45158 and kern/powerpc/ieee1275/cmain.c, respectively.
45159
45160 * boot/powerpc/ieee1275/crt0.S: Moved to ...
45161 * kern/powerpc/ieee1275/crt0.S: ... here.
45162
45163 * boot/powerpc/ieee1275/cmain.c: Moved to ...
45164 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 45165
48b671ff 45166 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
45167 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
45168 instead of boot/powerpc/ieee1275/crt0.S and
45169 boot/powerpc/ieee1275/cmain.c, respectively.
45170
45171 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
45172 sectors. It was not used anyway.
45173
09fc77a7 451742005-08-30 Hollis Blanchard <hollis@penguinppc.org>
45175
45176 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
45177 `unused parameter' warning.
45178
003789c7 451792005-08-30 Hollis Blanchard <hollis@penguinppc.org>
45180
45181 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
45182 function.
45183 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
45184 getcharwidth.
45185
67f44c86 451862005-08-28 Marco Gerards <metgerards@student.han.nl>
45187
45188 * include/grub/normal.h (enum grub_completion_type): Added
45189 `GRUB_COMPLETION_TYPE_ARGUMENT'.
45190
45191 * normal/cmdline.c (print_completion): Handle
45192 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
45193 * normal/menu_entry.c (store_completion): Likewise.
45194
45195 * normal/completion.c (complete_arguments): New function.
45196 (grub_normal_do_completion): Call `complete_arguments' when the
45197 current words start with a dash.
45198
0b5abe02 451992005-08-27 Marco Gerards <metgerards@student.han.nl>
45200
45201 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
45202 `gzio.mod' instead of `io.mod').
45203
d9864ee1 452042005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
45205
45206 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
45207 (DISTDIRS): Added io and video.
45208 Rewrite the search routine to make an output consistently.
45209
45210 * DISTLIST: Added conf/sparc64-ieee1275.mk,
45211 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
45212 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
45213 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
45214 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
45215 util/powerpc/ieee1275/misc.c.
f19dbdb7 45216
d9864ee1 45217 * include/grub/gzio.h: New file.
45218 * io/gzio.c: Likewise.
f19dbdb7 45219
d9864ee1 45220 * kern/file.c (grub_file_close): Call grub_device_close only if
45221 FILE->DEVICE is not NULL.
45222
45223 * include/grub/mm.h [!NULL] (NULL): New macro.
45224
45225 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
45226
45227 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
45228 (pkgdata_MODULES): Added gzio.mod.
45229 (gzio_mod_SOURCES): New variable.
45230 (gzio_mod_CFLAGS): Likewise.
45231
45232 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
45233 (pkgdata_MODULES): Added gzio.mod.
45234 (gzio_mod_SOURCES): New variable.
45235 (gzio_mod_CFLAGS): Likewise.
45236
45237 * commands/cat.c: Include grub/gzio.h.
45238 (grub_cmd_cat): Use grub_gzfile_open instead of
45239 grub_file_open.
f19dbdb7 45240
d9864ee1 45241 * commands/cmp.c: Include grub/gzio.h.
45242 (grub_cmd_cmp): Use grub_gzfile_open instead of
45243 grub_file_open.
45244
45245 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
45246 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
45247 grub_file_open.
45248 (grub_rescue_cmd_module): Likewise.
45249
fa46f4b5 452502005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
45251
45252 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
45253 kern/sparc64/ieee1275/init.c because it contains _start.
45254 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
45255
e9211b5d 452562005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
45257
45258 * configure.ac: Add support for sparc64 host with ieee1275
45259 firmware.
45260 * configure: Generated from configure.ac.
45261 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
45262 instead of int.
45263 (grub_ofdisk_read): Likewise.
45264 (grub_ofdisk_open): Use %p to print pointer values, and cast the
45265 pointers as (void *) to remove a warning.
45266 (grub_ofdisk_close): Likewise.
45267 (grub_ofdisk_read): Likewise.
45268 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
45269 returns, so make it return void to remove a warning.
45270 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
45271 Corresponding prototype change.
45272 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
45273 values, and cast the pointers as (void *) to remove a warning.
45274 (grub_mm_dump): Likewise.
45275 * conf/sparc64-ieee1275.mk: New file.
45276 * conf/sparc64-ieee1275.rmk: Likewise.
45277 * include/grub/sparc64/setjmp.h: Likewise.
45278 * include/grub/sparc64/types.h: Likewise.
45279 * include/grub/sparc64/ieee1275/console.h: Likewise.
45280 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45281 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45282 * include/grub/sparc64/ieee1275/time.h: Likewise.
45283 * kern/sparc64/cache.c: Likewise.
45284 * kern/sparc64/dl.c: Likewise.
45285 * kern/sparc64/ieee1275/init.c: Likewise.
45286 * kern/sparc64/ieee1275/openfw.c: Likewise.
45287
385c6a92 452882005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45289
45290 * util/console.c (grub_ncurses_putchar): If C is greater than
45291 0x7f, set C to a question mark.
45292 (grub_ncurses_getcharwidth): New function.
45293 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
45294 getcharwidth.
45295
45296 * normal/menu.c (print_entry): Made aware of Unicode. First,
45297 convert TITLE to UCS-4, and predict the cursor position by
45298 grub_getcharwidth.
45299
45300 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
45301 const to SRC.
45302 * kern/misc.c (grub_utf16_to_utf8): Likewise.
45303
16ccb8b1 453042005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45305
45306 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
45307 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
45308 grub_strcat.
45309
45310 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
45311 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
45312 grub_strcpy and grub_strlen. Take it into account that a space
45313 character is inserted as a delimiter.
45314
6a85ce79 453152005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45316
45317 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 45318 invalid magic in the error.
6a85ce79 45319
45320 * commands/search.c: New file.
f19dbdb7 45321
6a85ce79 45322 * util/grub-emu.c (main): Call grub_search_init and
45323 grub_search_fini.
45324
45325 * kern/rescue.c (grub_rescue_print_disks): Removed.
45326 (grub_rescue_print_devices): New function.
45327 (grub_rescue_cmd_ls): Use grub_device_iterate with
45328 grub_rescue_print_devices instead of grub_disk_dev_iterate with
45329 grub_rescue_print_disks.
45330
45331 * kern/partition.c (grub_partition_iterate): Return the result of
45332 PARTMAP->ITERATE instead of GRUB_ERRNO.
45333
45334 * kern/device.c: Include grub/partition.h.
45335 (grub_device_iterate): New function.
45336
45337 * include/grub/partition.h (grub_partition_iterate): Return int
45338 instead of grub_err_t.
45339
45340 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
45341 prototype.
45342 [GRUB_UTIL] (grub_search_fini): Likewise.
45343
45344 * include/grub/device.h (grub_device_iterate): New prototype.
45345
45346 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45347 commands/search.c.
45348 (pkgdata_MODULES): Added search.mod.
45349 (search_mod_SOURCES): New variable.
45350 (search_mod_CFLAGS): Likewise.
45351
45352 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
45353 (pkgdata_MODULES): Added search.mod.
45354 (search_mod_SOURCES): New variable.
45355 (search_mod_CFLAGS): Likewise.
45356
45357 * commands/ls.c (grub_ls_list_disks): Renamed to ...
45358 (grub_ls_list_devices): ... this, and use grub_device_iterate.
45359 All callers changed.
45360
45361 * DISTLIST: Added commands/search.c.
45362
ef095434 453632005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45364
45365 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
45366 conversion.
45367 (grub_getcharwidth): New function.
45368
45369 * kern/misc.c (grub_utf8_to_ucs4): New function.
45370
45371 * include/grub/term.h (struct grub_term): Added a new member
45372 "getcharwidth".
45373 (grub_getcharwidth): New prototype.
45374
45375 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
45376
45377 * term/i386/pc/console.c (map_char): New function. Segregated from
45378 grub_console_putchar.
45379 (grub_console_putchar): Use map_char.
45380 (grub_console_getcharwidth): New function.
45381 (grub_console_term): Specified grub_console_getcharwidth as
45382 getcharwidth.
45383
45384 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
45385 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
45386
45387 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
45388 GRUB_ERRNO.
45389 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
45390 on grub_strtoul completely.
45391 (write_char): Declare local variables in the beginning of the
45392 function.
45393 (grub_vesafb_getcharwidth): New function.
45394 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
45395 getcharwidth.
45396
1f0a95e4 453972005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
45398
45399 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
45400 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
45401 commands/i386/pc/vbetest.c.
45402
45403 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
45404 call grub_vbe_get_controller_info again, because the returned
45405 information is volatile.
45406 (grub_vbe_set_video_mode): Mostly rewritten.
45407 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
45408 grub_vbe_status_t correctly.
45409 (grub_vbe_get_video_mode_info): Likewise.
45410 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
45411 several if statements.
45412
45413 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
45414 * commands/i386/pc/vbeinfo.c: ... this.
45415
45416 * commands/i386/pc/vbe_test.c: Renamed to ...
45417 * commands/i386/pc/vbetest.c: ... this.
45418
45419 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
45420 ...
45421 (grub_cmd_vbeinfo): ... this. Save video modes before
45422 iterating. Skip a video mode, if it is not available, not enough
45423 information is given or it is monochrome. Show the memory
45424 model. Leave the interpretation of MODEVAR to grub_strtoul
45425 completely.
45426 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
45427 (GRUB_MOD_FINI): Likewise.
45428
45429 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
45430 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
45431 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
45432 duplicated grub_env_get. Leave the interpretation of MODEVAR to
45433 grub_strtoul completely.
45434 (real2pm): Removed.
45435 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
45436 (GRUB_MOD_FINI): Likewise.
45437
45438 * normal/misc.c: Include grub/mm.h.
45439
45440 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
45441 vbe_list_modes with vbetest.mod and vbeinfo.mod.
45442 (vbe_list_modes_mod_SOURCES): Removed.
45443 (vbe_list_modes_mod_CFLAGS): Likewise.
45444 (vbe_test_mod_SOURCES): Likewise.
45445 (vbe_test_mod_CFLAGS): Likewise.
45446 (vbeinfo_mod_SOURCES): New variable.
45447 (vbeinfo_mod_CFLAGS): Likewise.
45448 (vbetest_mod_SOURCES): Likewise.
45449 (vbetest_mod_CFLAGS): Likewise.
45450
992ffbbe 454512005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
45452
45453 * normal/misc.c: New file.
45454
45455 * DISTLIST: Added normal/misc.c.
f19dbdb7 45456
992ffbbe 45457 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
45458 DISK to HOOK. Call HOOK with DISK.
45459 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45460 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45461 * partmap/sun.c (sun_partition_map_iterate): Likewise.
45462
45463 * normal/menu_entry.c (struct screen): Added a new member
45464 "completion_shown".
45465 (completion_buffer): New global variable.
45466 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
45467 (store_completion): New function.
45468 (complete): Likewise.
45469 (clear_completions): Likewise.
45470 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
45471 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
45472 a tab, call complete.
45473
45474 * normal/completion.c (disk_dev): Removed.
45475 (print_simple_completion): Likewise.
45476 (print_partition_completion): Likewise.
45477 (print_func): New global variable.
45478 (add_completion): Do not take the arguments WHAT or PRINT any
45479 longer. Added a new argument TYPE. Instead of printing directly,
45480 call PRINT_FUNC if not NULL.
45481 All callers changed.
45482 (complete_device): Use a local variable DEV instead of
45483 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
45484 (grub_normal_do_completion): Take a new argument HOOK. Do not
45485 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
45486 empty string, return NULL instead.
45487 All callers changed.
45488
45489 * normal/cmdline.c (print_completion): New function.
45490
45491 * kern/partition.c (grub_partition_iterate): Add an argument DISK
45492 to HOOK.
45493 All callers changed.
45494
45495 * kern/disk.c (grub_print_partinfo): Removed.
45496
45497 * include/grub/partition.h (struct grub_partition_map): Add a new
45498 argument DISK into HOOK of ITERATE.
45499 (grub_partition_iterate): Add a new argument DISK to HOOK.
45500
45501 * include/grub/normal.h (enum grub_completion_type): New enum.
45502 (grub_completion_type_t): New type.
45503 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
45504 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
45505 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
45506 (GRUB_COMPLETION_TYPE_FILE): Likewise.
45507 (grub_normal_do_completion): Added a new argument HOOK.
45508 (grub_normal_print_device_info): New prototype.
45509
45510 * include/grub/disk.h (grub_print_partinfo): Removed.
45511
45512 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
45513 (normal_mod_SOURCES): Likewise.
45514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45515 (normal_mod_SOURCES): Likewise.
45516
45517 * commands/ls.c (grub_ls_list_disks): Use
45518 grub_normal_print_device_info instead of grub_print_partinfo. Free
45519 PNAME.
45520 (grub_ls_list_files): Use grub_normal_print_device_info instead of
45521 duplicating the code.
45522
0bd41162 455232005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
45524
45525 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 45526 follow GCS more precisely.
45527 * commands/i386/pc/vbe_test.c: Likewise.
45528 * include/grub/i386/pc/vbe.h: Likewise.
45529 * term/i386/pc/vesafb.c: Likewise.
45530 * video/i386/pc/vbe.c: Likewise.
0bd41162 45531
6323696a 455322005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
45533
45534 * DISTLIST: Added term/i386/pc/vesafb.c
45535 DISTLIST: Added video/i386/pc/vbe.c
45536 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
45537 DISTLIST: Added commands/i386/pc/vbe_test.c.
45538 * commands/i386/pc/vbe_list_modes.c: New file.
45539 * commands/i386/pc/vbe_test.c: Likewise.
45540 * term/i386/pc/vesafb.c: Likewise.
45541 * video/i386/pc/vbe.c: Likewise.
45542 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
45543 (grub_vbe_probe) Added prototype.
45544 (grub_vbe_set_video_mode) Likewise.
45545 (grub_vbe_get_video_mode) Likewise.
45546 (grub_vbe_get_video_mode_info) Likewise.
45547 (grub_vbe_set_pixel_rgb) Likewise.
45548 (grub_vbe_set_pixel_index) Likewise.
45549 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
45550 (pkgdata_MODULES): Added vesafb.mod.
45551 (pkgdata_MODULES): Added vbe_list_modes.mod.
45552 (pkgdata_MODULES): Added vbe_test.mod.
45553 (vbe_mod_SOURCES): Added.
45554 (vbe_mod_CFLAGS): Likewise.
45555 (vesafb_mod_SOURCES): Likewise.
45556 (vesafb_mod_CFLAGS): Likewise.
45557 (vbe_list_modes_mod_SOURCES): Likewise.
45558 (vbe_list_modes_mod_CFLAGS): Likewise.
45559 (vbe_test_mod_SOURCES): Likewise.
45560 (vbe_test_mod_CFLAGS): Likewise.
45561
0a74e62f 455622005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
45563
0a74e62f 45564 * normal/command.c (grub_command_execute): If INTERACTIVE is
45565 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
45566 CMDLINE. Disable the pager if INTERACTIVE is true.
45567 All callers are changed.
45568
45569 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
45570 before reading a config file.
45571 * normal/main.c (read_config_file): Even if a command is not
45572 found, register it if it is within an entry.
45573
45574 * util/grub-emu.c: Include sys/types.h and unistd.h.
45575 (options): Added --hold.
45576 (struct arguments): Added a new member "hold".
45577 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
45578 missing.
45579 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
45580 cleared by a debugger, if it is not zero.
45581
45582 * include/grub/normal.h (grub_command_execute): Add an argument
45583 INTERACTIVE.
45584
e51f85ae 455852005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
45586
45587 * DISTLIST: Added include/grub/i386/pc/vbe.h.
45588
e9c6f39b 455892005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
45590
45591 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
45592 program with another one, because the old one didn't detect a bug
45593 in gcc-3.4. Always use regparm 2, because the new test is still
45594 not enough for gcc-4.0. Someone must investigate a simple test
45595 case which detects a bug in gcc-4.0.
45596
8de3495c 455972005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
45598
45599 * DISTLIST: Added normal/completion.c.
45600
45601 * normal/completion.c: New file.
f19dbdb7 45602
8de3495c 45603 * term/i386/pc/console.c (grub_console_getwh): New function.
45604 (grub_console_term): Assign grub_console_getwh to getwh.
45605
45606 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
45607 function is defined in normal/completion.c as
45608 grub_normal_do_completion.
45609 (grub_cmdline_get): Use grub_normal_do_completion instead of
45610 grub_tab_complete.
45611
45612 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
45613 returns non-zero, otherwise return 0.
45614 (grub_partition_iterate): First, probe the partition map. Then,
45615 call ITERATE only for this partition map.
45616
45617 * kern/misc.c (grub_strncmp): Rewritten.
45618
45619 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
45620 returns non-zero. Otherwise return 0.
45621
45622 * include/grub/partition.h (grub_partition_map_iterate): Return
45623 int instead of void.
45624
45625 * include/grub/normal.h (grub_normal_do_completion): New prototype.
45626
45627 * include/grub/misc.h (grub_strncmp): Change the type of N to
45628 grub_size_t.
45629
45630 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
45631 of void.
45632
45633 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 45634 unsigned explicitly before comparing it with I.
8de3495c 45635
45636 * kern/main.c (grub_env_write_root): Add the attribute unused into
45637 VAR.
45638
45639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45640 normal/completion.c.
45641 (normal_mod_SOURCES): Likewise.
45642 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45643 (normal_mod_SOURCES): Likewise.
45644
45645 * normal/command.c (grub_iterate_commands): If ITERATE returns
45646 non-zero, return one immediately.
45647
e85e144b 456482005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
45649
45650 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
45651 * kern/i386/pc/startup.S: Updated Global Descriptor table's
45652 descriptions.
45653 (grub_vbe_get_controller_info): New function.
45654 (grub_vbe_get_mode_info): Likewise.
45655 (grub_vbe_set_mode): Likewise.
45656 (grub_vbe_get_mode): Likewise.
45657 (grub_vbe_set_memory_window): Likewise.
45658 (grub_vbe_get_memory_window): Likewise.
45659 (grub_vbe_set_scanline_length): Likewise.
45660 (grub_vbe_get_scanline_length): Likewise.
45661 (grub_vbe_set_display_start): Likewise.
45662 (grub_vbe_get_display_start): Likewise.
45663 (grub_vbe_set_palette_data): Likewise.
45664 * include/grub/i386/pc/vbe.h: New file.
45665
c46153d2 456662005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45667
45668 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
45669 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
45670 * DISTLIST: Likewise.
45671 * kern/ieee1275/of.c: Moved to ...
45672 * kern/ieee1275/ieee1275.c: ... here.
45673
0cb90c45 456742005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45675
45676 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
45677 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
45678 Pass 0 as `end' parameter to grub_strtoul().
45679
a19fb360 456802005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45681
45682 * include/grub/powerpc/ieee1275/console.h: Do not include
45683 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
45684 ifdef.
45685 (grub_console_cur_color): Remove i386-specific prototype.
45686 (grub_console_real_putchar): Likewise.
45687 (grub_console_checkkey): Likewise.
45688 (grub_console_getkey): Likewise.
45689 (grub_console_getxy): Likewise.
45690 (grub_console_gotoxy): Likewise.
45691 (grub_console_cls): Likewise.
45692 (grub_console_setcursor): Likewise.
45693 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
45694 Include <grub/machine/console.h>.
45695 * term/ieee1275/ofconsole.c: Likewise.
45696
4ac9bd04 456972005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
45698
45699 * Makefile.in (LIBLZO): New variable.
45700
45701 * configure.ac: Check for LZO version 2.
45702
45703 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
45704 lzo/lzo1x.h instead of lzo1x.h.
45705
45706 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
45707 of -llzo.
45708
45709 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
45710 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
45711
45712 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
45713 copying the data from PARTITION to P.
45714
f4917dfd 457152005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45716
45717 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
45718 negative, unload the module.
45719
45720 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
45721 map is "pc_partition_map" but not "pc".
45722 (usage): Fix the description. The options are --boot-image and
45723 --core-image but not --boot-file or --core-file.
45724 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
45725 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
45726 DEFAULT_DIRECTORY.
45727
45728 * util/i386/pc/grub-install.in: Do not specify --boot-file or
45729 --core-file. Specify INSTALL_DEVICE as an argument.
45730
45731 * util/console.c: Include config.h.
45732 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
45733 [HAVE_NCURSES_H]: Include ncurses.h.
45734 [HAVE_CURSES_H]: Include curses.h.
45735 [!A_NORMAL] (A_NORMAL): Defined as zero.
45736 [!A_STANDOUT] (A_STANDOUT): Likewise.
45737
45738 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
45739 -lncurses.
45740 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
45741
45742 * configure.ac: Check for curses libraries and headers.
45743
45744 * Makefile.in (LIBCURSES): New variable.
45745
45746 * genmk.rb (Script::rule): Set the executable bits.
45747
45748 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
45749 name of the PC partition map is "pc_partition_map" but not "pc".
45750
0e143073 457512005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45752
45753 * util/i386/pc/grub-install.in (grub_probefs): New variable.
45754 (modules): Likewise.
45755 (usage): Added descriptions for --modules and --grub-probefs.
45756 Handle --modules and --grub-probefs. Save the arguments in MODULES
45757 and GRUB_PROBEFS, respectively.
45758 Auto-detect a filesystem module against GRUBDIR. If the result is
45759 empty and modules are not specified explicitly, abort the
45760 installation. Add the result to MODULES.
45761
45762 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
45763 disk/powerpc/ieee1275/ofdisk.c,
45764 include/grub/powerpc/ieee1275/init.h and
45765 term/powerpc/ieee1275/ofconsole.c.
45766 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
45767 term/ieee1275/ofconsole.c.
45768
45769 * include/grub/powerpc/ieee1275/console.h: Resurrected.
45770
45771 * COPYING: Upgraded to the latest version. Only the address of the
45772 FSF office has changed.
f19dbdb7 45773
efd6e6d5 457742005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45775
45776 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
45777 kern/ieee1275.c with kern/ieee1275/of.c.
45778
45779 * kern/ieee1275.c: Moved to ...
45780 * kern/ieee1275/of.c: ... here.
45781
8ceafda2 457822005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
45783
45784 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 45785 readability.
8ceafda2 45786
45787 * config.guess: Updated to the latest version from gnulib.
45788 * config.sub: Likewise.
45789 * install.sh: Likewise.
45790 * mkinstalldirs: Likewise.
45791
45792 * include/grub/console.h: Removed. This file is arch-specific. Do
45793 not put this in include/grub.
45794
45795 * include/grub/i386/pc/console.h: Resurrected.
45796
45797 * util/console.c: Include grub/machine/console.h instead of
45798 grub/console.h.
45799 * util/grub-emu.c: Likewise.
45800
267f6cd9 458012005-08-04 Marco Gerards <metgerards@student.han.nl>
45802
45803 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
45804 hardcoded value.
f19dbdb7 45805
267f6cd9 45806 From Vincent Pelletier <subdino2004@yahoo.fr>
45807 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
45808 Redefined to use grub_getwh.
45809 (grub_term): New member named getwh.
45810 (grub_getwh): New prototype.
45811 * kern/term.c (grub_getwh): New function.
45812 * term/i386/pc/console.c (grub_console_getwh): New function.
45813 (grub_console_term): New member `getwh'.
45814 * term/i386/pc/vga.c (grub_vga_getwh): New function.
45815 (grub_vga_term): New member `getwh'.
0b5abe02 45816 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 45817 grub_ssize_t.
45818 (grub_ofconsole_getw): New function.
45819 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
45820 (grub_ofconsole_term): New field named getwh and new initial
45821 value.
45822
3be7266d 458232005-08-03 Hollis Blanchard <hollis@penguinppc.org>
45824
45825 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
45826 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
45827 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
45828 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
45829 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
45830 of <grub/machine/ieee1275.h>.
45831 * commands/ieee1275/reboot.c: Likewise.
45832 * boot/powerpc/ieee1275/ieee1275.c: Move ...
45833 * kern/ieee1275.c: ... to here. All users updated. Change all
45834 parameter structs to use new type `grub_ieee1275_cell_t'.
45835 * term/powerpc/ieee1275/ofconsole.c: Move ...
45836 * term/ieee1275/ofconsole.c: ... to here. All users updated.
45837 * disk/powerpc/ieee1275/ofdisk.c: Move ...
45838 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
45839 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
45840 to return int.
45841 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
45842 Remove unused prototypes. All users updated.
45843 * include/grub/powerpc/ieee1275/console.h: Removed.
45844 * include/grub/powerpc/ieee1275/ieee1275.h: Define
45845 `grub_ieee1275_cell_t'.
45846 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
45847 Cast comparisons with -1 to the correct type.
45848 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
45849 type to match `grub_ieee1275_entry_fn'.
45850
8b5f3938 458512005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
45852
45853 * DISTLIST: Added util/i386/pc/grub-probefs.c.
45854
45855 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
45856 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
45857 partmap/sun.c.
45858 (grub_probefs_SOURCES): New variable.
45859
45860 * util/i386/pc/grub-probefs.c: New file.
45861
45862 * util/i386/pc/grub-setup.c (main): Call
45863 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
45864 grub_hfs_init and grub_jfs_init to initialize the system. Call
45865 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
45866 grub_pc_partition_map_fini to finish the system.
45867
ea409713 458682005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
45869
45870 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
45871 function.
45872 (grub_multiboot_load_elf32): Likewise.
45873 (grub_multiboot_is_elf64): Likewise.
45874 (grub_multiboot_load_elf64): Likewise.
45875 (grub_multiboot_load_elf): Likewise.
45876 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
45877 an ELF32 or ELF64 file.
45878 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
45879
45880 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
45881 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
45882 NULL before calling FS->LABEL.
45883 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
45884 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
45885 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
45886 before calling FS->LABEL.
45887
141a288b 458882005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
45889
45890 * util/i386/pc/grub-install.in (datadir): New variable.
45891 (libdir): Removed.
45892 (pkgdatadir): New variable.
45893 (pkglibdir): Removed.
45894
0d5f8a54 458952005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
45896
45897 * DISTLIST: Added util/i386/pc/grub-install.in.
45898
45899 * util/i386/pc/grub-install.in: New file.
45900
45901 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
45902 (grub_install_SOURCES): Likewise.
45903
45904 * genmk.rb: Added support for scripts.
45905 (Script): New class.
45906 (scripts): New variable.
45907
45908 * Makefile.in (install-local): Install sbin_SCRIPTS by
45909 INSTALL_SCRIPT.
45910 (uninstall): Remove sbin_SCRIPTS.
45911
45912 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
45913 device, try to get a GRUB device by
45914 grub_util_biosdisk_get_grub_dev.
45915 Free DEST_DEV.
45916
45917 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
45918 description for --device-map.
45919
5f968e1e 459202005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
45921
45922 Change the semantics of variable hooks. They now return strings
45923 instead of error values.
f19dbdb7 45924
5f968e1e 45925 * util/i386/pc/grub-setup.c: Include grub/env.h.
45926 (setup): Use grub_device_set_root instead of grub_env_set.
45927
45928 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
45929 grub_env_get instead of grub_device_set_root and
45930 grub_device_get_root, respectively.
45931
45932 * kern/main.c (grub_env_write_root): New function.
45933 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
45934 grub_env_set instead of grub_device_set_root.
45935
45936 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
45937 many variables.
45938 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
45939 rather than calling ENV->WRITE_HOOK afterwards.
45940 (grub_env_get): Return the result of ENV->READ_HOOK rather than
45941 passing a pointer of a pointer.
45942 (grub_register_variable_hook): Change the types of "read_hook" and
45943 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
45944 respectively.
45945 Allocate the default empty string on the heap, because this string
45946 may be freed later.
45947
45948 * kern/device.c: Include grub/env.h.
45949 (grub_device_set_root): Removed.
45950 (grub_device_get_root): Likewise.
45951 (grub_device_open): Use grub_env_get instead of
45952 grub_device_get_root.
45953
45954 * include/grub/env.h (grub_env_read_hook_t): New type.
45955 (grub_env_write_hook_t): Likewise.
45956 (grub_env_var): Change the types of "read_hook" and "write_hook"
45957 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
45958 (grub_register_variable_hook): Likewise.
45959
45960 * include/grub/device.h (grub_device_set_root): Removed.
45961 (grub_device_set_root): Likewise.
45962
45963 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
45964 make sure that DIRNAME terminates with '/', so that
45965 grub_fat_find_dir will fail if PATH is not a directory.
45966
45967 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
45968 from DIRNAME.
45969 Use the qualifier auto for print_files and print_files_long.
45970 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
45971 as a regular file.
45972 Put a newline only if there is no error.
45973 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
45974 used.
45975
896f0afd 459762005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
45977
45978 * kern/partition.c (grub_partition_probe): Initialize PART to
45979 NULL. Otherwise, when no partition map is registered, this returns
45980 a garbage.
45981
b28b81b2 459822005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
45983
45984 * partmap/apple.c (apple_partition_map_iterate): Check if POS
45985 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
45986 valid.
45987
5f3607e0 459882005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
45989
45990 * commands/ls.c (grub_ls_list_disks): Print the filesystem
45991 information on each device, if it does not have partitions. Print
45992 "Device" instead of "Disk", because this function is not specific
45993 to disk devices.
45994
45995 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
45996 static to ensure that it is put on the memory rather than a
45997 register.
45998
502c87e8 459992005-07-17 Yoshinori Okuji <okuji@enbug.org>
46000
46001 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
46002 (grub_cat_init): Likewise.
46003 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
46004 (options): Likewise.
46005 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
46006 (grub_configfile_init): Likewise.
46007 * font/manager.c (GRUB_MOD_INIT): Likewise.
46008 * commands/help.c (GRUB_MOD_INIT): Likewise.
46009 (grub_help_init): Likewise.
46010 * normal/command.c (grub_command_init): Likewise.
46011 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
46012 * disk/loopback.c (grub_loop_init): Likewise.
46013 (GRUB_MOD_INIT): Likewise.
46014 * commands/ls.c (grub_ls_init): Likewise.
46015 (GRUB_MOD_INIT): Likewise.
46016 (options): Likewise.
46017 * commands/boot.c (grub_boot_init): Likewise.
46018 (GRUB_MOD_INIT): Likewise.
46019 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
46020 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
46021 (GRUB_MOD_INIT): Likewise.
46022 * commands/cmp.c (grub_cmp_init): Likewise.
46023 (GRUB_MOD_INIT): Likewise.
46024
46025 * normal/arg.c: Use <> instead of "" to include header files.
46026 (SHORT_ARG_HELP): New macro.
46027 (SHORT_ARG_USAGE): Likewise.
46028 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
46029 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
46030 descriptions.
46031 (find_short): Check if C is 'h' or 'u' explicitly.
46032 (grub_arg_show_help): Use space characters instead of tabs. Treat
46033 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
46034 are shown with --help and --usage only if they are not used for
46035 the command itself.
46036 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
46037 'h' and 'u'.
46038
46039 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
46040 const into "longarg". Change the type of "shortarg" to int.
46041
f806d18e 460422005-07-17 Yoshinori Okuji <okuji@enbug.org>
46043
46044 * boot/i386/pc/boot.S (boot_drive_check): New label.
46045
46046 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
46047 macro.
46048
46049 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
46050 which do not pass a boot drive correctly. Copied from GRUB Legacy.
46051
e293232b 460522005-07-17 Yoshinori Okuji <okuji@enbug.org>
46053
46054 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
46055 When turning off Gate A20, skip the check and return immediately,
46056 because this is not fatal usually.
46057
ebedfd00 460582005-07-17 Yoshinori Okuji <okuji@enbug.org>
46059
46060 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
46061 be 0x7C00 instead of 0x8000.
46062
46063 * boot/i386/pc/pxeboot.S: Rewritten.
46064
46065 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
46066 EXT_C.
46067 (gate_a20_check_state): Read a byte from 0x108000. Invert the
46068 result.
46069
654fc59f 460702005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
46071
46072 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
46073 robustness. This routine now supports a BIOS call and System
46074 Control Port A to modify the gate A20.
46075
46076 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46077 Increased to 0x440.
46078
09f9923f 460792005-07-12 Hollis Blanchard <hollis@penguinppc.org>
46080
46081 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
46082 device path and resulting ihandle.
46083 (grub_ofdisk_close): dprintf the ihandle being closed.
46084 (grub_ofdisk_read): dprintf function parameters.
46085 * kern/mm.c (grub_mm_init_region): Likewise.
46086 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
46087 (grub_linux_boot): dprintf the Linux entry point, initrd address and
46088 size, and boot arguments.
46089 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
46090 before loading into memory.
46091 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
46092 before loading into memory.
46093
7ef504d8 460942005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
46095
46096 * kern/mm.c: Added much documentation.
46097 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
46098 8, set to 5 instead of 8.
46099
e0f050c2 461002005-07-10 Yoshinori Okuji <okuji@enbug.org>
46101
46102 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
46103
46104 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
46105 (grub_mkdevicemap_SOURCES): New variable.
46106
46107 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
46108 lib/device.c of GRUB Legacy.
46109
7224189a 461102005-07-10 Yoshinori Okuji <okuji@enbug.org>
46111
46112 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
46113 instead of PATH is NULL.
46114
68c864eb 461152005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
46116
46117 * commands/cmp.c (BUFFER_SIZE): New macro.
46118 (grub_cmd_cmp): Close the right file at the right time. Compare
46119 only data just read. Don't report files of different size as
46120 identical. Dynamically allocate buffers. Move variable
46121 declarations at the beginning of function.
46122
e6f3e614 461232005-07-09 Yoshinori Okuji <okuji@enbug.org>
46124
46125 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
46126 reverse.
46127
f8f1559a 461282004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
46129
46130 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
46131 when backspace is pressed at beginning of line.
46132
39c9d41d 461332005-07-03 Yoshinori Okuji <okuji@enbug.org>
46134
46135 * DISTLIST: Added genfslist.sh.
46136
46137 * normal/main.c (fs_module_list): New variable.
46138 (autoload_fs_module): New function.
46139 (read_fs_list): Likewise.
46140 (grub_normal_execute): Call read_fs_list.
46141
46142 * kern/fs.c (grub_fs_autoload_hook): New variable.
46143 (grub_fs_probe): Added support for auto-loading.
46144
46145 * include/grub/normal.h (struct grub_fs_module_list): New struct.
46146 (grub_fs_module_list_t): New type.
46147
46148 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
46149 (grub_fs_autoload_hook): New prototype.
46150
46151 * genfslist.sh: New file.
f19dbdb7 46152
39c9d41d 46153 * genmk.rb: Added a rule to generate a filesystem list.
46154
121c1d83 461552005-06-30 Marco Gerards <metgerards@student.han.nl>
46156
46157 * configure.ac: Fix the test for cross-compiling.
46158
46159 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
46160 define GRUB_UTIL anymore.
46161
46162 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
46163 so this function works on other systems than just big endian.
46164 (load_modules): Likewise.
46165 (add_segments): Likewise.
46166
e75d76e1 461672005-06-23 Hollis Blanchard <hollis@penguinppc.org>
46168
46169 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
46170 contains `l' modifier, get a long from va_arg().
46171
50b5a0a7 461722005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
46173
46174 * kern/mm.c (grub_free): If the next free block which is being
46175 merged is the first free block, set the first block to the block
46176 being freed.
46177 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
46178
89371b20 461792005-05-08 Hollis Blanchard <hollis@penguinppc.org>
46180
46181 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
46182 `grub_ieee1275_chosen'.
46183
168d6e58 461842005-05-08 Hollis Blanchard <hollis@penguinppc.org>
46185
46186 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
46187 (grub_ieee1275_chosen): New variable.
46188 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
46189 `chosen'.
46190 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
46191 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46192 Rename first argument to `phandle' for consistency.
46193 (grub_ieee1275_get_property_length): Likewise.
46194 (grub_ieee1275_next_property): Likewise. Change type of first argument
46195 to grub_ieee1275_phandle_t.
46196 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
46197 Move export next to declaration.
46198 (grub_ieee1275_chosen): New variable.
46199 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
46200 Correct cosmetic typo.
46201 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
46202 `grub_ieee1275_chosen'.
46203 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
46204 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
46205 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
46206 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
46207 `grub_ieee1275_chosen'.
46208
ca5baa3f 462092005-05-10 Hollis Blanchard <hollis@penguinppc.org>
46210
46211 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
46212 /chosen/bootargs.
46213 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
46214 /chosen/bootargs as "variable=value" pairs.
46215
708b345f 462162005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
46217
46218 * include/grub/misc.h (grub_dprintf): New macro.
46219 (grub_real_dprintf): New prototype.
46220 (grub_strword): Likewise.
46221 (grub_iswordseparator): Likewise.
46222 * kern/misc.c (grub_real_dprintf): New function.
46223 (grub_strword): Likewise.
46224 (grub_iswordseparator): Likewise.
46225
f4c5e67c 462262005-04-30 Hollis Blanchard <hollis@penguinppc.org>
46227
46228 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
46229 (roundup): Remove macro.
46230 (grub_ieee1275_flags): Make static.
46231 (grub_ieee1275_realmode): Remove.
46232 (grub_ieee1275_test_flag): New function.
46233 (grub_ieee1275_set_flag): Likewise.
46234 (find_options): Rename to `grub_ieee1275_find_options'; update
46235 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
46236 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
46237 (cmain): New prototype.
46238 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
46239 `grub_ieee1275_flags' directly.
46240 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
46241 machine/biosdisk.h.
46242 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
46243 Don't include grub/machine/init.h.
46244 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
46245 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
46246 Remove prototype.
46247 (grub_ieee1275_realmode): Likewise.
46248 (grub_ieee1275_flag): New enum.
46249 (grub_ieee1275_test_flag): New prototype.
46250 (grub_ieee1275_set_flag): New prototype.
46251 * include/grub/powerpc/ieee1275/init.h: Remove file.
46252 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
46253 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
46254 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
46255 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
46256 comment.
46257 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
46258 `grub_ieee1275_test_flag'.
46259 (grub_ieee1275_encode_devname): Likewise.
46260
ed16607e 462612005-04-21 Hollis Blanchard <hollis@penguinppc.org>
46262
46263 * include/grub/powerpc/ieee1275/ieee1275.h
46264 (grub_ieee1275_encode_devname): New prototype.
46265 (grub_ieee1275_get_filename): Likewise.
46266 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
46267 function.
46268 (grub_set_prefix): Likewise.
46269 (grub_machine_init): Call grub_set_prefix.
46270 * kern/powerpc/ieee1275/openfw.c: Fix typos.
46271 (grub_parse_type): New enum.
46272 (grub_ieee1275_get_devargs): New function.
46273 (grub_ieee1275_get_devname): Likewise.
46274 (grub_ieee1275_parse_args): Likewise.
46275 (grub_ieee1275_get_filename): Likewise.
46276 (grub_ieee1275_encode_devname): Likewise.
46277
be369920 462782005-03-30 Marco Gerards <metgerards@student.han.nl>
46279
46280 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
46281 `grub_loader_unset'.
46282
a5ce3a4a 462832005-03-26 Hollis Blanchard <hollis@penguinppc.org>
46284
46285 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
46286 instead of grub_ieee1275_interpret.
46287 (grub_halt_init): New function.
46288 (grub_halt_fini): Likewise.
46289 (GRUB_MOD_INIT): Correct message grammar.
46290 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
46291 instead of grub_ieee1275_interpret.
46292 (grub_reboot_init): New function.
46293 (grub_reboot_fini): Likewise.
46294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
46295 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
46296 util/i386/pc/misc.c with commands/ieee1275/halt.c,
46297 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
46298 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
46299 function.
46300 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
46301 Add prototype.
46302 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
46303 prototype.
46304 (grub_halt): Likewise.
46305 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
46306 (cmain): Remove __attribute__((unused)).
46307 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
46308 (grub_heap_len): Likewise.
46309 (grub_machine_fini): New function.
46310 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
46311 (grub_halt): Likewise.
46312 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
46313 function.
46314 * util/powerpc/ieee1275/misc.c: New file.
46315
0058f771 463162005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46317
46318 * DISTLIST: New file.
46319 * gendistlist.sh: Likewise.
f19dbdb7 46320
0058f771 46321 * Makefile.in (COMMON_DISTFILES): Removed.
46322 (BOOT_DISTFILES): Likewise.
46323 (CONF_DISTFILES): Likewise.
46324 (DISK_DISTFILES): Likewise.
46325 (FS_DISTFILES): Likewise.
46326 (INCLUDE_DISTFILES): Likewise.
46327 (KERN_DISTFILES): Likewise.
46328 (LOADER_DISTFILES): Likewise.
46329 (TERM_DISTFILES): Likewise.
46330 (UTIL_DISTFILES): Likewise.
46331 (DISTFILES): Likewise.
46332 (uninstall): Uninstall files in $(pkgdata_DATA).
46333 (DISTLIST): New target.
46334 (distdir): Use the contents of the file DISTLIST to get a list of
46335 distributed files.
46336
46b3b8a5 463372005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46338
46339 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
46340 descriptor. This is ported from GRUB Legacy.
46341
46342 * gencmdlist.sh: Added an extra semicolon to make it work with
46343 old sed versions. Reported by Robert Bihlmeyer
46344 <robbe@orcus.priv.at>.
46345
5822ff87 463462005-03-08 Yoshinori Okuji <okuji@enbug.org>
46347
46348 Automatic loading of commands is supported.
f19dbdb7 46349
5822ff87 46350 * normal/main.c (read_command_list): New function.
46351 (grub_normal_execute): Call read_command_list.
46352
46353 * normal/command.c (grub_register_command): Return zero or CMD.
46354 Allocate CMD->NAME from the heap.
46355 Initialize CMD->MODULE_NAME to zero.
46356 Find the same name as well. If the same command is found and it is
46357 a dummy command, overwrite members. If it is not a dummy command,
46358 return zero.
46359 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
46360 (grub_command_find): If a dummy command is found, load a module
46361 and retry to find a command only once.
46362
46363 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
46364 make sure that each command is loaded.
46365
46366 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
46367 macro.
46368 (struct grub_command): Remove const from the member `name'.
46369 Add a new member `module_name'.
46370 (grub_register_command): Return grub_command_t.
46371
46372 * commands/help.c (grub_cmd_help): Call grub_command_find to make
46373 sure that each command is loaded.
46374
46375 * genmk.rb (PModule::rule): Specify a module name without the
46376 suffix ".mod" to gencmdlist.sh.
46377
7b1f4b57 463782005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
46379
46380 * gencmdlist.sh: New file.
f19dbdb7 46381
7b1f4b57 46382 * genmk.rb (PModule::rule): Generate a rule for a command list.
46383 Clean command.lst.
46384 Generate command.lst from $(COMMANDFILES).
46385
46386 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
46387 (DATA): Added $(pkgdata_DATA).
46388 (install-local): Install files in $(pkgdata_DATA).
46389
062aaf39 463902005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
46391
46392 * term/i386/pc/vga.c (debug_command): Removed.
46393 (GRUB_MOD_INIT): Do not register the command "debug".
46394
46395 From Hollis Blanchard:
46396 * commands/configfile.c: New file.
46397 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46398 commands/configfile.c.
46399 (pkgdata_MODULES): Added configfile.mod.
46400 (configfile_mod_SOURCES): New variable.
46401 (configfile_mod_CFLAGS): Likewise.
46402 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46403 commands/configfile.c.
46404 (pkgdata_MODULES): Added configfile.mod.
46405 (configfile_mod_SOURCES): New variable.
46406 (configfile_mod_CFLAGS): Likewise.
46407 * util/grub-emu.c (main): Call grub_configfile_init and
46408 grub_configfile_fini.
46409 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
46410 prototype.
46411 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 46412
cee01aa6 464132005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
46414
46415 * normal/arg.c (grub_arg_show_help): Do not show the bug report
46416 address.
46417
46418 * commands/help.c (grub_cmd_help): Do not print newlines after
46419 the last command in print_command_help.
46420
93f3a1d8 464212005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
46422
46423 * commands/default.h: New file.
46424 * commands/timeout.h: Likewise.
46425 * normal/context.c: Likewise.
f19dbdb7 46426
93f3a1d8 46427 * util/misc.c: Do not include sys/times.h.
46428 Include sys/time.h and grub/machine/time.h.
46429 (grub_get_rtc): Rewritten with gettimeofday.
46430
46431 * util/grub-emu.c (main): Call grub_default_init and
46432 grub_timeout_init before grub_normal_init, and call
46433 grub_timeout_fini and grub_default_fini after grub_main.
46434
46435 * util/console.c (grub_ncurses_checkkey): Return the read
46436 character or -1.
46437
46438 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
46439 timeouts.
46440
46441 * normal/main.c (read_config_file): Push MENU. If this fails,
46442 print an error and wait for a user input.
46443 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
46444 If a menu is empty or an error occurs, pop MENU.
46445 (grub_normal_execute): Pop and free MENU after grub_menu_run
46446 returns.
46447
46448 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
46449
46450 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
46451 include time.h.
46452 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
46453 without GRUB_UTIL.
46454 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
46455 time.h.
46456 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
46457 without GRUB_UTIL.
46458
46459 * include/grub/normal.h (struct grub_menu_list): New struct.
46460 (grub_menu_list_t): New type.
46461 (struct grub_context): New struct.
46462 (grub_context_t): New type.
46463 (grub_register_command): Got rid of EXPORT_FUNC.
46464 (grub_unregister_command): Likewise.
46465 (grub_context_get): New prototype.
46466 (grub_context_get_current_menu): Likewise.
46467 (grub_context_push_menu): Likewise.
46468 (grub_context_pop_menu): Likewise.
46469 [GRUB_UTIL] (grub_default_init): Likewise.
46470 [GRUB_UTIL] (grub_default_fini): Likewise.
46471 [GRUB_UTIL] (grub_timeout_init): Likewise.
46472 [GRUB_UTIL] (grub_timeout_fini): Likewise.
46473
46474 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
46475 commands/timeout.c and normal/context.c.
46476 (pkgdata_MODULES): Added default.mod and timeout.mod.
46477 (normal_mod_SOURCES): Added normal/context.c.
46478 (default_mod_SOURCES): New variable.
46479 (default_mod_CFLAGS): Likewise.
46480 (timeout_mod_SOURCES): Likewise.
46481 (timeout_mod_CFLAGS): Likewise.
46482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
46483 conf/i386-pc.rmk.
46484 (pkgdata_MODULES): Added default.mod and timeout.mod.
46485 (normal_mod_SOURCES): Added normal/context.c.
46486 (default_mod_SOURCES): New variable.
46487 (default_mod_CFLAGS): Likewise.
46488 (timeout_mod_SOURCES): Likewise.
46489 (timeout_mod_CFLAGS): Likewise.
46490
46491 * Makefile.in (all-local): Added $(MKFILES).
46492
4ed2e1dd 464932005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
46494
46495 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
46496 (grub_emu_SOURCES): Likewise.
46497 (pkgdata_MODULES): Add `sun.mod'.
46498 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
46499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46500 `partmap/sun.c'.
46501 (pkgdata_MODULES): Add `sun.mod'.
46502 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
46503 * include/grub/partition.h (grub_sun_partition_map_init): New
46504 prototype.
46505 (grub_sun_partition_map_fini): Likewise.
46506 * partmap/sun.c: New file.
46507 * util/grub-emu.c (main): Initialize and de-initialize the sun
46508 partitionmap support.
46509
4d4e372e 465102005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
46511
46512 This implements an Emacs-like menu entry editor.
f19dbdb7 46513
4d4e372e 46514 * normal/menu_entry.c: New file.
f19dbdb7 46515
4d4e372e 46516 * util/console.c (grub_ncurses_putchar): Translate some Unicode
46517 characters to ASCII.
46518 (saved_char): New variable.
46519 (grub_ncurses_checkkey): Rewritten completely.
46520 (grub_ncurses_getkey): Likewise.
46521 (grub_ncurses_init): Call raw instead of cbreak.
46522
46523 * normal/menu.c (print_entry): Do not put a space.
46524 (init_page): Renamed to ...
46525 (grub_menu_init_page): ... this. All callers changed.
46526 (edit_menu_entry): Removed.
46527 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
46528
46529 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
46530
46531 * kern/misc.c (grub_vprintf): Call grub_refresh.
46532
46533 * normal/menu.c (DISP_LEFT): Renamed to ...
46534 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
46535 * normal/menu.c (DISP_UP): Renamed to ...
46536 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
46537 * normal/menu.c (DISP_RIGHT): Renamed to ...
46538 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
46539 * normal/menu.c (DISP_DOWN): Renamed to ...
46540 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
46541 * normal/menu.c (DISP_HLINE): Renamed to ...
46542 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
46543 * normal/menu.c (DISP_VLINE): Renamed to ...
46544 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
46545 * normal/menu.c (DISP_UL): Renamed to ...
46546 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
46547 * normal/menu.c (DISP_UR): Renamed to ...
46548 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
46549 * normal/menu.c (DISP_LL): Renamed to ...
46550 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
46551 * normal/menu.c (DISP_LR): Renamed to ...
46552 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
46553 * normal/menu.c (TERM_WIDTH): Renamed to ...
46554 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
46555 * normal/menu.c (TERM_HEIGHT): Renamed to ...
46556 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
46557 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
46558 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
46559 * normal/menu.c (TERM_MARGIN): Renamed to ...
46560 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
46561 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
46562 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
46563 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
46564 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
46565 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
46566 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
46567 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
46568 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
46569 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
46570 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
46571 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
46572 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
46573 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
46574 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
46575 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
46576 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
46577 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
46578 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
46579 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
46580 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
46581 All callers changed.
46582
46583 * include/grub/normal.h: New prototype.
46584
46585 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46586 normal/menu_entry.c.
46587 (normal_mod_SOURCES): Likewise.
46588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46589 (normal_mod_SOURCES): Likewise.
46590
e6b92c8a 465912005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
46592
46593 * include/grub/normal.h (grub_halt_init): New prototype.
46594 (grub_halt_fini): Likewise.
46595 (grub_reboot_init): Likewise.
46596 (grub_reboot_fini): Likewise.
46597
46598 * util/grub-emu.c: Include signal.h.
46599 (main_env): New global variable.
46600 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
46601 catch C-c.
46602 (grub_machine_fini): New function.
46603 (main): Call grub_halt_init and grub_reboot_init before
46604 grub_main, and grub_reboot_fini and grub_halt_fini after it.
46605 Call setjmp with MAIN_ENV to go back afterwards.
46606 Call grub_machine_fini right before return.
46607
46608 * include/grub/util/misc.h: Include setjmp.h.
46609 (main_env): New prototype.
46610
46611 * include/grub/kernel.h (grub_machine_fini): New prototype.
46612 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
46613 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
46614
46615 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
46616 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
46617 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 46618
e6b92c8a 46619 * util/i386/pc/misc.c: New file.
f19dbdb7 46620
e6b92c8a 46621 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46622 util/i386/pc/misc.c, commands/i386/pc/halt.c and
46623 commands/i386/pc/reboot.c.
46624
c642636f 466252005-02-14 Guillem Jover <guillem@hadrons.org>
46626
46627 * include/grub/dl.h (grub_dl_check_header): New prototype.
46628 (grub_arch_dl_check_header): Change return type to grub_err_t,
46629 remove size parameter and export function. Update all callers.
46630 * kern/dl.c (grub_dl_check_header): New function.
46631 (grub_dl_load_core): Use `grub_dl_check_header' instead of
46632 `grub_arch_dl_check_header'. Check ELF type. Check if sections
46633 are inside the core.
46634 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
46635 independent ELF header checks.
46636 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
46637 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
46638 `grub_dl_check_header' instead of explicit checks. Check for the
46639 ELF type.
46640 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
46641 `grub_dl_check_header' instead of explicit checks. Remove arch
46642 specific ELF header checks.
46643
e6b92c8a 46644 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
46645 argument SIZE.
46646
5eabe94b 466472005-02-13 Hollis Blanchard <hollis@penguinppc.org>
46648
46649 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
46650 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
46651
1b14a681 466522005-02-12 Hollis Blanchard <hollis@penguinppc.org>
46653
46654 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 46655 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 46656 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 46657 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 46658 * partmap/amiga.c (amiga_partition_map_iterate): Return
46659 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
46660 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46661
aca108aa 466622005-02-01 Guillem Jover <guillem@hadrons.org>
46663
46664 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
46665 help info.
46666
c9f9c556 466672005-01-31 Marco Gerards <metgerards@student.han.nl>
46668
46669 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
46670 Removed prototype.
46671 (grub_rescue_cmd_linux): New prototype.
46672 (grub_rescue_cmd_initrd): Likewise.
46673 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
46674 `bi_rec'.
46675 (grub_linux_release_mem): Release the memory for the initrd.
46676 (grub_load_linux): Renamed from this...
46677 (grub_rescue_cmd_linux): ...To this. Changed all callers.
46678 Changed `entry' not to be static. Loop over memory regions to
46679 find another one when the default fails.
46680 (grub_rescue_cmd_initrd): New function.
46681 (grub_linux_init): Remove function.
46682 (grub_linux_fini): Likewise.
46683 (GRUB_MOD_INIT): Register `initrd'.
46684 (GRUB_MOD_FINI): Unregister `initrd'.
46685 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
46686 Function removed.
46687 (grub_linux_normal_fini): Likewise.
46688 (GRUB_MOD_INIT): Register `initrd'.
46689 (GRUB_MOD_FINI): Unregister `initrd'.
46690
990cf3aa 466912005-01-31 Marco Gerards <metgerards@student.han.nl>
46692
46693 * commands/help.c: New file.
46694 * normal/arg.c (show_help): Renamed to...
46695 (grub_arg_show_help): ... this.
46696 * commands/i386/pc/halt.c: New file.
46697 * commands/i386/pc/reboot.c: Likewise.
46698 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
46699 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
46700 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
46701 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
46702 variables.
46703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46704 `commands/help.c'.
46705 (pkgdata_MODULES): Add `help.mod'.
46706 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
46707 * grub/i386/pc/init.h (grub_reboot): New prototype.
46708 (grub_halt): Likewise.
46709 * include/grub/normal.h (grub_arg_show_help): New prototype.
46710 (grub_help_init): Likewise.
46711 (grub_help_fini): Likewise.
46712 * util/grub-emu.c (main): Initialize and deinitialize the help
46713 command.
46714
46715 * normal/cmdline.c (grub_cmdline_get): Doc fix.
46716
46717 * normal/command.c (grub_command_init): Fixed the description of
46718 the `set' and `unset' commands.
46719
467202005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 46721
46722 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
46723 function.
46724 * commands/ieee1275/halt.c: New file.
46725 * commands/ieee1275/reboot.c: Likewise.
46726 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
46727 `__attribute__ ((unused))'. Some GCS related fixed.
46728 (grub_suspend_init) [GRUB_UTIL]: Function removed.
46729 (grub_suspend_fini): Likewise.
46730 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
46731 and `halt.mod'.
46732 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
46733 (halt_mod_CFLAGS): New variables.
46734 * include/grub/powerpc/ieee1275/ieee1275.h
46735 (grub_ieee1275_interpret): New prototype.
46736
1ab09cc7 467372005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
46738
46739 * include/grub/misc.h (memmove): New prototype.
46740 (memcpy): Likewise.
46741
8b8cbdb2 467422005-01-22 Hollis Blanchard <hollis@penguinppc.org>
46743
46744 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
46745 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
46746
e3741a27 467472005-01-22 Marco Gerards <metgerards@student.han.nl>
46748
46749 * kern/misc.c (grub_strndup): Function rewritten.
46750
776bd780 467512005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
46752
46753 * normal/menu.c (TERM_WIDTH): Macro redefined.
46754 (TERM_TOP_BORDER_Y): Likewise.
46755 (draw_border): Replaced while-loop by a for-loop. Make the number
46756 of lines consistent with the number of lines displayed in
46757 print_entries. Added a margin below the rectangle.
46758 (print_entry): Make the entry fit in the rectangle.
46759 (print_entries): Display the scroll arrows next to the right
46760 border.
46761
78026bce 467622005-01-21 Marco Gerards <metgerards@student.han.nl>
46763
46764 * fs/minix.c (grub_minix_find_file): Reserve more space for
46765 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
46766 `grub_strncpy' to copy `path' into it.
46767
67bbaf0f 467682005-01-21 Marco Gerards <metgerards@student.han.nl>
46769
46770 Add the loopback device, a device via which files can be accessed
46771 as devices.
f19dbdb7 46772
67bbaf0f 46773 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
46774 (pkgdata_MODULES): Add loopback.mod.
46775 (loopback_mod_SOURCES): New variable.
46776 (loopback_mod_CFLAGS): Likewise.
46777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46778 `disk/loopback.c'.
46779 (pkgdata_MODULES): Add loopback.mod.
46780 (loopback_mod_SOURCES): New variable.
46781 (loopback_mod_CFLAGS): Likewise.
46782 * disk/loopback.c: new file.
46783 * include/grub/normal.h (grub_loop_init): New prototype.
46784 (grub_loop_fini): New prototype.
46785 * util/grub-emu.c (main): Initialize and de-initialize loopback
46786 support.
46787 * include/grub/disk.h (grub_disk_dev_id): Add
46788 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
46789
6f1c18bd 467902005-01-20 Hollis Blanchard <hollis@penguinppc.org>
46791
46792 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
46793 function.
46794 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
46795 (suspend_mod_SOURCES): New variable.
46796 (suspend_mod_CFLAGS): Likewise.
46797 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
46798 New prototype.
46799 * commands/ieee1275/suspend.c: New file.
46800
b38551da 468012005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46802
46803 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 46804 ((unused))' to `__attribute__ ((used))'.
b38551da 46805 (GRUB_MOD_FINI): Likewise.
46806 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
46807 * genmk.rb (PModule): Assign space to common symbols when linking
46808 modules.
46809
777aff39 468102005-01-20 Marco Gerards <metgerards@student.han.nl>
46811
46812 * include/grub/mm.h (grub_mm_init_region): Change the type of the
46813 `unsigned' arguments to `grub_size_t'.
46814 (grub_malloc): Likewise.
46815 (grub_realloc): Likewise.
46816 (grub_memalign): Likewise.
46817 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
46818 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
46819 * util/misc.c (grub_malloc): Likewise.
46820 (grub_realloc): Likewise.
46821 * kern/mm.c (get_header_from_pointer): Change the casts to
46822 `unsigned' into a cast to `grub_size_t'.
46823
46824 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
46825 point to `currnode' when `currnode' is changed.
46826
46827 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
46828 Schottelius <nico-linux@schottelius.org>.
46829
d0ff18e1 468302005-01-09 Hollis Blanchard <hollis@penguinppc.org>
46831
46832 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
46833 (note_path): Remove variable.
46834 (GRUB_IEEE1275_NOTE_NAME): New macro.
46835 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
46836 (grub_ieee1275_note_hdr): New structure.
46837 (grub_ieee1275_note_desc): Likewise.
46838 (grub_ieee1275_note): Likewise.
46839 (load_note): Remove `dir' argument. All callers updated. Remove
46840 `note_img' and `path'. Do not load a file from `note_path'.
46841 Initialize a struct grub_ieee1275_note and write that to `out'.
46842 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
46843
4ca7004c 468442005-01-05 Marco Gerards <metgerards@student.han.nl>
46845
46846 * util/misc.c (grub_util_read_image): Revert last change. It
46847 called `grub_util_read_at', which seeks from the beginning of the
46848 file.
46849
0b412211 468502005-01-04 Hollis Blanchard <hollis@penguinppc.org>
46851
46852 * TODO: Add note about endianness in grub-mkimage.
46853 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
46854 section.
46855 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
46856 (grub_mkimage_SOURCES): New target.
46857 * include/grub/kernel.h (grub_start_addr): Remove variable.
46858 (grub_end_addr): Likewise.
46859 (grub_total_module_size): Likewise.
46860 (grub_kernel_image_size): Likewise.
46861 (GRUB_MODULE_MAGIC): New constant.
46862 (grub_module_info): New structure.
46863 (grub_arch_modules_addr): New prototype.
46864 (grub_get_end_addr): Remove prototype.
46865 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
46866 * include/grub/powerpc/ieee1275/kernel.h: New file.
46867 * include/grub/util/misc.h (grub_util_get_fp_size): New
46868 prototype.
46869 (grub_util_read_at): Likewise.
46870 (grub_util_write_image_at): Likewise.
46871 * kern/main.c (grub_get_end_addr): Remove function.
46872 (grub_load_modules): Call grub_arch_modules_addr instead of using
46873 grub_end_addr. Look for a grub_module_info struct in memory. Use
46874 the grub_module_info fields instead of calling grub_get_end_addr
46875 as loop conditions. Move grub_add_unused_region code here.
46876 (grub_add_unused_region): Remove function.
46877 * kern/i386/pc/init.c: Include grub/cache.h.
46878 (grub_machine_init): Remove call to grub_get_end_addr. Remove
46879 one call to add_mem_region.
46880 (grub_arch_modules_addr): New function.
46881 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
46882 (grub_total_module_size): Likewise.
46883 Include grub/machine/kernel.h.
46884 (grub_arch_modules_addr): New function.
46885 * util/grub-emu.c (grub_end_addr): Remove variable.
46886 (grub_total_module_size): Likewise.
46887 (grub_arch_modules_addr): New function.
46888 * util/misc.c: Include unistd.h.
46889 (grub_util_get_fp_size): New function.
46890 (grub_util_read_at): Likewise.
46891 (grub_util_write_image_at): Likewise.
46892 (grub_util_read_image): Call grub_util_read_at.
46893 (grub_util_write_image): Call grub_util_write_image_at.
46894 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
46895 additional memory in kernel_img for a struct grub_module_info.
46896 Fill in that grub_module_info.
46897 * util/powerpc/ieee1275/grub-mkimage.c: New file.
46898
458786f8 468992005-01-03 Hollis Blanchard <hollis@penguinppc.org>
46900
46901 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
46902 New function.
46903 * include/grub/powerpc/ieee1275/ieee1275.h
46904 (grub_ieee1275_milliseconds): New prototype.
46905 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
46906 Change to 1000.
46907 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
46908 grub_ieee1275_milliseconds.
46909
ac507d1b 469102005-01-03 Hollis Blanchard <hollis@penguinppc.org>
46911
46912 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
46913 variable.
46914 (find_options): New function.
46915 (cmain): Call find_options.
46916 * include/grub/powerpc/ieee1275/ieee1275.h
46917 (grub_ieee1275_realmode): New extern variable.
46918 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
46919 grub_map if grub_ieee1275_realmode is false.
46920
6b8fd1c4 469212004-12-29 Marco Gerards <metgerards@student.han.nl>
46922
46923 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
46924 lines are inserted and make it work like readline. Reported by
46925 Vincent Pelletier <subdino2004@yahoo.fr>.
46926
8514a1e0 469272004-12-28 Marco Gerards <metgerards@student.han.nl>
46928
46929 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
46930
46931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
46932 `kern/powerpc/cache.S'.
46933
924b6140 469342004-12-27 Marco Gerards <metgerards@student.han.nl>
46935
46936 * genmk.rb: Handle the `Program' class in the main loop. Written
46937 by Johan Rydberg <jrydberg@gnu.org>.
46938 (Program): New class.
46939 (programs): New variable.
46940 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
46941 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
46942 instead of "grub/kernel.h". Include <grub/machine/init.h>.
46943 (help_arch): Function removed.
46944 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
46945 `powerpc/libgcc.h' and `loader.h'.
46946 (pkgdata_PROGRAMS): New variable.
46947 (sbin_UTILITIES): Variable removed.
46948 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
46949 (grubof_SOURCES): Variable re-defined so it only includes the
46950 core functionality.
46951 (grubof_CFLAGS): Remove `-DGRUBOF'.
46952 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
46953 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
46954 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
46955 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
46956 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
46957 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
46958 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
46959 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
46960 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
46961 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
46962 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46963 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
46964 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
46965 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
46966 (pc_mod_CFLAGS): New variables.
46967 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
46968 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
46969 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
46970 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
46971 Moved from here...
46972 * include/grub/i386/pc/init.h (grub_os_area_addr)
46973 (rub_os_area_size): ... to here.
46974 * include/grub/powerpc/ieee1275/ieee1275.h
46975 (grub_ieee1275_entry_fn): Export symbol.
46976 * include/grub/powerpc/ieee1275/init.h: New file.
46977 * include/grub/powerpc/libgcc.h: Likewise.
46978 * include/grub/cache.h: Likewise.
46979 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
46980 <hollis@penguinppc.org>.
46981 * kern/dl.c: Include <grub/cache.h>.
46982 (grub_dl_flush_cache): New function.
46983 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
46984 for this module.
46985 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
46986 (grub_console_init): Removed prototypes.
46987 (grub_machine_init): Don't initialize the modules anymore.
46988 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
46989 static.
46990 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
46991 Macro undef removed.
46992 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
46993 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
46994 relocation `R_PPC_REL32'. Return an error when the relocation is
46995 unknown.
46996 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
46997 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
46998 * util/misc.c (grub_arch_sync_caches): Likewise.
46999
e4b47e0c 470002004-12-19 Marco Gerards <metgerards@student.han.nl>
47001
47002 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
47003 `symlist.c', add `grubof_symlist.c'.
47004 (symlist.c): Variable removed.
47005 (grubof_HEADERS): Variable added.
47006 (grubof_symlist.c): New target.
47007 (kernel_syms.lst): Use `grubof_HEADERS' instead of
47008 `kernel_img_HEADERS'.
47009 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
47010 * kern/powerpc/dl.c: New file.
47011 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
47012 Function removed.
47013 (grub_arch_dl_relocate_symbols): Likewise.
47014 (grub_register_exported_symbols): Likewise.
47015
4ceb3636 470162004-12-13 Marco Gerards <metgerards@student.han.nl>
47017
47018 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
47019 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
47020 to fail instead. Reported by Vincent Pelletier
47021 <subdino2004@yahoo.fr>.
47022
47023 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
47024 it is not allocated. Reported by Vincent Pelletier
47025 <subdino2004@yahoo.fr>.
47026
47027 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
47028 output so the output looks better.
f19dbdb7 47029
3f1578fe 470302004-12-04 Marco Gerards <metgerards@student.han.nl>
47031
47032 Modulize the partition map support and add support for the amiga
47033 partition map.
f19dbdb7 47034
3f1578fe 47035 * commands/ls.c: Include <grub/partition.h> instead of
47036 <grub/machine/partition.h>.
47037 * kern/disk.c: Likewise.
47038 * kern/rescue.c: Likewise.
47039 * loader/i386/pc/chainloader.c: Likewise.
47040 * normal/cmdline.c: Likewise.
47041 * kern/powerpc/ieee1275/init.c: Likewise.
47042 (grub_machine_init): Call `grub_pc_partition_map_init',
47043 `grub_amiga_partition_map_init' and
47044 `grub_apple_partition_map_init'.
47045 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
47046 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
47047 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
47048 `partition.h' and `pc_partition.h'.
47049 (grub_setup_SOURCES): Remove
47050 `disk/i386/pc/partition.c'. Add `kern/partition.c',
47051 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
47052 (grub_emu_SOURCES): Likewise.
47053 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
47054 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
47055 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
47056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
47057 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
47058 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
47059 (grubof_SOURCES): Likewise.
47060 * disk/i386/pc/partition.c: File removed.
47061 * disk/powerpc/ieee1275/partition.c: Likewise.
47062 * include/grub/powerpc/ieee1275/partition.h: Likewise.
47063 * include/grub/i386/pc/partition.h: Likewise.
47064 * kern/partition.c: New file.
47065 * partmap/amiga.c: Likewise.
47066 * partmap/apple.c: Likewise.
47067 * partmap/pc.c: Likewise.
47068 * include/grub/partition.h: Likewise..
47069 * include/grub/pc_partition.h: Likewise.
47070 * util/grub-emu.c: Include <grub/partition.h> instead of
47071 <grub/machine/partition.h>.
47072 (main): Call `grub_pc_partition_map_init',
47073 `grub_amiga_partition_map_init' and
47074 `grub_apple_partition_map_init' and deinitialize afterwards.
47075 * util/i386/pc/biosdisk.c: Include `#include
47076 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
47077 `<grub/machine/partition.h>'.
47078 * util/i386/pc/grub-setup.c: Likewise.
47079 * util/i386/pc/biosdisk.c: Likewise.
47080 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
47081 partition information in case of a PC partition.
47082 * util/i386/pc/grub-setup.c: Include `#include
47083 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
47084 `<grub/machine/partition.h>'.
47085 (setup): Only access the PC specific partition information in case
47086 of a PC partition.
47087
0ef4ced9 470882004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47089
0ef4ced9 47090 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
47091 (grub_longjmp): Likewise.
47092 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
47093 20.
47094 * normal/powerpc/setjmp.S: New file.
47095 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
47096 `normal/powerpc/setjmp.S'.
47097 (grubof_CFLAGS): Add `-DGRUBOF'.
47098 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
47099 [GRUB_UTIL && !GRUBOF].
f19dbdb7 47100
19950e29 471012004-11-16 Marco Gerards <metgerards@student.han.nl>
47102
47103 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
47104 property named `name'. Correctly handle the error returned by
47105 `grub_ieee1275_finddevice' if a device can not be opened.
47106
a2fea427 471072004-11-02 Hollis Blanchard <hollis@penguinppc.org>
47108
47109 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
47110 `actual' for negativity.
47111 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
47112 kern/fshelp.c.
47113
41ea0ea3 471142004-11-01 Marco Gerards <metgerards@student.han.nl>
47115
47116 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
47117 (PAGE_OFFSET): New macro.
47118 (CRTC_ADDR_PORT): Likewise.
47119 (CRTC_DATA_PORT): Likewise.
47120 (START_ADDR_HIGH_REGISTER): Likewise.
47121 (START_ADDR_LOW_REGISTER): Likewise.
47122 (GRAPHICS_ADDR_PORT): Likewise.
47123 (GRAPHICS_DATA_PORT): Likewise.
47124 (READ_MAP_REGISTER): Likewise.
47125 (INPUT_STATUS1_REGISTER): Likewise.
47126 (INPUT_STATUS1_VERTR_BIT): Likewise.
47127 (page): New variable.
47128 (wait_vretrace): New function.
47129 (set_read_map): Likewise.
47130 (set_start_address): Likewise.
47131 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
47132 the right page.
47133 (check_vga_mem): Take the page into account.
47134 (write_char): Likewise.
47135 (write_cursor): Likewise.
47136 (scroll_up): Likewise. Copy the page to the page that is not
47137 shown and switch between both pages.
47138 (grub_vga_putchar): Fix off by one error.
47139 (grub_vga_cls): Wait for the vertical retrace. Take the page into
47140 account.
47141
ad0bd20b 471422004-11-01 Marco Gerards <metgerards@student.han.nl>
47143
47144 Add support for iso9660 (including rockridge).
f19dbdb7 47145
ad0bd20b 47146 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47147 (iso9660_mod_SOURCES): New variable.
47148 (iso9660_mod_CFLAGS): Likewise.
47149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47150 * include/grub/fs.h (grub_iso9660_init): New prototype.
47151 * util/grub-emu.c (main): Call `grub_iso9660_init'.
47152 * fs/iso9660.c: New file.
47153
47154 * include/grub/misc.h (grub_strncat): New prototype.
47155 * kern/misc.c (grub_strncat): New function.
f19dbdb7 47156
ad0bd20b 47157 * fs/hfs.c (grub_hfs_mount): Translate the error
47158 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
47159 * fs/jfs.c (grub_jfs_mount): Likewise.
47160 * fs/ufs.c (grub_ufs_mount): Likewise.
47161
a5477a59 471622004-10-28 Hollis Blanchard <hollis@penguinppc.org>
47163
47164 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
47165 which initialized BAT registers.
47166 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
47167 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
47168 Move from here...
47169 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
47170 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
47171 ... to here.
47172 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
47173 (grub_mapclaim): Likewise.
47174 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
47175 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
47176 hand.
47177
9304c1f8 471782004-10-19 Hollis Blanchard <hollis@penguinppc.org>
47179
47180 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
47181 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
47182 -ffreestanding and -msoft-float.
47183
86f4ae25 471842004-10-15 Hollis Blanchard <hollis@penguinppc.org>
47185
47186 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
47187 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
47188 set in grub_ieee1275_flags.
47189
38912228 471902004-10-14 Hollis Blanchard <hollis@penguinppc.org>
47191
47192 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
47193 prototype.
47194 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
47195 grub_console_init first.
47196 Change the memory range used for grub_ieee1275_claim and
47197 grub_mm_init_region.
47198 Print an error message if the claim fails.
47199 Include <grub/misc.h>.
47200
d1923dc8 472012004-10-13 Hollis Blanchard <hollis@penguinppc.org>
47202
47203 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
47204 Call grub_children_iterate for device nodes of type `scsi',
47205 `ide', or `ata'.
47206 (grub_ofdisk_open): Remove manual device alias resolution.
47207 Fix memory leak when device cannot be opened.
f19dbdb7 47208 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 47209 (grub_children_iterate): New prototype.
47210 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
47211 New function.
47212 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47213 Return -1 if args.size was -1.
47214
4512e4f3 472152004-10-11 Hollis Blanchard <hollis@penguinppc.org>
47216
47217 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
47218 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
47219 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
47220 Open Firmware's memory for it; claim memory from _start to _end.
47221 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
47222 (_end): New extern.
47223 (_start): Zero BSS from __bss_start to _end.
47224 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47225 New extern.
47226 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
47227
4d61feb0 472282004-10-11 Hollis Blanchard <hollis@penguinppc.org>
47229
ad0bd20b 47230 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
47231 -1 if args.base was -1.
4d61feb0 47232
026fa2f9 472332004-10-08 Hollis Blanchard <hollis@penguinppc.org>
47234
47235 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
47236 escape sequence instead of a literal ^L. Also call
47237 grub_ofconsole_gotoxy.
47238
9f2220ef 472392004-10-03 Hollis Blanchard <hollis@penguinppc.org>
47240
47241 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
47242 void * arguments to grub_addr_t. All callers updated. Also make
47243 the `result' argument optional.
47244 (grub_ieee1275_release): change void * arguments to grub_addr_t.
47245 All callers updated.
47246
8a572cd7 472472004-09-22 Hollis Blanchard <hollis@penguinppc.org>
47248
47249 * commands/ls.c (grub_ls_list_files): Use the string following the
47250 initial ')', if present, as the filesystem path.
47251 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
47252
47253 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
47254
18aa81f2 472552004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
47256
47257 Make the source code of the menu interface more readable.
f19dbdb7 47258
18aa81f2 47259 * normal/menu.c: Include grub/mm.h.
47260 (TERM_WIDTH): New macro.
47261 (TERM_HEIGHT): Likewise.
47262 (TERM_INFO_HEIGHT): Likewise.
47263 (TERM_MARGIN): Likewise.
47264 (TERM_SCROLL_WIDTH): Likewise.
47265 (TERM_TOP_BORDER_Y): Likewise.
47266 (TERM_LEFT_BORDER_X): Likewise.
47267 (TERM_BORDER_WIDTH): Likewise.
47268 (TERM_MESSAGE_HEIGHT): Likewise.
47269 (TERM_BORDER_HEIGHT): Likewise.
47270 (TERM_NUM_ENTRIES): Likewise.
47271 (TERM_FIRST_ENTRY_Y): Likewise.
47272 (TERM_ENTRY_WIDTH): Likewise.
47273 (TERM_CURSOR_X): Likewise.
47274 (draw_border): Use macros instead of magic numbers.
47275 (print_entry): Likewise.
47276 (print_entries): Likewise.
47277 (run_menu): Likewise. Also, handle the key 'e'.
47278 (run_menu_entry): Ignore empty command lines.
47279 (print_message): Added a new argument EDIT. If EDIT is true,
47280 print a different message.
47281 (init_page): Likewise.
47282 (edit_menu_entry): New function. Not implemented yet.
47283
b47efe30 472842004-09-17 Marco Gerards <metgerards@student.han.nl>
47285
47286 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
47287 can be loaded from normal mode.
f19dbdb7 47288
b47efe30 47289 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
47290 `multiboot.mod'.
47291 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
47292 (multiboot_mod_CFLAGS): New variables.
47293 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 47294 * loader/i386/pc/multiboot_normal.c: Likewise.
47295
b47efe30 47296 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
47297 attribute `unused'.
f19dbdb7 47298
b47efe30 47299 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
47300 `fdiro' to read the mode information from instead of `diro'.
47301
47302 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
47303 looking up a symlink.
47304
47305 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
47306 macro.
47307 * normal/command.c (grub_command_execute): Don't parse the
47308 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
47309 flags of the command.
47310
47311 * normal/menu.c (grub_menu_run): Fix typo.
47312
da75ac71 473132004-09-14 Hollis Blanchard <hollis@penguinppc.org>
47314
47315 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
47316
47317 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
47318 `y + 1' instead of `y - 1'.
47319
47320 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 47321
062b24c2 473222004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
47323
47324 From Hollis Blanchard <hollis@penguinppc.org>:
47325 * kern/misc.c (memmove): New alias for grub_memmove.
47326 (memcmp): New alias for grub_memcmp.
47327 (memset): New alias for grub_memset.
f19dbdb7 47328 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 47329 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 47330 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 47331 (grub_ieee1275_get_property): Likewise.
f19dbdb7 47332
8ddad845 473332004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
47334
47335 Added normal mode command `chainloader' as module chain.mod, which
47336 depends on normal.mod and _chain.mod.
f19dbdb7 47337
8ddad845 47338 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
47339 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
47340 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
47341 Deleted prototype.
47342 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
47343 but arguments parsing moved to ...
47344 (grub_chainloader_cmd): ... here. New function.
47345 * include/grub/i386/pc/chainloader.h: New file.
47346 * loader/i386/pc/chainloader_normal.c: Likewise.
47347
2c1f4ce3 473482004-09-11 Marco Gerards <metgerards@student.han.nl>
47349
47350 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
47351 (grub_mkimage_LDFLAGS): Likewise.
47352 (grub_emu_SOURCES): Likewise.
47353 (kernel_img_HEADERS): Added fshelp.h.
47354 * fs/ext2.c: Include <grub/fshelp.h>.
47355 (FILETYPE_REG): New macro.
47356 (FILETYPE_INO_REG): Likewise.
47357 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
47358 Changed all users.
47359 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
47360 all users.
47361 (grub_fshelp_node): New struct.
47362 (grub_ext2_data): Added member `diropen'. Changed member `inode'
47363 to a pointer.
47364 (grub_ext2_get_file_block): Removed function.
47365 (grub_ext2_read_block): New function.
47366 (grub_ext2_read_file): Replaced parameter `data' by `node'.
47367 This function was written.
47368 (grub_ext2_mount): Read the root inode. Create a diropen struct.
47369 (grub_ext2_find_file): Removed function.
47370 (grub_ext2_read_symlink): New function.
47371 (grub_ext2_iterate_dir): Likewise.
47372 (grub_ext2_open): Rewritten.
47373 (grub_ext2_dir): Rewritten.
47374 * include/grub/fshelp.h: New file.
47375 * fs/fshelp.c: Likewise.
47376
3c52136a 473772004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
47378
47379 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
47380 (print_message): Add a missing newline.
47381 (run_menu): Added timeout support.
47382 (run_menu_entry): New local function.
47383 (grub_menu_run): Added support for booting.
47384
47385 * kern/loader.c (grub_loader_is_loaded): New function.
47386
47387 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
47388 (grub_get_rtc): Exported.
47389
47390 * include/grub/i386/pc/time.h: Include grub/symbol.h.
47391 (grub_get_rtc): Exported.
47392
47393 * include/grub/normal.h (struct grub_command_list): Remove
47394 constant from the member `command'.
47395
47396 * include/grub/loader.h (grub_loader_is_loaded): Declared.
47397
47398 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
47399
47400 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
47401
aa033560 474022004-08-28 Marco Gerards <metgerards@student.han.nl>
47403
47404 Add support for the JFS filesystem.
47405
47406 * fs/jfs.c: New file.
47407 * include/grub/fs.h (grub_jfs_init): New prototype.
47408 (grub_jfs_fini): New prototype.
47409 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
47410 (grub_emu_SOURCES): Likewise.
47411 (pkgdata_MODULES): Add jfs.mod.
47412 (jfs_mod_SOURCES): New variable.
47413 (jfs_mod_CFLAGS): Likewise.
47414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
47415 (grubof_SOURCES): Likewise.
47416 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
47417
47418 * fs/fat.c (grub_fat_find_dir): Convert the filename little
47419 endian to the host endian.
47420 (grub_fat_utf16_to_utf8): Move function from there...
47421 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 47422 the endianness of the source string anymore.
aa033560 47423 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
47424
94bc45af 474252004-08-24 Marco Gerards <metgerards@student.han.nl>
47426
47427 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
47428 (grub_boot_fini) [GRUB_UTIL]: Likewise.
47429 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
47430 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 47431
94bc45af 47432 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
47433 (grub_hfs_iterate_dir): Make the function static. Add prototypes
47434 for `node_found' and `it_dir'.
47435 (grub_hfs_dir): Add prototype for `dir_hook'.
47436
47437 * fs/minix.c (grub_minix_get_file_block): Add prototype for
47438 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
47439 and `indir32' to silence a gcc warning.
47440
47441 * include/grub/fs.h (grub_hfs_init): New prototype.
47442 (grub_hfs_fini): Likewise.
f19dbdb7 47443
47444
97543f08 474452004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47446
47447 Each disk device has its own id now. This is useful to make use
47448 of multiple disk devices.
f19dbdb7 47449
97543f08 47450 * include/grub/disk.h (grub_disk_dev_id): New enum.
47451 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
47452 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
47453
47454 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
47455 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
47456
47457 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
47458 GRUB_DISK_DEVICE_OFDISK_ID as an id.
47459
47460 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
47461 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
47462
47463 * include/grub/disk.h (struct grub_disk_dev): Added a new member
47464 "id" which is used by the cache manager.
47465
47466 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
47467 of just "GRUB".
47468
64372eb4 474692004-08-18 Marco Gerards <metgerards@student.han.nl>
47470
47471 * fs/hfs.c: New file.
47472 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
47473 (grub_emu_SOURCES): Likewise.
47474 (pkgdata_MODULES): Add hfs.mod.
47475 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
47476 (grubof_SOURCES): Likewise.
47477 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
47478
47479 * include/grub/misc.h (grub_strncasecmp): Add prototype.
47480 * kern/misc.c (grub_strncasecmp): Add function.
47481
cc61b58f 474822004-08-14 Marco Gerards <metgerards@student.han.nl>
47483
47484 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
47485 with parentheses.
47486
47487 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
47488 (grub_ext2_dir): In case the directory entry type is unknown, read
47489 it from the inode.
47490
0ef123f6 474912004-08-02 Peter Bruin <pjbruin@dds.nl>
47492
47493 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
47494 grub_load_linux instead of grub_rescue_cmd_linux as second
47495 argument of grub_rescue_register_command.
47496
47497 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
47498
a447c5df 474992004-07-27 Marco Gerards <metgerards@student.han.nl>
47500
47501 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
47502 function.
47503 * commands/boot.c: Remove the check for `GRUB_UTIL'.
47504 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
47505 `loader/powerpc/ieee1275/linux.c',
47506 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
47507 * include/grub/powerpc/ieee1275/ieee1275.h
47508 (grub_ieee1275_release): New prototype.
47509 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
47510 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
47511 normal, boot, linux and linux_normal.
47512 * loader/powerpc/ieee1275/linux.c: New file.
47513 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47514
5a9e3546 475152004-07-12 Marco Gerards <metgerards@student.han.nl>
47516
47517 * normal/arg.c (grub_arg_parse): Correct error handling after
47518 reallocating the argumentlist (check if `argl' is not null instead
47519 of checking if `args' is not null).
47520 * kern/mm.c (grub_realloc): Return the same pointer when using the
47521 same region, instead of returning the header address.
47522
e15199cb 475232004-07-11 Marco Gerards <metgerards@student.han.nl>
47524
47525 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
47526 one block instead of two when looking for the initial partition.
47527 (grub_partition_probe): Initialize the local variable `p' with 0.
47528 Use base 10 for the grub_strtoul call.
47529 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
47530 need for one local variable.
47531 (grub_strtoul): Don't add the new value to `num', instead of that
47532 just assign it.
47533
020616c2 475342004-07-11 Marco Gerards <metgerards@student.han.nl>
47535
47536 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
47537 (pxeboot_img_SOURCES): New variable.
47538 (pxeboot_img_ASFLAGS): Likewise.
47539 (pxeboot_img_LDFLAGS): Likewise.
47540 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
47541 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
47542 <lode_leroy@hotmail.com>.
47543
6c51eb64 475442004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47545
47546 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
47547 there was no input.
47548
cfb12aff 475492004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47550
47551 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
47552 the history buffer logic.
47553
6eabba74 475542004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47555
47556 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
47557 (FILETYPE_INO_SYMLINK): New macros.
47558 (grub_ext2_find_file): Check if the node is a directory using the
47559 inode stat information instead of using the filetype in the
47560 dirent. Exclude the first character of an absolute symlink.
47561 (grub_ext2_dir): Mask out the filetype part of the mode member of
47562 the inode.
47563
66e19ef8 475642004-05-24 Marco Gerards <metgerards@student.han.nl>
47565
47566 Add support for UFS version 1 and 2. Add support for the minix
47567 filesystem version 1 and 2, both the variants with 14 and 30 long
47568 filenames.
f19dbdb7 47569
66e19ef8 47570 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
47571 fs/minix.c.
47572 (grub_emu_SOURCES): Likewise.
47573 (pkgdata_MODULES): Add ufs.mod and minix.mod.
47574 (ufs_mod_SOURCES): New variable.
47575 (ufs_mod_CFLAGS): Likewise.
47576 (minix_mod_SOURCES): Likewise.
47577 (minix_mod_CFLAGS): Likewise.
47578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
47579 fs/minix.c.
47580 (grubof_SOURCES): Likewise.
47581 * fs/ufs.c: New file.
47582 * fs/minix.c: New file.
47583 * include/grub/fs.h (grub_ufs_init): New prototype.
47584 (grub_ufs_fini): Likewise.
47585 (grub_minix_init): Likewise.
47586 (grub_minix_fini): Likewise.
47587 * util/grub-emu.c (main): Initialize and deinitialize UFS and
47588 minix fs.
47589
cc2e748a 475902004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
47591
47592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
47593 commands/ls.c, commands/terminal.c, commands/boot.c,
47594 commands/cmp.c and commands/cat.c.
47595 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
47596
47597 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
47598 "env.h"
47599
4b13b216 476002004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47601
47602 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
47603 and grub_, respectively. Because the conversion is trivial and
47604 mechanical, I omit the details here. Please refer to the CVS
47605 if you need more information.
47606
6a142551 476072004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47608
47609 * include/pupa: Renamed to ...
47610 * include/grub: ... this.
47611 * util/i386/pc/pupa-mkimage.c: Renamed to ...
47612 * util/i386/pc/grub-mkimage.c: ... this.
47613 * util/i386/pc/pupa-setup.c: Renamed to ...
47614 * util/i386/pc/grub-setup.c: ... this.
47615 * util/pupa-emu.c: Renamed to ...
47616 * util/grub-emu.c: ... this.
47617
e56cdf21 476182004-03-29 Marco Gerards <metgerards@student.han.nl>
47619
47620 Add support for the newworld apple macintosh (PPC). This has been
47621 tested on the powerbook 2000 only. It only adds support for
47622 generic ieee1275 functions, console and disk support. This should
47623 be easy to port to other architectures with support for Open
47624 Firmware.
f19dbdb7 47625
e56cdf21 47626 * configure.ac: Accept the powerpc as host_cpu. In the case of
47627 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
47628 specific tests are only executed while building for the i386.
47629 Inverse test for crosscompile.
47630 * genmk.rb (Utility): Allow assembler files.
47631 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
47632 * conf/powerpc-ieee1275.rmk: New file.
47633 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
47634 * disk/powerpc/ieee1275/partition.c: Likewise.
47635 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
47636 * include/pupa/powerpc/ieee1275/console.h: Likewise.
47637 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
47638 * include/pupa/powerpc/ieee1275/time.h: Likewise.
47639 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
47640 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
47641 * include/pupa/powerpc/ieee1275/loader.h
47642 * include/pupa/powerpc/setjmp.h: Likewise.
47643 * include/pupa/powerpc/types.h: Likewise.
47644 * kern/powerpc/ieee1275/init.c: Likewise.
47645 * kern/powerpc/ieee1275/openfw.c: Likewise.
47646 * term/powerpc/ieee1275/ofconsole.c: Likewise.
47647
47648 These files were written by Johan Rydberg
47649 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 47650
e56cdf21 47651 * boot/powerpc/ieee1275/cmain.c: New file.
47652 * boot/powerpc/ieee1275/crt0.S: Likewise.
47653 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
47654 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
47655
8c8cc205 476562004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
47657
47658 * Makefile.in: Update copyright.
47659 * genmodsrc.sh: Likewise.
47660 * gensymlist.sh: Likewise.
47661 * term/i386/pc/vga.c: Indent correctly.
47662
47663 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
47664 bugreporting address.
47665 * util/i386/pc/pupa-setup.c (usage): Likewise,
47666 (main): Call pupa_ext2_init and pupa_ext2_fini.
47667
f19dbdb7 47668 * fs/fat.c (log2): Renamed to ...
8c8cc205 47669 (fat_log2): ... this.
47670 All callers changed.
47671 * kern/misc.c (memcpy): Alias to pupa_memmove.
47672 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
47673 lvalue cast.
47674 * util/console.c (pupa_ncurses_fini): Return 0.
47675
47676 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
47677 Move fail label here.
47678 [__GNU__]: Don't warn when using stat.
47679 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
47680 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
47681 long int. Use strtol instead of strtoul.
f19dbdb7 47682
db1771cf 476832004-03-14 Marco Gerards <metgerards@student.han.nl>
47684
47685 * commands/boot.c: New file.
47686 * commands/cat.c: Likewise.
47687 * commands/cmp.c: Likewise.
47688 * commands/ls.c: Likewise.
47689 * commands/terminal.c: Likewise.
47690 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
47691 (pupa_register_command): Changed interface to match the new
47692 argument parser.
47693 (pupa_command_execute): Changed (almost rewritten) so it uses
47694 pupa_split_command. Added support for setting variables using the
47695 syntax `foo=bar'.
47696 (rescue_command): Changed to work with the new argument parser.
47697 (terminal_command): Moved from here to commands/terminal.c.
47698 (set_command): New function.
47699 (unset_command): New function.
47700 (insmod_command): New function.
47701 (rmmod_command): New function.
47702 (lsmod_command): New function.
47703 (pupa_command_init): Don't initialize the command terminal
47704 anymore. Initialize the commands set, unset, insmod, rmmod and
47705 lsmod.
47706 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
47707 (kernel_img_HEADERS): Add arg.h and env.h.
47708 (pupa_mkimage_LDFLAGS): Add kern/env.c.
47709 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
47710 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
47711 normal/arg.c.
47712 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
47713 terminal.mod.
47714 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
47715 (boot_mod_SOURCES): New variable.
47716 (terminal_mod_SOURCES): Likewise.
47717 (ls_mod_SOURCES): Likewise.
47718 (cmp_mod_SOURCES): Likewise.
47719 (cat_mod_SOURCES): Likewise.
47720
47721 * normal/arg.c: New file.
47722 * kern/env.c: Likewise.
47723 * include/pupa/arg.h: Likewise.
47724 * include/pupa/env.h: Likewise.
47725 * font/manager.c (font_command): Changed to match argument parsing
47726 interface changes.
47727 (PUPA_MOD_INIT): Likewise.
47728 * hello/hello.c (pupa_cmd_hello): Likewise.
47729 (PUPA_MOD_INIT): Likewise.
47730 * include/pupa/disk.h: Include <pupa/device.h>.
47731 (pupa_print_partinfo): New prototype.
47732 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
47733 (pupa_dl_get_prefix): Likewise.
47734 * include/pupa/misc.h: Include <pupa/err.h>.
47735 (pupa_isgraph): New prototype.
47736 (pupa_isdigit): Likewise.
47737 (pupa_split_cmdline): Likewise.
47738 * include/pupa/normal.h: Include <pupa/arg.h>.
47739 (pupa_command): Changed the prototype of the member `func' to
47740 match the argument parsing interface. Added member `options'.
47741 (pupa_register_command): Updated to match function.
47742 (pupa_arg_parse): New prototype.
47743 (pupa_hello_init) [PUPA_UTIL]: New prototype.
47744 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
47745 (pupa_ls_init) [PUPA_UTIL]: Likewise.
47746 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
47747 (pupa_cat_init) [PUPA_UTIL]: Likewise.
47748 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
47749 (pupa_boot_init) [PUPA_UTIL]: Likewise.
47750 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
47751 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
47752 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
47753 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
47754 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
47755 * kern/disk.c: Include <pupa/file.h>.
47756 (pupa_print_partinfo): New function.
47757 * kern/dl.c: Include <pupa/env.h>.
47758 (pupa_dl_dir): Variable removed.
47759 (pupa_dl_load): Use the environment variable `prefix' instead of
47760 the variable pupa_dl_dir.
47761 (pupa_dl_set_prefix): Function removed.
47762 (pupa_dl_get_prefix): Likewise.
47763 * kern/i386/pc/init.c: Include <pupa/env.h>.
47764 (pupa_machine_init): Use the environment variable `prefix' instead of
47765 using pupa_dl_set_prefix to set the prefix.
47766 * kern/main.c: Include <pupa/env.h>.
47767 (pupa_set_root_dev): Use the environment variable `prefix' instead of
47768 using pupa_dl_get_prefix to get the prefix.
47769 * kern/misc.c: Include <pupa/env.h>.
47770 (pupa_isdigit): New function.
47771 (pupa_isgraph): Likewise.
47772 (pupa_ftoa): Likewise.
47773 (pupa_vsprintf): Added support for printing values of the type
47774 `double'. Make it possible to format variable output when using
47775 formatting like `%1.2%f'.
47776 (pupa_split_cmdline): New function.
47777 * kern/rescue.c: Include <pupa/env.h>.
47778 (next_word): Removed function.
47779 (pupa_rescue_cmd_prefix): Likewise.
47780 (pupa_rescue_cmd_set): New function.
47781 (pupa_rescue_cmd_unset): New function.
47782 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
47783 split the command line instead of splitting it here. Added
47784 support for setting variables using the syntax `foo=bar'. Don't
47785 initialize the prefix command anymore. Initialized the set and
47786 unset commands.
47787 * normal/cmdline.c: Include <pupa/env.h>.
47788 (pupa_tab_complete): Added prototypes for print_simple_completion,
47789 print_partition_completion, add_completion, iterate_commands,
47790 iterate_dev, iterate_part and iterate_dir. Moved code to print
47791 partition information from here to kern/disk.c.
fe6b695a 47792 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 47793 * normal/main.c: Include <pupa/env.h>.
47794 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
47795 instead of using pupa_dl_get_prefix to get the prefix.
47796 * term/i386/pc/vga.c: Include <pupa/arg.h>.
47797 (check_vga_mem): Cast pointers to `void *' to silence a gcc
47798 warning.
47799 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
47800 (pupa_vga_setcolor): Declare unused variables with `__attribute__
47801 ((unused))' to silence a gcc warning.
47802 (pupa_vga_setcolor): Likewise.
47803 (debug_command): Changed to match argument parsing
47804 interface changes.
47805 * util/pupa-emu.c: Include <pupa/env.h>.
47806 (options): Added 0's for unused fields to silence a gcc warning.
47807 (argp): Likewise.
47808 (main): Use the environment variable `prefix' instead of using
47809 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
47810 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
47811 and terminal.
47812
47813 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
47814 * util/misc.c: Include <malloc.h>.
47815 (pupa_malloc): Rewritten so errors are correctly reported.
47816 (pupa_realloc): Likewise.
47817 (pupa_memalign): Likewise.
47818 (pupa_mm_init_region): Declare unused variables with
47819 `__attribute__ ((unused))' to silence a gcc warning.
47820 * normal/i386/setjmp.S: Remove tab at the end of the file to
47821 silence a gcc warning.
47822 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
47823 variables with `__attribute__ ((unused))' to silence a gcc
47824 warning.
47825 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
47826 local variable i unsigned to silence a gcc warning.
47827
47828 * kern/term.c: Include <pupa/misc.h>.
47829 (pupa_more_lines): New variable.
47830 (pupa_more): Likewise.
47831 (pupa_putcode): When the pager is active pause at the end of every
47832 screen.
47833 (pupa_set_more): New function.
47834 * include/pupa/term.h (pupa_set_more): New prototype.
47835
47836
3b1139cb 478372004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
47838
47839 Now this project is GRUB 2 rather than PUPA. The location of
47840 the CVS repository was moved to GRUB's.
f19dbdb7 47841
3b1139cb 47842 * configure.ac: Use bug-grub as the reporting address.
47843 Use GRUB instead of PUPA.
47844 Change the version number to 1.90.
47845
8367695c 478462004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
47847
47848 * genkernsyms.sh: Updated copyright information.
47849 * genmk.rb: Likewise.
47850 * genmodsrc.sh: Likewise.
47851 * gensymlist.sh: Likewise.
47852 * boot/i386/pc/boot.S: Likewise.
47853 * boot/i386/pc/diskboot.S: Likewise.
47854 * disk/i386/pc/biosdisk.c: Likewise.
47855 * disk/i386/pc/partition.c: Likewise.
47856 * font/manager.c: Likewise.
47857 * fs/ext2.c: Likewise.
47858 * fs/fat.c: Likewise.
47859 * include/pupa/boot.h: Likewise.
47860 * include/pupa/device.h: Likewise.
47861 * include/pupa/disk.h: Likewise.
47862 * include/pupa/dl.h: Likewise.
47863 * include/pupa/elf.h: Likewise.
47864 * include/pupa/err.h: Likewise.
47865 * include/pupa/file.h: Likewise.
47866 * include/pupa/font.h: Likewise.
47867 * include/pupa/fs.h: Likewise.
47868 * include/pupa/kernel.h: Likewise.
47869 * include/pupa/loader.h: Likewise.
47870 * include/pupa/misc.h: Likewise.
47871 * include/pupa/mm.h: Likewise.
47872 * include/pupa/net.h: Likewise.
47873 * include/pupa/normal.h: Likewise.
47874 * include/pupa/rescue.h: Likewise.
47875 * include/pupa/setjmp.h: Likewise.
47876 * include/pupa/symbol.h: Likewise.
47877 * include/pupa/term.h: Likewise.
47878 * include/pupa/types.h: Likewise.
47879 * include/pupa/i386/setjmp.h: Likewise.
47880 * include/pupa/i386/types.h: Likewise.
47881 * include/pupa/i386/pc/biosdisk.h: Likewise.
47882 * include/pupa/i386/pc/boot.h: Likewise.
47883 * include/pupa/i386/pc/console.h: Likewise.
47884 * include/pupa/i386/pc/init.h: Likewise.
47885 * include/pupa/i386/pc/kernel.h: Likewise.
47886 * include/pupa/i386/pc/linux.h: Likewise.
47887 * include/pupa/i386/pc/loader.h: Likewise.
47888 * include/pupa/i386/pc/memory.h: Likewise.
47889 * include/pupa/i386/pc/multiboot.h: Likewise.
47890 * include/pupa/i386/pc/partition.h: Likewise.
47891 * include/pupa/i386/pc/time.h: Likewise.
47892 * include/pupa/i386/pc/vga.h: Likewise.
47893 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
47894 * include/pupa/util/getroot.h: Likewise.
47895 * include/pupa/util/misc.h: Likewise.
47896 * include/pupa/util/resolve.h: Likewise.
47897 * kern/device.c: Likewise.
47898 * kern/disk.c: Likewise.
47899 * kern/dl.c: Likewise.
47900 * kern/err.c: Likewise.
47901 * kern/file.c: Likewise.
47902 * kern/fs.c: Likewise.
47903 * kern/loader.c: Likewise.
47904 * kern/main.c: Likewise.
47905 * kern/misc.c: Likewise.
47906 * kern/mm.c: Likewise.
47907 * kern/rescue.c: Likewise.
47908 * kern/term.c: Likewise.
47909 * kern/i386/dl.c: Likewise.
47910 * kern/i386/pc/init.c: Likewise.
47911 * kern/i386/pc/lzo1x.S: Likewise.
47912 * kern/i386/pc/startup.S: Likewise.
47913 * loader/i386/pc/chainloader.c: Likewise.
47914 * loader/i386/pc/linux.c: Likewise.
47915 * loader/i386/pc/multiboot.c: Likewise.
47916 * normal/cmdline.c: Likewise.
47917 * normal/command.c: Likewise.
47918 * normal/main.c: Likewise.
47919 * normal/menu.c: Likewise.
47920 * normal/i386/setjmp.S: Likewise.
47921 * term/i386/pc/console.c: Likewise.
47922 * term/i386/pc/vga.c: Likewise.
47923 * util/console.c: Likewise.
47924 * util/genmoddep.c: Likewise.
47925 * util/misc.c: Likewise.
47926 * util/pupa-emu.c: Likewise.
47927 * util/resolve.c: Likewise.
47928 * util/unifont2pff.rb: Likewise.
47929 * util/i386/pc/biosdisk.c: Likewise.
47930 * util/i386/pc/getroot.c: Likewise.
47931 * util/i386/pc/pupa-mkimage.c: Likewise.
47932 * util/i386/pc/pupa-setup.c: Likewise.
47933
e6eced71 479342004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
47935
47936 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
47937 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
47938 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
47939 reading and reset it after reading.
47940 (pupa_ext2_close): Return PUPA_ERR_NONE.
47941
47942 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
47943 Correct value.
47944 (struct linux_kernel_header): Add kernel_version and
47945 initrd_addr_max.
47946 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
47947 pupa_file_read succeeds.
47948 (pupa_rescue_cmd_initrd): Implement.
47949
5aded270 479502003-12-03 Marco Gerards <metgerards@student.han.nl>
47951
47952 * fs/ext2.c (pupa_ext2_label): New function.
47953 (pupa_ext2_fs): Added label.
47954 * fs/fat.c (pupa_fat_label): New function.
47955 (pupa_fat_fs): Added label.
47956 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
47957
47958 * kern/misc.c (pupa_strndup): New function.
47959 * include/pupa/misc.h (pupa_strndup): New prototype.
47960
47961 * include/pupa/normal.h: Include <pupa/err.h>.
47962 (pupa_set_history): New prototype.
47963 (pupa_iterate_commands): New prototype.
47964 * normal/cmdline.c: Include <pupa/machine/partition.h>,
47965 <pupa/disk.h>, <pupa/file.h>.
47966 (hist_size): New variable.
47967 (hist_lines): Likewise.
47968 (hist_end): Likewise.
47969 (hist_used): Likewise.
47970 (pupa_set_history): New function.
47971 (pupa_history_get): Likewise.
47972 (pupa_history_add): Likewise.
47973 (pupa_history_replace): Likewise.
47974 (pupa_tab_complete): Likewise.
47975 (pupa_cmdline_run): Added tab completion and history buffer. Tab
47976 completion shows partitionnames while completing partitions, this
47977 feature was suggested by Jeff Bailey.
47978 * normal/command.c (pupa_iterate_commands): New function.
47979 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
47980 (pupa_normal_init): Initialize history buffer.
47981 (PUPA_MOD_INIT): Likewise.
47982 (pupa_normal_fini): Free the history buffer.
47983 (PUPA_MOD_FINI): Likewise.
47984
47985 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
47986 key.
47987
47988 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
47989 * configure.ac [i386]: Check for regparam bug.
47990 (NESTED_FUNC_ATTR) [! i386]: Defined.
47991
1f7315a3 479922003-11-17 Marco Gerards <metgerards@student.han.nl>
47993
47994 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
47995 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
47996 (pupa_emu_SOURCES): New variable.
47997 (pupa_emu_LDFLAGS): Likewise.
47998 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
47999 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
48000 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
48001 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
48002 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
48003 (pupa_jmp_buf): New typedef.
48004 (pupa_setjmp) [PUPA_UTIL]: New macro.
48005 (pupa_longjmp) [PUPA_UTIL]: Likewise.
48006 * include/pupa/term.h (struct pupa_term): New member `refresh'.
48007 (pupa_refresh): New prototype.
48008 * include/pupa/util/getroot.h: New file.
48009 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
48010 it.
48011 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
48012 (pupa_rescue_cmd_cat): Likewise.
48013 (pupa_rescue_cmd_ls): Likewise.
48014 (pupa_rescue_cmd_testload): Likewise.
48015 (pupa_rescue_cmd_lsmod): Likewise.
48016 * normal/cmdline.c (pupa_cmdline_get): Likewise.
48017 * normal/menu.c (run_menu): Likewise.
48018 * kern/term.c (pupa_cls): Likewise.
48019 (pupa_refresh): New function.
48020 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
48021 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
48022 * util/console.c: New file.
f19dbdb7 48023
1f7315a3 48024 * util/i386/pc/getroot.c: New file.
48025 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
48026 (pupa_putchar): New function.
48027 (pupa_refresh): Likewise.
48028 (xgetcwd): Function moved to ...
48029 (strip_extra_slashes): Likewise.
48030 (get_prefix): Likewise.
f19dbdb7 48031 * util/i386/pc/getroot.c: ... here.
1f7315a3 48032 (find_root_device): Function moved and renamed to...
48033 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
48034 Changed all callers.
48035 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
48036 and renamed to...
48037 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
48038 Changed all callers.
48039 * util/misc.c (pupa_memalign): New function.
48040 (pupa_mm_init_region): Likewise.
48041 (pupa_register_exported_symbols): Likewise.
48042 (pupa_putchar): Function removed.
48043 * util/pupa-emu.c: New file.
48044
9a5c1ade 480452003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
48046
48047 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
48048 (_multiboot_mod_SOURCES): New variable.
48049 (_multiboot_mod_CFLAGS): Likewise.
48050 * loader/i386/pc/multiboot.c: New file.
48051 * include/pupa/i386/pc/multiboot.h: Likewise.
48052 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
48053 (pupa_multiboot_real_boot): New function.
48054 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
48055 (pupa_multiboot_real_boot): New prototype.
48056 (pupa_rescue_cmd_multiboot): Likewise
48057 (pupa_rescue_cmd_module): Likewise.
48058
48059 * kern/loader.c (pupa_loader_set): Continue when
48060 pupa_loader_unload_func() fails.
48061 (pupa_loader_unset): New function.
48062 * include/pupa/loader.h (pupa_loader_unset): New prototype.
48063
48064 * kern/misc.c (pupa_stpcpy): New function.
48065 * include/pupa/misc.h (pupa_stpcpy): New prototype.
48066
8e72a9c0 480672003-11-12 Marco Gerards <metgerards@student.han.nl>
48068
48069 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
48070 for available extensions.
48071
48072 * include/pupa/i386/pc/time.h: New file.
48073 * kern/disk.c: Include <pupa/machine/time.h>.
48074 (PUPA_CACHE_TIMEOUT): New macro.
48075 (pupa_last_time): New variable.
48076 (pupa_disk_open): Flush the cache when there was a timeout.
48077 (pupa_disk_close): Reset the timer.
48078 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
48079 pupa_currticks.
48080 * util/misc.c: Include <sys/times.h>
48081 (pupa_get_rtc): New function.
48082
c4adbd32 480832003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48084
48085 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
48086 as blocks.
48087 (pupa_ext2_get_file_block): Use blocks member.
48088
48089 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
48090 first block. Return -1 instead of pupa_errno on error.
48091
bfd30f06 480922003-10-27 Marco Gerards <metgerards@student.han.nl>
48093
48094 * README: In the pupa-mkimage example use _chain instead of chain
48095 and ext2 instead of fat.
48096 * TODO: Replace ext2fs with jfs as an example. Add an item for
48097 adding journal playback for ext2fs.
48098 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
48099 (pkgdata_MODULES): Added ext2.mod.
48100 (ext2_mod_SOURCES): New variable.
48101 (ext2_mod_CFLAGS): Likewise.
48102 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
48103 * include/pupa/misc.h (pupa_strncpy): New prototype.
48104 (pupa_strcat): Likewise.
48105 (pupa_strncmp): Likewise.
48106 * kern/misc.c (pupa_strcat): Enable function.
48107 (pupa_strncpy): New function.
48108 (pupa_strncmp): Likewise.
48109 * fs/ext2.c: New file.
f19dbdb7 48110
bfd30f06 48111 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
48112 when the read failed before retrying.
48113 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
48114 (_FILE_OFFSET_BITS): Likewise.
48115 * configure.ac: Added AC_SYS_LARGEFILE.
48116
98d15063 481172003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48118
48119 * genmk.rb (PModule#rule): Make sure to get only symbol names
48120 from the output of nm.
59cad637 48121 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 48122
18d9c7cd 481232003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48124
48125 I forgot to check in these changes for a long time. This adds
48126 incomplete support for VGA console, and this is still very
48127 buggy. Also, a lot of consideration is required for I18N,
48128 UNICODE, and VGA font issues. Therefore, assume that this is
48129 such that "better than nothing".
f19dbdb7 48130
18d9c7cd 48131 * font/manager.c: New file.
48132 * include/pupa/font.h: Likewise.
48133 * include/pupa/i386/pc/vga.h: Likewise.
48134 * term/i386/pc/vga.c: Likewise.
48135 * util/unifont2pff.rb: Likewise.
48136
48137 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
48138 (pkgdata_MODULES): Added vga.mod and font.mod.
48139 (vga_mod_SOURCES): New variables.
48140 (vga_mod_CFLAGS): Likewise.
48141 (font_mod_SOURCES): Likewise.
48142 (font_mod_CFLAGS): Likewise.
48143
48144 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
48145
48146 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 48147 (struct pupa_term): Added init and fini.
18d9c7cd 48148 Changed the argument of putchar to pupa_uint32_t.
48149
48150 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
48151 (pupa_console_real_putchar): New prototype.
48152 (pupa_console_putchar): Removed.
48153 (pupa_console_checkkey): Exported.
48154 (pupa_console_getkey): Likewise.
48155
48156 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
48157 characters.
48158
48159 * kern/term.c (pupa_term_set_current): Rewritten.
48160 (pupa_putchar): Likewise.
48161 (pupa_putcode): New function.
48162
48163 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
48164 (pupa_console_real_putchar): ... this.
48165 (pupa_vga_set_mode): New function.
48166 (pupa_vga_get_font): Likewise.
48167
48168 * normal/command.c: Include pupa/term.h.
48169 (terminal_command): New function.
48170 (pupa_command_init): Register the command "terminal".
48171
48172 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
48173 (DISP_UP): Likewise.
48174 (DISP_RIGHT): Likewise.
48175 (DISP_DOWN): Likewise.
48176 (DISP_HLINE): Likewise.
48177 (DISP_VLINE): Likewise.
48178 (DISP_UL): Likewise.
48179 (DISP_UR): Likewise.
48180 (DISP_LL): Likewise.
48181 (DISP_LR): Likewise.
48182
48183 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 48184
977329f5 481852003-02-08 NIIBE Yutaka <gniibe@m17n.org>
48186
48187 * util/resolve.c (pupa_util_resolve_dependencies): BUG
48188 FIX. Reverse the path_list.
48189
48190 * include/pupa/normal.h: Export pupa_register_command and
48191 pupa_unregister_command.
48192
48193 * hello/hello.c (pupa_cmd_hello): New module.
48194 * conf/i386-pc.rmk: Added hello.mod.
48195
1f5ab428 481962003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
48197
48198 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 48199
1f5ab428 48200 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
48201 (compress_kernel): New variable.
48202 (generate_image): Heavily modified to support compressing a
48203 large part of the core image.
48204
48205 * util/misc.c (pupa_util_read_image): Fix a file descriptor
48206 leak.
48207 (pupa_util_load_image): New function.
48208
48209 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
48210 (pupa_compressed_size): New variable.
48211 (codestart): Enable Gate A20 here.
48212 Decompress the compressed part of the core image.
48213 Rearrange the code to put functions and variables which are
48214 required for initialization in the non-compressed part.
48215 Include lzo1x.S.
48216
48217 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
48218 here.
48219
48220 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
48221
f19dbdb7 48222 * include/pupa/i386/pc/kernel.h
1f5ab428 48223 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
48224 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
48225 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
48226 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
48227 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
48228
48229 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
48230
48231 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
48232 (Utility#rule): Likewise.
48233
48234 * configure.ac: Check if LZO is available.
48235
ce5bf700 482362003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
48237
48238 * include/pupa/normal.h: New file.
48239 * include/pupa/setjmp.h: Likewise.
48240 * include/pupa/i386/setjmp.h: Likewise.
48241 * normal/cmdline.c: Likewise.
48242 * normal/command.c: Likewise.
48243 * normal/main.c: Likewise.
48244 * normal/menu.c: Likewise.
48245 * normal/i386/setjmp.S: Likewise.
f19dbdb7 48246
ce5bf700 48247 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
48248 (pupa_rescue_cmd_initrd): Likewise.
48249
48250 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
48251 Likewise.
48252
48253 * kern/i386/pc/startup.S (translation_table): New variable.
48254 (translate_keycode): New function.
48255 (pupa_console_getkey): Call translate_keycode.
48256
48257 * kern/rescue.c (attempt_normal_mode): New function.
48258 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
48259 it failed, print a message.
48260
48261 * kern/mm.c (pupa_real_malloc): Print more information when a
48262 free magic is broken.
48263 (pupa_free): If the first free header is not free actually, set
48264 it to P.
48265
48266 * kern/main.c (pupa_load_normal_mode): Just load the module
48267 "normal".
48268 (pupa_main): Don't print the message
48269 "Entering into rescue mode..." here.
48270
48271 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
48272 Declared.
48273 (pupa_rescue_cmd_initrd): Likewise.
48274 (pupa_rescue_cmd_initrd): Likewise.
48275
48276 * include/pupa/symbol.h (FUNCTION): Specify the type.
48277 (VARIABLE): Likewise.
48278
48279 * include/pupa/err.h (pupa_err_t): Added
48280 PUPA_ERR_UNKNOWN_COMMAND.
48281
48282 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
48283 (pupa_dl_get_prefix): Likewise.
48284
48285 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
48286 Added _chain.mod and _linux.mod instead of chain.mod and
48287 linux.mod.
48288 (chain_mod_SOURCES): Renamed to ...
48289 (_chain_mod_SOURCES): ... this.
48290 (chain_mod_CFLAGS): Renamed to ...
48291 (_chain_mod_CFLAGS): ... this.
48292 (linux_mod_SOURCES): Renamed to ...
48293 (_linux_mod_SOURCES): ... this.
48294 (linux_mod_CFLAGS): Renamed to ...
48295 (_linux_mod_CFLAGS): ... this.
48296 (normal_mod_SOURCES): New variable.
48297 (normal_mod_CFLAGS): Likewise.
48298 (normal_mod_ASFLAGS): Likewise.
48299
483002003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
48301
48302 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
48303 possible.
48304
fe6b695a 48305 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 48306 recursively.
48307 (pupa_dl_unref): Unrefer depending modules recursively.
48308 Don't call pupa_dl_unload implicitly, because PUPA can crash if
48309 a module is unloaded before one depending on that module is
48310 unloaded.
48311 (pupa_dl_unload): Unload depending modules explicitly,
48312 if possible.
48313
c04da074 483142003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
48315
48316 * include/pupa/i386/pc/linux.h: New file.
48317 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 48318
c04da074 48319 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
48320 Removed.
48321 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
48322 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
48323 of PUPA_CHAINLOADER_BOOT_SECTOR.
48324
48325 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
48326 (pupa_linux_prot_size): New variable.
48327 (pupa_linux_tmp_addr): Likewise.
48328 (pupa_linux_real_addr): Likewise.
48329 (pupa_linux_boot_zimage): New function.
48330 (pupa_linux_boot_bzimage): Likewise.
48331
48332 * kern/i386/pc/init.c (struct mem_region): New structure.
48333 (MAX_REGIONS): New macro.
48334 (mem_regions): New variable.
48335 (num_regions): Likewise.
48336 (pupa_os_area_addr): Likewise.
48337 (pupa_os_area_size): Likewise.
48338 (pupa_lower_mem): Likewise.
48339 (pupa_upper_mem): Likewise.
48340 (add_mem_region): New function.
48341 (compact_mem_regions): Likewise.
48342 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
48343 the size of the conventional memory and that of so-called upper
48344 memory (before the first memory hole).
48345 Instead of adding each found region to free memory, use
48346 add_mem_region and add them after removing overlaps.
48347 Also, add only 1/4 of the upper memory to free memory. The rest
48348 is used for loading OS images. Maybe this is ad hoc, but this
48349 makes it much easier to relocate OS images when booting.
48350
48351 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
48352 (pupa_enter_rescue_mode): Don't register initrd and module.
48353
48354 * kern/mm.c: Include pupa/dl.h.
48355
48356 * kern/main.c: Include pupa/file.h and pupa/device.h.
48357
48358 * kern/loader.c (pupa_loader_load_module_func): Removed.
48359 (pupa_loader_load_module): Likewise.
48360
48361 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
48362 ``.o''.
48363
48364 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
48365 (pupa_linux_tmp_addr): Likewise.
48366 (pupa_linux_real_addr): Likewise.
48367 (pupa_linux_boot_zimage): Likewise.
48368 (pupa_linux_boot_bzimage): Likewise.
48369
48370 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
48371 (pupa_upper_mem): Likewise.
48372 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
48373 module is too dangerous.
48374
48375 * include/pupa/loader.h (pupa_os_area_addr): Declared.
48376 (pupa_os_area_size): Likewise.
48377 (pupa_loader_set): Remove the first argument. Loader doesn't
48378 manage modules or initrd any longer.
48379 (pupa_loader_load_module): Removed.
48380
48381 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
48382 (linux_mod_SOURCES): New variable.
48383 (linux_mod_CFLAGS): Likewise.
48384
a13f9237 483852003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
48386
48387 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
48388 the length of a blocklist correctly.
48389
48390 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
48391 Use ioctl only if the OS file is a block device.
48392 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
48393 not very useful for normal files.
48394
48395 * kern/main.c (pupa_set_root_dev): New function.
48396 (pupa_load_normal_mode): Likewise.
48397 (pupa_main): Call those above.
48398
48399 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
48400 pupa_uint16_t.
48401
48402 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
48403
a5ffe966 484042003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
48405
48406 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
48407 (setup): Configure the installed partition information and the
48408 dl prefix.
48409
48410 * loader/i386/pc/chainloader.c (my_mod): New variable.
48411 (pupa_chainloader_unload): New function.
48412 (pupa_rescue_cmd_chainloader): Refer itself.
48413 (PUPA_MOD_INIT): Save its own module in MY_MOD.
48414
48415 * kern/i386/pc/startup.S (install_partition): Removed.
48416 (version_string): Likewise.
48417 (config_file): Likewise.
48418 (pupa_install_dos_part): New variable.
48419 (pupa_install_bsd_part): Likewise.
48420 (pupa_prefix): Likewise.
48421 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
48422
48423 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
48424 and pupa/misc.h.
48425 (make_install_device): New function.
48426 (pupa_machine_init): Set the dl prefix.
48427
48428 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
48429 (buf): Renamed to ...
48430 (linebuf): ... this.
48431 (pupa_rescue_cmd_prefix): New function.
48432 (pupa_rescue_cmd_insmod): Likewise.
48433 (pupa_rescue_cmd_rmmod): Likewise.
48434 (pupa_rescue_cmd_lsmod): Likewise.
48435 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
48436 rmmod and lsmod.
48437
48438 * kern/mm.c (pupa_memalign): If failed even after invalidating
48439 disk caches, unload unneeded modules and retry.
48440
48441 * kern/misc.c (pupa_memmove): New function.
48442 (pupa_memcpy): Removed.
48443 (pupa_strcpy): New function.
48444 (pupa_itoa): Made static.
48445
48446 * kern/dl.c (pupa_dl_iterate): New function.
48447 (pupa_dl_ref): Likewise.
48448 (pupa_dl_unref): Likewise.
48449 (pupa_dl_unload): Return if succeeded or not.
48450 (pupa_dl_unload_unneeded): New function.
48451 (pupa_dl_unload_all): Likewise.
48452 (pupa_dl_init): Renamed to ...
48453 (pupa_dl_set_prefix): ... this.
48454 (pupa_dl_get_prefix): New function.
48455
48456 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
48457 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
48458 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
48459 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
48460 (pupa_install_dos_part): Declared.
48461 (pupa_install_bsd_part): Likewise.
48462 (pupa_prefix): Likewise.
48463 (pupa_boot_drive): Likewise.
48464
48465 * include/pupa/types.h: Fix a typo.
48466
48467 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
48468 pupa_memmove.
48469 (pupa_memmove): Declared.
48470 (pupa_strcpy): Likewise.
48471
48472 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
48473 pupa_mod_init takes one argument, its own module.
48474 (pupa_dl_unload_unneeded): Declared.
48475 (pupa_dl_unload_all): Likewise.
48476 (pupa_dl_ref): Likewise.
48477 (pupa_dl_unref): Likewise.
48478 (pupa_dl_iterate): Likewise.
48479 (pupa_dl_init): Renamed to ...
48480 (pupa_dl_set_prefix): ... this.
48481 (pupa_dl_get_prefix): Declared.
48482
48483 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 48484 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 48485 unloaded.
48486 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
48487 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
48488
48489 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
48490 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
48491
012d7999 484922003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
48493
48494 * util/i386/pc/pupa-setup.c (setup): Define the internal
48495 function find_first_partition_start at the top level, because GCC
48496 3.0.x cannot compile internal functions in deeper scopes
48497 correctly.
48498 (find_root_device): Use lstat instead of stat.
48499 Don't follow symbolic links.
48500 Fix the path-constructing code.
48501
48502 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
48503 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
48504 by a BLKGETSIZE ioctl first, because block devices don't fill
48505 the member st_mode of the structure stat on Linux.
48506 [__linux__] (linux_find_partition): Use a temporary buffer
48507 REAL_DEV for the working space. Copy it to DEV before returning.
48508 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
48509 buffer cache consistent.
48510 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
48511 strncmp. The previous value was merely wrong.
48512 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
48513
48514 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
48515 FAT size is 12. The previous value was merely wrong.
48516
48517 * kern/main.c (pupa_main): Don't split the starting message from
48518 newlines.
48519
48520 * kern/term.c (pupa_putchar): Put CR after LF instead of before
48521 LF, because BIOS goes crazy about character attributes in this
48522 case.
48523
1cc73a62 485242003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
48525
48526 * include/i386/pc/util/biosdisk.h: New file.
48527 * util/i386/pc/biosdisk.c: Likewise.
48528 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 48529
1cc73a62 48530 * Makefile.in (INCLUDE_DISTFILES): Added
48531 include/pupa/i386/pc/util/biosdisk.h.
48532 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
48533 directory util/i386/pc.
48534 (install-local): Added a rule for sbin_UTILITIES.
48535 (uninstall): Likewise.
48536
48537 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
48538
48539 * util/misc.c (xrealloc): New function.
48540 (pupa_malloc): Likewise.
48541 (pupa_free): Likewise.
48542 (pupa_realloc): Likewise.
48543 (pupa_stop): Likewise.
48544 (pupa_putchar): Likewise.
48545
48546 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
48547
48548 * include/pupa/util/misc.h (xrealloc): Declared.
48549
48550 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
48551 macro.
48552 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
48553 (PUPA_BOOT_MACHINE_BPB_END): ... this.
48554
48555 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
48556 [PUPA_UTIL] (pupa_fat_fini): Likewise.
48557
48558 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
48559 way should be implemented.
48560 [PUPA_UTIL] (pupa_fat_fini): Likewise.
48561
48562 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
48563 the size of NAME for safety.
48564 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
48565 0x88.
48566
48567 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
48568 (pupa_setup_SOURCES): Likewise.
48569
48570 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
48571
08b70fe8 485722002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
48573
48574 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
48575 bunch of pushl's from pusha, because this destroys the return
48576 value.
48577
62ddcc8f 485782002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
48579
48580 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
48581 This means that any missing prototypes could be fatal. Also, you
48582 must take care when writing assembly code. See the comments at
48583 the beginning of startup.S, for more details.
f19dbdb7 48584
62ddcc8f 48585 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
48586 compilation mechanism.
48587 (pupa_chainloader_real_boot): Likewise.
48588 (pupa_biosdisk_rw_int13_extensions): Likewise.
48589 (pupa_biosdisk_rw_standard): Likewise.
48590 (pupa_biosdisk_check_int13_extensions): Likewise.
48591 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
48592 (pupa_biosdisk_get_diskinfo_standard): Likewise.
48593 (pupa_get_memsize): Likewise.
48594 (pupa_get_mmap_entry): Likewise.
48595 (pupa_console_putchar): Likewise.
48596 (pupa_console_setcursor): Likewise.
48597 (pupa_getrtsecs): Use pushl instead of push.
48598
48599 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
48600 memory instead of the stack for a mmap entry, because some
48601 BIOSes may ignore the maximum size and overflow.
48602
48603 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
48604
48605 * genmk.rb (PModule#rule): Compile automatically generated
48606 sources with module-specific CFLAGS as well as other sources.
48607
9962ed99 486082002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48609
48610 * configure.ac: Check ld.
48611 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
48612 respectively, before checking endianness and sizes.
48613
48614 * Makefile.in (LD): New variable.
f19dbdb7 48615
abdfc3c5 486162002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48617
48618 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
48619
6a161fa9 486202002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48621
48622 * Changelog: New file.
48623