]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* .bzrignore: Remove grub-core/lib/dtc-grub, grub-core/Makefile.libfdt.def
[grub2.git] / ChangeLog
CommitLineData
f4e1ab9d
AB
12013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
2
3 * .bzrignore: Remove grub-core/lib/dtc-grub,
4 grub-core/Makefile.libfdt.def
5 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
6
fa471bfa
VS
72013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * include/grub/video.h (grub_video_register): Keep double-linked as
10 well as single-linked invariants.
11 Reported by: qwertial.
12
d65be02b
VS
132013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * grub-core/commands/nativedisk.c (get_uuid): Handle
16 GRUB_DISK_DEVICE_UBOOTDISK_ID.
17
ba8bc620
VT
182013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
19
20 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
21 maximum of NW, N, NE heights instead of N's height and maximum of
22 NW, W, SW widths instead of W's width. (So the box will be always
23 correctly drawn)
24
4f0ad029
GS
252013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26
27 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
28 Fix misuse of variable count.
29
43d53b72
LL
302013-07-18 Leif Lindholm <leif.lindholm@arm.com>
312013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
322013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 33
43d53b72
LL
34 New ports to arm-uboot and arm-efi.
35 Mostly by Leif Lindholm with some additions from
36 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 37
88f8d146
VS
382013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
41 and not before.
42 Reported by: Leon Drugi.
43
3f42504c
VS
442013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
47 Reported by: Paulo Flabiano Smorigo.
48
d110499b
VT
492013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
50
51 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
52
a8674ad3
VT
532013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
54
55 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
56
286fe4b3
VS
572013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
60
1bd57aa3
VS
612013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
64
7a87d69f
AB
652013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
66
67 * grub-core/net/bootp.c: Export net_* variables.
68 * grub-core/net/net.c: Likewise.
69
b2182299
VS
702013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
73
795b3dc0
VS
742013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
77
68714c43
VS
782013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
79
80 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
81
af211bab
VS
822013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
85
0036f02d
MM
862013-07-14 Massimo Maggi <me@massimo-maggi.eu>
87
88 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
89 <= 0.
90
6d0ddff3
MM
912013-07-14 Massimo Maggi <me@massimo-maggi.eu>
92
93 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
94 functions.
95
038016f4
MM
962013-07-14 Massimo Maggi <me@massimo-maggi.eu>
97
98 * grub-core/fs/zfs/zfs_lz4.c: New file.
99 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
100
776bdce2
MM
1012013-07-14 Massimo Maggi <me@massimo-maggi.eu>
102
103 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
104
c71dbd40
MM
1052013-07-14 Massimo Maggi <me@massimo-maggi.eu>
106
107 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
108 (check_pool_label): Likewise.
109 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
110
1112013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
112
113 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
114
8e67b50f
AB
1152013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
116
117 * docs/grub.texi (Commands): Document postition parameters
118 for menuentry command.
119
f5ae3717
AB
1202013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
121
122 * util/grub-mknetdir.in: Remove stray line from help output.
123
9c28da2a
VS
1242013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
125
126 Remove early sm712 init as there is no reason for it (the "watchdog"
127 effect was due to wrong GPIO map).
128
139072b8
VS
1292013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * grub-core/commands/pcidump.c: Remove static variables.
132
c6a61bda
VS
1332013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/commands/sleep.c: Refresh screen before sleeping.
136
51369614
VS
1372013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * configure.ac: Move delimiter after the infos.
140
efa8640a
VS
1412013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
144
6f80a7b2
VS
1452013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
148 not filling whole 8x16 space.
149
a2371e19
VS
1502013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
153
64fce2d8
VS
1542013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
155
156 * configure.ac: Indicate which liblzma is used if any.
157
eb272d84
PW
1582013-06-21 Paul Wise <pabs3@bonedaddy.net>
1592013-06-21 Craig Sanders <savannah@taz.net.au>
160
161 * util/grub-reboot.in: Document submenu usage.
162
a9e5abee
CW
1632013-06-25 Colin Watson <cjwatson@ubuntu.com>
164
165 * .bzrignore: Update with a number of new test-related files.
166
e639c204
CW
1672013-06-25 Colin Watson <cjwatson@ubuntu.com>
168
169 * util/grub-script-check.c: Fail on scripts containing no
170 commands, to guard against corrupted grub-mkconfig setups that
171 produce no useful output.
172 * tests/grub_script_no_commands.in: New test.
173 * Makefile.util.def (grub_script_no_commands): Add.
174 Reported by Hans Putter. Fixes Debian bug #713886.
175
a4c89b17
AB
1762013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
177
178 * grub-core/disk/diskfilter.c: Forgot to remove comment
179 from previous commit.
180
5b06b53c
AB
1812013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
182
183 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
184 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
185
702da5c9
AB
1862013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
187
188 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
189
aa62a5b7
AB
1902013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
191
192 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
193 rescan diskfilter devices until nothing new is found.
194
4aa237c8
VS
1952013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
196
197 Fix casts when compiling coreboot-specific code for 64-bit EFI.
198
93d8479b
VS
1992013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
200
201 Don't try to detect cbfs on *-emu.
202
837222cc
VS
2032013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
204
205 * grub-core/term/gfxterm.c: USe right background color when scrolling.
206
99c971af
VS
2072013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
208
209 Add support for processed coreboot payload chainloading.
210
e6930a45
VS
2112013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
212
213 Enable coreboot information commands even when not loaded as
214 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
215
5027af38
VS
2162013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
217
218 Support for cbfs. Also factor out the part which is common
219 for all archives to a separate module. This splits tar from cpio
220 as they are very different but keeps cpio, cpio_be, odc and newc
221 together since they're very similar.
222
a5b55c4b
DM
2232013-06-15 David Michael <fedora.dm0@gmail.com>
224
225 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
226 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
227
0301a8b3
VS
2282013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * tests/grub_script_eval.in: Really add the eval test.
231
3d84cb17
VS
2322013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
233
234 Move flavour-specific parts out of common cpio.c file and
235 rename remaining to cpio_common.c
236
593e430c
AB
2372013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
238
239 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
240 off new function grub_script_execute_new_scope. Change callers to use
241 either of them as appropriate.
242 * grub-core/commands/eval.c: New command eval.
243 * docs/grub.texi (Commands): Document it.
244
63c29849
AB
2452013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
246
247 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
248 to fetch values when listing.
249
cc284112
AB
2502013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
251
252 Fix make dist on non-pc.
253
2542013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
255
256 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
257 without a device name.
258
69544d1e
VS
2592013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
260
261 Remove enable_executable_check as it's not needed anymore.
262 Reported by: dougray.
263
96dbe648
VS
2642013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
267 ambigouos RAID before discovering RAIDs on top of it.
268 Reported by: bodom.
269
ccfc0bdb
VS
2702013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
271
272 Fix typo (failback vs fallback).
273
f2587088
AB
2742013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
275
276 * util/grub.d/30_os-prober.in: Add support for probing EFI
277 System Partition (as of os-prober 1.58).
278
cec5cf0c
VS
2792013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * configure.ac: Add yet another path to unifont. For parabola.
282
e40b4596
JT
2832013-05-30 Josh Triplett <josh@joshtriplett.org>
284
285 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
286 handling to copy the killed characters to the kill buffer as
287 UCS4 stored as grub_uint32_t rather than as 8-bit characters
288 stored as char. Eliminates UCS4 truncation and corruption
289 observed when killing characters with Ctrl-u and yanking them
290 back with Ctrl-y.
291
fc4c4fdd
VS
2922013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
293
294 Detach optional parts of gfxterm and integrate in with coreboot init.
295
6570b205
VS
2962013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
297
298 Move blit and fill dispatcher to appropriate files to decrease export
299 and relocation overhead.
300
b8323067
VS
3012013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * grub-core/font/font.c, include/grub/font.h: Inline simple font
304 functions.
305
3cc1878f
VS
3062013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * grub-core/Makefile.am: Fix compilation problem with some
309 automake versions.
310
4b80e43c
VS
3112013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
314
57e0c20c
VS
3152013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
318 automake versions.
319
4fd42c53
VS
3202013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
323 SSDT.
324
1e908b34
RS
3252013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
326
327 * grub-core/partmap/dfly.c: New partition map.
328
1359e474
VS
3292013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
332 checking.
333 Reported by: Francesco Lavra.
334
17806392
AB
3352013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
336
337 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
338 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
339 false conditions.
340 * conf/Makefile.common: define dist_grubconf_DATA
341
cdce14fa
VS
3422013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
343
344 Progressively skip menu elements on small terminals rather
345 than crashing.
346
c8d6cc3c
VS
3472013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
350 to avoid losing last column.
351
a73b31ce
VS
3522013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * po/exclude.pot: Add missing string "%C".
355
1202c764
VS
3562013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
359 after the test.
360
50268344
VS
3612013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * util/grub-install.in: Gettextize "Not found" message.
364
62b15edf
VS
3652013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
366
367 Fix distfiles list.
368 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
369
3702013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
371
372 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
373 present.
374 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
375
709ad61b
VS
3762013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
379
d128901a
VS
3802013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
383 attribute since structure is not necessarily aligned.
384
34b22f5c
AB
3852013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
386
387 * docs/grub.texi (Device syntax): Clarify description of network
388 drives.
389
0f7e980b
VS
3902013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
391
392 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
393 for vasprintf presence.
394
30b03dc2
VS
3952013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
396
397 * util/grub-install.in: Handle efibootmgr presence check.
398 Reported by: Leif Lindholm.
399
0dc11c08
VS
4002013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
403 new strings to translate.
404
f8024c3f
VS
4052013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
408 yet another string (pun intended) to translate.
409
b4c1da62
VS
4102013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * po/POTFILES-shell.in: Autogenerate it.
413
0ef7478b
VS
4142013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
417
8200fa15
VS
4182013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
421 misnomer.
422
091945b2
AB
4232013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
424
425 * docs/grub.texi (Network): Add description of net_default_interface,
426 net_default_ip and net_default_mac. Rewrite variables description
427 to emphasize that they are per-interface.
428
0e7b2e32
VS
4292013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
430
431 New test: cmdline and cat.
432
16f7c8f6
VS
4332013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * grub-core/commands/cat.c: Show UTF-8 characters.
436
3e912fda
VS
4372013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * conf/Makefile.common: Poison float and double on non-emu.
440
ee0220bc
VS
4412013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * configure.ac: Don't disable extended registers on emu.
444
89e0240c
VS
4452013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * configure.ac: Don't use extended registers on x86_64.
448 Reported by: Peter Jones.
449
e56d9637
VS
4502013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/term/efi/console.c: Fix compile error.
453
8098f655
VS
4542013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
455
456 Compressed HFS+ support.
457
16940e07
VS
4582013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
461 pixel".
462
c5dbc13d
VS
4632013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
464
465 Menu color test.
466
011f8ae8
VS
4672013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/tests/setjmp_test.c: New test.
470
2aa072d7
VS
4712013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
472
473 New variables 'net_default_*' to determine MAC/IP of default interface.
474
43fe02cb
VS
4752013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * tests/gettext_strings_test.in: A test to check for strings not
478 marked for translation.
479
bed06142
VS
4802013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * autogen.sh: Exclude unused libgcrypt files from translation.
483
fb2666b5
VS
4842013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
485
486 Simplify few strings.
487
d22840ec
VS
4882013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
489
490 Mark few forgotten strings for translation.
491
e34092fd
VS
4922013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
495 rather than printf.
496
47cf82b4
VS
4972013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
500 rather than printf.
501 * grub-core/video/readers/tga.c: Likewise.
502
1eed0e6e
VS
5032013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * tests/priority_queue_unit_test.cc: New test.
506
c5b7697b
VS
5072013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
510 than printf.
511
5945c2f8
AB
5122013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
513
514 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
515 variable for one time boot menu entry.
516
fa292343
B
5172013-05-05 Bean <bean123ch@gmail.com>
518
519 * grub-core/commands/testspeed.c: New command testspeed.
520
310d4214
VS
5212013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
522
523 Factor-out human-size printing.
524
85002bf3
VS
5252013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
526
527 Agglomerate more mallocs to speed-up gfxterm.
528
22b06e96
VS
5292013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
530
531 Speed-up gfxterm by slightly agglomerating mallocs.
532
b7c036bc
VS
5332013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
534
535 More video checks.
536
92323d1f
VS
5372013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
538
539 Speed-up gfxterm by saving intermediate results in index+alpha
540 format.
541
0fb356a3
VS
5422013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
543
544 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
545 test.
546
44dea3f9
VS
5472013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
550 line of timeout as it may contain the rest of long line.
551
14af86e4
VS
5522013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * grub-core/normal/main.c: Fix freed memory dereference.
555
03f7c8c3
VS
5562013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
557
558 Fix several memory leaks.
559
c686014c
VS
5602013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
563
0788a695
VS
5642013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
565
566 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
567
daf01d61
VS
5682013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
569
570 Fix test -a and -o precedence.
571 Reported by: adrian15.
572
82ae74d7
VS
5732013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
576
8cec7bd4
AB
5772013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
578
579 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
580 and add it as source to functional_test module.
581
aa73d688
VS
5822013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
585
c104b6f9
VS
5862013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
587
588 New series of tests for gfxterm and gfxmenu.
589
7391c4d5
VS
5902013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
593 the theme path relative to $prefix/themes.
594
cff50118
VS
5952013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
598 Fix order bug.
599 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
600
7c332bdc
VS
6012013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
604 descriptor.
605
a4f9a5ff
VS
6062013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
609 grub_gfxmenu_timeout_notifications.
610 (grub_gfxmenu_view_destroy): Likewise.
611
b5a2114d
VS
6122013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
615
a8905e8a
VS
6162013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
617
618 Several fixes to ieee1275 and big-endian video.
619
813c1622
VS
6202013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
621
622 Add missing exports on mips.
623
3f3e7326
VS
6242013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
627 if no unifont is found.
628 Restore original keyboard.
629
095accd1
VS
6302013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
633 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
634
50361660
VS
6352013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
636
637 First automated video test (running videotest and comparing results)
638
cd0f6eec
VS
6392013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
642 instead of 2 to have full RGB/CMY test pattern.
643
3f9634e5
VS
6442013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
645
646 Add few more tests.
647
583e5b64
VS
6482013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * include/grub/arc/arc.h: Account for missing "other" peripheral on
651 ARCS. All users updated.
652
aa7bcb99
VS
6532013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
656
95ef1a54
VS
6572013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * grub-core/partmap/amiga.c: Fix size of checksummed block.
660
46546fc5
VS
6612013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
664 Reported by: qwertial.
665
3476e0ef
VT
6662013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
667
668 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
669 with syntax "XXX deg"/"XXX °".
670
96f33fed
VS
6712013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
672
673 Make PCI init in i386-qemu port more robust.
674
6752013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
676
677 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
678 cached view is reused.
679 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
680 open boot menus.
681
c53b4e67
VS
6822013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
683
684 Unify more code in grub-install_header.
685
f7457fb2
VS
6862013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
687
688 Add few new tests.
689
e2f27a8c
VS
6902013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
691
692 Enforce disabling of firmware disk drivers when native drivers kick in.
693
ef9d8cd5
VS
6942013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * grub-core/commands/nativedisk.c: Customize the list of modules on
697 platform. Don't try to search for disks already using native drivers.
698
f7bf6c31
VS
6992013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
700
701 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
702 platforms.
703
bdc4add8
VS
7042013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
707 handling of variables containing backslash.
708
e9e46c9a
VS
7092013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
712 dereference.
713 Reported by: qwertial.
714
0e90dee8
VS
7152013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
718
e0aacf24
VS
7192013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
720
721 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
722 dereference.
723 Reported by: qwertial.
724
3c0003c3
VS
7252013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * docs/grub.texi: Add a comment about usefullness of nativedisk.
728
adb7d667
VS
7292013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
732
7cd0df84
VS
7332013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
734
735 New command `nativedisk'.
736
02adbb93
VS
7372013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
740 * grub-core/loader/i386/bsd.c: Likewise.
741
9fb0fd4f
VS
7422013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
743
744 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
745
bd69257a
VS
7462013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
749 grub_get_unaligned16 rather than shifts.
750
178c2764
VS
7512013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * grub-core/kern/file.c: Use const char * rather than casting to
754 non-const.
755
eadfad24
VS
7562013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * grub-core/commands/probe.c: Add missing grub_device_close.
759
9f73ebd4
VS
7602013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * INSTALL: Document linguas.sh.
763
965fa829
VS
7642013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
765
766 Remove POTFILES.in and regenerate it in autogen.sh.
767
d417ddc4
VS
7682013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
769
770 Move --directory/--override-directorry to grub-install_header and unify.
771
f97ec546
VS
7722013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/term/morse.c: Macroify dih and dah.
775
b2d7470c
PFS
7762013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
777
778 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
779
141e2a78
VS
7802013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * grub-core/term/ns8250.c: Systematically probe ports by writing
783 to SR before using them.
784
1dd70ebd
PFS
7852013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
786
787 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
788 disks.
789 (check_sas): Get sas_adress info.
790
c796a107
VS
7912013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
794 ports.
795
43168646
LD
7962013-04-27 Leon Drugi <eyak>
797
798 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
799 BSS clearing.
800
e7b8fd08
VS
8012013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
802
803 Core compression test.
804
17f9fd29
VS
8052013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
806
807 Implement grub_machine_get_bootlocation for ARC.
808
dc2a6c8b
VS
8092013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
810
811 Improve AHCI detection and command issuing.
812
f25a2ba6
VS
8132013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
814
815 Fix pseries test.
816
a6393224
VS
8172013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
818
819 Make 'make check' work on emu.
820
db99fbe8
VS
8212013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
822
823 Replace libcurses with our own vt100 handling for the ease of testing
824 and decreasing prerequisites.
825
b24ca7cd
VS
8262013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
829
63314aa4
VS
8302013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
833 compile when not needed.
834
c1b00fff
VS
8352013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * tests/pseries_test.in: New test.
838
f93e89ef
VS
8392013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Add test to check that different boot mediums work.
842
c4b456d3
VS
8432013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
846 ofw limited ISO support.
847
5fe67f39
VS
8482013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * configure.ac: Fix loongson conditional.
851
7f63a64f
VS
8522013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
853
854 Enable mipsel-arc.
855
b04b5990
VS
8562013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
857
858 Add serial on ARC platform.
859
88d2f302
VS
8602013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
863 commit.
864
86eb23bc
VS
8652013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * tests/partmap_test.in: Add missing double semicolon.
868
eec3bb75
VS
8692013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * util/grub-mkrescue.in: Fix loongson filename.
872
e0810df3
VS
8732013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * util/grub-mkrescue.in: Move all files that don't have a location
876 set in stone under /boot/grub. Use ISO hard links rather than copies
877 to save some space.
878
65a6b30b
VS
8792013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
882 bogus SLOF values.
883
6aff0107
VS
8842013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
885
886 Make check work on mips-arc.
887
5e013e56
VS
8882013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * util/grub-mkrescue.in: Alias sashARCS as sash.
891
d1989e2e
VS
8922013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
893
894 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
895 it's serial.
896
1a25e72c
VS
8972013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * util/grub-install.in: Fix target fo qemu_mips.
900 Fix extension on EFI.
901
a59a9826
VS
9022013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
905 in front of chosen entry to mark it even if highlighting is lost.
906
1a40f80c
VS
9072013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
910 gfxpayload=keep if cbfb is active.
911
e343549c
VS
9122013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
915
45fbd9a2
VS
9162013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
917
918 Add missing video ids to coreboot and ieee1275 video.
919
ab1440bd
VS
9202013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * util/grub-mkrescue.in: Add mips-arc support.
923
cdeb8324
VS
9242013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
927
8528c879
VS
9282013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
929
930 Move mips-arc link address. Previous link address was chosen
931 in belief that RAM on SGI platforms grows down while in fact it
932 grows up from an unusual base.
933
17fca573
VS
9342013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
935
936 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
937 Fix a type which prevented CD-ROM and floppy boot.
938
d178788e
VS
9392013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
940
941 Support coreboot framebuffer.
942
943 * grub-core/video/i386/coreboot/cbfb.c: New file.
944
fe4c3e7e
VS
9452013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
948 detecting too small regions.
949
ec2dd179
VS
9502013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
953
872dac83
VS
9542013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
957 Remove dprintf.
958 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
959
90ec4b7f
VS
9602013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
963 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
964 * grub-core/loader/powerpc/ieee1275/linux.c
965 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
966
f32555dd
VS
9672013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
970 Look for /boot-rom as well as /rom/boot-rom.
971
38649799
VS
9722013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
975 handling when creating text_layer failed.
976 * grub-core/video/video.c (grub_video_create_render_target):
977 Set result to 0 on error.
978 (grub_video_delete_render_target): Do not dereference NULL.
979
aeace7f7
VS
9802013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
983 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
984 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
985 (grub_linux_load64): Mask out 2 high bits.
986
4eafa175
AB
9872013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
988
989 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
990 more place.
991
daaa64bd
VS
9922013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
993
994 Add support for pseries and other bootinfo machines to grub-mkrescue.
995
996 Tested by: Paulo Flabiano Smorigo.
997
d0d2daa6
VS
9982013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * util/grub-mkrescue.in: Add GPT for EFI boot.
1001
b193e100
VS
10022013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
1005 It improves performance in qemu.
1006
a0f8f3ac
VS
10072013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * build-aux/snippet: Add missing gnulib files.
1010
284df0e2
AB
10112013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1012
1013 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
1014
740201f3
AB
10152013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1016
1017 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
1018
a7e03923
PJ
10192013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
10202013-04-15 Peter Jones <pjones@redhat.com>
1021
1022 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
1023 sectors.
1024 Based on patch by Peter Jones.
1025
25fc51a8
VS
10262013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 Fix DMRAID partition handling.
1029
88017d47
VS
10302013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * tests/grub_cmd_date.in: Skip on sparc64.
1033
fa7d914e
VS
10342013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
1037 firmware error messages.
1038
cbe57a48
VS
10392013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
1042 source and destination differ.
1043
21aecce0
VS
10442013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
1047 detection.
1048
25092d29
VS
10492013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
1052 match config-util.h to avoid warnings and increase compatibility.
1053
79451522 10542013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 10552013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
1056
1057 Add option to compress files on install/image creation.
1058
78b7d77b
VS
10592013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * docs/grub-dev.texi: Rearrange menu to match the section order.
1062 Reported by: Bryan Hundven.
1063
cc2fa5ec
VS
10642013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
1067
b49fe879
VS
10682013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 Move GRUB out of system area when using xorriso 1.2.9 or later.
1071
5351da81
VS
10722013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * tests/grub_cmd_date.in: Add missing exit 1.
1075
c9d586ea
VS
10762013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * tests/partmap_test.in: Skip on sparc64.
1079
3f729741
VS
10802013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 Support grub-shell on sparc64.
1083
8ca86b3a
VS
10842013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 Support mkrescue on sparc64.
1087
aa1af9bb
VS
10882013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 Allow IEEE1275 ports on path even if it wasn't detected automatically.
1091 Needed on OpenBIOS due to incomplete device tree.
1092
ac4fea79
VS
10932013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
1096 would be otherwise excluded.
1097
10982013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
1099
1100 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1101 Inline name defines used only once.
1102
fe22b071
VS
11032013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 Fix memory leaks in ofnet.
1106 Reported by: Francesco Lavra.
1107
9d21381b
VS
11082013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * docs/man/grub-glue-efi.h2m: Add missing file.
1111
07aec23c
VS
11122013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
1115
67ab8353
VS
11162013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 Better support Apple Intel Macs on CD.
1119
ba44ca6d
VS
11202013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 Replace stpcpy with grub_stpcpy in tools.
1123
bbdd6305
VS
11242013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 Handle Japanese special keys.
1127 Reported by: Hiroyuki YAMAMORI.
1128 Codes supplied by: Hiroyuki YAMAMORI.
1129
8573d302
VS
11302013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * util/grub-mkimage.c: Document memdisk implying --prefix.
1133
d70dbab7
VS
11342013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
1137 much we can do about it anyway.
1138
51a4c3e3
AN
11392013-04-12 Aleš Nesrsta <starous@volny.cz>
1140
1141 Fix handling of split transfers.
1142
92c8f58d
VS
11432013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/net/http.c: Fix bad free.
1146
b7d17a49
VS
11472013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
1150 than buffer size.
1151
a3d566d4
VS
11522013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 Disable partmap check on i386-ieee1275 due to openfirmware issues.
1155
a936af56
VS
11562013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * tests/util/grub-shell.in: Fix it on powerpc.
1159
51212234
VS
11602013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 Turn off QEMU ACPI-way since new releases don't have shutdown port
1163 anymore.
1164
a21eec9e
VS
11652013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * docs/grub.texi: Update coreboot status info.
1168
e3734b84
VS
11692013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * tests/grub_cmd_date.in: New test for datetime.
1172
f9d40055
VS
11732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * tests/partmap_test.in: Fix missing qemudisk setting.
1176
dbc56d8f
VS
11772013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 Support i386-ieee1275 grub-mkrescue and make check on it.
1180
a79b8a15
VS
11812013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
1184 feature for it.
1185
48f39bb4
VS
11862013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
1189 GRUB_CMDLINE_XEN_DEFAULT.
1190 Reported by: Marc Warne (GigaTux) <gigatux>
1191
053cfcdd
VS
11922013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 Import new gnulib.
1195
93cd84df
VS
11962013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 Use ACPI shutdown intests as traditional port was removed.
1199
f4b1fa4f
AB
12002013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
1201
1202 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
1203 distinction.
1204
49818a59
VS
12052013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
1208 Fix few warining messages and leaks while on it.
1209
9277a306
AB
12102013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
1211
1212 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
1213 links under grub-core/lib/libgcrypt-grub/mpi.
1214
d5e2a158
VS
12152013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 Fix ia64-efi image generation on big-endian machines. Deduplicate
1218 some code while on it.
1219 Reported by: Leif Lindholm.
1220
18866643
AB
12212013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1222
1223 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
1224 as extra_dist.
1225
ca53deb8
AB
12262013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1227
1228 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
1229
d4c4b8e1
BH
12302013-04-08 Bryan Hundven <bryanhundven@gmail.com>
1231
1232 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
1233 texinfo-5.1.
1234
47043f95
VS
12352013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * grub-core/normal/term.c: Few more fixes for menu entry editor
1238 rendering.
1239 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1240
a3216068
VS
12412013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/normal/term.c: Few more fixes for menu entry editor
1244 rendering.
1245 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1246
21026747
AB
12472013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1248
1249 * conf/Makefile.extra-dist (EXTRA_DIST): Add
1250 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
1251
59624ca8
AB
12522013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1253
1254 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
1255 instead of hardcoding grub.mo.
1256
1f44478c
FN
12572013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
1258
1259 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
1260
eeada7b1
VS
12612013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
1264 grub-core/disk/geli.c.
1265
132867de
VS
12662013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * util/grub-mkfont.c: Prefer enum to #define.
1269
de73de17
VS
12702013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
1273
1865baa7
VS
12742013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
1277
ce7d92a9
VS
12782013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
1281
52eab656
VS
12822013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
1285
98b23b95
VS
12862013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * include/grub/bsdlabel.h: Use enums.
1289
0467a5dd
VS
12902013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 Move GRUB_CHAR_BIT to types.h.
1293
16cc9f03
AB
12942013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1295
1296 * docs/grub.texi: Document more user commands.
1297
3152aecb
AB
12982013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1299
1300 * docs/grub.texi: Document menuentry --id option.
1301
c506fc30
FL
13022013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
1303
1304 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
1305
aa428238
VS
13062013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 Unify file copying setup across different install scripts. Add
1309 options for performing partial install.
1310
efe0cdda
PJ
13112013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13122013-04-04 Peter Jones <pjones@redhat.com>
1313
1314 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
1315
f75835bd
VS
13162013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 Use TSC as a possible time source on i386-ieee1275.
1319
2cd5ce6c
VS
13202013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
1323 Init err.
1324
c9625630
VS
13252013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * util/grub-setup.c (setup): Handle some corner cases.
1328
be008941
VS
13292013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
1332
1a78d573
VS
13332013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * grub-core/commands/verify.c: Save verified file to avoid it being
1336 tampered with after verification was done.
1337
db8ff59f
VS
13382013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
1341 reported width by one to compensate for curesor algorithm problem.
1342
91bf46b1
VS
13432013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 Fix screen corruption in menu entry editor and simplify the code
1346 flow while on it.
1347
a7b1d693
AB
13482013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
1349
1350 * util/grub-mount.c (fuse_init): Return error if fuse_main
1351 failed.
1352
31df9ad8
FL
13532013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
1354
1355 * include/grub/elf.h: Add missing ARM relocation codes and fix
1356 existing ones.
1357
07f392eb
VT
13582013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1359
1360 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
1361
9efd73ec 13622013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
13632013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
1366 into account when calculating radius.
1367
13682013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
1369
1370 * grub-core/gfxmenu/view.c: Fix off-by-one error.
1371
4985ddaa
VT
13722013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1373
1374 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
1375
8c3635ff
RS
13762013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
1377
1378 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
1379 missing closing bracket.
1380
74a35e69
RS
13812013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
1382
1383 * INSTALL: Mention xorriso requirement.
1384
40f1c000
AB
13852013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
1386
1387 * grub-core/commands/verify.c: Fix hash algorithms values for
1388 the first three hashes - they start with 1, not with 0.
1389
e75fdee4
VS
13902013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
1393 Try terminating EFI services several times due to quirks in some
1394 implementations.
1395
33028f4c
CW
13962013-03-26 Colin Watson <cjwatson@ubuntu.com>
1397
1398 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
1399 skipping Event, Device, Processor, PowerRes, ThermalZone, and
1400 BankField extended opcodes.
1401 (get_sleep_type): Add minimal scope handling (just enough to
1402 handle setting the scope to the root path).
1403 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
1404 * include/grub/acpi.h: Add enumeration values for Event, Device,
1405 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
1406
33871a10
VT
14072013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
1408
1409 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
1410 memory leak.
1411
8990963a
VS
14122013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * grub-core/disk/ahci.c: Give more time for AHCI request.
1415
daae8f9e
VS
14162013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
1419 command.
1420
6a7fb94b
VS
14212013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 Replace the region at 0 from coreboot tables to available in BSD
1424 memory map.
1425
ff99babd
VS
14262013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
1429 non-BIOS platforms.
1430
30d6b1b2
VS
14312013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
1434 platforms.
1435
6ccd0b31
VS
14362013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
1439 handling of multi-device filesystems.
1440
23c9cc04
VS
14412013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
1444 platforms.
1445
ce50dbd7
VS
14462013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 Add new 'proc' filesystem framework and put luks_script into it.
1449
d975e8d5
VS
14502013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
1453 and qemu.
1454
e73ba5e8
VS
14552013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
1458
92750e4c
VS
14592013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 Add ability to generate newc additions on runtime.
1462
0ec45a68
VS
14632013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
1466 description.
1467
320abd43
VS
14682013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 * po/POTFILES.in: Regenerate.
1471
d7a6506e
VS
14722013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 * grub-core/commands/verify.c (hashes): Add several hashes
1475 from the spec.
1476
8fe05def
VS
14772013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 Slight improve in USB-related boot-time checkpoints.
1480
524e2766
VS
14812013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/commands/boottime.c: Fix copyright header.
1484
cc19857a
VS
14852013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
1488 coreboot tables content. Support for cbmemc.
1489
ef8810e9
VS
14902013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 Fix a conflict between ports structures with 2 controllers of
1493 same kind.
1494
e9dabdfa
VS
14952013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * include/grub/boottime.h: Add missing file.
1498
f6df57d2
VS
14992013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 Initialize USB ports in parallel to speed-up boot.
1502
d745dda7
VS
15032013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 Fix USB devices not being detected when requested
1506 due to delayed attach.
1507
e5a2dd7b
VS
15082013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1509
e744219b
VS
1510 Implement boot time analysis framework.
1511
15122013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
1515 descriptor to just receive it as argument rather than endpoint
1516 address.
1517
5dd6f587
VS
15182013-03-19 Aleš Nesrsta <starous@volny.cz>
1519
1520 Better estimate the maximum USB transfer size.
1521
2f1071d5
VS
15222013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 Resend a packet if we got the wrong buffer in status.
1525
46ecfc49
VS
15262013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
1529 multiplication rather than division.
1530
ea811130
VS
15312013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
1534 than divisions.
1535
d2789cf0
VS
15362013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
1539 operations to have intended shifts and not divisions.
1540
a9c94590
VS
15412013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
1544 intended shifts rather than division.
1545
84cfe81b
VS
15462013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
1549 computation for some years before epoch. Avode confusing division
1550 while on it.
1551
21344ef6
VS
15522013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * grub-core/video/i386/pc/vbe.c
1555 (grub_video_vbe_print_adapter_specific_info): Replace division by
1556 shifts.
1557
3f2b4d1a
VS
15582013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 Adjust types in gdb module to have intended unsigned shifts rather than
1561 signed divisions.
1562
3dac5878
VS
15632013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
1566 maximum size is 4G - 1 on hfs
1567
5341c0fb
VS
15682013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
1571
fc3ff2a2
VS
15722013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
1575 function.
1576
81455e8e
AB
15772013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
1578
1579 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
1580 causing gcc error with gcc 4.7.1.
1581
efd4f117
NZ
15822013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
1583
1584 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
1585 dereference null pointer. While the code is technically correct, gcc
1586 may eliminate a null check if pointer is already dereferenced.
1587
e11645f4
NZ
15882013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
1589
1590 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
1591 OOM check.
1592 * grub-core/normal/term.c (read_terminal_list): Likewise.
1593
77468368
VS
15942013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 Lift up core size limits on some platforms. Fix potential memory
1597 corruption with big core on small memory systems. Document remaining
1598 limits.
1599
f6b58fe5
VS
16002013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
1603 gotoxy to 0,0.
1604
19ce697d
VS
16052013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 Remove all trampoline support. Add -Wtrampolines when
1608 present. Remove symbols used for trampolines to make
1609 link fail if trampolines are present.
1610
73b5d90f
VS
16112013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
1614 append out of its parent.
1615
cb758e96
VS
16162013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
1619 parent.
1620
3188131f
VS
16212013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
1624 all vars to a macro. All users updated.
1625
e42b2514
VS
16262013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * grub-core/disk/ieee1275/nand.c: Fix compilation on
1629 i386-ieee1275.
1630
83e1a1a1
VS
16312013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
1634
1d5a880f
VS
16352013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
1638
6e4146c4
VS
16392013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 Move to more hookless approach in IEEE1275 devices handling.
1642
99fcda8a
VS
16432013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * grub-core/kern/term.c (grub_term_normal_color),
1646 (grub_term_highlight_color): Add back lost defaults.
1647
73bf57e2
VS
16482013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 Make elfload not use hooks. Opt for flags and iterators instead.
1651
7f8c105f
VS
16522013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
1655 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
1656
396d4091
VS
16572013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * grub-core/script/execute.c (gettext_append): Remove nested functions.
1660
16612013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
1664 hook pass-through parameter. All users updated and unnested.
1665
74a27421
VS
16662013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
1669 out of its parent.
1670
b46d4213
VS
16712013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * grub-core/fs/hfs.c: Remove nested functions.
1674
e114c3cc
VS
16752013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
1678 the context through.
1679 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
1680
f9b7d780
VS
16812013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 * util/grub-editenv.c (list_variables): Move print_var out of its
1684 parent.
1685
ca9c2608
VS
16862013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
1689 function.
1690
5d983f5f
VS
16912013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * grub-core/gentrigtables.c: Make tables const.
1694
3056d3e7
VS
16952013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 Remove nested functions from videoinfo iterators.
1698
e2303774
VS
16992013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
1702 for 64-bit platforms.
1703
f42e3a2f
VS
17042013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
1707 a FOR_CHILDREN macro.
1708
be174e5e
VS
17092013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
1712 platform from firmware path.
1713
0789b672
VS
17142013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 Enable linux16 on non-BIOS systems for i.a. memtest.
1717
1718 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
1719 correctly.
1720 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
1721
005a9c32
VS
17222013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
1725 Fix end of table condition.
1726
ff2b3cd9
VS
17272013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
1730 out of its parent.
1731
4fc40ff8
VS
17322013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * grub-core/fs/jfs.c: Remove nested functions.
1735
be42d97a
VS
17362013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * grub-core/fs/minix.c: Remove nested functions.
1739
99373ce4
VS
17402013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * grub-core/fs/iso9660.c: Remove nested functions.
1743
5aec2afe
VS
17442013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
1747 of parent function.
1748
6c69e691
VS
17492013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * util/grub-fstest.c: Remove nested functions.
1752
43c91882
VS
17532013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * grub-core/loader/machoXX.c: Remove nested functions.
1756
4eb8b756
CW
17572013-02-27 Colin Watson <cjwatson@ubuntu.com>
1758
1759 Remove nested functions from disk and file read hooks.
1760
1761 * include/grub/disk.h (grub_disk_read_hook_t): New type.
1762 (struct grub_disk): Add read_hook_data member.
1763 * include/grub/file.h (struct grub_file): Likewise.
1764 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
1765 argument.
1766
1767 Update all callers.
1768
df6da5a5
AB
17692012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
1770
1771 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
1772 Fix off by one error in enumerating extended partitions.
1773
21aecde5
AB
17742013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
1775
1776 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
1777 memory leak if device name is not found.
1778
f1a19118
AB
17792013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
1780
1781 * grub-core/normal/menu_entry.c (update_screen): remove
1782 unused variable `off' which caused scroll down arrow to be always shown.
1783
958bfd20
AB
17842013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
1785
1786 * grub-core/normal/menu_entry.c (insert_string): fix off by one
1787 access to unallocated memory.
1788
b7b78edb
AB
17892013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
1790
1791 * Makefile.util.def: Add partmap/msdos.c to common library.
1792 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
1793 * grub-core/disk/ldm.c: Check for existence of
1794 GRUB_PC_PARTITION_TYPE_LDM.
1795
28d468d6
VS
17962013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
1799 sizes and display sector size.
1800
d55ffb02
VS
18012013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 Implement new command cmosdump.
1804
b5ea6ce0
VS
18052013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1806
1807 Support Openfirmware disks with non-512B sectors.
1808
1809 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
1810 size of the disk.
1811 * (grub_ofdisk_get_block_size): New function.
1812 * (grub_ofdisk_prepare): Use the correct block size.
1813 * (grub_ofdisk_read): Likewise.
1814 * (grub_ofdisk_write): Likewise.
1815 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
1816 New proto.
1817
cc0e476f
VS
18182013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
1821
c5dbdc33
VS
18222013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
1825 on first error.
1826
3f078c0f
VS
18272013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
1830 freeing it.
1831
66a93674
VS
18322013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 Implement USBDebug (full USB stack variant).
1835
c9f0c134
VS
18362013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
1839 unless they have unexpected values.
1840
cfe1288b
VS
18412013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
1844 grub_print_error.
1845
e42b9969
VS
18462013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
1849 zero-out of port structure.
1850
cf94fd62
VS
18512013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
1854 of extended attributes.
1855
f81ef4b5
AB
18562013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
1857
1858 * util/grub-install.in: change misleading comment about
1859 device.map creation
1860
af18fdb4
VS
18612013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
1864 when menu highlight color isn't set.
1865
08bcec50
M
18662013-01-27 C. Masloch <pushbx@38.de>
1867
1868 Improve FreeDOS direct loading support compatibility.
1869
1870 * include/grub/i386/relocator.h (grub_relocator16_state):
1871 New member ebp.
1872 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
1873 variable.
1874 (grub_relocator16_boot): Handle %ebp.
1875 * grub-core/lib/i386/relocator16.S: Likewise.
1876 * grub-core/loader/i386/pc/freedos.c:
1877 Load BPB to pass kernel which partition to load from.
1878 Check that kernel file is not too large.
1879 Set register dl to BIOS unit number as well.
1880
7782b8a6
CW
18812013-01-22 Colin Watson <cjwatson@ubuntu.com>
1882
1883 * util/grub-reboot.in (usage): Document the need for
1884 GRUB_DEFAULT=saved.
1885 * util/grub-set-default.in (usage): Likewise.
1886 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
1887
e661c180
VS
18882013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
1891 than defining WORDS_BIGENDIAN manually.
1892
1c22ca9a
VS
18932013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
1896 invariants.
1897
d44892fe
CW
18982013-01-21 Colin Watson <cjwatson@ubuntu.com>
1899
1900 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
1901 nested.
1902 (blit_comb: add_device_width): Likewise.
1903
5fdbaed1
CW
19042013-01-21 Colin Watson <cjwatson@ubuntu.com>
1905
1906 Remove nested functions from USB iterators.
1907
1908 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
1909 (grub_usb_controller_iterate_hook_t): Likewise.
1910 (grub_usb_iterate): Add hook_data argument.
1911 (grub_usb_controller_iterate): Likewise.
1912 (struct grub_usb_controller_dev.iterate): Likewise.
1913
1914 Update all implementations and callers.
1915
4250985a
VS
19162013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
1919 margin when not needed.
1920
7d8848f3
VS
19212013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1922
bc136973 1923 Make color variables global instead of it being per-terminal.
7d8848f3
VS
1924
19252013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1926
bc136973
VS
1927 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
1928 asterisk.
7d8848f3 1929
ed12a003
CW
19302013-01-21 Colin Watson <cjwatson@ubuntu.com>
1931
1932 Fix powerpc and sparc64 build failures caused by un-nesting memory
1933 map iterators.
1934
6a0db449
CW
19352013-01-21 Colin Watson <cjwatson@ubuntu.com>
1936
1937 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
1938 parameter declarations.
1939
ccd86b21
VS
19402013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
1943
822b726b
VS
19442013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 Improve spkmomdem reliability by adding a separator between bytes.
1947
115c2cc1
CW
19482013-01-21 Colin Watson <cjwatson@ubuntu.com>
1949
1950 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
1951 an Acer registration utility with several sightings in the wild.
1952 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
1953
fc524edf
CW
19542013-01-21 Colin Watson <cjwatson@ubuntu.com>
1955
1956 Remove nested functions from filesystem directory iterators.
1957
1958 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
1959 (struct grub_fs.dir): Add hook_data argument.
1960
1961 Update all implementations and callers.
1962
53d3e4e3
CW
19632013-01-21 Colin Watson <cjwatson@ubuntu.com>
1964
1965 * docs/grub.texi (Multi-boot manual config): Fix typo for
1966 "recommended".
1967
c821711f
LL
19682013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1969
1970 * util/grub-mkimage.c (main): Postpone freeing arguments.output
1971 until after its use in generate_image.
1972
6a0debbd
CW
19732013-01-20 Colin Watson <cjwatson@ubuntu.com>
1974
1975 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
1976 initrd size to addr_min, since the initrd will be allocated after
1977 this address.
1978
f41e08db
AB
19792013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
1980
1981 * conf/Makefile.common: Fix autogen rules to pass definition
1982 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
1983
77529e0f
LL
19842013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1985
1986 * include/grub/elf.h: Update ARM definitions based on binutils.
1987
b879aa7b
VS
19882013-01-20 Aleš Nesrsta <starous@volny.cz>
1989
1990 Split long USB transfers into short ones.
1991
8eb8284d
AB
19922013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
1993
1994 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
1995 is interrupted by ESC.
1996
08dad2dc
VS
19972013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * util/grub-script-check.c (main): Uniform the error message.
2000
6c724b85
CW
20012013-01-20 Colin Watson <cjwatson@ubuntu.com>
2002
2003 Remove nested functions from ELF iterators.
2004
25239370
CW
20052013-01-20 Colin Watson <cjwatson@ubuntu.com>
2006
2007 Remove nested functions from device iterators.
2008
2009 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
2010 (grub_arc_iterate_devs): Add hook_data argument.
2011 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
2012 (struct grub_ata_dev.iterate): Add hook_data argument.
2013 * include/grub/device.h (grub_device_iterate_hook_t): New type.
2014 (grub_device_iterate): Add hook_data argument.
2015 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
2016 (struct grub_disk_dev.iterate): Add hook_data argument.
2017 (grub_disk_dev_iterate): Likewise.
2018 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
2019 Likewise.
2020 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
2021 Likewise.
2022 * include/grub/partition.h (grub_partition_iterate_hook_t): New
2023 type.
2024 (struct grub_partition_map.iterate): Add hook_data argument.
2025 (grub_partition_iterate): Likewise.
2026 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
2027 (struct grub_scsi_dev.iterate): Add hook_data argument.
2028
2029 Update all callers.
2030
6c0314d6
CW
20312013-01-20 Colin Watson <cjwatson@ubuntu.com>
2032
2033 Fix typos for "developer" and "development".
2034
600dc5f1
VS
20352013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 Add license header to spkmodem-recv.c.
2038
17334a6b
VS
20392013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 Rewrite spkmodem to use PIT for timing. Double the speed.
2042
7d462559
VS
20432013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 Add new command pcidump.
2046
b78d6c32
VS
20472013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2048
2049 New terminal outputs using serial: morse and spkmodem.
2050
34f71cb8
VS
20512013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 Improve bidi handling in entry editor.
2054
4542e71b
VS
20552013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2058 argument to prevent name collision.
2059
09fd6d82
CW
20602013-01-15 Colin Watson <cjwatson@ubuntu.com>
2061
2062 Remove nested functions from script reading and parsing.
2063
2064 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
2065 getline_data argument, passed to getline.
2066 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
2067 getline_data argument, passed to grub_parser_split_cmdline.
2068 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
2069 lexerstate->getline_data to lexerstate->getline.
2070 (grub_script_lexer_init): Add getline_data argument, saved in
2071 lexerstate->getline_data.
2072 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
2073 argument, passed to grub_script_parse.
2074 * grub-core/script/script.c (grub_script_parse): Add getline_data
2075 argument, passed to grub_script_lexer_init.
2076 * include/grub/parser.h (grub_parser_split_cmdline): Update
2077 prototype. Update all callers to pass appropriate getline data.
2078 (struct grub_parser.parse_line): Likewise.
2079 (grub_rescue_parse_line): Likewise.
2080 * include/grub/reader.h (grub_reader_getline_t): Add void *
2081 argument.
2082 * include/grub/script_sh.h (struct grub_lexer_param): Add
2083 getline_data member.
2084 (grub_script_parse): Update prototype. Update all callers to pass
2085 appropriate getline data.
2086 (grub_script_lexer_init): Likewise.
2087 (grub_normal_parse_line): Likewise.
2088
2089 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
2090 data argument.
2091 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
2092 static instead of nested. Rename to ...
2093 (grub_parser_execute_getline): ... this.
2094 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
2095 data argument.
2096 * grub-core/normal/main.c (read_config_file: getline): Make static
2097 instead of nested. Rename to ...
2098 (read_config_file_getline): ... this.
2099 (grub_normal_read_line): Add unused data argument.
2100 * grub-core/script/execute.c (grub_script_execute_sourcecode:
2101 getline): Make static instead of nested. Rename to ...
2102 (grub_script_execute_sourcecode_getline): ... this.
2103 * util/grub-script-check.c (main: get_config_line): Make static
2104 instead of nested.
2105
d0d4b8a0
CW
21062013-01-15 Colin Watson <cjwatson@ubuntu.com>
2107
2108 Remove nested functions from memory map iterators.
2109
2110 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
2111 argument, passed to hook.
2112 * grub-core/kern/i386/coreboot/mmap.c
2113 (grub_linuxbios_table_iterate): Likewise.
2114 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
2115 instead of nested.
2116 (grub_machine_mmap_iterate): Add hook_data argument.
2117 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
2118 Add hook_data argument, passed to hook.
2119 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
2120 Likewise.
2121 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2122 Likewise.
2123 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
2124 Likewise.
2125 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
2126 Likewise.
2127 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
2128 Likewise.
2129 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
2130 Likewise.
2131 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
2132 (grub_machine_mmap_iterate): Likewise.
2133 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
2134 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
2135 prototype.
2136 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
2137 Remove NESTED_FUNC_ATTR from here and from all users.
2138 (grub_mmap_iterate): Update prototype.
2139 (grub_efi_mmap_iterate): Update prototype. Update all callers to
2140 pass appropriate hook data.
2141 (grub_machine_mmap_iterate): Likewise.
2142
2143 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
2144 static instead of nested.
2145 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
2146 Rename to ...
2147 (lsmmap_hook): ... this.
2148 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
2149 Likewise.
2150 (grub_efiemu_mmap_fill: fill_hook): Likewise.
2151 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
2152 heap_init): Likewise.
2153 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
2154 Rename to ...
2155 (mmap_iterate_hook): ... this.
2156 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
2157 Likewise.
2158 * grub-core/lib/ieee1275/relocator.c
2159 (grub_relocator_firmware_get_max_events: count): Likewise.
2160 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
2161 to ...
2162 (grub_relocator_firmware_fill_events_iter): ... this.
2163 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
2164 hook): Likewise. Rename to ...
2165 (grub_relocator_alloc_chunk_align_iter): ... this.
2166 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
2167 Rename to ...
2168 (generate_e820_mmap_iter): ... this.
2169 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
2170 Rename to ...
2171 (count_hook): ... this.
2172 (grub_linux_boot: hook): Likewise. Rename to ...
2173 (grub_linux_boot_mmap_find): ... this.
2174 (grub_linux_boot: hook_fill): Likewise. Rename to ...
2175 (grub_linux_boot_mmap_fill): ... this.
2176 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
2177 hook): Likewise. Rename to ...
2178 (grub_fill_multiboot_mmap_iter): ... this.
2179 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
2180 hook): Likewise. Rename to ...
2181 (count_hook): ... this.
2182 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
2183 hook): Likewise. Rename to ...
2184 (grub_fill_multiboot_mmap_iter): ... this.
2185 * grub-core/loader/powerpc/ieee1275/linux.c
2186 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
2187 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
2188 Likewise. Rename to ...
2189 (alloc_phys_choose): ... this.
2190 (determine_phys_base: get_physbase): Likewise.
2191 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
2192 find_hook): Likewise.
2193 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
2194 (malloc_hook: count_hook): Likewise.
2195 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
2196 Likewise. Rename to ...
2197 (lower_hook): ... this.
2198 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2199 (upper_hook): ... this.
2200 (grub_mmap_get_post64: hook): Likewise. Rename to ...
2201 (post64_hook): ... this.
2202 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
2203 Likewise. Rename to ...
2204 (lower_hook): ... this.
2205 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2206 (upper_hook): ... this.
2207 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
2208 (grub_mmap_iterate: fill_hook): Likewise.
2209 (fill_mask): Pass addr and mask within a single struct.
2210 (grub_cmd_badram: hook): Make static instead of nested. Rename
2211 to ...
2212 (badram_iter): ... this.
2213 (grub_cmd_cutmem: hook): Likewise. Rename to ...
2214 (cutmem_iter): ... this.
2215
22099030
VS
22162013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
2219 delimit path in strings using quotes.
2220 * util/getroot.c (grub_guess_root_devices): Likewise.
2221 (grub_make_system_path_relative_to_its_root): Likewise.
2222 * util/grub-probe.c (probe): Likewise.
2223 * util/ieee1275/ofpath.c (find_obppath): Likewise.
2224 (xrealpath): Likewise.
2225
4a9950ec
VS
22262013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 Fix compilation with older compilers.
2229
2230 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
2231 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
2232 declarations.
2233 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
2234 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
2235 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
2236 identifier with b.
2237 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
2238 * include/grub/crypto.h: Add type defines.
2239 * util/import_gcrypth.sed: Remove duplicate type defines.
2240
adcc6020
VS
22412013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 New command list_trusted.
2244
2245 * grub-core/commands/verify.c (grub_cmd_list): New function.
2246
a4528937
CW
22472013-01-13 Colin Watson <cjwatson@ubuntu.com>
2248
2249 * util/grub-mkimage.c (generate_image): Fix "size of public key"
2250 info message.
2251
ca3a7446
CW
22522013-01-13 Colin Watson <cjwatson@ubuntu.com>
2253
2254 Remove nested functions from PCI iterators.
2255
2256 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
2257 passed to hook. Update all callers to pass appropriate hook data.
2258 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
2259 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
2260 Remove NESTED_FUNC_ATTR from here and from all users.
2261 (grub_pci_iterate): Update prototype.
2262 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
2263 instead of nested. Rename to ...
2264 (grub_cs5536_find_iter): ... this.
2265 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
2266 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
2267 Likewise.
2268 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
2269 Likewise.
2270 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
2271 Likewise.
2272 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
2273 Likewise.
2274 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
2275 * grub-core/video/radeon_fuloong2e.c
2276 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
2277 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
2278 find_card): Likewise.
2279 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
2280 Likewise.
2281
f8e98fee
VS
22822013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * grub-core/commands/verify.c: Mark messages for translating.
2285
055b36b6
VS
22862013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
2289 fatal.
2290
f7ff879b
VS
22912013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
2294 fatal.
2295
22962013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
2297
2298 * autogen.sh: Do not try to delete nonexistant files.
2299 * util/import_gcrypth.sed: Add some missing header removals.
2300
01323d49
CW
23012013-01-12 Colin Watson <cjwatson@ubuntu.com>
2302
2303 Clean up dangling references to grub-setup.
2304 Fixes Ubuntu bug #1082045.
2305
2306 * docs/grub.texi (Images): Refer generally to grub-install rather
2307 than directly to grub-setup.
2308 (Installing GRUB using grub-install): Remove direct reference to
2309 grub-setup.
2310 (Device map) Likewise.
2311 (Invoking grub-install): Likewise.
2312 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2313 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2314 * util/grub-install.in (usage): Likewise.
2315
2316 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
2317 Apply to grub-bios-setup and grub-sparc64-setup rather than to
2318 grub-setup.
2319 * configure.ac: Remove grub_setup output variable.
2320
2321 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
2322 to grub-bios-setup.
2323 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
2324 grub-setup to grub-sparc64-setup.
2325
5e3b8dcb
VS
23262013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 Import gcrypt public-key cryptography and implement signature checking.
2329
535714bd
VS
23302013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 * grub-core/fs/ntfs.c: Ue more appropriate types.
2333 * grub-core/fs/ntfscomp.c: Likewise.
2334 * include/grub/ntfs.h: Likewise.
2335
3e4f3566
VS
23362013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 Support Apple FAT binaries on non-Apple platforms.
2339
2340 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
2341 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
2342 Likewise.
2343 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
2344 Apple FAT binaries.
2345
4dedb13f
VS
23462013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
2349 sector devices.
2350
f8861eaf
CW
23512013-01-07 Colin Watson <cjwatson@ubuntu.com>
2352
2353 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
2354 explicitly zeroing elements.
2355 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
2356 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
2357 of elements in a structure already allocated using grub_zalloc.
2358 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
2359
86065b0a
CW
23602013-01-07 Colin Watson <cjwatson@ubuntu.com>
2361
2362 * docs/grub.texi (grub_cpu): New subsection.
2363 (grub_platform): Likewise.
2364
c6f1e92f
VS
23652013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
2368
f797ec85
VS
23692013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
2372 divisions.
2373
033d0b4b
VS
23742013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
2377 * grub-core/fs/ntfscomp.c: Likewise.
2378 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
2379 (grub_ntfs_comp): Likewise.
2380
21d1b9a0
VS
23812013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
2384 Rename to ...
2385 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
2386 of groups_per_block. All users updated.
2387
10ca8645
VS
23882013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
2391 grub_error properly.
2392 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
2393 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
2394
a4c3ed4c
VS
23952013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
2398 always in /boot/zfs.
2399 Reported by: Yuta Satoh.
2400
0b716507
YS
24012013-01-03 Yuta Satoh <nigoro>
2402
2403 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
2404 ${grub_probe}
2405
00c05e22
VS
24062013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * configure.ac: Extend -Wno-trampolines to host.
2409
dadddb76
VS
24102013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
2413 entry->len = 0.
2414
54ce53ca
CW
24152013-01-03 Colin Watson <cjwatson@ubuntu.com>
2416
2417 * docs/grub.texi (Invoking grub-mkrelpath): New section.
2418 (Invoking grub-script-check): Likewise.
2419
8912efca
CW
24202013-01-03 Colin Watson <cjwatson@ubuntu.com>
2421
2422 * docs/grub.texi (Invoking grub-mount): New section.
2423 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
2424
c3fc8394
CW
24252013-01-02 Colin Watson <cjwatson@ubuntu.com>
2426
2427 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
2428 test failures, so that a failing unit test correctly causes 'make
2429 check' to fail.
2430
45d26abb
CW
24312013-01-02 Colin Watson <cjwatson@ubuntu.com>
2432
2433 Fix failing printf test.
2434
2435 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
2436 '$' in the correct order when collecting type information.
2437
971dd2c6
CW
24382013-01-02 Colin Watson <cjwatson@ubuntu.com>
2439
2440 * docs/grub.texi (configfile): Explain environment variable
2441 handling.
2442 (source): New section.
2443 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
2444
5c67ea6c
CW
24452012-12-31 Colin Watson <cjwatson@ubuntu.com>
2446
2447 Remove several trivially-unnecessary uses of nested functions.
2448
2449 * grub-core/commands/i386/pc/sendkey.c
2450 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
2451 instead of nested.
2452 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
2453 Rename to ...
2454 (legacy_file_getline): ... this.
2455 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
2456 Likewise.
2457 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
2458 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
2459 to ...
2460 (probe_dummy_iter): ... this.
2461 * grub-core/kern/i386/coreboot/mmap.c
2462 (grub_linuxbios_table_iterate: check_signature): Likewise.
2463 * grub-core/kern/parser.c (grub_parser_split_cmdline:
2464 check_varstate): Likewise. Mark inline.
2465 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
2466 an additional parameter.
2467 (find_long: fnd_long): Likewise. Pass two additional parameters.
2468 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
2469 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
2470 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
2471 Likewise. Rename to ...
2472 (grub_cmos_find_port_iter): ... this.
2473 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
2474 Rename to ...
2475 (find_rtc_iter): ... this.
2476
2477 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
2478 function directly into the function body, since it is only called
2479 once.
2480
33a68ac6
CW
24812012-12-30 Colin Watson <cjwatson@ubuntu.com>
2482
2483 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
2484 __attribute__ ((unused)).
2485 * grub-core/video/bochs.c (find_card): Likewise.
2486 * grub-core/video/cirrus.c (find_card): Likewise.
2487 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
2488 * grub-core/video/sis315pro.c (find_card): Likewise.
2489 * grub-core/video/sm712.c (find_card): Likewise.
2490
608b647a
CW
24912012-12-28 Colin Watson <cjwatson@ubuntu.com>
2492
2493 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
2494 Fixes Savannah bug #37821.
2495
fd49ceb3
CW
24962012-12-28 Colin Watson <cjwatson@ubuntu.com>
2497
2498 Apply program name transformations at build-time rather than at
2499 run-time. Fixes Debian bug #696465.
2500
2501 * acinclude.m4 (grub_TRANSFORM): New macro.
2502 * configure.ac: Create output variables with transformed names for
2503 most programs.
2504 * util/bash-completion.d/grub-completion.bash.in: Use
2505 pre-transformed variables for program names.
2506 * util/grub-install.in: Likewise.
2507 * util/grub-kbdcomp.in: Likewise.
2508 * util/grub-mkconfig.in: Likewise.
2509 * util/grub-mkconfig_lib.in: Likewise.
2510 * util/grub-mknetdir.in: Likewise.
2511 * util/grub-mkrescue.in: Likewise.
2512 * util/grub-mkstandalone.in: Likewise.
2513 * util/grub-reboot.in: Likewise.
2514 * util/grub-set-default.in: Likewise.
2515 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2516 * tests/util/grub-shell-tester.in: Remove unused assignment.
2517 * tests/util/grub-shell.in: Likewise.
2518 * util/grub.d/00_header.in: Likewise.
2519
7024b3c0
CW
25202012-12-28 Colin Watson <cjwatson@ubuntu.com>
2521
2522 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
2523
2524 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
2525 HAVE_RAW_DECL_GETS.
2526 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
2527
e3501b13
VS
25282012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
2531 Reported by: Eriks Latosheks <foresterlv>.
2532
b40c88a9
VS
25332012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * docs/grub.texi (Network): Update instructions on generating netboot
2536 image.
2537
ce96d01c
VS
25382012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
2541 around device name if necessarry.
2542
0f596201
PFS
25432012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2544
2545 * util/grub-install.in: Follow the symbolic link parameter added
2546 to the file command.
2547
600d5bdb
AB
25482012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
2549
2550 * util/grub-install.in: Remove stale TODO.
2551
64ebd2f4
PFS
25522012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2553
2554 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
2555 dynamic allocation for the bootpath buffer.
2556
74b2fe3e
DTB
25572012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
2558
2559 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
2560 window too small.
2561
969b804f
VS
25622012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
2565 argument rather than font name. All users updated.
2566 (grub_gfxterm_set_window): Likewise.
2567
b9f5ebd6
VT
25682012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2569
2570 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
2571 from working.
2572
258f43b7
VS
25732012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2574
2575 * util/getroot.c (convert_system_partition_to_system_disk): Support
2576 nbd disks.
2577
cc1ce5f9
VS
25782012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
2581 infinite loop on corrupted FS.
2582
e77a16ca
VS
25832012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 Fix big-endian mtime.
2586
2587 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
2588 together sec and usec.
2589 (grub_ufs_dir): Use correct byteswapping for UFS time.
2590
d9c48c7b
VS
25912012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 Support big-endian UFS1.
2594
2595 * Makefile.util.def (libgrubmods): Add ufs_be.c
2596 * grub-core/Makefile.core.def (ufs1_be): New module.
2597 * grub-core/fs/ufs_be.c: New file.
2598 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
2599 the file.
2600
2f9f40ba
LL
26012012-11-28 Leif Lindholm <leif.lindholm@arm.com>
2602
2603 * include/grub/types.h: Fix functionality unaffecting typo in
2604 GRUB_TARGET_WORDSIZE conditional macro.
2605
48ff0889
PFS
26062012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2607
2608 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
2609
03711240
GS
26102012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
2611
2612 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
2613 that /netbsd appears first (when it exists).
2614
a31b11bd
CJ
26152012-10-12 Christoph Junghans <ottxor@gentoo.org>
2616
2617 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
2618 Fixes Savannah bug #37558.
2619
e8a5d5d4
CW
26202012-10-12 Colin Watson <cjwatson@ubuntu.com>
2621
2622 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
2623 description of extract_entries_configfile.
2624
26252012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
2626
2627 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
2628 preferred_address.
2629 (grub_cmd_linux): Likewise.
2630 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
2631 preferred_lifetime. Update all users.
2632
288c757d
CW
26332012-09-26 Colin Watson <cjwatson@ubuntu.com>
2634
2635 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
2636 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
2637
0d35da3f
CW
26382012-09-26 Colin Watson <cjwatson@ubuntu.com>
2639
2640 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
2641 errors from grub-probe to /dev/null, not stdout.
2642
b78c3127
VS
26432012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
2646 sector 1.
2647
473959f0
CW
26482012-09-24 Colin Watson <cjwatson@ubuntu.com>
2649
2650 * util/grub-install.in: Make the error message if $source_dir
2651 doesn't exist more useful.
2652
794c8c33
CW
26532012-09-22 Colin Watson <cjwatson@ubuntu.com>
2654
2655 Fix grub-emu build on FreeBSD.
2656
2657 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
2658 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
2659 headers on Linux.
2660 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
2661 implementation is currently Linux-specific.
2662 * util/getroot.c (exec_pipe): Define only on Linux or when either
2663 libzfs or libnvpair is unavailable.
2664 (find_root_devices_from_poolname): Remove unused path variable.
2665
86d08fdb
CW
26662012-09-19 Colin Watson <cjwatson@ubuntu.com>
2667
2668 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
2669 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
2670 should fit before end == 63.
2671
735abf54
CW
26722012-09-19 Colin Watson <cjwatson@ubuntu.com>
2673
2674 * util/grub-setup.c (write_rootdev): Remove unused core_img
2675 parameter. Update all callers.
2676 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
2677 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
2678 GRUB_SETUP_BIOS.
2679
140acd3c
VS
26802012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * util/grub-mkconfig_lib.in (grub_tab): New variable.
2683 (grub_add_tab): New function.
2684 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
2685 * util/grub.d/10_illumos.in: Likewise.
2686 * util/grub.d/10_kfreebsd.in: Likewise.
2687 * util/grub.d/10_linux.in: Likewise.
2688 * util/grub.d/10_netbsd.in: Likewise.
2689 * util/grub.d/10_windows.in: Likewise.
2690 * util/grub.d/10_xnu.in: Likewise.
2691 * util/grub.d/20_linux_xen.in: Likewise.
2692 * util/grub.d/30_os-prober.in: Likewise.
2693
7ddffdad
VS
26942012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2697 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
2698 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
2699 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
2700 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
2701 ieee1275-nocursor.
2702 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2703 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
2704
4e092454
VS
27052012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
2708 le-conversion.
2709 Reported by: BURETTE, Bernard.
2710
735abf54 27112012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
2712
2713 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
2714 from comment.
2715
dfd39dbd
CW
27162012-09-14 Colin Watson <cjwatson@ubuntu.com>
2717
2718 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
2719 IEEE1275 machines. Fixes powerpc-emu compilation.
2720 * include/grub/terminfo.h: Likewise.
2721
3bfa763c
VS
27222012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
2725 a const pointer.
2726 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
2727 const pointer.
2728 (efiemu_set_variable): Make vendor_guid a const pointer.
2729
250e475b
VS
27302012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 Don't require grub-mkconfig_lib to generate manpages for programs.
2733
2734 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
2735 dependencies, don't add grub-mkconfig_lib.
2736 (program): Pass empty adddeps.
2737 (script): Pass grub-mkconfig_lib as adddeps.
2738
592fd0e4
VS
27392012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
2742 * util/getroot.c (grub_find_device): Likewise.
2743 (get_mdadm_uuid): Likewise.
2744 (grub_util_is_imsm): Likewise.
2745 (grub_util_pull_device): Likewise.
2746 * util/grub-probe.c (probe): Likewise.
2747
801a3027
BG
27482012-09-10 Benoit Gschwind <gschwind>
2749
2750 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
2751 (devs): Add devpath_8.
2752
c5052c81
PJ
27532012-09-08 Peter Jones <pjones@redhat.com>
2754
2755 * grub-core/Makefile.core.def (efifwsetup): New module.
2756 * grub-core/commands/efi/efifwsetup.c: New file.
2757 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
2758 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
2759 New define.
2760 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
2761
8e832f71
JS
27622012-09-05 Jiri Slaby <jslaby@suse.cz>
2763
2764 * configure.ac: Add SuSe path.
2765
f0f55752
CW
27662012-09-05 Colin Watson <cjwatson@ubuntu.com>
2767
2768 * NEWS: Fix typo.
2769
ecadc4c2
CW
27702012-09-05 Colin Watson <cjwatson@ubuntu.com>
2771
2772 * util/import_gcry.py: Sort cipher_files, to make build system
2773 generation more deterministic.
2774
64498f25
VS
27752012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
2778 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
2779 (grub_set_datetime): Likewise.
2780
9cc836a2
VS
27812012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
2784 warnings.
2785
bcfcea01
VS
27862012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
2789
a4099485
VS
27902012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
2793
265c162a
CW
27942012-09-04 Colin Watson <cjwatson@ubuntu.com>
2795
2796 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
2797 required for checkouts from bzr, but it may be useful for users or
2798 distributors wishing to update translations against a tarball
2799 distribution, and it can be helpful for the tarball to be a superset
2800 of what's in bzr.
2801
3d171e95
CW
28022012-09-04 Colin Watson <cjwatson@ubuntu.com>
2803
2804 * Makefile.am (EXTRA_DIST): Add
2805 grub-core/tests/boot/linux.init-mips.S,
2806 grub-core/tests/boot/linux.init-ppc.S, and
2807 grub-core/tests/boot/linux-ppc.cfg.
2808
f2c2503e
CW
28092012-09-04 Colin Watson <cjwatson@ubuntu.com>
2810
2811 * grub-core/mmap/mips/loongson: Remove empty directory.
2812
28132012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
2814
2815 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
2816 gone.
2817
ab2163d5
CW
28182012-09-04 Colin Watson <cjwatson@ubuntu.com>
2819
2820 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
2821 grub-sparc64-setup.
2822
ce938140
GS
28232012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2824
2825 * configure.ac: Strengthen the test for working -nostdinc -isystem.
2826
529f58a5
GS
28272012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
2828
2829 * po/POTFILES.in: Regenerated.
2830
16cf79e9
GS
28312012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
2832
2833 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
2834 (NetBSD): New subsection.
2835
39b27f1e 28362012-07-22 Ales Nesrsta <starous@volny.cz>
2837
2838 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
2839 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
2840
a885261b
VS
28412012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
2844 * util/grub.d/10_hurd.in: Add missing quoting.
2845 * util/grub.d/10_illumos.in: Likewise.
2846 * util/grub.d/10_kfreebsd.in: Likewise.
2847 * util/grub.d/10_linux.in: Likewise.
2848 * util/grub.d/20_linux_xen.in: Likewise.
2849
7bd29c01
VS
28502012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 New command `lsefi'.
2853
2854 * grub-core/Makefile.core.def (lsefi): New module.
2855 * grub-core/commands/efi/lsefi.c: New file.
2856 * include/grub/efi/api.h: Add more GUIDs.
2857
ac625d8f
VS
28582012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
2861 (grub_bsd_elf32_hook): Likewise.
2862 (grub_bsd_elf64_size_hook): Likewise.
2863 (grub_bsd_elf64_hook): Likewise.
2864 (grub_bsd_load_elf): Likewise.
2865
e73bb801
VS
28662012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
2869 if hash function is unavailable.
2870 (dec_stream_header): Likewise.
2871
e81db8b5
VS
28722012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
2875 filter state.
2876
d187a1c3
VS
28772012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 Fix coreboot compilation.
2880
2881 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
2882 (grub_vga_text_init_real): ... this.
2883 (grub_vga_text_fini): Rename to ...
2884 (grub_vga_text_fini_real): ... this.
2885
91a05f64
VS
28862012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
2889
6af96df7
VS
28902012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/lib/legacy_parse.c: Support clear and testload.
2893
4d569e12
VS
28942012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
2897
073b57bb
VS
28982012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * grub-core/fs/ext2.c: Experimental support for 64-bit.
2901
a706f4cc
VS
29022012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * grub-core/net/tftp.c (ack): Fix endianness problem.
2905 (tftp_receive): Likewise.
2906 Reported by: Michael Davidsaver.
2907
e7850aa9
VS
29082012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * gentpl.py: Make mans depend on grub-mkconfig_lib.
2911
29122012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
2915 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
2916 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
2917
35692881
VS
29182012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
2921 efi_mmap_size.
2922 Reported by: Stuart Hayes.
2923
c35fc5bd
VS
29242012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
2927
2928 * grub-core/Makefile.core.def (mda_text): New module.
2929 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
2930 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
2931 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
2932 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
2933 here.
2934 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
2935 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
2936 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
2937 here.
2938 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
2939 to ..
2940 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
2941 ... here
2942 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
2943 here.
2944 * grub-core/term/i386/vga_common.c: Removed.
2945 * include/grub/i386/vga_common.h: Likewise.
2946 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
2947 (grub_vga_cr_bw_read): Likewise.
2948 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
2949 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
2950 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
2951 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
2952 grub_vga_cr_read/grub_vga_cr_write.
2953 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
2954
5f91f701
VS
29552012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * configure.ac: Bump version to 2.00.
2958 * grub-core/normal/main.c (features): Add feature_200_final.
2959
0c4f85f6
VS
29602012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
29612012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
2962
2963 * NEWS: Fix unclarity and language mistakes.
2964
f923ad22
VS
29652012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
2968 additional size to 3 pages.
2969 Reported by: Stuart Hayes.
2970
d22029ba
VS
29712012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * NEWS: Add 2.00 entry.
2974
58eee08f
VS
29752012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
2978 put explicit "/" for empty path.
2979 (wildcard_expand): Improve dprintf.
2980
c59bdff7
VS
29812012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
2984 it's equal to currnode. This can happen with "" symlink.
2985
5e6a440a
YB
29862012-06-27 Yves Blusseau <blusseau@zetam.org>
2987
2988 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
2989 echo shell command by printf command.
2990
73a68bcb
VS
29912012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
2994 the value returned by firmware is the maximal position, not diumension.
2995 (grub_terminfo_output_state): Use a more sane fallback.
2996
392a603b
VS
29972012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
3000
42d0867f
VS
30012012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
3004 frequency to 150 MHz.
3005
489509f4
VS
30062012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 Apple fixes.
3009
3010 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
3011 __APPLE_
3012 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
3013 definition.
3014 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
3015
9f3fc883
VS
30162012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 Handle slash in HFS label.
3019
3020 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
3021 (grub_hfs_dir): Tanslate slash.
3022 (grub_hfs_label): Don't translate slash.
3023
54853fd7
VS
30242012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
3027 network protocol listing since it introduces problematic dependency on
3028 net module.
3029
4dc02ddf
VS
30302012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
3033
c50c867d
VS
30342012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 Init video early on yeeloong to avoid being rebooted by watchdog.
3037
3038 * grub-core/Makefile.am (gensm712): New target.
3039 (sm712_start.S): Likewise.
3040 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
3041 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
3042 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
3043 description.
3044 * include/grub/vga.h: Move registry definitions to...
3045 * include/grub/vgaregs.h: ... here.
3046
5f92c8a1
VS
30472012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
3050 signedness.
3051
e9e6f111
VS
30522012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
3055 platforms with firmware disk drivers in the core.
3056
754ad9eb
VS
30572012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
3060 informative verbose message.
3061 (read_lv): Handle 64-bit segment size.
3062
315654c2
VS
30632012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
3066
fb022c79
VS
30672012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
3070 character but still remove trainling spaces.
3071 (grub_fat_label): Ignore archive flag.
3072
8645f72c
VS
30732012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
3076 cast between linux_kernel_header and linux_kernel_params.
3077
36498496
VS
30782012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
3081 type for size.
3082 (grub_raid6_recover_func_t): Likewise.
3083 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
3084 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3085
0b5ea6b8
VS
30862012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
3089
650cfcfe
GS
30902012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3091
3092 Fix overflow.
3093
3094 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
3095 [__NetBSD__]: Add explicit cast before bitshift.
3096
8a4d6a44
VS
30972012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * configure.ac: Bump to 2.00~rc1.
3100
2fb97ed3
VS
31012012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
3104 half of $a0.
3105
1fa097dc
VS
31062012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
31072012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
3108
3109 * docs/grub.texi: Fix search syntax.
3110 (Multi-boot manual config): Put msdos rather than GPT example.
3111 Grammar corrections.
3112
c890ba78
VS
31132012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
3116
0f92dca7
VS
31172012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
3120
3988c4a0
VS
31212012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
3124 message on double free. Put the value of magic in case of mismatch.
3125
9e86d4c5
VS
31262012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 Speed-up video on yeeloong.
3129
3130 * grub-core/video/sm712.c (framebuffer): Remove render_target and
3131 add cached_ptr.
3132 (grub_video_sm712_video_fini): Unmap cached_ptr.
3133 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
3134 (grub_video_sm712_set_active_render_target): Removed.
3135 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3136 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
3137 sync caches.
3138
ed24c312
VS
31392012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 Avoid flushing the same line multiple times on loongson.
3142
3143 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
3144 Step in 32 bytes and not 1 byte.
3145 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
3146 Likewise.
3147
d1718e7d
VS
31482012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
3151 subvolumes.
3152
982f1909
VS
31532012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 Implement flow control for http.
3156
3157 * grub-core/net/http.c (parse_line): Handle response 206.
3158 (http_receive): Stall if too many packets are in the queue.
3159 (http_establish): Fix range header.
3160 (http_seek): Fix double free.
3161 (http_close): Likewise.
3162 (http_packets_pulled): New function.
3163 (grub_http_protocol): Set http_seek
3164 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
3165 (ack_real): Set window depending on i_stall.
3166 (grub_net_send_tcp_packet): Likewise.
3167 (grub_net_tcp_stall): New function.
3168 (grub_net_tcp_unstall): Likewise.
3169 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
3170 (grub_net_tcp_unstall): Likewise.
3171
bd407d6e
VS
31722012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * grub-core/net/tftp.c: Decrease stall to 50 packets.
3175
c7564b8e
VS
31762012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
3179
a3706162
VS
31802012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 * tests/util/grub-shell.in: Fix a typo.
3183
b27069e0
VS
31842012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 Implement flow control for tftp.
3187
3188 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
3189 packets but stop only if stop condition is satisfied.
3190 (grub_net_fs_read_real): Call packets_pulled after real read. Use
3191 `stall' instead of `eof' as stop condition.
3192 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
3193 (http_err): Likewise.
3194 * grub-core/net/tftp.c (ack): Replace the first argument with data
3195 instead of socket.
3196 (tftp_receive): Stall if too many packets are in wait queue.
3197 (tftp_packets_pulled): New function.
3198 (grub_tftp_protocol): Set packets_pulled.
3199 * include/grub/net.h (grub_net_packets): New field count.
3200 (grub_net_put_packet): Increment count.
3201 (grub_net_remove_packet): Likewise.
3202 (grub_net_app_protocol): New field `packets_pulled'.
3203 (grub_net): New field `stall'.
3204
6b9cfac6
VS
32052012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
3208 sync part to handle them.
3209
f35abd81
VS
32102012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
3213 * grub-core/net/drivers/ieee1275/ofnet.c
3214 (grub_ieee1275_net_config_real): Likewise.
3215
0e7ec820
VS
32162012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
3219 the direct route for server/gateway.
3220
9d611a31
VS
32212012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
3224 IP address to server name since we may not hame the DNS.
3225
418f45ab
VS
32262012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
3229 freeing random buffer on failure.
3230 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
3231
44a0efc1
VS
32322012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
3235
531e2241
VS
32362012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
3239 reserved bytes.
3240 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
3241 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
3242 Handle malloc error correctly.
3243
cde393c9
VS
32442012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
3247 blocks.
3248
538478d0
VS
32492012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
3252 increment.
3253
9b55efe0
VS
32542012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
3257 none is explicitly specified.
3258
9eb832c3
VS
32592012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
3262 while reallocating.
3263
d6b7c7c9
VS
32642012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 Respect netmask from bootp/dhcp.
3267
3268 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
3269 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
3270 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
3271 into ...
3272 (grub_net_add_ipv4_local): ... this.
3273 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
3274 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
3275 (grub_net_add_ipv4_local): New proto.
3276
67caf9eb
VS
32772012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3278
3279 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
3280 determining EFI memory map size.
3281
43657558
VS
32822012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
3285
eb6d0dd3
VS
32862012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
3289 when looking for partition separator.
3290
31230544
VS
32912012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3294 Escape commas.
3295
918a2517
VS
32962012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 Restructure FAT driver to avoid hook in label reading as it hits a
3299 GCC bug.
3300
3301 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
3302 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
3303 (grub_fat_iterate_dir): Split into ...
3304 (grub_fat_iterate_init): ... this, ...
3305 (grub_fat_iterate_fini): ... this, ...
3306 (grub_fat_iterate_dir_next): ... and this. All users updated.
3307
9f1d654e
VS
33082012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3311 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
3312 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3313 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
3314 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
3315 New fields last_key and last_key_time.
3316 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
3317 extended key-esc into extended key-extended key.
3318
52f0f643
VS
33192012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 Avoid unnecessary memcpy of whole video buffer.
3322
3323 * grub-core/video/fb/video_fb.c (dirty): New struct.
3324 (framebuffer): Add members current_dirty and previous_dirty.
3325 (dirty): New function.
3326 (grub_video_fb_fill_rect): Update dirty.
3327 (common_blitter): Likewise.
3328 (grub_video_fb_scroll): Likewise.
3329 (doublebuf_blit_update_screen): Copy only dirty part.
3330 (doublebuf_pageflipping_update_screen): Likewise.
3331 (grub_video_fb_doublebuf_blit_init): Init dirty.
3332 (doublebuf_pageflipping_init): Likewise.
3333 (grub_video_fb_setup): Likewise.
3334
e169a180
VS
33352012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
3338 poll rate.
3339
48556879
VS
33402012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 Fix wildcard regexp dot and other special characters handling.
3343 Reported by: Robert Mabee.
3344
3345 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
3346 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
3347 (split_path): Trigger expansion on '?'.
3348 (unescape): New function.
3349 (wildcard_expand): Unescape parts copied without globbing.
3350 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
3351 (grub_script_arglist_to_argv): Don't unescape expansions.
3352
0494408e
VS
33532012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * include/grub/net.h (grub_net_card): New member txbufsize.
3356 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
3357 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
3358 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
3359 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
3360 txbufsize.
3361 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
3362 compatible property to check for macs. Set
3363 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
3364 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
3365 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
3366 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
3367 (send_card_buffer): Use txbuf.
3368 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
3369 nested function out of the parent while on it.
3370
cc35fe8f
VS
33712012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
3374 presence check.
3375 (grub_ieee1275_net_config_real): Fix config pointer.
3376
970a0a09
VS
33772012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
3380 filename parsing to non-block devices.
3381
3e19bf87
VS
33822012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * grub-core/kern/device.c (grub_device_open): Remove dead code.
3385
c62d1a0c
VS
33862012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
3389 All users updated.
3390
ef76bec3
VS
33912012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
3394 UUID search command even if hints probing failed.
3395
33962012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
3397
3398 * po/POTFILES.in: Regenerated.
3399
70aaf305
VS
34002012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 Speed-up video on fuloong.
3403
3404 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
3405 New function.
3406 (grub_pci_device_unmap_range): Handle non-cached address.
3407 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
3408 add direct_ptr.
3409 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
3410 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
3411 (grub_video_sis315pro_set_active_render_target): Removed.
3412 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
3413 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3414 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
3415 sync caches.
3416 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
3417 New proto.
3418
10400f0b
VS
34192012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * docs/grub.texi (Multi-boot manual config): New section.
3422
ba67e2c6
VS
34232012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 Avoid slow read-back from VRAM.
3426
3427 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
3428 Move from here ...
3429 * grub-core/video/fb/video_fb.c
3430 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
3431 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
3432 (front_target): Remove front_target. Add pages.
3433 (grub_video_fb_init): Skip setting front_pages.
3434 (grub_video_fb_fini): Likewise.
3435 (doublebuf_blit_update_screen): Use pages.
3436 (grub_video_fb_doublebuf_blit_init): Likewise.
3437 (doublebuf_pageflipping_init): Allocate offscreen buffer.
3438 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
3439 (grub_video_fb_setup): Prefer doublebuffing.
3440
377c98cb
VS
34412012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
3444 gzio.
3445
eac49cff
VS
34462012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 Add loongson tests.
3449
3450 * tests/util/grub-shell.in: Handle loongson.
3451 * tests/partmap_test.in: Add loongson to the list of platform using ATA
3452 drivers.
3453 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
3454 Reboot instead of shutdown if REBOOT is defined.
3455
0321415e
VS
34562012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
3459 sized ports since unlike on real hardware qemu supports only 32-bit
3460 regs.
3461
3f2bdd8f
VS
34622012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * Makefile.util.def (grub-mkrescue): Enable on loongson.
3465 * util/grub-mkrescue.in: Handle loongson.
3466
29a049c9
VS
34672012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
3470 Set is_part appropriately.
3471 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
3472 names. Canonicalize partition without full disk.
3473
4abde346
VS
34742012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 Revert usb-quiesce since it's wrong.
3477
3478 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
3479 (grub_ofdisk_init): Don't do quiesce.
3480
61f1d93b
VS
34812012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
3484 PowerMac workaround to Xserves as well.
3485 Information supplied by: Benjamin Herrenschmidt.
3486
a09eb541
VS
34872012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 Don't assume that beginning address is also the entry point on ppc.
3490
3491 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
3492 (grub_linux_boot): Use linux_entry.
3493 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
3494 (grub_linux_load64): Likewise.
3495
505b3c9b
VS
34962012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
3499
cbe0b4ef
VS
35002012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
3503 needlessly lose the console.
3504
3006e981
VS
35052012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
3508 space.
3509
4e5a96b0
VS
35102012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3511
7da036bb
VS
3512 Remove non-functional EFI grub_get_rtc. Put a better fatal message
3513 than current grub_get_rtc() not implemented when booted with
3514 coreboot without TSC.
3515
3516 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
3517 Add machine/time.h to kernel headers on loongson.
3518 * grub-core/Makefile.core.def (kernel): Remove
3519 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
3520 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
3521 (grub_get_rtc): Likewise.
3522 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
3523 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
3524 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
3525 * grub-core/kern/i386/tsc.c (grub_tsc_init)
3526 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
3527 rather than installing known non-working time source.
3528 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
3529 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
3530 * include/grub/time.h: Don't include machine/time.h.
3531 * include/grub/efi/time.h: Removed.
3532 * include/grub/i386/efi/time.h: Likewise.
3533 * include/grub/i386/ieee1275/time.h: Likewise.
3534 * include/grub/powerpc/ieee1275/time.h: Likewise.
3535 * include/grub/sparc64/ieee1275/time.h: Likewise.
3536 * include/grub/x86_64/efi/time.h: Likewise.
3537
35382012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
3541
3542 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
3543 value.
3544 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
3545 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
3546 with dotless variants when any combining above is present.
3547
5561c22d
VS
35482012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
3551 text and not binary.
3552
96f7e60e
VS
35532012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 Stop polling as soon as we have the packet we were waiting for.
3556
3557 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
3558 All users updated.
3559 * grub-core/net/arp.c (have_pending): New var.
3560 (pending_req): Likewise.
3561 (grub_net_arp_send_request): Fill pending_req and use have_pending as
3562 stop indicator.
3563 (grub_net_arp_receive): Set have_pending.
3564 * grub-core/net/dns.c (recv_data): New field stop.
3565 (recv_hook): Set stop.
3566 (grub_net_dns_lookup): Init stop and use as stop condition.
3567 * grub-core/net/http.c (http_establish): Use headers_recv as stop
3568 condition.
3569 * grub-core/net/net.c (grub_net_poll_cards): New argument
3570 stop_condition. Stop when it goes true.
3571 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
3572 indicator.
3573 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
3574
3e747239
VS
35752012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 Keep TX and RX buffers on EFI rather than always allocate new ones.
3578
3579 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
3580 card. All users updated.
3581 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
3582 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
3583 (get_card_packet): Likewise.
3584 (grub_efinet_findcards): Init new fields.
3585
f695e99a
VS
35862012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
3589 compilation error on sparc64.
3590
9e5e66d1
VS
35912012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 Use ITC on IA64 rather than broken routine based on daytime.
3594
3595 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
3596 ia64.
3597 (grub_get_rtc) [__ia64__]: Likewise.
3598 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
3599 (get_itc): New function.
3600 (grub_rtc_get_time_ms): Likewise.
3601 (grub_machine_init): Calibrate ITC.
3602 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
3603 Keep only on non-ia64. Don't export since it's broken and used only
3604 if TSC is unavailable.
3605
a1767404
VS
36062012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
3609 even if it's used.
3610 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
3611 Skip if parent is unused.
3612
34b2bced
VS
36132012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
3616
5e619f40
VS
36172012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 Fix wildcard escaping.
3620
3621 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
3622 * grub-core/script/execute.c (wildcard_escape): .. to here.
3623 Don't escape dot.
3624 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
3625 * grub-core/script/execute.c (wildcard_unescape): .. to here.
3626 Don't escape dot.
3627 * grub-core/script/execute.c (gettext_append): Always escape.
3628 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
3629 * grub-core/script/yylex.l: Don't cut away the escaping.
3630 * tests/grub_script_echo1.in: Add tests with wildcard.
3631
c8ca5855
VS
36322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
3635 (ftdi_hw_configure): Likewise.
3636 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
3637 define.
3638 (real_config): Handle 1.5 stop bits.
3639 (pl2303_hw_configure): Likewise.
3640
7183452c
VS
36412012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * Makefile.am: Add ppc linux bootcheck.
3644 * grub-core/tests/boot/linux-ppc.cfg: New file.
3645 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
3646
f57c84cd
VS
36472012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 * tests/grub_script_expansion.in: Skip network protocols.
3650
ecfc6207
VS
36512012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
3654
8d03d284
VS
36552012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
3658 --rom-directory.
3659 Add -graft-points.
3660
61c42af0
VS
36612012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 ESCC serial driver for conducting sautomated tests in qemu.
3664 Not tested on real hardware.
3665
3666 * include/grub/serial.h (grub_serial_port): New field escc_desc.
3667 * grub-core/term/ieee1275/escc.c: New file.
3668 * grub-core/Makefile.core.def (escc): New module.
3669
08fd1291
VS
36702012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
3673 invalid on error.
3674 (serial_hw_fetch): Don't read invalid handle.
3675 (serial_hw_put): Don't write into invalid handle.
3676
08dafeea
VS
36772012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 Add a 1.5 stop bits value.
3680
3681 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
3682 * include/grub/serial.h (grub_serial_stop_bits_t): Add
3683 GRUB_SERIAL_STOP_BITS_1_5.
3684
9068fdcf
VS
36852012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
3688 value rather than let it uninited.
3689
f4d5820f
VS
36902012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/commands/wildcard.c (+check_file): New function.
3693 (wildcard_expand): Don't expand to non-existing files, expand with
3694 suffix and not attempt to expand if not needed.
3695
3d2de9a7
VS
36962012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
3699 out of partitions containing other partitions.
3700
c5c81ff9
VS
37012012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
3704 on some qemu versions with GRUB.
3705
3706 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
3707 define.
3708 (grub_openbsd_bootarg_pcibios): New struct.
3709 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
3710 Add PCIINFO.
3711
08a14e0b
VS
37122012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * tests/util/grub-shell.in: Trim firmware output on EFI.
3715
cede3ca3
VS
37162012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
3719 and coreboot since it's already in kernel.
3720
558d3a60
VS
37212012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
3724 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3725 to here. New return value start. All users updated.
3726 Recursively scan linear mappings.
3727 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
3728 proto.
3729 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3730 Use grub_util_get_dm_node_linear_info.
3731 * util/getroot.c (convert_system_partition_to_system_disk): Use
3732 grub_util_info rather than grub_dprintf.
3733 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
3734
60fde14d
VS
37352012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
3738
3739 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
3740 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
3741
24bd8838
VS
37422012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * include/grub/types.h (grub_set_unaligned64): New function.
3745 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
3746 (setup): Likewise.
3747
7bc06a49
VS
37482012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
3751 (grub_ofdisk_fini): Quiesce USB devices.
3752
49cea015
VS
37532012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
3756 caches.
3757
8dcbe03b
VS
37582012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
3761
5b258735
VS
37622012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * grub-core/disk/pata.c (grub_pata_pio_read)
3765 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
3766 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
3767
37ba07eb
VS
37682012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 Extend automated tests to qemu-mips.
3771
3772 * Makefile.am: reorganise tests and enable qemu-mips.
3773 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
3774 * grub-core/tests/boot/linux.init-mips.S: New file.
3775 * tests/partmap_test.in: Handle ata0 disks.
3776 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
3777 non-pc i386.
3778
070038f8
VS
37792012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
3782 ia64.
3783 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
3784 quotes while on it.
3785
004be2cd
VS
37862012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
3789 (grub_halt): Likewise.
3790 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
3791
b1622487
VS
37922012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 * grub-core/term/serial.c (grub_serial_register)
3795 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
3796 the behaviour in line with x86 platforms.
3797
b7b4ab33
VS
37982012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
3801 (grub_ata_strncpy): Likewise.
3802 (grub_ata_identify): Add missing byteswaps.
3803
5e3535ae
VS
38042012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
3807 byte-swap.
3808 (screen_read_char): Likewise.
3809 (grub_vga_text_cls): Likewise.
3810
c21b17e6
VS
38112012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
3814 filenames.
3815 (make_file_path): Likewise.
3816
bf293dec
VS
38172012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
3820 machines.
3821 Tested by: Paulo Flabiano Smorigo.
3822 Crucial information about API supplied by: Coleen <Last name unknown>.
3823 Reviewed by: Coleen <Last name unknown>.
3824
81f6ef0e
VS
38252012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 * util/grub-mkimage.c: Disable -Wcast-align.
3828
7284143a
VS
38292012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
3832 as they are fatal.
3833
b99f3e00
VS
38342012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
3837
944f752d
VS
38382012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * util/grub-probe.c (escape_of_path): Fix double free.
3841
6cce6f38
VS
38422012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * grub-core/commands/videoinfo.c (hook): Show pitch.
3845
1e1eb50e
VS
38462012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * util/grub.d/20_linux_xen.in: Skip xen-syms.
3849
1c715b5a
VS
38502012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
3853 (probe): Add ieee1275 to OFW devices.
3854
007ae52d
VS
38552012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
3858
4557a36d
VS
38592012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 Handle IBM OFW path.
3862
3863 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
3864 available.
3865 (of_path_of_scsi): Handle vdevice.
3866
efbeefe9
VS
38672012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
3868
3869 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
3870 Allocate in multiples of 16 to avoid adding a few bytes free region the
3871 windows bugs upon.
3872
15a940bb
VS
38732012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
3876 Allocate in multiples of 16 to avoid adding a few bytes free region the
3877 windows bugs upon.
3878 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
3879
6e5efd60
VS
38802012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3881
3882 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
3883 resolutions.
3884 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
3885 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
3886
0d3d137e
IS
38872012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
3888
3889 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
3890
45dbe300
VS
38912012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
3894 resulted in \\ at the end of the line.
3895
6d8db947
VS
38962012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
3899 (grub_parser_cmdline_state): Likewise.
3900 (grub_parser_split_cmdline): Likewise.
3901
de89d338
VS
39022012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
3905 /dev/root and /dev/dm-*.
3906
00d41dee
VS
39072012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
3910 fix partially stale display.
3911
f95d1f11
VS
39122012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * grub-core/normal/menu_entry.c (backward_char): Use right line for
3915 substraction.
3916
6297e197
VS
39172012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
3920 Fix MBR remapping workaround.
3921 (grub_util_biosdisk_read) [__linux__]: Likewise.
3922
8a7ecad3
VS
39232012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 * util/grub-install.in: Check for ieee1275 and not ieee1276.
3926
2b34f944
VS
39272012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * configure.ac: Bump to beta6.
3930
684aef11
CW
39312012-05-31 Christer Weinigel <christer@weinigel.se>
3932
3933 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
3934
05b0bb91
VS
39352012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
3938 (grub_cmd_linux): Likewise.
3939
bda36bfa
CW
39402012-05-31 Christer Weinigel <christer@weinigel.se>
3941
3942 Fix EHCI low-speed.
3943
3944 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
3945 (GRUB_EHCI_MULT_TWO): Likewise.
3946 (GRUB_EHCI_MULT_THREE): Likewise.
3947 (GRUB_EHCI_CMASK_MASK): New enum value.
3948 (GRUB_EHCI_SMASK_MASK): Likewise.
3949 (GRUB_EHCI_CMASK_OFF): Likewise.
3950 (GRUB_EHCI_SMASK_OFF): Likewise.
3951 (grub_ehci_pci_iter): Enable periodic schedule.
3952 (grub_ehci_parse_notrun): Likewise.
3953 (grub_ehci_restore_hw): Likewise.
3954 (grub_ehci_setup_qh): Set flags for low speed transfers.
3955 (grub_ehci_find_qh): Use periodic list for low speed.
3956 (grub_ehci_setup_transfer): Check periodic queue as well.
3957 (grub_ehci_check_transfer): Likewise.
3958 (grub_ehci_cancel_transfer): Cancel periodic transfer.
3959
e12bcb1c
PFS
39602012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3961
3962 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
3963 parameter is used.
3964
bcc75fb3
PJ
39652012-05-31 Peter Jones <pjones@redhat.com>
3966
3967 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
3968 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
3969 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
3970
f19cb95e
VS
39712012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
3974 uninited variable. Allocate at least setup_sects.
3975
a4e5ca80
VS
39762012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 Fix handling of EFI with big memory maps.
3979
3980 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
3981 (real_mode_mem): Likewise.
3982 (real_mode_target): Likewise.
3983 (real_mode_pages): Likewise.
3984 (prot_mode_pages): Likewise.
3985 (linux_params): New var.
3986 (linux_cmdline): Likewise.
3987 (free_pages): Don't set real mode variables.
3988 (allocate_pages): Don't allocate real mode memory.
3989 (grub_e820_add_region): Remove the limit.
3990 (grub_linux_boot): Allocate and copy real mode memory.
3991 (grub_linux_unload): Free linux_cmdline.
3992 (grub_cmd_linux): Use temporary storage for parameters.
3993 (grub_cmd_initrd): Likewise.
3994 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
3995 (linux_kernel_params): Make it 1K big.
3996
ddb73558
VS
39972012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * Makefile.util.def: Remove -Wno-format.
4000 * grub-core/Makefile.core.def: Likewise.
4001
1c4afb60
VS
40022012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * tests/cmp_unit_test.c: Add missing failure message.
4005 * tests/example_unit_test.c: Likewise.
4006 * tests/printf_unit_test.c: Likewise.
4007
941e3a6d
VS
40082012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
4011 relaxation of protective MBR requirements.
4012
b105df76
VS
40132012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * configure.ac: Add condition for COND_HOST_XNU.
4016 * Makefile.util.def (10_xnu): New script.
4017 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
4018
84e1569e
VS
40192012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
4022 objconv bug.
4023
130c0f77
VS
40242012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
4027 Binary on other platforms stays identical.
4028
6fd0b143
VS
40292012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
4032 Apple.
4033
0af1751d
VS
40342012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
4037
176d5f7d
VS
40382012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
4041 rather than defining size_t ourselves to avoid conflict.
4042
7de5e20a
VS
40432012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
4046 initialisation to avoid __bzero reference.
4047
f7143efe
VS
40482012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
4051 version.
4052 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
4053 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
4054 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
4055 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
4056 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
4057
e6ad0555
VS
40582012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4059
4060 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
4061 * grub-core/kern/misc.c: Likewise.
4062 * grub-core/loader/i386/xnu.c: Likewise.
4063 * include/grub/i386/tsc.h: Likewise.
4064 * include/grub/symbol.h: Likewise.
4065
4a5a3c4a
VS
40662012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
4069 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
4070 on older compiler.
4071
037f6d90
VS
40722012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
4075 Implement Apple flavour.
4076 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
4077
f7194551
VS
40782012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
4081 (memmove) [__APPLE__]: Likewise.
4082 (memcpy) [__APPLE__]: Likewise.
4083 (memset) [__APPLE__]: Likewise.
4084 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
4085 (memmove) [__APPLE__]: Likewise.
4086 (memcpy) [__APPLE__]: Likewise.
4087 (memset) [__APPLE__]: Likewise.
4088
85a730ca
VS
40892012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
4092 dependency discard.
4093
40e80b94
VS
40942012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * grub-core/normal/main.c (read_config_file): Provide config_file and
4097 config_directory.
4098 * util/grub.d/41_custom.in: Use config_directoy when available.
4099
9da59c32
VS
41002012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
4103 (grub_bfs_dir): Likewise.
4104
2787ae53
PJ
41052012-05-27 Peter Jones <pjones@redhat.com>
4106
4107 The old code gives arguments to a printf function which can't work
4108 correctly, and the compiler complains.
4109
4110 * grub-core/tests/example_functional_test.c (example_test): Add
4111 missing text.
4112 * grub-core/tests/lib/test.c (add_failure): Rewrite.
4113 * include/grub/test.h (grub_test_assert_helper): New declaration.
4114 (grub_test_assert): Use grub_test_assert_helper.
4115
526ef13d
VS
41162012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
4119 (exfctest): ... this to avoid overlong filenames.
4120 All users updated.
4121
20dd511c
VS
41222012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 Handle "." and ".." on squashfs.
4125
4126 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
4127 Make inode numbers into stack.
4128 (grub_squash_read_symlink): Use stack.
4129 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
4130 (make_root_node): Fill stack.
4131 (grub_squash_open): Use stack.
4132
1d80c62a
VS
41332012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
4136 freeing.
4137
d336f652
VS
41382012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
4141 stderr on test calls.
4142
8b43f587
VS
41432012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
4146
80a3dc3f
VS
41472012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
4150
47e297d4
VS
41512012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
4154 "..".
4155
df042ccb
VS
41562012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
4159 (grub_hfsplus_iterate_dir): Add "." and "..".
4160
fc977f48
VS
41612012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * grub-core/fs/cpio.c (canonicalize): Handle "..".
4164 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
4165
f3250e5f
VS
41662012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
4169 (find_path): Handle "." and "..".
4170
fd8ed4c5
VS
41712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
4174 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
4175 (grub_affs_iterate_dir): Handle hardlinks.
4176
4ce776d2
MG
41772012-05-26 Matthew Garrett <mjg@redhat.com>
4178
4179 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
4180 (grub_efi_console_fini): Likewise.
4181 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
4182 (grub_video_gop_fill_mode_info): Rename to ...
4183 (grub_video_gop_fill_real_mode_info): ... this.
4184 (grub_video_gop_fill_mode_info): New function.
4185 (grub_video_gop_setup): Setup double framebuffer.
4186 (grub_video_gop_get_info_and_fini): Use original framebuffer.
4187 Free offscreen.
4188 (grub_video_gop_swap_buffers): Copy framebuffer.
4189 (grub_video_gop_fini): Free offscreen buffer.
4190 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
4191 New enum.
4192 (grub_efi_gop_blt_pixel): New struct.
4193
683031ba
VS
41942012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * gentpl.py: Remove error disabling for objconv.
4197
c2deb798
VS
41982012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 * configure.ac: Remove -Wunitialized as it's not available on older
4201 compilers.
4202
42032012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
4204
4205 Fix extent overflow comparator.
4206
4207 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
4208 (grub_hfsplus_read_block): Set type.
4209 (grub_hfsplus_cmp_extkey): Compare type.
4210
d6b1fd36
VS
42112012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
4214
0a9aa0f6
VS
42152012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
4218 than 0.
4219
8360e159
VS
42202012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
4223 (dejavu_bold_14.pf2): New target.
4224
501b9e4b
VS
42252012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 * configure.ac: Fix djvu font detection.
4228
7026b0e2
VS
42292012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
4232 ext* instead of ext2.
4233
c2a51ade
VS
42342012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
4237 name with \0.
4238
8f803a5d
JU
42392012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
4240
4241 * docs/grub-dev.texi: Remove dot from .png.
4242
13c6353f
VS
42432012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
4246 protective entry in any slot.
4247 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
4248 if protective entry is found in any slot.
4249
4250 Protective entry in non-first slot make no sense but is a widespread
4251 brain damage.
4252
4cf6be1b
VS
42532012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
4256
937d1c44
VS
42572012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
4260 with old reiserfs.
4261 (grub_reiserfs_open): Don't free root.
4262
021d90ec
VS
42632012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
4266 after freeing for safety.
4267
967b2b64
VS
42682012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
4271 Reported by: Jordan Uggla.
4272
34274d02
JU
42732012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
4274
967b2b64
VS
4275 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
4276 actual implementation. Specifically, clarify that the grub menu will
4277 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
4278 passed.
34274d02 4279
dcaaae9d
BH
42802012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
4281
4282 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
4283 of r0.
4284
7086ad52
VS
42852012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 Remove unjustified hard dependency of normal.mod on gfxterm.
4288
4289 * include/grub/term.h (grub_term_output): New member fullscreen.
4290 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
4291 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
4292 (grub_gfxterm): Set .fullscreen.
4293 * grub-core/normal/menu.c (menu_init): Use fullscreen.
4294 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
4295
37ed2c9b
VS
42962012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
4299 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 4300 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 4301
a4469c88
VS
43022012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
4305
4e461486
VS
43062012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4309 a bad FS.
4310
aa78f5c4
VS
43112012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
4314 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
4315
197626b5
VS
43162012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4317
4318 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
4319 (grub_jfs_mount): Fill caseins.
4320 (grub_jfs_find_file): Respect caseins.
4321
8ad3f28c
VS
43222012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
4325 through UTF-16.
4326
0c6c324e
VS
43272012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
4330 New argument origpath. All users updated.
4331
c6666ba6
VS
43322012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
4335 (read_attr): Ensure that we read start of possibly compressed block.
4336
e28e5fe5
VS
43372012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
4340 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
4341 All users updated.
4342
5fc23ab2
VS
43432012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
4346 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
4347 (dejavu.pf2): Replace with ...
4348 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
4349 this.
4350
79dbc21c
VS
43512012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 * util/grub.d/20_linux_xen.in: Add missing line.
4354
d2fcfb0c
VS
43552012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
4358 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
4359 (grub_utf16_to_utf8): Likewise.
4360
5560e9d6
VS
43612012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
4364 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
4365 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4366 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
4367 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4368 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
4369
43702012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
4371
4372 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4373 a bad FS.
4374
5560e9d6 43752012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
4376
4377 * grub-core/fs/udf.c (read_string): Bail out on size=0.
4378 (grub_udf_read_symlink): Handle read_string failure.
4379
5eae3175
VS
43802012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
4383 comment.
4384
c1ad82db
VS
43852012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 Fix handling of UDF symlinks.
4388
4389 * grub-core/fs/udf.c (read_string): New argument outbuf.
4390 All users updated.
4391 (grub_ufs_read_symlink): Rename to ...
4392 (grub_udf_read_symlink): ... this. All users updated.
4393 Handle symlinks with more than one component.
4394
33eca6e0
VS
43952012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
4398 symlinks. Replace leading colon with a slash.
4399
57f4a70b
VS
44002012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
4403 filename.
4404
38c8ee20
VS
44052012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
4408 match in inner node.
4409
2e57f28f
VS
44102012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
4413 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
4414 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
4415 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
4416 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
4417 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
4418 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
4419 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
4420 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
4421
fe8c2f11
VS
44222012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 Use grub-probe and not cmp to check that disk is empty.
4425
4426 * util/grub-install.in: Use grub-probe for zero-check.
4427 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
4428 (probe): Handle PRINT_ZERO_CHECK.
4429 (argp_parser): Handle -t zero_check.
4430
44312012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
4432
4433 Flush block cache on adding disk to device map.
4434
4435 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
4436 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
4437 adding.
4438 (read_device_map): Likewise.
4439 (open_device): Flush on opening.
4440
690434e8
VS
44412012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
4444 (handle_symlink): Fix off-by-one error.
4445 Canonicalize the target.
4446 (grub_cpio_dir): Canonicalize the name.
4447 Fix memory leak.
4448 Set directory.
4449 (grub_cpio_open): Canonicalize the name.
4450
742d2be6
VS
44512012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
4454 handling.
4455
3244fe96
VS
44562012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
4459 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
4460
8aeb1837
VS
44612012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
4464 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 4465 All users updated.
8aeb1837 4466
9133fd05
VS
44672012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
4470 counterpart.
4471
6d521c5b
VS
44722012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 Fix UFS1 big file support.
4475
4476 * grub-core/fs/ufs.c (INODE): Removed.
4477 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
4478 64-bit.
4479 (INODE_MODE): Simplify.
4480 (grub_ufs_inode): Use uint64_t for size and not int64_t.
4481 (grub_ufs_lookup_symlink): Don't use INODE.
4482
21b82e17
VS
44832012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 Fix minixfs with non-power-of-two blocks since it's supported by minix.
4486
4487 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
4488 (grub_minix_data): Replace log_block_size with block_size.
4489 (grub_minix_read_file): Use block_size but avoid 64-bit division.
4490 (grub_minix_mount): Fill block_size.
4491
44922012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
4493
4494 * configure.ac: Bump to beta5.
4495
f417ed04
VS
44962012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 Fix wrapped HFS+ handling.
4499
4500 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
4501 blocks_start. All users updated.
4502 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
4503 wrapping offset.
4504 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
4505
607d282b
VS
45062012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 Fix long symlinks on reiserfs.
4509
4510 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
4511 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
4512 (grub_reiserfs_iterate_dir): Save size for non-directories.
4513 (grub_reiserfs_open): Don't reread stat block as we already know the
4514 size.
4515 (grub_reiserfs_read): Split into...
4516 (grub_reiserfs_read_real): ... and ...
4517 (grub_reiserfs_read): ...this.
4518
ae16024d
VS
45192012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 Fix non-indexed JFS.
4522
4523 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
4524 (grub_jfs_data): New field namecomponentlen.
4525 (grub_jfs_mount): Fill namecomponentlen.
4526 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
4527
eea1e26e
VS
45282012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
4531 * tests/grub_script_echo1.in: Add tests.
4532
df760f77
VS
45332012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 * util/grub-install.in: Ignore empty devicetree directory.
4536
5efb817d
B
45372012-05-08 Bean <bean123ch@gmail.com>
4538
4539 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
4540 All users updated.
4541 (free_rsm): Free header as well.
4542 (free_old_fragments): Fix memory leak.
4543 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
4544 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
4545 (destroy_pq): Likewise.
4546 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
4547
668ea6d2
VS
45482012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
4551 resulting hash as a precaution.
4552
1739b1fe
VS
45532012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
4556 '_' in variable names.
4557 * grub-core/net/net.c (grub_net_network_level_interface_register):
4558 Likewise.
4559
6ae485aa
VS
45602012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 Fix AFFS with non-512B blocks.
4563
4564 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
4565 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
4566 (grub_affs_data): Replace blocksize with log_blocksize.
4567 (grub_affs_read_block): Fix non-512B blocks.
4568 (grub_affs_read_symlink): Likewise.
4569 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
4570 (grub_affs_read): Fix non-512B blocks.
4571 (grub_affs_label): Likewise.
4572 (grub_affs_mtime): Likewise.
4573 (grub_affs_mount): Fix block detection routine.
4574
d20fab84
VS
45752012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 Add filesystem mtime to AFFS.
4578
4579 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
4580 (aftime2ctime): New function.
4581 (grub_affs_dir): Use aftime2ctime.
4582 (grub_affs_label): Fix return value.
4583 (grub_affs_mtime): New function.
4584 (grub_affs_fs): Add mtime.
4585
e87b10f5
VS
45862012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
4589 UTF-8.
4590
7dceec9b
VS
45912012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
4594 UTF-8.
4595
2f48221f
VS
45962012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
4599
dacd85cf
VS
46002012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
4603 flags.
4604 (FLAGS_CASE_SENSITIVE): New enum value.
4605 (cache_entry): New struct.
4606 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
4607 cache_size and cache.
4608 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
4609 Add log_blocksize and fshelp_flags.
4610 (grub_sfs_read_extent): Handle non-512 blocks.
4611 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
4612 (grub_sfs_read_file): Handle non-512 blocks.
4613 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
4614 fshelp_flags.
4615 (grub_sfs_read_symlink): Handle non-512 blocks.
4616 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
4617 (grub_sfs_dir): Free cache.
4618 (grub_sfs_close): Likewise.
4619
24e9a854
VS
46202012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4621
4622 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
4623 filesystems.
4624
62ace64d
VS
46252012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
4628
83b2e89c
VS
46292012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
4632
75ccaea3
VS
46332012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
4636 (grub_sfs_read_extent): Likewise.
4637 (grub_sfs_read_block): Likewise.
4638 (grub_sfs_mount): Likewise.
4639 (grub_sfs_iterate_dir): Likewise.
4640 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
4641 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
4642
1b8463f2
VS
46432012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 Fix errors on compressed NTFS with 512B clusters.
4646
4647 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
4648 types.
4649 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
4650 not 0.
4651 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
4652 Relax check for inline extents.
4653 (ntfscomp): Return correct -1 on error and not 0.
4654
4f8e368f
VS
46552012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * util/grub-install.in: Fix handling of prefix containing spaces.
4658
6f5d5ee8
VS
46592012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
4662 (grub_squash_read_data): Fix offset byte-swapping.
4663
ce41ab7a
VS
46642012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
4667 per common usage and preffered in several parts of code.
4668 (grub_memcmp): Likewise.
4669 (grub_strncmp): Likewise.
4670 * include/grub/misc.h (grub_strcasecmp): Likewise.
4671 (grub_strncasecmp): Likewise.
4672 * Makefile.util.def (cmp_test): New test.
4673 (grub_script_strcmp): Likewise.
4674 * tests/cmp_unit_test.c: New file.
4675 * tests/grub_script_strcmp.in: Likewise.
4676 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
4677
49717bf4
VS
46782012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * include/grub/pci.h: Move enums into no-asm part.
4681
0a308f64
VS
46822012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
4685
1796965f
ST
46862012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4687
4688 * util/getroot.c (find_hurd_root_device): Try to make error message
4689 and comments to translators clearer.
4690
4e9b2819
VS
46912012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
4694
076aeb50
VS
46952012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
4698 btrfs.
4699
19424d94
VS
47002012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * docs/grub.cfg: Update.
4703
ebb73076
VS
47042012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 * docs/grub.texi (PXE): Remove not present variables.
4707
9a1b669c
VS
47082012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * grub-core/net/net.c (defserver_set_env): New function.
4711 (defserver_get_env): Likewise.
4712 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
4713
d38bf7d3
VS
47142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
4717 entries.
4718
47192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
4720
4721 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
4722 * grub-core/kern/emu/hostdisk.c: Likewise.
4723
e5e4ca48
ST
47242012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
4725
4726 Handle hurd userspace partitions.
4727
4728 * util/getroot.c (find_hurd_root_device): New function.
4729 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
4730
56bb5dd5
VS
47312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
4734 names.
4735 Reported by: Bastian Blank.
4736
9e8bc27a
VS
47372012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
4740 crossing page boundary.
4741
aa01499d
VS
47422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4743
4744 Fix B-tree search in BFS, especially in presence of non-ASCII
4745 characters.
4746
4747 * grub-core/fs/bfs.c (bfs_strcmp): New function.
4748 (find_in_b_tree): Use standard bsearch + btree algorithm.
4749
57006035
VS
47502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
4753 and so on.
4754
9d34bb85
MG
47552012-05-03 Matthew Garrett <mjg@redhat.com>
47562012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4757
4758 Suspend broadcom cards in order to stop their DMA.
4759
4760 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
4761 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
4762 (pci): Don't build on x86 EFI.
4763 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
4764 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
4765 New function.
4766 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
4767 stop_broadcom if running on EFI.
4768 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
4769 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
4770 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
4771 (grub_pci_find_capability): New proto.
4772
01aab997
VS
47732012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * docs/grub.texi: Remove dot from the extension as it apparently
4776 doesn't work with some makeinfo versions.
4777
fbd8dca6
VS
47782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
4781 with GRUB expectance.
4782
dab797f4
VS
47832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
4786
1516bfb4
VS
47872012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
4790 zero after directory block since last entry may be not 0-terminated if
4791 it ends on block boundary. Use continue instead of if spanning whole
4792 loop.
4793
a3a0eace
VS
47942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 Support 4K sectors UDF inline files.
4797
4798 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
4799 (grub_udf_extended_file_entry): Likewise.
4800 (grub_fshelp_node): Name the anonymous union. Put block at the end.
4801 All users updated.
4802 (get_fshelp_size): New function.
4803 (grub_udf_read_icb): Read whole block.
4804 (grub_udf_iterate_dir): Likewise.
4805 (grub_udf_dir): Likewise.
4806 (grub_udf_open): Likewise.
4807
c82f16c1
VS
48082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
4811
59fd2aac
VS
48122012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
4815 inline symlinks in addition to workaround.
4816
3b4afb4d
VS
48172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4818
4819 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
4820
f45c794a
VS
48212012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
4824
f25cecbd
VS
48252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
4828
bb9a34e8
VS
48292012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 Fix reiserfs big seek times.
4832
4833 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
4834 exact. All users updated.
4835 (grub_reiserfs_read): Use nearest btree search for seeking.
4836 Fix return value on error.
4837
dc478aea
VS
48382012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
4841 entries.
4842 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
4843 * docs/grub.texi: Update menuentry description.
4844
8db10f47
VS
48452012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
4848 crash when embedding onto filesystem.
4849
bcb288ed
VS
48502012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
4853 name.
4854
a626fdd7
VS
48552012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
4858
b2f68477
VS
48592012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
4862 commit.
4863
ba15b2af
B
48642012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
48652012-05-01 Bean <bean123ch@gmail.com>
4866
4867 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
4868
a188012e
VS
48692012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
4872 Special behaviour for len = 0 to read whole file isn't used anywhere and
4873 can cause buffer ovewrflows in several places.
4874
f0a53ed2
VS
48752012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
4878
5ed554f0
VS
48792012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 Handle RAIDZ on non-512B sectors.
4882
4883 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
4884 max_children_ashift.
4885 (fill_vdev_info_real): Fill max_children_ashift.
4886 (read_device): Use max_children_ashift.
4887
ddc58357
VS
48882012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
4891
e3282399
VS
48922012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
4895 disk names.
4896 * docs/grub.texi: Update device.map parts.
4897
ee618bd4
VS
48982012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 Don't scan into non-diskfilter devices having diskfilter names.
4901
4902 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
4903 (scan_disk): New argument accept_diskfilter. Fix recursion depth
4904 handling.
4905 (scan_disk_hook): New function.
4906
bdf88864
B
49072012-04-29 Bean <bean123ch@gmail.com>
4908
4909 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
4910 allocation.
4911
32745f51
MK
49122012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
4913
4914 * configure.ac: Detect starfield theme font path
4915 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
4916
bc95c8c0
VS
49172012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
4920 geometry on serial consoles.
4921
147fbcab
VS
49222012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
4925 because of network consoles.
4926
0f42c889
VS
49272012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
4930 handling.
4931
4a3594c9
VS
49322012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
4935 falls on Q syndrom.
4936
5cb53879
VS
49372012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
4940 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
4941
b282dfe5
VS
49422012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
4945 Allocate at lest 8192 for temporary buffer as required for lzo.
4946
daa59f47
VS
49472012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
4950 to cluster_bits, since it's already added in.
4951 (grub_fat_read_data): Likewise.
4952
986748ce
VS
49532012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
4956 as long as cluster size is multiple of 512 bytes.
4957
a20f6ad0
VS
49582012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * util/grub-mkrescue.in: Fix locale directory.
4961
385f9abb
VS
49622012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 * grub-core/kern/emu/hostdisk.c (map): Make static.
4965
1c557d30
B
49662012-04-23 Bean <bean123ch@gmail.com>
4967
4968 * util/grub-fstest.c (fstest): Add missing break.
4969
524b5d3a
ST
49702012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
4971
4972 Fix hurd build.
4973
4974 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
4975 not define nr variable.
fe4824e9 4976 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
4977 find_root_devices_from_poolname, find_root_devices_from_libzfs,
4978 grub_find_device): Do not define.
524b5d3a 4979
9a06490c
VS
49802012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 Fix kfreebsd compile and behaviour.
4983
4984 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
4985 format-security.
4986 * util/getroot.c: Fix wait.h include.
4987 (grub_guess_root_devices): Error if grub_find_device fails.
4988 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
4989 (grub_util_get_dev_abstraction): Likewise.
4990 (grub_util_pull_device): Likewise.
4991 (grub_util_get_grub_dev): Likewise.
4992 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
4993
48143d96
VS
49942012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 Fix and unify wholedisk detection.
4997
4998 * util/getroot.c (convert_system_partition_to_system_disk): New argument
4999 is_part. All users updated.
5000 (device_is_wholedisk): Removed.
5001 (grub_util_biosdisk_get_grub_dev): Use is_part.
5002
ebbd24f3
VS
50032012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
5006 mode.
5007
56f7aa1e
VS
50082012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 * configure.ac: Bump to beta4.
5011
9c815e01
VS
50122012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
5015 --fs-uuid --set UUID syntax.
5016
59e2651a
VS
50172012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
5020 disunification.
5021
54e03cfc
VS
50222012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
5025
81092a75
MK
50262012-04-18 Mads Kiilerich <mads@kiilerich.com>
5027
5028 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
5029
f8315e14
MG
50302012-04-18 Mike Gilbert <floppym@gentoo.org>
5031
5032 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
5033
1501ac21
B
50342012-04-18 Bean <bean123ch@gmail.com>
5035
5036 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
5037 place.
5038
cb7f944e
VS
50392012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
5042 users updated.
5043 (grub_util_biosdisk_read): Handle Linux partitions not exactly
5044 corresponding to GRUB partitions.
5045 (grub_util_biosdisk_write): Likewise.
5046
b72d44a1
VS
50472012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 Scan mdraid before LVM.
5050
5051 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
5052 (grub_diskfilter_register_front): ... this.
5053 (grub_diskfilter_register_back): New function.
5054 All users of grub_diskfilter_register updated.
5055
33d918b8
VS
50562012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * util/grub-install.in: Fix an automatic target detection bug.
5059
c6ca973d
VS
50602012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * util/grub-install.in: New option --efi-directory.
5063
b41be562
VS
50642012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
5067 boot services if we have no other choice.
5068
50692012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * util/grub-mknetdir.in: Rename --override-directory to --directory and
5072 document it.
5073 * tests/util/grub-shell.in: Update to --directory.
5074
e0595a73
VS
50752012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
5078
4ed80652
VS
50792012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
5082 (grub_minix_read_file): Likewise.
5083 (grub_minix_read_inode): Likewise.
5084 (grub_minix_find_file): Likewise.
5085 (grub_minix_dir): Likewise.
5086
56008077
VS
50872012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * util/grub-setup.c (setup): Fix partition handling and blocklist
5090 check.
5091
ee520775
VS
50922012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
5095 redundant buggy overlap check.
5096
16fc9293
VS
50972012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
5100 and grub-mknetdir.
5101
9bab65c4
VS
51022012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
5105 kh.loadflags on pre-2.00 kernels.
5106
3c491b47
VS
51072012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 Terminate UNDI and PXE before launching the payload to avoid problems
5110 with DMA.
5111
5112 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
5113 (grub_loader_flags): ... this. All users updated.
5114 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
5115 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
5116 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
5117 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
5118 function.
5119 (grub_pxe_restore): Likewise.
5120 (fini_hnd): New var.
5121 (GRUB_MOD_INIT): Register shutdown hook.
5122 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
5123 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
5124 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
5125 (grub_loader_set): Rename second argument to flags.
5126
851ffada
VS
51272012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
5130 written bytes.
5131 (grub_get_num_of_utf8_bytes): New function.
5132 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
5133 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
5134 executing it.
5135 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
5136 (grub_ucs4_to_utf8): Change return type.
5137
491c57a8
VS
51382012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
5141 warning.
851ffada
VS
5142 * grub-core/fs/bfs.c (hop_level): Likewise.
5143 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 5144
756773df
VS
51452012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5146
5147 * grub-core/lib/adler32.c: Recode due to license unclearness.
5148
fd556a96
VS
51492012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
5152 (test_header): Likewise.
5153
9f9d3f69
VS
51542012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 Fix --help formatting.
5157
5158 * util/grub-mkconfig_lib.in (print_option_help): New function.
5159 (grub_fmt): Likewise.
5160 * util/grub-install.in: Use print_option_help and grub_fmt.
5161 * util/grub-kbdcomp.in: Likewise.
5162 * util/grub-mkconfig.in: Likewise.
5163 * util/grub-mknetdir.in: Likewise.
5164 * util/grub-mkrescue.in: Likewise.
5165 * util/grub-mkstandalone.in: Likewise.
5166 * util/grub-reboot.in: Likewise.
5167 * util/grub-set-default.in: Likewise.
5168 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5169
561ec77e
VS
51702012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * linguas.sh: Remove autogenerated *.po.
5173
7ec2b021
VS
51742012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 * po/README: Move language fetcing to ...
5177 * linguas.sh: ... here.
5178 * po/README: Point to linguas.sh.
5179
a88f3270
VS
51802012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 * po/README: Exclude ko.po due to disclaimer problems.
5183
d61357ce
VS
51842012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5185
5186 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
5187 len = 0.
5188 (grub_gettext_translate_real): Handle 0th string.
5189 (grub_gettext_translate): Ensure that "" isn't translated.
5190
505e41dc
VS
51912012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5192
5193 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
5194 TRANSLATORS comment.
5195 (grub_diskfilter_print_partmap): Propagate changing of error into
5196 warning.
5197
e44092db
VS
51982012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
5201 to uint64_t to prevent overflow.
5202 (grub_diskfilter_lv): Increase start_extent and extent_count
5203 to uint64_t to prevent overflow.
5204
9b83956a
VS
52052012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * configure.ac: Increase version.
5208
da0d5b3f
VS
52092012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
5212
5213 * po/Rules-translit: New file.
5214 * po/arabic.sed: Likewise.
5215 * po/cyrillic.sed: Likewise.
5216 * po/greek.sed: Likewise.
5217 * po/hebrew.sed: Likewise.
5218 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
5219 * po/Makefile.in.in: Add extra_dist4.
5220
ac66b453
VS
52212012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 Handle big-endian minixfs (fixes minixfs tests on bigendian).
5224
5225 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
5226 modify names. Introduce MODE_BIGENDIAN.
5227 * grub-core/fs/minix_be.c: New file.
5228 * grub-core/fs/minix2_be.c: Likewise
5229 * grub-core/fs/minix3_be.c: Likewise.
5230 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
5231 minix3_be.
5232 * grub-core/Makefile.core.def (minix_be): New module.
5233 (minix2_be): Likewise.
5234 (minix3_be): Likewise.
5235
52362012-04-01 Felix <email@hamburg.de>
5237
5238 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
5239 (devs): Add MBP 2011.
5240
0a2d5a82
VS
52412012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
5244
d1625889
VS
52452012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/normal/cmdline.c (print_completion): New field
5248 prompt_len.
5249 (grub_cmdline_get): Handle width properly.
5250
6d36a236
VS
52512012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 * grub-core/commands/lsacpi.c (options): Add missing terminator.
5254
9576977e
VS
52552012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 5258 after 29th of February.
9576977e 5259
d73ff15d
VS
52602012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 Fix exfat endianness handling.
5263
5264 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
5265 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
5266 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
5267 Byte-swap utf16 when necessary.
5268 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
5269
bbb39a45
AB
52702012-03-31 Anton Blanchard <anton@samba.org>
52712012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 Fix btrfs endianness handling.
5274
5275 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
5276 (lower_bound): Make root uint64_t. Use root in le.
5277 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
5278 (find_path): Fix template key init.
5279 (grub_btrfs_dir): Fix mtime byteswap.
5280 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
5281
354e0af7
VS
52822012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
5285 recursion_depth. Break infinite resursions. All users updated.
5286
4e75f21c
VS
52872012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
5290 after free.
5291 Reported by: Peter Jones.
5292
25581802
AB
52932012-03-31 Anton Blanchard <anton@samba.org>
5294
5295 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
5296 8 bit values.
5297
08fbf92e
VS
52982012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * util/grub-install.in: Fix nvram call for PreP.
5301
5d1182a6
VS
53022012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
5305 the error when some elements are missing into a warning.
5306
3f8cdd90
VS
53072012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
5310
51006716
CW
53112012-03-28 Colin Watson <cjwatson@ubuntu.com>
5312
5313 * docs/grub.texi (Invoking grub-probe): New section.
5314 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
5315
e1bd676b
VS
53162012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 Fix tab and wide character handling in editor and menu.
5319
5320 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
5321 agglomerate control characters with combining marks.
5322 (bidi_line_wrap): Allow break on tab.
5323 (grub_unicode_get_comb_start): New function.
5324 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
5325 and tab correctly.
5326 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
5327 with a space.
5328 * grub-core/normal/term.c (print_ucs4_terminal): New argument
5329 fixed_tab_size. All users updated.
5330 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
5331 (grub_term_getcharwidth): Handle \t.
5332 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
5333 and copy.
5334
22e6a774
VS
53352012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 Handle big-endian mdraid.
5338
5339 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
5340 * grub-core/Makefile.core.def (mdraid09_be): New module.
5341 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
5342 rather than grub_le_to_cpu* and grub_cpu_to_le*.
5343 * grub-core/disk/mdraid_linux_be.c: New file.
5344
3c0eae66
VS
53452012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
5348
b6cf74c9
VS
53492012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5350
5351 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
5352 missing quotes which caused confusion among translators.
5353
83c93b9c
VS
53542012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 * util/grub-mkconfig_lib.in: Fix typo.
5357
ac6fd218
VS
53582012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5359
5360 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
5361 spaces.
5362 * tests/grub_script_leading_whitespace.in: New file.
5363 * Makefile.util.def (grub_script_leading_whitespace): New test.
5364
ba287dd8
VS
53652012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5366
5367 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
5368 to work.
5369
d2d58d0a
VS
53702012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
5373 starts with control character.
5374
0382d9bb
VS
53752012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
5378 overflow.
5379 (grub_gdb_outbuf): Likewise.
5380
d83ff9f9
VS
53812012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
5384 zero terminator. Fixes a crash.
5385
2282da4a
VS
53862012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
5389 beyond 4 GiB.
5390 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
5391 images independently of preffered adderss field.
5392
0ae4f0bd
VS
53932012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
5396 * grub-core/commands/regexp.c: Likewise.
5397 * grub-core/loader/i386/linux.c: Likewise.
5398 * grub-core/partmap/msdos.c: Likewise.
5399 * grub-core/script/execute.c: Likewise.
5400 * grub-core/term/gfxterm.c: Likewise.
5401
546fbe9b
VS
54022012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 Add variable parsing in $"..." and fix several mismatches with bash.
5405
5406 * Makefile.util.def (grub_script_gettext): New test.
5407 * grub-core/script/execute.c (parse_string): New function.
5408 (gettext_append): Likewise.
5409 (grub_script_arglist_to_argv): Use gettext_append.
5410 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
5411 * tests/grub_script_gettext.in: New file.
5412
9fdb2d7b
VS
54132012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 Fix handling of leading spaces in scripts.
5416
5417 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
5418 spaces.
5419 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
5420 other than skipping \r. All users updated.
5421 * tests/grub_script_echo1.in: Add space-related tests.
5422 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
5423
1a1ac4f6
VS
54242012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5425
5426 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
5427
b63d89b6
VS
54282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * configure.ac: Bump up the version to beta2.
5431
17f38c0f
VS
54322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 Fix gettext reload bugs (e.g. inability to disable gettext
5435 once enabled).
5436
5437 * grub-core/gettext/gettext.c: Encapsulate all static variables in
5438 main_context and secondary_context. All functions updated.
5439 (grub_gettext_translate): Rename to ...
5440 (grub_gettext_translate_real): ... this. Return NULL on failed
5441 translate.
5442 (grub_gettext_translate): Handle secondary context.
5443 (grub_gettext_delete_list): Close file and zero-out the context.
5444 (grub_mofile_open): Don't call grub_gettext_delete_list.
5445 Don't close file.
5446 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
5447 if locale="" to avoid pointless error message.
5448 (grub_gettext_env_write_lang): Update lang even if load fails.
5449 Handle secondary context.
5450 (grub_gettext_reread_prefix): New function.
5451 (read_main): Likewise.
5452 (read_secondary): Likewise.
5453 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
5454 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
5455 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
5456 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
5457
8e56f870
VS
54582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 * configure.ac: Decrease warning level to avoid spurious warnings and
5461 to be able to compile with GCC 4.2.
5462 * Makefile.util.def: Remove -Wno-error=logical-op.
5463
82f6d455
WB
54642012-03-10 William Bittner <william.bittner@gmail.com>
5465
5466 * util/import_unicode.py: Add missing brackets around string for
5467 python 3 support.
5468
1ecd61a4
VS
54692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 Fix efi chainloader on network root.
5472
5473 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
5474 network devices.
5475 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
5476 New function.
5477
14361ee8
VS
54782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
5481 unused show_text member.
5482 * docs/grub.texi: Document "text" property.
5483
922aabf3
VS
54842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
5487 in dprintf.
5488
ec316771
VS
54892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 Fix IMSM handling on Fedora.
5492
5493 * util/getroot.c (grub_util_is_imsm): New function.
5494 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
5495
0f021838
VS
54962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * Makefile.am: Strip gold section.
5499 * conf/Makefile.common: Likewise.
5500 * gentpl.py: Likewise.
5501 * grub-core/Makefile.core.def: Likewise.
5502 * grub-core/genmod.sh.in: Likewise.
5503
1039c8eb
VS
55042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
5507 * util/grub.d/20_linux_xen.in: Likewise.
5508 Based on Debian patch.
5509
6dd412cd
VS
55102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 * util/grub.d/10_linux.in: Fix syntax error resulting in
5513 Richard Laager's patch.
5514 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
5515
3fd8bae5
VS
55162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
5519 dependencies.
5520
7eea1671
RL
55212012-03-10 Richard Laager <rlaager@wiktel.com>
5522
5523 * util/grub.d/10_linux.in: Fix ZFS root passing.
5524
e8e0566b
VS
55252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
5528 * grub-core/commands/xnu_uuid.c: Likewise.
5529 * grub-core/loader/efi/appleloader.c: Likewise.
5530 * grub-core/script/execute.c: Likewise.
5531 * grub-core/script/main.c: Likewise.
5532 * util/grub-mkfont.c: Likewise.
5533
1acc5b1f
VS
55342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * util/grub-mkfont.c (options): Use more appropriate "select" that
5537 "set" for face index.
5538
35d70620
VS
55392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * util/grub-editenv.c (options): Gettextize command summaries.
5542
c9eb96b5
VS
55432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
5546 "out of memory" error messagge.
5547
1f493136
VS
55482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
5551 of diskfilter for diskfilter on diskfilter support.
5552
6d790129
VS
55532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
5556
005f46c9
VS
55572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * util/grub-install.in: Check for themes/starfield/theme.txt and not
5560 themes/starfield.
5561
c8f778a0
VS
55622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
5565
de1e64eb
VS
55662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
5569
c6d54211
VS
55702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
5573 of error message.
5574
dd390777
VS
55752012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
5578
5fd1c522
VS
55792012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
5582 message.
c6d54211 5583 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 5584
fae01f6c
VS
55852012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
5588 Gettextize.
5589 * util/grub-mount.c (options): Likewise.
5590
292fdaff
VS
55912012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
5594 gettextize.
5595 * grub-core/commands/search_wrap.c (options): Likewise.
5596
ecdbae77
VS
55972012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
5600
52bfedfa
VS
56012012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
5604 size calculation.
5605 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
5606 none is known.
5607
55b20e58
VS
56082012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
5611 "temporary" since it's used in identifier and is limited in space.
5612
fda9d101
VS
56132012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 * po/POTFILES.in: Regenerate. Include *.h since they contain
5616 translatable strings as well.
5617
6a0295e2
VS
56182012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
5621 byte-swap on big-endian.
5622 Reported by: Lennart Sorensen
5623
807fb77c
VS
56242012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
5627 (allocate_pages): Improve dprintf.
5628 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
5629 code32_start. Fill code32_start and kernel_alignment in params.
5630 (grub_cmd_initrd): Use prot_init_space.
5631
61ac50ba
VS
56322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
5635
abdd26dd
VS
56362012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * util/grub-install.in: Add missing dot at the end of sentence.
5639
6e69da9c
VS
56402012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
5643 * grub-core/commands/videotest.c: Likewise.
5644 * grub-core/loader/i386/linux.c: Likewise.
5645
4a929343
VS
56462012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
5649 sentence.
5650 Reported by: Milo Casagrande.
5651
bb51c6c6
VS
56522012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
5655 * grub-core/commands/gptsync.c: Likewise.
5656 * grub-core/commands/hashsum.c: Likewise.
5657 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5658 * grub-core/commands/legacycfg.c: Likewise.
5659 * grub-core/io/gzio.c: Likewise.
5660 * grub-core/net/net.c: Likewise.
5661 * grub-core/term/gfxterm.c: Likewise.
5662 * grub-core/term/terminfo.c: Likewise.
5663 * grub-core/tests/test_blockarg.c: Likewise.
5664 * grub-core/video/video.c: Likewise.
5665 * util/grub-install.in: Likewise.
5666 * util/grub-mkfont.c: Likewise.
5667
b2b149cb
VS
56682012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
5671
c7c080ad
VS
56722012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 5675 Reported by: David Prévot.
c7c080ad 5676
f2e243c0
VS
56772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
5680 description.
5681
09963c76
VS
56822012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * util/grub-script-check.c (main): Fix a syntax error message which was
5685 unclear.
5686
a50514a8
VS
56872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
5690
4650daec
VS
56912012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
5694 messages.
5695
56962012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
5697
5698 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
5699 without argument.
5700 * util/grub-mount.c (options): Likewise.
5701
bbc5a342
VS
57022012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
5705
ef292a87
VS
57062012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * grub-core/net/http.c: Add TRANSLATORS comments.
5709 * grub-core/normal/cmdline.c: Likewise.
5710 * grub-core/normal/misc.c: Likewise.
5711 * grub-core/partmap/msdos.c: Likewise.
5712 * grub-core/parttool/msdospart.c: Likewise.
5713 * grub-core/script/execute.c: Likewise.
5714 * grub-core/script/main.c: Likewise.
5715 * grub-core/term/terminfo.c: Likewise.
5716 * grub-core/video/bitmap.c: Likewise.
5717 * util/grub-install.in: Likewise.
5718 * util/grub-mkimage.c: Likewise.
5719 * util/grub-mklayout.c: Likewise.
5720 * util/grub-setup.c: Likewise.
5721
0fc19bd0
VS
57222012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
5725 with similar messages in grub-fstest.
5726
d95862ef
VS
57272012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 * util/grub-install.in: Unify "option requires an argument" message
5730 with similar messages in other files.
5731 * util/grub-mkconfig.in: Likewise.
5732
b7308f90
VS
57332012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * util/grub-set-default.in: Replace printf with gettext_printf (the
5736 string in in question is already translated from grub-reboot)
5737
559dc587
VS
57382012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 * configure.ac: Bump up the version to beta1.
5741
1a11761f
VS
57422012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
5745 case when min_align = 0.
5746
24539abd
VS
57472012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
5750 and fix a case when line_start overflows.
5751
32bd735b
VS
57522012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * util/grub-reboot.in (usage): Mention id posibility.
5755 * util/grub-set-default.in (usage): Likewise.
5756
1a2fd1e6
VS
57572012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5758
5759 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
5760 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
5761 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
5762 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
5763 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5764 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5765 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5766
90eeab76
VS
57672012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * grub-core/commands/menuentry.c (options): Remove
5770 GRUB_ARG_OPTION_REPEATABLE.
5771 Reported by: Andreas Vogel
5772
5ad1be82
AV
57732012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
5774
5775 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
5776
cb055286
HE
57772012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
5778
5779 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
5780 error.
5781
93b1cd79
VS
57822012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 Use sort -V by the idea of Georgi Georgiev.
5785
5786 * util/grub-mkconfig_lib.in (version_sort): New function.
5787 (version_test_numeric): Use version_sort.
5788
0cdc126c
VS
57892012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5790
5791 Use submenus in grub-mkconfig.
5792
5793 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
5794 * util/grub-mkconfig_lib.in (grub_quote): New function.
5795 (gettext_printf): Use gettext and not gettext_quoted to fix several
5796 messages.
5797 * util/grub.d/10_hurd.in: Use submenus.
5798 * util/grub.d/10_kfreebsd.in: Likewise.
5799 * util/grub.d/10_linux.in: Likewise.
5800 * util/grub.d/10_netbsd.in: Likewise.
5801 * util/grub.d/20_linux_xen.in: Likewise.
5802 * util/grub.d/30_os-prober.in: Likewise.
5803 * util/grub.d/10_illumos.in: Add missing quoting.
5804 * util/grub.d/10_windows.in: Likewise.
5805
d9bef9bc
VS
58062012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 Fix menu title instability bug.
5809
5810 * grub-core/commands/menuentry.c (options): New option --id.
5811 (grub_normal_add_menu_entry): New argument id. All users updated.
5812 (grub_cmd_menuentry): Handle --id.
5813 (grub_menu_init): Accept unknown arguments.
5814 * grub-core/normal/main.c (features): Add feature_menuentry_id and
5815 feature_menuentry_options.
5816 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
5817 saved_entry.
5818 (get_entry_number): Match with id as well.
5819 * include/grub/menu.h (grub_menu_entry): New member id.
5820 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
5821 * util/grub.d/00_header.in: Define menuentry_id_option.
5822 * util/grub.d/10_hurd.in: Define id.
5823 * util/grub.d/10_illumos.in: Likewise.
5824 * util/grub.d/10_kfreebsd.in: Likewise.
5825 * util/grub.d/10_linux.in: Likewise.
5826 * util/grub.d/10_netbsd.in: Likewise.
5827 * util/grub.d/10_windows.in: Likewise.
5828 * util/grub.d/20_linux_xen.in: Likewise.
5829 * util/grub.d/30_os-prober.in: Likewise.
5830
58312012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
5832
5833 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
5834 "scope" with "body".
5835
7c8d0ce7
VS
58362012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
5839 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
5840 prot_size and prot_file_size.
5841
49de079b
VS
58422012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
5845 All users updated. If easily=1 require raid-5/-6 to be full.
5846 (is_node_readable): Likewise.
5847 (scan_devices): Scan incomplete but readable LVs at the end.
5848 (grub_diskfilter_memberlist): Pull missing devices.
5849 (insert_array): Skip scanning until device is complete or scan is
5850 done otherwise.
5851 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
5852 check.
5853 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
5854 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
5855
aff05d45
MG
58562012-03-03 Matthew Garrett <mjg@redhat.com>
58572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 Avoid EFI boot services when loading Linux.
5860
5861 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
5862 avoid_efi_bootservices. All users updated.
5863 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
5864 argument avoid_efi_bootservices. All users updated.
5865 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
5866 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
5867 align, min_align, relocatable, prefered_address. All users updated.
5868 Allocate avoiding boot services if kernel is relocatable.
5869 (grub_cmd_linux): Check if kernel is relocatable.
5870 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
5871 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
5872 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
5873 avoid_efi_boot_services.
5874 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
5875 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
5876 (linux_kernel_params): Likewise.
5877
3935dde2
MG
58782012-03-03 Matthew Garrett <mjg@redhat.com>
58792012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 Use EDID on EFI.
5882
5883 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
5884 datasize_out.
5885 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
5886 modes. Set gop_handle.
5887 (grub_video_gop_get_edid): New function.
5888 (grub_gop_get_preferred_mode): Likewise.
5889 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
5890 (grub_video_efi_gop_adapter): Set .get_edid.
5891 * include/grub/efi/edid.h: New file.
5892 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
5893
32107ec0
VS
58942012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * util/grub-install.in: Load efivars unconditionally.
5897
e70a2c50
VS
58982012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5899
5900 * po/Rules-piglatin: Change suffix from .po-update-en to
5901 .po-update-en-piglatin.
5902
8f9cace1
VS
59032012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 Add a pig farm.
5906
5907 * po/piglatin.sed: New file.
5908 * po/en@piglatin.header: Likewise.
5909 * po/Rules-piglatin: Likewise.
5910 * po/README: Add en@piglatin to autogenerated languages.
5911
8f95d002
VS
59122012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
5915 "Command for ...".
5916 * grub-core/commands/hdparm.c (options): Use "Display" rather than
5917 "Check" since we don't check anything.
5918 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
5919 is 64-bit one.
5920 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
5921 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
5922 (grub_md_sha512_real): Likewise.
5923
805a8dcc
VS
59242012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * grub-core/commands/gptsync.c: Fix typographic quoting.
5927 * grub-core/commands/ieee1275/suspend.c: Likewise.
5928 * grub-core/commands/parttool.c: Likewise.
5929 * grub-core/commands/search_wrap.c: Likewise.
5930 * grub-core/commands/videoinfo.c: Likewise.
5931 * grub-core/gfxmenu/gui_label.c: Likewise.
5932 * grub-core/hello/hello.c: Likewise.
5933 * grub-core/kern/emu/main.c: Likewise.
5934 * grub-core/net/net.c: Likewise.
5935 * grub-core/normal/menu.c: Likewise.
5936 * grub-core/normal/menu_text.c: Likewise.
5937 * grub-core/normal/misc.c: Likewise.
5938 * util/grub-editenv.c: Likewise.
5939 * util/grub-install.in: Likewise.
5940 * util/grub-kbdcomp.in: Likewise.
5941 * util/grub-mkconfig.in: Likewise.
5942 * util/grub-mknetdir.in: Likewise.
5943 * util/grub-mkrescue.in: Likewise.
5944 * util/grub-mkstandalone.in: Likewise.
5945 * util/grub-reboot.in: Likewise.
5946 * util/grub-set-default.in: Likewise.
5947 * util/grub-setup.c: Likewise.
5948 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5949
40211ab8
VS
59502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
5953 * grub-core/commands/keystatus.c: Likewise.
5954 * grub-core/commands/loadenv.c: Likewise.
5955 * grub-core/commands/probe.c: Likewise.
5956 * grub-core/commands/regexp.c: Likewise.
5957 * grub-core/commands/true.c: Likewise.
5958 * grub-core/commands/videoinfo.c: Likewise.
5959 * grub-core/disk/cryptodisk.c: Likewise.
5960 * grub-core/disk/ldm.c: Likewise.
5961 * grub-core/disk/loopback.c: Likewise.
5962 * grub-core/disk/luks.c: Likewise.
5963 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5964 * grub-core/kern/disk.c: Likewise.
5965 * grub-core/kern/emu/hostdisk.c: Likewise.
5966
0c7d99c7
VS
59672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
5970 * util/grub-install.in: Add missing quote in the comment.
5971
e7d2559b
VS
59722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
5975 * grub-core/commands/lsmmap.c: Likewise.
5976 * grub-core/commands/minicmd.c: Likewise.
5977 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5978 * grub-core/commands/regexp.c: Likewise.
5979 * grub-core/gdb/gdb.c: Likewise.
5980 * grub-core/term/gfxterm.c: Likewise.
5981 * util/grub-mkconfig.in: Likewise.
5982 * util/grub-mkfont.c: Likewise.
5983 * util/grub-mklayout.c: Likewise.
5984 * util/grub-mknetdir.in: Likewise.
5985 * util/grub-mkrescue.in: Likewise.
5986 * util/grub.d/30_os-prober.in: Likewise.
5987
49ce9e50
VS
59882012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
5991 with "Direct color" and "Packed" with "Packed pixel".
5992 (grub_cmd_videoinfo): Simplify legend.
5993
e4b791fa
VS
59942012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
5997 absolutely unclear error message.
5998
fd1265cb
VS
59992012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 * util/grub-mkstandalone.in: Remove confusing leftover print.
6002
8822a8a0
VS
60032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6004
6005 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
6006 comments.
6007 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
6008 (GRUB_MOD_INIT): Likewise.
6009 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
6010 VGA mode.
6011 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
6012 comments.
6013 * util/grub-install.in (usage): Likewise.
6014 Spell ID in whole letters.
6015 Add missing ending dot.
6016 Quote variables.
6017 * util/grub-reboot.in: Fix capitalisation.
6018 * util/grub-set-default.in: Likewise.
6019
937fd0cc
VS
60202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
6023 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
6024 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
6025 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
6026 Disable -Werror for -Wdeprecated-declarations.
6027 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
6028 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
6029 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
6030 (grub_util_get_grub_dev): Make luks handling dependent on
6031 HAVE_DEVICE_MAPPER and not __linux__.
6032 (get_win32_path): Fix format security.
6033 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
6034 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
6035 Don't try grub_find_zpool_from_dir.
6036 (grub_make_system_path_relative_to_its_root) [!__linux__]:
6037 #ifdef-out paresdir.
6038
1bab1ae3
VS
60392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6040
6041 * util/grub-pe2elf.c (usage): Add missing noreturn.
6042 (write_section_data): Rename name to shname to avoid shadowing.
6043 (write_symbol_table): Rename name to symname to avoid shadowing.
6044 Fix write_reloc_section call.
6045
ef023e42
VS
60462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
6049 to ensure that it's after the last byte of .text.
6050
48afcb75
VS
60512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * util/ieee1275/ofpath.c (my_isdigit): New function.
6054 (trailing_digits): Use my_isdigit.
6055 (strip_trailing_digits): Likewise.
6056
88d51eff
VS
60572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6058
6059 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
6060 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
6061
17edc2ba
VS
60622012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 * grub-core/kern/i386/pc/startup.S: Define __start.
6065
ad5518d7
VS
60662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
6069 strip already transforms he format.
6070
9e95e1bf
VS
60712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6072
6073 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
6074
9cc3ee5c
VS
60752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 * util/grub-install.in: Add missing gettext init.
6078 * util/grub-kbdcomp.in: Likewise.
6079 * util/grub-mkconfig.in: Likewise.
6080 * util/grub-mknetdir.in: Likewise.
6081 * util/grub-mkrescue.in: Likewise.
6082 * util/grub-mkstandalone.in: Likewise.
6083 * util/grub-reboot.in: Likewise.
6084 * util/grub-set-default.in: Likewise.
6085 * util/grub.d/00_header.in: Likewise.
6086 * util/grub.d/10_hurd.in: Likewise.
6087 * util/grub.d/10_windows.in: Likewise.
6088 * util/grub.d/30_os-prober.in: Likewise.
6089 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6090
49e08a06
VS
60912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * po/Rules-swiss: Fix header comment.
6094
3809cb41
AV
60952012-02-29 Andreas Vogel <anvoit>
6096
6097 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
6098 resulted in leak of arguments.
6099
fa6ec573
VS
61002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6101
6102 * grub-core/boot/i386/pc/startup_raw.S: Use separate
6103 reed_solomon_size const definition instead of computing it since
6104 Apple assembler doesn't support the later.
6105
22899b9c
VS
61062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * gentpl.py (kernel): Rewrite Apple part.
6109
a132afc3
VS
61102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * include/grub/kernel.h (FOR_MODULES): Check module magic.
6113
9d742bd4
VS
61142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * util/grub-mkimagexx.c (locate_sections): Support non-standard
6117 ELF section gap.
6118 (load_image): Likewise.
6119
f04a9a21
VS
61202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * configure.ac: Fix a typo in previous commit.
6123
46cf439c
VS
61242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 Don't add -Wl,-N on Apple platform.
6127
6128 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
6129 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
6130
c4c48c54
VS
61312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 * grub-core/Makefile.core.def (lzma_decompress): Use
6134 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
6135
31a12124
VS
61362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 * grub-core/genmod.sh.in: Rewrite the Apple part.
6139
4f3aa1af
VS
61402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
6143 comparison.
6144
7bd8b0c7
VS
61452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * acinclude.m4 (grub_CHECK_PIC): New test.
6148 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
6149
97304d7c
VS
61502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
6153 to avoid the warning.
6154
fb883812
VS
61552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
6158 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
6159 after. All users updated.
6160
a121c964
VS
61612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 Use the common size routine in hostfs so we can read disks as well.
6164
6165 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
6166 (grub_util_get_fd_size): ... this. Return size in bytes.
6167 All users updated.
6168 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
6169 grub_util_get_fd_size.
6170
c66d6410
VS
61712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
6174 Add blocksize retrieval.
6175
dfc8aeb0
VS
61762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * configure.ac: Restore CFLAGS after efiemu check.
6179
403e25a5
VS
61802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
6183 Apple bug.
6184
382775d1
VS
61852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
6188
6fd4e6e4
VS
61892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
6192 (grub_cmd_halt): Likewise.
6193
bea359d6
VS
61942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
6197 for local arithmetics.
6198 Break %sp init into 2 instructions.
6199 Add 0 byte at the end.
6200
32eb6ee1
VS
62012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * grub-core/disk/diskfilter.c (read_segment): Initialise err
6204 before loops.
6205
e8377389
VS
62062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
6209 for context.
6210
8cb17de7
VS
62112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/disk/ldm.c (make_vg): Init part.name.
6214 (grub_ldm_detect): Silence spurious warning.
6215 (grub_util_is_ldm): Likewise.
6216
595717e6
VS
62172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6218
6219 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
6220 sane value to avoid a spurious warning.
6221
c4b7e588
VS
62222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
6225 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
6226
59824957
VS
62272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
6230 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
6231
70115b99
VS
62322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
6235 hardcoding the relevant info.
6236
56733740
VS
62372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
6240 missing const qualifiers.
6241 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
6242
43481481
VS
62432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * util/getroot.c [__APPLE__]: Add missing includes.
6246 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
6247
3cb38f01
VS
62482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * util/grub-mkimage.c (generate_image): Silence spurious warning.
6251
d9dbf11e
VS
62522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6253
6254 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
6255 avoid conflicts.
6256
0c42a45d
VS
62572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
6260
46c34eb0
VS
62612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
6264 and grub_file_close call.
6265
99ce1597
VS
62662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 Add LZSS Mach-O support (needed for new xnu kernelcache).
6269
6270 * grub-core/Makefile.core.def (xnu): Add file lzss.c
6271 * grub-core/loader/lzss.c: New file.
6272 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
6273 on Mach-O open failure.
6274 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
6275 Don't free cmdsXX in uncompressedXX is set.
6276 (grub_macho_file): Init new fields.
6277 New argument is_64bit. All users updated.
6278 Handle compressed. Error out if no suitable architecture is found.
6279 Don't close file.
6280 (grub_macho_open): New argument is_64bit. All users updated.
6281 * grub-core/loader/macho32.c: Add defines for new fields.
6282 * grub-core/loader/macho64.c: Likewise.
6283 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
6284 (grub_macho_parse): Handle compressed.
6285 Defer actual processing if compressed.
6286 (grub_macho_cmds_iterate): Decompress if compressed. New argument
6287 "filename". All users updated.
6288 (grub_macho_size): New argument "filename". All users updated.
6289 (grub_macho_get_entry_point): Likewise.
6290 (grub_macho_load): Handle compressed.
6291 * include/grub/macho.h (grub_macho_lzss_header): New struct.
6292 (GRUB_MACHO_LZSS_OFFSET): New define.
6293 (grub_decompress_lzss): New proto.
6294 * include/grub/machoload.h (grub_macho_file): New fields to handle
6295 compressed.
6296 (grub_macho_contains_macho64): Remove proto.
6297 (grub_macho_contains_macho32): Likewise.
6298 * util/grub.d/30_os-prober.in: Use kernel cache if available.
6299
ebd17d6f
VS
63002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
6303
2702b4e4
VS
63042012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6305
6306 Fix make dist.
6307
6308 * Makefile.am (starfield_theme_files): New var.
6309 (starfield_DATA): Use starfield_theme_files.
6310 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
6311 Add bootcheck-related files.
6312 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
6313 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
6314 and font_char_metrics.txt.
6315 * grub-core/Makefile.core.def (kernel): Update extra_dist.
6316 (setjmp): Add lib/ia64/longjmp.S.
6317 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
6318 * po/POTFILES.in: Regenerate.
6319 * po/Rules-swiss: use DISTFILES.common.extra2 and not
6320 DISTFILES.common.extra1.
6321 * util/devicemap.c: Removed.
6322 * grub-core/lib/i386/relocator_backward.S: Likewise.
6323 * util/import_gcry.py: Remove unused files. Add extra_dist for
6324 ChangeLog.
6325
cf1adfdf
VS
63262012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * grub-core/gettext/gettext.c (grub_mofile_open): Call
6329 grub_gettext_delete_list before changing grub_gettext_max to avoid
6330 running out of array bounds.
6331
63322012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
6333
6334 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
6335 grub_vga_text_init/grub_vga_text_fini.
6336
cf1adfdf 63372012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
6338
6339 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
6340
541d92e9
VS
63412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6342
6343 * configure.ac: Bump to 2.00~beta0.
6344
7931dddf
VS
63452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
6348 missing initialisation.
6349
f1b16fa3
VS
63502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
6353
83ddae23
VS
63542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 Support v2 xnu boot arguments.
6357
6358 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
6359 New argument fsbfreq_out.
6360 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
6361 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
6362 be used.
6363 * grub-core/loader/machoXX.c (grub_macho_load): New argument
6364 darwin_version.
6365 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
6366 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
6367 (grub_xnu_boot_params): Rename to ...
6368 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
6369 (grub_xnu_boot_params_v2): New struct.
6370
dc693fe6
VS
63712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
6374 zeroing of CRC field before computing CRC.
6375
5a6e39c2
VS
63762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
6379 Change order of allocations to decrease fragmentation.
6380
6c21f5d7
VS
63812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
6384
cfe456dc
CW
63852012-02-27 Colin Watson <cjwatson@ubuntu.com>
6386
6387 Use write-combining MTRR to speed up video with buggy BIOSes.
6388
6389 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
6390 (cpuid): New define.
6391 (rdmsr): Likewise.
6392 (wrmsr): Likewise.
6393 (mtrr_base): Likewise.
6394 (mtrr_mask): Likewise.
6395 (grub_vbe_enable_mtrr_entry): New function.
6396 (grub_vbe_enable_mtrr): Likewise.
6397 (grub_vbe_disable_mtrr): Likewise.
6398 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
6399 control off to BIOS.
6400 (grub_video_vbe_init): Fill mtrr.
6401 (grub_video_vbe_fini): Disable mtrr.
6402 (grub_video_vbe_get_info_and_fini): Likewise.
6403 (grub_video_vbe_setup): Enable mtrr.
6404
e3c78337
CW
64052012-02-27 Colin Watson <cjwatson@ubuntu.com>
6406
6407 * include/grub/partition.h (grub_partition_map): Change prototype of
6408 embed to take a maximum value for nsectors.
6409 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
6410 * include/grub/fs.h (grub_fs): Likewise.
6411 * grub-core/partmap/msdos.c (embed_signatures): New array.
6412 (pc_partition_map_embed): Check for and avoid sectors matching any
6413 of the signatures in embed_signatures, up to max_nsectors.
6414 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
6415 returned sector map to max_nsectors.
6416 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
6417 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
6418 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
6419 * util/grub-setup.c (setup): Allow for the embedding area being
6420 split into multiple blocklists. Tell dest_partmap->embed the
6421 maximum number of sectors we care about.
6422
64232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
6426 Specify blocklist_install and reserver_first_sector for all fs.
6427 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
6428 blocklists.
6429
984b973f
VS
64302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 * util/grub-install.in: Clarify strings.
6433 Fix source dir check.
6434
f122e0d6
RL
64352012-02-27 Richard Laager <rlaager@wiktel.com>
6436
6437 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
6438 "zfs" and "fuse.zfs" as synonyms.
6439
071114bb
VS
64402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * configure.ac: Put platform and target_cpu substitutions back since
6443 they are used for directories.
6444
817e6abc
RL
64452012-02-27 Richard Laager <rlaager@wiktel.com>
64462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * util/grub.d/10_linux.in: Add ZFS-related arguments.
6449 * util/grub.d/20_linux_xen.in: Likewise.
6450
897b7419
RL
64512012-02-27 Richard Laager <rlaager@wiktel.com>
6452
6453 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
6454 with full paths.
6455
a414bd15
RL
64562012-02-27 Richard Laager <rlaager@wiktel.com>
6457
6458 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
6459 unescape.
6460
30ac48c4
VS
64612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 Don't use insecure popen in getroot.
6464
6465 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
6466 (exec_pipe): ... here.
6467 (find_root_devices_from_poolname): Use exec_pipe.
6468
53f13848
VS
64692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 Remove platform and target_cpu replacement.
6472
6473 * configure.ac: Remove platform and target_cpu substitutions.
6474 * tests/util/grub-shell.in: Use modinfo.
6475 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
6476 explicitly.
6477
90cb2803
VS
64782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 Autodetect platform in grub-install but allow override.
6481
6482 * util/grub-install.in: Autodetect platform. Support --target and
6483 --directory. Read platform from modinfo.sh.
6484
b9136427
VS
64852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 Support btrfs multi-volume probe.
6488
6489 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
6490 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
6491 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
6492 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
6493 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
6494 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
6495 grub_find_root_devices_from_btrfs if on btrfs.
6496
c36e5cd1
VS
64972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 Remove any awareness of *.c util files about target.
6500
6501 * Makefile.util.def (grub-setup): Split to ...
6502 (grub-bios-setup): ... and this.
6503 (grub-sparc64-setup): ... and this.
6504 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
6505 * docs/man/grub-setup.h2m: Split into ...
6506 * docs/man/grub-sparc64-setup.h2m: ... this.
6507 * docs/man/grub-bios-setup.h2m: ... and this.
6508 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
6509 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
6510 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
6511 (grub_target_addr_t): Remove.
6512 (grub_target_size_t): Remove.
6513 (grub_target_ssize_t): Remove.
6514 * util/grub-install.in: Use new grub-*-setup.
6515 * util/grub-mkimagexx.c (Elf_Word): New define.
6516 (Elf_Half): Likewise.
6517 (Elf_Section): Likewise.
6518 (ELF_ST_TYPE): Likewise.
6519 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
6520 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
6521
584b2f8a
VS
65222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 Replace grub_target_addr with more appropriate types.
6525
6526 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
6527 grub_target_addr with grub_addr.
6528 * grub-core/commands/iorw.c (grub_cmd_read): Replace
6529 grub_target_addr with grub_port.
6530 (grub_cmd_write): Likewise.
6531 * grub-core/commands/memrw.c (grub_cmd_read): Replace
6532 grub_target_addr with grub_addr.
6533 (grub_cmd_write): Likewise.
6534 * grub-core/video/efi_uga.c (find_line_len): Likewise.
6535
5a0dc6fb
VS
65362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
6539 const qualifier for vendor_guid.
6540
786aff6e
VS
65412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
6544 const qualifier.
6545 (efiemu_memequal): Likewise.
6546 (find_variable): Likewise.
6547
49017b17
VS
65482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6549
6550 Fix missing console prototype on qemu-mips.
6551
6552 * include/grub/mips/qemu_mips/console.h: New file.
6553
c5988629
MG
65542012-02-27 Matthew Garrett <mjg@redhat.com>
65552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
6558 * include/grub/efi/efi.h: Likewise.
6559 * include/grub/efi/api.h: Add guid for EFI-specified variables.
6560 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
6561 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
6562 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
6563 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
6564 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
6565
e33f8d69
MG
65662012-02-27 Matthew Garrett <mjg@redhat.com>
6567
6568 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
6569
fb312cd9
VS
65702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
6573 error.
6574
7134247c
VS
65752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 * configure.ac: Remove inappropriate use of program_transform_name
6578 on grubdir and bootdir but allow explicit specification of those
6579 variables.
6580
6a313124
VS
65812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6582
6583 * util/grub-mknetdir.in (grub_prefix): Removed.
6584 (subdir): Use @bootdirname@ and @grubdirname@.
6585
2311c5ca
VS
65862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
6589
7d5d60f7
VS
65902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * po/POTFILES.in: Regenerated.
6593
8151bc82
VS
65942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 Remove improper use of program_transform_name on pkglibrootdir.
6597
6598 * configure.ac (pkglibrootdir): Removed.
6599 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
6600 * util/grub-mkimage.c: Likewise.
6601
b4a6a533
VS
66022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
6605 warning.
6606
668f304f
VS
66072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 * util/grub-install.in: Use file identifier if no UUID is available
6610 or user explicitly prompted for it.
6611
665f2341
NP
66122012-02-27 Navdeep Parhar <nparhar@gmail.com>
6613
6614 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
6615 (freebsd_get_zfs): New function.
6616 (grub_freebsd_boot): Pass zfs UUID.
6617 (grub_cmd_freebsd): Set zfs UUID.
6618
8151bc82 66192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
6620
6621 * conf/Makefile.common (platformdir): Base on pkglibdir and not
6622 pkglibrootdir.
6623
e4c498a1
MG
66242012-02-27 Mike Gilbert <floppym@gentoo.org>
6625
6626 Add configure flag to control libzfs integration.
6627
6628 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
6629
1e9a9a3f
VS
66302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
6633 device.
6634 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
6635 small devices.
6636
036985b8
VS
66372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 Remove grub_{modname}_init and grub_{modname}_fini. They should never
6640 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
6641 be used on non-modules.
6642
6643 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
6644 Rename to grub_boot_init.
6645 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
6646 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
6647 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
6648 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
6649 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
6650 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
6651 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
6652 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
6653 includes.
6654 (grub_machine_init): Remove empty inits.
6655 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
6656 includes.
6657 (grub_machine_init): Remove empty inits.
6658 * grub-core/term/arc/console.c: Remove explicit proto.
6659 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
6660 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
6661 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6662 grub_at_keyboard_fini.
6663 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
6664 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
6665 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6666 grub_gfxterm_fini.
6667 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
6668 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
6669 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6670 grub_vgatext_fini.
6671 * grub-core/term/ieee1275/console.c: Remove explicit proto.
6672 * grub-core/term/serial.c (GRUB_MOD_INIT)
6673 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
6674 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6675 grub_serial_fini.
6676 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
6677 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
6678 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6679 grub_terminfo_fini.
6680 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
6681 (GRUB_MOD_FINI): Likewise.
6682 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
6683 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
6684 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6685 grub_video_radeon_fuloong2e_fini.
6686 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
6687 [LOONGSON]: Rename to grub_video_sis315pro_init.
6688 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6689 grub_video_sis315pro_fini.
6690 * grub-core/video/sm712.c (GRUB_MOD_INIT)
6691 [LOONGSON]: Rename to grub_video_sm712_init.
6692 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6693 grub_video_sm712_fini.
6694 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
6695 (grub_at_keyboard_fini): Likewise.
6696 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
6697 Don't declare grub_{modname}_init.
6698 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
6699 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
6700 New proto.
6701 (grub_keylayouts_fini) [!EMU]: Likewise.
6702 * include/grub/serial.h (grub_serial_init) [!EMU]:
6703 New proto.
6704 (grub_serial_fini) [!EMU]: Likewise.
6705 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
6706 New proto.
6707 (grub_terminfo_fini) [!EMU]: Likewise.
6708 * include/grub/video.h (grub_font_init) [!EMU]:
6709 New proto.
6710 (grub_font_fini) [!EMU]: Likewise.
6711 (grub_gfxterm_init) [!EMU]: Likewise.
6712 (grub_gfxterm_fini) [!EMU]: Likewise.
6713 (grub_video_sm712_init) [!EMU]: Likewise.
6714 (grub_video_sm712_fini) [!EMU]: Likewise.
6715 (grub_video_sis315pro_init) [!EMU]: Likewise.
6716 (grub_video_sis315pro_fini) [!EMU]: Likewise.
6717 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
6718 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
6719
d5534665
VS
67202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6721
6722 Make nand a prefix for nand devices.
6723
6724 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
6725
10133b5f
VS
67262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
6729 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
6730
8e307a62
VS
67312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * include/grub/env.h (grub_env_find): Remove prototype.
6734 * grub-core/kern/env.c (grub_env_find): Make static.
6735 (grub_env_set): Remove useless set.
6736
a4c65f34
VS
67372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 * grub-core/kern/i386/realmode.S: Remove useless align.
6740
d87893d5
VS
67412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * include/grub/dl.h (grub_dl_load_file): Don't export.
6744
50159add
VS
67452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6746
6747 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
6748 grub_dprintf.
6749
b2582b84
VS
67502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6751
6752 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
6753 grub_errors.
6754 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
6755 not reloading whole superblock but only the part which is really needed.
6756 Remove useless grub_errors.
6757 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
6758 grub_errors.
6759
e2a83395
VS
67602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 Don't export grub_get_rtc.
6763
6764 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
6765 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
6766
e7d2a906
VS
67672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
6770
6cf1363b
VS
67712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 6774 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 6775
eece3349
VS
67762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 Remove prio_list.
6779
6780 * include/grub/list.h (grub_prio_list): Removed.
6781 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
6782 GRUB_COMMAND_PRIO_MASK.
6783 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
6784 GRUB_COMMAND_FLAG_ACTIVE.
6785 (grub_prio_list_insert): Removed.
6786 (grub_prio_list_remove): Likewise.
6787 (GRUB_AS_PRIO_LIST): Likewise.
6788 (GRUB_AS_PRIO_LIST_P): Likewise.
6789 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
6790 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
6791 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
6792 * grub-core/kern/command.c (grub_register_command_prio): Inline
6793 the prio_list code.
6794 (grub_unregister_command): Likewise.
6795
94f064b4
VS
67962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 Fix interrupt mixup from previous commit.
6799
6800 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
6801 (grub_realidt): New var.
6802 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
6803 Load idt.
6804 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
6805 New declaration.
6806 (grub_relocator16_boot): Set grub_relocator16_idt.
6807 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
6808 (LOCAL(realidt)): ... this.
6809 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
6810 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
6811 (grub_realidt): New variable.
6812
27317084
VS
68132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
6816 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
6817 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
6818 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
6819 Gettextize.
6820 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
6821 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
6822 * po/POTFILES.in: Regenerate.
6823
47b40053
VS
68242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
6827 errors.
6828
2b343101
VS
68292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6830
6831 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
6832 \0.
6833 (add_length): Likewise.
6834
ff27c3dd
LK
68352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
68362012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
6837
6838 GDB serial and backtrace support.
6839
6840 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
6841 (prot_to_real): Likewise.
6842 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
6843 * grub-core/Makefile.core.def (backtrace): New module.
6844 (gdb): Likewise.
6845 * grub-core/gdb/cstub.c: New file.
6846 * grub-core/gdb/gdb.c: Likewise.
6847 * grub-core/gdb/i386/idt.c: Likewise.
6848 * grub-core/gdb/i386/machdep.S: Likewise.
6849 * grub-core/gdb/i386/signal.c: Likewise.
6850 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 6851 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
6852 * include/grub/backtrace.h: Likewise.
6853 * include/grub/gdb.h: Likewise.
6854 * include/grub/i386/gdb.h: Likewise.
6855
68562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
6857
6858 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
6859 New function.
6860 (add_length): Likewise.
6861 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
6862 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
6863 proto.
6864 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
6865 __argp_get_display_len.
6866
ff27c3dd 68672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
6868
6869 $"..." support in scripts.
6870
6871 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
6872 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
6873 * grub-core/script/yylex.l: Likewise.
6874 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
6875 value.
6876
ff27c3dd 68772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
6878
6879 * gentpl.py: Remove obsolete pkglib_DATA handling.
6880
ff27c3dd 68812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
6882
6883 Don't transform PACKAGE_TARNAME following a discussion on autoconf
6884 mailing list.
6885
6886 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
6887 * util/grub-kbdcomp.in: Likewise.
6888 * util/grub-mkconfig.in: Likewise.
6889 * util/grub-mkconfig_lib.in: Likewise.
6890 * util/grub-mknetdir.in: Likewise.
6891 * util/grub-mkrescue.in: Likewise.
6892 * util/grub-mkstandalone.in: Likewise.
6893 * util/grub-reboot.in: Likewise.
6894 * util/grub-set-default.in: Likewise.
6895 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6896
ff27c3dd 68972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
6898
6899 Remove GRUB_PREFIX.
6900
6901 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
6902 * util/grub.d/00_header.in: Compute prefix in the only place it's still
6903 used for backward compatibility.
6904
ff27c3dd 69052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
6906
6907 Add new all_video module.
6908
6909 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
6910 * grub-core/Makefile.core.def (all_video): New module.
6911 * grub-core/genmoddep.awk: Generate dependency of all_video from
6912 video.lst.
6913 * grub-core/lib/fake_module.c: New file.
6914 * grub-core/normal/main.c (features): Add feature_all_video_module.
6915 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
6916 don't do explicit search again.
47454da5 6917 insmod all_video in load_video if available.
22c7ce85 6918
ff27c3dd 69192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
6920
6921 Another round of string clarification and adding TRANSLATORS comments.
6922
ff27c3dd 69232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
6924
6925 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
6926
ff27c3dd 69272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
6928
6929 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
6930 to grub_ssize_t.
6931 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
6932 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
6933
ff27c3dd 69342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
6935
6936 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
6937 trailing newline implicitly. All users updated.
6938
ff27c3dd 69392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
6940
6941 Implement serial on IEEE1275 and EFI.
6942
6943 * docs/grub.texi (Platform-specific limitations): Fix the columen video
6944 on emu. Mention arc and emu as the only platforms without serial
6945 support.
6946 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
6947 ieee1275 platforms.
6948 * grub-core/term/efi/serial.c: New file.
6949 * grub-core/term/ieee1275/serial.c: Likewise.
6950 * grub-core/term/serial.c (grub_serial_find): Disable direct port
6951 specification if no ns8250 driver is available.
6952 (grub_cmd_serial): Likewise.
6953 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
6954 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
6955 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
6956 (grub_efi_parity_type_t): New type.
6957 (grub_efi_stop_bits_t): Likewise.
6958 (grub_efi_serial_io_interface): New struct.
6959 * include/grub/serial.h (grub_serial_port): Make 'broken' field
6960 available for all interfaces.
6961 Add EFI and IEEE1275 fields.
6962 (grub_ofserial_init): New proto.
6963 (grub_efiserial_init): Likeiwse.
6964 * util/grub.d/00_header.in: Don't check for the presence of serial
6965 module.
6966
ff27c3dd 69672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
6968
6969 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
6970 name as if it was an alias.
6971
114076ef
VS
69722012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * grub-core/commands/lsacpi.c (options): Fix typo.
6975
6a656b0e
VS
69762012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 Convert grub-emu to argp.
6979
6980 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
6981 emu.
6982 * util/argp_common.c: Rename to ...
6983 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
6984 Add missing includes.
6985 * grub-core/kern/emu/main.c: Convert to argp.
6986 * po/POTFILES.in: Regenerate.
6987 * util/grub-install.in (usage): Make first letter lowcase in messages
6988 for uniformity.
6989 * util/grub-setup.c (options): Likewise.
6990
1e3f8ae8
VS
69912012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
6994 Put back accidently commented-out code.
6995
ed167a80
VS
69962012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
6999 loop check using Brent algorithm.
7000 (grub_hfsplus_btree_search): Likewise.
7001
6753c0ec
VS
70022012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7003
7004 * util/grub-install.in: Fix usage of wrong device for PreP install.
7005
4e27343f
VS
70062012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * conf/Makefile.common (CFLAGS_GNULIB): Add
7009 -Wno-unsafe-loop-optimizations.
7010 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
7011 on tools.
7012 * grub-core/commands/legacycfg.c: Add pragma to skip
7013 -Wunsafe-loop-optimizations.
7014 (check_password_md5_real): Fix loop counter type.
7015 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
7016 reading.
7017 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
7018 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
7019 loop condition.
7020 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
7021 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
7022 * grub-core/net/net.c (grub_net_route_address): Add safety loop
7023 condition.
7024 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
7025 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
7026 avoid possible infinite loops.
7027 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
7028 and -Wunsafe-loop-optimizations.
7029 * grub-core/script/yylex.l: Likewise.
7030 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
7031 (print_glyphs): Avoid infinite loops.
7032 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
7033
697f18b0
GS
70342012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
7035
7036 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
7037 to avoid infinite loop.
7038 (disp_acpi_rsdt_table): Likewise.
7039
274416e8
VS
70402012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7041
7042 * grub-core/font/font.c (grub_font_load): Add support for default
7043 path for fonts ($prefix/fonts).
7044 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
7045 for checking if string is a path.
7046 * grub-core/normal/main.c (features): Add feature_default_font_path.
7047 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
7048 * util/grub.d/00_header.in: Use default directory if possible.
7049 * util/grub-install.in: Install unicode.pf2.
7050
b3e08622
VS
70512012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
7054 * po/Rules-swiss: New file.
7055 * po/swiss.sed: Likewise.
7056
fe42ce09
VS
70572012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7058
7059 * grub-core/fs/btrfs.c (find_device): Fix typos.
7060 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
7061 * util/grub-mkrelpath.c (argp_parser): Likewise.
7062 Reported by: Yuri Chornoivan.
7063
72f1d065
DO
70642012-02-23 Dalet Omega <daletomega@gmail.com>
7065
7066 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
7067 for usual informative messages.
7068
c5884973
DO
70692012-02-23 Dalet Omega <daletomega@gmail.com>
7070
7071 Starfield theme.
7072
7073 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
7074 * conf/Makefile.common: Define starfielddir.
7075 * configure.ac: Configure starfield.
7076 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
7077 * themes/starfield/README: Likewise.
7078 * themes/starfield/blob_w.png: Likewise.
7079 * themes/starfield/boot_menu_c.png: Likewise.
7080 * themes/starfield/boot_menu_e.png: Likewise.
7081 * themes/starfield/boot_menu_n.png: Likewise.
7082 * themes/starfield/boot_menu_ne.png: Likewise.
7083 * themes/starfield/boot_menu_nw.png: Likewise.
7084 * themes/starfield/boot_menu_s.png: Likewise.
7085 * themes/starfield/boot_menu_se.png: Likewise.
7086 * themes/starfield/boot_menu_sw.png: Likewise.
7087 * themes/starfield/boot_menu_w.png: Likewise.
7088 * themes/starfield/slider_c.png: Likewise.
7089 * themes/starfield/slider_n.png: Likewise.
7090 * themes/starfield/slider_s.png: Likewise.
7091 * themes/starfield/src/blob_nw.xcf: Likewise.
7092 * themes/starfield/src/bootmenu/: Likewise.
7093 * themes/starfield/src/bootmenu/center.xcf: Likewise.
7094 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
7095 * themes/starfield/src/bootmenu/side.xcf: Likewise.
7096 * themes/starfield/src/slider_c.xcf: Likewise.
7097 * themes/starfield/src/slider_n.xcf: Likewise.
7098 * themes/starfield/src/slider_s.xcf: Likewise.
7099 * themes/starfield/src/terminalbox/: Likewise.
7100 * themes/starfield/src/terminalbox/center.xcf: Likewise.
7101 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
7102 * themes/starfield/src/terminalbox/side.xcf: Likewise.
7103 * themes/starfield/starfield.png: Likewise.
7104 * themes/starfield/terminal_box_c.png: Likewise.
7105 * themes/starfield/terminal_box_e.png: Likewise.
7106 * themes/starfield/terminal_box_n.png: Likewise.
7107 * themes/starfield/terminal_box_ne.png: Likewise.
7108 * themes/starfield/terminal_box_nw.png: Likewise.
7109 * themes/starfield/terminal_box_s.png: Likewise.
7110 * themes/starfield/terminal_box_se.png: Likewise.
7111 * themes/starfield/terminal_box_sw.png: Likewise.
7112 * themes/starfield/terminal_box_w.png: Likewise.
7113 * themes/starfield/theme.txt: Likewise.
7114
17d73325
VS
71152012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 * util/grub.d/00_header.in: Add missing export theme.
7118
dbebaf92
VS
71192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
7122 already included.
7123 Reported by: Eren D.
7124
3d68bffb
VS
71252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 * conf/Makefile.common (grubdatadir): Removed.
7128 (Makefile.am): Move eveything grubdata to pkgdata.
7129
4b59234d
VS
71302012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7131
7132 * grub-core/commands/acpihalt.c (get_sleep_type):
7133 Remove unused variable.
7134
463dcadc
VS
71352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
7138 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
7139 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
7140 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
7141 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
7142 i18n with gettext no-op.
7143 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
7144 GRUB_ACPI_OPCODE_STRING_CONST.
7145 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
7146 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
7147
e5b90c82
VS
71482012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * po/POTFILES.in: Regenerate.
7151
2a704ca9
VS
71522012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
7155 -Wno-error=missing-noreturn.
7156
84f9d341
VS
71572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
7160 condition to avoid possibly infinite loops.
7161 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
7162 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
7163
d46683f9
VS
71642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
7167 condition to avoid possibly infinite loops.
7168
c44866b2
VS
71692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
7172 on show_error.
7173
96790539
VS
71742012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
7177
1ba7e295
VS
71782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
7181
21ffe8f1
VS
71822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * util/bin2h.c (usage): Add missing attribute noreturn.
7185
0ccb6b3c
VS
71862012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
7189 if the size isn't divisible by 512.
7190
b00d7fb6
VS
71912012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 Make list_push and list_remove functions rather than inline functions
7194 to decrease size and avoid aliasing violations.
7195
7196 * include/grub/list.h (grub_list_push): Move to ...
7197 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
7198 * include/grub/list.h (grub_list_remove): Move to ...
7199 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
7200
9d369087
VS
72012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7202
7203 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
7204 and -Wunused-result.
7205
af0250d9
VS
72062012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
7209 Reported by: Seth Goldberg
7210
aad32b14
VS
72112012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
7214
ac96441c
ST
72152012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
7216
7217 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
7218 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
7219 command line.
7220 * docs/grub.texi (Simple configuration): Document
7221 GRUB_CMDLINE_GNUMACH.
7222
72232012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
7224
7225 * conf/Makefile.common (platform_SCRIPTS): New variable.
7226 (platform_PROGRAMS): Likewise.
7227 * gentpl.py: Mark *,module and *.image for install.
7228 * grub-core/gdb_grub.in: Add a notice of expected environment.
7229 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
7230 (gmodule.pl): Likewise.
7231
ac96441c 72322012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
7233
7234 Replace grub_checkkey with grub_getkey_noblock.
7235
7236 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
7237 (grub_getkey_noblock): ... this. All users updated.
7238
ac96441c 72392012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
7240
7241 * grub-core/kern/emu/console.c: Move to ...
7242 * grub-core/term/emu/console.c: ...here.
7243 (grub_ncurses_getkey): Fix return value if no key is detected.
7244
e51b5666
VS
72452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
7248 (grub_unit_test_fini): Likewise.
7249 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
7250
72512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7252
7253 * include/grub/test.h (GRUB_UNIT_TEST)
7254
d9a62292
VS
72552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 * grub-core/script/execute.c (grub_script_break): Clarify logic.
7258 Better error handling.
7259 (grub_script_return): Likewise.
7260 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7261
77c9182f
VS
72622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
7265 rimplicit redifinition.
7266
edb13cf9
VS
72672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
7270 GRUB.
7271
a9e9dc7c
VS
72722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
7275 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
7276 prompt here.
7277
b4ba8e02
VS
72782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
7281 as GRUB_ERR_BUG. Don't malloc if no device is available.
7282
dded5540
VS
72832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
7286 Mark calling with invalid term as GRUB_ERR_BUG.
7287
0cf69874
VS
72882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
7291 packets rather than raising an error.
7292
59bfe502
VS
72932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
7296 in if.
7297
db5fc596
VS
72982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
7301 diagnostic to dprintf.
7302 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7303
e4b7f404
VS
73042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
7307 device name.
7308
e7b02f9e
VS
73092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
7312 (grub_ntfs_iterate_dir): Likewise.
7313
0331e102
VS
73142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 Efiemu stylistic fixes and gettext.
7317
7318 * grub-core/efiemu/i386/loadcore32.c
7319 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
7320 * grub-core/efiemu/i386/loadcore64.c
7321 (grub_arch_efiemu_relocate_symbols64): Likewise.
7322 * grub-core/efiemu/i386/pc/cfgtables.c
7323 (grub_machine_efiemu_init_tables): Likewise.
7324 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
7325 (grub_efiemu_loadcore_initXX): Add a filename argument.
7326 All users updated.
7327 Improved error message.
7328 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
7329 Add a filename argument.
7330 All users updated.
7331 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
7332 Reclassify double relocation as GRUB_ERR_BUG.
7333
306fc074
VS
73342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
7337 handling.
7338
794d8ef2
VS
73392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7340
7341 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
7342 on partition.
7343
73442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
7345
7346 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
7347
794d8ef2 73482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
7349
7350 Improve string. Gettextize.
7351
78dde88e
VS
73522012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
7355 utils.
7356 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
7357
4786a90f
VS
73582012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
7361 [GRUB_UTIL]: New function.
7362 (insert_array) [GRUB_UTIL]: Store partmaps.
7363 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
7364 partmaps.
7365 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
7366 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
7367 (probe_abstraction): Print diskfilter and not raid.
7368 Reported by: Lennart Sorensen
7369
0b6225bd
VS
73702012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7371
7372 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
7373 * util/grub-mkimagexx.c (MASK3): New define.
7374 (add_value_to_slot_20b): Use MASK3.
7375 (add_value_to_slot_21): Likewise.
7376 (relocate_addresses): Fix format specification.
7377 (load_image): Explicitly init symtab_section.
7378
b055f8f6
VS
73792012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7380
7381 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
7382 (grub_util_biosdisk_get_grub_dev): Fix format specification.
7383
b77c2fb7
VS
73842012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
7387 on powerpc.
7388 Reported by: Lennart Sorensen
7389
e3ec28ab
VS
73902012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * gentpl.py: Add missing license header.
7393 * docs/grub.texi: Update copyright year.
7394
c8d9ead6
GS
73952012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
7396
7397 Source grub-mkconfig_lib from the build directory at build time.
7398 Suggested by: Vladimir Serbinenko.
7399
7400 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
7401 * util/grub-install.in: Define pkgdatadir if not already set, and source
7402 grub-mkconfig_lib from there.
7403 * util/grub-kbdcomp.in: Likewise.
7404 * util/grub-mkconfig.in: Likewise.
7405 * util/grub-mknetdir.in: Likewise.
7406 * util/grub-mkrescue.in: Likewise.
7407 * util/grub-mkstandalone.in: Likewise.
7408 * util/grub-reboot.in: Likewise.
7409 * util/grub-set-default.in: Likewise.
7410 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7411
ebcecdf1
VS
74122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 Increase warning level.
7415
7416 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
7417 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
7418 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
7419 (TARGET_CFLAGS): Likewise.
7420 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
7421 * grub-core/Makefile.core.def (decompressor_xz): Add
7422 -Wno-unreachable-code.
7423 (normal): Add -Wno-redundant-decls.
7424 (xzio): Add -Wno-unreachable-code.
7425 (lzopio): Add -Wno-redundant-decls -Wno-error.
7426 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
7427 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
7428 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
7429 * grub-core/kern/dl.c: Add exception to -Wcast-align.
7430 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
7431 * grub-core/kern/i386/coreboot/init.c: Add exception to
7432 -Wsuggest-attribute=noreturn.
7433 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
7434 * grub-core/kern/ia64/dl_helper.c: Likewise.
7435 * grub-core/kern/mips/dl.c: Likewise.
7436 * grub-core/kern/sparc64/dl.c: Likewise.
7437 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
7438 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
7439 (memcmp): Likewise.
7440 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
7441 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
7442 * grub-core/loader/mips/linux.c: Likewise.
7443 * grub-core/loader/multiboot_elfxx.c: Likewise.
7444 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
7445 * grub-core/video/sm712.c: Add exception to -Wcast-align.
7446 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
7447 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
7448 fixme.
7449 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
7450 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
7451 Fix prototype.
7452
37bb97fe
VS
74532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
7456 address.
7457
29a3550b
VS
74582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7459
7460 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7461 Avoid improper use of strings.
7462 (grub_cmd_legacy_initrdnounzip): Likewise.
7463
dfdffd0d
VS
74642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * include/grub/emu/misc.h (grub_util_warn): Add missing format
7467 attribute.
7468 (grub_util_info): Likewise.
7469 (grub_util_error): Likewise.
7470
102fae4a
VS
74712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
7474 * util/grub-fstest.c (fstest): Likewise.
7475
7e94d044
VS
74762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
7479 (grub_md_sha512_real): Likewise.
7480 (grub_util_get_geli_uuid): Likewise.
7481 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
7482 (grub_util_biosdisk_open): Fix format specification.
7483 Respect format security.
7484 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
7485 (xrealloc): Likewise.
7486 (xasprintf): Likewise.
7487
5ebd9769
VS
74882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 * util/import_gcry.py: Include grub/crypto.h in init.c.
7491
495fc8c1
VS
74922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
7495 (generate_image): Make prefix a const char *.
7496 Fix format specifications. Respect format security.
7497 Avoid void * arithmetics.
7498 Avoid shadowing.
7499 (argp_parser): Remove unused variable. Respect format security.
7500 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
7501 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
7502 (count_funcs): Remove unused variable.
7503 (relocate_addresses): Fix format specification.
7504 Disable x86-64 with elf32. Remove unused variables.
7505 (add_fixup_entry): Avoid shadowing.
7506 (make_reloc_section): Fix format specification.
7507 Use assert.
7508 (locate_sections): Fix format specifications.
7509 (load_image): Avoid shadowing.
7510
043c2ea3
VS
75112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
7514 Fix format specifications. Respect format security.
7515 Don't translate already translated grub_errmsg.
7516 (argp_parser): Remove unused variable
7517
3ec65a81
VS
75182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
7521
a4d9fe4a
VS
75222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
7525 (main): Likewise. Use xmalloc. Respect format security.
7526
15b81d49
VS
75272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
7530 a const char *.
7531 (argp_parser): Remove unused variable.
7532
31731fc0
VS
75332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
7536 (add_pixel): Make static.
7537 (add_font): Likewise.
7538 (write_string_section): Make name and str a const char *.
7539 (write_be16_section): Make name a const char *.
7540 (print_glyphs): Make static.
7541 (write_font_ascii_bitmap): Likewise.
7542 (write_font_width_spec): Likewise.
7543 (write_font_pf2): Likewise.
7544 (argp_parser): Remove unused variable.
7545 Respect format security.
7546 (main): Avoid shadowing. Respect format security.
7547
0809527b
VS
75482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * util/grub-editenv.c (argp_parser): Make static.
7551 (create_envblk_file): Use xmalloc.
7552 (open_envblk_file): Likewise.
7553 Resepect format security.
7554 (set_variables): Respect format security.
7555
45b0c8b7
VS
75562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7557
7558 * util/getroot.c (grub_find_device): Respect format security.
7559 (get_mdadm_uuid): Remove unused variable.
7560 (grub_util_pull_device): Dont call gettext on already translated
7561 grub_errmsg.
7562 (find_system_device): Remove unused variable.
7563 (grub_util_get_grub_dev): Likewise.
7564 (grub_make_system_path_relative_to_its_root): Respect format security.
7565
1b024b4e
VS
75662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 * util/grub-fstest.c (execute_command): Make first argument
7569 a const char *.
7570 (read_file): Avoid shadowing.
7571 Reuse underlying error message if device open fails.
7572 (cmd_cmp): Respect format security.
7573 (root): Make const char *.
7574 (fstest): Remove args argument and use global copy.
7575 Respect format security.
7576 (argp_parser): Make static.
7577 (main): Make default_root const char *.
7578
5d1d4e28
VS
75792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 * util/grub-mount.c (root): Make const char *.
7582 (execute_command): Make first argument a const char *.
7583 (fuse_init): Respect format security.
7584 (argp_parser): Make static. Remove unused variable.
7585 (main): Make default_root a const char *.
7586 Respect format security.
7587
36eb7379
VS
75882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7589
7590 * util/grub-probe.c (probe): Don't call gettext on already translated
7591 grub_errmsg.
7592 Remove unused variables.
7593 (argp_parser): Remove unused variable.
7594
76fb2ea9
VS
75952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7596
7597 * util/grub-script-check.c (argp_parser): Remove unused variable.
7598 (main): Rename read to curread to avoid shadowing.
7599
56c98584
VS
76002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * util/misc.c (grub_util_write_image_at): Fix format specification.
7603 (grub_util_write_image): Likewise.
7604 (grub_script_execute_argument_to_string): Removed (unused).
7605 (grub_script_execute_menuentry): Likewise.
7606 (grub_putchar): Likewise.
7607
164ebb48
VS
76082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
7611 (FUNCTION) [GRUB_UTIL]: Likewise.
7612 (VARIABLE) [GRUB_UTIL]: Likewise.
7613
44318d61
VS
76142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
7617 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
7618
31a26002
VS
76192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
7622 buffer.
7623
76242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
7627 (LzmaEnc_SaveState): Removed (unused).
7628 (LzmaEnc_RestoreState): Likewise.
7629 (LzmaEnc_InitPriceTables): Made static.
7630 (LzmaEnc_Construct): Likewise.
7631 (LzmaEnc_FreeLits): Likewise.
7632 (LzmaEnc_Destruct): Likewise.
7633 (LzmaEnc_Init): Likewise.
7634 (LzmaEnc_InitPrices): Likewise.
7635 (LzmaEnc_Finish): Likewise.
7636 (LzmaEnc_PrepareForLzma2): Removed (unused).
7637 (LzmaEnc_MemPrepare): Likewise.
7638 (LzmaEnc_GetNumAvailableBytes): Likewise.
7639 (LzmaEnc_GetCurBuf): Likewise.
7640 (LzmaEnc_CodeOneMemBlock): Likewise.
7641
6fa67967
VS
76422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7643
7644 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
7645 (grub_util_ldm_embed): Likewise.
7646
9a7428e6
VS
76472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * util/grub-editenv.c (print_var): Rename name to varname to
7650 avoid shadowing.
7651 (main): Rename index to curindex to avoid shadowing.
31a26002 7652 Make filename a const char *.
9a7428e6 7653
4f96abd1
VS
76542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7657 to arg_getline to avoid shadowing.
7658
44d10dad
VS
76592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
7662 disk_ to avoid shadowing.
7663
340ba63e
VS
76642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
7667 curindex to avoid shadowing.
7668 Make static.
7669 (MatchFinder_GetNumAvailableBytes): Make static.
7670
22965bce
VS
76712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7672
7673 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
7674 avoid shadowing.
7675
7b5784d4
VS
76762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7677
7678 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
7679 argument from encrypt to do_encrypt to avoid shadowing.
7680
6f48ca01
VS
76812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
7684 incorrect nesting of #if's.
7685
a4ea2dff
VS
76862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
7689 checks which are always false on some platforms.
7690 (grub_cmd_lsacpi): Likewise.
7691 * grub-core/kern/misc.c (grub_strtoul): Likewise.
7692 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
7693 Likewise.
7694
def9fc1b
VS
76952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
7698 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
7699
a67b2a04
VS
77002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
7703 re_dfa_t to avoid breaking alignment invariants.
7704 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
7705 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
7706
44c6828d
VS
77072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
7710 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
7711
bebe0dd0
VS
77122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7713
7714 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
7715 Fix declaration.
7716
a9cdb3cf
VS
77172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
7720 conserve alignment invariants.
7721 (grub_ehci_ehcc_read16): Likewise.
7722 (grub_ehci_oper_read32): Likewise.
7723 (grub_ehci_oper_write32): Likewise.
7724 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7725 Conserve alignment invariants.
7726
ccc3b1b8
VS
77272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
7730 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
7731 declarations.
7732
987fbd95
VS
77332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
7736 Remove unused variable.
7737
0df363f3
VS
77382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
7741 Remove set in if.
7742
b2c0c4a6
VS
77432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 * include/grub/net.h: Remove double declarations.
7746
690c531f
VS
77472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 Remove "payload" command in ia64 Linux loader since I couldn't
7750 find any evidence of it being used for anything.
7751 Replace "relocate" command with an environment variable
7752
7753 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
7754 fields.
7755 (ia64_boot_payload): Removed.
7756 (last_payload): Likewise.
7757 (RELOCATE_OFF): Likewise.
7758 (RELOCATE_ON): Likewise.
7759 (RELOCATE_FORCE): Likewise.
7760 (relocate): Likewise.
7761 (free_pages): Don't free payloads.
7762 (grub_load_elf64): Use common error messages.
7763 Use "linux_relocate" variable.
7764 Increase the space after boot_params.
7765 (grub_cmd_payload): Removed.
7766 (grub_cmd_relocate): Likewise.
7767 (grub_cmd_fpswa): Improve messages.
7768 (cmd_payload): Removed.
7769 (cmd_relocate): Likewise.
7770 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
7771 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
7772
01783768
VS
77732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 Convert UHCI to DMA framework.
7776
7777 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
7778 (grub_uhci_pci_iter): Fill new members
7779 (grub_alloc_td): Use P2V and V2P functions.
7780 (grub_free_queue): Likewise.
7781 (grub_alloc_qh): Likewise.
7782 (grub_uhci_setup_transfer): Likewise.
7783 (grub_uhci_check_transfer): Likewise.
7784
43206939
VS
77852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7786
7787 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
7788 Remove assignment in if while on it.
7789
571e140e
VS
77902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7791
7792 * util/grub-mkstandalone.in: Fix modules directory.
7793
a9d96eeb
VS
77942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
7797 on i386-pc target.
7798 (argp_parser): Accept "auto" as compression specification.
7799
e4e37e8d
VS
78002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 Fix `help' with unloaded modules.
7803
7804 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
7805 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
7806 (grub_dyncmd_dispatcher): Small stylistic fix.
7807 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
7808 explicit help is requested.
7809
e1ea3ade
VS
78102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
7813 Explicitly init restart while on it.
7814
27556881
VS
78152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
7818 uninited variable.
7819
d65f6b36
VS
78202012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * util/grub-mknetdir.in: Use . rather than source for POSIX
7823 compatibility.
7824
0a1e473c
VS
78252012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
7828
ce6647c8
VS
78292012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
7832 variable.
7833
66747894
VS
78342012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
7837 without quotes.
7838
71645f6e
VS
78392012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
7842
0e1c1f61
VS
78432012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
7846 iteration of partitions.
7847
9c4b5c13
VS
78482012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 Improve gettext support. Stylistic fixes and error handling fixes while
7851 on it.
7852
215c90cb
VS
78532012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
7856 part. Instead setup the correct stack in RM.
7857 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
7858 for stack.
7859 * include/grub/i386/relocator_private.h: New file.
7860
b5c1f9bf
VS
78612012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7862
7863 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
7864 argument.
7865 * util/grub-fstest.c (options): Add missing DEVICE part.
7866
b525fd83
VS
78672012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 Clarify and unify messages.
7870
7871 * grub-core/commands/hashsum.c (options): Unify messages.
7872 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
7873 literal-only message as translatable.
7874 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
7875 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
7876 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
7877 commands.
7878 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
7879 key, not the key used to unlock. Clarify what it's used for.
7880 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
7881 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
7882 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
7883 * util/grub-editenv.c (options): Unify "verbose" message.
7884 * util/grub-fstest.c (read_file): Unify error message.
7885 (fstest): Add quotes around commands.
7886 (options): Unify "verbose" message.
7887 * util/grub-install.in: Add quotes around variable name.
7888 * util/grub-kbdcomp.in: Unify error message.
7889 * util/grub-mkfont.c (main): Likewise.
7890 * util/grub-mkrescue.in: Likewise.
7891 * util/grub-mklayout.c (options): Unify "verbose" message.
7892 * util/grub-mkstandalone.in: Unify help and verbose messages.
7893 * util/grub-mount.c (options): Unify "verbose" message.
7894 * util/grub-probe.c (options): Likewise.
7895 * util/grub-script-check.c (options): Likewise.
7896 * util/grub-setup.c (setup): Unify no-terminator message.
7897 (options): Use DEVICE and not DEV.
7898 Unify "verbose" message.
7899 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
7900
0ae70393
VS
79012012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7902
7903 Improve and unify messages.
7904
7905 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
7906 name. All users updated.
7907 Print filename in error.
7908 (read_device_map): Print filename in error.
7909 * util/getroot.c (grub_guess_root_devices): Print filename in error.
7910 (grub_util_get_os_disk): Likewise.
7911 (grub_util_biosdisk_get_grub_dev): Likewise.
7912 (grub_util_check_block_device): Likewise.
7913 (grub_util_check_char_device): Likewise.
7914 (grub_make_system_path_relative_to_its_root): Likewise.
7915 * util/grub-editenv.c (create_envblk_file): Likewise.
7916 (open_envblk_file): Likewise.
7917 (write_envblk): Likewise.
7918 * util/grub-fstest.c (cmd_cp): Likewise.
7919 (cmd_cat): Likewise.
7920 (cmd_cmp): Likewise.
7921 * util/grub-menulst2cfg.c (main): Likewise.
7922 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
7923 (write_font_width_spec): Likewise.
7924 (write_font_pf2): Likewise.
7925 * util/grub-mkimage.c (generate_image): New argument outname.
7926 All users updated.
7927 Remove unreacheable message.
7928 (options): Unify messages.
7929 (help_filter): Likewise.
7930 * util/grub-mklayout.c (usage): Removed (unused).
7931 (main): Print filename in error.
7932 * util/grub-mkrescue.in: Fix wrong quoting.
7933 * util/grub-setup.c (setup): Print filename in error.
7934 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
7935 (check_sas): Likewise.
7936 * util/misc.c (grub_util_get_fp_size): Removed.
7937 (grub_util_get_image_size): Print filename in error.
7938 (grub_util_read_at): Removed.
7939 (grub_util_read_image): Print filename in error.
7940 (grub_util_load_image): Likewise.
7941 (grub_util_write_image_at): New argument filename. All users updated.
7942 Print filename in error.
7943 (grub_util_write_image): New argument filename. All users updated.
7944 Print filename in error.
7945 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
7946 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
7947
0a96117d
VS
79482012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * grub-core/Makefile.core.def (pxechain): New module.
7951 * grub-core/loader/i386/pc/pxechainloader.c: New file.
7952 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
7953 function.
7954 (grub_pc_net_config_real): Use grub_pxe_get_cached.
7955 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
7956
aca002f7
VS
79572012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
7960 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
7961 * include/grub/err.h (grub_error_saved): New struct.
7962 (grub_errmsg): Make array size explicit.
7963 * include/grub/misc.h (grub_error_save): New function.
7964 (grub_error_load): Likewise.
7965 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
7966 (grub_error_push): Update `errno' member name.
7967 (grub_error_pop): Likewise
7968 * grub-core/net/tftp.c (tftp_data): New member save_err.
7969 (tftp_receive): Save error.
7970 (tftp_open): Restore error.
7971
a51dab13
VS
79722012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
7975 to real mode down to execute A20-related code in protected mode as
7976 intended.
7977
eb6e6649
GS
79782012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7979
7980 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
7981 NULL when the argument `level' has an unexpected value.
7982
92cd0f6e
VS
79832012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 Move platform-dependent files from $prefix to $prefix/$platform.
7986
7987 * config.h.in (GRUB_TARGET_CPU): New definition.
7988 (GRUB_PLATFORM): Likewise.
7989 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
7990 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
7991 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7992 * grub-core/kern/dl.c (grub_dl_load): Likewise.
7993 * grub-core/normal/autofs.c (read_fs_list): Likewise.
7994 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
7995 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
7996 * grub-core/normal/term.c (read_terminal_list): Likewise.
7997 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
7998 $prefix/locale.
7999 (grub_gettext_init_ext): Likewise.
8000 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
8001 grub_platform.
8002 * util/grub-install.in: Update directories.
8003 * util/grub-mknetdir.in: Likewise.
8004 * util/grub-mkrescue.in: Likewise.
8005
db606889
VS
80062012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
8009 grub_error framework. All users updated.
8010
c39992a4
VS
80112012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
8014 lists (by always binsearching), improve caching (cache strings
8015 used for binsearch, not only results), improve
8016 maintainability (by using more structured binary search) and correct
8017 error handling.
8018
1e5ec32f
VS
80192012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 * grub-core/script/execute.c (grub_script_return): Fix warning.
8022
ac576cde
VS
80232012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * grub-core/script/execute.c (grub_script_return): Fix potential
8026 NULL-dereference.
8027 Reported by: Jim Meyering.
8028
498453f6
VS
80292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * po/POTFILES.in: Regenerate.
8032 * util/grub-install.in: Gettextize the strings missed in first pass.
8033
8be63f2e
VS
80342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 * Makefile.util.def (grub-mkdevicemap): Removed.
8037 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
8038 * include/grub/util/deviceiter.h: Removed.
8039 * util/deviceiter.c: Likewise.
8040 * util/getroot.c (grub_util_get_os_disk): New function.
8041 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
8042 replacement for EFI.
8043 * util/grub-mkdevicemap.c: Removed.
8044 * util/grub-probe.c (probe): Handle PRINT_DISK.
8045 (argp_parser): Handle -t disk.
8046
8e1e4e39
VS
80472012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 * util/grub-mkfont.c: Migrate to argp.
8050 * util/grub-mklayout.c: Likewise.
8051 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8052 * util/grub-mkrelpath.c: Likewise.
8053 * util/grub-probe.c: Likewise.
8054 * util/grub-script-check.c: Likewise.
8055
4459819a
VS
80562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 * util/grub-reboot.in: Add missing datarootdir.
8059 Add missing newline.
8060 * util/grub-set-default.in: Add missing datarootdir.
8061 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
8062 * util/grub-mkrescue.in: Likewise.
8063
f65741c7
VS
80642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
8067
c1a33466
VS
80682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 * util/grub-kbdcomp.in: Add decent help and gettextize.
8071 * docs/man/grub-kbdcomp.h2m: New file.
8072
c76899a0
VS
80732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 Migrate grub-mkimage.c to argp.
8076
8077 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
8078 (grub-setup): Likewise.
8079 * util/grub-setup.c (print_version): Move to ...
8080 * util/argp_common.c (print_version): ... here.
8081 * util/grub-setup.c (argp_program_version_hook): Move to ...
8082 * util/argp_common.c (argp_program_version_hook): ... here.
8083 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
8084 safety.
8085 * util/grub-mkimage.c (main): Migrate to argp.
8086
57db0757
VS
80872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8088
8089 * util/grub-mkrescue.in: Use same message as
8090 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
8091 for better translations.
8092
18534ad9
VS
80932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
8096 options with generic grub-mkrescue.in with the goal of future
8097 merge.
8098
c84ba308
VS
80992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * grub-core/kern/mm.c: Add missing include of i18n.h
8102 * grub-core/lib/relocator.c: Likewise.
8103
347998c2
VS
81042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
8107 error.
8108 (allocate_pages): Check return value.
8109 Replace fatal with error.
8110 (grub_linux_boot): Replace printf with dprintf.
8111 Check find_mmap_size return value.
8112 Replace fatal with error.
8113 Don't call grub_machine_fini.
8114 (grub_load_elf64): Replace printf with dprintf.
8115 (grub_cmd_linux): Likewise.
8116 (grub_cmd_initrd): Likewise.
8117 (grub_cmd_payload): Likewise.
8118
c779226e
VS
81192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8120
8121 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
8122 message.
8123 * grub-core/video/radeon_fuloong2e.c
8124 (grub_video_radeon_fuloong2e_setup): Likewise.
8125 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
8126 * grub-core/video/video.c (grub_video_set_mode): Don't override
8127 standard out of memory message.
8128
dc87d45a
GS
81292012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8130
8131 NetBSD disk wedge support.
8132
8133 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
8134 [__NetBSD__]: Handle NetBSD disk wedges.
8135 * util/getroot.c (convert_system_partition_to_system_disk)
8136 [__NetBSD__]: Likewise.
8137
055f856f
MW
81382012-02-03 Mark Wooding <mdw@distorted.org.uk>
8139
8140 * util/grub-mkconfig.in: Use umask rather than chmod to create
8141 grub.cfg.new to avoid insecure grub.cfg.
8142
4a9f8346
VS
81432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 * grub-core/commands/ls.c: Gettextize.
8146 * grub-core/commands/setpci.c: Likewise.
8147 * grub-core/commands/videotest.c: Likewise.
8148 * grub-core/disk/geli.c: Likewise.
8149 * grub-core/kern/mm.c: Likewise.
8150 * grub-core/lib/relocator.c: Likewise.
8151 * grub-core/loader/efi/appleloader.c: Likewise.
8152 * grub-core/loader/i386/xnu.c: Likewise.
8153 * grub-core/loader/ia64/efi/linux.c: Likewise.
8154 * grub-core/loader/xnu.c: Likewise.
8155 * grub-core/net/dns.c: Likewise.
8156 * grub-core/net/net.c: Likewise.
8157 * grub-core/script/lexer.c: Likewise.
8158 * grub-core/script/parser.y: Likewise.
8159 * grub-core/script/yylex.l: Likewise.
8160 * util/getroot.c: Likewise.
8161 * util/grub-setup.c: Likewise.
8162
a646a366
VS
81632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
8166 number.
8167
54e2be26
VS
81682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8169
8170 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
8171
f7c71e68
VS
81722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
8175 macro.
8176 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
8177 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
8178
a32d5c71
VS
81792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
8182 * util/grub-install.in: Gettextize.
8183 * util/grub-mkconfig.in: Likewise.
8184 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
8185 if not available.
8186 (grub_warn): Gettextize.
8187 * util/grub-mknetdir.in: Gettextize.
8188 * util/grub-mkrescue.in: Likewise.
8189 * util/grub-mkstandalone.in: Likewise.
8190 * util/grub-reboot.in: Likewise.
8191 * util/grub-set-default.in: Likewise.
8192 * util/grub.d/00_header.in: Likewise.
8193 * util/grub.d/10_hurd.in: Likewise.
8194 * util/grub.d/10_kfreebsd.in: Likewise.
8195 * util/grub.d/10_linux.in: Likewise.
8196 * util/grub.d/10_netbsd.in: Likewise.
8197 * util/grub.d/10_windows.in: Likewise.
8198 * util/grub.d/20_linux_xen.in: Likewise.
8199 * util/grub.d/30_os-prober.in: Likewise.
8200 * po/POTFILES-shell.in: Regenerate.
8201
69edd81a
RL
82022012-02-03 Richard Laager <rlaager@wiktel.com>
8203
8204 * util/grub-mkimage.c (main): Fix format-security warning.
8205 * util/grub-mkrelpath.c (main): Likewise.
8206 * util/grub-probe.c (main): Likewise.
8207
65f08dbf
RL
82082012-02-03 Richard Laager <rlaager@wiktel.com>
8209
8210 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
8211 failure.
8212 Put back lost PRINT_DRIVE.
8213
e9084abe
RL
82142012-02-03 Richard Laager <rlaager@wiktel.com>
8215
8216 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
8217 (grub_guess_root_devices): Replace strlen with sizeof.
8218 Avoid crash.
8219 (find_root_devices_from_poolname): Remove unused variable.
8220 Handle raidzN.
8221
cf5f7ee7
VS
82222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 Support install on multi-device filesystems.
8225
8226 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
8227 (grub_guess_root_devices): ...this. Return char **. All users updated.
8228 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
8229 Removed.
8230 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
8231 (find_root_devices_from_poolname): ... here.
8232 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
8233 Support zfs-fuse.
8234 (grub_guess_root_device): Rename to ...
8235 (grub_guess_root_devices): ... this. Return char **. All users updated.
8236 * util/grub-install.in: Handle multi-device filesystems.
8237 * util/grub-probe.c (probe). Make device_names a char **. Add delim
8238 argument. All users updated.
8239 Handle multi-device filesystems.
8240 Use 'delim' as separator.
8241 Remove device check to allow filesystems on file.
8242 (main): Support -0 argument. Handle multi-device.
8243 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
8244 Fix a cross-device check while on it.
8245 (arguments): Remove root_dev.
8246 (argp_parser): Remove -r.
8247 (main): Remove root_dev.
8248
2f53a9ed
VS
82492012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
8252
17e1d934
VS
82532012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8254
8255 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
8256 symbol.
8257 Reported by: NODA, Kai <nodakai>.
8258
d3e3fab5
VS
82592012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8260
8261 Fix ehci on amd64.
8262
8263 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
8264 pointers.
8265 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
8266 (grub_ehci_setup_qh): Likewise.
8267 (grub_ehci_find_qh): Likewise.
8268 (grub_ehci_transaction): Likewise.
8269 (grub_ehci_setup_transfer): Likewise.
8270 (grub_ehci_check_transfer): Likewise.
8271 (grub_ehci_portstatus): Likewise.
8272 (grub_ehci_detect_dev): Likewise.
8273 (grub_ehci_transfer_controller_data): New field td_last_phys.
8274 (grub_ehci_setup_transfer): Fill td_last_phys.
8275 (grub_ehci_check_transfer): Use td_last_phys.
8276
3008675b
SG
82772012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
8278
8279 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
8280 if no submenu is present.
8281
fc9b5652
AN
82822012-02-01 Aleš Nesrsta <starous@volny.cz>
8283
8284 CBI support.
8285
8286 * include/grub/usb.h (grub_usbms_protocol_t): New values
8287 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
8288 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
8289 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
8290 (grub_usbms_dev): Add subclass, protocol and intrpt.
8291 Remove in_maxsz and out_maxsz.
8292 (grub_usbms_reset): Rename to ...
8293 (grub_usbms_bo_reset): .. this.
8294 (grub_usbms_cbi_cmd): New function.
8295 (grub_usbms_cbi_reset): Likewise.
8296 (grub_usbms_reset): Likewise.
8297 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
8298 (grub_usbms_transfer): Rename to ...
8299 (grub_usbms_transfer_bo): ... this.
8300 (grub_usbms_transfer_cbi): Likewise.
8301 (grub_usbms_transfer): Likewise.
8302
a2b81d53
AN
83032012-02-01 Aleš Nesrsta <starous@volny.cz>
83042012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
8307 the support for the CS5536 modification thereos and few bugfixes.
8308
8309 * grub-core/Makefile.core.def (ehci): New module.
8310 * grub-core/bus/usb/ehci.c: New file.
8311 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
8312 port and hubaddr. All users updated.
8313 Save port and hubaddr into dev structure.
8314 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
8315 define.
8316 * include/grub/pci.h (grub_dma_phys2virt): New function.
8317 (grub_dma_virt2phys): Likewise.
8318 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
8319
b1d51f02
VS
83202012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
8323 check as some mkfs implementations omit it.
8324
fc694106
VS
83252012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8326
8327 * docs/grub.texi (Unicode): Mention identifier and space limitations.
8328
6c0920e3
VS
83292012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
8332 Add new member volname2.
8333 (grub_jfs_label): Use volname2 if available.
8334
d1a46f9a
VS
83352012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8336
8337 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
8338 over last_mounted as seen in image generated by mkfs.nilfs2.
8339 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
8340
dec8ed14
VS
83412012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
8344 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
8345 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
8346
7397c69b
VS
83472012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
8350 over the sector.
8351
b3fe42ad
VS
83522012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
8355 subvolume name (by removing a bogus and useless check).
8356
10476bb0
VS
83572012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
8360 sizeof while on it.
8361
9c08ad87
VS
83622012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
8365 (grub_scsi_read_capacity10): ... this.
8366 (grub_scsi_read_capacity16): New function.
8367 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
8368 0xffffffff.
8369 Fix off-by-one error.
8370 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
8371 64-bit unsigned.
8372 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
8373 (grub_scsi_read_capacity10): ... this.
8374 (grub_scsi_read_capacity_data): Rename to ...
8375 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
8376 (grub_scsi_read_capacity16): New struct.
8377 (grub_scsi_read_capacity16_data): Likewise.
8378 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
8379 grub_scsi_cmd_read_capacity10.
8380 New command grub_scsi_cmd_read_capacity16.
8381
bc8d0f45
VS
83822012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 SCSI >2TiB support.
8385
8386 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
8387 (grub_scsi_write16): Likewise.
8388 (grub_scsi_read): Use read16 when necessary.
8389 (grub_scsi_write): Likewise.
8390 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
8391 (grub_scsi_write16): Likewise.
8392 (grub_scsi_cmd_t): Add READ16 and WRITE16.
8393
cc774926
VS
83942012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8395
8396 SCSI write support (for usbms mainly).
8397
8398 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
8399 a const pointer.
8400 (grub_scsi_write): Implement.
8401 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
8402
67639fd7
VS
84032012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8404
8405 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
8406 variable.
8407
9079d3ed
VS
84082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8409
8410 * grub-core/lib/posix_wrap/string.h (memchr): New function.
8411
c6a6f204
VS
84122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8413
8414 * po/POTFILES.in: Regenerate.
8415
ecbf8cd1
VS
84162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
8419 with grub_printf to avoid unnecessary fatal failure.
8420
0b3b3b38
VS
84212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
8424 (INT_MAX): Likewise.
8425 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
8426 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
8427 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
8428 (strcpy): Likewise.
8429 (strstr): Likewise.
8430 (strchr): Likewise.
8431 (strncpy): Likewise.
8432 (strcat): Likewise.
8433 (strncat): Likewise.
8434 (strcoll): Likewise.
8435 * include/grub/types.h (GRUB_SHRT_MAX): New define.
8436 (GRUB_INT_MAX): Likewise.
8437
db7337a3
VS
84382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
8441 unexpected error.
8442 (optimize_utf8): Likewise.
8443 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
8444
f37c87e1
VS
84452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * grub-core/boot/i386/pc/lnxboot.S: Use
8448 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
8449 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
8450 location.
8451 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
8452 definition.
8453 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
8454
63fe43f3
VS
84552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
8458 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
8459 now to avoid double free.
8460 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
8461 hostdisk.
8462 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
8463 * util/grub-probe.c (escape_of_path): Always return a new copy.
8464 (print_full_name): Escape path.
8465 (probe): Don't call grub_util_devname_to_ofpath on NULL.
8466 Fix hints on abstractions.
8467
ebe2c961
VS
84682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
8471 Don't add "root" line if no compatibility hont is available.
8472 Suggested by: Seth Goldberg.
8473
2b5336a2
VS
84742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
8477 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
8478 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
8479 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
8480
74310bd8
VS
84812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
8484
c30582ba
VS
84852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 * util/grub-pe2elf.c (ehdr): Make static.
8488 (shdr): Likewise.
8489 (num_sections): Likewise.
8490 (offset): Likewise.
8491
5f47782c
VS
84922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 Eliminate ofpath limits and possible overflows.
8495
8496 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
8497 (OF_PATH_MAX): Removed.
8498 (MAX_DISK_CAT): New const.
8499 (find_obppath): Use allocated rather than preallocated buffer.
8500 Return result. Argument of_path removed. All users updated.
8501 Add missing fdstat.
8502 (xrealpath): New function.
8503 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
8504 Allocate rather than use preallocated buffer. All users updated.
8505 (__of_path_common): Use allocated rather than preallocatecd buffer.
8506 Return result. Argument of_path removed. All users updated.
8507 (vendor_is_ATA): Read only needed part form the file.
8508 (check_sas): Allocate depending on contents rather than fixed.
8509 (main) [STANDALONE]: Handle NULL result.
8510
f990cbf9
VS
85112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * grub-core/normal/completion.c (iterate_dev): Close the disk.
8514
9c6e84b8
VS
85152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 Cryptodisk write support.
8518
8519 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
8520 (grub_cryptodisk_decrypt): Moved logic to ...
8521 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
8522 (grub_cryptodisk_write): Implement.
8523 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
8524 (grub_util_fd_write): ... this. Make global.
8525 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
8526
87cf9744
VS
85272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 * include/grub/list.h (grub_list_remove): Don't crash if element is
8530 removed twice.
8531
ca8c0baf
VS
85322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 Rename ofconsole to console.
8535
8536 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
8537 as sysnonym to console.
8538 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
8539 * grub-core/term/ieee1275/console.c: ... this. All users updated.
8540 Rename grub_ofconsole_ to grub_console_. All users updated
8541 (grub_console_term_output): Rename "ofconsole" to "console".
8542 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
8543 as "console".
8544
64c8b8f6
VS
85452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
8548 handling.
8549 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
8550 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
8551 GRUB_DISK_DEVICE_FILE_ID.
8552
f6c434d5
VS
85532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
8556 and improve performance.
8557
5858b42d
VS
85582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
8561 missing ieee1275/ prefix on whole disk.
8562
4ed3c26b
VS
85632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
8566 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
8567
df71143e
VS
85682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
8571
076e7c0f
VS
85722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 Merge common RAID and LVM logic to an abstract diskfilter.
8575 Add LDM support using the same framework.
8576
8577 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
8578 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
8579 (libgrubmods): Remove grub-core/disk/raid.c and
8580 grub-core/partmap/gpt.c.
8581 * grub-core/Makefile.core.def (ldm): New module.
8582 (raid): Renamed to diskfilter. All users updated.
8583 * grub-core/disk/raid.c: Moved to ...
8584 * grub-core/disk/diskfilter.c: ... here.
8585 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
8586 (lv_num): New var.
8587 (find_array): Renamed to ...
8588 (find_lv): ... this. Support multi-LV. Skip nameless LVs
8589 (grub_is_array_readable): Renamed to ...
8590 (grub_is_lv_readable): ... this. Support multinode hierarchy.
8591 (insert_array): New argument id.
8592 (is_node_readable): New function.
8593 (scan_device): Rename to ...
8594 (scan_disk): .. this. Restrict to one disk.
8595 (scan_devices): New function.
8596 (grub_diskfilter_iterate): Support multi-LV.
8597 Skip invisible and nameless LVs.
8598 (grub_diskfilter_memberlist): Support multi-LV.
8599 (grub_diskfilter_read_node): New function.
8600 (grub_raid_read): Most of logic moved to ...
8601 (read_segment): ... here
8602 (read_lv): New function.
8603 (grub_diskfilter_get_vg_by_uuid): New function.
8604 (grub_diskfilter_make_raid): Likewise.
8605 * grub-core/disk/ldm.c: New file.
8606 * grub-core/disk/lvm.c (vg_list): Removed.
8607 (lv_count): Likewise.
8608 (scan_depth): Likewise.
8609 (is_lv_readable): Likewise.
8610 (grub_lvm_getvalue): Advance pointer past the number.
8611 (find_lv): Removed.
8612 (do_lvm_scan): Refactored into ...
8613 (grub_lvm_detect): ... this. Support raid.
8614 (grub_lvm_iterate): Removed.
8615 (grub_lvm_memberlist): Likewise.
8616 (grub_lvm_open): Likewise.
8617 (grub_lvm_close): Likewise.
8618 (read_lv): Likewise.
8619 (read_node): Likewise.
8620 (is_node_readable): Likewise.
8621 (is_lv_readable): Likewise.
8622 (grub_lvm_read): Likewise.
8623 (grub_lvm_write): Likewise.
8624 (grub_lvm_dev): Use diskfilter
8625 (GRUB_MOD_INIT): Likewise.
8626 (GRUB_MOD_FINI): Likewise.
8627 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
8628 new interface.
8629 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
8630 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8631 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
8632 grub_diskfilter_read_node.
8633 Fix a bug with xor.
8634 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
8635 grub_diskfilter_read_node.
8636 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
8637 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
8638 (grub_disk_dev_iterate): Move from here...
8639 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
8640 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8641 Make global.
8642 (grub_hostdisk_find_partition_start): Likewise.
8643 (grub_hostdisk_os_dev_to_grub_drive): New function.
8644 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
8645 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
8646 * util/getroot.c (make_device_name): ... here.
8647 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8648 Move to ...
8649 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
8650 * grub-core/kern/emu/hostdisk.c
8651 (convert_system_partition_to_system_disk): Move to ...
8652 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
8653 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
8654 * util/getroot.c (device_is_wholedisk): ... here.
8655 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
8656 * util/getroot.c (find_system_device): ... here.
8657 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
8658 Move to ...
8659 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
8660 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8661 Move to ...
8662 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
8663 Handle LDM.
8664 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
8665 Move to ...
8666 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
8667 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
8668 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
8669 DISKFILTER.
8670 * include/grub/raid.h: Renamed to ...
8671 * include/grub/diskfilter.h: ... this.
8672 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
8673 (GRUB_RAID_LAYOUT_*): Make into array.
8674 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
8675 (grub_diskfilter_vg): New struct.
8676 (grub_diskfilter_pv_id): Likewise.
8677 (grub_raid_member): Removed.
8678 (grub_raid_array): Likewise.
8679 (grub_diskfilter_pv): New struct.
8680 (grub_diskfilter_lv): Likewise.
8681 (grub_diskfilter_segment): Likewise.
8682 (grub_diskfilter_node): Likewise.
8683 (grub_diskfilter_get_vg_by_uuid): New proto.
8684 (grub_raid_register): Inline.
8685 (grub_diskfilter_unregister): Likewise.
8686 (grub_diskfilter_make_raid): New proto.
8687 (grub_diskfilter_vg_register): Likewise.
8688 (grub_diskfilter_read_node): Likewise.
8689 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
8690 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
8691 (grub_util_is_ldm): Likewise.
8692 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
8693 (grub_hostdisk_find_partition_start): Likewise.
8694 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
8695 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
8696 New definition.
8697 (grub_gpt_partition_map_iterate): New proto.
8698 * include/grub/lvm.h (grub_lvm_vg): Removed.
8699 (grub_lvm_pv): Likewise.
8700 (grub_lvm_lv): Likewise.
8701 (grub_lvm_segment): Likewise.
8702 (grub_lvm_node): Likewise.
8703 * util/getroot.c [...]
8704 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
8705 (probe_abstraction): Likewise.
8706 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
8707 (main): Remove dead logic.
8708
8a7f9b9c
VS
87092012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 Simplify root device discover and don't fail when trying to open
8712 incorrect devices.
8713
8714 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
8715 function.
8716 (get_diskname_from_path): Likewise.
8717 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
8718 of iterating.
8719
30545b85
VS
87202012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
8723
28ea58cf
VS
87242012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
8727 pastthe end.
8728
692dabca
VS
87292012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 * util/grub-install.in: Add missing \.
8732 Reported by: gentoofan
8733
f6e4ea70
VS
87342012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
8737 (direct_read): Use correct compressed size.
8738 (grub_squash_read_data): Likewise.
8739
87402012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
8741
8742 * docs/grub.texi (Platform limitations): New section.
8743 (Platform-specific operations): Likewise.
8744 * docs/grub-dev.texi (Porting): Likewise.
8745
76261110
VS
87462012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 IEEE1275 disk write support.
8749
8750 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
8751 const void *.
8752 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
8753 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
8754 and seek loginc to ...
8755 (grub_ofdisk_prepare): ... here.
8756 (grub_ofdisk_write): Implement.
8757
fc36d603
VS
87582012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 ARC disk write support.
8761
8762 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
8763 (reopen): New argument writable. All users updated.
8764 Handle required access mode.
8765 (grub_arcdisk_write): Implement.
8766 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
8767 (grub_arc_firmware_vector): Make buffer to write a const buffer.
8768
e06c2e7a
VS
87692012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8770
8771 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
8772 (read_sblock): Don't attempt to read superblocks outside the disk size.
8773
ff447958
VS
87742012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8775
8776 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
8777 first superblock to find the second one when possible.
8778
9e88df39
VS
87792012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8780
8781 * util/grub-install.in: Fix an ARC bug.
8782 Print a warning if no platform-specific setup is available.
8783
bb26e4ff
VS
87842012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 Use static allocation rather than scratch pointer in reed_solomon.
8787 It decreases its size significantly and avoids a variable in .text.
8788
8789 * grub-core/lib/reed_solomon.c (scratch): Removed.
8790 (chosenstat): New const or static array.
8791 (sigma): Likewise.
8792 (errpot): Likewise.
8793 (errpos): Likewise.
8794 (sy): Likewise.
8795 (mstat): Likewise.
8796 (errvals): Likewise.
8797 (eqstat): Likewise.
8798 (pol_evaluate): Replace x with log_x argument. All users updated.
8799 (syndroms): Removed.
8800 (gauss_solve): Use statically allocated arrays.
8801 (rs_recover): Likewise.
8802 Calculate syndroms directly.
8803 (decode_block): Use statically allocated arrays.
8804 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
8805 (main) [TEST]: Allow -DTEST -DSTANDALONE.
8806
2e13ede5
VS
88072012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 Eliminate fixed limit on reed solomon decoder length.
8810
8811 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
8812 rather than hardcoding the address.
8813 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
8814 no_reed_solomon_length.
8815 Move gate_a20 to no-reed-solomon part.
8816 Don't force a particular size of no reed-solomon part.
8817 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
8818 Removed.
8819 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
8820 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
8821
f8a9ab12
VS
88222012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 * grub-core/commands/wildcard.c (match_files): Handle filenames
8825 without explicit device.
8826 (wildcard_expand): Don't add explicit device if not already present.
8827 * tests/grub_script_echo1.in: Add a new expansion test.
8828
87edb894
VS
88292012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 Replace single-linked with double-linked lists. It results in more
8832 compact and more efficient code.
8833
8834 * grub-core/kern/list.c (grub_list_push): Moved from here ...
8835 * include/grub/list.h (grub_list_push): ... to here. Set prev.
8836 (grub_list_remove): Moved from here ...
8837 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
8838 (grub_prio_list_insert): Set prev.
8839 * include/grub/list.h (grub_list): Add prev. All users updated.
8840
48b391e9
VS
88412012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 Handle newer autotools. Add some missing quotes while on it.
8844
8845 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
8846 (pkglib_DATA): Move grub-mkconfig_lib from here ...
8847 (pkgdata_DATA): ... here.
8848 * Makefile.util.def (update-grub_lib): Removed.
8849 * conf/Makefile.common (pkglib_DATA): Removed.
8850 (pkglib_SCRIPTS): Likewise.
8851 (pkgdata_DATA): New variable.
8852 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
8853 needed.
8854 Add missing quotes.
8855 Remove unused variable while on it.
8856 * tests/util/grub-shell.in: Likewise.
8857 * util/grub-install.in: Likewise.
8858 * util/grub-mkconfig.in: Likewise.
8859 * util/grub-mknetdir.in: Likewise.
8860 * util/grub-mkrescue.in: Likewise.
8861 * util/grub-mkstandalone.in: Likewise.
8862 * util/grub.d/00_header.in: Likewise.
8863 * util/grub.d/10_hurd.in: Likewise.
8864 * util/grub.d/10_illumos.in: Likewise.
8865 * util/grub.d/10_kfreebsd.in: Likewise.
8866 * util/grub.d/10_linux.in: Likewise.
8867 * util/grub.d/10_netbsd.in: Likewise.
8868 * util/grub.d/10_windows.in: Likewise.
8869 * util/grub.d/20_linux_xen.in: Likewise.
8870 * util/grub.d/30_os-prober.in: Likewise.
8871 * util/update-grub_lib.in: Removed.
8872
88732012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
8874
8875 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
8876 a workaround for intel problem.
8877
66832792
PRP
88782012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
88792012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
88802012-01-23 pfsmorigo
8881
8882 * util/grub-install.in: Support dd'in into PreP partition.
8883 * util/grub-probe.c (probe): Support discovering partition type.
8884 (main): Support -t msdos_parttype.
8885
7816a17e
VS
88862012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
8889 infinite recursion using counter.
8890 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
8891 init to skip it if the magic check fails.
8892 (dec_stream_header): Init s->crc32.
8893
8f9d3a8c
ZB
88942012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
88952012-01-22 Zachary Bedell <pendorbound@gmail.com>
88962012-01-22 Richard Laager <rlaager@wiktel.com>
8897
8898 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
8899 All users updated.
8900 (find_bestub): Determine correct size.
8901 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
8902 (scan_disk): Align the size down.
8903 Call check pool before find_bestub to have ashift.
8904
b055dd32
VS
89052012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
8908 dprintf in no-malloc zone.
8909
d779e9bd
ML
89102012-01-22 Mario Limonciello <mario_limonciello@dell.com>
8911
8912 * configure.ac: Add back in test for limits.h.
8913
b508af69
VS
89142012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 Support 4K-sector NTFS.
8917
8918 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
8919 (grub_ntfs_data): Remove blocksize.
8920 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
8921 Remove data argument. All users updated.
8922
dad9c8b5
VS
89232012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
8926 being in .text to avoid dprel references.
8927 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
8928 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
8929 (grub_arch_highmemsize): Likewise.
8930 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
8931 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
8932 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
8933
d43a777e
VS
89342012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
8937
8938 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
8939 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
8940
34e4208f
VS
89412012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
8944 GRUB_UTIL.
8945 (grub_set_datetime_cmos): Likewise.
8946
3ec0fc1c
VS
89472012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 Make XZ compression parameters dependent on target and not host CPU.
8950
8951 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
8952 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
8953
22489834
VS
89542012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
8957 set but not used variable.
8958
8502fbca
VS
89592012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
8962 created when no uuid support is compiled into mkfs.reiser.
8963
76df2068
VS
89642012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
8967 (utf8_to_macroman): Do the opposite.
8968 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
8969
64e3f8f6
VS
89702012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * configure.ac: Refise build qemu_mips w/o unifont.
8973
9c271078
VS
89742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 Eliminate grub_min/grub_max prone to overflow usage.
8977
8978 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
8979 (poll_nonroot_hub): Likewise.
8980 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
8981 (grub_affs_label): Likewise.
8982 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
8983 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
8984 (grub_hfs_label): Likewise.
8985 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
8986 * grub-core/fs/zfs/zfs.c (MIN): Remove.
8987 (zap_leaf_array_equal): Use grub_size. Remove MIN.
8988 (zap_leaf_array_get): Likewise.
8989 (dnode_get_path): Likewise.
8990 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
8991 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
8992 * grub-core/script/execute.c (grub_script_break): Likewise.
8993 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
8994 grub_max.
8995 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
8996 * include/grub/misc.h (grub_min): Removed.
8997 (grub_max): Likewise.
8998
80662dbc
VS
89992012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9000
9001 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
9002 direct.inode = 0.
9003
e6da1467
VS
90042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9005
9006 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
9007
b1ac4cb1
VS
90082012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9009
9010 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
9011
b4bf7c3b
VS
90122012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
9015 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
9016
8ee1101a
VS
90172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
9020 rather than a hack for grub_strncasemap.
9021
90222012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 Support multiple initrds
9025 Note: part of this was accidently committed in r3739.
9026
9027 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
9028 initrd.
9029 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9030 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9031 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9032 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9033 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9034
4d1e2bc9
VS
90352012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
9038 disks with unknown size.
9039 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
9040
75b49ebe
VS
90412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 Remove defines pertaining to arbitrary limits not affecting GRUB
9044 anymore.
9045
9046 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
9047 (EXT2_MAX_SYMLINKCNT): Likewise.
9048 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
9049 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
9050 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
9051 (GRUB_PXE_MAX_BLKSIZE): Likewise.
9052 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
9053 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
9054 (DN_MAX_OBJECT_SHIFT): Likewise.
9055 (DN_MAX_OFFSET_SHIFT): Likewise.
9056 (DN_MAX_OBJECT): Likewise.
9057 (DNODES_PER_LEVEL_SHIFT): Likewise.
9058 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
9059 (SPA_MAXBLOCKSIZE): Likewise.
9060 (SPA_BLOCKSIZES): Likewise.
9061 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
9062 (MZAP_MAX_BLKSZ): Likewise.
9063
74a1dce7
VS
90642012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
9067 handle NULL appropriately.
9068 Remove MIN.
9069
30c7d3ce
VS
90702012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 Fix efiemu.
9073
9074 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
9075 cpu/types.h.
9076 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
9077 * configure.ac: Fix efiemu check.
9078
3c76ea0c
VS
90792012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
9082 grub_probe.
9083 Reported by: adamwill
9084
7e532280
SG
90852012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
9086
9087 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
9088
30492374
VS
90892012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 Fix handling of wide characters in gfxterm.
9092
9093 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
9094 (clear_char): Likewise.
9095 (paint_char): Skip code == NULL chars.
9096 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
9097
e70cb72f
VS
90982012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * grub-core/normal/charset.c: Move comment to right place.
9101
5c827cf9
VS
91022012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9103
9104 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
9105 (GRUB_AFFS_FLAG_FFS): Put back where it was.
9106 (grub_affs_mount): Revert the correct version checking.
9107
53603892
VS
91082012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * docs/grub.texi (Unicode): Mention several other unsupported features.
9111
ff094b9b
VS
91122011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
9115 case statements as compile-time one.
9116 (direct_read): Prevent spurious warnings.
9117 (grub_squash_read_data): Likewise.
9118
c029da8a
VS
91192011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9120
9121 Various squash4 fixes and LZO and XZ support.
9122
9123 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
9124 Add xzembed source files.
9125 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
9126 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
9127 (grub_squash_inode): New subtype long_dir.
9128 (SQUASH_TYPE_LONG_DIR): New inode type.
9129 (COMPRESSION): New enum.
9130 (XZBUFSIZ): New const.
9131 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
9132 (read_chunk): Use data->decompress.
9133 (zlib_decompress): New function.
9134 (lzo_decompress): Likewise.
9135 (xz_decompress): Likewise.
9136 (squash_mount): Set new data fields.
9137 (grub_squash_iterate_dir): Handle long dir.
9138 (squash_unmount): Free xzdec and xzbuf.
9139 (grub_squash_open): Check ino type.
9140 (direct_read): Stylistic fixes. Use data->decompress.
9141 (grub_squash_read_data): Likewise.
9142 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
9143 (get_byte): Likewise.
9144 (grub_zlib_disk_read): Removed.
9145 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
9146 (GRUB_POSIX_BOOL_DEFINED): New define.
9147 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
9148 * grub-core/lib/xzembed/xz.h: Addmissing includes.
9149 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
9150 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
9151
7a45a539
VS
91522011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 Don't override more informative errors.
9155
9156 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
9157 * grub-core/font/font.c (open_section): Likewise.
9158 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
9159 filename. Don't override errors.
9160 (grub_cmd_openbsd_ramdisk): Don't override errors.
9161 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
9162 (grub_cmd_initrd): Likewise.
9163 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9164 (grub_cmd_initrd): Likewise.
9165 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
9166 (grub_cmd_linux): Likewise.
9167 (grub_cmd_initrd): Likewise.
9168 (grub_cmd_payload): Likewise.
9169 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9170 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
9171 (grub_cmd_module): Likewise.
9172 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9173 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9174 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
9175 (grub_cmd_xnu_mkext): Likewise.
9176 (grub_cmd_xnu_ramdisk): Likewise.
9177 (grub_xnu_check_os_bundle_required): Likewise.
9178 (grub_xnu_load_kext_from_dir): Likewise.
9179 (grub_cmd_xnu_kextdir): Likewise.
9180 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
9181
b2d004db
VS
91822011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
9185 as 1024 in block size field. Found on one of my test images.
9186 Small optimisation while on it.
9187
ec000eac
VS
91882011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
9191 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
9192 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
9193 performance fixes while on it.
9194 (grub_sfs_close): Fix memory leak while on it.
9195 (grub_sfs_label): Convert Latin1 to UTF-8.
9196
f50e1165
VS
91972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
9200 space to avoid overflows.
9201 (grub_hfs_label): Convert from macroman to UTF-8.
9202
2ae254de
VS
92032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9204
9205 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
9206
0108f491
VS
92072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
9210
f45f5f89
VS
92112011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9212
9213 * unicode: Import Unicode 6.0 data.
9214
4d8c4765
VS
92152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9216
63fa8ef9
VS
9217 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
9218 outside of range.
9219
92202011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9221
9222 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
9223
9224 * include/grub/charset.h (grub_getend): New function.
9225 * grub-core/script/function.c (grub_script_function_find): Use
9226 grub_getend.
9227 * grub-core/normal/completion.c (add_completion): Likewise.
9228
f3cb4a4e
VS
92292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
9232 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
9233 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
9234 (GRUB_UNICODE_TAG_END): Likewise.
9235 (GRUB_UNICODE_LAST_VALID): Likewise.
9236
5da8dbc5
VS
92372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
9240 len and make it smaller. All users updated.
9241 * util/import_unicode.py: Put length and not end character.
9242 Check length.
9243
8569f13d
VS
92442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 Make better Unicode-compliant and unify some UTF-8 code pathes.
9247
9248 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
9249 valid character.
9250 (grub_is_valid_utf8): Use grub_utf8_process.
9251 Check resulting code range.
9252 (grub_utf8_to_ucs4): Use grub_utf8_process.
9253 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
9254 valid character.
9255
cc4fddf5
VS
92562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9257
9258 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
9259
bbc47747
VS
92602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * docs/grub.texi (Filesystems): Mention AFS.
9263
f63d6bf4
VS
92642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * docs/grub.texi (Filesystems): Clarify restrictions.
9267 (Regexp): Mention non-Unicode regexp behaviour.
9268 (Other): Mention non-Unicode matching behaviour.
9269
74bbf0db
VS
92702011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9271
f63d6bf4 9272 Make HFS implementation use MacRoman.
74bbf0db
VS
9273
9274 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
9275 (macroman): New const array.
9276 (macroman_to_utf8): New function.
9277 (utf8_to_macroman): Likewise.
9278 (grub_hfs_find_dir): Use utf8_to_macroman.
9279 (grub_hfs_dir): Use macroman_to_utf8.
9280 Set case_insensitive.
9281
4ea0316e
VS
92822011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9283
9284 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
9285
d3c13cbd
VS
92862011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 Integrate hints into autogeneration scripts.
9289
9290 * docs/grub.texi (Filesystems): Add a hostdisk example.
9291 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
9292 (grub-probe): Add ofpath.
9293 * gentpl.py: Remove group nosparc64.
9294 * grub-core/commands/search.c (cache_entry): New struct.
9295 (cache): New var.
9296 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
9297 * grub-core/commands/search_wrap.c (options): Add platform-specific
9298 hint options.
9299 (grub_cmd_search): Handle platform-specific hints.
9300 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
9301 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
9302 (grub_util_biosdisk_data): Likewise.
9303 (grub_util_biosdisk_open): Set device_map.
9304 (read_device_map): Handle "" as indication of no map.
9305 Set device_map.
9306 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
9307 (grub_util_biosdisk_get_compatibility_hint): New function.
9308 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
9309 * include/grub/emu/hostdisk.h
9310 (grub_util_biosdisk_get_compatibility_hint): New proto.
9311 * util/grub-install.in: Don't call grub-mkdevicemap.
9312 Add platform-specific hint to load.cfg.
9313 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
9314 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9315 hints. Set root preliminary to compatibility hint, not to OS name.
9316 * util/grub-probe.c (PRINT_*): Add hints.
9317 (print): Make static.
9318 (escape_of_path): New function.
9319 (guess_bios_drive): Likewise.
9320 (guess_efi_drive): Likewise.
9321 (guess_baremetal_drive): Likewise.
9322 (print_full_name): Likewise.
9323 (probe): Handle hints.
9324 (main): Likewise.
9325 * util/ieee1275/devicemap.c: Removed.
9326 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
9327 updated.
9328 (grub_util_devname_to_ofpath): Return NULL on failure.
9329
9330 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
9331 resource leak.
9332 * util/getroot.c (grub_util_pull_device): Fix memory leak.
9333
9334 * po/POTFILES.in: Regenerated.
9335
9336 Allow purely long options
9337
9338 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
9339 (SHORT_ARG_USAGE): Likewise.
9340 (grub_arg_show_help): Compare opt with help_options.
9341 (parse_option): Receive opt as argument. If makes big simplificatons.
9342 All users updated
9343
00ce2df3
VS
93442011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
9347 Restructure to avoid warning.
9348
e77e325f
VS
93492011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 * util/grub-install.in: Account for possible escaped comma in device
9352 name.
9353
165099ea
VS
93542011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9355
9356 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
9357 channel.
9358
ce4a999d
VS
93592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
9362 allocation and zero-setting.
9363 (grub_ieee1275_get_devname): Check that alias is complete.
9364
379586ad
VS
93652011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
9368 unaligned segments.
9369
9197b0ad
VS
93702011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
9373 prefix.
9374 (grub_ofdisk_open): Check and discard ieee1275 prefix.
9375 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9376 Add ieee1275 prefix.
9377
edddb7f9
VS
93782011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 * docs/grub.texi (Filesystems): Update.
9381
a1a8b1b9
VS
93822011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 Support odc, newc and bigendian cpio formats.
9385
9386 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
9387 * grub-core/Makefile.core.def (newc): New module.
9388 (odc): Likewise.
9389 (cpio_be): Likewise.
9390 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
9391 (MAGIC): Likewise.
9392 (MAGIC2): Likewise.
9393 (head) [MODE_ODC]: Adapt for the format.
9394 (head) [MODE_NEWC]: Likewise.
9395 (head) [!MODE_*]: Write fields of interest as arrays.
9396 (MAGIC_USTAR): Removed.
9397 (read_number) [MODE_NEWC]: Change to hex.
9398 (read_number) [!MODE_*]: Parse binary arrays.
9399 (grub_cpio_find_file): Factor out the code for better structure and
9400 always use read_number.
9401 (grub_cpio_mount): Use MAGIC and MAGIC2.
9402 (grub_cpio_dir): Exit on first hook non-0 return.
9403 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
9404 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
9405 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
9406 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
9407 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
9408 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
9409 * grub-core/fs/newc.c: New file.
9410 * grub-core/fs/odc.c: Likewise.
9411 * grub-core/fs/cpio_be.c: Likewise.
9412
58eba9ee
VS
94132011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 Fix handling of tar numbers occupying the whole field.
9416
9417 * grub-core/fs/cpio.c (read_number): New function.
9418 (grub_cpio_find_file): Use read_number instead of strtoull.
9419
a54a0e12
VS
94202011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
9423 occupying the whole field size.
9424
a6120aca
LA
94252011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
9426
9427 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
9428
a93964ce
VS
94292011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9430
9431 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
9432
3ea1ca46
SG
94332011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
9434
9435 * grub-core/Makefile.core.def (lzma_decompress): Add missing
9436 TARGET_IMG_LDFLAGS.
9437
b87f7ef2
VS
94382011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9439
9440 * util/getroot.c (ESCAPED_PATH_MAX): New define.
9441 (mountinfo_entry): Increase the field size to take escaping into
9442 account.
9443 (find_root_device_from_libzfs): Add one byte to size of strings for
9444 security.
9445
62092395
VS
94462011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
9449 an assert.
9450 * util/grub-setup.c (setup): Likewise.
9451
1f0b1a77
VS
94522011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
9455 _LzmaDecodeA.
9456
8eba9997
VS
94572011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 * docs/grub.texi (Internationalisation): New section.
9460
dd0c91e9
VS
94612011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9462
9463 * docs/grub.texi (Loopback booting): New section.
9464
94652011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
9466
9467 * util/grub-mkstandalone.in: Fix minor typo errors.
9468
198e150a
VS
94692011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
9472
9473 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
9474 net/icmp.c and net/icmp6.c.
9475 (http): New module.
9476 (priority_queue): Likewise.
9477 * grub-core/io/bufio.c: Rewritten.
9478 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
9479 TYPE_WITH_CONFIGFILE_OPTION.
9480 (legacy_commands): Add bootp and dhcp.
9481 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
9482 (grub_legacy_parse): Likewise.
9483 * grub-core/lib/priority_queue.c: New file.
9484 * grub-core/net/arp.c: Add missing license header.
9485 (arp_find_entry): Removed.
9486 (arp_find_entry): Likewise.
9487 (grub_net_arp_resolve): Rename to ...
9488 (grub_net_arp_send_request): ...this.
9489 (grub_net_arp_receive): New card argument.
9490 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
9491 Set router and DNS server.
9492 (grub_net_configure_by_dhcp_ack): Handle routing information.
9493 (grub_cmd_bootp): Set checksum.
9494 (grub_bootp_init): Remove net_dhcp.
9495 * grub-core/net/dns.c: New file.
9496 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
9497 completion.
9498 (get_card_packet): Handle allocation.
9499 (grub_efinet_findcards): Set mtu.
9500 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
9501 (get_card_packet): Handle allocation.
9502 (emucard): Set mtu.
9503 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
9504 (GRUB_MOD_INIT): Set mtu.
9505 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
9506 mtu.
9507 (get_card_packet): Handle allocation.
9508 (grub_ofnet_findcards): Set mtu.
9509 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
9510 assert.
9511 (grub_net_recv_ethernet_packet): Handle IPv6.
9512 * grub-core/net/http.c: New file.
9513 * grub-core/net/icmp.c: Likewise.
9514 * grub-core/net/icmp6.c: Likewise.
9515 * grub-core/net/ip.c (ip6addr): New type.
9516 (ip6hdr): Likewise.
9517 (reassemble): Likewise.
9518 (cmp): New function.
9519 (reassembles): New variable.
9520 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
9521 (id): New variable.
9522 (send_fragmented): New function.
9523 (grub_net_send_ip_packet): Rename to ...
9524 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
9525 Handle non-UDP.
9526 (grub_net_recv_ip_packets): Rename to ...
9527 (handle_dgram): ... this. Check checksum. Handle non-UDP.
9528 (free_rsm): New function.
9529 (free_old_fragments): Likewise.
9530 (grub_net_recv_ip4_packets): New function.
9531 (grub_net_send_ip6_packet): Likewise.
9532 (grub_net_send_ip_packet): Likewise.
9533 (grub_net_recv_ip6_packets): Likewise.
9534 (grub_net_recv_ip_packets): Likewise.
9535 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
9536 (LINK_LAYER_CACHE_SIZE): New const.
9537 (link_layer_find_entry): New function.
9538 (grub_net_link_layer_add_address): Likewise.
9539 (grub_net_link_layer_resolve_check): Likewise.
9540 (grub_net_link_layer_resolve): Likewise.
9541 (grub_net_ipv6_get_slaac): Likewise.
9542 (grub_net_ipv6_get_link_local): Likewise.
9543 (grub_cmd_ipv6_autoconf): Likewise.
9544 (parse_ip): Handle one number representation.
9545 (parse_ip6): New functoion.
9546 (match_net): Handle IPv6.
9547 (grub_net_resolve_address): Handle IPv6 and DNS.
9548 (grub_net_resolve_net_address): Handle IPv6.
9549 (route_cmp): New function.
9550 (grub_net_route_address): Find best route.
9551 (grub_net_addr_to_str): Handle IPv6.
9552 (grub_net_addr_cmp): New function.
9553 (grub_net_add_addr): Register local route.
9554 (print_net_address): Handle net address.
9555 (grub_net_poll_cards): Retransmit TCP.
9556 (grub_net_poll_cards_idle_real): Likewise.
9557 (have_ahead): New function.
9558 (grub_net_seek_real): Use underlying seek.
9559 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
9560 * grub-core/net/tcp.c: New file.
9561 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
9562 (cmp): New function.
9563 (ack): Likewise.
9564 (tftp_receive): Handle unordered input.
9565 (destroy_pq): New function.
9566 (tftp_close): Close pq.
9567 * grub-core/net/udp.c: Put missing license header.
9568 (grub_net_udp_socket): New function.
9569 (udp_socket_register): Likewise.
9570 (grub_net_udp_close): Likewise.
9571 (grub_net_recv_udp_packet): Check checksum.
9572 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
9573 * include/grub/misc.h (grub_memchr): New function.
9574 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
9575 (grub_net_card_driver): Return buf in recv.
9576 (grub_net_slaac_mac_list): New struct.
9577 (grub_network_level_protocol_id): Add ipv6.
9578 (grub_net_network_level_addr): Likewise.
9579 (grub_net_network_level_net_addr): Likewise.
9580 (grub_net_app_protocol): Add seek.
9581 (grub_net_socket): Removed.
9582 (grub_net_sockets): Likewise.
9583 (grub_net_socket_register): Likewise.
9584 (grub_net_socket_unregister): Likewise.
9585 (FOR_NET_SOCKETS): Likewise.
9586 (grub_net_add_addr): Add const.
9587 (GRUB_NET_BOOTP_*): New enum.
9588 (grub_net_addr_cmp): New proto.
9589 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
9590 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
9591 (grub_net_hwaddr_to_str): NEw proto.
9592 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
9593 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
9594 (grub_dns_init): New proto.
9595 (grub_dns_fini): Likewise.
9596 (grub_net_tcp_retransmit): Likewise.
9597 (grub_net_link_layer_add_address): Likewise.
9598 (grub_net_link_layer_resolve_check): Likewise.
9599 (grub_net_link_layer_resolve): Likewise.
9600 (grub_net_dns_lookup): Likewise.
9601 (grub_net_add_dns_server): Likewise.
9602 (grub_net_remove_dns_server): Likewise.
9603 (GRUB_NET_TRIES): New const.
9604 (GRUB_NET_INTERVAL): Likewise.
9605 * include/grub/net/arp.h: Mostly rewritten.
9606 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
9607 * include/grub/net/ip.h: Mostly rewritten.
9608 * include/grub/net/netbuff.h: Indent.
9609 * include/grub/net/tcp.h: New file.
9610 * include/grub/net/udp.h: Mostly rewritten.
9611 * include/grub/priority_queue.h: New file.
9612 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
9613 (grub_swap_bytes64_compile_time): Likewise.
9614 (grub_cpu_to_be16_compile_time): Likewise.
9615 (grub_cpu_to_be32_compile_time): Likewise.
9616 (grub_cpu_to_be64_compile_time): Likewise.
9617 (grub_be_to_cpu64_compile_time): Likewise.
9618
215c1800
VS
96192011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
9622 UINT_TO_PTR with cast.
9623
c17e546c
VS
96242011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
9627 don't use them.
9628
ff6b18b6
VS
96292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
9632 already there.
9633
70ffcc93
VS
96342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
9637 confusing ipxe.
9638
e5f4d260
VS
96392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
9642 Add missing const attribute.
9643 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
9644 Likewise.
9645 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
9646 Likewise.
9647
8e54b4b7
VS
96482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
9651 misaligned access.
9652 (serpent_setkey): Likewise.
9653 (serpent_encrypt_internal): Likewise.
9654 (serpent_decrypt_internal): Likewise.
9655 (serpent_encrypt): Don't put an alignment-increasing cast.
9656 (serpent_decrypt): Likewise.
9657 (serpent_test): Likewise.
9658
813c0a2b
VS
96592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
9662
f2b60fbd
VS
96632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
9666
9667 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
9668 grub_addr_t casts.
9669 (PTR_TO_UINT64): Likewise.
9670 (PTR_TO_UINT32): Likewise.
9671
5ef5c511
VS
96722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 * util/grub-mkimage.c (generate_image): Decrease the higher limit
9675 because of stack.
9676 * util/grub-setup.c (setup): Don't add redundancy past the higher load
9677 limit.
9678
c476e6df
VS
96792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
9682 text_width > available width a bit more gracefully.
9683
384ad7cc
VS
96842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9685
9686 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
9687 current address calculation.
9688
96f8caf8
VS
96892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9690
9691 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
9692 stack.
9693 (encode_block): Likewise.
9694
276b7a8b
VS
96952011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9696
9697 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
9698 certainety.
9699
e3fd394a
VS
97002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9701
9702 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
9703 non-RS part to avoid RS messing with GDT.
9704 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9705 Increase to suit in realmode routines.
9706
97072011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9708
9709 * grub-core/kern/i386/realmode.S: Increase alignment.
9710 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
9711
ee9c2e7a
VS
97122011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
9715 be deterministic.
9716 (syndroms): Compute 0 syndrom.
9717 (rs_recover): Use 0 syndrom.
9718
7a7f7cc9
VS
97192011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
9722
a14b16d1
VS
97232011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
9726 brackets.
9727
9f59e9fc
VS
97282011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9729
ca1b552c
VS
9730 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
9731 account.
9732 (get_top_pad): Likewise.
9733 (get_right_pad): Likewise.
9734 (get_bottom_pad): Likewise.
9735
97362011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9737
9738 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 9739
e739d698
VS
97402011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
9743 attribute as the structure isn't guaranteed to be properly aligned.
9744 (grub_efi_pci_device_path): Likewise.
9745 (grub_efi_pccard_device_path): Likewise.
9746 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
9747 specify the size of `memory_type'.
9748 (grub_efi_vendor_device_path): Likewise.
9749 (grub_efi_controller_device_path): Likewise.
9750 (grub_efi_acpi_device_path): Likewise.
9751 (grub_efi_expanded_acpi_device_path): Likewise.
9752 (grub_efi_atapi_device_path): Likewise.
9753 (grub_efi_scsi_device_path): Likewise.
9754 (grub_efi_fibre_channel_device_path): Likewise.
9755 (grub_efi_1394_device_path): Likewise.
9756 (grub_efi_usb_device_path): Likewise.
9757 (grub_efi_usb_class_device_path): Likewise.
9758 (grub_efi_i2o_device_path): Likewise.
9759 (grub_efi_mac_address_device_path): Likewise.
9760 (grub_efi_ipv4_device_path): Likewise.
9761 (grub_efi_ipv6_device_path): Likewise.
9762 (grub_efi_infiniband_device_path): Likewise.
9763 (grub_efi_uart_device_path): Likewise.
9764 (grub_efi_vendor_messaging_device_path): Likewise.
9765 (grub_efi_hard_drive_device_path): Likewise.
9766 (grub_efi_cdrom_device_path): Likewise.
9767 (grub_efi_vendor_media_device_path): Likewise.
9768 (grub_efi_file_path_device_path): Likewise.
9769 (grub_efi_protocol_device_path): Likewise.
9770 (grub_efi_piwg_device_path): Likewise.
9771 (grub_efi_bios_device_path): Likewise.
9772
cb8f88ea
VS
97732011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
9776 (grub_ucs4_to_utf8_alloc): Likewise.
9777 (grub_ucs4_to_utf8): Likewise.
9778 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
9779 (grub_ucs4_to_utf8_alloc): Likewise.
9780
309e5352
VS
97812011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9782
9783 AFFS never uses unicode.
9784
9785 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
9786 (grub_latin1_to_utf8): New inline function.
9787 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
9788
e7987e1b
VS
97892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
9792 overflow.
9793
efc2616e
VS
97942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
9797 (grub_squash_dirent_header): Likewise.
9798 (read_chunk): Don't double swap.
9799 (grub_squash_iterate_dir): Fix swap sizes.
9800
3c349f5a
VS
98012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
9804
b453412d
VS
98052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
9808 (grub_hfs_iterate_dir): Likewise.
9809
12e9d4d1
VS
98102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 Fix video on platforms where unaligned access is forbidden.
9813 Make several optimisations while on it.
9814
9815 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
9816 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9817 (grub_video_fbblit_replace_32bit_1bit): Likewise.
9818 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
9819 Disable.
9820 (grub_video_fbblit_replace_16bit_1bit):
9821 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9822 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9823 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
9824 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
9825 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
9826 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
9827 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
9828 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
9829 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
9830 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
9831 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
9832 (grub_video_fbblit_replace_index_RGB888): Likewise.
9833 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
9834 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
9835 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
9836 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
9837 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
9838 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9839 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
9840 Disable.
9841 (grub_video_fbblit_blend_XXX565_1bit):
9842 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9843 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
9844 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
9845 void *.
9846 * grub-core/video/fb/video_fb.c (common_blitter)
9847 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
9848 (grub_video_fb_create_render_target_from_pointer)
9849 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9850 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
9851 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
9852 definition.
9853 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
9854
ace96609
VS
98552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
9858 HH22 and HM10 relocations.
9859
fd261d73
VS
98602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
9863
e59b7857
VS
98642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
9867 allocation succeeded.
9868
9b4baaa4
VS
98692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
9872 argument a u8 pointer. All users updated.
9873 Handle unaligned buffers.
9874
dc713193
VS
98752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9876
9877 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
9878 add_part to workaround compiler bug.
9879
30dd48c2
VS
98802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
9883
0c6087a8
VS
98842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
9887 Reserve alignment invariants.
9888 (grub_multiboot_load): Likewise.
9889 (retrieve_video_parameters): Likewise.
9890 (grub_multiboot_make_mbi): Likewise.
9891
c2e77777
VS
98922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9893
9894 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
9895 incorrect pointer.
9896
b70b6d11
VS
98972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
9900 (grub_pata_pio_write): Likewise.
9901
02a2bf83
VS
99022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 Add noreturn attributes and remove unreachable code.
9905
9906 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
9907 code.
9908 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
9909 code. Mark as noreturn.
9910 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
9911 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
9912 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
9913 unreachable code.
9914 * grub-core/kern/main.c (grub_main): Mark as noreturn.
9915 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
9916 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
9917 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
9918 * include/grub/kernel.h (grub_main): Mark as noreturn.
9919 * include/grub/reader.h (grub_rescue_run): Likewise.
9920
2019d09e
VS
99212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
9924 redundant declaration.
9925
d1c501ee
VS
99262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9927
9928 * include/grub/net.h (grub_net_network_level_interfaces): Remove
9929 redundant declaration.
9930 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
9931
61664420
VS
99322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
9935 to ensure alignment.
9936 (grub_hdparm_print_identify): Make argument uint16 * to ensure
9937 alignment. Ensure tmp alignment.
9938 (grub_cmd_hdparm): Ensure buf alignment.
9939 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
9940 to ensure alignment.
9941 (grub_ata_dumpinfo): Ensure text alignment.
9942 (grub_atapi_identify): Preserve alignment invariant.
9943 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
9944
0d51ee20
VS
99452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9946
9947 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
9948 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
9949 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
9950 * include/grub/misc.h (grub_reboot)
9951 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
9952 (grub_halt) [__mips__]: Likewise.
9953
753ef8c1
VS
99542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
9957 Remove redundant declaration.
9958 (grub_mmap_get_post64): Likewise.
9959 (grub_mmap_get_upper): Likewise.
9960 (grub_mmap_get_lower): Likewise.
9961
85c85365
VS
99622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9963
9964 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
9965 uint32_t * to ensure alignment.
9966 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
9967
a23f2cc4
VS
99682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9969
93018f64
VS
9970 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
9971 uint16_t * to ensure alignment.
9972 (sun_pc_partition_map_iterate): Make `block' a union to ensure
9973 alignment.
9974
99752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9976
9977 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
9978 to ensure alignment.
9979 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
9980
58acccd6
VS
99812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 * grub-core/fs/ntfs.c (u16at): Make into inline function.
9984 Handle unaligned pointers.
9985 (u32at): Likewise.
9986 (u64at): Likewise.
9987 (fixup): Use byte access instead of v16at.
9988 (find_attr): Fix imporper usage of v32at.
9989 (read_data): Likewise.
9990 (list_file): Handle byte-swapping and unaligned strings.
9991 (grub_ntfs_label): Likewise.
9992
9b05cad7
VS
99932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
9996 as it's not necessarily aligned.
9997
b3950b84
VS
99982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
10001 redundant declaration.
10002 (grub_serial_init): Likewise.
10003 (grub_terminfo_init): Likewise.
10004
fcd232b7
VS
100052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10006
10007 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
10008 function.
10009 (ZAP_HASH_IDX): Likewise.
10010 (ZAP_LEAF_HASH_SHIFT): Likewise.
10011 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
10012 (LEAF_HASH): Likewise.
10013 (ZAP_LEAF_NUMCHUNKS): Likewise.
10014 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
10015 alignment invariants. Return pointer. All users updated.
10016 (ZAP_LEAF_ENTRY): Make into inline function.
10017 (NBBY): Removed.
10018 (xor): LIkewise.
10019 (xor_out): Use grub_crypto_xor.
10020 (dnode_get_path): Use grub_get_unaligned.
10021 (nvlist_find_value): Likewise.
10022 (grub_zfs_nvlist_lookup_uint64): Likewise.
10023 (grub_zfs_nvlist_lookup_string): Likewise.
10024 (get_nvlist_size): Likewise.
10025 (grub_zfs_open): Likewise.
10026 (fill_fs_info): Likewise.
10027 (grub_zfs_dir): Likewise.
10028 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
10029 alignment invariants.
10030 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
10031 necessarily aligned.
10032
f138623a
VS
100332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10034
10035 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
10036
564840dc
VS
100372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10038
10039 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
10040 arithmetic to conserve alignment invariants.
10041
9b40df20
VS
100422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
10045 redundant declaration.
10046 (grub_efiemu_mm_obtain_request): Likewise.
10047 (grub_efiemu_prepare): Likewise.
10048
d1c930f9
VS
100492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
10052 to match types.
10053
4c5f3056
VS
100542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
10057 case of aunaligned recptr.
10058 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
10059 alignment.
10060 (grub_hfsplus_btree_search): Handle unaligned index.
10061
728cba91
VS
100622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
10065 to get freetag and skip.
10066
eb561f31
VS
100672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
10070 array.
10071 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
10072 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
10073
20993fbb
VS
100742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10075
10076 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
10077 name for checksum and fix allocation algorithm.
10078
1f313b94
VS
100792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * include/grub/types.h (grub_properly_aligned_t): New type.
10082 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
10083 (grub_get_unaligned16): Add explicit casts.
10084 (grub_get_unaligned32): Likewise.
10085 (grub_get_unaligned64): Likewise.
10086 (grub_set_unaligned16): New function.
10087 (grub_set_unaligned32): Likewise.
10088
47ae27ec
VS
100892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10090
10091 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10092
78c2cd1c
VS
100932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
10096 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
10097 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
10098
53072f9b
VS
100992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
10102 conditionals.
10103
055dc239
VS
101042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
10107 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
10108
496bd074
VS
101092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10110
10111 Unify and improve RAID and crypto xor.
10112
10113 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
10114 changed to grub_crypto_xor
10115 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
10116 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
10117 Use bigger types when possible.
10118
ef6e4335
VS
101192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 * grub-core/disk/raid.c (scan_devices): Fix condition.
10122
5d048bf2
VS
101232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
10126 Make name a const ptr.
10127
ee533335
VS
101282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
10131 first argument a const pointer.
10132 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10133 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
10134 proto.
10135 (grub_children_iterate): Likewise.
10136 (grub_machine_mmap_iterate): Remove redundant declaration.
10137
cc8f3668
VS
101382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
10141 (grub_cmd_acpi) [!x86]: Disable EBDA.
10142
c5fc563a
VS
101432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 Enable UTF8 in gnulib regexp.
10146
10147 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
10148 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
10149 (isupper): Use grub_isupper.
10150 (isascii): New inline function.
10151 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
10152 * grub-core/lib/posix_wrap/wctype.h: Likewise.
10153 * grub-core/normal/charset.c (grub_utf8_process): New function.
10154 (grub_utf8_to_utf16): Use grub_utf8_process.
10155 (grub_encode_utf8_character): New function.
10156 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
10157 * include/grub/charset.h (grub_utf8_process): New declaration.
10158 (grub_encode_utf8_character): Likewise.
10159 * include/grub/misc.h (grub_islower): New inline function.
10160 (grub_isupper): Likewise.
10161 (grub_strchrsub): Moved down to fix the definitions.
10162
0af2346f
VS
101632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
10166 specification.
10167
74dbd244
VS
101682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 * include/grub/loader.h (grub_loader_register_preboot_hook):
10171 Use struct preboot * and not void * for handle. All users updated.
10172 (grub_loader_unregister_preboot_hook): Likewise.
10173
1bc8f60d
VS
101742011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
10177 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
10178 UTF-16-BE. All users updated.
10179 (grub_hfsplus_cmp_catkey): Fix unicode handling.
10180 (grub_hfsplus_iterate_dir): Likewise.
10181 (grub_hfsplus_label): Likewise.
10182
48d6e456
VS
101832011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
10186
bf3a3857
VS
101872011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 Add missing const qualifiers.
10190
10191 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
10192 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
10193 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
10194 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
10195 (grub_lvm_check_flag): Likewise.
10196 * grub-core/efiemu/i386/coredetect.c
10197 (grub_efiemu_get_default_core_name): Likewise
10198 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10199 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
10200 * grub-core/fs/ntfs.c (fixup): Likewise.
10201 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
10202 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
10203 (fzap_lookup): Likewise.
10204 (zap_lookup): Likewise.
10205 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
10206 * grub-core/lib/legacy_parse.c (check_option): Likewise.
10207 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
10208 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
10209 (grub_freebsd_add_meta_module): Likewise.
10210 (grub_cmd_freebsd_module): Likewise.
10211 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
10212 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
10213 (grub_xnu_writetree_get_size): Likewise.
10214 (grub_xnu_writetree_toheap_real): Likewise.
10215 (grub_xnu_find_key): Likewise.
10216 (grub_xnu_create_key): Likewise.
10217 (grub_xnu_create_value): Likewise.
10218 (grub_xnu_register_memory): Likewise.
10219 (grub_xnu_check_os_bundle_required): Likewise.
10220 (grub_xnu_scan_dir_for_kexts): Likewise.
10221 (grub_xnu_load_kext_from_dir): Likewise.
10222 * grub-core/normal/color.c (color_list): Likewise.
10223 * grub-core/normal/completion.c (current_word): Likewise.
10224 * grub-core/normal/menu_entry.c (insert_string): Likewise.
10225 * grub-core/term/serial.c (grub_serial_find): Likewise.
10226 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
10227 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
10228 Likewise.
10229 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
10230 (grub_freebsd_add_meta_module): Likewise.
10231 * include/grub/lib/arg.h (grub_arg_option): Likewise.
10232 * include/grub/net.h (grub_net_card_driver): Likewise.
10233 (grub_net_card): Likewise.
10234 (grub_net_app_protocol): Likewise.
10235 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
10236 * include/grub/serial.h (grub_serial_find): Likewise.
10237 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
10238 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
10239 (grub_xnu_create_value): Likewise.
10240 (grub_xnu_find_key): Likewise.
10241 (grub_xnu_scan_dir_for_kexts): Likewise.
10242 (grub_xnu_load_kext_from_dir): Likewise.
10243
10244 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
10245 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
10246 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
10247 Moved from here ...
10248 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
10249
112b4837
CW
102502011-11-28 Colin Watson <cjwatson@ubuntu.com>
10251
10252 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
10253
49e891ac
VS
102542011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
10257 (read_device): Fix size calculation.
10258
fd258e5c
RM
102592011-11-25 Robert Millan <rmh@gnu.org>
10260
10261 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
10262 (find_root_device_from_libzfs): Add zpool output parser to be used
10263 as fallback when libzfs isn't available.
10264
78845dc2
SG
102652011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
10266
10267 * po/Makefile.in.in: Add missing escape-continuation.
10268
adac5211
VS
102692011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
10270
10271 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
10272
10b64f1c
VS
102732011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
10276
bb416954
VS
102772011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
10280
bdfe9eeb
VS
102812011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
10284
581ffa8a
VS
102852011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 * grub-core/lib/adler32.c: Add missing license specification.
10288 * grub-core/lib/crc64.c: Likewise.
10289 * grub-core/loader/i386/pc/plan9.c: Likewise.
10290 * grub-core/partmap/plan.c: Likewise.
10291
2536cf64
LK
102922011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
10293
10294 Add facility to debug GRUB with gdb under qemu.
10295
10296 * grub-core/gdb_grub.in: New file.
10297 * grub-core/gmodule.pl.in: Likewise.
10298 * grub-core/Makefile.core.def (gmodule.pl): New script.
10299 (gdb_grub): Likewise.
10300
bc108a4a
VS
103012011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * util/grub-mount.c (argp_parser): Accept relative pathes.
10304 * util/grub-fstest.c (argp_parser): Likewise.
10305
111c1778
VS
103062011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 Plan9 support.
10309
10310 * Makefile.util.def (libgrubmods): Add
10311 grub-core/partmap/plan.c.
10312 * docs/grub.texi: Notice Plan9 support.
10313 * grub-core/Makefile.core.def (plan9): New module.
10314 (part_plan): Likewise.
10315 * grub-core/loader/i386/pc/plan9.c: New file.
10316 * grub-core/partmap/plan.c: Likewise.
10317 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
10318 define.
10319 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
10320 * include/grub/mm.h (grub_extend_alloc): New inline function.
10321
c30be3b6
VS
103222011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 Make Reed-Solomon faster by using power of generator representation of
10325 GF(256)*.
10326
10327 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
10328 (gf_double_t): Likewise.
10329 (gf_invert): Removed.
10330 (gf_powx): New array.
10331 (gf_powx_inv): Likewise.
10332 (scratch): Move higher.
10333 (gf_reduce): Removed.
10334 (gf_mul): Use powx.
10335 (gf_invert): Likewise.
10336 (init_inverts): Replaced with ...
10337 (init_powx): ...this. All users updated.
10338 (pol_evaluate): Replace multiplications with additions.
10339 (rs_encode): Likewise.
10340 (gauss_eliminate): Call gf_invert.
10341 (grub_reed_solomon_add_redundancy): Call init_powx.
10342 (grub_reed_solomon_recover): Call init_powx unconditionally.
10343
fa5aeffc
VS
103442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
10347
a346b81c
VS
103482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10349
10350 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
10351 disk->partiton for safety.
10352
d89ee414
VS
103532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10356 Fix a memory leak.
10357 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
10358
91ee7b6d
VS
103592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10360
10361 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
10362
91e5a33d
VS
103632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
10366
9edd7be2
VS
103672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10368
10369 Fix spaces handling in proc/self/mountinfo.
10370
10371 * util/getroot.c (unescape): New function.
10372 (grub_find_root_device_from_mountinfo): Use unescape.
10373
ba102053
VS
103742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10375
10376 Support ZFS embedding.
10377
10378 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
10379 (grub_zfs_fs): Register grub_zfs_embed.
10380
aa94b870
VS
103812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10382
10383 Fix MIPS compilation.
10384
10385 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
10386 * include/grub/offsets.h: Rename decompressor fields from
10387 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
10388 * util/grub-mkimage.c (image_targets): Use new names.
10389
5fbdac14
VS
103902011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 Defer multiboot device parsing until we're in compressed part.
10393
10394 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
10395 bsd_part. setdevice has fallen into disuse.
10396 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
10397 (bsd_part): Likewise.
10398 (boot_dev): New variable.
10399 (multiboot_trampoline): Don't parse multiboot device.
10400 Pass multiboot device in %edx.
10401 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
10402 grub_boot_device.
10403 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
10404 Likewise.
10405 * grub-core/kern/i386/pc/startup.S: Save edx.
10406 (grub_boot_drive): Removed.
10407 (grub_install_dos_part): Likewise.
10408 (grub_install_bsd_part): Likewise.
10409 (grub_boot_device): New variable.
10410 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
10411 (grub_install_bsd_part): Likewise.
10412 (grub_boot_drive): Likewise.
10413 (grub_boot_device): New variable.
10414 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
10415 Removed.
10416 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
10417 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
10418 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
10419 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
10420 * util/grub-install.in: Remove redundant condition.
10421
691cbb58
VS
104222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 Fix bug introduced by previous commit.
10425
10426 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
10427
60240b8b
VS
104282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 Use decompressors framework on i386-pc. It increases core size
10431 by 46 bytes but improves compatibility and maintainability.
10432
10433 * grub-core/Makefile.core.def (lzma_decompress): New image.
10434 (kernel): Add i386_pc_ldflags.
10435 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
10436 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
10437 to real_to_prot, prot_to_real and device info.
10438 * include/grub/offsets.h: Renamed decompressor offsets.
10439 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
10440 (image_target_desc): Remove raw_size and rename decompressor fields.
10441 (compress_kernel): Handle lzma.
10442 (generate_image): Handle decompressors on i386-pc.
10443
e9d3421c
VS
104442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 * configure.ac: Add -fno-asynchronous-unwind-tables.
10447
2b23074a
VS
104482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10449
10450 Move assembly code to C by using intwrap. It increases core size
10451 by 88 bytes but improves compatibility and maintainability.
10452
10453 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
10454 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
10455 ... here. Translated to C.
10456 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
10457 * grub-core/term/i386/pc/console.c (grub_console_getkey):
10458 ... here. Translated to C.
10459 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
10460 * grub-core/term/i386/pc/console.c (grub_console_getxy):
10461 ... here. Translated to C.
10462 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
10463 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
10464 ... here. Translated to C.
10465 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
10466 * grub-core/term/i386/pc/console.c (grub_console_cls):
10467 ... here. Translated to C.
10468 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
10469 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
10470 ... here. Translated to C.
10471 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
10472 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
10473 Translated to C.
10474 * grub-core/term/i386/pc/console.c (int10_9): New function.
10475 (grub_console_putchar): Likewise.
10476 * include/grub/i386/pc/console.h: Removed the not anymore shared
10477 functions.
10478
678f4b67
VS
104792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 Move grub_chainloader_real_boot out of the kernel.
10482
10483 * grub-core/Makefile.am: Remove machine/loader.h.
10484 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10485 Removed.
10486 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
10487 variable.
10488 (grub_relocator16_keep_a20_enabled): Likewise.
10489 (grub_relocator16_boot): Fill new variables.
10490 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
10491 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
10492 relocator.
10493 (grub_chainloader_unload): Likewise.
10494 (grub_chainloader_cmd): Likewise.
10495 * include/grub/i386/pc/loader.h: Removed.
10496 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
10497 and esi. All initialisers updated.
10498
4626edf6
VS
104992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
105002011-11-12 Colin Watson <cjwatson@ubuntu.com>
10501
10502 * Makefile.util.def (grub-mount): New util.
10503 * .bzrignore: Add grub-mount.
10504 * configure.ac: Check for fuse and enable grub-mount if available.
10505 * docs/man/grub-mount.h2m: New file.
10506 * util/grub-mount.c: Likewise.
10507
10f0117b
VS
105082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 * grub-core/commands/efi/fixvideo.c: Gettextize.
10511 * grub-core/commands/hashsum.c: Likewise.
10512 * grub-core/commands/i386/cmostest.c: Likewise.
10513 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10514 * grub-core/commands/i386/pc/lsapm.c: Likewise.
10515 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10516 * grub-core/commands/lsmmap.c: Likewise.
10517 * grub-core/commands/menuentry.c: Likewise.
10518 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10519 * grub-core/commands/setpci.c: Likewise.
10520 * grub-core/loader/i386/bsd.c: Likewise.
10521 * grub-core/loader/i386/linux.c: Likewise.
10522 * util/getroot.c: Likewise.
10523 * util/grub-editenv.c: Likewise.
10524 * util/grub-fstest.c: Likewise.
10525 * util/grub-mkfont.c: Likewise.
10526 * util/grub-mkimage.c: Likewise.
10527 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10528 * util/grub-pe2elf.c: Likewise.
10529 * util/grub-probe.c: Likewise.
10530 * util/grub-setup.c: Likewise.
10531 * util/ieee1275/ofpath.c: Likewise.
10532 * util/misc.c: Likewise.
10533 * util/raid.c: Likewise.
10534
566f779b
RM
105352011-11-11 Robert Millan <rmh@gnu.org>
10536
10537 * util/getroot.c (grub_util_get_geom_abstraction): Remove
10538 __attribute__((unused)) from `os_dev', which *is* being used.
10539
b50787de
VS
105402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
10543 forgotten define.
10544 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
10545 GRUB_IA64_DL_GOT_ALIGN.
10546 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
10547 GRUB_IA64_DL_TRAMP_ALIGN.
10548
119d11c8
VS
105492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 Replace grub_fatal with normal errors in i386 linux loader.
10552
10553 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
10554 (allocate_pages): Check find_efi_mmap_size return value.
10555 (grub_e820_add_region): Return error.
10556 (grub_linux_boot): Check mmap return value.
10557
6e0632e2
VS
105582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10559
10560 * grub-core/commands/acpihalt.c: Gettextized.
10561 * grub-core/commands/cacheinfo.c: Likewise.
10562 * grub-core/commands/cmp.c: Likewise.
10563 * grub-core/commands/efi/loadbios.c: Likewise.
10564 * grub-core/commands/gptsync.c: Likewise.
10565 * grub-core/commands/ieee1275/suspend.c: Likewise.
10566 * grub-core/commands/legacycfg.c: Likewise.
10567 * grub-core/commands/memrw.c: Likewise.
10568 * grub-core/commands/minicmd.c: Likewise.
10569 * grub-core/commands/parttool.c: Likewise.
10570 * grub-core/commands/time.c: Likewise.
10571 * grub-core/commands/videoinfo.c: Likewise.
10572 * grub-core/disk/geli.c: Likewise.
10573 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
10574 * grub-core/disk/luks.c: Likewise.
10575 * grub-core/disk/lvm.c: Likewise.
10576 * grub-core/font/font_cmd.c: Likewise.
10577 * grub-core/fs/zfs/zfscrypt.c: Likewise.
10578 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10579 * grub-core/gfxmenu/view.c: Likewise.
10580 * grub-core/kern/emu/hostdisk.c: Likewise.
10581 * grub-core/kern/emu/main.c: Likewise.
10582 * grub-core/kern/emu/misc.c: Likewise.
10583 * grub-core/kern/emu/mm.c: Likewise.
10584 * grub-core/kern/mips/arc/init.c: Likewise.
10585 * grub-core/kern/mips/loongson/init.c: Likewise.
10586 * grub-core/kern/partition.c: Likewise.
10587 * grub-core/lib/i386/halt.c: Likewise.
10588 * grub-core/lib/mips/arc/reboot.c: Likewise.
10589 * grub-core/lib/mips/loongson/reboot.c: Likewise.
10590 * grub-core/loader/i386/pc/chainloader.c: Likewise.
10591 * grub-core/loader/i386/xnu.c: Likewise.
10592 * grub-core/loader/multiboot.c: Likewise.
10593 * grub-core/net/bootp.c: Likewise.
10594 * grub-core/net/net.c: Likewise.
10595 * grub-core/normal/term.c: Likewise.
10596 * grub-core/partmap/bsdlabel.c: Likewise.
10597 * grub-core/parttool/msdospart.c: Likewise.
10598 * grub-core/term/gfxterm.c: Likewise.
10599 * grub-core/term/terminfo.c: Likewise.
10600 * grub-core/video/i386/pc/vbe.c: Likewise.
10601 * util/grub-menulst2cfg.c: Likewise.
10602 * util/grub-mkdevicemap.c: Likewise.
10603 * util/grub-mklayout.c: Likewise.
10604 * util/grub-mkrelpath.c: Likewise.
10605 * util/grub-script-check.c: Likewise.
10606 * util/ieee1275/grub-ofpathname.c: Likewise.
10607 * util/resolve.c: Likewise.
10608
073aa7a9
VS
106092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 Support %1$d syntax.
10612
10613 * tests/printf_unit_test.c: New file.
10614 * Makefile.util.def (printf_test): New test.
10615 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
10616
c76b5417
VS
106172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10618
10619 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
10620 fix.
10621
df067ad1
VS
106222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
10625 dprintf.
10626 * grub-core/font/font.c (grub_font_load): Likewise.
10627
5b289bc5
VS
106282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 * util/grub-macho2img.c: Add comment concerning gettext.
10631 * grub-core/lib/legacy_parse.c: Likewise.
10632
c1860f87
VS
106332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10634
10635 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
10636 (grub_xvasprintf): Likewise.
10637
d35d0d37
VS
106382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10639
10640 Add const keyword to grub_env_get and gettextize week days.
10641
10642 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
10643 (grub_read_hook_datetime): Return const char *.
10644 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
10645 updated.
10646 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10647 Mark for gettext.
10648 (grub_get_weekday_name): Return const char *. Call gettext.
10649 * grub-core/script/argv.c (grub_script_argv_append): Receive const
10650 char * and len as the argument. All users updated.
10651 (grub_script_argv_split_append): Receive const char *.
10652 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
10653 * include/grub/env.h (grub_env_get): Likewise.
10654 (grub_env_read_hook_t): Return const char *.
10655 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
10656 (grub_script_argv_split_append): Likewise.
10657
9aed8a71
VS
106582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
10661
067fdf00
VS
106622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10663
10664 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
10665 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
10666
a8bd9d39
VS
106672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
10670 Fix prototype.
10671
f7ce5baf
VS
106722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10673
10674 Fix mips compilation.
10675
10676 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
10677 normal decoder.
10678 (hashes): Use in embed decoder as well (for sizes).
10679 (dec_stream_header): Fix embed decompressor logic.
10680 (dec_stream_footer): Likewise.
10681
9bb182f3
VS
106822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
10685 an error and not a fatal on unrecognised relocation types.
10686
63a9e6f6
VS
106872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10688
10689 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10690 Issue error rather than printf on unknown arguments.
10691
4c458569
VS
106922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10693
10694 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
10695 Make buf a const.
10696
e2d22baf
VS
106972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10698
10699 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
10700 Fix module name.
10701
53dc8590
VS
107022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10703
10704 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
10705 leftover debug printf.
10706
6c189294
VS
107072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
10710
f7688369
VS
107112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10712
10713 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
10714 A stylistic fix.
10715
11a775a3
VS
107162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
10719
33f784e8
SL
107202011-11-10 Shea Levy <slevy@tieronedesign.com>
10721
10722 Allow all modules to perform serial IO
10723
10724 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
10725 * include/grub/serial.h (grub_serial_port_configure): New inline
10726 function.
10727 (grub_serial_port_fetch): Likewise.
10728 (grub_serial_port_put): Likewise.
10729 (grub_serial_port_fini): Likewise.
10730 (grub_serial_find): New proto.
10731
f6276525
VS
107322011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 Put symlink at the end of the node and fix a potential
10735 memory corruption.
10736
10737 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
10738 Make symlink into an array.
10739 (set_rockridge): Set have_symlink and alloc_dirents.
10740 (grub_iso9660_read_symlink): Use new layout.
10741 (grub_iso9660_iterate_dir): Fix memory corruption.
10742 Use new layout.
10743 (grub_iso9660_dir): Set have_symlink.
10744 (grub_iso9660_open): Likewise.
10745
c3591189
VS
107462011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 Remove local keyword.
10749
10750 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
10751 (version_test_gt): Likewise.
10752 (version_find_latest): Likewise.
10753 (gettext_printf): Likewise.
10754 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
10755
cb544caa
VS
107562011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10757
10758 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
10759
45bd824d
VS
107602011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 Fix ZFS memory and resource leaks.
10763
10764 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
10765 All users updated.
10766 Free type on exit.
10767 (fill_vdev_info): New parameter inserted. All users updated.
10768 (check_pool_label): Likewise.
10769 (scan_disk): Likewise.
10770 (scan_devices): Close non-inserted disks.
10771 (fzap_iterate): Free l.
10772 (unmount_device): Free children descripto memory.
10773
ad9a2f44
VS
107742011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
10777 argument (access out of bounds).
10778
6b68db81
VS
107792011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
10782 >= 6 drives.
10783
28840fda
VS
107842011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
10787 Fix declaration.
10788
8a5a3a5b
VS
107892011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10790
10791 Fix several memory leaks.
10792
10793 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
10794 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
10795 (grub_cpio_dir): Likewise.
10796 * grub-core/fs/fat.c (grub_fat_label): Likewise.
10797 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
10798 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
10799 (grub_romfs_label): Likewise.
10800 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
10801 (squash_unmount): New function.
10802 (grub_squash_dir): Fix memory leak.
10803 (grub_squash_open): Likewise.
10804 (grub_squash_read): Likewise.
10805 (grub_squash_mtime): Likewise.
10806 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
10807 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
10808 * util/grub-fstest.c (fstest): Likewise.
10809
57b01250
VS
108102011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10811
10812 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
10813 avoid accessing beyond the array.
10814
19e81ba7
VS
108152011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
10818
52b656c0
VS
108192011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10820
10821 Several AFFS fixes.
10822
10823 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
10824 (GRUB_AFFS_FLAG_FFS): Removed.
10825 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
10826 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
10827 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
10828 (grub_fshelp_node): Make block 32-bit.
10829 Add block_cache and last_block_cache.
10830 (grub_affs_read_block): Fill and use block cache.
10831 (grub_affs_read_file): Removed.
10832 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
10833 boot block.
10834 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
10835 safety.
10836 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
10837 space.
10838 (grub_affs_close): Free block cache.
10839 (grub_affs_read): Use grub_fshelp_read_file directly.
10840
438a746a
VS
108412011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
10844 with no error set.
10845
49a45021
VS
108462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
10849 used variable.
10850 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10851 Likewise.
10852
3ae17eb8
VS
108532011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
10856
10857 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
10858 byteswap when needed.
10859
27610c38
VS
108602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 Fix FreeBSD compilation.
10863
10864 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
10865 to avoid circular dependency.
10866 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
10867 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
10868 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
10869
4a19b601
VS
108702011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10871
10872 Fix ZFS crypto error types.
10873
10874 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
10875 (grub_gcm_decrypt): Likewise.
10876 (grub_zfs_load_key_real): Fix error code type. Handle possible error
10877 from PBKDF2.
10878
958ee221
VS
108792011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 Illumos support.
10882
10883 * Makefile.util.def (10_illumos): New script.
10884 * configure.ac: Set COND_HOST_ILLUMOS.
10885 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
10886 Support Illumos calls.
10887 (find_partition_start) [__sun__]: Likewise.
10888 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
10889 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
10890 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
10891 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
10892 device.
10893 * util/grub-probe.c (probe) [__sun__]: Do character check.
10894 * util/grub.d/10_illumos.in: New file.
10895
cac14fb6
VS
108962011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10897
10898 Support escaped commas in hostdisk.
10899
10900 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
10901 (find_grub_drive): Use unescape_cmp.
10902 (make_device_name): Escape commas.
10903
78e08dc3
VS
109042011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
10907
9f421dd1
VS
109082011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10909
10910 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
10911 variable.
10912
ed64e9e2
VS
109132011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10914
10915 Support trampoline jumps on powerpc.
10916
10917 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
10918 __ia64__ path.
10919 (grub_dl_load_segments): Set mod->sz.
10920 (grub_dl_flush_cache): Flush whole space occupied by module, not just
10921 segments.
10922 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
10923 (jump): Likewise.
10924 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
10925 function.
10926 (trampoline): New struct.
10927 (trampoline_template): New const.
10928 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
10929 * include/grub/dl.h (grub_dl): Add sz element.
10930 [__powerpc__]: Follow __ia64__.
10931 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
10932 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
10933 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
10934 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
10935
3084ede4
VS
109362011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10937
10938 ZFS crypto support.
10939
10940 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
10941 * grub-core/Makefile.core.def (zfscrypt): New module.
10942 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
10943 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
10944 it. All users updated.
10945 (grub_zfs_decrypt): New var.
10946 (grub_zfs_load_key): Likewise.
10947 (zio_checksum_functions): Add SHA256+MAC.
10948 (zio_checksum_verify): Handle incomplete comparison due to MAC.
10949 (zio_read): Handle encrypted blocks.
10950 (zap_verify): Remove incorrect check.
10951 (fzap_iterate): Handle non-standard fzap.
10952 (zap_iterate): Likewise.
10953 (zap_iterate_u64): New function.
10954 (dnode_get_fullpath): Load keys.
10955 * grub-core/fs/zfs/zfscrypt.c: New file.
10956 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
10957 (grub_crypto_ecb_encrypt): Make input const.
10958 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
10959 (grub_crypto_ecb_encrypt): Make input const.
10960 (GRUB_CIPHER_AES): New macro.
10961 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
10962 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
10963 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
10964 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
10965 prefix. All users updated.
10966 (grub_zfs_add_key): New proto.
10967 (grub_zfs_decrypt): Likewise.
10968 (grub_zfs_load_key): Likewise.
10969 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
10970 * util/grub-fstest.c (options): Add -K option.
10971 (argp_parser): Likewise.
10972
b632b404
VS
109732011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 Support zle compression on ZFS.
10976
10977 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
10978 (decomp_table): Add zle.
10979 * include/grub/zfs/zio.h (zio_compress): Add zle.
10980
c7ba4f69
VS
109812011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10982
10983 Support BtrFS embedding.
10984
10985 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
10986 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
10987 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
10988 * util/grub-setup.c (setup): Use fs embedding if available.
10989 Add additional sanity check.
10990
455377d9
VS
109912011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 * util/grub-install.in: Fix condition for config_opt.
10994
c2fd16ca
VS
109952011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 Support third redundancy strip on raidz3.
10998
10999 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
11000 Return error on singularity. All users updated.
11001 (read_device): Don't stop on 3rd failure on raidz3.
11002
8622923b
VS
110032011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 Support case-insensitive ZFS subvolumes.
11006
11007 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
11008 All users updated.
11009 (zap_hash): Likewise.
11010 (name_cmp): New function.
11011 (zap_leaf_array_equal): New parameter case_insensitive.
11012 All users updated.
11013 (zap_leaf_lookup): Likewise.
11014 (fzap_lookup): Likewise.
11015 (zap_lookup): Likewise.
11016 (dnode_get_path): New parameter case_insensitive. Retrieve case
11017 sensitiviness of a volume. All users updated.
11018 (dnode_get_fullpath): New parameter case_insensitive.
11019 All users updated.
11020 (grub_zfs_dir): Set info.case_insensitiveness.
11021
95f2e860
VS
110222011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11023
11024 Support second redundancy strip on raidz(2,3).
11025
11026 * grub-core/fs/zfs/zfs.c (powx): New array.
11027 (powx_inv): Likewise.
11028 (poly): New const.
11029 (xor_out): New function.
11030 (gf_mul): Likewise.
11031 (recovery): Likewise.
11032 (read_device): Use second redundancy strip.
11033
11ee4389
VS
110342011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 Use a power of generator representation of GF(256) multiplication group
11037 to save space time and complexity.
11038
11039 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
11040 (raid6_table2): Likewise.
11041 (powx): New array.
11042 (powx_inv): Likewise.
11043 (poly): New const.
11044 (grub_raid_block_mul): Replace with ...
11045 (grub_raid_block_mulx): ...this.
11046 (grub_raid6_init_table): Rewritten.
11047 (grub_raid6_recover): Use power of generator representation.
11048
09e2763f
VS
110492011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11050
11051 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
11052 for the right device.
11053
8bec9a28
VS
110542011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
11057 expected by grub-mkimage and it's more clear since there is no implicit
11058 padding.
11059
dbd3a32e
VS
110602011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
11063 disk.
11064 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11065
182c872a
PMH
110662011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
11067
11068 * util/grub-mkrescue.in: Fix handling xorriso option.
11069
1e51cabd
VS
110702011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11071
11072 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
11073 NULL.
11074
9cc3581d 110752011-11-03 crocket <crockabiscuit@gmail.com>
11076
11077 * util/grub.d/10_linux.in: Add Slackware initrd naming.
11078
158dc1ea
VS
110792011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 XZ CRC64 and SHA256 support.
11082
11083 * Makefile.util.def (libgrubmods): Add crc64.c.
11084 * grub-core/Makefile.core.def (crc64): New module.
11085 * grub-core/lib/crc64.c: New file.
11086 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
11087 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
11088 Fix the type.
11089 (MAX_HASH_SIZE): New define.
11090 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
11091 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
11092 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11093 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11094 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
11095 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
11096 Handle non-crc32 hashes.
11097 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
11098 (dec_stream_header): Handle non-crc32 hashes.
11099 (dec_stream_footer): Likewise.
11100 (dec_block_header): Likewise.
11101 (dec_main): Likewise.
11102 (xz_dec_init): Likewise.
11103 (xz_dec_reset): Likewise.
11104 (xz_dec_end): Likewise.
11105 * util/import_gcry.py: Add CRC64 line.
11106
9d9b3d2f
VS
111072011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
11110 as well.
11111
7d0ac931
VS
111122011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 Make reiserfs label retrieval similar to other *_label functions.
11115
11116 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
11117 (REISERFS_MAX_LABEL_LENGTH): Removed.
11118 (REISERFS_LABEL_OFFSET): Likewise.
11119 (grub_reiserfs_label): Rewritten.
11120
111212011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
11124 field.
11125
cf5ba824
VS
111262011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
11129
17744004
VS
111302011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
11133 drive failure on both raidz and raidz2.
11134
aca5aefc
VS
111352011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 Fix RAIDZ(2) for >= 5 devices.
11138
11139 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
11140 asize argument. All users updated.
11141
ce8ca56e
VS
111422011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 Fix RAIDZ(2).
11145
11146 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
11147 (fill_vdev_info_real): Set ashift.
11148 (read_device): Rewrite RAIDZ part based on reverse engineering.
11149
7c01e783
VS
111502011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
11153 don't report potentially unavialiable fields in debug output.
11154 (find_path): Fix double-free and memory leak.
11155
ce109e84
VS
111562011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11157
11158 Read label on UFS1.
11159
11160 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
11161 (grub_ufs_fs): Always set .label.
11162
87661123
VS
111632011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11164
11165 Use shifts in UFS.
11166
11167 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
11168 (grub_ufs_data): New field log2_blksz.
11169 (grub_ufs_read_file): Use shifts.
11170 (grub_ufs_mount): Check block size and logarithm it.
11171
46bc1dc2
VS
111722011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
11175 long symlinks.
11176
19ee2987
VS
111772011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 Handle symlinks and long names on tar and cpio.
11180
11181 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
11182 (ATTR_FILE): Likewise.
11183 (ATTR_DIR): Likewise.
11184 (ATTR_LNK): Likewise.
11185 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
11186 (grub_cpio_find_file): Fill mode, handle linkname field as well as
11187 L and K entries.
11188 (grub_cpio_mount): Zero-fill data.
11189 (handle_symlink): New function.
46bc1dc2
VS
11190 (grub_cpio_dir): Handle symlinks.
11191 (grub_cpio_open): Likewise.
11192 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 11193
c83a08d8
VS
111942011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 Fix iso9660 filename limitations and fix memory leaks.
11197
11198 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
11199 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
11200
45cdd3ea
VS
112012011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 Fix JFS file name length limitations.
11204
11205 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
11206 (grub_jfs_diropen): Fix maximum filename length.
11207 (grub_jfs_getent): Fix filename length.
11208 (grub_jfs_lookup_symlink): Fix size checks.
11209
94ef05c2
VS
112102011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
11213 string.
11214
785ab8c7
VS
112152011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11216
eb0b6b45
VS
11217 Leverage BFS implementation to read AFS.
11218
11219 * Makefile.util.def (libgrubmods): Add afs.c.
11220 * grub-core/Makefile.core.def (afs): New module
11221 * grub-core/fs/afs.c: New file.
11222 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
11223
112242011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 11227
c4a1628f
VS
112282011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 * grub-core/fs/bfs.c: Run indent.
11231
5825b379
VS
112322011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 BFS implementation based on the specification.
11235
11236 * grub-core/fs/bfs.c: New file.
11237 * Makefile.util.def (libgrubmods): Add bfs.c.
11238 * grub-core/Makefile.core.def (bfs): New module.
11239
42b2a706
VS
112402011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11241
11242 * util/grub-fstest.c (cmd_cp): Clarify error message.
11243 (cmd_cmp): Likewise.
11244
61b99bfc
YB
112452011-10-30 Yves Blusseau <blusseau@zetam.org>
11246
11247 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
11248 and befs_be.
11249
faba3d16
VS
112502011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 Remove afs and befs because of copyright problem.
11253
11254 * grub-core/fs/afs.c: Removed.
11255 * grub-core/fs/afs_be.c: Removed.
11256 * grub-core/fs/befs.c: Removed.
11257 * grub-core/fs/befs_be.c: Removed.
11258 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
11259 * grub-core/Makefile.core.def (afs): Removed.
11260 (afs_be): Likewise.
11261 (befs): Likewise.
11262 (befs_be): Likewise.
11263
c39224b0
VS
112642011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 Prefer rockridge over Joliet.
11267
11268 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
11269 to ...
11270 (set_rockridge): ... here.
11271 (grub_iso9660_mount): Check rockridge on the primary label when
11272 discovering. Ignore Joliet if Rockridge is present.
11273
e551115a
VS
112742011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 Use shifts in nilfs2.
11277
11278 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
11279 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
11280 (grub_nilfs2_palloc_entries_per_group): Replace with ...
11281 (grub_nilfs2_log_palloc_entries_per_group): ... this.
11282 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
11283 (grub_nilfs2_entries_per_block): Replaced with ...
11284 (grub_nilfs2_log_entries_per_block_log): ... this.
11285 (grub_nilfs2_blocks_per_group): Replaced with ...
11286 (grub_nilfs2_blocks_per_group_log): ... this.
11287 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
11288 (grub_nilfs2_blocks_per_desc_block_log): ... this.
11289 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
11290 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
11291 (grub_nilfs2_palloc_entry_offset): Replaced ...
11292 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
11293 (grub_nilfs2_dat_translate): Use shifts.
11294 (grub_nilfs2_read_inode): Likewise.
11295 (GRUB_MOD_INIT): Ensure that logs are correct.
11296
564dd58c
VS
112972011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11298
11299 Use shifts in minix filesystem.
11300
11301 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
11302 (GRUB_MINIX_ZONE2SECT): Likewise.
11303 (grub_minix_data): Replace block_size with log_block_size.
11304 (grub_minix_read_file): Use shifts.
11305 (grub_minix_mount): Check block size and take a logarithm.
11306
ed9ba06d
VS
113072011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11308
11309 Use shifts in squash4.
11310
11311 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
11312 (squash_mount): Check block size and take logarithm.
11313 (direct_read): Use shifts.
11314
ad03fe76
VS
113152011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11316
11317 Correct befs block counting logic.
11318
11319 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
11320 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
11321 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
11322 (grub_afs_read_inode): Use block_shift.
11323 (RANGE_SHIFT): New definition.
11324 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
11325 unexpected conditions, use shifts and appropriate types.
11326 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
11327
6563f63d
VS
113282011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 * grub-core/disk/raid.c (scan_devices): Check partition.
11331 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11332
5b1ae25f
VS
113332011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 Support BFS (befs) UUID.
11336
11337 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
11338 (grub_afs_small_data_element_header): New struct.
11339 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
11340 (grub_afs_read_attribute) [MODE_BFS]: New function.
11341 (grub_afs_iterate_dir): Allocate for complete inode.
11342 (grub_afs_mount): Likewise.
11343 (grub_afs_uuid) [MODE_BFS]: New function.
11344 (grub_afs_fs) [MODE_BFS]: Add .uuid.
11345
f8d82408
VS
113462011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
11349 (zfs_unmount): Fix memory leak.
11350
5773fb64
VS
113512011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 Support NTFS reparse points.
11354
11355 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
11356 (symlink_descriptor): New struct.
11357 (grub_ntfs_read_symlink): New function.
11358 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
11359 (grub_ntfs_open): Likewise.
11360
91c3fdde
VS
113612011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11362
11363 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
11364
3be82e10
VS
113652011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11366
11367 fstest xnu_uuid subcommand.
11368
11369 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
11370 grub-core/commands/xnu_uuid.c.
11371 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
11372 (fstest): Handle xnu_uuid.
11373 (options): Document xnu_uuid.
11374 (argp_parser): Parse xnu_uuid.
11375
8e32442e
VS
113762011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11377
11378 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
11379 -l argument. Add newline at the end if printing.
11380 (GRUB_MOD_INIT): Document -l.
11381
52a05075
VS
113822011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
11385
1869edb5
VS
113862011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11387
11388 ZFS multi-device and version 33 support.
11389
11390 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
11391 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
11392 (grub_zfs_data): Add multidev-ice-related fields.
11393 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
11394 (dva_get_offset): Make dva const.
11395 (zfs_fetch_nvlist): New function.
11396 (fill_vdev_info_real): Likewise.
11397 (fill_vdev_info): Likewise.
11398 (check_pool_label): Likewise.
11399 (scan_disk): Likewise.
11400 (scan_devices): Likewise.
11401 (read_device): Likewise.
11402 (read_dva): Likewise.
11403 (zio_read_gang): Use read_dva.
11404 (zio_read_data): Likewise.
11405 (zap_leaf_lookup): Add missing endian conversion.
11406 (zap_verify): Add missing endian conversion. All users updated.
11407 (fzap_lookup): Likewise.
11408 (fzap_iterate): Likewise.
11409 (dnode_get_path): Handle SA bonus.
11410 (nvlist_find_value): Make input const. All users updated.
11411 (unmount_device): New function.
11412 (zfs_unmount): Use unmount_device.
11413 (zfs_mount): Use scan_disk.
11414 (zfs_mtime): New function.
11415 (grub_zfs_open): Handle system attributes.
11416 (fill_fs_info): Likewise.
11417 (grub_zfs_dir): Likewise.
11418 (grub_zfs_fs): Add mtime.
11419 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
11420 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
11421 (SA_MTIME_OFFSET): Likewise.
11422 (SA_SYMLINK_OFFSET): Likewise.
11423 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
11424 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
11425 (fstest): Support zfsinfo.
11426 (argp_parser): Likewise.
11427
186b4028
VS
114282011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11429
11430 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
11431 error.
11432
114332011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
11434
11435 ZFS fixes.
11436
11437 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
11438 sharing the same block. Iterate over correct number of indices.
11439 (dnode_get_path): Handle symlinks correctly.
11440
c0584900
VS
114412011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
11444
67e2bd71
VS
114452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 Read label on HFS+.
11448
11449 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
11450 (grub_hfsplus_btree_search): Fix types.
11451 (grub_hfsplus_label): Implement.
11452
e9cc6b7b
VS
114532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11454
11455 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
11456
19832ddb
VS
114572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
11460
66b40850
VS
114612011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 Fix symlink handling on iso9660.
11464
11465 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
11466 All users updated.
11467 (grub_iso9660_susp_iterate): Accept zero-size iterate.
11468 (grub_iso9660_read_symlink): Moved most of code ...
11469 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
11470
db821363
VS
114712011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
11474 Use union to avoid breaking strict-aliasing rules.
11475
e1211949
VS
114762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 Support multi-extent iso files.
11479
11480 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
11481 Add node.
11482 (grub_fshelp_node): Revamp. All users updated.
11483 (FLAG_*): New enum.
11484 (read_node): New function.
11485 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
11486 All users updated.
11487 (grub_iso9660_mount): Don't attempt to read sua when there is none.
11488 (get_node_size): New function.
11489 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
11490 entries.
11491 Fix memory leak on . and ..
11492 (grub_iso9660_read): Use read_node.
11493 (grub_iso9660_close): Free node.
11494
d4888031
VS
114952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11496
11497 Fix tar 4G limit and handle paths containing dot.
11498
11499 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
11500 (canonicalize): New function.
11501 (grub_cpio_find_file): Use canonicalize. Store offs in
11502 grub_disk_addr_t.
11503 (grub_cpio_dir): Use grub_disk_addr_t.
11504 (grub_cpio_open): Likewise.
11505
9f12e664
VS
115062011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11507
11508 Fix handling of uncompressed blocks on squashfs and break 4G limit.
11509
11510 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
11511 unused flags.
11512 (grub_squash_inode): Add long_file and block_size.
11513 (grub_squash_cache_inode): New struct.
11514 (grub_squash_dirent): Make types into enum.
11515 (SQUASH_TYPE_LONG_REGULAR): New type.
11516 (grub_squash_frag_desc): Add field size.
11517 (SQUASH_BLOCK_FLAGS): New enum.
11518 (grub_squash_data): Use grub_squash_cache_inode.
11519 (grub_fshelp_node): Make ino_chunk 64-bit.
11520 (read_chunk): Minor argument change. All users updated.
11521 (squash_mount): Use correct le_to_cpu.
11522 (grub_squash_open): Handle LONG_REGULAR.
11523 (direct_read): New function.
11524 (grub_squash_read_data): Handle blocks correctly.
11525
9f326fba
VS
115262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11527
11528 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
11529
f4d9b64b
VS
115302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
11533
5bbd28b8
VS
115342011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 Fix 2G limit on ZFS.
11537
11538 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
11539 types.
11540 (uberblock_verify): Likewise.
11541 (dmu_read): Likewise.
11542 (grub_zfs_read): Likewise. Remove invalid cast.
11543
68c72069
VS
115442011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11545
11546 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
11547 (grub_jfs_blkno): Fix incorrect shift.
11548 (grub_jfs_read_file): Use more appropriate types.
11549
6e536dc8
VS
115502011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 Support triple indirect on minix2 and minix3.
11553
11554 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
11555 Declare triple_indir_zone.
11556 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
11557 indirect.
11558
e0864e7a
VS
115592011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11560
11561 Minix FS fixes.
11562
11563 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
11564 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
11565 Rename ctime to mtime. All users updated.
11566 (grub_minix_get_file_block): Fix types and double indirect computations.
11567
89481cab
VS
115682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11569
11570 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
11571 if no label is found.
11572 (grub_fat_iterate_dir): Fix file size type.
11573 (grub_fat_iterate_dir): Likewise.
11574
f646e143
VS
115752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
11578 save some space.
11579 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
11580 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11581
534d769e
VS
115822011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
11585
e084ba18
VS
115862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11587
11588 * util/import_gcry.py: Accept space between # and include.
11589
3471ecdf
VS
115902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
11593
124df5f6
VS
115942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 Fine grainely disable warnings on lexer. Remove Wno-error on it.
11597
11598 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
11599 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
11600 yylex_strncpy.
11601 * grub-core/script/yylex.l: Add fine-grained #pragma.
11602
4defb8d5
VS
116032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11604
11605 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
11606 New inline function.
11607 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
11608 Likewise.
11609 (memset) [GRUB_UTIL]: Likewise.
11610 (memcmp) [GRUB_UTIL]: Likewise.
11611
4e94ae65
VS
116122011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
11615 inline function rather than a define.
11616
18c575e5
VS
116172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 * util/grub-setup.c: Add missing include.
11620
f8bc22a8
VS
116212011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * util/ieee1275/grub-ofpathname.c: Add missing include.
11624
3ce69fc9
VS
116252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
11628 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
11629 Likewise.
11630
d1e293bb
VS
116312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
11634 grub_memcmp usage.
11635
7a5c54a4
VS
116362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11637
11638 * util/grub-install.in: Add datarootdir as per automake manual
11639 suggestion.
11640 * util/grub-mknetdir.in: Likewise.
11641
116422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
11643
11644 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
11645 suggestion.
11646 * util/grub.d/10_kfreebsd.in: Likewise.
11647 * util/grub.d/10_linux.in: Likewise.
11648 * util/grub.d/10_netbsd.in: Likewise.
11649 * util/grub.d/10_windows.in: Likewise.
11650 * util/grub.d/20_linux_xen.in: Likewise.
11651
766f7d08
VS
116522011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 Remove redundant grub_kernel_image_size.
11655
11656 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
11657 _edata and _start.
11658 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
11659 the small code. It moves it only by few bytes but simplifies the code.
11660 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
11661 _start.
11662 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
11663 (grub_kernel_image_size): Removed.
11664 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
11665 (grub_kernel_image_size): Removed.
11666 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
11667 compiled with Apple toolchain.
11668 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
11669 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
11670 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
11671 (grub_total_module_size): Likewise.
11672 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
11673 Removed.
11674 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
11675 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
11676 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11677 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
11678 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
11679 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
11680 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
11681 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
11682 Removed.
11683 (grub_total_module_size): Removed.
11684 * util/grub-mkimage.c (image_target_desc): Remove image_size.
11685 (image_targets): Likewise.
11686 Set .compressed_size to no field on sparc.
11687 (generate_image): Remove kernel_image_size handling.
11688
fcf1d672
SJ
116892011-10-19 Szymon Janc <szymon@janc.net.pl>
11690
11691 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
11692 NULL pointer dereference.
11693
de9c615e
VS
116942011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11695
11696 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
11697 done with a dedicated section.
11698
11699 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
11700 Ensure the correct position of boot_path.
11701 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
11702 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
11703 other fields.
11704 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
11705 * include/grub/boot.h: Removed. All references removed.
11706 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
11707 Removed.
11708 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
11709
e55599dc
VS
117102011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
11713 name.
11714
36dd20ad
VS
117152011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
11718
f8f72eb8
VS
117192011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11720
11721 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11722 Don't add the bogus brackets.
11723
a374751b
VS
117242011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 ExFAT support.
11727
11728 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
11729 * grub-core/Makefile.core.def (exfat): New module.
11730 * grub-core/fs/exfat.c: New file.
11731 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
11732 (GRUB_FAT_ATTR_*): Make into an enum.
11733 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
11734 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
11735 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
11736 (GRUB_FAT_MAXFILE): Removed.
11737 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
11738 (grub_current_fat_bpb_t): New type.
11739 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
11740 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
11741 (grub_fat_dir_node_t): New type.
11742 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
11743 (fat_log2) [MODE_EXFAT]: Removed.
11744 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
11745 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
11746 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
11747 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
11748 (grub_fat_label) [MODE_EXFAT]: New function.
11749 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
11750 reserved_first_sector to 0.
11751
544c2487
VS
117522011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 Move grub_reboot out of the kernel.
11755
11756 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
11757 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
11758 * grub-core/lib/efi/reboot.c: ... here.
11759 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
11760 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
11761 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
11762 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
11763 * grub-core/lib/i386/reboot_trampoline.S: ... here.
11764 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
11765 * grub-core/lib/ieee1275/reboot.c: ... here.
11766 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
11767 * grub-core/lib/mips/arc/reboot.c: ... here.
11768 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
11769 * grub-core/lib/mips/loongson/reboot.c: ...here.
11770 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
11771 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
11772 * include/grub/emu/misc.h (grub_reboot): New function declaration.
11773 * include/grub/i386/reboot.h: New file.
11774 * include/grub/mips/loongson/ec.h: Fix includes.
11775 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
11776 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
11777 * grub-core/lib/i386/reboot.c: New file.
11778
a97501d2
VS
117792011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 Make grub_prefix into module to fix the arbitrary limit and save
11782 some space.
11783
11784 * grub-core/kern/emu/main.c (grub_prefix): Removed.
11785 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
11786 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
11787 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
11788 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
11789 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
11790 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
11791 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
11792 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11793 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
11794 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
11795 * include/grub/ia64/efi/kernel.h: Removed.
11796 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
11797 (grub_prefix): Removed.
11798 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
11799 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
11800 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
11801 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
11802 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
11803 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
11804 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
11805 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
11806 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
11807 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
11808 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11809 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11810 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11811 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11812 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
11813 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
11814 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
11815 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11816 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
11817 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
11818 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
11819 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
11820 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
11821 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
11822 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
11823 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
11824 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
11825 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
11826 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
11827 from module.
11828 * util/grub-mkimage.c (image_target_desc): Removed prefix and
11829 prefix_end.
11830 (image_targets): Likewise.
11831 (generate_image): Put prefix as a module.
11832
39705fad
VS
118332011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 Replace grub_module_iterate with FOR_MODULES.
11836
11837 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
11838 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
11839 (grub_efi_modules_addr): ...this.
11840 * grub-core/kern/efi/init.c (grub_modbase): New variable.
11841 (grub_efi_init): Set grub_modbase.
11842 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
11843 (grub_modbase): New variable.
11844 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
11845 (grub_modbase): New variable.
11846 (grub_machine_init): Set grub_modbase.
11847 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
11848 (grub_modbase): New variable.
11849 (grub_machine_init): Set grub_modbase.
11850 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
11851 (grub_modbase): New variable.
11852 (grub_machine_init): Set grub_modbase.
11853 * grub-core/kern/main.c (grub_module_iterate): Remove.
11854 (grub_modules_get_end): Use grub_modbase.
11855 (grub_load_modules): Use FOR_MODULES.
11856 (grub_load_config): Likewise.
11857 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
11858 (grub_modbase): New variable.
11859 (grub_machine_init): Set grub_modbase.
11860 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
11861 (grub_modbase): New variable.
11862 (grub_machine_init): Set grub_modbase.
11863 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
11864 Removed.
11865 (grub_modbase): New variable.
11866 (grub_machine_init): Set grub_modbase.
11867 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
11868 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
11869 (grub_module_iterate): Likewise.
11870 (grub_modbase): New variable declaration.
11871 (FOR_MODULES): New macro.
11872
2afb7f6c
VS
118732011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11874
11875 * configure.ac: Check for __ctzdi2 and __ctzsi2.
11876 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
11877
366e34fa
VS
118782011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11879
11880 Fix few obvious type discrepancies.
11881
11882 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
11883 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
11884 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
11885 variable.
11886 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
11887 and connected types.
11888 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
11889 offset.
11890 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
11891 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
11892 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
11893 and connected types.
11894
177b960e
VS
118952011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 Fix python 3.x incompatibilities.
11898
11899 * gentpl.py: Put brackets around print strings.
11900 * util/import_gcry.py: Open explicitly as utf-8.
11901 Use in instead of has_key.
11902
3b619ae1
VS
119032011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11904
11905 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
11906 (GRUB_XFS_INO_AGBITS): Make into inline function.
11907 (GRUB_XFS_INO_INOINAG): Likewise.
11908 (GRUB_XFS_INO_AG): Likewise.
11909 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
11910 (GRUB_XFS_EXTENT_OFFSET): Likewise.
11911 (GRUB_XFS_EXTENT_BLOCK): Likewise.
11912 (GRUB_XFS_EXTENT_SIZE): Likewise.
11913 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
11914 (GRUB_XFS_NEXT_DIRENT): Likewise.
11915 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
11916 (grub_xfs_read_file): Fix offset type.
11917
8bcebcb8
RM
119182011-10-15 Robert Millan <rmh@gnu.org>
11919
11920 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
11921
0017e5ef
RM
119222011-10-15 Robert Millan <rmh@gnu.org>
11923
11924 Fix build problem on FreeBSD and GNU/kFreeBSD.
11925
11926 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
11927
d8919552
VS
119282011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11929
11930 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
11931
11932 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
11933 types.
11934 (grub_hfsplus_btree_recoffset): Likewise.
11935 (grub_hfsplus_btree_recptr): Likewise.
11936 (grub_hfsplus_find_block): Likewise.
11937 (grub_hfsplus_btree_search): Likewise.
11938 (grub_hfsplus_read_block): Likewise.
11939 (grub_hfsplus_read_file): Likewise.
11940 (grub_hfsplus_mount): Likewise.
11941 (grub_hfsplus_btree_iterate_node): Likewise.
11942 (grub_hfsplus_btree_search): Likewise.
11943 (grub_hfsplus_iterate_dir): Likewise.
11944 (grub_hfsplus_read): A small code simplification.
11945
c81296b6
VS
119462011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11947
11948 * grub-core/kern/emu/hostdisk.c
11949 (convert_system_partition_to_system_disk): Don't assume that children
11950 of mapper nodes are mapper nodes.
11951
0eb8ffb1
VS
119522011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11953
11954 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
11955 * include/grub/misc.h (grub_isxdigit): New function.
11956 * grub-core/video/colors.c (my_isxdigit): Removed. All users
11957 switched to grub_isxdigit.
11958 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
11959 number starting with a letter.
11960
a98f4a08
RM
119612011-10-09 Robert Millan <rmh@gnu.org>
11962
11963 LVM support for FreeBSD and GNU/kFreeBSD.
11964
11965 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
11966 GNU/kFreeBSD.
11967 (LVM_DEV_MAPPER_STRING): Move from here ...
11968 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
11969 * util/getroot.c: Include `<grub/util/lvm.h>'.
11970 (grub_util_get_dev_abstraction): Enable
11971 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
11972 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
11973 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
11974 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
11975 support it.
11976 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
11977 GNU/kFreeBSD.
11978 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
11979 when LVM abstraction is required for ${GRUB_DEVICE}.
11980
050e8e90
SJ
119812011-10-06 Szymon Janc <szymon@janc.net.pl>
11982
11983 Add support for LZO compression in GRUB:
11984 - import of minilzo library,
11985 - LZO decompression for btrfs,
11986 - lzop files decompression.
11987
11988 * grub-core/io/lzopio.c: New file.
11989 * grub-core/lib/adler32.c: Likewise.
11990 * grub-core/lib/minilzo/lzoconf.h: Likewise.
11991 * grub-core/lib/minilzo/lzodefs.h: Likewise.
11992 * grub-core/lib/minilzo/minilzo.c: Likewise.
11993 * grub-core/lib/minilzo/minilzo.h: Likewise.
11994 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
11995 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
11996 grub-core/lib/minilzo/minilzo.c to common.
11997 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
11998 cflags in cppflags.
11999 * grub-core/Makefile.core.def (btrfs): Likewise.
12000 * grub-core/Makefile.core.def (lzopio): New module.
12001 (adler32): Likewise.
12002 * grub-core/fs/btrfs.c: Include minilzo.h.
12003 (GRUB_BTRFS_COMPRESSION_LZO): New define.
12004 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
12005 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
12006 (grub_btrfs_lzo_decompress): New function.
12007 (grub_btrfs_extent_read): Add support for LZO compression type.
12008 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
12009 (GRUB_USHRT_MAX): Likewise.
12010 (GRUB_UINT_MAX): Likewise.
12011 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
12012 (UINT_MAX): Likewise.
12013 (CHAR_BIT): Likewise.
12014 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
12015 grub-core/lib/posix_wrap/limits.h
12016 (UCHAR_MAX): Likewise.
12017 * include/grub/file.h (grub_file_filter_id): New compression filter
12018 GRUB_FILE_FILTER_LZOPIO.
12019 * include/grub/file.h (grub_file_filter_id): Set
12020 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
12021 * include/grub/types.h (grub_get_unaligned16): New function.
12022 (grub_get_unaligned32): Likewise.
12023 (grub_get_unaligned64): Likewise.
12024 * util/import_gcry.py (cryptolist): Add adler32.
12025
0eb8ffb1
VS
120262011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
12027
12028 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
12029 in perspective decreases the complexity of build system and fixes
12030 compilation right now.
12031
ce79cc99 120322011-10-01 Ales Nesrsta <starous@volny.cz>
12033
12034 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
12035 (fixed problem related to using UHCI with coreboot).
12036
8667a314
BC
120372011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12038
12039 * gentpl.py: Use Autogen macros so that the output template file
12040 (Makefile.tpl) size is reduced.
12041
fc5efcc0
MK
120422011-09-29 Mads Kiilerich <mads@kiilerich.com>
12043
12044 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
12045 extra_dist.
12046
d1ab689d
ML
120472011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12048
12049 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
12050 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
12051
c05de032
ML
120522011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12053
12054 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
12055 _fullpath.
12056
cca7ccd8
ML
120572011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12058
12059 Remove extra declaration of sleep for mingw32.
12060
12061 * util/misc.c (sleep) [__MINGW32__]: Removed.
12062 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
12063
e0b0dc83
GS
120642011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
12065
12066 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
12067 type and packname.
12068 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
12069 Resurrected.
12070 (NETBSD_BTINFO_BOOTWEDGE): New definition.
12071 (grub_netbsd_btinfo_bootwedge): New struct.
12072 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12073 New function.
12074 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
12075
91a1a164
TH
120762011-09-28 Thomas Haller <thomas.haller@fen-net.de>
12077
12078 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
12079 loader.
12080
2ded951e
AB
120812011-09-28 Andreas Born <futur.andy@googlemail.com>
12082
12083 Fix incorrect identifiers in bash-completion.
12084
12085 * util/bash-completion.d/grub-completion.bash.in
12086 (_grub_mkpasswd-pbkdf2): Rename to ...
12087 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
12088 (_grub_script-check): Rename to ...
12089 (_grub_script_check): ... this. All users updated.
12090
69915030
VS
120912011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
12092
12093 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12094 Return 0 if disk isn't biosdisk.
12095
20fd15f9
GS
120962011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12097
12098 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
12099 on NetBSD.
12100 * Makefile.util.def (grub-fstest): Likewise.
12101
1a7d7db9
GS
121022011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12103
12104 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
12105 Get sector size from disk label.
12106
2221ab6c
CW
121072011-09-05 Colin Watson <cjwatson@ubuntu.com>
12108
12109 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
12110 */README* as well as README*.
12111 Reported by: Axel Beckert.
12112
ca51c4a0
VS
121132011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12114
12115 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
12116 case of less than 256 MiB of RAM.
12117
ab80f326
VS
121182011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12119
12120 * grub-core/commands/wildcard.c (make_regex): Handle @.
12121
4155e697
VS
121222011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12123
12124 * util/grub-install.in: Move cryptodisk logic to appropriate place.
12125
ab178c08
SJ
121262011-08-21 Szymon Janc <szymon@janc.net.pl>
12127
12128 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
12129 AC_LANG_CONFTEST macros.
12130
7dc3c686
SJ
121312011-08-20 Szymon Janc <szymon@janc.net.pl>
12132
12133 Add grub-fstest option to uncompress data for commands.
12134
12135 * util/grub-fstest.c (uncompress): New var.
12136 (options): New option -u.
12137
fe8d4a7b
SJ
121382011-08-20 Szymon Janc <szymon@janc.net.pl>
12139
12140 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
12141 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
12142
a5219af1
SJ
121432011-08-20 Szymon Janc <szymon@janc.net.pl>
12144
12145 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
12146 file type was not recognized correctly (not gzip or corrupted).
12147
f87abff5
VS
121482011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
12151 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
12152
d94497ea
VS
121532011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12154
12155 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
12156 loongson.
12157 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12158 video_radeon_fuloong2e.
12159 * grub-core/video/radeon_fuloong2e.c: New file.
12160 * include/grub/video.h (grub_video_id_t): Add new ID
12161 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
12162
0d1fd011
VS
121632011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12164
12165 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
12166 define.
12167 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
12168 that PRID matches the detected subplatform and reset the subplatform
12169 if it doesn't.
12170
84beb0ee
VS
121712011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12172
12173 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
12174
1227c133
VS
121752011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 Fix PCI iterating on functions >= 4.
12178
12179 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
12180 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
12181 Removed.
12182 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
12183 (grub_pci_read): Fix bitmask.
12184 (grub_pci_read_word): Likewise.
12185 (grub_pci_read_byte): Likewise.
12186 (grub_pci_write): Likewise.
12187 (grub_pci_write_word): Likewise.
12188 (grub_pci_write_byte): Likewise.
12189
9594c689
VS
121902011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
12193 can still be specified in TARGET_CFLAGS)
12194
14a2562c
VS
121952011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
12198
12199 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
12200 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
12201 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
12202 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
12203 (FULOONG): Rename to ...
12204 (FULOONG2F): ... this. All users updated.
12205 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
12206 (machtype_fuloong2f_str): ... this.
12207 (machtype_fuloong2e_str): New string.
12208 Check for machtype_fuloong2e_str.
12209 * grub-core/loader/mips/linux.c (loongson_machtypes)
12210 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
12211 * grub-core/term/serial.c (loongson_defserial)
12212 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
12213 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
12214 loongson_defserial.
12215 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
12216 Rename to ...
12217 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
12218 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
12219 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
12220 to IMAGE_FULOONG2F_FLASH. All users updated.
12221 (image_targets): Rename images.
12222 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
12223
b526cbb6
SJ
122242011-08-19 Szymon Janc <szymon@janc.net.pl>
12225
12226 Make enable of disk cache statistics code configurable.
12227
12228 * configure.ac: --enable-cache-stats added.
12229 * config.h.in (DISK_CACHE_STATS): New define.
12230 * grub-core/Makefile.core.def (cacheinfo): New command.
12231 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
12232 * grub-core/commands/cacheinfo.c: New file.
12233 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
12234 moved to cacheinfo.c.
12235 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
12236 debug code.
12237 * include/grub/disk.h: Likewise.
12238
fb739ccd
SJ
122392011-08-19 Szymon Janc <szymon@janc.net.pl>
12240
12241 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
12242 * grub-core/Makefile.am: Likewise.
12243
2bba8cfd
VS
122442011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12245
12246 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
12247 non-zero pull.
12248
43526629
VS
122492011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
12252 All users updated.
12253 (grub_jfs_lookup_symlink): Use correct starting inode.
12254
5c144cc8
VS
122552011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 * util/grub-setup.c (main): Add missing gcry initialisation.
12258
b1257f65
VS
122592011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 Don't accept text modes on EFI when booting Linux.
12262
12263 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
12264 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
12265
828bc390
ML
122662011-08-15 Mario Limonciello <mario_limonciello@dell.com>
122672011-08-15 Colin Watson <cjwatson@ubuntu.com>
12268
12269 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
12270 use of "/path/.." as in grub-install for EFI as well as handling
12271 symlinks correctly.
12272 Fixes Debian bug #637768.
12273
5f60ccac
CW
122742011-08-15 Colin Watson <cjwatson@ubuntu.com>
12275
12276 * util/grub-probe.c: Remove duplicate #include.
12277
6dc212f9
RM
122782011-08-10 Robert Millan <rmh@gnu.org>
12279
12280 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
12281
12282 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
12283 function.
12284 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
12285 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
12286
66816d85
RM
122872011-08-03 Robert Millan <rmh@gnu.org>
12288
12289 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
12290 la_array as packed.
12291 Reported by: Zachary Bedell
12292
20168fca
CW
122932011-07-26 Colin Watson <cjwatson@ubuntu.com>
12294
12295 * configure.ac: The Loongson port requires grub-mkfont due to its
12296 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
12297 be built.
12298
303b6246
CW
122992011-07-26 Colin Watson <cjwatson@ubuntu.com>
12300
12301 * util/grub-install.in: Don't source grub-mkconfig_lib until after
12302 processing arguments (otherwise help2man fails when GRUB has not yet
12303 been installed).
12304
6795300e
VS
123052011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12306
41aa28ea
VS
12307 New script grub-mkstandalone.
12308
12309 * Makefile.util.def (grub-mkstandalone): New script.
12310 * docs/man/grub-mkstandalone.h2m: New file.
12311 * util/grub-mkstandalone.in: Likewise.
12312
123132011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 Support ATA disks with 4K sectors.
6795300e
VS
12316
12317 * include/grub/ata.h (grub_ata): New member log_sector_size.
12318 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
12319 (grub_ata_identify): Read sector size.
12320 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
12321
92227597
VS
123222011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12323
12324 * util/grub-install.in: Don't use uhci outside of x86.
12325
c77069f5
VS
123262011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 * util/grub-mkrescue.in: Add missing quotes.
12329
123302011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
12331
12332 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
12333 dereference.
12334
583168a2
VS
123352011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
12338
6be1c01f
VS
123392011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12340
12341 * include/grub/video.h: add missing EXPORT_FUND on
12342 grub_video_edid_checksum and grub_video_edid_preferred_mode.
12343
a1167439
VS
123442011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12345
12346 * include/grub/mips/kernel.h: Fix define conflict.
12347
bf66054f
VS
123482011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12349
12350 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
12351 all four ways.
12352
8fc4fa45
CW
123532011-07-21 Colin Watson <cjwatson@ubuntu.com>
12354
12355 Preferred resolution detection for VBE.
12356
12357 * grub-core/video/video.c (grub_video_edid_checksum): New function.
12358 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
12359 the Flat Panel extension, in line with the X.org VESA driver.
12360 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
12361 New function.
12362 (grub_vbe_bios_get_ddc_capabilities): Likewise.
12363 (grub_vbe_bios_read_edid): Likewise.
12364 (grub_vbe_get_preferred_mode): Likewise.
12365 (grub_video_vbe_setup): When the mode is "auto", try to get the
12366 preferred mode from VBE, and use the largest mode that is no larger
12367 than the preferred mode (some BIOSes expose a preferred mode that is
12368 not in their mode list!). If this fails, fall back to 640x480 as a
12369 safe conservative choice.
12370 (grub_video_vbe_get_edid): New function.
12371 (grub_video_vbe_adapter): Add get_edid.
12372 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
12373 (struct grub_video_adapter): Add get_edid.
12374 (grub_video_edid_checksum): Add prototype.
12375 (grub_video_edid_preferred_mode): Likewise.
12376 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
12377 structure.
12378
12379 * grub-core/commands/videoinfo.c (print_edid): New function.
12380 (grub_cmd_videoinfo): Print EDID if available.
12381
12382 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
12383 is more appropriate on a wider range of platforms than 640x480.
12384 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
12385 documentation.
12386
ca5572a9
VS
123872011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12388
12389 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
12390
e4bcf625
VS
123912011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 * po/POTFILES.in: Regenerate.
12394
c4edd548
VS
123952011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
12398 incorrect memory usage.
12399
16a2bab0
VS
124002011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 * util/grub-install.in: Source grub-mkconfig_lib.
12403
2e418de6
VS
124042011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
12405
12406 Remove getroot.c from core on emu platform.
12407
12408 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
12409 kern/emu/raid.c.
12410 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
12411 useless.
12412 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
12413 * util/getroot.c (get_win32_path): ... here.
12414 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
12415 * util/getroot.c (fini_libzfs): ... here.
12416 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
12417 * util/getroot.c (grub_get_libzfs_handle): ... here.
12418 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
12419 Moved from here...
12420 * util/getroot.c (grub_find_zpool_from_dir): ... here.
12421 * grub-core/kern/emu/misc.c
12422 (grub_make_system_path_relative_to_its_root): Moved from here...
12423 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
12424 * grub-core/kern/emu/getroot.c: Moved from here ...
12425 * util/getroot.c: ... here. All users updated.
12426 * grub-core/kern/emu/raid.c: Moved from here ...
12427 * util/raid.c: ... here. All users updated.
12428
def9832a
VS
124292011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 * po/POTFILES.in: Regenerate.
12432
cd8fe79a
VS
124332011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12434
12435 Fix compilation on GNU/Linux.
12436
12437 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
12438 Disable geli.
12439 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
12440 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
12441 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
12442
a251b719
VS
124432011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
124442011-07-07 Michael Gorven <michael@gorven.za.net>
124452011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
12446
12447 LUKS and GELI support.
12448
12449 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
12450 grub-core/disk/luks.c, grub-core/disk/geli.c,
12451 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
12452 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
12453 grub-core/lib/arg.c.
12454 (libgrubmods.a): Remove gcrypts cflags and cppflags.
12455 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
12456 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
12457 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
12458 (grub-bin2h): Add libgcry.a.
12459 (grub-mkimage): Likewise.
12460 (grub-mkrelpath): Likewise.
12461 (grub-script-check): Likewise.
12462 (grub-editenv): Likewise.
12463 (grub-mkpasswd-pbkdf2): Likewise.
12464 (grub-pe2elf): Likewise.
12465 (grub-fstest): Likewise.
12466 (grub-mkfont): Likewise.
12467 (grub-mkdevicemap): Likewise.
12468 (grub-probe): Likewise.
12469 (grub-ofpath): Likewise.
12470 (grub-mklayout): Likewise.
12471 (example_unit_test): Likewise.
12472 (grub-menulst2cfg): Likewise.
12473 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
12474 * grub-core/Makefile.core.def (cryptodisk): New module.
12475 (luks): Likewise.
12476 (geli): Likewise.
12477 * grub-core/disk/AFSplitter.c: New file.
12478 * grub-core/disk/cryptodisk.c: Likewise.
12479 * grub-core/disk/geli.c: Likewise.
12480 * grub-core/disk/luks.c: Likewise.
12481 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
12482 grub_util_is_lvm.
12483 (grub_util_get_dm_abstraction): New function.
12484 (grub_util_follow_gpart_up): Likewise.
12485 (grub_util_get_geom_abstraction): Likewise.
12486 (grub_util_get_dev_abstraction): Use new functions.
12487 (grub_util_pull_device): Pull GELI and LUKS.
12488 (grub_util_get_grub_dev): Handle LUKS and GELI.
12489 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
12490 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
12491 (follow_geom_up): Removed.
12492 (grub_util_fd_seek): New function.
12493 (open_device): Use grub_util_fd_seek.
12494 (nread): Rename to ..
12495 (grub_util_fd_read): ... this. All users updated.
12496 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
12497 (grub_crypto_cbc_decrypt): Likewise.
12498 (grub_crypto_hmac_write): Likewise.
12499 (grub_crypto_hmac_buffer): Likewise.
12500 (grub_password_get): Extend to util.
12501 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
12502 New member modname.
12503 (gcry_md_spec) [GRUB_UTIL]: Likewise.
12504 * include/grub/cryptodisk.h: New file.
12505 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
12506 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
12507 LUKS and GELI.
12508 (grub_util_follow_gpart_up): New proto.
12509 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
12510 (grub_util_fd_read): Likewise.
12511 (grub_cryptodisk_cheat_mount): Likewise.
12512 (grub_util_cryptodisk_print_uuid): Likewise.
12513 (grub_util_get_fd_sectors): Likewise.
12514 * util/grub-fstest.c (mount_crypt): New var.
12515 (fstest): Mount crypto if requested.
12516 (options): New option -C.
12517 (argp_parser): Parse -C.
12518 (main): Init and fini gcry.
12519 * util/grub-install.in: Support cryptodisk install.
12520 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
12521 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
12522 cryptodisk.
12523 (prepare_grub_to_access_device): Likewise.
12524 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
12525 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
12526 (probe_cryptodisk_uuid): New function.
12527 (probe_abstraction): Likewise.
12528 (probe): Use new functions.
12529 * util/import_gcry.py: Create Makefile.utilgcry.def.
12530 Add modname member.
12531
9bfdcbbc
VS
125322011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 Lazy device scanning.
12535
12536 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
12537 (grub-setup): Remove util/raid.c.
12538 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
12539 * grub-core/disk/lvm.c (scan_depth): New variable.
12540 (grub_lvm_iterate): Rescan if necessary.
12541 (find_lv): New function based on grub_lvm_open.
12542 (grub_lvm_open): Use find_lv. Rescan on error.
12543 (is_node_readable): New function.
12544 (is_lv_readable): Likewise.
12545 (grub_lvm_scan_device): Skip already found disks.
12546 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
12547 Stop if searched device is found and readable.
12548 * grub-core/disk/raid.c (inscnt): New variable.
12549 (scan_depth): Likewise.
12550 (scan_devices): New function based on grub_raid_register. Abort if
12551 looked for device is found.
12552 (grub_raid_iterate): Rescan if needed.
12553 (find_array): NEw function based on -grub_raid_open.
12554 (grub_raid_open): Use find_array and rescan.
12555 (insert_array): Set became_readable_at.
12556 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
12557 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
12558 New function.
12559 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
12560 (grub_util_pull_device): New function.
12561 (grub_util_get_grub_dev): Call grub_util_pull_device.
12562 * util/raid.c: Moved to ..
12563 * grub-core/kern/emu/raid.c: ... here.
12564 (grub_util_raid_getmembers): New parameter "bootable".
12565 All users updated. Support 1.x.
12566 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
12567 All users updated.
12568 * include/grub/disk.h (grub_disk_pull_t): New enum.
12569 (grub_disk_dev): Change iterate prototype.
12570 All users updated.
12571 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
12572 New proto.
12573 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
12574 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
12575 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
12576 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
12577 All users updated.
12578 * include/grub/util/raid.h: Removed.
12579
1c358e59
VS
125802011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
12581
12582 * po/POTFILES.in: Regenerate.
12583
abee94ed
VS
125842011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
12585
12586 Unify sparc init with other ieee1275.
12587
12588 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
12589 instead of kern/sparc64/ieee1275/init.c.
12590 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
12591 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
12592 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
12593 grub/machine/kernel.h.
12594 (grub_ieee1275_original_stack) [__sparc__]: New variable.
12595 (grub_claim_heap) [__sparc__]: Use sparc version.
12596 (grub_machine_init): Moved args parsing to
12597 (grub_parse_cmdline): ...this.
12598 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
12599 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
12600 New definition.
12601 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
12602
12603 Move BOOTP to separate file.
12604
12605 * grub-core/Makefile.core.def (net): Add net/bootp.c.
12606 * grub-core/net/net.c: Move all BOOTP functions to
12607 * grub-core/net/bootp.c: ... here.
12608
12609 Use frame interface on PXE.
12610
12611 * grub-core/Makefile.core.def (pxecmd): Removed.
12612 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
12613 * grub-core/commands/i386/pc/pxecmd.c: Removed.
12614 * grub-core/i386/pc/pxe.c: Moved from here ...
12615 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
12616 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
12617 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
12618
12619 EFI network support.
12620
12621 * grub-core/Makefile.core.def (efinet): New module.
12622 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
12623 here...
12624 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
12625 All users updated.
12626 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
12627 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
12628 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
12629 * grub-core/net/drivers/efi/efinet.c: New file.
12630 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
12631 (grub_efi_net_config): New extern var.
12632
12633 Various cleanups and bugfixes.
12634
12635 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
12636 error.
12637 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
12638 disk declared as partition.
12639 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
12640 leak on failure.
12641 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
12642 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
12643 (grub_debug_zalloc): Likewise.
12644 (grub_debug_realloc): Likewise.
12645 (grub_debug_memalign): Likewise.
12646 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
12647 Check that target is IPv4.
12648 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
12649 local-mac-address as fallback.
12650 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
12651 memory leak.
12652 * grub-core/net/ip.c (ipchksum): Rename to ...
12653 (grub_net_ip_chksum): ... this. All users updated.
12654 (grub_net_recv_ip_packets): Special handling for DHCP.
12655 * util/grub-mkimage.c (generate_image): Zero-out aout header.
12656
12657 Unify prefix handling
12658
12659 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
12660 (grub_machine_get_bootlocation): ... this.
12661 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
12662 (grub_machine_get_bootlocation): ... this.
12663 (grub_prefix): New variable.
12664 (prefix): Removed.
12665 (root_dev): New variable.
12666 (dir): Likewise.
12667 (main): Use new variables.
12668 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
12669 Revamped into ...
12670 (grub_machine_get_bootlocation): ... this.
12671 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
12672 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
12673 (grub_machine_get_bootlocation): ... this.
12674 (grub_machine_set_prefix): Removed.
12675 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
12676 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
12677 Revamped into ...
12678 (grub_machine_get_bootlocation): ... this.
12679 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
12680 (grub_set_prefix_and_root): ... this. All users updated.
12681 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
12682 Revamped into ...
12683 (grub_machine_get_bootlocation): ... this.
12684 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
12685 (grub_machine_get_bootlocation): New proto.
12686 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
12687
12688 Less intrusive and more reliable seek on network implementation.
12689
12690 * grub-core/kern/file.c (grub_file_net_seek): Removed.
12691 (grub_file_seek): Don't call grub_file_net_seek.
12692 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
12693 (grub_net_fs_read_real): .. this.
12694 (grub_net_seek_real): Use net->offset.
12695 (grub_net_fs_read): Seek if necessary.
12696
12697 Unify IEEE1275 netwotk config with the other platforms.
12698
12699 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
12700 New variable.
12701 (grub_machine_get_bootlocation): Support network.
12702 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12703 Support type and device parsing.
12704 (grub_ieee1275_get_device_type): New function.
12705 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
12706 into ...
12707 (grub_ieee1275_net_config_real): ... this.
12708 (grub_ofnet_probecards): Removed.
12709 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
12710 * include/grub/ieee1275/ofnet.h: Removed.
12711 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
12712 extern var.
12713 (grub_ieee1275_get_device_type): New function.
12714
12715 Unify network device closing across platforms and make more robust.
12716
12717 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
12718 grub_grubnet_fini.
12719 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
12720 already.
12721 * grub-core/net/net.c (grub_net_network_level_interface_register):
12722 Update num_ifaces.
12723 (grub_net_card_unregister): Close all interfaces.
12724 (receive_packets): Don't poll if no iterfaces are registered.
12725 Open if necessary.
12726 (grub_net_fini_hw): New function.
12727 (grub_net_restore_hw): Likewise.
12728 (fini_hnd): New variable.
12729 (GRUB_MOD_INIT): Register preboot hook.
12730 (GRUB_MOD_FINI): Run and unregister preboot hook.
12731
12732 Poll network cards when idle.
12733
12734 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
12735 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
12736 * grub-core/net/net.c (receive_packets): Save last poll time.
12737 (grub_net_poll_cards_idle_real): New function.
12738 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
12739 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
12740 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
12741
12742 Rename ofnet interfaces.
12743
12744 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
12745 (grub_ofnet_findcards): Use ofnet_%s names.
12746
12747 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
12748
12749 Cleanup socket opening.
12750
12751 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
12752 (grub_net_fs_close): Likewise.
12753 (grub_net_fs_read_real): Use eof member.
12754 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
12755 (+grub_net_udp_close): New inline function.
12756
12757 * include/grub/net/tftp.h: Moved to the top of ...
12758 * grub-core/net/tftp.c: ... here.
12759 * include/grub/net/ip.h: Moved mostly to the top of ...
12760 * grub-core/net/ip.c: ... here.
12761 * include/grub/net/ethernet.h: Moved mostly to the top of ...
12762 * grub-core/net/ethernet.c: ... here.
12763
12764 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
12765
12766 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
12767 FS name.
12768
12769 * include/grub/net/ip.h (ipv4_ini): Removed.
12770 (ipv4_fini): Likewise.
12771
12772 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
12773 (grub_net_send_ip_packets): Likewise.
12774
cf1337aa
VS
127752011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12776
12777 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
12778 grub_read_cmos prototype.
12779
93c06ff9
VS
127802011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12781
12782 VGA text support in qemu-mips
12783
12784 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
12785 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
12786 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
12787 text.
12788 * grub-core/kern/i386/qemu/init.c: Renamed to ...
12789 * grub-core/kern/vga_init.c: ... this.
12790 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
12791 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
12792 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
12793 Adjust.
12794 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
12795 GRUB_MACHINE_PCI_IO_BASE.
12796
748ccabe
VS
127972011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12798
12799 MIPS qemu flash support.
12800
12801 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
12802 magic.
12803 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
12804 (grub_machine_init): Probe memory if its size isn't known.
12805 * util/grub-mkimage.c (image_targets): Add flash targets.
12806 (generate_image): Handle flash targets.
12807
d7345994
VS
128082011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 MIPS qemu at_keyboard support.
12811
12812 * gentpl.py (videoinkernel): Add qemu-mips.
12813 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
12814 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
12815 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
12816 modules.
12817 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
12818 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
12819 * grub-core/term/serial.c (grub_serial_register)
12820 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
12821
a07a81b3
VS
128222011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 CMOS support on sparc.
12825
12826 * gentpl.py (cmos): Add powerpc and sparc.
12827 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
12828 powerpc and sparc.
12829 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
12830 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
12831 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
12832 grub_set_datetime_cmos.
12833 * grub-core/lib/ieee1275/cmos.c: New file.
12834 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
12835 (find_rtc): Set no_ieee1275_rtc on error.
12836 (grub_get_datetime): Call grub_get_datetime_cmos on error.
12837 (grub_set_datetime): Call grub_set_datetime_cmos on error.
12838 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
12839 fail. Move value to argument. All users updated
12840 (grub_cmos_write): Likewise.
12841 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
12842 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
12843 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
12844 grub_get_datetime_cmos and grub_set_datetime_cmos.
12845
77546584
GS
128462011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
12847
12848 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
12849 sourcing grub-mkconfig_lib.
12850 * util/update-grub_lib.in: Likewise.
12851 * util/grub.d/00_header.in: Likewise.
12852 * util/grub.d/10_hurd.in: Likewise.
12853 * util/grub.d/10_kfreebsd.in: Likewise.
12854 * util/grub.d/10_linux.in: Likewise.
12855 * util/grub.d/10_netbsd.in: Likewise.
12856 * util/grub.d/10_windows.in: Likewise.
12857 * util/grub.d/20_linux_xen.in: Likewise.
12858 * util/grub.d/30_os-prober.in: Likewise.
12859
54894791
CW
128602011-06-28 Colin Watson <cjwatson@ubuntu.com>
12861
12862 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
12863 default_bg_color rather than black.
12864 (grub_gfxterm_fullscreen): Likewise.
12865 (grub_gfxterm_background_color_cmd): Save new background color in
12866 default_bg_color.
12867
8d5d8444
VS
128682011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12869
12870 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
12871
5afeb5bd
VS
128722011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12873
12874 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
12875 mismerge.
12876
ba7df45e
VS
128772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12878
12879 Chainloading on coreboot support.
12880
12881 * grub-core/Makefile.core.def (chain): Add coreboot.
12882 * grub-core/loader/i386/coreboot/chainloader.c: New file.
12883
d0b526b2
VS
128842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12885
12886 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
12887 if it happens.
12888
5ff1d945
VS
128892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12890
12891 Implement time command.
12892
12893 * grub-core/Makefile.core.def (time): New module.
12894 * grub-core/commands/time.c: New file.
12895 * grub-core/script/parser.y: Remove "time" keyword.
12896 * grub-core/script/yylex.l: Likewise.
12897
5ebaad7e
VS
128982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12899
12900 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
12901
bdea3798
VS
129022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12903
12904 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
12905 when handling leftovers.
12906
b28c5655
VS
129072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12908
12909 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
12910 so that help2man doesn't fail.
12911
b6f945dc
VS
129122011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12913
12914 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
12915 type in pointers on sparc64.
12916 (get_card_packet): Likewise.
12917
f9b75e8a
CW
129182011-06-27 Colin Watson <cjwatson@ubuntu.com>
12919
12920 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
12921 with `*'.
12922 (grub_cmd_videoinfo): Fetch current video mode.
12923
1e3d9b86
VS
129242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12925
12926 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
12927 because of underlying system restrictions.
12928
efff4b1c
VS
129292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12930
12931 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
12932 necessary.
12933
9fc9ce37
VS
129342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12935
12936 Coreboot video support.
12937
12938 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
12939 (vbe): Likewise.
12940 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
12941 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
12942 here ...
12943 * grub-core/kern/i386/int.S: ... here.
12944 * grub-core/video/i386/pc/vbe.c: Updated includes.
12945 * grub-core/video/i386/pc/vga.c: Likewise.
12946 * include/grub/i386/coreboot/memory.h
12947 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
12948 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
12949 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
12950 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
12951 Disable interrupts.
12952 * include/grub/i386/pc/vga.h: Removed. All users updated.
12953
41bec7fe
VS
129542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
12957 definitions for dprintf.
12958 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
12959
ca80309d
VS
129602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12961
12962 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
12963 prototype.
12964 (get_card_packet): Likewise.
12965
9e322ce8
YB
129662011-06-26 Yves Blusseau <blusseau@zetam.org>
12967
12968 Display the path of the file when file is not found
12969
12970 * grub-core/fs/fat.c: Display the filename when file is not found.
12971 * grub-core/fs/fshelp.c: Likewise.
12972 * grub-core/fs/hfs.c: Likewise.
12973 * grub-core/fs/jfs.c: Likewise.
12974 * grub-core/fs/minix.c: Likewise.
12975 * grub-core/fs/ufs.c: Likewise.
12976 * grub-core/fs/btrfs.c: Likewise.
12977 * grub-core/commands/i386/pc/play.c: Likewise.
12978
cbf597af
SJ
129792011-06-26 Szymon Janc <szymon@janc.net.pl>
12980
12981 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
12982 pointer checks before calling grub_free().
12983 * grub-core/commands/wildcard.c (match_devices): Likewise.
12984 * grub-core/commands/wildcard.c (match_files): Likewise.
12985 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
12986 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
12987 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
12988 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
12989 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
12990 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
12991 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
12992 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
12993 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
12994
6295b32f
P
129952011-06-25 Patrick <p55@mailinator.com>
12996
12997 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
12998
77c0840b
VS
129992011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
13000
13001 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
13002 (grub_pxe_send): Likewise.
13003 (GRUB_MOD_INIT): Fix types.
13004
40ea05de
SJ
130052011-06-24 Szymon Janc <szymon@janc.net.pl>
13006
13007 * grub-core/io/xzio.c: Fix code style issues
13008
90162423
MRA
130092011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
130102011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
13011
13012 Network infrastructure.
13013 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
13014
13015 * include/grub/net/arp.h: New file.
90162423
MRA
13016 * include/grub/net/device.h: Likewise.
13017 * include/grub/net/ethernet.h: Likewise.
13018 * include/grub/net/ip.h: Likewise.
13019 * include/grub/net/netbuff.h: Likewise.
13020 * include/grub/net/tftp.h: Likewise.
13021 * include/grub/net/udp.h: Likewise.
13022 * include/grub/ieee1275/ofnet.h: Likewise.
13023 * include/grub/emu/export.h: Likewise.
13024 * include/grub/net.h: Likewise.
13025 * grub-core/net/arp.c: Likewise.
13026 * grub-core/net/ethernet.c: Likewise.
13027 * grub-core/net/ip.c: Likewise.
13028 * grub-core/net/udp.c: Likewise.
13029 * grub-core/net/tftp.c: Likewise.
13030 * grub-core/net/netbuff.c: Likewise.
13031 * grub-core/net/net.c: Likewise.
13032 * grub-core/net/drivers/emu/emunet.c: Likewise.
13033 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
13034 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
13035 export.h.
13036 * grub-core/Makefile.core.def (net): New module.
13037 (tftp): Likewise.
13038 (ofnet): Likewise.
13039 (emunet): Likewise.
13040 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
13041 network protocols.
13042 * grub-core/kern/device.c (grub_net_open) : New variable.
13043 (grub_device_open): Handle network device.
13044 (grub_device_close): Likewise.
13045 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
13046 (grub_grubnet_fini): Likewise.
13047 (grub_file_seek): Seek in network device.
13048 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
13049 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
13050 network root.
13051 (grub_machine_fini): Call grub_grubnet_fini.
13052 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
13053 network.
13054 (grub_ieee1275_get_aliasdevname): New function.
13055 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13056 Add unofficial Solaris network info.
13057 (grub_multiboot_make_mbi): Likewise.
13058 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
13059 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
13060 * include/grub/device.h (grub_fs): Removed.
13061 * include/grub/err.h (grub_err_t): Add network-related values.
13062 * include/grub/i386/pc/pxe.h: Removed bootp parts.
13063 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
13064 (grub_ieee1275_get_aliasdevname): New proto.
13065 * include/grub/net.h: Rewritten.
423a1849 13066
031f22a0
VS
130672011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13068
13069 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
13070 names.
13071
4388ca72
VS
130722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
13075 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
13076 it truncates the output.
13077 Reported by: Ximin Luo.
13078
98e2f506
VS
130792011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
13082
2a5e94d8
VS
130832011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13086 partmap before abstraction.
13087
535c1910
AK
130882011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
13089
13090 * util/grub-mkconfig_lib.in: Add missing quotes.
13091
bc09e1a2
VS
130922011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13093
13094 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
13095 old method if mountinfo would return /dev/root and /dev/root doesn't
13096 exist.
13097
290766fb
VS
130982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 ZFS zlib support
13101
13102 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
13103 (decomp_table): Add zlib entries.
13104 (zio_read): USe 8 bits for compression function rather than 3.
13105 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
13106
131072011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 * grub-core/disk/ahci.c: Add missing license statements.
13110 * grub-core/fs/romfs.c: Likewise.
13111 * grub-core/lib/ia64/setjmp.S: Likewise.
13112 * grub-core/loader/i386/pc/freedos.c: Likewise.
13113 * grub-core/loader/ia64/efi/linux.c: Likewise.
13114 * grub-core/video/colors.c: Likewise.
13115 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
13116
5ab3f48a
VS
131172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13118
13119 AHCI support.
13120
13121 * grub-core/Makefile.core.def (ata_pthru): Removed.
13122 (ahci): New module.
13123 (pata): Likewise.
13124 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
13125 on unload.
13126 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
13127 readwrite.
13128 (grub_hdparm_do_check_powermode_cmd): Likewise.
13129 (grub_hdparm_do_smart_cmd): Likewise.
13130 (grub_hdparm_set_val_cmd): Likewise.
13131 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
13132 * grub-core/disk/ahci.c: New file.
13133 * grub-core/disk/ata.c: Factor out the low-level part into ...
13134 * grub-core/disk/pata.c: ... here.
13135 * grub-core/disk/ata_pthru.c: Contents moved to ...
13136 * grub-core/disk/pata.c: ... here.
13137 * grub-core/disk/scsi.c (grub_scsi_names): New array.
13138 (grub_scsi_iterate): Use grub_scsi_names.
13139 (grub_scsi_open): Likewise.
13140 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
13141 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
13142 (grub_ata_regs_t): New struct.
13143 (grub_disk_ata_pass_through_parms): Likewise.
13144 (grub_ata_device): Renamed to ...
13145 (grub_ata): ... this.
13146 (grub_ata_dev): New struct.
13147 Removed all low-level inline functions.
13148 * include/grub/scsi.h: Add PATA and AHCI subsystems.
13149 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
13150 iterate hooks and open. All users updated.
13151 * util/grub-install.in: Handle AHCI disk module.
13152
c31dc5f5
SJ
131532011-06-23 Szymon Janc <szymon@janc.net.pl>
13154
13155 Add support for DRI and RSTn markers in JPEG files.
13156
13157 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
13158 (JPEG_MARKER_RST0): Likewise.
13159 (JPEG_MARKER_RST1): Likewise.
13160 (JPEG_MARKER_RST2): Likewise.
13161 (JPEG_MARKER_RST3): Likewise.
13162 (JPEG_MARKER_RST4): Likewise.
13163 (JPEG_MARKER_RST5): Likewise.
13164 (JPEG_MARKER_RST6): Likewise.
13165 (JPEG_MARKER_RST7): Likewise.
13166 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
13167 (grub_jpeg_decode_dri): New function.
13168 (grub_jpeg_decode_sos): Move image data related part into
13169 grub_jpeg_decode_data function.
13170 (grub_jpeg_decode_data): New function.
13171 (grub_jpeg_reset): New function.
13172 (grub_jpeg_decode_jpeg): Handle new markers.
13173
fe12fd5b
VS
131742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13175
13176 * util/ieee1275/ofpath.c (check_sas): Close fd.
13177 (main): Free of_path.
13178 Reported by: David Volgyes <dvolgyes>.
13179
03147f46
VS
131802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
13183 Reported by: David Volgyes <dvolgyes>.
13184
cad3237f
VS
131852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13186
13187 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
13188 file after stat.
13189 Reported by: David Volgyes <dvolgyes>.
13190
13548d26
VS
131912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13192
13193 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
13194
13195 Reported by: David Volgyes <dvolgyes>.
13196
e061a1b5
VS
131972011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13198
13199 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
13200 Prevent memory leak.
13201
1abe47dc
VS
132022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13203
13204 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
13205 (main): Close file.
e061a1b5 13206 Reported by: David Volgyes <dvolgyes>.
1abe47dc 13207
fbc62666
VS
132082011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13209
13210 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
13211 to continue if allocation is failed.
13212
13213 Reported by: David Volgyes <dvolgyes>.
13214
e98c83e9
DV
132152011-06-23 David Volgyes <dvolgyes>
13216
13217 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
13218 dereference.
13219
a199a8cd
VS
132202011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13221
13222 Fix spurious warning.
13223
13224 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
13225 (acorn_partition_map_find): Use .bin member.
13226
e2d1dba0
VS
132272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13228
13229 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
13230 /dev/root as a valid device.
13231
8a5d6919
JM
132322011-06-23 Jim Meyering <meyering@redhat.com>
13233
e2d1dba0
VS
13234 Avoid NULL deref in grub_device_open.
13235
8a5d6919
JM
13236 * grub-core/kern/device.c (grub_device_open): Don't dereference
13237 a NULL pointer upon failed grub_env_get.
13238
f7db6f4a
VS
132392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13240
13241 Support non-512B sectors and agglomerate reads.
13242
13243 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
13244 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
13245 (disk_io_guid): Removed.
13246 (make_devices): Locate solely by BlockIO.
13247 (grub_efidisk_open): Fill log_sector_size and total_sectors.
13248 (grub_efidisk_read): Use read_blocks.
13249 (grub_efidisk_write): Use write_blocks.
13250 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
13251 log_sector_size.
13252 (get_safe_sectors): Handle non-512B sectors.
13253 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
13254 sectors.
13255 (grub_biosdisk_write): Handle non-512B sectors.
13256 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
13257 (grub_scsi_read): Remove special non-512B block handling (now handled
13258 one level up).
13259 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
13260 and do sanity checks.
13261 (grub_disk_adjust_range): Handle non-512B sectors.
13262 (transform_sector): New function.
13263 (grub_disk_read_small): Likewise.
13264 (grub_disk_read): Rewritten.
13265 (grub_disk_write): Handle non-512B sectors.
13266 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
13267 log_sector_size.
13268 (open_device): Use log_sector_size.
13269 (grub_util_biosdisk_read): Likewise.
13270 (grub_util_biosdisk_write): Likewise.
13271 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
13272 non-512B sectors.
13273 (pc_partition_map_embed): Likewise.
13274 * include/grub/disk.h (grub_disk): New field log_sector_size.
13275 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
13276 (GRUB_DISK_CACHE_BITS): Increased to 6.
13277 * util/grub-fstest.c (fstest): New command testload.
13278 (argp_parser): Likewise.
13279
881ac815
RM
132802011-06-16 Robert Millan <rmh@gnu.org>
13281
13282 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
13283 `ata' driver on kernel of FreeBSD 9.
13284
13285 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
13286 (get_ataraid_disk_name): New functions.
13287 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
13288 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
13289 get_ataraid_disk_name() and get_ada_disk_name().
13290
1e9aef7d
CW
132912011-06-13 Colin Watson <cjwatson@ubuntu.com>
13292
13293 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
13294 input format.
13295
351c7c8a
CW
132962011-05-29 Colin Watson <cjwatson@ubuntu.com>
13297
13298 * docs/grub.texi (Obtaining and Building GRUB): Substitute
13299 `ftp.gnu.org' for `alpha.gnu.org'.
13300
6b4e6430
CW
133012011-05-27 Colin Watson <cjwatson@ubuntu.com>
13302
13303 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
13304 partitions under /dev/disk/by-id/.
13305
c64db050
CW
133062011-05-27 Colin Watson <cjwatson@ubuntu.com>
13307
13308 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
13309 after ten consecutive open failures. Scanning all the way up to
13310 10000 is excessive and can cause serious performance problems in
13311 some configurations.
13312 Fixes Ubuntu bug #787461.
13313
245f4aba
VS
133142011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13315
13316 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
13317 opening new one.
13318
f767c929
VS
133192011-05-21 Colin Watson <cjwatson@ubuntu.com>
133202011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 Don't stat devices unless we have to.
13323
13324 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
13325 dir == /dev/mapper.
13326 (grub_guess_root_device): Use already known os_dev if possible.
13327 * grub-core/kern/emu/hostdisk.c
13328 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
13329 if device is known to be a dm one.
13330
f35fa3a6
CW
133312011-05-20 Colin Watson <cjwatson@ubuntu.com>
13332
13333 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
13334 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
13335 Reported by: Pawel Tecza.
13336
9a79fcf2
VS
133372011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
13338
13339 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
13340 (lsefisystab): Likewise.
13341 (lssal): Likewise.
13342 (lsefimmap): Likewise.
13343 (hdparm): Enable on qemu-mips.
13344 (setjmp): Add ia64 nodist.
13345 (serial): Simplify tags.
13346
63e3eea9
CW
133472011-05-18 Colin Watson <cjwatson@ubuntu.com>
13348
13349 * Makefile.util.def (grub-ofpathname): Install manual page.
13350
09728256
CW
133512011-05-18 Colin Watson <cjwatson@ubuntu.com>
13352
13353 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
13354
8b63a142
CW
133552011-05-18 Colin Watson <cjwatson@ubuntu.com>
13356
13357 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
13358
e775d8ed
VS
133592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13360
13361 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
13362 into dprintf.
13363
bf947d36
VS
133642011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13365
13366 Use full 64-bit division.
13367
13368 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
13369 (grub_divmod64): ... this.
13370 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
13371 version.
13372
b84f26c5
CW
133732011-05-18 Colin Watson <cjwatson@ubuntu.com>
13374
13375 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
13376 `source'.
13377
5626056f
CW
133782011-05-18 Colin Watson <cjwatson@ubuntu.com>
13379
13380 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
13381 to avoid accidents when debugging with 'sh -x'.
13382 * grub-core/gensyminfo.sh.in: Likewise.
13383 * tests/example_scripted_test.in: Likewise.
13384 * tests/grub_cmd_regexp.in: Likewise.
13385 * tests/grub_script_blanklines.in: Likewise.
13386 * tests/grub_script_dollar.in: Likewise.
13387 * tests/grub_script_expansion.in: Likewise.
13388 * tests/grub_script_final_semicolon.in: Likewise.
13389 * tests/partmap_test.in: Likewise.
13390 * tests/util/grub-shell-tester.in: Likewise.
13391 * tests/util/grub-shell.in: Likewise.
13392
e2965f4a
CW
133932011-05-18 Colin Watson <cjwatson@ubuntu.com>
13394
13395 Move gfxmenu color handling to video, so that gfxterm can use it
13396 too.
13397
13398 * grub-core/gfxmenu/named_colors.c: Move to ...
13399 * grub-core/video/colors.c: ... here. Rename
13400 grub_gui_get_named_color to grub_video_get_named_color.
13401 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
13402 * grub-core/video/colors.c (my_isxdigit): ... here.
13403 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
13404 Move to ...
13405 * grub-core/video/colors.c (parse_hex_color_component): ... here.
13406 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
13407 to ...
13408 * grub-core/video/colors.c (grub_video_parse_color): ... here.
13409
13410 * include/grub/gui.h (grub_gui_color_t): Move to ...
13411 * include/grub/video.h (grub_video_rgba_color_t): ... here.
13412 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
13413 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
13414 * include/grub/gui.h (grub_gui_map_color): Move to ...
13415 * include/grub/video.h (grub_video_map_rgba_color): ... here.
13416 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
13417 to ...
13418 * include/grub/video.h (grub_video_get_named_color): ... here.
13419 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
13420 * include/grub/video.h (grub_video_parse_color): ... here.
13421
13422 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
13423 video/colors.c.
13424 (gfxmenu): Remove gfxmenu/named_colors.c.
13425 (video) [videomodules]: Add video/colors.c.
13426
13427 Add a background_color command.
13428
13429 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
13430 function.
13431 (GRUB_MOD_INIT): Register background_color command.
13432 (GRUB_MOD_FINI): Unregister background_color command.
13433 (redraw_screen_rect): Allow blend/replace of text layer to be
13434 controlled independently from whether there is a background bitmap.
13435 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
13436 changing bitmap.
13437
1e4b4390
VS
134382011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13439
26618ff0
VS
13440 Patch BPB in ntldr and chainloader --bpb.
13441
1e4b4390
VS
13442 * grub-core/fs/fat.c: Include grub/fat.h.
13443 (grub_fat_bpb): Moved to ...
13444 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
13445 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
13446 grub/ntfs.h.
13447 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
13448 Moved from here...
13449 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
13450 here.
13451 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
13452 New function.
13453 (grub_chainloader_cmd): Patch BPB if --bpb is given.
13454 (GRUB_MOD_INIT): Show --bpb.
13455 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
13456 * grub-core/normal/main.c (features): New variable.
13457 (GRUB_MOD_INIT): Set feature_* variables.
13458 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
13459 proto.
13460 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
13461
cf02731e
VS
134622011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13463
13464 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
13465 for cleanness.
13466
e3a1073f
VS
134672011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 FreeDOS direct loading support.
13470
13471 * docs/grub.texi (Supported OS): Add FreeDOS.
13472 * grub-core/Makefile.core.def (freedos): New module.
13473 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
13474 variable.
13475 (grub_relocator16_boot): Handle %ebx.
13476 * grub-core/lib/i386/relocator16.S: Likewise.
13477 * grub-core/loader/i386/pc/freedos.c: New file.
13478
05caa461
VS
134792011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13480
13481 Long Linux command line support.
13482
13483 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
13484 (maximal_cmdline_size): New variable.
13485 (allocate_pages): Use maximal_cmdline_size.
13486 (grub_cmd_linux): Set and use maximal_cmdline_size.
13487 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
13488 (allocate_pages): Use maximal_cmdline_size.
13489 (grub_cmd_linux): Set and use maximal_cmdline_size.
13490 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
13491 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
13492 and cmdline_size.
13493
a2491e23
VS
134942011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
134952011-05-18 Colin Watson <cjwatson@ubuntu.com>
13496
13497 Improve devmapper support
13498
13499 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
13500 (grub_util_is_lvm): New function.
13501 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
13502 than lvm if not dmraid.
13503 Handle mapped md nodes.
13504 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
13505 (grub_util_device_is_mapped): ... this. Make always available. All users
13506 updated.
13507 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
13508 (convert_system_partition_to_system_disk): Handle lvm, mpath and
13509 dmraid nodes.
13510 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
13511
6ad6223e
VS
135122011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13513
13514 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
13515
13516 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
13517 * grub-core/modinfo.sh.in: New file.
13518 * grub-core/Makefile.core.def (modinfo.sh): New script.
13519 * util/grub-mknetdir.in: Use modinfo.sh.
13520 * util/grub-mkrescue.in: Likewise.
13521
543a8f6e
VS
135222011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13523
13524 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
13525 Fix potential usage of Elf32 instead of Elf64 when compiling on
13526 32-bit architecture. Add endianness macros while on it.
13527
4959e111
VS
135282011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13529
13530 Use mipsel- rather than mips- in directories involving mipsel ports to
13531 allow both endiannesses coexist.
13532
13533 * configure.ac: proparate target_cpu=mipsel rather than resetting to
13534 mips. All conditions adjusted.
13535 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
13536 variable.
13537 * util/grub-install.in: Adjust conditions to take renaming into account.
13538 * util/grub-mkimage.c (image_targets): Likewise. New target
13539 mips-qemu_mips-elf for bigendian mips.
13540
35341bbc
VS
135412011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13542
13543 Avoid unnecessary copying on MIPS.
13544
13545 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
13546 early if src == dest.
13547 * util/grub-mkimage.c (generate_image): Arange for src == dest if
13548 compression is none.
13549
b772baed
VS
135502011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13551
13552 Reduce memory footprint on SGI by putting modules before the kernel
13553 as opposed to after.
13554
13555 * grub-core/Makefile.core.def (kernel): Increase linking address.
13556 (none_decompress): Likewise.
13557 (xz_decompress): Likewise.
13558 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
13559 address.
13560 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
13561 layout change.
13562 (grub_arch_modules_addr): New function.
13563 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
13564 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
13565 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
13566 here.
13567 * grub-core/kern/mips/startup.S (total_size): Rename to ...
13568 (grub_total_modules_size): ... this. Make global.
13569 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
13570 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
13571 New definition.
13572 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
13573 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
13574 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
13575 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
13576 * util/grub-mkimage.c (image_target_desc): New flag
13577 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
13578 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
13579 (generate_image): Handle images with modules before kernel.
13580
566a1917
VS
135812011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13582
13583 Prevent potential loss of memory map by overwrite on qemu-mips.
13584
13585 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
13586 Save ram size in $s4.
13587 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
13588 All users changed to grub_arch_memsize.
13589 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
13590 Loongson.
13591 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
13592 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
13593 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
13594 external variable.
13595
5d420cd9
CW
135962011-05-17 Colin Watson <cjwatson@ubuntu.com>
13597
13598 * .bzrignore: Remove grub-dumpbios.
13599
d064b830
CW
136002011-05-17 Colin Watson <cjwatson@ubuntu.com>
13601
13602 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
13603 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
13604 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
13605 existing options which append).
13606 * docs/grub.texi (Simple configuration): Document new options.
13607 Reported by: Ian Jackson. Fixes Debian bug #617538.
13608
3ca2b466
CW
136092011-05-17 Colin Watson <cjwatson@ubuntu.com>
13610
13611 * util/grub-fstest.c (cmd_cat): New function.
13612 (fstest): Handle CMD_CAT.
13613 (options): Add cat.
13614 (argp_parser): Handle cat.
13615
24c9143a
CW
136162011-05-17 Colin Watson <cjwatson@ubuntu.com>
13617
13618 * Makefile.util.def (grub-bin2h): Don't install.
13619 * docs/man/grub-bin2h.h2m: Remove.
13620
90f7ac19
VS
136212011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13622
13623 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
13624 place.
13625
8d4a5178
VS
136262011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 Reenable qemu-mips port.
13629
13630 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
13631 Fix small arc bug while on it.
13632 * gentpl.py: Handle qemu_mips.
13633 * grub-core/Makefile.am: Likewise.
13634 * grub-core/Makefile.core.def: Likewise.
13635 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
13636 inappropriate includes.
13637 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
13638 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
13639 * grub-core/kern/main.c (grub_modules_get_end)
13640 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
13641 * grub-core/kern/mips/qemu-mips: Moved to ..
13642 * grub-core/kern/mips/qemu_mips: ... this.
13643 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
13644 (grub_machine_init): Call terminfo_init and serial_init.
13645 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
13646 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
13647 New variable.
13648 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
13649 parameter passing.
13650 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
13651 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
13652 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
13653 * include/grub/mips/qemu_mips/cmos.h: New file.
13654 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
13655 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
13656 Removed.
13657 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
13658 Use correct mips-style address.
13659 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
13660 (GRUB_TICKS_PER_SECOND): Removed.
13661 (grub_get_rtc): Likewise.
13662 (grub_cpu_idle): Likewise.
13663 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
13664 New definition.
13665 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
13666 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
13667 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
13668 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
13669 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13670 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13671 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
13672 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
13673
400b9371
VS
136742011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 SGI ARCS port.
13677
13678 * Makefile.util.def (libgrubmods.a): Add dvh.c.
13679 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
13680 platforms.
13681 * configure.ac: New target mips-arc.
13682 * gentpl.py: Likewise.
13683 * grub-core/Makefile.am: Likewise.
13684 * grub-core/Makefile.core.def: Likewise.
13685 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
13686 (none_decompress): Likewise.
13687 (lsdev): New module.
13688 (datetime): Use lib/arc/datetime.c on ARC.
13689 (part_dvh): New module.
13690 * grub-core/commands/arc/lsdev.c: New file.
13691 * grub-core/disk/arc/arcdisk.c: Likewise.
13692 * grub-core/kern/mips/arc/init.c: Likewise.
13693 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
13694 aligned addresses.
13695 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
13696 support.
13697 (grub_arch_dl_relocate_symbols): Likewise.
13698 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
13699 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
13700 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
13701 platforms.
13702 * grub-core/lib/arc/datetime.c: New file.
13703 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
13704 pci.h on non-loongson.
13705 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
13706 (grub_linux_boot): Set unused registers to 0.
13707 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
13708 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
13709 * grub-core/mmap/mips/uppermem.c: ...here.
13710 * grub-core/partmap/dvh.c: New file.
13711 * grub-core/term/arc/console.c: Likewise.
13712 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
13713 (grub_terminfo_set_current): Add terminal "arc".
13714 (grub_terminfo_readkey): Support ARC sequences.
13715 * include/grub/arc/arc.h: New file.
13716 * include/grub/arc/console.h: Likewise.
13717 * include/grub/disk.h (grub_disk_dev_id): Add
13718 GRUB_DISK_DEVICE_ARCDISK_ID.
13719 * include/grub/mips/arc/kernel.h: New file.
13720 * include/grub/mips/arc/memory.h: Likewise.
13721 * include/grub/mips/arc/time.h: Likewise.
13722 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
13723 * include/grub/mips/kernel.h (grub_halt): ... here.
13724 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
13725 here...
13726 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
13727 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
13728 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
13729 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
13730 proto.
13731 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
13732 from here ...
13733 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
13734 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
13735 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
13736 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
13737 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
13738 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
13739 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
13740 (grub_phys_addr_t): Moved from here ...
13741 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
13742 (grub_vtop): Moved from here ...
13743 * include/grub/mips/memory.h (grub_vtop): ... here.
13744 (grub_map_memory): Moved from here ...
13745 * include/grub/mips/memory.h (grub_map_memory): ... here.
13746 (grub_unmap_memory): Moved from here ...
13747 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
13748 (grub_machine_mmap_iterate): Moved from here ...
13749 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
13750 (grub_mmap_get_lower): Moved from here ...
13751 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
13752 (grub_mmap_get_upper): Moved from here ...
13753 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
13754 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
13755 here ...
13756 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
13757 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
13758 here ...
13759 * include/grub/mips/time.h (grub_get_rtc): ... here.
13760 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
13761 here ...
13762 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
13763 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
13764 here ...
13765 * include/grub/mips/time.h (grub_cpu_idle): ... here.
13766 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
13767 definition.
13768 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
13769 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
13770 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
13771 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
13772 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13773 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13774 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
13775 (GRUB_MACHINE_LINK_ADDR): Likewise.
13776 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
13777 to 6.
13778 * util/grub-install.in: Run dvhtool on ARC.
13779 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 13780 (generate_image): Handle ECOFF output for mips-arc.
400b9371 13781
c8ecc840
VS
137822011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
13785 blocks.
13786
153a4b55
VS
137872011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13788
13789 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
13790 after enabling port.
13791
ff44d107
VS
137922011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13793
13794 Skip incorrect USB devices.
13795
13796 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
13797 configcnt == 0.
13798 * include/grub/usb.h (grub_usb_err_t): New enum value
13799 GRUB_USB_ERR_BADDEVICE.
13800
638dbe4f
VS
138012011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 Fuloong video init support.
13804
13805 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
13806 well.
13807 (grub_vga_read_arx): New function.
13808 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
13809 definition.
13810 (framebuffer): New members io, mmioptr and mmiobase.
13811 (read_sis_cmd): New function.
13812 (write_sis_cmd): Likewise.
13813 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
13814 rather than 640x400.
13815 * grub-core/video/sis315_init.c: New file.
13816
c3fc520c
VS
138172011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
13820 non-loongson.
13821 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
13822 to grub_dl_register_symbol.
13823
67b1e5c9
VS
138242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13825
13826 Fix compilation errors.
13827
13828 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
13829 potentially unused.
13830 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
13831 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
13832 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
13833 to loongson machines.
13834
b756f75f
VS
138352011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13836
13837 Several FS mtime support.
13838
13839 * grub-core/fs/affs.c (grub_affs_time): New struct.
13840 (grub_affs_file): New field mtime.
13841 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
13842 type. Removed 'size'. New field 'di'. All users updated.
13843 (grub_affs_mount): Simplify checsum checking.
13844 (grub_affs_iterate_dir): New helper grub_affs_create_node.
13845 (grub_affs_dir): Handle mtime.
13846 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
13847 (grub_cpio_dir): Likewise.
13848 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
13849 (grub_hfs_filerec): New field mtime.
13850 (grub_hfs_dir): Handle mtime.
13851 (grub_hfs_mtime): New function.
13852 (grub_hfs_fs): Register grub_hfs_mtime.
13853 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
13854 (grub_iso9660_dir): New field mtime.
13855 (grub_fshelp_node): New field dirent.
13856 (iso9660_to_unixtime): New function.
13857 (iso9660_to_unixtime2): Likewise.
13858 (grub_iso9660_read_symlink): Use node->dirent.
13859 (grub_iso9660_iterate_dir): Likewise.
13860 (grub_iso9660_dir): Set mtime.
13861 (grub_iso9660_mtime): New function.
13862 (grub_iso9660_fs): Register grub_iso9660_mtime.
13863 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
13864 (grub_jfs_inode): New fields atime, ctime and mtime.
13865 (grub_jfs_dir): Set mtime.
13866 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13867 * grub-core/fs/ntfs.c (list_file): Set mtime.
13868 (grub_ntfs_dir): Likewise.
13869 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
13870 (grub_reiserfs_iterate_dir): Set mtime.
13871 (grub_reiserfs_dir): Likewise.
13872 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
13873 (grub_fshelp_node): Likewise.
13874 (grub_sfs_iterate_dir): Set mtime.
13875 (grub_sfs_dir): Likewise.
13876 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
13877 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
13878 (grub_xfs_inode): New fields atime, mtime, ctime.
13879 (grub_xfs_dir): Set mtime.
13880 * include/grub/datetime.h (grub_datetime2unixtime): New function.
13881 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
13882 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
13883
13884 Support UDF symlinks.
13885
13886 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
13887 (grub_ufs_read_symlink): New function. All users updated.
13888
13889 Check amiga partmap checksum.
13890
13891 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
13892 (grub_amiga_partition): Likewise.
13893 (amiga_partition_map_checksum): New function.
13894 (amiga_partition_map_iterate): Check checksum.
13895
5470225d
VS
138962011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13897
13898 ROMFS support.
13899
13900 * Makefile.util.def (libgrubmods.a): Add romfs.
13901 * grub-core/Makefile.core.def (romfs): New module.
13902 * grub-core/fs/romfs.c: New file.
13903
d4680a35
VS
139042011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 Squashfs v4 support.
13907
13908 * Makefile.util.def (libgrubmods.a): Add squash4.
13909 * grub-core/Makefile.core.def (squash4): New module.
13910 * grub-core/fs/squash4.c: New file.
13911 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
13912 disk_input_start, disk_input.
13913 (get_byte): Handle disk_input.
13914 (grub_zlib_disk_read): New function.
13915 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
13916
bcb18e74
FZ
139172011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
139182011-05-15 Feiran Zheng <famcool@gmail.com>
13919
13920 * Makefile.util.def (libgrubmods.a): Add minix3.
13921 * grub-core/Makefile.core.def (minix3): New module.
13922 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
13923 (GRUB_MINIX_BSIZE): Removed.
13924 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
13925 (grub_minix_ino_t): New type.
13926 (grub_minix_le_to_cpu_ino): New macro.
13927 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
13928 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
13929 (grub_minix_data): New field block_size.
13930 (grub_minix_read_file): Handle 64-bit correctly.
13931 * grub-core/fs/minix3.c: New file.
13932
32297d5f
TG
139332011-05-15 Tristan Gingold <gingold@free.fr>
139342011-05-15 Robert Millan <rmh.grub@aybabtu.com>
139352011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13936
13937 IA64 support.
13938
13939 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
13940 * configure.ac: Add ia64-efi target.
13941 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
13942 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
13943 * gentpl.py: Add ia64_efi platform.
13944 Rename x86_efi to efi and Add ia64-efi. All users updated.
13945 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
13946 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
13947 Remove kern/generic/rtc_get_time_ms.c on EFI.
13948 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
13949 kern/ia64/dl_helper.c on ia64-efi.
13950 Add kern/emu/cache.c on emu.
13951 (linux): Use on loader/ia64/efi/linux.c on ia64.
13952 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
13953 whether symbol is a function.
13954 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
13955 (grub_symbol): New field 'isfunc'.
13956 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
13957 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
13958 (grub_dl_load_segments): Place all sections into the same region.
13959 [__ia64__]: Create trampolines and got.
13960 [GRUB_MACHINE_EMU]: Call mprotect.
13961 (grub_dl_resolve_symbols): Resolve symbol type as well.
13962 [__ia64__]: Create function descriptors.
13963 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
13964 (grub_rtc_get_time_ms): ... this. Expressions simplified.
13965 (grub_get_rtc): New function.
13966 * grub-core/kern/emu/cache.c [__ia64__]: New file.
13967 * grub-core/kern/emu/cache.S: Renamed to ...
13968 * grub-core/kern/emu/cache_s.S: ... this.
13969 [__ia64__]: Add a nop.
13970 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
13971 [__ia64__]: New function.
13972 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
13973 * grub-core/kern/ia64/dl.c: New file.
13974 * grub-core/kern/ia64/dl_helper.c: Likewise.
13975 * grub-core/kern/ia64/efi/init.c: New file.
13976 * grub-core/kern/ia64/efi/startup.S: Likewise.
13977 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
13978 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
13979 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
13980 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
13981 * grub-core/loader/ia64/efi/linux.c: New file.
13982 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
13983 (GRUB_MOD_DEP): Likewise.
13984 (grub_dl) [__ia64__]: New fields got and tramp.
13985 (grub_dl): New field 'base'.
13986 (grub_dl_register_symbol): New argument isfunc. All users updated.
13987 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
13988 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
13989 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
13990 (grub_ia64_dl_get_tramp_got_size): New proto.
13991 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
13992 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
13993 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
13994 * include/grub/efi/api.h: Skip call wrappers on ia64.
13995 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
13996 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
13997 * include/grub/elf.h (ELF_ST_INFO): New definition.
13998 * include/grub/ia64/efi/kernel.h: New file.
13999 * include/grub/ia64/efi/memory.h: Likewise.
14000 * include/grub/ia64/efi/time.h: Likewise.
14001 * include/grub/ia64/kernel.h: Likewise.
14002 * include/grub/ia64/setjmp.h: Likewise (from glibc).
14003 * include/grub/ia64/time.h: New file.
14004 * include/grub/ia64/types.h: Likewise.
14005 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
14006 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
14007 New protos.
14008 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
14009 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14010 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
14011 * util/grub-mkimage.c (image_target_desc): New field pe_target.
14012 All users updated.
14013 (EFI64_HEADER_SIZE): New definition. All users updated.
14014 (image_targets): Add ia64-efi.
14015 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
14016 jumpers_addr. All users updated.
14017 Create function descriptors.
14018 (count_funcs): New function.
14019 (unaligned_uint32): New struct.
14020 (MASK20): New definition.
14021 (MASK19): Likewise.
14022 (MASKF21): Likewise.
14023 (add_value_to_slot_20b): New function.
14024 (add_value_to_slot_21_real): Likewise.
14025 (add_value_to_slot_21): Likewise.
14026 (ia64_kernel_trampoline): New struct.
14027 (nopm): New variable.
14028 (jump): Likewise.
14029 (make_trampoline): New function.
14030 (relocate_addresses): Handle ia64.
14031 (make_reloc_section): Likewise.
14032 (load_image): Likewise.
14033
983b414d
VS
140342011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14035
14036 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
14037 warning. Move variables before code while on it.
14038
5d063cdc
VS
140392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14040
14041 Fuloong support.
14042
14043 * configure.ac: Rename yeeloong platform to loongson. All users updated.
14044 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
14045 * grub-core/boot/mips/loongson/fuloong.S: New file.
14046 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
14047 Explicitly init CS5536.
14048 [FULOONG]: Don't use serial until CS5536 is available.
14049 Set GPIO based on dumps.
14050 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
14051 [FULOONG]: Handle GPIO and memory controller differences.
14052 Parse machine type in $a2.
14053 * grub-core/boot/mips/startup_raw.S: Determine and save the
14054 architecture.
14055 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
14056 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
14057 init on architecture type.
14058 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14059 SIS315E. Don't init at_keyboard on fuloong.
14060 (grub_halt): Support Fuloong.
14061 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
14062 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
14063 (loongson_machtypes): New array.
14064 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
14065 type.
14066 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
14067 config. All users updated. Handle CS5536 serial.
14068 * grub-core/term/serial.c (grub_serial_register): Conditionalise
14069 default port on machine type. Register serial as inactive.
14070 * grub-core/video/sis315pro.c: New file.
14071 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
14072 definition.
14073 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
14074 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
14075 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
14076 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
14077 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
14078 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
14079 to ...
14080 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
14081 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
14082 definition.
14083 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
14084 (grub_arch_machine): New extern var.
14085 * include/grub/mips/loongson/serial.h
14086 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
14087 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
14088 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
14089 (GRUB_MACHINE_SERIAL_PORT0): ... this.
14090 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
14091 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
14092 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
14093 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
14094 * include/grub/term.h (grub_term_register_input_inactive): New inline
14095 function.
14096 (grub_term_register_output_inactive): Likewise.
14097 * include/grub/video.h (grub_video_driver_id): New value
14098 GRUB_VIDEO_DRIVER_SIS315PRO.
14099 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
14100 New field "names". All users updated.
14101 New field value IMAGE_FULOONG_FLASH.
14102 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
14103
6ada82d1
JU
141042011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
14105
14106 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
14107 and add some clarification.
14108
90c571a4
VS
141092011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14110
14111 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
14112 platforms if kernel is compressed.
14113
de04eecf
VS
141142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
14117 unused modules since currently referrence counter isn't reliable and
14118 there isn't much memory to recover there anyway.
14119
57688121
VS
141202011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
14123 rather than resetting it to allow modules to reference themselves
14124 in init.
14125
3d2c7e35
VS
141262011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14127
14128 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
14129 counter on dependencies since grub_dl_unref already handles this.
14130
b25db218
VS
141312011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
14134 on error if not already done.
14135
25a45338
VS
141362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14137
14138 Fix few potential memory misusage.
14139
14140 * grub-core/font/font.c (load_font_index): Don't free char_index to
14141 avoid double free.
b25db218
VS
14142 (grub_font_load): Zero-fill font at alloc for safety.
14143 Close file on error.
14144 (free_font): Free bmp_idx.
25a45338 14145
0cac83df
VS
141462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 * docs/grub.texi (Installation): Fix several outdated claims.
14149
2217a143
VS
141502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14151
14152 Handle module_license on windows.
14153
14154 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
14155 sections shifted.
14156 (insert_string): Make argument const char * instead of char *.
14157 (write_section_data): Handle long section names.
14158 Handle module_license.
14159
d4de6b01
VS
141602011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
14163 handle class-free menuentries.
14164 (grub_normal_add_menu_entry): Add a check to be sure.
14165
4c2a3b43
VS
141662011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14167
14168 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
14169 PgUp and PgDown.
14170
85c6210f
VS
141712011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14172
14173 * configure.ac: Bump version to 1.99.
14174
36084912
VS
141752011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14176
14177 Give ATA device a bit more time on first try in order to allow disks
14178 to spin up.
14179
14180 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
14181 if dev->present is 1. Reset dev->present on failure.
14182 (grub_ata_device_initialize): Set dev->present to 1.
14183 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
14184 (grub_ata_device): New member 'present'.
14185
bda0e219
VS
141862011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 * util/grub-mkimage.c (generate_image): Update hash.
14189
19e1c41b
VS
141902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14191
14192 Flush caches on DMA memory.
14193
14194 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
14195 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
14196 (grub_dma_free): Likewise.
14197 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
14198
91bbcc0c
VS
141992011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14200
14201 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
14202 to avoid asm treating ld and sd as macros.
14203
60ddfad3
VS
142042011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14205
14206 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
14207 decompressor.
14208
a298aa04
VS
142092011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14210
14211 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
14212 grub_decompress_core since later would fail if grub_decompress_core
14213 is too far.
14214
9b44feca
VS
142152011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14216
14217 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
14218 R_MIPS_JALR since it's used by newer compiler.
14219
56dbe7b4
VS
142202011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
14221
14222 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
14223
52856af2
VS
142242011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14225
14226 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
14227 file_path to 0 for surety.
14228 (grub_chainloader_boot): Set exit_data to NULL.
14229 Unset the loader once done.
14230 (grub_cmd_chainloader): Fix confusing error message if file is empty.
14231
9c9bfc6d
VS
142322011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14233
14234 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
14235 unknown key into a dprintf.
14236
dd94a3df
VS
142372011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14238
14239 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
14240 on first non-existant partition.
14241
fa68d99c
VS
142422011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14243
14244 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
14245 openning fails.
14246 Reported by: Mark Korenberg.
14247
157effb7
VS
142482011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14249
14250 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
14251 overflow.
14252
ea75312f
VS
142532011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14254
14255 * util/grub-mkimage.c (main): Explicitely flush and sync the output
14256 before closing to ensure that it will be readable by grub-setup.
14257
072b5d31
VS
142582011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
14261 (devpath_1): Use MAKE_PIWG_PATH.
14262 (devpath_2): Likewise.
14263 (devpath_3): Likewise.
14264 (devpath_4): Likewise.
14265 (devpath_5): Likewise.
14266 (devpath_6): Likewise.
14267
14268 The appleldr.mod was checked that to be binary identical to previous
14269 version.
14270
7fae0051
Z
142712011-05-05 Zach <mikezackles>
14272
14273 Support 2010 Macbooks.
14274
14275 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
14276 (devs): Add devpath_6.
14277
7c515bee
VS
142782011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14279
14280 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
14281 /dev/random. /dev/urandom is good enough for our purposes (salting).
14282
ed660bd8
VS
142832011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14284
14285 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
14286
ee5614b7
VS
142872011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14288
14289 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
14290 hexadecimal.
14291
664889a6
VS
142922011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14293
14294 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
14295 and not 0 on failure.
14296
bd405bbc
CW
142972011-05-03 Colin Watson <cjwatson@ubuntu.com>
14298
14299 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
14300 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
14301 disk; otherwise grub_fs_probe will not fall back to the next
14302 filesystem.
14303 (grub_pxefs_open): Likewise, for consistency.
14304 Reported and tested by: Ezekiel Grave.
14305
4ebff753
CW
143062011-05-03 Colin Watson <cjwatson@ubuntu.com>
14307
14308 * tests/partmap_test.in: Don't hardcode path to parted.
14309 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
14310
8f942553
CW
143112011-05-01 Colin Watson <cjwatson@ubuntu.com>
14312
14313 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
14314 of `ls' to find out which devices are available.
14315
3c62402d
VS
143162011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14317
14318 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
14319 than source address for efi mmap buffer.
14320
723f63f2
VS
143212011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14322
14323 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
14324 wrong action on non-detecting the magic.
14325
68797f92
VS
143262011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14327
14328 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
14329 already supplied by another part of the module (fixes compilation on
14330 FreeBSD).
14331
6be8715d
VS
143322011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
14335 match the one used by mdadm.
14336
e91dba5b
CW
143372011-04-21 Colin Watson <cjwatson@ubuntu.com>
14338
14339 * po/README: Add instructions for creating po/LINGUAS.
14340
c85140b3
CW
143412011-04-21 Colin Watson <cjwatson@ubuntu.com>
14342
14343 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
14344 #551428.
14345
14346 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
14347 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
14348 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
14349 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
14350 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
14351 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
14352 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
14353 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
14354 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
14355 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
14356 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
14357 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
14358 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
14359 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
14360 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
14361 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
14362 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
14363 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
14364 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
14365 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
14366 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
14367 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
14368
92051871
CW
143692011-04-21 Colin Watson <cjwatson@ubuntu.com>
14370
14371 * grub-core/kern/emu/getroot.c
14372 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
14373 test that was incorrectly reintroduced in r3214.
14374 Reported by: Ian Dall. Fixes Savannah bug #33133.
14375
b13f79a4
CW
143762011-04-21 Colin Watson <cjwatson@ubuntu.com>
14377
14378 Fix stack pointer handling in 16-bit relocator.
14379
14380 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
14381 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
14382 Fixes Ubuntu bug #683904.
14383
9b710a88
VS
143842011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14385
14386 * configure.ac: Bump version to 1.99~rc2.
14387
d97e7b59
VS
143882011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14389
14390 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
14391 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
14392 * grub-core/lib/x86_64/setjmp.S: Likewise.
14393 * grub-core/lib/mips/setjmp.S: Likewise.
14394 * grub-core/lib/powerpc/setjmp.S: Likewise.
14395 * grub-core/lib/sparc64/setjmp.S: Likewise.
14396
0624551c
VS
143972011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
14400 * grub-core/lib/efi/datetime.c: Likewise.
14401
e8f28d4c
VS
144022011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14403
14404 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
14405 New function.
14406 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
14407 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
14408 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
14409
bba79a15
VS
144102011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14411
14412 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
14413 bitmap.
14414 (grub_gfxterm_term_init): Likewise.
14415
abc474ef
VS
144162011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 Take into account the decorations the computing menu entry width.
14419
14420 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
14421 (grub_gfxmenu_create_box): Register get_border_width.
14422 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
14423 if available.
14424 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
14425 get_border_width.
14426
e74b3947
EP
144272011-04-18 Endres Puschner <code@e7p.de>
14428
14429 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
14430 Don't skip first class.
14431
34faa595
VS
144322011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14433
14434 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
14435 chunks.
14436 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
14437
93a777e3
VS
144382011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14439
14440 Complete 64-bit division support.
14441
14442 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
14443 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
14444 * include/grub/misc.h (grub_divmod64): Rename to ...
14445 (grub_divmod64_full): ... this.
14446 (grub_divmod64): New inline function.
14447
a5102d94
VS
144482011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14449
14450 * util/grub-mkimage.c (generate_image): Add forgotten comma.
14451
f3fb7b36
VS
144522011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14453
14454 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
14455 performing the necessary test.
14456
9ac718b0
VS
144572011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14458
14459 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
14460 (kfreebsd.elf): Likewise.
14461 (pc-chainloader.elf): Likewise.
14462 (ntldr.elf): Likewise.
14463
50d2cc5a
VS
144642011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14465
14466 Identify RAID by its UUID rather than (guessed) name.
14467
14468 * grub-core/disk/raid.c (ascii2hex): New function.
14469 (grub_raid_open): Accept mduuid/%s specification.
14470 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
14471 (get_mdadm_uuid): ... this.
14472 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
14473
e03f7bea
VS
144742011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
14475
14476 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
14477 to negative size.
14478
e74c3112
CW
144792011-04-13 Colin Watson <cjwatson@ubuntu.com>
14480
14481 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
14482 btrfs subvolume.
14483 * util/grub.d/20_linux_xen.in: Likewise.
14484
78fa584f
CW
144852011-04-13 Colin Watson <cjwatson@ubuntu.com>
14486
14487 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
14488 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
14489
14490 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
14491 Build a list of relevant visible mounts using the mnt_id and
14492 parent_mnt_id fields, and then scan that list at the end.
14493
9d5f8162
CW
144942011-04-12 Colin Watson <cjwatson@ubuntu.com>
14495
14496 * docs/grub.texi (normal): New section.
14497 (normal_exit): New section.
14498 (Embedded configuration): Add reference to normal.
14499 (GRUB only offers a rescue shell): Likewise.
14500 * docs/grub-dev.texi (Error Handling): Fix typo.
14501
09a9d66f
CW
145022011-04-12 Colin Watson <cjwatson@ubuntu.com>
14503
14504 * NEWS: Drop obsolete entry about probe-only btrfs support.
14505
0c676933
CW
145062011-04-12 Colin Watson <cjwatson@ubuntu.com>
14507
14508 * util/import_gcry.py: Fix typo.
14509
ec9f5e0d
VS
145102011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14511
14512 * NEWS: Add btrfs support.
14513
fe6b2cba
VS
145142011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
145152011-04-11 Colin Watson <cjwatson@ubuntu.com>
14516
14517 BtrFS support. Written by me (Vladimir) with important bugfixes and
14518 even more important testing by Colin.
14519
14520 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
14521 * grub-core/Makefile.core.def (btrfs): Add crc.c.
14522 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
14523 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
14524 mem_input_off and mem_input. All users updated to accept in-RAM input.
14525 (gzio_seek): New function.
14526 (test_zlib_header): Likewise.
14527 (grub_gzio_read): Likewise.
14528 (grub_zlib_decompress): Likewise.
14529 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
14530 Accept partial and non-virtual mounts.
14531 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
14532 avoid receiving /dev/dm-X as device.
14533 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
14534 Handle bind and partial mounts.
14535 * grub-core/lib/crc.c: New file.
14536 * include/grub/deflate.h: Likewise.
14537 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
14538 proto.
14539 * include/grub/lib/crc.h: New file.
14540
e745cf0c
VS
145412011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14542
14543 Implement automatic module license checking according to new GNU
14544 guidelines.
14545
14546 * grub-core/kern/dl.c (grub_dl_check_license): New function.
14547 (grub_dl_load_core): Use grub_dl_check_license.
14548 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
14549 (GRUB_MOD_LICENSE): Likewise.
14550 (GRUB_MOD_DUAL_LICENSE): Likewise.
14551 All modules updated.
14552
2a9bc016
CW
145532011-04-11 Colin Watson <cjwatson@ubuntu.com>
14554
14555 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
14556 reserved_first_sector to 1. btrfs reserves plenty of space for boot
14557 loaders.
14558 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
14559
8a3bc88e
VS
145602011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14561
14562 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
14563
af869a4a
VS
145642011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14565
14566 * util/grub-fstest.c (read_file): Report GRUB error if file opening
14567 failed.
14568
9ee8d94f
VS
145692011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14570
14571 * grub-core/kern/file.c (grub_file_open): Don't take into account the
14572 parenthesis in the middle of the filename.
14573
b01abe3e
VS
145742011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14575
14576 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
14577 rather than trying to put initrd way too high.
14578 Reported by: Ryan Lortie <desrt@desrt.ca>
14579
335bda1e
VS
145802011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14581
14582 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
14583 improperly removed string.
14584
5ca1a64d
VS
145852011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14586
14587 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
14588 is_disk.
14589 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
14590 (open_device) Likewise.
14591 (grub_util_biosdisk_close): Likewise.
d8ce9995 14592 Reported by: Mark Korenberg.
5ca1a64d 14593
cbac5b1e
AK
145942011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
14595
14596 * util/grub-mkconfig_lib.in: Add missing quotes.
14597
088cdb65
CW
145982011-04-10 Colin Watson <cjwatson@ubuntu.com>
14599
14600 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
14601 is NULL.
14602
8b8a81fa
VS
146032011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14604
14605 Dynamically count the number of lines for the lower banner.
14606
14607 * grub-core/normal/menu_entry.c (per_term_screen): New member
14608 num_entries.
14609 (print_down): Use num_entries.
14610 (update_screen): Likewise.
14611 (grub_menu_entry_run): Set num_entries.
14612 * grub-core/normal/menu_text.c (menu_viewer_data): New member
14613 num_entries.
14614 (grub_print_message_indented): Move real part to ...
14615 (grub_print_message_indented_real): ... here. Additional argument
14616 dry_run.
14617 (draw_border): Additional argument num_entries.
14618 (print_message): Additional argument dry_run.
14619 (print_entries): Receive menu viewer data.
14620 (grub_menu_init_page): New argment num_entries.
14621 (menu_text_set_chosen_entry): Use num_entries.
14622 (grub_menu_try_text): Likewise.
14623 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
14624 All users updated.
14625 (grub_ucs4_count_lines): New function.
14626 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
14627 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
14628 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
14629 (grub_term_border_height): Likewise.
14630 (grub_term_num_entries): Likewise.
14631
277f955b
VS
146322011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
14635 Remove now unused string.
14636
536ce85a
CW
146372011-04-09 Colin Watson <cjwatson@ubuntu.com>
14638
14639 * docs/grub-dev.texi (Finding your way around): Update for 1.99
14640 build system.
14641 (Getting started): GRUB is developed in Bazaar now, not Subversion.
14642
14643 (Comment): Fix typo.
14644 (Getting started): General copy-editing.
14645 (Typical Development Experience): Likewise.
14646 (Error Handling): Likewise.
14647 (Video API): Likewise.
14648
2cf09e32
CW
146492011-04-09 Colin Watson <cjwatson@ubuntu.com>
14650
14651 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
14652 throughout.
14653
1ec652f4
VS
146542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14655
14656 * util/grub-mkimage.c (main): Handle special naming of yeeloong
14657 directory.
14658
2c583728
CW
146592011-04-08 Colin Watson <cjwatson@ubuntu.com>
14660
14661 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
14662 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
14663 "development".
14664
d7a565e9
VS
146652011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14666
14667 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
14668 grub_strcpy since the lines aren't necessarily 0-terminated.
14669
7c2e4909
VS
146702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14671
14672 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
14673 root on legacy.
14674
34c09785
VS
146752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14676
14677 * grub-core/commands/probe.c (options): Argument to set isn't optional.
14678 (GRUB_MOD_INIT): DEVICE isn't optional.
14679
6a6f8058
VS
146802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14681
14682 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
14683 word on new line if it's too long anyway. Fixes a hang.
14684
2e335e90
VS
146852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
14688 const.
14689 * util/grub-setup.c (main): Reuse md device name if available.
14690 * util/raid.c (grub_util_raid_getmembers): Receive device name and
14691 not GRUB name as argument.
14692 Based on patch by: Florian Wagner <fwagner>.
14693
10a7a867
VS
146942011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14697 Place mbi on low memory for better compatibility.
14698
7a3d6cd9
VS
146992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14700
14701 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
14702
18dd6b47
VS
147032011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
147042011-04-08 Colin Watson <cjwatson@ubuntu.com>
14705
14706 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 14707 * conf/Makefile.common: Likewise.
18dd6b47 14708
3c0e3f14
VS
147092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14710
f7148863
VS
14711 * grub-core/normal/menu.c: Add missing include.
14712
147132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14714
14715 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 14716
6d1fa41f
MZ
147172011-04-08 Martin Zuther <mzuther@mzuther.de>
14718
14719 * util/grub-mkconfig.in: Ignore emacsen backup.
14720
478182a8
VS
147212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
14724 on open.
14725 (grub_util_biosdisk_close): Likewise.
14726
72a89a54
VS
147272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14728
14729 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
14730 const attribute and use grub_isdigit.
14731
b5ebecfa
A
147322011-04-06 Andrey <dev_null@ukr.net>
14733
14734 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
14735 gcc warning.
14736
7755f66e
VS
147372011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14738
14739 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
14740 useful grub_dprintf's.
14741
461121ff
VS
147422011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
14745
2a961775
VS
147462011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14747
14748 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
14749
adf594cc
VS
147502011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14751
14752 Output errors if theme loading failed.
14753
14754 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
14755 grub_gfxterm_fullscreen on error paths to ...
14756 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
14757 theme loading error.
14758
665900a3
VS
147592011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14760
14761 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
14762 space for older compilers.
14763 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14764
a562b479
VS
147652011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14766
14767 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
14768 and report them as not RAID members since they are useless for GRUB.
14769 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14770
850e9373
VS
147712011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14772
14773 Increase LVM implementation robustness in order not to crash on
14774 configurations like pvmove. Previously code assumed that in some places
14775 only lvs or only pvs are used whereas it seems that they are used
14776 interchangeably.
14777
14778 * grub-core/disk/lvm.c (read_node): New function.
14779 (read_lv): Use read_node.
14780 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
14781 Match volumes only at the end when all lvs are found. Take both
14782 pvs (first) and lvs (second) into account.
14783 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
14784 mirror_* into node_*. All users updated.
14785 (grub_lvm_stripe): Merge this ...
14786 (grub_lvm_mirror): ... and this ...
14787 (grub_lvm_node): ... into this. All users updated.
14788
6f332153
VS
147892011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14790
14791 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
14792 of function to allow further scanning for LVMs.
14793
829ea451
VS
147942011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14795
14796 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
14797 on failed seek as it breaks open fd reusage.
14798
09ceb9a5
VS
147992011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14800
14801 * util/grub-install.in: Add a recommendation to use --recheck before
14802 reporting bugs.
14803
67e11623
VS
148042011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14805
14806 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
14807 are obtained.
14808
caee5efd
VS
148092011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14810
14811 GRUB developper manual based on existing Internals section and
14812 contributions by the various authors with active copyright assignment.
14813
14814 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
14815 * docs/font_char_metrics.png: New file.
14816 * docs/font_char_metrics.txt: Likewise.
14817 * docs/grub-dev.texi: Likewise.
14818 * docs/grub.texi (Internals): Move from here ...
14819 * docs/grub-dev.texi: ... here.
14820
2cccc747
CW
148212011-04-01 Colin Watson <cjwatson@ubuntu.com>
14822
14823 Store the loopback device as data on loopback grub_disk structures,
14824 rather than the file it points to. This fixes use of freed memory
14825 if an existing loopback device is replaced.
14826
14827 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
14828 disk->data, not dev->file.
14829 (grub_loopback_read): Adjust file assignment to match.
14830 Fixes Ubuntu bug #742967.
14831
186ae367
CW
148322011-04-01 Colin Watson <cjwatson@ubuntu.com>
14833
14834 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
14835 when replacing an existing device.
14836
cfed2ad0
VS
148372011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
14838
14839 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
14840 memory corruptions.
14841
14842 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
14843 unsigned.
14844 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
14845 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
14846 (grub_jfs_read_inode): Likewise.
14847 (grub_jfs_opendir): Likewise. Remove now useless casts.
14848 (grub_jfs_getent): Likewise.
14849 Make ino a grub_uint32_t rather than int.
14850 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
14851 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
14852 division and module with bit operations.
14853 (grub_jfs_find_file): Make ino a grub_uint32_t.
14854 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
14855
05d2ed32
CW
148562011-04-01 Colin Watson <cjwatson@ubuntu.com>
14857
14858 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
14859 warning. (This was in fact always initialised before use, but GCC
14860 wasn't smart enough to prove that.)
14861 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
14862
91dc6073
VS
148632011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14864
14865 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
14866 stack alignment.
14867 (efi_wrap_1): Likewise.
14868 (efi_wrap_2): Likewise.
14869 (efi_wrap_3): Likewise.
14870 (efi_wrap_4): Likewise.
14871 (efi_wrap_5): Likewise.
14872 (efi_wrap_6): Likewise.
14873 (efi_wrap_10): Likewise.
14874 Based on information by: Red Hat/Peter Jones.
14875
a8afc1d1
CW
148762011-03-31 Colin Watson <cjwatson@ubuntu.com>
14877
14878 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
14879 set-but-not-used variable.
14880
a826cc7d
CW
148812011-03-31 Colin Watson <cjwatson@ubuntu.com>
14882
14883 * docs/grub.texi (Simple configuration): Be more explicit about
14884 GRUB_DEFAULT, and add an example.
14885 Reported by: Leslie Rhorer.
14886
875b67ba
CW
148872011-03-30 Colin Watson <cjwatson@ubuntu.com>
14888
14889 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
14890 shell".
14891
fd7cd914
AS
148922011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
14893
14894 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
14895 * util/grub.d/20_linux_xen.in: Likewise.
14896
090b1b6a
VS
148972011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14898
14899 * util/grub.d/10_linux.in: Try alternative config filenames where
14900 we parse config file.
14901 * util/grub.d/20_linux_xen.in: Likewise.
14902
baad885c
AS
149032011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
14904
14905 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
14906 * util/grub.d/20_linux_xen.in: Likewise.
14907
241e41f5
VS
149082011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14909
14910 * grub-core/disk/raid.c (insert_array): Add few potentially
14911 useful grub_util_info.
14912 (grub_raid_register): Likewise.
14913
56445fb2
VS
149142011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14915
14916 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
14917 Preserve partition number in mdadm code path.
14918
c871b1c6
VS
149192011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14920
14921 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
14922 few potentially useful grub_util_info.
14923
5e631b4f
CW
149242011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14925
14926 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
14927
2d5d0333
CW
149282011-03-30 Colin Watson <cjwatson@ubuntu.com>
14929
14930 * docs/grub.texi (default): Use @example rather than nested
14931 itemized lists to avoid breaking gendocs.
14932
3d7ed04e
CW
149332011-03-30 Colin Watson <cjwatson@ubuntu.com>
14934
14935 * docs/grub.texi (Future): Update.
14936
abf04200 149372011-03-30 Colin Watson <cjwatson@ubuntu.com>
14938
14939 * docs/grub.texi (Environment): New chapter.
14940 (Changes from GRUB Legacy): Link to "Environment block" section for
14941 details of limitations.
14942 (Simple configuration): Likewise. Link to documentation of gfxmode
14943 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
14944 respectively.
14945 (Shell-like scripting): Note that normal variables are stored in the
14946 environment.
14947 (gettext): Link to documentation of lang and locale_dir.
14948 (list_env): New section.
14949 (load_env): New section.
14950 (save_env): New section.
14951
14952 (Reporting bugs): Fix typo.
14953
e1ad0edd
VS
149542011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14955
14956 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
14957 the example.
14958
5d803174
VS
149592011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14960
14961 * grub-core/term/at_keyboard.c (set_scancodes)
14962 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
14963
2a2da1d0
CW
149642011-03-30 Colin Watson <cjwatson@ubuntu.com>
14965
14966 * docs/grub.texi (Menu-specific commands): Remove some semantics
14967 that were true in GRUB Legacy but not in GRUB 2.
14968 (submenu): New section.
14969 (false): New section.
14970 (read): New section.
14971 (true): New section.
14972
a7527639
CW
149732011-03-30 Colin Watson <cjwatson@ubuntu.com>
14974
14975 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
14976
149772011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
14978
14979 * docs/grub.texi (Simple configuration): Explain some of the
14980 current limitations of grub-mkconfig.
8a748df2 14981 Reported by: Leslie Rhorer.
e30af029 14982
fc858482
VS
149832011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14984
14985 Old macs search for boot.efi rather than for bootia32.efi.
14986
14987 * util/grub-install.in: Copy bootia32.efi to boot.efi.
14988 * util/grub-mkrescue.in: Likewise.
14989 Suggested by: Peter Jones.
14990
e1eb511d
VS
149912011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14992
14993 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
14994
70e75364
VS
149952011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14996
14997 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
14998 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
14999 (grub_lvm_mirror): New struct.
15000 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
15001 (grub_lvm_iterate): Iterate only visible volumes.
15002 (grub_lvm_read): Factor out to ..
15003 (read_lv): ... this. Support mirrors.
15004 (grub_lvm_read): New wrapper function.
15005 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
15006 stripped or mirrored.
15007
fc18f6a3
VS
150082011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15009
15010 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
15011
5c650f4c
CW
150122011-03-29 Colin Watson <cjwatson@ubuntu.com>
15013
15014 * docs/grub.texi (loopback): New section.
15015
61d7156b
CW
150162011-03-29 Colin Watson <cjwatson@ubuntu.com>
15017
15018 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
15019 removed -p option.
15020
994b8264
CW
150212011-03-29 Colin Watson <cjwatson@ubuntu.com>
15022
15023 * docs/grub.texi (BIOS installation): New section, partly based on
15024 previous text in other sections.
15025 (Installing GRUB using grub-install): Replace BIOS discussion with a
15026 cross-reference.
15027 (Images): Likewise.
15028
9e4d19e0
VS
150292011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 * grub-core/kern/emu/hostdisk.c (find_partition_start)
15032 [HAVE_DIOCGDINFO]: Add safety checks.
15033
a307c0b2
VS
150342011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15035
15036 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
15037 per default compiled in kernel and prior to 8.0 isn't shipped at all.
15038
b4db4f39
CW
150392011-03-29 Colin Watson <cjwatson@ubuntu.com>
15040
15041 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
15042 real_sb->size is zero (e.g. RAID-0), get the disk size from
15043 real_sb->data_size instead.
15044 Fixes Ubuntu bug #743136.
15045
35e5f84c
VS
150462011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
15049 printf clauses for printing size and start.
15050
d2e29d81
VS
150512011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15052
15053 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
15054 Reported and tested by: Timothy Nikkel.
15055
ed5587af
VS
150562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15057
15058 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
15059 (dirty_region_add_real): ... this.
15060 (dirty_region_add): Don't discard margin refresh when performing
15061 scheduled repaint.
15062
a1dc717c
VS
150632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 * grub-core/lib/relocator.c (allocate_regstart)
15066 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
15067 terminals are capabple of malloc-free operation.
15068 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15069 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15070
9f3677d3
VS
150712011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
15072
15073 * util/grub-setup.c: Copy the partition table zone if floppy support
15074 is disabled, even if no partition table is found.
15075
15076 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
15077 during POST if an invalid partition table is contained in the PBR
15078 of the active partition when GRUB is installed to a partition.
15079
24148725
CW
150802011-03-28 Colin Watson <cjwatson@debian.org>
15081
15082 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
15083 comment.
15084
f329eda7
CW
150852011-03-28 Colin Watson <cjwatson@debian.org>
15086
15087 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
15088 to be specific about what kind of RAID device we're scanning for.
15089
c482ad98
SG
150902011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
15091
15092 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
15093 return freed string.
15094
5ee04984
VS
150952011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15096
15097 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
15098
f4727da9
VS
150992011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15100
15101 Use libgeom on FreeBSD to detect partitions.
15102
15103 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
15104 (grub-mkrelpath): Likewise.
15105 (grub-script-check): Likewise.
15106 (grub-editenv): Likewise.
15107 (grub-mkpasswd-pbkdf2): Likewise.
15108 (grub-fstest): Likewise.
15109 (grub-mkfont): Likewise.
15110 (grub-mkdevicemap): Likewise.
15111 (grub-probe): Likewise.
15112 (grub-setup): Likewise.
15113 (grub-ofpathname): Likewise.
15114 (grub-mklayout): Likewise.
15115 (example_unit_test): Likewise.
15116 (grub-menulst2cfg): Likewise.
15117 * grub-core/Makefile.core.def (grub-emu): Likewise.
15118 (grub-emu-lite): Likewise.
15119 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
15120 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
15121 define HAVE_DIOCGDINFO.
15122 (follow_geom_up) [FreeBSD]: New function.
15123 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
15124 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
15125 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
15126 unconditionally of HAVE_DIOCGDINFO.
15127
82fe6c75
VS
151282011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15129
15130 Fix FreeBSD compilation problem.
15131
15132 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
15133 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
15134
4c6c9431
CW
151352011-03-24 Colin Watson <cjwatson@ubuntu.com>
15136
15137 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
15138 Switch back to page zero before loading a kernel, since some kernel
15139 drivers expect that.
15140 Thanks to: Felix Kuehling.
15141
c7064d94
VS
151422011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15143
15144 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
15145 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
15146 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
15147
3f71cded
VS
151482011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15149
15150 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
15151 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
15152
ef6de21a
VS
151532011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15154
15155 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
15156 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
15157 malloc is disabled.
15158
8bc66a2c
VS
151592011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
15162 for modules headers when counting the needed allocation size.
15163
5657722c
VS
151642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
15167 if no ASCII character is found to prevent crash.
15168
41a85f55
AK
151692011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
15170
15171 * grub-core/video/bitmap.c (match_extension): Ignore case.
15172
59e1e5f1
VS
151732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
15176
bd4d051a
VS
151772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15178
15179 * grub-core/script/parser.y: Declare "time" as valid argument.
15180
bae7fcc1
PJ
151812011-03-23 Peter Jones <pjones@redhat.com>
15182
15183 Fix incorrect assert failure reporting.
15184
15185 * grub-core/tests/example_functional_test.c (example_test): Add
15186 a failure comment.
15187 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
15188 (failure_start): ...this. Check that malloc succeeded.
15189 Don't call xvasprintf. Return failure struct.
15190 (failure_append_vtext): New function.
15191 (failure_append_text): Likewise.
15192 (add_failure): Likewise.
15193 (grub_test_assert_helper): Likewise.
15194 * include/grub/test.h (grub_test_assert_helper): New declaration.
15195 (grub_test_assert): Macro rewritten.
15196
537dc9be
VS
151972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15198
15199 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
15200
fa3e01bf
VS
152012011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15202
15203 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
15204
b1d28404
VS
152052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15206
15207 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
15208 into GRUB-style one.
15209
2e3e2e09
VS
152102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15211
15212 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
15213 error and not grub_errno.
15214 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
15215
ed57e557
VS
152162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15217
15218 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
15219 GRUB_USB_SPEED_NONE in case of failure and not the error code.
15220
d1611f01
VS
152212011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15222
15223 * grub-core/efiemu/i386/pc/cfgtables.c
15224 (grub_machine_efiemu_init_tables): Make declaration a prototype.
15225 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
15226 (grub_xnu_unlock): Likewise.
15227 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
15228
7d4e39d6
VS
152292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15230
15231 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
15232 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
15233 * grub-core/commands/hashsum.c (aliases): Likewise.
15234 * grub-core/commands/setpci.c (pci_registers): Likewise.
15235 * grub-core/disk/usbms.c (attach_hook): Likewise.
15236 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
15237 (zio_checksum_table): Likewise.
15238 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
15239 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
15240 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
15241 * grub-core/lib/relocator.c (leftovers): Likewise.
15242 (extra_blocks): Likewise.
15243 * grub-core/loader/i386/bsd.c (relocator): Likewise.
15244 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
15245 (modules_last): Likewise.
15246 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
15247 (devices): Likewise.
15248 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
15249 (modules_last): Likewise.
15250 * grub-core/normal/auth.c (users): Likewise.
15251 * grub-core/normal/context.c (initial_menu): Likewise.
15252 (current_menu): Likewise.
15253 * grub-core/normal/crypto.c (crypto_specs): Likewise.
15254 * grub-core/term/serial.c (grub_serial_ports): Likewise.
15255 (grub_serial_terminfo_input_template): Likewise.
15256 (grub_serial_terminfo_output_template): Likewise.
15257 (grub_serial_terminfo_input): Likewise.
15258 (grub_serial_terminfo_output): Likewise.
15259 (registered): Likewise.
15260 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
15261
40fc4659
VS
152622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15263
15264 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
15265 grub_video_mode_type_t.
15266 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
15267 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
15268 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
15269
2da48d28
VS
152702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15271
15272 * util/grub-install.in: Correct the x86-64 name as x86_64.
15273
9b43bf39
CW
152742011-03-11 Colin Watson <cjwatson@ubuntu.com>
15275
15276 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
15277 initial chunk read from the kernel always includes GRUB's multiboot
15278 header, which is now outside the first sector.
15279
be1a7ce0
CW
152802011-03-09 Colin Watson <cjwatson@ubuntu.com>
15281
15282 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
15283 cached mmap_size, so that this works correctly when called multiple
15284 times.
15285 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
15286
83a3c48d
CW
152872011-03-09 Colin Watson <cjwatson@ubuntu.com>
15288
15289 * docs/grub.texi (Simple configuration): Tidy up formatting.
15290
57d75699
SJ
152912011-03-07 Szymon Janc <szymon@janc.net.pl>
15292
15293 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
15294 Set-but-not-used variable removed.
15295
028501a0
VS
152962011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15297
15298 Workaround yet another IEEE1275 bug.
15299
15300 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
15301 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
15302 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
15303 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
15304 is set.
15305 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15306 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
15307
d998657d
VS
153082011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15309
15310 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
15311 error.
15312
fee7cdd4
CW
153132011-02-11 Colin Watson <cjwatson@ubuntu.com>
15314
15315 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
15316 empty, since in that case we can only generate either nothing or a
15317 syntactically invalid configuration file.
15318 Reported by: Michal Suchanek. Fixes Debian bug #612898.
15319
97286eb5
CW
153202011-02-09 Colin Watson <cjwatson@ubuntu.com>
15321
15322 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
15323 (Making a GRUB bootable CD-ROM): Likewise.
15324 (Invoking grub-mkrescue): New section.
15325 Reported by: Yann Dirson. Fixes Debian bug #612585.
15326
22b28eb3
CW
153272011-02-09 Colin Watson <cjwatson@ubuntu.com>
15328
15329 * util/grub-install.in: Remove unnecessary brackets from tr
15330 arguments.
15331 * util/grub.d/10_hurd.in: Likewise.
15332 * util/grub.d/10_kfreebsd.in: Likewise.
15333 * util/grub.d/10_linux.in: Likewise.
15334 * util/grub.d/20_linux_xen.in: Likewise.
15335 Reported by: Jamie Heilman. Fixes Debian bug #612564.
15336
7e735e43
CW
153372011-02-08 Colin Watson <cjwatson@ubuntu.com>
15338
15339 * include/grub/file.h (not_easly_seekable): Rename to ...
15340 (not_easily_seekable): ... this. Update all users.
15341
800f1881
CW
153422011-01-28 Colin Watson <cjwatson@ubuntu.com>
15343
15344 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
15345 grub-mkrescue.
15346
3281d3d6
VS
153472011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
15348
15349 * util/grub-mkimage.c (generate_image): Refuse to create the images
15350 bigger than the actual flash (512K) in Loongson machines. 512K is also
15351 the biggest chip supported by them.
15352
3533413c
VS
153532011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15354
15355 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
15356
73ae4f4f
VS
153572011-01-22 Anthony DeRobertis <anthony@derobert.net>
15358
15359 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
15360 super_offset field.
15361
37f4f608
VS
153622011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15363
15364 * util/grub-install.in: Ignore install device on platforms
15365 where it doesn't make sense. Always use UUIDs except on pc, efi and
15366 sparc64.
15367 Reported by: Daniel Kahn Gillmor.
15368
03a4ccb5
VS
153692011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15370
15371 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
15372
ffc8f4d8
VS
153732011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15374
15375 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
15376 (iterate_real): Don't rely on partition being non-NULL.
15377
80f23be7
VS
153782011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15379
15380 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
15381 supported platforms. Put a compile time assert for this rather than
15382 generate a warning with 32-bit shift.
15383
5d4f4dd5
VS
153842011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15385
15386 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
15387 logical expression more readable.
15388
e489601a
VS
153892011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15390
15391 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
15392 even if some elements have a name.
15393 Reported by: Alexander GQ Gerasiov.
15394
96e0a6ea
CW
153952011-01-22 Colin Watson <cjwatson@ubuntu.com>
15396
15397 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
15398 path unreadable if `grub-probe -t abstraction' fails, for example if
15399 memberlist fails on an LVM volume group.
15400 Reported by: Darius Jahandarie.
15401
81431e2b
CW
154022011-01-22 Colin Watson <cjwatson@ubuntu.com>
15403
15404 * docs/grub.texi (Simple configuration): Document
15405 GRUB_PRELOAD_MODULES.
15406
5e79d66a
CW
154072011-01-17 Colin Watson <cjwatson@ubuntu.com>
15408
15409 * .bzrignore: Remove nonexistent grub-pbkdf2.
15410
646ada34
VS
154112011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
15412
15413 * configure.ac: Bump version to 1.99~rc1.
15414
04360337
VS
154152011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15416
15417 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
15418 for safety.
15419
46c9db88
VS
154202011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
15423 module.
15424
154252011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
15426
15427 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
15428
4fbf1852
VS
154292011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15430
15431 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
15432 diskdevid.
15433
f1632d4d
VS
154342011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15435
15436 Fix compilation on cygwin.
15437
15438 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
15439 -R .drectve on cygwin.
15440 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
15441 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
15442 (COND_CYGWIN): New condition.
15443 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
15444 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
15445 not @TARGET_OBJ2ELF@.
15446 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
15447 type to determine whether aux is to be used.
15448
0b5e127b
VS
154492011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15450
15451 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
15452 realpath'ed device string.
15453 Handle floppy (somewhat).
15454 Issue error in unknown case rather than garbage.
15455 Reported by: Axel Beckert.
15456
173b71e9
VS
154572011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15458
15459 * util/grub.d/00_header.in (load_video): Handle the case when no video
15460 drivers available.
15461 Thanks to: Axel Beckert.
15462
f8f479db
VS
154632011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15464
15465 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
15466 variable. Fixes problem on big endian platforms.
15467
8fc0a245
VS
154682011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
15471 It doesn't work well there.
15472
b8494fbe
VS
154732011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15474
15475 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
15476 warning.
15477 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
15478 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
15479 counter.
15480
b44a558c
VS
154812011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15482
15483 Use alias->path rather than buggy "canon".
15484
15485 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
15486 (ofdisk_hash_add): New argument curcan. All users updated.
15487
51fa856c
CW
154882011-01-11 Colin Watson <cjwatson@ubuntu.com>
15489
15490 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
15491
9da068a5
VS
154922011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15493
15494 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
15495 loadmask before doing any calculations. Use correct type for offset.
15496 (grub_linux_load64): Likewise.
15497
86205c94
CW
154982011-01-11 Colin Watson <cjwatson@ubuntu.com>
15499
15500 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
15501 with NULL.
15502 (console_grub_equivalences_unshift): Likewise.
15503 Reported by: Daniel Dehennin.
15504
4531a206
VS
155052011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15506
15507 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
15508 (set_env_limn_ro): Likewise.
15509 (GRUB_MOD_INIT): Likewise.
15510 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
15511 ARRAY_SIZE while on it.
15512 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
15513 * grub-core/normal/context.c (grub_env_export): Move from here ...
15514 * grub-core/kern/env.c (grub_env_export): ... here.
15515 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
15516 prefix.
15517 * grub-core/kern/main.c (grub_main): Export root and prefix.
15518 * include/grub/env.h (grub_env_export): Export.
15519 Reported by: Seth Goldberg.
15520
45146057
VS
155212011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15524 Take into account space used by ELF sections and multiboot palette.
15525 Reported by: Grégoire Sutre.
15526
f093110b
VS
155272011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15528
15529 * BUGS: New file.
15530
3395fe52
VS
155312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15532
15533 Pass more appropriate video id to Linux.
15534
15535 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
15536 grub_video_get_driver_id and variable gfxpayloadforcelfb to
15537 fill have_vga.
15538 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
15539 shift params->lfb_size.
15540 * include/grub/i386/linux.h: Make an enume out of have_vga values.
15541
c2fa6cbb
VS
155422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * util/grub-menulst2cfg.c: Add missing include of misc.h.
15545
b3ff6ff0
VS
155462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15547
15548 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
15549 separator and pass bootpath/devid even if only one of them is available.
15550 Reported by: Seth Goldberg.
15551
ae67942e
VS
155522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15553
15554 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
15555 implementations bug on them.
15556
15557 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
15558 memory.
15559 (filter_memory_map): Likewise.
15560
d570097a
VS
155612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15562
15563 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
15564 Reported by: nebuchadnezzar.
15565
a508e776
VS
155662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15567
15568 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
15569 Reported by: nebuchadnezzar.
15570
dcb883b1
VS
155712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 Submenu default support.
15574
15575 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
15576 auto_boot. All users updated.
15577 Declared static.
15578 Handle chosen and default with submenus.
15579 (grub_menu_execute_with_fallback): Declared static.
15580 Don't notify failure if autobooted. Upper level does it.
15581 (menuentry_eq): New function.
15582 (get_entry_number): Use menuentry_eq.
15583 (show_menu): New parameter "autobooted". All users updated.
15584 (grub_show_menu): Likewise.
15585 * include/grub/normal.h (grub_show_menu): Likewise.
15586 * include/grub/menu.h (grub_menu_execute_entry): Removed.
15587 (grub_menu_execute_with_fallback): Likewise.
15588
6fef99b4
VS
155892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15590
15591 * util/grub-mklayout.c (usage): Update help text.
15592
47a77af5
VS
155932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15594
15595 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
15596
ce6bb3ee
VS
155972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15598
15599 * util/grub-menulst2cfg.c (main): Trim the line.
15600
db87be2a
VS
156012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15602
15603 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
15604 (grub_machine_init): Don't check amount of low memory as reportedly
15605 INT 12h can be broken and if low memory is too low we wouldn't have
15606 gotten into grub_machine_init anyway.
15607
c49849cc
VS
156082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15609
15610 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
15611 (grub_machine_mmap_iterate): Take low memory into account
15612
b1969b30
VS
156132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15614
15615 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
15616 badfs.
15617 Reported by: TiCPU.
15618
cf0eaf13
VS
156192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15620
15621 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
15622 members errors.
15623
1f060f39
GS
156242011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
15625
15626 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
15627 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
15628
a21e5672
GS
156292011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
15630
15631 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
15632 openbsd and netbsd types being in part_bsd module.
15633
c88172fa
VS
156342011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
15637 (_FILE_OFFSET_BITS): Likewise.
15638 Reported by: Seth Goldberg.
15639
53798c4b
GS
156402011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15641
15642 * configure.ac: Check for libdevmapper header.
15643
e7121b69
VS
156442011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15645
15646 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
15647 avoid aliasing.
15648 (fzap_lookup): Likewise.
15649 (dnode_get): Likewise.
15650 (make_mdn): Likewise.
15651 (zfs_mount): Likewise.
15652 (fzap_iterate): Use temporary pointer to avoid aliasing.
15653 (grub_zfs_read): Likewise.
15654 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
15655 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
15656 pointers to avoid aliasing.
15657 (grub_cmd_xnu_kernel64): Likewise.
15658 (grub_xnu_load_driver): Likewise.
15659
fc836af9
VS
156602011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15661
15662 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
15663 aliasing warning.
15664 (grub_cmd_terminal_output): Likewise.
15665 Reported and tested by: Grégoire Sutre.
15666
f9f37648
VS
156672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15668
15669 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
15670 warning.
15671 Reported and tested by: Grégoire Sutre.
15672
ec1dfd63
VS
156732011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15674
15675 * configure.ac: Do CPU substitution even if it's specified explicitly.
15676 Reported and tested by: Alain Greppin.
15677
9462775a
VS
156782011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15679
15680 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
15681 Reported and tested by: Alain Greppin.
15682
0fd48e35
VS
156832011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15684
15685 Satisfy some bison versions need for inttypes.h.
15686
15687 * grub-core/lib/posix_wrap/inttypes.h: New file.
15688 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
15689 (int16_t): Likewise.
15690 (int32_t): Likewise.
15691 (int64_t): Likewise.
15692 Reported and tested by: Alain Greppin.
15693
43f1bc83
VS
156942011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15695
15696 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
15697 Silence spurious warning.
15698 Reported and tested by: Alain Greppin.
15699
64d1f041
SJ
157002011-01-07 Szymon Janc <szymon@janc.net.pl>
15701
15702 * docs/grub.texi (Support automatic decompression): Update with xz
15703 decompression support.
15704
25953e10
SJ
157052011-01-07 Szymon Janc <szymon@janc.net.pl>
15706
15707 Improve loaders' kernel command line handling.
15708
15709 * grub-core/lib/cmdline.c: New file.
15710 * include/grub/lib/cmdline.h: Likewise.
15711 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
15712 grub_create_loader_cmdline to create kernel command line.
15713 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15714 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
15715 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
15716 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
15717 (linux): Add lib/cmdline.c on common.
15718
e72d259f
VS
157192011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15720
15721 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
15722 inopos might be unaligned.
15723
c0cf26da
VS
157242011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15725
15726 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
15727 endian transformations.
15728 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15729 Based on report by: Doug Nazar.
15730
0ca09e6c
DN
157312011-01-07 Doug Nazar <nazard.michi@gmail.com>
15732
15733 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
15734 array->members[i].start_sector.
15735 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
15736
014b6806
VS
157372011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15738
15739 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
15740 Reported and tested by: Grégoire Sutre.
15741
415502c2
CW
157422011-01-06 Colin Watson <cjwatson@ubuntu.com>
15743
15744 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
15745 avoid causing test failures by clearing the screen.
15746
71b6a2b7
CW
157472011-01-06 Colin Watson <cjwatson@ubuntu.com>
15748
15749 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15750 Fix prefix check to handle the case where dir ends with a slash
15751 (most significantly, "/" itself).
15752 Reported by: Michael Vogt.
15753
b3f8d28a
VS
157542011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15755
15756 Run terminfo_cls on initing terminfo output to clear the screen and
15757 move the cursor to (0,0).
15758
15759 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
15760 Call grub_terminfo_output_init.
15761 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
15762 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
15763 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
15764
4c3e4f37
VS
157652011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15766
15767 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
15768 only when needed.
15769
488f71f1
VS
157702011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15771
15772 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
15773 CTRL.
15774
18a38098
VS
157752011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15776
15777 The E820 type 5 is BADRAM, not EXEC_CODE.
15778
15779 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
15780 (GRUB_E820_BADRAM): New define.
15781 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
15782 into reserved. Propagate BADRAM.
15783 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
15784 (GRUB_E820_BADRAM): New define.
15785
9eae2084
VS
157862011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
15789 Ignore the memory post-4G.
15790 (grub_relocator_firmware_alloc_region): Additional debug statement.
15791
ebc71d28
VS
157922011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
15795 names.
15796 Reported by: David Pravec.
15797
446fa400
VS
157982011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
15801 BIOSes.
15802
a0159f37
VS
158032011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
15806 Prevent overflow.
15807 (grub_reed_solomon_recover): Likewise.
15808
e5146ca1
VS
158092011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
15812
158132011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
15814
15815 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
15816 variable.
15817
5b1bdf12
CW
158182011-01-04 Colin Watson <cjwatson@ubuntu.com>
15819
15820 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
15821 descriptions of extract_legacy_entries_source and
15822 extract_legacy_entries_configfile.
15823 Reported by: Seung Soo, Ha.
15824
99d925aa
CW
158252011-01-03 Colin Watson <cjwatson@ubuntu.com>
15826
15827 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
15828 on devices that do not implement function 0.
15829
4af0504b
DV
158302011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
15831
15832 * grub-core/fs/hfsplus.c: Make parent unsigned.
15833 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
15834 overflows.
15835 (grub_hfsplus_cmp_extkey): Likewise
15836
469ee10a
VS
158372011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
15838
15839 * util/grub-install.in: Correctly use bootloader_id and not
15840 GRUB_DISTRIBUTOR on efibootmgr line.
15841
323a8e9c
VS
158422011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
15843
15844 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
15845
1b394975
IC
158462010-12-31 Ian Campbell <ijc@hellion.org.uk>
15847
15848 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
15849 Xen and reorder menu item wording to make it clearer that this entry
15850 will launch Xen. Print separate messages when loading Xen and
15851 Linux.
15852
275bff5f
VS
158532010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15854
15855 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
15856 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
15857 loop in case of incorrect amiga partmap.
15858
307806cb
VS
158592010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
15862 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
15863 Reported by:EHeM.
15864
b12b923e
VS
158652010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15866
15867 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
15868 spurious warning.
15869 Reported by: crocket
15870
14b48a19
VS
158712010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15872
15873 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
15874 Preload EFIemu.
15875 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
15876
693db2df
VS
158772010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15878
15879 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
15880 is loaded
15881 (grub_cmd_xnu_kextdir): Likewise.
15882 (grub_cmd_xnu_splash): Likewise.
15883
c7638645
VS
158842010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 Avoid using Reed-Solomon with 0 redundancy.
15887
15888 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
15889 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
15890 or 0 redundancy.
15891 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
15892 (grub_reed_solomon_recover): Likewise.
15893
25dd4780
VS
158942010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15895
15896 Don't use disk subsystem in freebsd_boot.
15897
15898 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
15899 (freebsd_biosdev): Likewise.
15900 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
15901 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
15902
0b2db943
VS
159032010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15904
15905 Handling of files of unknown size is currently limited. They can't be
15906 used e.g. for initrd or modules. Moreover gzip handling of not
15907 easily seekable files is buggy. Disable unknown file size for now. May
15908 be inefficient but works.
15909
15910 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
15911 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
15912
5c408d0f
MP
159132010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
15914
15915 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
15916 floppy probe.
15917
190a011a
JD
159182010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
15919
15920 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
15921
022d01b8
SL
159222010-12-25 Shea Levy <shlevy>
15923
15924 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
15925
c4855fdc
VS
159262010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15927
15928 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
15929 Windows Server 2008.
15930 Reported by: Devin Giddings.
15931
0354b867
VS
159322010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15933
15934 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
15935 writing an error message because of async power management.
15936 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
15937 (grub_reboot): Likewise.
15938
ab66c69f
JU
159392010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
15940
15941 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
15942 keep unit tests from failing when they shouldn't.
15943
1426ef35
CW
159442010-12-21 Colin Watson <cjwatson@ubuntu.com>
15945
15946 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
15947 previous patch increased the size of the RS code by 20 bytes (at
15948 least with gcc-4.4), so increase this by 20 bytes to match.
15949 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15950
20641b6b
CW
159512010-12-21 Colin Watson <cjwatson@ubuntu.com>
15952
15953 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
15954 scratch area. Make sure to initialise chosen in standalone mode as
15955 well as non-standalone.
15956 Reported by: Robert Hooker and Andy Whitcroft.
15957 Tested by: Andy Whitcroft.
15958
d060ad60
CW
159592010-12-21 Colin Watson <cjwatson@ubuntu.com>
15960
15961 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
15962 constructing a new unescaped string and passing it to grub_xputs in
15963 one go, rather than passing characters to grub_printf one at a time.
15964
b889cfad
CW
159652010-12-21 Colin Watson <cjwatson@ubuntu.com>
15966
15967 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
15968 initialising utf16.
15969
4e01b6c8
CW
159702010-12-21 Colin Watson <cjwatson@ubuntu.com>
15971
15972 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
15973 comment. Add an extra layer of quotation, requiring the output of
15974 this function to be used in a printf format string.
15975 (gettext_printf): New function.
15976 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
15977 Extract translatable strings from here-documents and use a temporary
15978 variable instead, so that xgettext can find them.
15979 * util/grub.d/10_kfreebsd.in: Likewise.
15980 * util/grub.d/10_linux.in: Likewise.
15981 * util/grub.d/20_linux_xen.in: Likewise.
15982
15983 * po/grub.d.sed: New file.
15984 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
15985 arguments. Set c-format flags on all strings extracted from
15986 util/grub.d/ (xgettext refuses to include these itself for strings
15987 it extracted from a shell file, but these really are c-format).
15988
5318fe98
VS
159892010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15990
15991 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
15992 Avoid next pointing to nowhere.
15993
6c85b743
VS
159942010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15995
15996 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
15997 rather than assuming than rootblock is exactly in the middle.
15998 (grub_affs_label): Likewise.
15999
a2a08a35
VS
160002010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16001
16002 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
16003 reserved_first_sector to 0.
16004 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
16005 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
16006 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
16007
7059d1ec
VS
160082010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16009
16010 Fix handling of UTF-16 UDF labels.
16011
16012 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
16013 (read_string): .. here.
16014 (grub_udf_label): Use read_string.
16015
30aff4cb
BC
160162010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
16017
16018 * grub-core/normal/menu_entry.c (run): Execute commands from menu
16019 editor under argument scope.
16020 Reported by: Jordan Uggla
16021
5cf86f4b
VS
160222010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16023
16024 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
16025
32570200
CW
160262010-12-18 Colin Watson <cjwatson@ubuntu.com>
16027
16028 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
16029 line, and other keys scroll an entire page (previous handling was
16030 for \r and \n to scroll a page and other keys to scroll two lines).
16031
e1dffcf2
VS
160322010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16033
16034 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16035 Set ptrdest to correct get_physical_target_address rather than
16036 incorrect get_virtual_current_address.
16037
b04298cf 160382010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
16039
16040 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
16041 correct cat to grub_uint8_t * rather than grub_uint32_t *.
16042
5367ecd3
CW
160432010-12-10 Colin Watson <cjwatson@ubuntu.com>
16044
16045 * .bzrignore: Ignore grub-core/rs_decoder.S.
16046
1fb430f8
CW
160472010-12-10 Colin Watson <cjwatson@ubuntu.com>
16048
16049 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
16050 .mo/.mo.gz opening sequence to ...
16051 (grub_mofile_open_lang): ... here.
16052 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
16053 * util/grub.d/00_header.in (grub_lang): Include country part of
16054 locale.
16055 Reported by: Mario Limonciello.
16056
a94a6671
RM
160572010-12-09 Robert Millan <rmh@gnu.org>
16058
16059 * NEWS: Document addition of ZFS support.
16060
24b7938b
CW
160612010-12-04 Colin Watson <cjwatson@ubuntu.com>
16062
16063 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
16064 rather than `/ 2', as the latter requires -Wa,--divide which would
16065 require bumping our minimum binutils version.
16066
bddc3ef6
BC
160672010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
16068
16069 * util/grub-script-check.c (main): Print script line number on
16070 error.
16071
bf78d5b2
RM
160722010-12-01 Robert Millan <rmh@gnu.org>
16073
16074 * grub-core/fs/zfs/zfs.c: New file.
16075 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
16076 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
16077 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
16078 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16079
16080 * include/grub/zfs/dmu.h: Likewise.
16081 * include/grub/zfs/dmu_objset.h: Likewise.
16082 * include/grub/zfs/dnode.h: Likewise.
16083 * include/grub/zfs/dsl_dataset.h: Likewise.
16084 * include/grub/zfs/dsl_dir.h: Likewise.
16085 * include/grub/zfs/sa_impl.h: Likewise.
16086 * include/grub/zfs/spa.h: Likewise.
16087 * include/grub/zfs/uberblock_impl.h: Likewise.
16088 * include/grub/zfs/vdev_impl.h: Likewise.
16089 * include/grub/zfs/zap_impl.h: Likewise.
16090 * include/grub/zfs/zap_leaf.h: Likewise.
16091 * include/grub/zfs/zfs.h: Likewise.
16092 * include/grub/zfs/zfs_acl.h: Likewise.
16093 * include/grub/zfs/zfs_znode.h: Likewise.
16094 * include/grub/zfs/zil.h: Likewise.
16095 * include/grub/zfs/zio.h: Likewise.
16096 * include/grub/zfs/zio_checksum.h: Likewise.
16097
16098 * Makefile.util.def: Build ZFS into libgrubmods.
16099 * grub-core/Makefile.core.def: Build zfs.mod.
16100
3f0f3831
SJ
161012010-11-30 Szymon Janc <szymon@janc.net.pl>
16102
16103 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
16104 variable.
16105 * grub-core/commands/wildcard.c (match_files): Likewise.
16106
3a4253b2
RM
161072010-11-30 Robert Millan <rmh@gnu.org>
16108
16109 * grub-core/loader/i386/bsd.c
16110 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
16111 whether kernel is loaded using grub_loader_is_loaded(), rather
16112 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
16113 certain error conditions.
16114
8c317b27
RM
161152010-11-30 Robert Millan <rmh@gnu.org>
16116
c5c9cd3e
RM
16117 * grub-core/commands/echo.c: Include `<grub/term.h>'.
16118 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 16119
49d3ab46
VS
161202010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 Avoid using tricks for initialising endian variables.
16123
16124 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
16125 Make const.
16126 (GRUB_MOD_INIT): Don't byte-swap.
16127 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16128 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
16129 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
16130 (grub_swap_bytes32_compile_time): Likewise.
16131 (grub_cpu_to_le32_compile_time): Likewise.
16132 (grub_cpu_to_le16_compile_time): Likewise.
16133
f420a804
VS
161342010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 * util/grub-setup.c (setup): Stop recommending --force. People who
16137 understand the dangers of blocklists are able to find this option
16138 anyway and the ones who don't shouldn't use it anyway.
16139
4e7db17b
RM
161402010-11-26 Robert Millan <rmh@gnu.org>
16141
16142 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
16143 Update all users.
16144
9be57a0d
CW
161452010-11-26 Colin Watson <cjwatson@ubuntu.com>
16146
16147 Fix LVM-on-RAID probing.
16148
16149 * util/grub-probe.c (probe): Remember which disk was detected as
16150 RAID (perhaps an LVM physical volume). Use that disk's raidname
16151 rather than that of the top-level disk.
16152
2c7859b3 161532010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 16154
d7647bb6
BC
16155 Fix cmdline argument quotes for setparams command of menuentry
16156 definitions.
7e623b0d
BC
16157
16158 * grub-core/commands/menuentry.c (setparams_prefix): Use single
16159 quotes for arguments.
f866fe80 16160 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 16161 grub_strchrsub function instead.
f866fe80 16162
7955bea0 16163 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 16164
74f72a64
CW
161652010-11-24 Colin Watson <cjwatson@ubuntu.com>
16166
16167 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
16168 effort by skipping "." and ".." entries up-front.
16169 Suggested by: Michael Lazarev.
16170
5a407278
CW
161712010-11-24 Colin Watson <cjwatson@ubuntu.com>
16172
16173 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
16174 ldflags to ldadd, to fix link line ordering.
16175 (none_decompress): Likewise.
16176
3030d8ec
CW
161772010-11-24 Colin Watson <cjwatson@ubuntu.com>
16178
16179 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
16180 platforms.
16181 (grub-emu-lite): Remove kern/emu/cache.S.
16182
b7fbac12
CW
161832010-11-23 Colin Watson <cjwatson@ubuntu.com>
16184
16185 * util/deviceiter.c (compare_devices): If the by-id link for a
16186 device couldn't be resolved, fall back to sorting by the by-id link
16187 rather than segfaulting.
16188 Reported and tested by: Daniel Mierswa.
16189
5225f328
CW
161902010-11-23 Colin Watson <cjwatson@ubuntu.com>
16191
16192 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
16193 ldflags, to fix link line ordering.
16194
038b3ce8
CW
161952010-11-23 Colin Watson <cjwatson@ubuntu.com>
16196
16197 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
16198 linkers are picky about this.
16199
bf16e98e
CW
162002010-11-23 Colin Watson <cjwatson@ubuntu.com>
16201
16202 * grub-core/Makefile.am (command.lst): Adjust sed expression
16203 ordering so that extended and priority commands aren't treated as
16204 ordinary commands.
16205
7242bab6
CW
162062010-11-23 Colin Watson <cjwatson@ubuntu.com>
16207
16208 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16209 Remove byte-swapping function calls, which are not valid in
16210 structure initialisers.
16211 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
16212 non-const.
16213 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
16214 grub_gpt_partition_type_bios_boot.
16215
14e8b279
CW
162162010-11-22 Colin Watson <cjwatson@ubuntu.com>
16217
16218 Fix test program build on GNU/kFreeBSD.
16219
16220 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
16221 $(LIBNVPAIR)' library dependencies.
16222
e6f63338 162232010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
16224
16225 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
16226
cf8ffc38
CW
162272010-11-22 Colin Watson <cjwatson@ubuntu.com>
16228
16229 * util/grub-install.in: Remove excessive quoting that broke
16230 installations to RAID devices.
16231
7f8b0fd7
VS
162322010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16233
16234 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
16235 bootloader version instead of 0.
16236
dfd240b1
VS
162372010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16238
16239 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
16240 warning.
16241
7b61e609
VS
162422010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16243
16244 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
16245 retrieve the metadat sector if size isn't known.
16246 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16247
9dfe92d0
RM
162482010-11-18 Robert Millan <rmh@gnu.org>
16249
16250 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
16251 with grub_memcmp().
16252
41cc919e
VS
162532010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
16256 arrow.
16257 Reported by: Jordan Uggla.
16258
1afcc914
VS
162592010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16260
16261 Make better UTF compliant.
16262
16263 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
16264 sequences as incorrect.
16265 (grub_is_valid_utf8): Likewise.
16266 (grub_utf8_to_ucs4): Likewise.
16267 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
16268 (grub_ucs4_to_utf8_alloc): Likewise.
16269 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
16270
f1808884
VS
162712010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16272
16273 Make legacy_source behave like source.
16274
16275 * grub-core/commands/legacycfg.c (legacy_file): Don't call
16276 grub_show_menu.
16277 (grub_cmd_legacy_source): Call grub_show_menu if needed.
16278
24ec575b
CW
162792010-11-16 Colin Watson <cjwatson@debian.org>
16280
16281 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
16282 (-Wunused implies -Wunused-parameter, but not vice versa).
16283
72b7c7aa
CW
162842010-11-16 Colin Watson <cjwatson@ubuntu.com>
16285
16286 * configure.ac: Make error messages less confusing by testing for
16287 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
16288 accepted, but produces a diagnostic if something else is wrong).
16289
e98937aa
VS
162902010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
16293 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
16294 (now unused).
16295 (grub_keyboard_controller_init)
16296 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
16297 read the initial state since controller isn't inited yet.
16298
f6bbabc3
VS
162992010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16300
16301 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
16302 allocate_regbeg may need to create new chunk header.
16303
22e7dbb2
VS
163042010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16305
16306 Fix quoting in legacy parser.
16307
16308 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
16309 single quotes.
16310 (grub_legacy_parse): Likewise.
16311 Reported by: Jordan Uggla.
16312 Tested by: Jordan Uggla.
16313
03f80960
VS
163142010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16315
16316 Don't add -lgcc on i386 and x86_64.
16317
16318 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
16319 * conf/Makefile.common (LDADD_KERNEL): Likewise.
16320 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
16321
779dc15b
VS
163222010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16323
16324 * configure.ac: Add -Wno-trampolines when supported.
16325
d20a3b37
MV
163262010-11-14 Modestas Vainius <modax@debian.org>
16327
16328 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
16329 fakeraid.
16330
e5360933
GC
163312010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16332
16333 Add generic logical block size support for UDF.
16334
16335 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
16336 (GRUB_UDF_BLKSZ): Removed.
16337 (struct grub_udf_data): New field "lbshift" to hold the logical block
16338 size of the file system in log2 format. All users updated.
16339 (sblocklist): Change type to unsigned.
16340 (grub_udf_mount): Change type of "sblklist" to unsigned.
16341 Move AVDP search before VRS recognition, because the latter requires
16342 knowledge of the logical block size, which is detected during the
16343 former.
16344 Detect and validate logical block size during AVDP search, adding
16345 support for block sizes 512, 1024 and 4096.
16346 Make VRS recognition independent of block size.
16347
cb0229c5
GC
163482010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16349
16350 Properly handle deleted files on UDF.
16351
16352 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
16353 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
16354 set.
16355
406858a8
GC
163562010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16357
16358 Support reading files larger than 2 GiB.
16359
16360 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
16361 "offset" to grub_off_t.
16362 (grub_udf_read_file): Likewise for parameter "pos".
16363
130da6a7
VS
163642010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16365
16366 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
16367 unavailable.
16368 (Simple configuration): Refer to Changes from GRUB Legacy about
16369 save_env availability.
16370
65e93f6b
VS
163712010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16372
16373 * util/grub-install.in: Ignore empty partition table detection
16374 instead of trying to include part_ module.
16375
1fd08bf1
VS
163762010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16377
16378 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
16379 LVM on RAID support.
16380
de1a024f
VS
163812010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16382
16383 Properly define WORDS_BIGENDIAN in wrapped environments.
16384
16385 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
16386 definition.
16387 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
16388
16389 Reported by: Manoel Rebelo Abranches.
16390 Tested by: Manoel Rebelo Abranches.
16391
bc5dd0b9
VS
163922010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16393
16394 * util/grub-mkconfig.in: Fix quoting.
16395
58c184be
VS
163962010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16397
16398 Support big ext2 files.
16399
16400 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
16401 (grub_ext2_read_block): Support triple indirect blocks.
16402 (grub_ext2_read_file): Use 64-bit types and read size_high.
16403 (grub_ext2_open): Read size_high.
16404 Reported by: Ximin Luo.
16405 Tested by: Manoel Rebelo Abranches.
16406
5f0c02b3
VS
164072010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 * util/grub-install.in: Handle filenames containing spaces.
16410 Reported by: Jordan Uggla.
16411 Tested by: Jordan Uggla.
16412
4417aae6
VS
164132010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16414
16415 * util/grub-mkconfig.in (grub_script_check): New variable.
16416 Use grub_script_check instead of grub-script-check.
16417 Reported by: Barry Jackson.
16418
7625a68e
VS
164192010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16420
16421 * docs/grub.texi (menu): Correct the order.
16422 Reported by: D. Hugh Redelmeier.
16423
10001ac5
VS
164242010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16425
16426 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
16427 jump.
16428
9c4cf53b
MRA
164292010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
16430
10001ac5
VS
16431 * include/grub/elfload.h (grub_elf32_size): New parameter.
16432 All users updated.
9c4cf53b
MRA
16433 Return maximum segments alignment.
16434 (grub_elf64_size): Likewise.
16435 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
16436 Return maximum segments alignment.
16437 (grub_elf64_size): Likewise.
16438 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
16439 (grub_linux_claimmap_iterate): New function. Uses the
16440 "available" property in the "memory" node for memory allocation
16441 for kernel in the PowerPC loader.
9c4cf53b
MRA
16442 (grub_linux_load32): Correctly find linux entry point offset.
16443 (grub_linux_load64): Likewise.
16444
d2bf06bf
RM
164452010-11-07 Robert Millan <rmh@gnu.org>
16446
16447 On mips-yeeloong, build with -march=loongson2f when this flag is
16448 available (GCC >= 4.4).
16449 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
16450 `-march=mips3'.
16451 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
16452 or otherwise add -march=mips3.
16453
898c99a2
BC
164542010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
16455
87220a68
BC
16456 Suppress shell expansion on echo '*' and echo "*" like cases.
16457 Reported by: Jordan Uggla.
898c99a2
BC
16458
16459 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
16460 string arguments before shell expansion.
16461 * tests/grub_cmd_echo.in: New testcases.
16462
4f9b406a
RM
164632010-11-07 Robert Millan <rmh@gnu.org>
16464
16465 * conf/mips-qemu-mips.rmk: Remove stale file from previous
16466 transition.
16467
80c6d25e
VS
164682010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
16469
16470 * grub-core/kern/emu/hostdisk.c
16471 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
16472
4a1a0153
VS
164732010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16474
16475 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
16476 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
16477 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
16478
34706ddc
VS
164792010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16480
16481 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
16482
6972dea9
VS
164832010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16484
16485 * util/grub-install.in: Replace useless recomendation to pass
16486 --modules with a recomendation to report a bug.
16487
9c693bd6
VS
164882010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16489
16490 Properly register serial terminfo.
16491 Reported by: Jordan Uggla
16492
16493 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
16494 const.
16495 (grub_serial_terminfo_output_template): Likewise.
16496 (grub_cmd_serial): Register "serial" with terminfo.
16497 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
16498 grub_serial_terminfo_output.
16499
6c9e4c0c
RM
165002010-11-05 Robert Millan <rmh@gnu.org>
16501
16502 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
16503 needed).
16504
b9b3839f
RM
165052010-11-05 Robert Millan <rmh@gnu.org>
16506
16507 On Yeeloong, pass machine type information to Linux.
16508
16509 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
16510 (LOONGSON_MACHTYPE): New macro, set to
16511 "machtype=lemote-yeeloong-2f-8.9inches".
16512 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
16513 additional argument to Linux.
16514
1a3aaff4
RM
165152010-11-04 Robert Millan <rmh@gnu.org>
16516
16517 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
16518 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
16519 (its SATA disks are detected as slaveless IDE master drives on
16520 kFreeBSD).
16521 Reported by Carsten Aulbert.
16522
a75f4f62
CW
165232010-11-02 Colin Watson <cjwatson@ubuntu.com>
16524
16525 * util/bin2h.c (main): Fix spelling error in generated output.
16526
33b4b0c6
GS
165272010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
16528
16529 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
16530
2b36fbf4
VS
165312010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16532
16533 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
16534 vga= option is supplied.
16535
74aaf558
VS
165362010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16537
16538 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
16539 * util/grub.d/10_kfreebsd.in: Likewise.
16540 * util/grub.d/10_linux.in: Likewise.
16541 * util/grub.d/20_linux_xen.in: Likewise.
16542
6428dec3
VS
165432010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16544
16545 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
16546 argument as an argument to no-argument option.
16547
f8729d98
VS
165482010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16549
16550 * util/grub.d/10_linux.in: Add missing load_video with explicit
16551 GRUB_GFXPAYLOAD_LINUX.
16552
89d68fa6
VS
165532010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16554
16555 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
16556
3a1197cd
VS
165572010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16558
16559 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
16560 elements with invlid index.
16561 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16562 * grub-core/disk/raid.c (insert_array): Automatically reallocate
16563 members.
16564 * include/grub/raid.h (grub_raid_member): New struct.
16565 (grub_raid_array): Transform devices and start_sector into usage of
16566 grub_raid_member. All users updated
16567 (allocated_devs): New member.
16568
71574288
VS
165692010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16570
16571 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
16572 is modified
16573
8d40ec65
BC
165742010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
16575
16576 NetBSD build fix for getline function conflict from gnulib.
16577
16578 * Makefile.util.def (libgrubkern.a): New library for grub kernel
16579 components that depend on gnulib headers.
16580 (libgrubmods.a): Renamed from earlier libgrub.a.
16581 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
16582
95b9257e
VS
165832010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16584
16585 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
16586 install rather than creating a broken install.
16587
26c53dc6
VS
165882010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16589
16590 * util/grub-setup.c (argp): Remove misleading example of installing to
16591 a partition.
16592
4171b3c5
VS
165932010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16594
16595 * util/grub-setup.c (setup): Clarify the error message.
16596
18568d18
VS
165972010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16598
16599 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
16600
4f6a2e21
VS
166012010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16602
16603 * grub-core/kern/emu/misc.c
16604 (grub_make_system_path_relative_to_its_root)
16605 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
16606
166072010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
16608
16609 * grub-core/kern/emu/misc.c
16610 (grub_make_system_path_relative_to_its_root): Revert r2882.
16611
e138c458
VS
166122010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
16613
16614 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
16615 useless field head. All users updated.
16616 (free_subchunk): Correct handling of IN_REGION subchunk.
16617
0cbcdf0e
CW
166182010-10-22 Colin Watson <cjwatson@ubuntu.com>
16619
16620 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
16621 (Supported kernels): Likewise.
16622
b65ea155
GS
166232010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16624
16625 Make mktemp invocations portable.
16626
16627 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
16628 exit if mktemp fails.
16629 * tests/grub_script_blockarg.in: Likewise.
16630 * tests/partmap_test.in: Likewise.
16631 * tests/util/grub-shell-tester.in: Likewise.
16632 * tests/util/grub-shell.in: Likewise.
16633 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16634 * Makefile.am: Likewise, and chain shell commands with `&&'
16635 instead of ';'.
16636 * util/grub-mkrescue.in: Use the same explicit template as above, and
16637 exit if mktemp fails.
16638
05f43cdd
BC
166392010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
16640
16641 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
16642 Linux kernel, reported by Dennis Schridde.
16643
800e6a9b
SJ
166442010-10-17 Szymon Janc <szymon@janc.net.pl>
16645
16646 * grub-core/normal/auth.c (grub_auth_check_authentication):
16647 Set-but-not-used variable removed.
16648
d82df574
VS
166492010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16650
16651 * docs/grub.texi (GNU/Linux): Document APM unavailability with
16652 32-bit linux protocol.
16653
7bced458
VS
166542010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16655
16656 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
16657 cursor shape for sanity.
16658
5b027690
VS
166592010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16660
16661 * docs/grub.texi (Installation): Document buggy BIOS install.
16662
ba5f65cf
VS
166632010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 * docs/grub.texi (Installation): Indent.
16666
fdf2ec9c
VS
166672010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 * util/grub-setup.c (setup): New parameter allow_floppy.
16670 (arguments): New member allow_floppy.
16671 (argp_parser): Handle --allow-floppy.
16672 (main): Pass allow_floppy.
16673 * util/grub-install.in: New option --allow-floppy passed though to
16674 grub-setup.
16675
861dfd4c
VS
166762010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16677
16678 * util/grub-install.in: Handle partitionless disks.
16679
f77a8c24
VS
166802010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16681
16682 * util/grub-setup.c (setup): Don't clean blocklists before readability
16683 verfification.
16684
27d9ee32
VS
166852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16686
16687 * docs/grub.texi (Installation): Document embedding zone. Remove
16688 obsolete grub-install example.
16689
6bdda8f8
SJ
166902010-10-16 Szymon Janc <szymon@janc.net.pl>
16691
16692 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
16693 Set-but-not-used variable ifdef'ed.
16694 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
16695 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
16696 variable removed.
16697 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
16698 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
16699 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
16700 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
16701 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
16702 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
16703 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
16704 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
16705 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
16706 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
16707 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
16708 Likewise.
16709
e19b016b
VS
167102010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16711
16712 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
16713 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
16714 enum value.
16715
6c8d3002
VS
167162010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16717
16718 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
16719 synonym to _S5_. Needed for some DSDTs.
16720
c32b51c9
VS
167212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16722
16723 Userspace ACPI parser debugging.
16724
16725 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
16726 headers and add relevant defines. Don't include standard headers.
16727 (main) [GRUB_DSDT_TEST]: New function.
16728 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
16729 Don't declare functions.
16730
fbfbeb39
VS
167312010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16732
16733 Remove dead grub_efi_mm_fini.
16734
16735 * grub-core/kern/efi/mm.c (allocated_page): Removed.
16736 (ALLOCATED_PAGES_SIZE): Likewise.
16737 (MAX_ALLOCATED_PAGES): Likewise.
16738 (allocated_pages): Likewise.
16739 (grub_efi_allocate_pages): Don't record allocated pages.
16740 (grub_efi_free_pages): Likewise.
16741 (grub_efi_mm_init): Likewise.
16742 (grub_efi_mm_fini): Removed.
16743
65f7ed7c
VS
167442010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16745
16746 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
16747 (grub_efi_mm_init): Take into account the memory map size increase.
16748
24977b44
VS
167492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16750
16751 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
16752 (serial_hw_put): Wait based on real time rather than port reads. Don't
16753 roken ports.
16754 * include/grub/serial.h (grub_serial_port): New field broken.
16755
1eb01cd2
RM
167562010-10-16 Robert Millan <rmh@gnu.org>
16757
16758 * grub-core/kern/emu/misc.c
16759 (grub_make_system_path_relative_to_its_root): Fix premature return
16760 when processing non-root ZFS filesystems.
5f8b440b 16761 Reported by Sergio Talens-Oliag.
1eb01cd2 16762
2d5fed60
RM
167632010-10-15 Robert Millan <rmh@gnu.org>
16764
16765 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
16766 guarantee compressed ones are processed first.
16767
d0f4c1ea
VS
167682010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16769
16770 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
16771 grub_efiemu_autocore.
16772
d87c681f
VS
167732010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16774
16775 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
16776 rather than 0x1b.
16777 (grub_console_getkey): Use correct jae opcode rather than ja.
16778
219b3564
RM
167792010-10-12 Robert Millan <rmh@gnu.org>
16780
16781 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
16782 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
16783 variable. All references updated.
16784
16785 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
16786
20c6bb7e
VS
167872010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
16788
16789 Correctly distinguish mdraid flavours.
16790
16791 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
16792 (insert_array): New argument raid.
16793 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
16794 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
16795 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
16796
74baff84
VS
167972010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
16800 handling of special keys.
16801
3ef068df 168022010-10-02 Aleš Nesrsta <starous@volny.cz>
16803
c7980ad9
VS
16804 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
16805 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 16806
a9455194 168072010-10-02 Aleš Nesrsta <starous@volny.cz>
16808
c7980ad9
VS
16809 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
16810 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
16811 users updated.
a9455194 16812 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 16813 Use right endpoint when querying descriptor.
a9455194 16814
441cfe65
VS
168152010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
16816
16817 Clear out 0x80 color bit on EFI.
16818 Tested by: decoder
16819 Reported by: decoder and meta tech.
16820
16821 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
16822 (grub_console_setcolorstate): Clear out 0x80 bit.
16823 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
16824 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
16825 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
16826
bf26bcc4
VS
168272010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
16828
16829 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
16830 Set to "auto".
16831
6e3c515d
VS
168322010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16833
16834 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
16835 mo_file after freeing.
16836
e6d983ba
VS
168372010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16838
16839 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
16840
74ccb5b5
VS
168412010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16842
16843 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
16844 flags.
16845
17821956
VS
168462010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16847
16848 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
16849 usage.
16850
ee74fa48
VS
168512010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16852
16853 Put terminfo into core on ieee1275 and yeeloong (needed for console).
16854
16855 * gentpl.py: New groups terminfoinkernel and terminfomodule.
16856 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
16857 and terminfo.h when needed.
16858 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
16859 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
16860 (terminfo): Enable only on terminfokernel.
16861 (extcmd): Likewise.
16862 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
16863 * include/grub/lib/arg.h: Likewise.
16864 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
16865 incorrect usage of ->.
16866
aa438e68
VS
168672010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16868
16869 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
16870 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
16871
57994012
VS
168722010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16873
16874 Fix coreboot compilation.
16875
16876 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16877 Take VBE info into account even if only text is supported.
16878 (fill_vbe_info): Take into account the case when only VGA text
16879 is supported.
16880 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
16881 on coreboot, multiboot and qemu.
16882
2a406611
VS
168832010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16884
16885 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
16886 debug messages.
16887 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
16888
d33613fc
VS
168892010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16890
16891 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
16892 parameters.
16893
44a1b432
VS
168942010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16895
16896 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
16897 if they were BSD-style.
16898
edde54e6
VS
168992010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16900
16901 * grub-core/boot/i386/pc/lnxboot.S: Replace
16902 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
16903 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
16904
b65830fa
VS
169052010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16906
16907 Write embedding zone using Reed-Solomon.
16908
16909 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
16910 * grub-core/Makefile.am (rs_decoder.S): New target.
16911 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
16912 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
16913 (multiboot): Move to RS part.
16914 (post_reed_solomon): New label.
16915 (grub_boot_drive): Move to non-RS part since it's modified in memory
16916 on boot.
16917 Include rs_decoder.S.
16918 * grub-core/lib/reed_solomon.c: New file.
16919 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
16920 New definition.
16921 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
16922 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
16923 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
16924 * include/grub/partition.h (grub_partition_map): Change prototype of
16925 embed to allow returning additional sectors.
16926 * include/grub/reed_solomon.h: New file.
16927 * util/grub-setup.c (setup): Handle Reed-Solomon.
16928
0b4b227f
CW
169292010-09-28 Colin Watson <cjwatson@ubuntu.com>
16930
16931 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
16932 i386 and x86-64 definedness tests.
16933
f772623b
YB
169342010-09-27 Yves Blusseau <blusseau@zetam.org>
16935
16936 Fix generation of kernel_syms.lst
16937
16938 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
16939 ASM_PREFIX
16940
8e57a6ca
RM
169412010-09-26 Robert Millan <rmh@gnu.org>
16942
16943 Support degraded ZFS arrays in "grub-probe -t device" resolution.
16944
16945 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
16946 the pool is an array of devices, iterate through it and return the
16947 first device that passes a stat() test (instead of blindly returning
16948 the first one).
16949
f9130836
RM
169502010-09-26 Robert Millan <rmh@gnu.org>
16951
16952 Build fixes for GNU/kFreeBSD.
16953
16954 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
16955 to programs that require ZFS conversion.
16956 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
16957 kernels that don't have FLOPPY_MAJOR.
16958
96510faf
BC
169592010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16960
16961 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
16962
449333eb
BC
169632010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16964
16965 Fix grub-emu build.
16966
16967 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
16968 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
16969 mdraid09 and mdraid1x.
16970
e1fd1939
CW
169712010-09-24 Colin Watson <cjwatson@ubuntu.com>
16972
16973 Re-enable grub-extras.
16974
16975 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
16976 avoid confusing Automake. Run autogen only twice, once for the top
16977 level and once for grub-core. Add Makefile.util.def and
16978 Makefile.core.def from extra modules to the appropriate autogen
16979 invocations. If Makefile.common exists in an extra module, include
16980 it in both Makefile.util.am and grub-core/Makefile.core.am;
16981 similarly, include any Makefile.util.common file in Makefile.util.am
16982 and any Makefile.core.common file in grub-core/Makefile.core.am.
16983 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
16984 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
16985 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
16986 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
16987
16988 * gentpl.py (gvar_add): Turn GVARS into a set.
16989 (global_variable_initializers): Sort global variables on output.
16990 (vars_init): New function.
16991 (first_time): Likewise.
16992 (library): Ensure that non-global variable initialisations are
16993 emitted before the first time we emit code for a library block.
16994 Append to variables rather than setting them. Only emit
16995 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
16996 each conditional path.
16997 (program): installdir() emits an Autogen macro, so must be passed to
16998 var_add rather than gvar_add.
16999 (data): Likewise.
17000 (script): Likewise.
17001 (rules): New function, centralising handling for different target
17002 types. Set up Guile association lists for first_time and vars_init,
17003 and send most output to a diversion so that variable initialisations
17004 can be emitted first.
17005 (module_rules): Use new rules function.
17006 (kernel_rules): Likewise.
17007 (image_rules): Likewise.
17008 (library_rules): Likewise.
17009 (program_rules): Likewise.
17010 (script_rules): Likewise.
17011 (data_rules): Likewise.
17012
17013 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
17014
17015 * .bzrignore: Add contrib and grub-core/contrib. Remove
17016 grub-core/Makefile.gcry.am.
17017
1d12cf29
YB
170182010-09-24 Yves Blusseau <blusseau@zetam.org>
17019
17020 * grub-core/lib/LzFind.c: Add missing include.
17021 * grub-core/lib/LzmaEnc.c: Likewise.
17022 * grub-core/script/lexer.c: Likewise.
17023 * grub-core/script/yylex.l: Likewise.
17024 * util/grub-macho2img.c: Likewise.
17025 * util/grub-menulst2cfg.c: Likewise.
17026 * util/grub-mklayout.c: Likewise.
17027 * util/grub-mkpasswd-pbkdf2.c
17028 * util/grub-mkrelpath.c: Likewise.
17029 * util/resolve.c: Likewise.
17030
dd363028
BC
170312010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
17032
17033 * Makefile.util.def (example_unit_test): Add
17034 grub-core/gnulib/libgnu.a.
17035
f5a109e2
GS
170362010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
17037
17038 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
17039
6d0fa83c
VS
170402010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 Support xz compression on yeeloong.
17043
17044 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
17045 * configure.ac: Check for LZMA.
17046 * grub-core/Makefile.core.def (xz_decompress): New target.
17047 (none_decompress): Likewise.
17048 * grub-core/boot/decompressor/minilib.c: New file.
17049 * grub-core/boot/decompressor/none.c: Likewise.
17050 * grub-core/boot/decompressor/xz.c: Likewise.
17051 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
17052 * grub-core/kern/mips/cache_flush.S: Likewise.
17053 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
17054 * grub-core/kern/mips/startup.S: Move first stage to ...
17055 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
17056 nomacro.
17057 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
17058 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
17059 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
17060 Allocate statically.
17061 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
17062 Allocate statically or use scratch. Don't check CRC32.
17063 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
17064 Allocate statically. Don't check CRC32.
17065 * include/grub/decompressor.h: New file.
17066 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
17067 Removed.
17068 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
17069 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
17070 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
17071 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
17072 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
17073 * util/grub-mkimage.c (grub_compression_t): New type.
17074 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
17075 (image_target_desc): New field default_compression.
17076 (image_targets): Adjust yeeloong targets.
17077 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
17078 (compress_kernel): New parameter comp.
17079 (generate_image): Likewise. Handle new compression case.
17080 (options): New option --compression
17081 (help): Likewise.
17082 (main): Handle new option.
17083
1b655af6
GS
170842010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
17085
17086 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
17087
8f03f0b5
CW
170882010-09-22 Colin Watson <cjwatson@ubuntu.com>
17089
17090 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17091 typo in __i386__ conditional.
17092
7835dfd3
VS
170932010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17094
17095 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
17096 include.
17097
e255597e
VS
170982010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17099
6d0fa83c 17100 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
17101
17102 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
17103 new tags as supported.
17104 (acpiv2_size): New function.
17105 (grub_multiboot_get_mbi_size): Take new tags into account.
17106 (grub_multiboot_make_mbi): Add new tags.
17107 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 17108
6cc14051 171092010-09-21 Aleš Nesrsta <starous@volny.cz>
17110
17111 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
17112 Added missing configuration of USB device.
17113
df7769d8
CW
171142010-09-21 Colin Watson <cjwatson@ubuntu.com>
17115
17116 * grub-core/normal/menu_entry.c (run): Make sure we always return
17117 a value.
17118
b031012d
CW
171192010-09-21 Colin Watson <cjwatson@ubuntu.com>
17120
17121 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
17122 NumberOfPages is UINT64 according to the UEFI specification, not
17123 UINTN. Fix printf format.
17124
174de8f3
CW
171252010-09-21 Colin Watson <cjwatson@ubuntu.com>
17126
17127 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
17128 `err' to grub_usb_err_t.
17129 Reported and tested by: KESHAV P.R.
17130
d7dbe923
CW
171312010-09-21 Colin Watson <cjwatson@ubuntu.com>
17132
17133 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
17134 tpart non-const, so that we can assign to it. (Since this is a
17135 typedef, the constness refers to the pointer rather than what it
17136 points to.)
17137
8d5e2af3
CW
171382010-09-21 Colin Watson <cjwatson@ubuntu.com>
17139
17140 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
17141 $(top_srcdir)/grub-core/gnulib as well as
17142 $(top_builddir)/grub-core/gnulib.
17143 Reported by: KESHAV P.R.
17144
5c527783
CW
171452010-09-21 Colin Watson <cjwatson@ubuntu.com>
17146
17147 * util/grub-install.in: Fix the bootloader ID option to be
17148 consistently --bootloader-id, not --bootloader_id.
17149 Reported by: KESHAV P.R.
17150
d309a16e
CW
171512010-09-21 Colin Watson <cjwatson@ubuntu.com>
17152
17153 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
17154 check hash checksum." consistently translatable.
17155
b830cd16
YB
171562010-09-21 Yves Blusseau <blusseau@zetam.org>
17157
17158 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
17159 $(top_builddir).
17160
c4fe27a8
CW
171612010-09-21 Colin Watson <cjwatson@ubuntu.com>
17162
17163 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
17164 (GRUB_MOD_INIT): Register sha1sum command.
17165 (GRUB_MOD_FINI): Unregister sha1sum command.
17166
a4c1d277
YB
171672010-09-21 Yves Blusseau <blusseau@zetam.org>
17168
17169 Keep boot and grub directory names in sync with utils scripts
17170
17171 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
17172 * config.h.in: Add previous macros.
17173 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
17174 * util/grub-install.in: Use $bootdir and $grubdir variables.
17175
4eff79d2
CW
171762010-09-21 Colin Watson <cjwatson@ubuntu.com>
17177
17178 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
17179 convert partition names to disk names if the new `convert' parameter
17180 is set.
17181 (grub_util_biosdisk_get_grub_dev): If opening the disk device
17182 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
17183 disk in its own right. This can happen with Xen disk images.
17184
934d7e44
YB
171852010-09-21 Yves Blusseau <blusseau@zetam.org>
17186
17187 * util/grub-editenv.c: Update strings to avoid warnings when generating
17188 grub.pot file.
17189 * util/grub-setup.c: Likewise.
934d7e44 17190
df3367cc
VS
171912010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17192
17193 * configure.ac: Change version to 1.99~beta0.
17194
77a94e98
VS
171952010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17196
17197 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17198 Add BADRAM.
17199 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
17200 Likewise.
17201 * include/multiboot.h: Resynced with specification.
17202 * include/multiboot2.h: Likewise.
17203
269004c1
CW
172042010-09-21 Colin Watson <cjwatson@ubuntu.com>
17205
17206 Fix po directory handling.
17207
17208 * configure.ac: Create po/Makefile.in rather than po/Makefile.
17209 * grub-core/gnulib/Makefile.am: Import gettext module.
17210 * m4/gnulib-cache.m4: Likewise.
17211 * m4/gnulib-comp.m4: Likewise.
17212 * m4/gettext.m4: New file, from gnulib.
17213 * m4/glibc2.m4: Likewise.
17214 * m4/iconv.m4: Likewise.
17215 * m4/intdiv0.m4: Likewise.
17216 * m4/intl.m4: Likewise.
17217 * m4/intldir.m4: Likewise.
17218 * m4/intlmacosx.m4: Likewise.
17219 * m4/intmax.m4: Likewise.
17220 * m4/inttypes-pri.m4: Likewise.
17221 * m4/lcmessage.m4: Likewise.
17222 * m4/lib-ld.m4: Likewise.
17223 * m4/lib-link.m4: Likewise.
17224 * m4/lib-prefix.m4: Likewise.
17225 * m4/lock.m4: Likewise.
17226 * m4/nls.m4: Likewise.
17227 * m4/po.m4: Likewise.
17228 * m4/printf-posix.m4: Likewise.
17229 * m4/progtest.m4: Likewise.
17230 * m4/threadlib.m4: Likewise.
17231 * m4/uintmax_t.m4: Likewise.
17232 * m4/visibility.m4: Likewise.
17233 * po/Makefile.am: Remove.
17234 * po/Makefile.in.in: New file, from gettext.
17235 ($(DOMAIN).pot-update): Support POTFILES-shell.
17236 * po/Makevars: New file.
17237 * po/POTFILES-shell: Rename to ...
17238 * po/POTFILES-shell.in: ... this. Update.
17239 * po/POTFILES: Rename to ...
17240 * po/POTFILES.in: ... this. Update.
17241 * po/Rules-quot: New file, from gettext.
17242 * po/boldquot.sed: Likewise.
17243 * po/en@boldquot.header: Likewise.
17244 * po/en@quot.header: Likewise.
17245 * po/insert-header.sin: Likewise.
17246 * po/quot.sed: Likewise.
17247 * po/remove-potcdate.sin: Likewise.
17248
3e0fa5d0
VS
172492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17250
17251 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
17252
ade9bd66
VS
172532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17254
17255 * util/grub.d/20_linux_xen.in: Use submenus.
17256
fc55cc4c
VS
172572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17258
17259 Support submenus.
17260
17261 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
17262 parameter submenu. All users updated.
17263 * grub-core/normal/main.c (free_menu): Rename to ...
17264 (grub_normal_free_menu): ... this. Made global.
17265 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
17266 if requested.
17267 * grub-core/normal/menu_entry.c (screen): New field submenu.
17268 (make_screen): Set submenu.
17269 (run): Open new context if requested.
17270 * include/grub/menu.h (grub_menu_entry): New field submenu.
17271 * include/grub/normal.h (grub_normal_free_menu): New proto.
17272
600cedf7
VS
172732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17274
17275 Menu entries extractor.
17276
17277 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
17278 variants.
17279 (GRUB_MOD_INIT): Register new variants.
17280 (GRUB_MOD_FINI): Unregister new variants.
17281 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
17282 into grub_cmd_legacy_source.
17283 (grub_cmd_legacy_source): Implement extractor variants.
17284 (GRUB_MOD_INIT): Register new variants.
17285 (GRUB_MOD_FINI): Unregister new variants.
17286 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
17287 as an extractor.
17288 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
17289 search as an extractor.
17290 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
17291 test as an extractor.
17292 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
17293 as an extractor.
17294 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
17295 (grub_env_new_context): New function.
17296 (grub_env_context_open): Likewise.
17297 (grub_env_extractor_open): Likewise.
17298 (grub_env_extractor_close): Likewise.
17299 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17300 grub_extractor_level.
17301 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
17302 * include/grub/env.h (grub_env_extractor_open): New proto.
17303 (grub_env_extractor_close): Likewise.
17304 * include/grub/normal.h (grub_extractor_level): New external variable.
17305
7bda3a87
VS
173062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17307
17308 Make cutmem accept a region specification.
17309 Suggested by: Samuel Thibault
17310
17311 * grub-core/mmap/mmap.c (parsemem): New function.
17312 (grub_cmd_cutmem): Handle new arguments.
17313
2ea57f88
VS
173142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17315
17316 New command cutmem.
17317
17318 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
17319 (GRUB_MOD_INIT): Register new command.
17320 (GRUB_MOD_FINI): Unregister new command.
17321
74342e31
VS
173222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17323
17324 Support some annoying BSD and Minix subpartitions.
17325
17326 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
17327 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
17328 Properly handle concatenation.
17329 * grub-core/kern/device.c (grub_device_iterate): Likewise.
17330 * grub-core/normal/completion.c (iterate_partition): Likewise.
17331 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
17332 contain partition. All users updated.
17333 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
17334 struct.
17335 (grub_openbsdlabel_partition_map): Likewise.
17336 (bsdlabel_partition_map_iterate): Rename to ..
17337 (iterate_real): ... this. New arguments sector, freebsd and pmap.
17338 (bsdlabel_partition_map_iterate): New function.
17339 (netopenbsdlabel_partition_map_iterate): Likewise.
17340 (netbsdlabel_partition_map_iterate): Likewise.
17341 (openbsdlabel_partition_map_iterate): Likewise.
17342 (GRUB_MOD_INIT): Register new partmaps.
17343 (GRUB_MOD_FINI): Unregister new partmaps.
17344 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
17345 (grub_partition_msdos_iterate): ... this. All users updated.
17346 Don't support embedding other than in a minix partition.
17347 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
17348 proto.
17349 * include/grub/partition.h (grub_partition): New field msdostype.
17350 * util/grub-install.in: Handle openbsd and netbsd types being in
17351 part_bsd module.
17352
1e8d555b
VS
173532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17354
17355 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
17356
17357 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
17358 * grub-core/Makefile.core.def (mdraid): Renamed to ...
17359 (mdraid09): ... this.
17360 (mdraid1x): New module.
17361 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
17362 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
17363
899d8af4
VS
173642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17365
17366 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
17367 vsprintf.
17368
40901acd
CW
173692010-09-20 Colin Watson <cjwatson@ubuntu.com>
17370
17371 * grub-core/commands/efi/lsefimmap.c: Correct header.
17372 * NEWS: Update.
17373
dfe3b247
CW
173742010-09-20 Colin Watson <cjwatson@ubuntu.com>
17375
17376 * util/grub-editenv.c (argp_parser): Don't pass translated strings
17377 as printf format strings; the translations might contain '%' which
17378 could cause a crash.
17379 (main): Likewise.
17380 * util/grub-fstest.c (argp_parser): Likewise.
17381 * util/grub-setup.c (argp_parser): Likewise.
17382 (main): Likewise.
17383
3286a4b4
VS
173842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17385
17386 Use argp in grub-fstest.
17387
17388 * util/grub-fstest.c: Don't include getopt.h.
17389 Include argp.h.
17390 (root): New variable.
17391 (args_count): Likewise.
17392 (nparm): Likewise.
17393 (num_disks): Likewise.
17394 (images): Likewise.
17395 (cmd): Likewise.
17396 (debug_str): Likewise.
17397 (args): Likewise.
17398 (options): Transformed to argp.
17399 (usage): Removed.
17400 (main): Split argument parsing into ...
17401 (argp_parser): ... this. Changed to argp format.
17402 (argp): New variable.
17403 (main): Use argp_parse.
17404
3dccbe4b
TG
174052010-09-20 Tristan Gingold <gingold@free.fr>
174062010-09-20 Robert Millan <rmh.grub@aybabtu.com>
174072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17408
17409 * grub-core/commands/efi/lsefimmap.c: New file.
17410 * grub-core/Makefile.core.def (lsefimmap): New module.
17411 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
17412
38c259a7
VS
174132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17414
17415 Pause the execution (10s max) if any errors are displayed so the user
17416 has a chance to see them.
17417
17418 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
17419 (grub_print_error): Increment grub_err_printed_errors.
17420 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
17421 execution if any errors were displayed.
17422 (show_menu): Remove old code for pause.
17423 * grub-core/normal/menu_entry.c (run): Likewise.
17424 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
17425 users updated.
17426 (grub_normal_get_char_counter): Likewise.
17427 * include/grub/err.h (grub_err_printed_errors): New external variable.
17428 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
17429
f218b09c
VS
174302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17431
17432 Support multiboot VBE info.
17433
17434 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17435 Take VBE info into account.
17436 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
17437 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
17438 Call fill_vbe_info when appropriate.
17439 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
17440 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
17441 as supported.
17442 (grub_multiboot_get_mbi_size): Take new tags into account.
17443 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
17444 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
17445 Call fill_vbe_tag when appropriate.
17446 (grub_multiboot_make_mbi): Properly align tags.
17447 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
17448 function.
17449 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
17450 proto.
17451 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
17452
a9cc5438
VS
174532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17454
17455 Suport manual terminal geometry specification.
17456
17457 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
17458 Save state in grub_ofconsole_terminfo_output.
17459 (grub_ofconsole_term): Use grub_terminfo_getwh.
17460 (grub_ofconsole_getwh): Removed.
17461 * grub-core/term/serial.c (grub_serial_getwh): Removed.
17462 (grub_serial_term): Use grub_terminfo_getwh.
17463 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
17464 (options): New struct.
17465 (OPTION_*): New enum.
17466 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
17467 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
17468 width and height.
17469 (grub_terminfo_getwh): New proto.
17470 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
17471
1a8fed20
VS
174722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17473
17474 Handle legacy "terminal" command.
17475
17476 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
17477 and FLAG_TERMINAL.
17478 (legacy_commands): Add terminal and title.
17479 (grub_legacy_parse): Handle terminal. Simplify title handling.
17480
41e9c57d
VS
174812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17482
17483 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
17484 parameters overflow.
17485
61c874c5
CW
174862010-09-20 Colin Watson <cjwatson@ubuntu.com>
17487
17488 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
17489 widthspec.h.
17490
17491 * docs/grub.texi (Shell-like scripting): Document `!'.
17492 (Network): Simplify using new i386-pc-pxe format. Mention
17493 grub-mknetdir.
17494
17495 * NEWS: Update.
17496
943682b4
CW
174972010-09-20 Colin Watson <cjwatson@ubuntu.com>
17498
17499 * Makefile.am (SUBDIRS): Restore "."; it's important to force
17500 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
17501 when needed.
17502
6d3d698d
CW
175032010-09-20 Colin Watson <cjwatson@ubuntu.com>
17504
17505 * grub-core/commands/efi/lsefisystab.c: Correct header.
17506 * grub-core/commands/efi/lssal.c: Likewise.
17507 * grub-core/commands/testload.c: Likewise.
17508
c982589f
CW
175092010-09-20 Colin Watson <cjwatson@ubuntu.com>
17510
17511 * util/grub-mkrescue.in: Add explicit root argument to --set to
17512 prevent the UUID being interpreted as an argument to --set (matches
17513 previous change to prepare_grub_to_access_device).
17514
a63c31b6
CW
175152010-09-20 Colin Watson <cjwatson@ubuntu.com>
17516
17517 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
17518 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
17519 the verbosity of later #ifs.
17520 (find_partition_start): Define this function on FreeBSD too.
17521 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
17522 function.
17523 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
17524 on FreeBSD.
17525
6439b8ee
YB
175262010-09-20 Yves Blusseau <blusseau@zetam.org>
17527
17528 * util/grub-editenv.c: Use argp instead of getopt.
17529
c5930ec8
YB
175302010-09-20 Yves Blusseau <blusseau@zetam.org>
17531
17532 * util/grub-setup.c: Use argp instead of getopt.
17533
15c69261
YB
175342010-09-20 Yves Blusseau <blusseau@zetam.org>
17535
17536 Use gnulib-tool to create gnulib source files.
17537
17538 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
17539 grub-core/gnulib directories
17540 * .bzignore: Add **/.deps and autogenerated gnulib files
17541 * configure.ac: Assign auxiliary directory to build-aux, add invocation
17542 of gnulib macros, add grub-core/gnulib/Makefile
17543 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
17544 include m4 directory to aclocal.
17545 * Makefile.util.def: Remove direct compilation of gnulib source files
17546 and use the new grub-core/gnulib/libgnu.a.
17547 * build-aux/config.rpath: move config.rpath from top directory to
17548 build-aux
17549 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
17550 in gnulib headers
17551 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
17552 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
17553 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
17554 header.
17555 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
17556 string.
17557
e511c9f5
YB
175582010-09-20 Yves Blusseau <blusseau@zetam.org>
17559
17560 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
17561 grub-core/genmod.sh and grub-core/gensyminfo.sh
17562
c2dede05
BC
175632010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
17564
17565 Add a test for echo command options.
17566
17567 * tests/grub_cmd_echo.in: New test.
17568 * Makefile.util.def: Rules for new test.
17569
c55f5018
SJ
175702010-09-20 Szymon Janc <szymon@janc.net.pl>
17571
17572 Remove crc.mod and move crc command to hashsum.mod.
17573 Remove lib/crc.c - users updated to use gcrypt implementation.
17574
17575 * grub-core/commands/crc.c: Removed.
17576 * grub-core/Makefile.core.def (crc): Module removed.
17577 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
17578 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
17579 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
17580 * grub-core/lib/crc.c: Removed.
17581 * include/grub/lib/crc.h: Removed.
17582 * Makefile.util.def (crc): Remove lib/crc.c
17583 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
17584 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
17585 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
17586 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
17587 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
17588 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
17589
e0337366
VS
175902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17591
17592 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
17593
742f9232
VS
175942010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 Split config.h for util and core.
17597
17598 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
17599 (ADDR32): Likewise.
17600 (DATA32): Likewise.
17601 (BSS_START_SYMBOL): Likewise.
17602 (END_SYMBOL): Likewise.
17603 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
17604 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
17605 * config.h.in: New file.
17606 * configure.ac: Use config-util.h as config define file.
17607 Rename MACHINE into GRUB_MACHINE. All users updated.
17608 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
17609 updated.
17610 (NESTED_FUNC_ATTR): Likewise.
17611 Substitue new variables.
17612 (COND_HAVE_ASM_USCORE): New conditional.
17613 * grub-core/Makefile.am (ASM_PREFIX): New variable.
17614 (kernel_syms.lst): Use ASM_PREFIX.
17615 * grub-core/kern/emu/console.c: Include config-util.h.
17616 * grub-core/kern/emu/misc.c: Likewise.
17617 * grub-core/kern/emu/mm.c: Likewise.
17618 * include/grub/emu/misc.h: Likewise.
17619 * include/grub/libgcc.h: Likewise.
17620
39feb0e8
VS
176212010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17622
17623 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
17624 constants usage.
17625 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
17626 Fix GRUB_TERM_KEY_* constants usage.
17627 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
17628
9af6dac3
VS
176292010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17630
17631 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
17632 print pointer.
17633 * grub-core/bus/usb/uhci.c: Remove empty define.
17634 (grub_uhci_check_transfer): Add missing cast.
17635 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
17636 print pointer.
17637 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
17638 PRIuGRUB_SIZE.
17639 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
17640
d6d94820
VS
176412010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17642
17643 * grub-core/Makefile.core.def (legacycfg): Add
17644 lib/i386/pc/vesa_modes_table.c on emu.
17645
3572f2b6
BC
176462010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
17647
17648 Reduce number of temporary files generated by build system.
17649
17650 * grub-core/gencmdlist.sh: Removed.
17651 * grub-core/genfslist.sh: Removed.
17652 * grub-core/genhandlerlist.sh: Removed.
17653 * grub-core/genmodsrc.sh: Removed.
17654 * grub-core/genpartmaplist.sh: Removed.
17655 * grub-core/genparttoollist.sh: Removed.
17656 * grub-core/gentermiinallist.sh: Removed.
17657 * grub-core/genvideolist.sh: Removed.
17658
17659 * grub-core/genmod.sh.in: New file.
17660 * grub-core/gensyminfo.sh.in: New file.
17661
17662 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
17663 * conf/Makefile.extra-dist: Update with new files.
17664 * gentpl.py: Remove rules related to unnecessary temporary files.
17665 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
17666 and und-* files.
17667 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
17668 genmod.sh scripts.
17669 * grub-core/bus/usb/uhci.c: Remove empty #define.
17670 * grub-core/genmoddep.awk: Updated with new syminfo format.
17671 * util/bash-completion.d/Makefile.am: Add config.log to
17672 CLEANFILES.
17673
c836b030
YB
176742010-09-19 Yves Blusseau <blusseau@zetam.org>
17675
17676 * Makefile.util.def: Add forgotten $(LIBINTL) library.
17677
2f4e8053
BC
176782010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
17679
17680 * util/grub-mkconfig.in: Check the config script for syntax errors
17681 before saving.
17682
75831c34
CW
176832010-09-19 Colin Watson <cjwatson@ubuntu.com>
176842010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17685
17686 * Makefile.util.def (grub-install): Use util/grub-install.in on all
17687 platforms.
17688 * util/grub-install.in: Add EFI and IEEE1275 support.
17689 * util/i386/efi/grub-install.in: Removed.
17690 * util/ieee1275/grub-install.in: Likewise.
17691
eaf41b25
VS
176922010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17693
17694 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
17695 (grub_cmd_cmosclean): Likewise.
17696 (GRUB_MOD_INIT): Register command cmosclean.
17697 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
17698 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
17699
1a9130dd
CPE
177002010-09-18 Carles Pina i Estany <carles@pina.cat>
177012010-09-18 Aleš Nesrsta <starous@volny.cz>
177022010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17703
17704 Add keyboard layouts support.
17705
17706 * Makefile.util.def (grub-mklayout): New file.
17707 (grub-kbdcomp): New script.
17708 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
17709 Add keyboard_layouts.h.
17710 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
17711 commands/boot.c on yeeloong.
17712 (keylayouts): New module.
17713 * grub-core/bus/usb/ohci.c
17714 * grub-core/bus/usb/uhci.c
17715 * grub-core/bus/usb/usbhub.c (rescan): New variable.
17716 (grub_usb_add_hub): Poll interrupt pipe for device handling.
17717 (attach_root_port): Likewise.
17718 (poll_nonroot_hub): Likewise.
17719 (grub_usb_poll_devices): Likewise.
17720 (detach_device): Close transfer.
17721 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
17722 function.
17723 (grub_usb_bulk_setup_readwrite): Likewise.
17724 (grub_usb_bulk_finish_readwrite): Likewise.
17725 * grub-core/commands/keylayouts.c: New file.
17726 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
17727 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
17728 aliases.
17729 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
17730 support scancode 2.
17731 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
17732 * include/grub/keyboard_layouts.h: New file.
17733 * util/grub-mklayout.c: New file.
17734 * util/grub-kbdcomp.in: Likewise.
17735
a1d84a5e
VS
177362010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17737
17738 Unify memory types.
17739
17740 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
17741 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
17742 types.
17743 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
17744 (grub_upper_mem): Likewise.
17745 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
17746 * include/grub/memory.h (grub_memory_type_t): New enum.
17747 All users updated.
17748
9696382e
VS
177492010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17750
17751 * grub-core/Makefile.core.def (lsapm): New module.
17752 * grub-core/commands/i386/pc/lsapm.c: New file.
17753 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
17754 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
17755 Likewise.
17756 * include/grub/i386/pc/apm.h: New file.
17757 * include/multiboot.h (multiboot_apm_info): New struct.
17758
177592010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17760
17761 GRUB-legacy configuration file support.
17762
17763 * Makefile.util.def (grub-menulst2cfg): New util.
17764 * docs/man/grub-menulst2cfg.h2m: New file.
17765 * grub-core/Makefile.core.def (legacycfg): New module.
17766 * grub-core/commands/legacycfg.c: New file.
17767 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
17768 (grub_normal_add_menu_entry): ... this.
17769 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
17770 (grub_normal_set_password): ...this.
17771 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
17772 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
17773 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
17774 * grub-core/lib/legacy_parse.c: New file.
17775 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
17776 * include/grub/i386/pc/vesa_modes_table.h: New file.
17777 * include/grub/legacy_parse.h: Likewise.
17778 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
17779 * util/grub-menulst2cfg.c: New file.
17780
bf8d1338
CW
177812010-09-17 Colin Watson <cjwatson@ubuntu.com>
17782
17783 * grub-core/kern/emu/hostdisk.c
17784 (convert_system_partition_to_system_disk): Initialise node.
17785
9c0bad2e
CW
177862010-09-17 Colin Watson <cjwatson@ubuntu.com>
17787
17788 * grub-core/kern/emu/hostdisk.c
17789 (convert_system_partition_to_system_disk): Fix devmapper memory pool
17790 leak.
17791 Reported and based on patch by: Modestas Vainius.
17792
a939d135
CW
177932010-09-17 Colin Watson <cjwatson@ubuntu.com>
17794
17795 Fix DM-RAID probing with recent versions of device-mapper udev
17796 rules.
17797
17798 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
17799 canonicalise device paths under /dev/mapper/.
17800 (convert_system_partition_to_system_disk): Compare the
17801 uncanonicalised path to /dev/mapper/ rather than the canonicalised
17802 path, since device nodes under /dev/mapper/ are often symlinks.
17803
0f7ee3c9
YB
178042010-09-17 Yves Blusseau <blusseau@zetam.org>
17805
17806 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
17807
10854d0d
YB
178082010-09-16 Yves Blusseau <blusseau@zetam.org>
17809
17810 * configure.ac: Avoid some annoying error messages if freetype-config
17811 program is not found.
17812
108538d8
CW
178132010-09-16 Colin Watson <cjwatson@ubuntu.com>
17814
17815 Support RAID on virtio devices, and others.
17816
17817 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
17818 Rename to ...
17819 [__MINGW32__] (grub_find_device): ... this.
17820 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
17821 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
17822 reasonable default if dir is NULL.
17823 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
17824 ...
17825 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
17826 (grub_guess_root_device): Update callers.
17827 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
17828
17829 * util/raid.c (grub_util_getdiskname): Remove.
17830 (grub_util_raid_getmembers): Use grub_find_device rather than
17831 grub_util_getdiskname.
17832
e5bfc130
CW
178332010-09-16 Colin Watson <cjwatson@ubuntu.com>
17834
17835 * docs/grub.texi (serial): Remove obsolete comment about GRUB
17836 needing to be compiled with serial support.
17837 (ls): Indicate that multiple files are accepted.
17838 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
17839 indicate that multiple files are accepted.
17840
be458ae2
CW
178412010-09-16 Colin Watson <cjwatson@ubuntu.com>
17842
17843 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
17844 libgrub_a_init.c, and util/bash-completion.d/grub.
17845
cb731b5e
VS
178462010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17847
17848 * util/grub-setup.c (setup): Fix incorrect container semantics.
17849
35139e8a
VS
178502010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17851
17852 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
17853 misusage.
17854 Reported by: J. Nick Terry
17855
e50fca4a
VS
178562010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17857
17858 Move embedding routines to partmap sources files.
17859
17860 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
17861 [GRUB_UTIL]: New variable.
17862 (gpt_partition_map_iterate): Set part.parent.
17863 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
17864 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
17865 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
17866 New function.
17867 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
17868 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
17869 (grub_partition_map) [GRUB_UTIL]: New field embed.
17870 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
17871 (setup): Use ->embed.
17872
f00478b7
VS
178732010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17874
17875 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
17876 function.
17877 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
17878 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
17879
2b94e3ff
YB
178802010-09-15 Yves Blusseau <blusseau@zetam.org>
17881
17882 Add function to get completions from usage.
17883
17884 * util/bash-completion.d/grub-completion.bash.in: Add function to get
17885 completions from usage. Use LC_ALL=C to get options properly.
17886
2e04a006
VS
178872010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17888
17889 * grub-core/gnulib/basename-lgpl.c: Imported.
17890 * grub-core/gnulib/basename.c: Likewise.
17891 * grub-core/gnulib/dirname-lgpl.c: Likewise.
17892 * grub-core/gnulib/dirname.c: Likewise.
17893 * grub-core/gnulib/dirname.h: Likewise.
17894 * grub-core/gnulib/stripslash.c: Likewise.
17895
5dcdf93a
VS
178962010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17897
17898 * grub-core/gnulib/error.c: Resynced.
17899 * grub-core/gnulib/getopt.c: Likewise.
17900 * grub-core/gnulib/getopt_int.h: Likewise.
17901 * grub-core/gnulib/regex.h: Likewise.
17902 * grub-core/gnulib/regex_internal.c: Likewise.
17903 * grub-core/gnulib/regex_internal.h: Likewise.
17904
014f47b7
SJ
179052010-09-15 Szymon Janc <szymon@janc.net.pl>
17906
17907 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
17908 CRC calculations and validity checks.
17909 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
17910 calculations.
17911
dd521a4a
SJ
179122010-09-15 Szymon Janc <szymon@janc.net.pl>
17913
17914 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
17915
79c4eeb9
VS
179162010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17917
17918 Fix incorrect echo options handling.
17919 Reported by: Yves Blusseau.
17920
17921 * include/grub/command.h (grub_command_flags_t): New flags
17922 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
17923 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
17924 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
17925
ed80f7d5
VS
179262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17927
17928 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
17929 users updated.
17930 (GRUB_COMMAND_FLAG_MENU): Likewise.
17931 (GRUB_COMMAND_FLAG_BOTH): Likewise.
17932 (GRUB_COMMAND_FLAG_TITLE): Removed.
17933 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
17934 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
17935 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
17936 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
17937 (grub_command_flags_t): New enum. All users updated.
17938
5fe7620a
SG
179392010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
17940
17941 Fix solaris compilation.
17942
17943 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
17944 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
17945 (grub-emu-list): Likewise.
17946
545b752f
VS
179472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17948
17949 Remove deprecated root command.
17950
17951 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
17952 updated.
17953
6c1a338c
VS
179542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 * util/i386/pc/grub-setup.c: Merge this ...
17957 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
17958 * util/grub-setup.c: ... into this.
17959 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
17960 New struct.
17961
179622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17963
17964 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
17965 possible.
17966
d2ea4551
VS
179672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17968
17969 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
17970 allocate p.
17971
3c3b5040
VS
179722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17973
17974 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
17975 explicit root argument to set to prevent UUID to be interpreted as
17976 argument to set.
17977
b71c3fae
VS
179782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17979
17980 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
17981
275433e6
VS
179822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17983
17984 Don't export grub_gate_a20.
17985
17986 * grub-core/kern/i386/pc/init.c: Remove leftovers.
17987 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
17988 to ...
17989 (grub_gate_a20): ... this. All users updated.
17990 * include/grub/i386/pc/init.h: Removed. All users updated.
17991
a5dbb1f1
VS
179922010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17993
17994 Create euro.pf2 which supports most European languages.
17995
17996 * Makefile.am (grubdata_DATA): Add euro.pf2.
17997 (euro.pf2): New target.
17998 (CLEANFILES): Add euro.pf2.
17999
62a747cb
VS
180002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18001
18002 * configure.ac: Disable emu-usb by default to prevent inadvertent
18003 device takeover.
18004
608e43b1
VS
180052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18006
18007 Disable usbserial on grub-emu since our libusb code isn't good enough
18008 yet.
18009
18010 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
18011 (usbserial_pl2303): Likewise.
18012 (usbserial_ftdi): Likewise.
18013
94564f81
VS
180142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18015
18016 * include/grub/disk.h (grub_disk): Remove has_partitions.
18017 All users updated.
18018 * disk/loopback.c (grub_loopback): Remove has_partitions.
18019 All users updated.
18020 (options): Remove partitions. All users updated.
18021 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
18022 * util/i386/pc/grub-setup.c (setup): copy partition table only when
18023 actual partition table is found.
18024
3352800b
VS
180252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18026
18027 Remove readability checks (too many false negatives).
18028
18029 * util/grub-install.in: Remove readability checks.
18030 * util/grub-mkconfig.in: Likewise.
18031 * util/grub.d/10_hurd.in: Likewise.
18032 * util/grub.d/10_kfreebsd.in: Likewise.
18033 * util/grub.d/10_linux.in: Likewise.
18034 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
18035 way.
18036
2419f17a
VS
180372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18038
18039 Enable acpi shutdown on all ACPI platforms.
18040
18041 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
18042 on coreboo, multiboot and EFI.
18043 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
18044 (grub_acpi_halt): Likewise.
18045 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
18046 (grub_cmd_halt): Don't call grub_acpi_halt directly.
18047 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
18048 * grub-core/lib/i386/halt.c (grub_halt)
18049 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
18050
0575c7c3
VS
180512010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18052
18053 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
18054 context.
18055
54ac3cd1
VS
180562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 * grub-core/video/efi_gop.c: Fix over-80-chars line.
18059 * grub-core/video/efi_uga.c: Likewise.
18060
b2a30ac5
VS
180612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18062
18063 Filter devaliases and never open same device twice.
18064
18065 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
18066 (last_ihandle): Likewise.
18067 (ofdisk_hash_ent): New member shortest.
18068 (ofdisk_hash_add): Add canonical path too.
18069 (scan): New function.
18070 (grub_ofdisk_iterate): Iterate over hashed entries.
18071 (compute_dev_path): Don't add :0.
18072 (grub_ofdisk_open): Don't really open the disk.
18073 (grub_ofdisk_close): Avoid closing unrelated disk.
18074 (grub_ofdisk_read): Implement reopen logic.
18075 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
18076 New function.
18077 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
18078 New proto.
18079
fb53b340
VS
180802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18081
18082 Fix sparc64.
18083
18084 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
18085 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
18086 right address. Add sparc64_ieee1275_ldflags.
18087 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
18088 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
18089 to grub_host_to_target_addr
18090 (load_image): Likewise.
18091
f452b040
VS
180922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18093
18094 * grub-core/normal/completion.c (complete_file): Handle device
18095 containing slash.
18096 Fix based on patch by Doug Nazar.
18097
9b5b2541
VS
180982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18099
18100 grub-mknetdir script.
18101
18102 * Makefile.util.def (grub-mknetdir): New module.
18103 * tests/util/grub-shell.in: Support boot=net
18104 * util/grub-mknetdir.in: New file.
18105
9d2be652
VS
181062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18107
18108 videoinfo on non-vbe.
18109
18110 * grub-core/Makefile.core.def (vbeinfo): Removed.
18111 (vbetest): Removed.
18112 (videoinfo): New module.
18113 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
18114 * grub-core/commands/i386/pc/vbetest.c: Removed.
18115 * grub-core/commands/videoinfo.c: New file.
18116 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
18117 specification.
18118 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
18119 as vbetest.
18120 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
18121 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
18122 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
18123 mode_number. New parameter mode. All users updated.
18124 (grub_video_gop_iterate): New function.
18125 (grub_video_efi_gop): New member iterate.
18126 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
18127 (grub_vbe_set_video_mode): Remove setting useless fields.
18128 (vbe2videoinfo): New function.
18129 (grub_video_vbe_iterate): Likewise.
18130 (grub_video_vbe_setup): Use vbe2videoinfo.
18131 (grub_video_vbe_print_adapter_specific_info): New function.
18132 (grub_video_vbe_adapter): New fields iterate and
18133 print_adapter_specific_info.
18134 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
18135 All users updated.
18136 (grub_video_mode_info): New field mode_number.
18137 (grub_video_adapter): New fields iterate and
18138 print_adapter_specific_info.
18139
179503f5
TG
181402010-09-13 Tristan Gingold <gingold@free.fr>
181412010-09-13 Robert Millan <rmh.grub@aybabtu.com>
181422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18143
18144 * grub-core/commands/efi/lsefisystab.c: New file.
18145 * grub-core/commands/efi/lssal.c: Likewise.
18146 * grub-core/Makefile.core.def (lsacpi): New module.
18147 (lsefisystab): Likewise.
18148 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
18149 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
18150 (grub_efi_sal_system_table): New struct.
18151 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
18152 (grub_efi_sal_system_table_memory_descriptor): Likewise.
18153 (grub_efi_sal_system_table_platform_features): Likewise.
18154 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
18155 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
18156 (grub_efi_sal_system_table_ap_wakeup): Likewise.
18157 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
18158
cf9827de
VS
181592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18160
18161 Support explicit user claim that a device is BIOS-visible.
18162
18163 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
18164 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
18165 * grub-core/kern/emu/hostdisk.c
18166 (convert_system_partition_to_system_disk): Support mdX.
18167 (find_system_device): New parameter add. All users updated.
18168 (grub_util_biosdisk_is_present): New function.
18169 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
18170 proto.
18171
53f0eb1f
VS
181722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18173
18174 Search hints support.
18175
18176 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
18177 All users updated.
18178
b23ffd70
YB
181792010-09-13 Yves Blusseau <blusseau@zetam.org>
18180
18181 Bash completion script for util commands
18182
18183 * Makefile.am: Add util/bash-completion.d directory
18184 * configure.ac: Likewise.
18185 * util/bash-completion.d/Makefile.am: New file.
18186 * util/bash-completion.d/grub-completion.bash.in: Likewise.
18187
d547dc28
VS
181882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18189
18190 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
18191 (print_backlog): set backlog_ucs4 and backlog_glyphs.
18192 Reported by: Yves Blusseau.
18193
2fc8ccb9
VS
181942010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18195
18196 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
18197 partition size and offset.
18198
d8a84076
VS
181992010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18200
18201 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
18202
84fb3b3d
VS
182032010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18204
18205 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
18206
768ec2e2
VS
182072010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18208
18209 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
18210 (grub_xvasprintf): Likewise.
18211
4870900f
VS
182122010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18213
18214 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
18215
faca6bec
VS
182162010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18217
18218 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
18219 args ending with NULL.
18220
182212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
18222
18223 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
18224 pointer.
18225
3c70f225
SJ
182262010-09-11 Szymon Janc <szymon@janc.net.pl>
18227
18228 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
18229
4df7996d
VS
182302010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18231
18232 Shutdown using ACPI.
18233
18234 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
18235 * grub-core/commands/acpihalt.c: New file.
18236 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
18237 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
18238 (grub_acpi_halt): New proto.
18239 (GRUB_ACPI_SLP_EN): New const.
18240 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
18241 (GRUB_ACPI_OPCODE_*): New enum.
18242 (GRUB_ACPI_EXTOPCODE_*): Likewise.
18243
126b4c32
TG
182442010-09-11 Tristan Gingold <gingold@free.fr>
182452010-09-11 Robert Millan <rmh.grub@aybabtu.com>
182462010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18247
18248 * commands/lsacpi.c: New file.
18249 * grub-core/Makefile.core.def (lsacpi): New module.
18250 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
18251 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
18252 (grub_acpi_madt_entry_header): New struct.
18253 (grub_acpi_madt): Likewise.
18254 (grub_acpi_madt_entry_interrupt_override): Likewise.
18255 (grub_acpi_madt_entry_sapic): Likewise.
18256 (grub_acpi_madt_entry_lsapic): Likewise.
18257 (grub_acpi_madt_entry_platform_int_source): Likewise.
18258 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
18259 (PRIuGRUB_UINT32_T): Likewise.
18260 (PRIxGRUB_UINT64_T): Likewise.
18261
1aa4fe88
VS
182622010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18263
18264 Implement loading palette on ieee1275_fb.
18265
18266 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
18267 (have_setcolors): Likewise.
18268 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
18269 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
18270 (grub_video_ieee1275_set_palette): Implement.
18271
25761e13
VS
182722010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
182732010-09-11 Colin Watson <cjwatson@ubuntu.com>
18274
18275 * util/grub-install.in (grub_partition): New variable.
18276 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
18277 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
18278 Fixes a bug reported by Yves Blusseau.
18279
050abaea
VS
182802010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18281
18282 Fix emu on mipsel.
18283
18284 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
18285 =grub_cpu_flush_cache on all mips and not only yeeloong.
18286 * configure.ac (COND_mips): New conditional.
18287 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
18288 platforms.
18289 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
18290 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
18291 [GRUB_LINKER_HAVE_INIT]: New function.
18292 (grub_emu_post_init): Likewise.
18293 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
18294 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
18295 * include/grub/cache.h (_mips): Include mips/cache.h.
18296 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
18297 LVM and RAID prototypes.
18298 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
18299 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
18300 function.
18301
5ed7d816
CW
183022010-09-10 Colin Watson <cjwatson@ubuntu.com>
18303
18304 * util/grub-install.in: Don't try to verify core.img until after
18305 running grub-mkimage to create it.
18306
90367e04
RM
183072010-09-10 Robert Millan <rmh@gnu.org>
18308
18309 * util/grub.d/10_hurd.in: Add misc readability checks.
18310 * util/grub.d/10_kfreebsd.in: Likewise.
18311 * util/grub.d/10_linux.in: Likewise.
18312
c452fa66
CW
183132010-09-10 Colin Watson <cjwatson@ubuntu.com>
18314
18315 * util/grub-install.in: ${imgext} won't be defined here until the
18316 install branch is merged. For the meantime, only verify core.img on
18317 i386-pc and sparc64-ieee1275 platforms.
18318
c38fe9f4
RM
183192010-09-10 Robert Millan <rmh@gnu.org>
18320
18321 Solaris support in grub_find_zpool_from_dir(). Thanks
18322 Seth Goldberg for referring to getextmntent() facility.
18323
18324 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
18325 `sys/mkdev.h'.
18326 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
18327 `<sys/mnttab.h>'.
18328 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
18329 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
18330 method for finding zpool name.
18331
905f7773
CW
183322010-09-10 Colin Watson <cjwatson@ubuntu.com>
18333
18334 grub-fstest needs the host and hostfs modules while other utilities
18335 actively require those modules to be absent, so grub-fstest needs
18336 its own initialisation and finalisation code.
18337
18338 * Makefile.am (grub_fstest.pp): New target.
18339 (grub_fstest_init.lst): Likewise.
18340 (grub_fstest_init.c): Likewise.
18341 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
18342
fb90b546
RM
183432010-09-10 Robert Millan <rmh@gnu.org>
18344
18345 * configure.ac: Check for `struct statfs.f_fstypename' and
18346 `struct statfs.f_mntfromname'.
18347
18348 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
18349 kFreeBSD-specific code.
18350
66d4bea5
RM
183512010-09-10 Robert Millan <rmh@gnu.org>
18352
18353 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
18354 on ZFS. Now non-main filesystems are supported as / too.
18355
b6a690ee
CW
183562010-09-09 Colin Watson <cjwatson@ubuntu.com>
18357
18358 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
18359 and grub-core/disk/host.c to ...
18360 (grub-fstest): ... here. Having the host disk implementation
18361 present confuses grub-probe and other utility programs.
18362
18363 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
18364 when writing to a file, not when writing to stdout.
18365
8901b00c 183662010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
18367
18368 * tests/partmap_test.in: New test for partitions.
18369 * Makefile.util.def: Rules for new test.
18370
7bf45fdd
RM
183712010-09-09 Robert Millan <rmh@gnu.org>
18372
18373 * util/grub-probe.c (probe): Fix a pair of unhandled error
18374 conditions.
18375
4dfbc574
RM
183762010-09-09 Robert Millan <rmh@gnu.org>
18377
18378 Basic Btrfs support (detection and UUID).
18379
18380 * grub-core/fs/btrfs.c: New file.
18381 * Makefile.util.def (library): Register btrfs.c.
18382 * grub-core/Makefile.core.def: Likewise.
18383
6b8e78ae
RM
183842010-09-08 Robert Millan <rmh@gnu.org>
18385
18386 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
18387 with (optional) parameters to specify device and relative path.
18388 * util/grub-install.in: Use is_path_readable_by_grub() to
18389 verify readability of a few critical files.
18390 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
18391 verify readability of grub.cfg.new.
18392
27f21a8b
VS
183932010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
18394
18395 Split minix.mod into minix.mod and minix2.mod.
18396
18397 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
18398 * grub-core/Makefile.core.def (minix2): New module.
18399 * grub-core/fs/minix.c: Use definitions instead of runtime version
18400 checking.
18401 * grub-core/fs/minix2.c: New file.
18402
c0e53ea5
YB
184032010-09-08 Yves Blusseau <blusseau@zetam.org>
18404
18405 Add new --boot-directory option to replace --root-directory
18406
18407 * util/grub-install.in: Add new --boot-directory option
18408 * util/grub-reboot.in: Likewise.
18409 * util/grub-set-default.in: Likewise.
18410
b9fe6ea2
YB
184112010-09-08 Yves Blusseau <blusseau@zetam.org>
18412
18413 * util/grub-mkconfig.in: Use new variable.
18414
d87aedff
YB
184152010-09-08 Yves Blusseau <blusseau@zetam.org>
18416
18417 * configure.ac: Define some useful variables.
18418
e55e8495
VS
184192010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
18420
18421 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18422 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
18423 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
18424 Use terminfo and don't use cursor-on/cursor-off unless it's known
18425 to work.
18426 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
18427 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
18428
6fa6d675
CW
184292010-09-08 Colin Watson <cjwatson@ubuntu.com>
18430
18431 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
18432 starts with "(,", fill the drive containing the loaded image in
18433 between those two characters, but expect that a full partition
18434 specification including partition map names will follow.
18435
92f2aef0
RM
184362010-09-08 Robert Millan <rmh@gnu.org>
18437
18438 * configure.ac: Remove `--enable-grub-fstest' option.
18439 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
18440
18441 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
18442 `grub-fstest' instead of `grub-probe' for readability verification.
18443 * util/grub-probe.c (probe): Remove readability verification kludge.
18444
99fd620d
RM
184452010-09-08 Robert Millan <rmh@gnu.org>
18446
18447 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
18448 initializing `GRUB_FS'.
18449
058e30ac 184502010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
18451
18452 Not command (!) support to GRUB script.
18453
18454 * tests/grub_script_not.in: New test.
18455 * Makefile.util.def: Rules for new test.
18456
18457 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18458 ! command as a special case.
18459 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
18460
b61d05ed 184612010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18462
058e30ac 18463 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
18464 grub_free.
b61d05ed 18465
4d69c786 184662010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18467
18468 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
18469
aa3119c4 184702010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18471
18472 * docs/grub.texi (Shell-like scripting): Documentation for break,
18473 continue, shift and return commands.
18474
db0f7e3d
VS
184752010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
18476
18477 Rename CD-ROM to cd on BIOS.
18478
18479 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
18480 "cd".
18481 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
18482
88b87c93
VS
184832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18484
18485 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
18486 * util/grub-probe.c (main): Likewise.
18487 * util/i386/pc/grub-setup.c (main): Likewise.
18488 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18489 Reported and debugged by: alexxy
18490
294f324d
VS
184912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18492
18493 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
18494 diagnostic info.
18495
d7ee3441
JS
184962010-09-05 Jo Shields <directhex@apebox.org>
18497
18498 * util/grub.d/30_os-prober.in: Add missing classes.
18499
d7e06c1f
VS
185002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18501
18502 * docs/grub.texi (Theme file format): Document new position format.
18503
fc157e53
VS
185042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18505
18506 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
18507 a table. Use @code instead of @verbatim.
18508
506e9a1c
CB
185092010-09-05 Colin D Bennett <colin@gibibit.com>
18510
18511 Gfxmenu documentation.
18512
18513 * docs/grub.texi (Theme file format): New chapter.
18514
f0aff67c
SJ
185152010-09-05 Szymon Janc <szymon@janc.net.pl>
18516
18517 * grub-core/Makefile.core.def (xzio): New module.
18518 * grub-core/io/xzio.c: New file.
18519 * grub-core/lib/xzembed/xz.h: New file (from xembed).
18520 * grub-core/lib/xzembed/xz_config.h: Likewise.
18521 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
18522 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
18523 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
18524 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
18525 * grub-core/lib/xzembed/xz_private.h: Likewise.
18526 * grub-core/lib/xzembed/xz_stream.h: Likewise.
18527 * include/grub/file.h (grub_file_filter_id): New compression filter
18528 GRUB_FILE_FILTER_XZIO.
18529
82a85062
VS
185302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18531
18532 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
18533 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
18534 size.
18535
3579415d
VS
185362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18537
18538 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
18539 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
18540
5124ae6d
VS
185412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18542
18543 Uncompressed checksum support.
18544
18545 * grub-core/commands/hashsum.c (options): Add option --uncompress.
18546 (check_list): New parameter uncompress.
18547 (grub_cmd_hashsum): Handle --uncompress.
18548
9aadb3d1
VS
185492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18550
18551 Reintroduce testload.
18552
18553 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
18554 from here ...
18555 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
18556 (GRUB_MOD_INIT): New function.
18557 (GRUB_MOD_FINI): Likewise.
18558 * grub-core/Makefile.core.def (testload): New module.
18559
a17792c3
SJ
185602010-09-05 Szymon Janc <szymon@janc.net.pl>
18561
18562 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
18563 (uint8_t): New type.
18564 (uint16_t): Likewise.
18565 (uint32_t): Likewise.
18566 (uint64_t): Likewise.
18567
b81e40a3
SJ
185682010-09-05 Szymon Janc <szymon@janc.net.pl>
18569
18570 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
18571
fc2ef117
VS
185722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18573
18574 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
18575 Made static.
18576 (grub_gzfile_open): Removed. All users updated.
18577 (GRUB_MOD_INIT): New function.
18578 (GRUB_MOD_FINI): Likewise.
18579 * grub-core/kern/file.c (grub_file_filters_all): New variable.
18580 (grub_file_filters_enabled): Likewise.
18581 (grub_file_open): Handle filters.
18582 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
18583 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
18584 * include/grub/file.h (grub_file_filter_id_t): New type.
18585 (grub_file_filter_t): Likewise.
18586 (grub_file_filters_all): New extern variable.
18587 (grub_file_filters_enabled): Likewise.
18588 (grub_file_filter_register): New inline function.
18589 (grub_file_filter_unregister): Likewise.
18590 (grub_file_filter_disable): Likewise.
18591 (grub_file_filter_disable_compression): Likewise.
18592 * include/grub/gzio.h: Removed.
18593
35ee15e0
BC
185942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18595
18596 Filename expansion support for wildcards in GRUB script.
18597
18598 * tests/grub_script_expansion.in: New test.
18599 * Makefile.util.def: Rule for new test.
18600
18601 * grub-core/commands/wildcard.c: New file, implements filename
18602 expansion support for GRUB script.
18603 * grub-core/Makefile.core.def: Rule update for regexp.mod.
18604 * grub-core/script/argv.c: Cosmetic changes.
18605 * grub-core/script/execute.c (grub_script_arglist_to_argv):
18606 Refactored to perform wildcard expansion on arguments.
18607 * include/grub/script_sh.h (grub_script_wildcard_translator): New
18608 struct.
18609
18610 * tests/util/grub-shell.in: Fix quoting for read input.
18611
5f0c4aca
BC
186122010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18613
18614 Support for updating environment variables with matched substrings
18615 of regexp.
18616
18617 * tests/grub_cmd_regexp.in: New test.
18618 * Makefile.util.def: Rule for new test.
18619
18620 * grub-core/commands/regexp.c: New option -s to update environment
18621 variables with regexp matches.
18622
3759a35f
SJ
186232010-09-04 Szymon Janc <szymon@janc.net.pl>
18624
18625 * include/grub/file.h (grub_file): New member not_easly_seekable.
18626 (grub_file_seekable): New inline function.
18627 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
18628 easily seekable.
18629 (grub_gzio_open): Set not_easly_seekable.
18630 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
18631 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
18632
ed8c6dec
BC
186332010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18634
18635 Support for options to appear multiple times on cmdline.
18636
18637 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
18638 * grub-core/commands/extcmd.c: Support for repeatable option.
18639 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
18640 repeatable option support.
18641
18642 Refactor menuentry into a regular command.
18643
18644 * grub-core/commands/menuentry.c: New file, menuentry command
18645 implementation.
18646 * grub-core/Makefile.core.def: Rule update for normal.mod.
18647 * grub-core/normal/main.c: Moved menuentry creation to
18648 grub-core/commands/menuentry.c.
18649 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
18650 (grub_menu_execute_entry_real): Removed.
18651 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
18652 function.
18653 (grub_script_execute_menuentry): Removed.
18654 * grub-core/script/parser.y (menuentry): Removed.
18655 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
18656 * grub-core/script/yylex.l (menuentry): Removed.
18657 * include/grub/menu.h (grub_menu_init): New prototype.
18658 (grub_menu_fini): New prototype.
18659 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
18660 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
18661 (grub_script_execute_sourcecode): New prototype.
18662
dacd0cf0
BC
186632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18664
18665 "return" command for GRUB script functions.
18666
18667 * tests/grub_script_return.in: New test.
18668 * Makefile.util.def: Rules for new test.
18669
18670 * grub-core/script/execute.c (grub_script_return): New function.
18671 * grub-core/script/main.c: Register/unregister return commaond.
18672 * include/grub/script_sh.h (grub_script_return): New prototype.
18673
52e72f9d
BC
186742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18675
18676 "setparams" command to update positional parameters.
18677
18678 * tests/grub_script_setparams.in: New test.
18679 * Makefile.util.def: Rules for new test.
18680
18681 * grub-core/script/argv.c (grub_script_argv_make): New function.
18682 * grub-core/script/execute.c (replace_scope): New function.
18683 (grub_script_setparams): New function.
18684 * grub-core/script/lexer.c: Remove unused variables.
18685 * grub-core/script/main.c: Register/unregister setparams command.
18686 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
18687 (grub_script_setparams): New prototype.
18688
25b60c91
BC
186892010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18690
18691 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
18692 grub_free order.
18693
37e7bf68
BC
186942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18695
18696 Support for passing block of commands as an argument to extcmds.
18697
18698 * Makefile.util.def: Rules for new test.
18699 * tests/grub_script_blockarg.in: New test.
18700 * grub-core/tests/test_blockarg.c: New file, block argument
18701 command used in the test.
18702
18703 * include/grub/extcmd.h (grub_extcmd_context): New struct.
18704 (grub_register_extcmd_prio): New function prototype.
18705 (grub_extcmd_dispatcher): New function prototype.
18706 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
18707 type.
18708 * include/grub/script_sh.h (struct grub_script): New members
18709 `children', `next_siblings' and `refcnt' for block arguments and
18710 reference counting.
18711 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
18712 (grub_script_arg): New member `script' for block argument.
18713 (grub_script_argv): New member `script' for block argument.
18714 (grub_parser_param): New member `scripts' for block argument.
18715 (grub_script_mem_free): New extern function prototype.
18716 (grub_script_ref): New function prototype.
18717 (grub_script_unref): New function prototype.
18718
18719 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
18720 extcmd form to support block arguments.
18721 * grub-core/script/argv.c: Block arguments support.
18722 * grub-core/script/execute.c: Likewise.
18723 * grub-core/script/lexer.c: Likewise.
18724 * grub-core/script/main.c: Likewise.
18725 * grub-core/script/script.c: Likewise.
18726 * grub-core/script/parser.y: Likewise. New `block' and `block0'
18727 non-terminals.
18728
18729 * grub-core/commands/acpi.c: Update extcmd implementations with
18730 grub_extcmd_context_t.
18731 * grub-core/commands/cat.c: Likewise.
18732 * grub-core/commands/echo.c: Likewise.
18733 * grub-core/commands/extcmd.c: Likewise.
18734 * grub-core/commands/hashsum.c: Likewise.
18735 * grub-core/commands/hdparm.c: Likewise.
18736 * grub-core/commands/help.c: Likewise.
18737 * grub-core/commands/hexdump.c: Likewise.
18738 * grub-core/commands/i386/cpuid.c: Likewise.
18739 * grub-core/commands/i386/pc/drivemap.c: Likewise.
18740 * grub-core/commands/i386/pc/halt.c: Likewise.
18741 * grub-core/commands/i386/pc/sendkey.c: Likewise.
18742 * grub-core/commands/iorw.c: Likewise.
18743 * grub-core/commands/keystatus.c: Likewise.
18744 * grub-core/commands/loadenv.c: Likewise.
18745 * grub-core/commands/ls.c: Likewise.
18746 * grub-core/commands/lspci.c: Likewise.
18747 * grub-core/commands/memrw.c: Likewise.
18748 * grub-core/commands/probe.c: Likewise.
18749 * grub-core/commands/search_wrap.c: Likewise.
18750 * grub-core/commands/setpci.c: Likewise.
18751 * grub-core/commands/sleep.c: Likewise.
18752 * grub-core/disk/loopback.c: Likewise.
18753 * grub-core/hello/hello.c: Likewise.
18754 * grub-core/loader/i386/bsd.c: Likewise.
18755 * grub-core/loader/xnu.c: Likewise.
18756 * grub-core/term/gfxterm.c: Likewise.
18757 * grub-core/term/serial.c: Likewise.
18758 * grub-core/tests/lib/functional_test.c: Likewise.
18759
888d1500
BC
187602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18761
18762 Multi-line quoted strings support.
18763
18764 * grub-core/script/lexer.c (append_newline): Removed.
18765 (grub_script_lexer_yywrap): Refactored.
18766 (grub_script_lexer_init): Refactored.
18767 * grub-core/script/yylex.l (yywrap): New function.
18768 (grub_lexer_resplit): New function.
18769 (grub_lexer_unput): New function.
18770 * include/grub/script_sh.h (grub_lexer_param): New members, unput
18771 and resplit.
18772 * tests/grub_script_echo1.in: Added few more testcases.
18773
dda060dd
VS
187742010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
18775
18776 * grub-core/kern/misc.c: Don't add abort alias in utils.
18777 Reported by: echoline.
18778
6556eba9
BC
187792010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
18780
18781 Add missing files into "make dist" tarball for other platforms.
18782
18783 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
18784 * conf/Makefile.common (dist_noinst_DATA): New variable.
18785 * conf/Makefile.extra-dist: Added missing make dist files.
18786 * grub-core/Makefile.core.def: Likewise.
18787
c8e7bf5f
VS
187882010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
18789
18790 Compress grub_prefix.
18791
18792 * grub-core/boot/i386/pc/lnxboot.S: Use
18793 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
18794 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
18795 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
18796 GRUB_MACHINE_PREFIX_END. All users updated.
18797 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
18798 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
18799 + 0x40.
18800 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
18801 * util/grub-mkimage.c (image_target_desc): Change data_end to
18802 prefix_end. All users updated.
18803
a7c00cdb
VS
188042010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
18805
18806 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
18807 value.
18808 (grub_openbsd_boot): Likewise.
18809 (grub_netbsd_boot): Likewise.
18810 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
18811 (grub_xnu_boot): Likewise.
18812
9f915872
VS
188132010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18814
18815 * configure.ac: Clean LIBS variable after tests.
18816
efa1bee7
CW
188172010-09-02 Colin Watson <cjwatson@ubuntu.com>
18818
18819 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
18820
61d720e5
VS
188212010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18822
18823 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
18824 echo if libdevmapper will be used.
18825
ef8e0ec8
IT
188262010-09-02 Ian Turner <Ian.Turner@deshaw.com>
18827
18828 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
18829 constant for the same file.
18830
03e261d8
VS
188312010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18832
18833 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
18834
c2a4eba6
CW
188352010-09-02 Colin Watson <cjwatson@ubuntu.com>
18836
18837 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
18838 grub-core/*.pp.
18839
9056cbf3
CW
188402010-09-02 Colin Watson <cjwatson@ubuntu.com>
18841
18842 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
18843 required by the boot protocol.
18844
18845 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
18846 ebp and edi members.
18847 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
18848 state.ebp and state.edi.
18849 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
18850 %ebp and %edi according to grub_relocator32_ebp and
18851 grub_relocator32_edi respectively.
18852 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
18853 and state.edi.
18854
529cc99a
VS
188552010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18856
18857 Add i386-pc-pxe image target.
18858
18859 * util/grub-mkimage.c (image_target_desc): New enum value
18860 IMAGE_I386_PC_PXE.
18861 (image_targets): New target i386-pc-pxe.
18862 (generate_image): Handle i386-pc-pxe image.
18863
9a093920
VS
188642010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18865
18866 Fix grub_pxe_scan.
18867
18868 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
18869 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
18870 All users updated.
18871 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
18872 (grub_pxe_pxenv): Correct type.
18873
f9cefc4e
CW
188742010-09-01 Colin Watson <cjwatson@ubuntu.com>
18875
18876 * NEWS: Document most of the important changes since 1.98.
18877
4066f57f
CW
188782010-09-01 Colin Watson <cjwatson@ubuntu.com>
18879
18880 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
18881 generated manual page) a little.
18882
da2891f9
CW
188832010-09-01 Colin Watson <cjwatson@ubuntu.com>
18884
18885 * docs/grub.texi: Add myself as an author.
18886
ad717fae
VS
188872010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
18888
18889 * Makefile.util.def (libgrub.a): Add missing sunpc.
18890 Reported by: Seth Goldberg.
18891
eefe8abd
VS
188922010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18893
18894 Interrupt wrapping and code simplifications.
18895
9494ef9a
VS
18896 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
18897 x86_noieee1275 which are functionaly equivalent in this case.
18898 (grub-install): Make source on each platform explicit. Enable on
18899 all noemu.
18900 * gentpl.py (x86_efi_pc): Removed group.
18901 (x86_noefi): Likewise.
18902 (i386_noefi): Likewise.
18903 (x86_noieee1275): Likewise.
18904 (i386_noieee1275): Likewise.
18905 (i386_noefi_noieee1275): Likewise.
18906 (i386_pc_qemu_coreboot): Likewise.
18907 (i386_coreboot_multiboot): Likewise.
18908 (i386_pc_coreboot_multiboot_qemu): Likewise.
18909 (x86_noefi_mips): Likewise.
18910 (noieee1275): Likewise.
18911 (ieee1275_mips): Likewise.
18912 (noemu_noieee1275): Likewise.
18913 (cmos): New group.
18914 (usb): Likewise.
18915 (videoinkernel): Likewise.
18916 (videomodules): Likewise.
eefe8abd 18917 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
18918 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
18919 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
18920 include/grub/loader.h, include/grub/msdos_partition.h,
18921 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
18922 include/grub/machine/console.h, include/grub/machine/vga.h,
18923 include/grub/machine/vbe.h, include/grub/machine/init.h,
18924 include/grub/machine/kernel.h, include/grub/cpu/time.h,
18925 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 18926 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
18927 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
18928 * grub-core/Makefile.core.def (kernel): Explicit the source for
18929 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
18930 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
18931 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
18932 Use videoinkernel tag.
18933 (usb): Enable on all usb.
18934 (usbserial_common): Likewise.
18935 (usbserial_pl2303): Likewise.
18936 (usbserial_ftdi): Likewise.
18937 (uhci): Enable on all x86.
18938 (ohci): Enable on all pci.
18939 (cmostest): Enable on all CMOS.
18940 (acpi): Include commands/acpi.c on all platforms.
18941 (halt): Add relevant lib/*/halt.c.
18942 (hdparm): Enable on all pci.
18943 (lspci): Likewise.
18944 (usbtest): Enable on all usb.
18945 (ata): Enable on all pci.
18946 (ata_pthru): Likewise.
18947 (usbms): Enable on all usb.
18948 (usb_keyboard): Likewise.
18949 (font): Use tag videomodules.
18950 (bufio): Likewise.
18951 (datetime): Use tag cmos. Enable on all noemu.
18952 (mmap): Use tags common and x86.
18953 (gfxterm): Use tag videomodules.
18954 (bitmap): Likewise.
18955 (bitmap_scale): Likewise.
18956 (video_fb): Likewise.
18957 (video): Likewise.
18958 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
18959 adjust padding accordingly. All users updated.
18960 (grub_ohci_transaction): Fix bad format specification.
18961 (GRUB_MOD_INIT): Add asserts for struct size.
18962 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
18963 (grub_alloc_td): Likewise.
18964 (grub_free_queue): Likewise.
18965 (grub_uhci_transfer): Likewise.
18966 (grub_uhci_transaction): Fix bad format specification.
18967 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
18968 (grub_usb_bulk_readwrite): Likewise.
18969 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
18970 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
18971 Made static.
18972 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
18973 Made static.
18974 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
18975 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
18976 Transformed into C.
18977 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
18978 Moved from here ...
18979 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
18980 ... here. Transformed into C. Made static.
18981 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
18982 Moved from here ...
18983 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
18984 ... here. Transformed into C. Made static.
18985 * grub-core/kern/i386/pc/startup.S
18986 (grub_biosdisk_check_int13_extensions): Moved from here ...
18987 * grub-core/disk/i386/pc/biosdisk.c
18988 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
18989 Made static.
18990 * grub-core/kern/i386/pc/startup.S
18991 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
18992 * grub-core/disk/i386/pc/biosdisk.c
18993 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
18994 Transformed into C. Made static.
18995 * grub-core/kern/i386/pc/startup.S
18996 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
18997 * grub-core/disk/i386/pc/biosdisk.c
18998 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
18999 Transformed into C. Made static.
19000 * grub-core/kern/i386/pc/startup.S
19001 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
19002 * grub-core/disk/i386/pc/biosdisk.c
19003 (grub_biosdisk_get_diskinfo_standard): ... here.
19004 Transformed into C. Made static.
19005 * grub-core/kern/i386/pc/startup.S
19006 (grub_biosdisk_get_num_floppies): Moved from here ...
19007 * grub-core/disk/i386/pc/biosdisk.c
19008 (grub_biosdisk_get_num_floppies): ... here.
19009 Transformed into C. Made static.
19010 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
19011 New function.
19012 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
19013 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
19014 Transformed into C. Made static.
19015 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
19016 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
19017 Transformed into C. Made static.
19018 * grub-core/kern/i386/ieee1275/init.c: Removed.
19019 * grub-core/kern/i386/misc.S: Likewise.
19020 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
19021 Splitted from here ...
19022 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
19023 Transformed into C. Made static. All users updated.
19024 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
19025 Transformed into C. Made static. All users updated.
19026 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
19027 Moved from here...
19028 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
19029 Transformed into C. Made static. All users updated.
19030 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
19031 Moved from here...
19032 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
19033 Transformed into C. Made static. All users updated.
19034 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
19035 Removed (replaced by C version).
19036 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
19037 Moved from here...
19038 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
19039 Transformed into C. Made static.
19040 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
19041 Moved from here...
19042 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
19043 ... here. Transformed into C.
19044 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
19045 Moved from here...
19046 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
19047 ... here. Transformed into C.
19048 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
19049 Moved from here...
19050 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
19051 ... here. Transformed into C. Made static.
19052 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
19053 Moved from here...
19054 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
19055 ... here. Transformed into C.
21ed554b
VS
19056 * grub-core/kern/i386/pc/startup.S
19057 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
19058 * grub-core/video/i386/pc/vbe.c
19059 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
19060 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
19061 Moved from here...
19062 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
19063 ... here. Transformed into C.
19064 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
19065 Moved from here...
19066 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
19067 ... here. Transformed into C.
19068 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
19069 Moved from here...
19070 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
19071 ... here. Transformed into C.
19072 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
19073 Moved from here...
19074 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
19075 ... here. Transformed into C.
19076 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
19077 Moved from here...
19078 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
19079 ... here. Transformed into C. Made static.
19080 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
19081 Moved from here...
19082 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
19083 ... here. Transformed into C. Made static.
19084 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
19085 Moved from here...
19086 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
19087 ... here. Transformed into C. Made static.
19088 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
19089 pxe_rm_entry as third argument.
19090 (grub_bios_interrupt): New function.
19091 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
19092 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
19093 of calling grub_stop.
19094 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
19095 * grub-core/lib/efi/halt.c (grub_halt): ...here.
19096 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
19097 * grub-core/lib/emu/halt.c (grub_halt): ... here.
19098 * grub-core/lib/i386/halt.c: Moved from here ...
19099 * grub-core/lib/i386/halt.c: ... here.
19100 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
19101 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
19102 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
19103 grub_stop_floppy.
19104 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
19105 * include/grub/i386/coreboot/init.h: Removed.
19106 * include/grub/i386/multiboot/init.h: Likewise.
19107 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
19108 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
19109 * include/grub/i386/pc/int.h: New file.
19110 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
19111 (grub_pxe_scan): Removed.
19112 (grub_pxe_call): Update prototype.
19113 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
19114 prototypes.
19115 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
19116 * include/grub/i386/qemu/init.h: Removed.
19117 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
19118 noreturn.
19119 (grub_halt): Likewise.
19120 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
19121 (grub_reboot): Likewise.
19122 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
19123 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
19124 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
19125
215dd471
RM
191262010-08-30 Robert Millan <rmh@gnu.org>
19127
19128 * NEWS: Document addition of ZFS support in `grub-install' and
19129 `grub-mkconfig'.
19130
ebd65b82
BC
191312010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
19132
19133 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
19134 dprintf output.
19135
11721d19
VS
191362010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19137
19138 Remove leftover embedding of font objects.
19139
19140 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19141 * util/grub-install.in (font): Removed.
19142 * util/grub-mkimage.c (generate_image): Remove font support. All users
19143 updated.
19144
37837d4e
VS
191452010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19146
19147 Remove leftover embedding of font objects.
19148
19149 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19150 * util/grub-install.in (font): Removed.
19151 * util/grub-mkimage.c (generate_image): Remove font support. All users
19152 updated.
19153
b4c1aae0
VS
191542010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19155
19156 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 19157 Reported by: Ian Turner
b4c1aae0 19158
8920a08d
VS
191592010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19160
19161 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
19162 timeout to avoid indefinite boot stalling.
19163
f21db033
VS
191642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19165
19166 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
19167 (grub_env_write_color_highlight): Likewise.
19168
9a9de209
VS
191692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19170
19171 * grub-core/normal/term.c (print_more): Return to normal and not
19172 to standard state after printing "---MORE---".
19173
3dca01d7
VS
191742010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19175
19176 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
19177 Mask out the bit 0x80 since it has other meaning that specifiing color.
19178
0b986c40
VS
191792010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19180
19181 New relocator. Allows for more kernel support and more straightforward
19182 loader writing.
19183
19184 * Makefile.am (BOOTTARGET): New variable.
19185 (QEMU32): Likewise.
19186 (linux.init.x86_64): New target.
19187 (linux.init.i386): Likewise.
19188 (multiboot.elf): Likewise.
19189 (kfreebsd.elf): Likewise.
19190 (kfreebsd.aout): Likewise.
19191 (pc-chainloader.elf): Likewise.
19192 (pc-chainloader.bin): Likewise.
19193 (ntldr.elf): Likewise.
19194 (ntldr.bin): Likewise.
19195 (multiboot2.elf): Likewise.
19196 (kfreebsd.init.x86_64): Likewise.
19197 (kfreebsd.init.i386): Likewise.
19198 (knetbsd.init.i386): Likewise.
19199 (kopenbsd.init.i386): Likewise.
19200 (knetbsd.init.x86_64): Likewise.
19201 (kopenbsd.init.x86_64): Likewise.
19202 (linux-initramfs.i386): Likewise.
19203 (linux-initramfs.x86_64): Likewise.
19204 (kfreebsd-mfsroot.i386.img): Likewise.
19205 (knetbsd.image.i386): Likewise.
19206 (kopenbsd.image.i386): Likewise.
19207 (kopenbsd.image.x86_64): Likewise.
19208 (knetbsd.miniroot-image.i386.img): Likewise.
19209 (kfreebsd-mfsroot.x86_64.img): Likewise.
19210 (knetbsd.image.x86_64): Likewise.
19211 (knetbsd.miniroot-image.x86_64.img): Likewise.
19212 (kfreebsd-mfsroot.i386.gz): Likewise.
19213 (bootcheck-kfreebsd-i386): Likewise.
19214 (kfreebsd-mfsroot.x86_64.gz): Likewise.
19215 (bootcheck-kfreebsd-x86_64): Likewise.
19216 (knetbsd.miniroot-image.i386.gz): Likewise.
19217 (bootcheck-knetbsd-i386): Likewise.
19218 (bootcheck-kopenbsd-i386): Likewise.
19219 (bootcheck-kopenbsd-x86_64): Likewise.
19220 (knetbsd.miniroot-image.x86_64.gz): Likewise.
19221 (bootcheck-knetbsd-x86_64): Likewise.
19222 (bootcheck-linux-i386): Likewise.
19223 (bootcheck-linux-x86_64): Likewise.
19224 (bootcheck-linux16-i386): Likewise.
19225 (bootcheck-linux16-x86_64): Likewise.
19226 (bootcheck-multiboot): Likewise.
19227 (bootcheck-multiboot2): Likewise.
19228 (bootcheck-kfreebsd-aout): Likewise.
19229 (bootcheck-pc-chainloader): Likewise.
19230 (bootcheck-ntldr): Likewise.
19231 (CLEANFILES): Add new targets.
19232 (BOOTCHECKS): New variable.
19233 (.PHONY): Add bootchecks.
19234 (SUCCESSFUL_BOOT_STRING): New variable.
19235 (BOOTCHECK_TIMEOUT): Likewise.
19236 (bootcheck): New target
19237 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
19238 * configure.ac: Correct efiemu excuse.
19239 * docs/grub.texi (Supported kernels): New chapter.
19240 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
19241 include/grub/mm_private.h. Simplify inclusion of
19242 include/grub/boot.h, include/grub/loader.h
19243 and include/grub/msdos_partition.h
19244 (KERNEL_HEADER_FILES) [i386_coreboot]:
19245 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
19246 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
19247 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
19248 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
19249 include/grub/machine/loader.h.
19250 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
19251 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
19252 extra_dist.
19253 (pci.mod): Enable on i386-multiboot.
19254 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
19255 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
19256 i386-qemu.
19257 (relocator.mod): Rewritten.
19258 (aout.mod): Enable on all x86.
19259 (bsd.mod): Likewise.
19260 (ntldr.mod): New module.
19261 (linux.mod): Use loader/i386/linux.c on all x86.
19262 (xnu.mod): Enable on all x86.
19263 (vga_text.mod): disable on EFI and QEMU.
19264 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
19265 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
19266 * grub-core/efiemu/loadcore.c: Likewise.
19267 * grub-core/efiemu/main.c: Likewise.
19268 (grub_efiemu_exit_boot_services): Removed.
19269 (grub_efiemu_finish_boot_services): Likewise.
19270 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
19271 function.
19272 * grub-core/efiemu/i386/nocfgtables.c: New file.
19273 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
19274 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
19275 (grub_efi_finish_boot_services): Moved from here ...
19276 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
19277 Fille finish memory map and related data.
19278 (finish_mmap_buf): New variable.
19279 (grub_efi_uintn_t finish_mmap_size): Likewise.
19280 (grub_efi_uintn_t finish_key): Likewise.
19281 (grub_efi_uintn_t finish_desc_size): Likewise.
19282 (grub_efi_uint32_t finish_desc_version): Likewise.
19283 (grub_efi_is_finished): Likewise.
19284 (grub_efi_get_memory_map): Use saved memory map if EFI is already
19285 finished.
19286 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
19287 (grub_elf64_phdr_iterate): Likewise.
19288 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
19289 (grub_os_area_size): Likewise.
19290 (grub_machine_init): Don't reserve os area.
19291 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
19292 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
19293 * grub-core/kern/i386/loader.S: Removed.
19294 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
19295 (grub_os_area_size): Likewise.
19296 (grub_machine_init): Don't reserve os area.
19297 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
19298 Don't call grub_dl_unload_all.
19299 Don't include loader.S.
19300 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
19301 Declare the memory after _end as available.
19302 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 19303 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 19304 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
19305 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
19306 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
19307 * include/grub/mm_private.h (grub_mm_header): ... here.
19308 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
19309 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
19310 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
19311 (grub_mm_region): ..here. Removed addr. Added pre_size.
19312 All users updated.
19313 * grub-core/kern/mm.c (base): Renamed to ...
19314 (grub_mm_base): ... this. Made global.
19315 (grub_real_malloc): Alloc from end of region.
19316 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
19317 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
19318 * grub-core/kern/powerpc/cache_flush.S: ... here.
19319 * grub-core/lib/efi/relocator.c: New file.
19320 * grub-core/lib/i386/relocator.c: Rewritten.
19321 * grub-core/lib/i386/relocator16.S: New file.
19322 * grub-core/lib/i386/relocator32.S: Likewise.
19323 * grub-core/lib/i386/relocator64.S: Likewise.
19324 * grub-core/lib/i386/relocator_asm.S: Rewritten.
19325 * grub-core/lib/i386/relocator_common.S: New file.
19326 * grub-core/lib/ieee1275/relocator.c: Likewise.
19327 * grub-core/lib/mips/relocator.c: Rewritten.
19328 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
19329 stylistic adjustments.
19330 * grub-core/lib/powerpc/relocator.c: New file.
19331 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
19332 * grub-core/lib/relocator.c: Rewritten.
19333 * grub-core/lib/x86_64/relocator_asm.S: New file.
19334 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
19335 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
19336 (bsd_tag): New struct.
19337 (tags): New variable.
19338 (tags_last): Likewise.
19339 (netbsd_module): New struct.
19340 (netbsd_mods): New variable.
19341 (netbsd_mods_last): Likewise.
19342 (openbsd_opts): New parameter "serial".
19343 (OPENBSD_SERIAL_ARG): New definition.
19344 (netbsd_opts): New parameter "serial".
19345 (NETBSD_SERIAL_ARG): New definition.
19346 (grub_freebsd_add_meta): Reorganised into ...
19347 (grub_bsd_add_meta): ...this. All users updated.
19348 (grub_freebsd_add_mmap): Reorganised into ...
19349 (generate_e820_mmap): ...this...
19350 (grub_bsd_add_mmap): ...and this. All users updated.
19351 (grub_freebsd_list_modules): Use tags.
19352 (grub_netbsd_add_meta_module): New function.
19353 (grub_netbsd_list_modules): Likewise.
19354 (grub_freebsd_boot): Use relocator and finish EFI.
19355 (grub_openbsd_boot): Likewise.
19356 (grub_netbsd_setup_video): New function.
19357 (grub_netbsd_add_modules): Likewise.
19358 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
19359 and finish EFI.
19360 (grub_bsd_unload): Unload tags.
19361 (grub_bsd_load_aout): Use relocator.
19362 (grub_bsd_elf32_size_hook): New function.
19363 (grub_bsd_elf32_hook): Use relocator.
19364 (grub_bsd_elf64_size_hook): New function.
19365 (grub_bsd_elf64_hook): Use relocator.
19366 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
19367 (grub_bsd_load): Zero-out openbsd_ramdisk.
19368 (grub_bsd_load): Use relocator.
19369 (grub_cmd_openbsd): Support serial.
19370 (grub_cmd_netbsd): Support modules.
19371 (grub_cmd_freebsd_module): Use relocator.
19372 (grub_netbsd_module_load): New function.
19373 (grub_cmd_netbsd_module): Likewise.
19374 (grub_cmd_openbsd_ramdisk): Likewise.
19375 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
19376 kopenbsd_ramdisk.
19377 (GRUB_MOD_FINI): Unregister new commands.
19378 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
19379 (grub_freebsd_load_elfmodule_obj): Use relocator.
19380 (grub_freebsd_load_elfmodule): Likewise.
19381 (grub_freebsd_load_elf_meta): Likewise.
19382 (grub_netbsd_load_elf_meta): New function.
19383 (grub_openbsd_find_ramdisk): Likewise.
19384 * grub-core/loader/i386/bsd_helper.S: Removed.
19385 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
19386 * grub-core/loader/i386/bsd_trampoline.S: Removed.
19387 * grub-core/loader/i386/efi/linux.c: Likewise.
19388 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
19389 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
19390 (DEFAULT_VIDEO_MODE): Likewise.
19391 (real_mode_target): New variable.
19392 (prot_mode_target): Likewise.
19393 (initrd_mem_target): Likewise.
19394 (relocator): Likewise.
19395 (efi_mmap_buf): Likewise.
19396 (efi_mmap_size): Likewise.
19397 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
19398 (free_pages): Use relocator.
19399 (allocate_pages): Account for efi_mmap and use relocator. Return error.
19400 (grub_linux_setup_video): Return error.
19401 (grub_linux_trampoline_start): Removed.
19402 (grub_linux_trampoline_end): Likewise.
19403 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
19404 andd video parameters depending on firmware.
19405 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
19406 [GRUB_MACHINE_EFI]: Pass EFI parameters.
19407 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
19408 (grub_cmd_initrd): Use relocator.
19409 * grub-core/loader/i386/linux_trampoline.S: Removed.
19410 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
19411 (elf_sec_entsize): Likewise.
19412 (elf_sec_shstrndx): Likewise.
19413 (elf_sections): Likewise.
19414 (grub_multiboot_load): Use relocator.
19415 (grub_multiboot_get_mbi_size): Account for sections.
19416 (grub_multiboot_make_mbi): Use relocator and support sections.
19417 (grub_multiboot_add_elfsyms): New function.
19418 (grub_multiboot_free_mbi): Free sections.
19419 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
19420 (grub_linux_real_target): Likewise.
19421 (grub_linux_real_chunk): Likewise.
19422 (grub_linux16_prot_size): Likewise.
19423 (grub_linux16_boot): Use relocator.
19424 (grub_linux_unload): Unload relocator.
19425 (grub_cmd_linux): Use relocator.
19426 (grub_cmd_initrd): Likewise.
19427 * grub-core/loader/i386/pc/ntldr.c: New file.
19428 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
19429 Don't try to guess CPU frequency.
19430 (grub_xnu_set_video): Stretch bitmap.
19431 (grub_xnu_boot): Use relocator.
19432 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
19433 (grub_linux_unload): Free relocator.
19434 (grub_linux_load32): Use relocator.
19435 (grub_linux_load64): Likewise.
19436 (grub_cmd_initrd): Likewise.
19437 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
19438 (grub_multiboot_unload): Unload relocator.
19439 (grub_cmd_multiboot): Use relocator.
19440 (grub_cmd_module): Likewise.
19441 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
19442 Use relocator and support sections.
19443 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
19444 (elf_sec_entsize): Likewise.
19445 (elf_sec_shstrndx): Likewise.
19446 (elf_sections): Likewise.
19447 (grub_multiboot_load): Use relocator.
19448 (grub_multiboot_get_mbi_size): Account for sections.
19449 (grub_multiboot_make_mbi): Use relocator and support sections.
19450 (grub_multiboot_add_elfsyms): New function.
19451 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
19452 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
19453 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
19454 Prototype changed. All users updated.
19455 (grub_xnu_align_heap): Simplified.
19456 (grub_xnu_writetree_toheap): Likewise.
19457 (grub_xnu_unload): Unload relocator.
19458 (grub_cmd_xnu_kernel): Use relocator.
19459 (grub_cmd_xnu_kernel64): Likewise.
19460 (grub_xnu_register_memory): Simplified.
19461 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
19462 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
19463 EFI is finished.
19464 (grub_console_checkkey): Likewise.
19465 (grub_console_getkey): Likewise.
19466 (grub_console_getwh): Likewise.
19467 (grub_console_getxy): Likewise.
19468 (grub_console_gotoxy): Likewise.
19469 (grub_console_cls): Likewise.
19470 (grub_console_setcolorstate): Likewise.
19471 (grub_console_setcursor): Likewise.
19472 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
19473 * grub-core/tests/boot/kbsd.init-i386.S: New file.
19474 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
19475 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
19476 * grub-core/tests/boot/kernel-8086.S: Likewise.
19477 * grub-core/tests/boot/kernel-i386.S: Likewise.
19478 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
19479 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
19480 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
19481 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
19482 * grub-core/tests/boot/knetbsd.cfg: Likewise.
19483 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
19484 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
19485 * grub-core/tests/boot/linux.cfg: Likewise.
19486 * grub-core/tests/boot/linux.init-i386.S: Likewise.
19487 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
19488 * grub-core/tests/boot/linux16.cfg: Likewise.
19489 * grub-core/tests/boot/multiboot.cfg: Likewise.
19490 * grub-core/tests/boot/multiboot2.cfg: Likewise.
19491 * grub-core/tests/boot/ntldr.cfg: Likewise.
19492 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
19493 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
19494 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
19495 New definition.
19496 * include/grub/dl.h (grub_dl_unload_all): Removed.
19497 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
19498 (grub_efi_finish_boot_services): Change prototype.
19499 (grub_efi_is_finished): New variable.
19500 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
19501 Changed prototype.
19502 (grub_efiemu_finish_boot_services): Removed.
19503 (grub_machine_efiemu_init_tables): New prototype.
19504 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
19505 (grub_elf64_phdr_iterate): Likewise.
19506 * include/grub/i386/bsd.h: Include relocator.h.
19507 (freebsd_tag_header): New struct.
19508 (grub_openbsd_bios_mmap): Removed.
19509 (grub_unix_real_boot): Removed.
19510 (grub_freebsd_load_elfmodule32): Changed prototype.
19511 (grub_freebsd_load_elfmodule_obj64): Likewise.
19512 (grub_freebsd_load_elf_meta32): Likewise.
19513 (grub_freebsd_load_elf_meta64): Likewise.
19514 (grub_freebsd_add_meta): Removed.
19515 (grub_netbsd_load_elf_meta32): New prototype.
19516 (grub_netbsd_load_elf_meta64): Likewise.
19517 (grub_bsd_add_meta): Likewise.
19518 (grub_openbsd_ramdisk_descriptor): New struct.
19519 (grub_openbsd_find_ramdisk32): New prototype.
19520 (grub_openbsd_find_ramdisk64): Likewise.
19521 * include/grub/i386/coreboot/loader.h: Removed.
19522 * include/grub/i386/efi/loader.h: Likewise.
19523 * include/grub/i386/ieee1275/loader.h: Likewise.
19524 * include/grub/i386/linux.h (linux_kernel_header): Change void *
19525 to grub_uint32_t.
19526 * include/grub/i386/loader.h: Removed.
19527 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
19528 value.
19529 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
19530 (grub_phys_addr_t): New type.
19531 (grub_vtop): New inline function.
19532 (grub_map_memory): Likewise.
19533 (grub_unmap_memory): Likewise.
19534 * include/grub/i386/multiboot/loader.h: Removed.
19535 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
19536 (NETBSD_BTINFO_CONSOLE): New definition.
19537 (NETBSD_BTINFO_SYMTAB): Likewise.
19538 (NETBSD_BTINFO_MODULES): Likewise.
19539 (NETBSD_BTINFO_FRAMEBUF): Likewise.
19540 (grub_netbsd_bootinfo): New struct.
19541 (grub_netbsd_btinfo_common): Use explicit bitsize.
19542 (grub_netbsd_btinfo_mmap_entry): Removed.
19543 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
19544 (grub_netbsd_btinfo_bootdisk): New struct.
19545 (grub_netbsd_btinfo_symtab): Likewise.
19546 (grub_netbsd_btinfo_serial): Likewise.
19547 (grub_netbsd_btinfo_modules): Likewise.
19548 (grub_netbsd_btinfo_framebuf): Likewise.
19549 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
19550 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
19551 Likewise.
19552 (grub_openbsd_bootargs): Use explicit bitsize.
19553 (grub_openbsd_bootarg_console): New struct.
19554 (GRUB_OPENBSD_COM_MAJOR): New definition.
19555 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
19556 * include/grub/i386/pc/efiemu.h: Removed.
19557 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
19558 * include/grub/i386/qemu/loader.h: Removed.
19559 * include/grub/i386/relocator.h: Rewritten.
19560 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
19561 * include/grub/mips/memory.h: New file.
19562 * include/grub/mips/multiboot.h: Rewritten.
19563 * include/grub/mips/relocator.h: Rewritten.
19564 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
19565 (grub_vtop): New function.
19566 (grub_map_memory): Likewise.
19567 (grub_unmap_memory): Likewise.
19568 * include/grub/misc.h (ALIGN_DOWN): New definition.
19569 * include/grub/mm.h (grub_mm_check_real): New proto.
19570 (GRUB_MM_CHECK): New definition.
19571 * include/grub/mm_private.h: New file.
19572 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
19573 (grub_multiboot_get_mbi_size): Removed.
19574 (grub_multiboot_make_mbi): Change prottype.
19575 (grub_multiboot_set_accepts_video): New proto.
19576 (grub_multiboot_add_elfsyms): Likewise.
19577 (grub_multiboot_payload_eip): New variable.
19578 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
19579 New prototype.
19580 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
19581 New definition.
19582 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
19583 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
19584 * include/grub/powerpc/ieee1275/loader.h: Removed.
19585 * include/grub/powerpc/memory.h: New file.
19586 * include/grub/powerpc/relocator.h: Likewise.
19587 * include/grub/relocator.h: Likewise.
19588 * include/grub/relocator_private.h: Likewise.
19589 * include/grub/sparc64/ieee1275/loader.h: Removed.
19590 * include/grub/x86_64/memory.h: New file.
19591 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
19592 (grub_xnu_heap_malloc): Likewise.
19593 (grub_xnu_heap_real_start): Removed.
19594 (grub_xnu_heap_start): Likewise.
19595 (grub_xnu_relocator): New variable.
19596 (grub_xnu_heap_target_start): Likewise.
19597 * tests/util/grub-shell.in: Support non-pc.
19598 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 19599
5303b85d
VS
196002010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19601
19602 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
19603 on malloc error.
19604 (grub_bidi_logical_to_visual): Check that malloc succeded.
19605 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
19606 puts.
19607 (grub_xputs_normal): Likewise.
19608
d768d159
VS
196092010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19610
19611 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
19612 extra_dist.
19613
196142010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19615
19616 * grub-core/efiemu/runtime/efiemu.sh: Removed.
19617
5bf84df4
VS
196182010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19619
19620 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
19621
3626810e
VS
196222010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19623
19624 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
19625 dprintf.
19626
a7363f53
BC
196272010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
19628
19629 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
19630
902f75f6
VS
196312010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19632
19633 * grub-core/normal/term.c (print_more): Fix a memory leak.
19634 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
19635 (grub_xputs_normal): Likewise.
19636
3c707967
VS
196372010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19638
19639 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
19640 the begining of the string
19641
2053cc07
VS
196422010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19643
19644 * grub-core/script/script.c (grub_script_parse): Free parsed on
19645 failure.
19646
46422ebf
VS
196472010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19648
19649 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
19650 on failure.
19651
9e0fa3f6
VS
196522010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19653
19654 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
19655 return.
19656
3393cf16
VS
196572010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19658
19659 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
19660 (scroll_up): Fix a memory leak.
19661
b17540cb
VS
196622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19663
19664 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
19665 errors.
19666
67140446
VS
196672010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
19668
19669 Handle USB pendrives exposed as floppies.
19670
19671 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
19672 floppy.
19673 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
19674 Check for partitions on all devices.
19675
e35e46fc
VS
196762010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19677
19678 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
19679 (readkey): Likewise.
19680
d24c6190
BC
196812010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
19682
19683 Multiple variable names support to "export" command.
19684
19685 * normal/context.c (grub_cmd_export): "export" command supports
19686 multiple variable names.
19687
04ddcc6a
ST
196882010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
19689
19690 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
19691 --target=drive output to Mach device name.
19692
0c8b61d8
BC
196932010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
19694
19695 New Automake based build system for GRUB.
19696
19697 * ABOUT-NLS: New file.
19698 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
19699 in Makefile.util.def file.
19700 * Makefile.util.def: New file. Autogen build definitions file for
19701 GRUB host utils.
19702 * conf/Makefile.common: New file. Common variables for GRUB host
19703 utils and target modules.
19704 * conf/Makefile.extra-dist: New file. Extra files for make dist.
19705 * docs/Makefile.am: New file. Automake file for docs.
19706 * gentpl.py: New file. Python script to generate Autogen
19707 template.
19708 * grub-core/Makefile.am: New file. GRUB target modules' rules
19709 that doesn't fit in Makefile.core.def file.
19710 * grub-core/Makefile.core.def: New file. Autogen build
19711 definitions file for GRUB target modules.
19712 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
19713 specific setjmp.S file.
19714 * po/Makefile.am: New file.
19715
19716 * .bzrignore: New ignores.
19717 * INSTALL: New requirements, without Ruby.
19718 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
19719 * autogen.sh: Updated to invoke autogen as necessary.
19720 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
19721 and defines for Automake conditionals.
19722 * geninit.sh: Refactoring.
19723
19724 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
19725 necessary.
19726 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
19727 New prototype.
19728
19729 * include/grub/test.h: Fix functional test modules' naming.
19730 * grub-core/tests/example_functional_test.c: Fix test module name.
19731
19732 * util/misc.c: Hosted versions' of grub functions for libgrub.a
19733 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
19734 * util/grub-editenv.c: Likewise.
19735 * util/grub-fstest.c: Likewise.
19736 * util/grub-mkdevicemap.c: Likewise.
19737 * util/grub-mkfont.c: Likewise.
19738 * util/grub-mkimage.c: Likewise.
19739 * util/grub-mkpasswd-pbkdf2.c: Likewise.
19740 * util/grub-probe.c: Likewise.
19741 * util/grub-script-check.c: Likewise.
19742 * util/i386/pc/grub-setup.c: Likewise.
19743 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19744
19745 * tests/util/grub-shell.in: Fix override directory path.
19746 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
19747 * util/import_gcry.py: Create Makefile.gcry.def file instead.
19748
19749 * util/lvm.c: Update #includes.
19750 * util/raid.c: Likewise.
19751 * util/resolve.c: Likewise.
19752 * grub-core/bus/emu/pci.c: Likewise.
19753 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
19754 * grub-core/lib/posix_wrap/string.h: Likewise.
19755 * grub-core/kern/emu/main.c: Likewise.
19756
19757 * grub-core/gensymlist.sh: New file. Script for generating kernel
19758 symbols file.
19759 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
19760
19761 * grub-core/gentrigtables.c: Fix unused variable warnings.
19762
19763 * Makefile.in: Removed.
19764 * conf/any-emu.rmk: Removed.
19765 * conf/common.rmk: Removed.
19766 * conf/i386-coreboot.rmk: Removed.
19767 * conf/i386-efi.rmk: Removed.
19768 * conf/i386-ieee1275.rmk: Removed.
19769 * conf/i386-multiboot.rmk: Removed.
19770 * conf/i386-pc.rmk: Removed.
19771 * conf/i386-qemu.rmk: Removed.
19772 * conf/i386.rmk: Removed.
19773 * conf/mips-yeeloong.rmk: Removed.
19774 * conf/mips.rmk: Removed.
19775 * conf/powerpc-ieee1275.rmk: Removed.
19776 * conf/sparc64-ieee1275.rmk: Removed.
19777 * conf/tests.rmk: Removed.
19778 * conf/x86-efi.rmk: Removed.
19779 * conf/x86_64-efi.rmk: Removed.
19780 * gendistlist.sh: Removed.
19781 * geninitheader.sh: Removed.
19782 * genkernsyms.sh.in: Removed.
19783 * genmk.rb: Removed.
19784 * gensymlist.sh.in: Removed.
19785 * mkinstalldirs: Removed.
19786 * boot: Moved ...
19787 * grub-core/boot: ... to here.
19788 * bus: Moved ...
19789 * grub-core/bus: ... to here.
19790 * commands: Moved ...
19791 * grub-core/commands: ... to here.
19792 * disk: Moved ...
19793 * grub-core/disk: ... to here.
19794 * efiemu: Moved ...
19795 * grub-core/efiemu: ... to here.
19796 * font: Moved ...
19797 * grub-core/font: ... to here.
19798 * fs: Moved ...
19799 * grub-core/fs: ... to here.
19800 * gencmdlist.sh: Moved ...
19801 * grub-core/gencmdlist.sh: ... to here.
19802 * genemuinit.sh: Moved ...
19803 * grub-core/genemuinit.sh: ... to here.
19804 * genemuinitheader.sh: Moved ...
19805 * grub-core/genemuinitheader.sh: ... to here.
19806 * genfslist.sh: Moved ...
19807 * grub-core/genfslist.sh: ... to here.
19808 * genhandlerlist.sh: Moved ...
19809 * grub-core/genhandlerlist.sh: ... to here.
19810 * genmoddep.awk: Moved ...
19811 * grub-core/genmoddep.awk: ... to here.
19812 * genmodsrc.sh: Moved ...
19813 * grub-core/genmodsrc.sh: ... to here.
19814 * genpartmaplist.sh: Moved ...
19815 * grub-core/genpartmaplist.sh: ... to here.
19816 * genparttoollist.sh: Moved ...
19817 * grub-core/genparttoollist.sh: ... to here.
19818 * genterminallist.sh: Moved ...
19819 * grub-core/genterminallist.sh: ... to here.
19820 * gentrigtables.c: Moved ...
19821 * grub-core/gentrigtables.c: ... to here.
19822 * genvideolist.sh: Moved ...
19823 * grub-core/genvideolist.sh: ... to here.
19824 * gettext: Moved ...
19825 * grub-core/gettext: ... to here.
19826 * gfxmenu: Moved ...
19827 * grub-core/gfxmenu: ... to here.
19828 * gnulib: Moved ...
19829 * grub-core/gnulib: ... to here.
19830 * hello: Moved ...
19831 * grub-core/hello: ... to here.
19832 * hook: Moved ...
19833 * grub-core/hook: ... to here.
19834 * io: Moved ...
19835 * grub-core/io: ... to here.
19836 * kern: Moved ...
19837 * grub-core/kern: ... to here.
19838 * lib: Moved ...
19839 * grub-core/lib: ... to here.
19840 * loader: Moved ...
19841 * grub-core/loader: ... to here.
19842 * mmap: Moved ...
19843 * grub-core/mmap: ... to here.
19844 * normal: Moved ...
19845 * grub-core/normal: ... to here.
19846 * partmap: Moved ...
19847 * grub-core/partmap: ... to here.
19848 * parttool: Moved ...
19849 * grub-core/parttool: ... to here.
19850 * script: Moved ...
19851 * grub-core/script: ... to here.
19852 * term: Moved ...
19853 * grub-core/term: ... to here
19854 * tests/example_functional_test.c: Moved ...
19855 * grub-core/tests/example_functional_test.c: ... to here.
19856 * tests/lib/functional_test.c: Moved ...
19857 * grub-core/tests/lib/functional_test.c: ... to here.
19858 * tests/lib/test.c: Moved ...
19859 * grub-core/tests/lib/test.c: ... to here.
19860 * video: Moved ...
19861 * grub-core/video: ... to here.
19862
645586e6
BC
198632010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
19864
19865 Replace --enable-grub-emu-modules with grub-emu-lite.
19866
19867 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
19868 cache.S.
19869
19870 * include/grub/emu/misc.h (grub_emu_init): New prototype.
19871 * kern/emu/full.c: New file. For grub-emu specific initialization.
19872 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
19873 * kern/emu/main.c: Call initialization function grub_emu_init.
19874
19875 * Makefile.in: Include grub-emu-lite in install.
19876 * commands/parttool.c: Use grub_no_autoload to differentiate
19877 between grub-emu and grub-emu-lite.
19878 * include/grub/misc.h: New variable grub_no_autoload.
19879
19880 * conf/any-emu.rmk: New rules for grub-emu-lite.
19881 * configure.ac: Remove --enable-grub-emu-modules.
19882 * genmk.rb: Cleanup unnecessary rules.
19883 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
19884
19885 * normal/main.c: Don't load list files on grub-emu-lite.
19886 * util/misc.c (grub_arch_sync_caches): Removed.
19887
f86a4030
CW
198882010-08-23 Colin Watson <cjwatson@ubuntu.com>
19889
19890 * kern/mips/startup.S (grub_prefix): Update comment to refer to
19891 grub-mkimage rather than grub-mkelfimage.
19892 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
19893
06776944
VS
198942010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19895
19896 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
19897 a key after CapsLock or NumLock. It's just a qemu bug.
19898
df262419
VS
198992010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
19900
19901 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
19902 needed by libusb wrapper.
19903
b40ea81b
ST
199042010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19905
19906 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
19907
dee50575
VS
199082010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
19909
19910 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
19911 --nounzip is passed.
19912
fb1d7b79
VS
199132010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
19914
19915 USB hotunplugging and USB serial support.
19916
19917 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
19918 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
19919 (grub_uhci_transfer): Respect timeout and set *actual.
19920 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
19921 non-standard length.
19922 (grub_usb_device_attach): Autoload modules.
19923 (GRUB_MOD_INIT): Set grub_term_poll_usb.
19924 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
19925 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
19926 users updated.
19927 (grub_usb_add_hub): Fill nports and children.
19928 (attach_root_port): Receive hub instead of controller.
19929 All users updated. Fill hub->devices.
19930 (grub_usb_root_hub): Allocate hub->devices.
19931 (detach_device): New function.
19932 (poll_nonroot_hub): Fill children and detach devices.
19933 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
19934 actual arguments. All users updated.
19935 (grub_usb_bulk_read_extended): New function.
19936 * bus/usb/serial/common.c: New file.
19937 * bus/usb/serial/ftdi.c: Likewise.
19938 * bus/usb/serial/pl2303.c: Likewise.
19939 * commands/terminal.c (handle_command): Support wildcard.
19940 * commands/usbtest.c: Output "Unknown" instead of empty string.
19941 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
19942 (usbserial_common_mod_SOURCES): New variable.
19943 (usbserial_common_mod_CFLAGS): Likewise.
19944 (usbserial_common_mod_LDFLAGS): Likewise.
19945 (pkglib_MODULES): Add usbserial_pl2303.mod.
19946 (usbserial_pl2303_mod_SOURCES): New variable.
19947 (usbserial_pl2303_mod_CFLAGS): Likewise.
19948 (usbserial_pl2303_mod_LDFLAGS): Likewise.
19949 (pkglib_MODULES): Add usbserial_ftdi.mod.
19950 (usbserial_ftdi_mod_SOURCES): New variable.
19951 (usbserial_ftdi_mod_CFLAGS): Likewise.
19952 (usbserial_ftdi_mod_LDFLAGS): Likewise.
19953 (pkglib_MODULES): Add serial.mod.
19954 (serial_mod_SOURCES): New variable.
19955 (serial_mod_CFLAGS): Likewise.
19956 (serial_mod_LDFLAGS): Likewise.
19957 * conf/i386-pc.rmk: Likewise.
19958 * conf/mips-yeeloong.rmk: Likewise.
19959 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
19960 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19961 * disk/usbms.c (first_available_slot): New variable.
19962 (grub_usbms_attach): Don't reuse free slots due to potential cache
19963 problems.
19964 * include/grub/serial.h: Moved to ..
19965 * include/grub/ns8250.h: ...this.
19966 * include/grub/serial.h: New file.
19967 * include/grub/term.h (grub_term_poll_usb): New variable.
19968 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
19969 readkey. All users updated.
19970 (grub_terminfo_output_state): Pass term to put.
19971 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
19972 (grub_usb_controller_dev): Add timeout and actual arguments to
19973 transfer. All users updated.
19974 (grub_usb_interface): New field detach_data.
19975 (grub_usb_device): New fields children and nports.
19976 (grub_usb_ep_type_t): New type.
19977 (grub_usb_get_ep_type): New function.
19978 (grub_usb_bulk_read_extended): Likewise.
19979 * include/grub/usbdesc.h (grub_usb_desc): New type.
19980 * include/grub/usbserial.h: New file.
19981 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
19982 * kern/term.c (grub_term_poll_usb): New variable.
19983 (grub_getkey): Call grub_term_poll_usb if set.
19984 (grub_checkkey): Likewise.
19985 (grub_getkeystatus): Likewise.
19986 * term/serial.c: Moved controller-specific parts to ...
19987 * term/ns8250.c: ... here.
19988 * term/serial.c: Mostly rewritten.
19989 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
19990 according to spec.
19991
21a313de
RM
199922010-08-20 Robert Millan <rmh@gnu.org>
19993
19994 Make kFreeBSD code more generic to support ext2fs as root, ufs as
19995 a separate module and maybe other interesting combinations.
19996
19997 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
19998 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
19999 (kfreebsd_entry): Add generic filesystem module load routine.
20000 Map GRUB `ext2' to kFreeBSD `ext2fs'.
20001
63c734a6
CW
200022010-08-20 Colin Watson <cjwatson@ubuntu.com>
20003
20004 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
20005 "numcenter" (I misunderstood the purpose of this entry).
20006 * docs/grub.texi (sendkey): Likewise.
20007
c4d16542
CW
200082010-08-20 Colin Watson <cjwatson@ubuntu.com>
20009
20010 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
20011 status flag options; simply omitting the option is equivalent and
20012 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
20013 (keysym_table): Rename "num5numlock" to "numlock".
20014 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
20015 can uniformly say that only the last of multiple `sendkey'
20016 invocations has any effect.
20017 * docs/grub.texi (sendkey): New section.
20018
93541d66
CW
200192010-08-19 Colin Watson <cjwatson@ubuntu.com>
20020
20021 * commands/i386/pc/sendkey.c (options): Fix three typos.
20022
b4ece5e1
VS
200232010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
20024
20025 Implement sendkey support.
20026
20027 * commands/i386/pc/sendkey.c: New file.
20028 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
20029 (sendkey_mod_SOURCES): New variable.
20030 (sendkey_mod_CFLAGS): Likewise.
20031 (sendkey_mod_LDFLAGS): Likewise.
20032
51f1f5af
CW
200332010-08-18 Colin Watson <cjwatson@ubuntu.com>
20034
20035 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
20036 fix warnings from Autoconf.
20037
9da94e05
CW
200382010-08-18 Colin Watson <cjwatson@ubuntu.com>
20039
20040 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
20041 to avoid false positives with some assemblers that output things
20042 like "someprefix_func" as part of their output.
20043
729a0f2e
RM
200442010-08-15 Robert Millan <rmh@gnu.org>
20045
20046 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
20047 errors.
20048 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
20049 grub_get_libzfs_handle() errors.
20050
f3710e08
RM
200512010-08-14 Robert Millan <rmh@gnu.org>
20052
20053 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
20054 filesystem is not ZFS.
20055
7a3c13de
BC
200562010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20057
20058 Fix for misspelled color names defaulting to black/black (bug
20059 reported by Doug Nazar)
20060
20061 * include/grub/normal.h (grub_parse_color_name_pair): Add return
20062 status to prototype.
20063 * normal/color.c (grub_parse_color_name_pair): Return failure
20064 status.
20065 (grub_env_write_color_normal): Ignore bad color names.
20066 (grub_env_write_color_highlight): Likewise.
20067 * normal/main.c (GRUB_MOD_INIT): Set default color names.
20068
ab8ba50d
BC
200692010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20070
20071 "shift" command support to GRUB script.
20072
20073 * include/grub/script_sh.h (grub_script_shift): New prototype.
20074 * script/execute.c (grub_script_shift): New function.
20075 * script/main.c (grub_script_init): Register shift command.
20076 (grub_script_fini): Unregister shift command.
20077 * util/grub-script-check.c (grub_script_cmd_shift): New function.
20078
20079 * tests/grub_script_shift.in: New testcase.
20080 * conf/tests.rmk: Rules for new testcase.
20081
4d61999e
BC
200822010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20083
20084 "continue" command support to GRUB script.
20085
20086 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
20087 (grub_script_break): Continue support.
20088 * script/main.c (grub_script_init): Register continue command.
20089 (grub_script_fini): Unregister continue command.
20090
20091 * tests/grub_script_continue.in: New testcase.
20092 * conf/tests.rmk: Rules for new testcase.
20093
4df51e00
BC
200942010-08-12 BVK Chaitanya <bvk@dbook>
20095
20096 "break" command support to GRUB script.
20097
20098 * conf/common.rmk: Rule updates to grub-script-check.
20099 * include/grub/misc.h (grub_min): New function.
20100 * include/grub/script_sh.h (grub_script_init): New prototype.
20101 (grub_script_fini): New prototype.
20102 (grub_script_break): New prototype.
20103 * script/main.c (grub_script_init): New function.
20104 (grub_script_fini): New function.
20105 * script/execute.c (grub_script_break): New function.
20106 * normal/main.c: Calls to grub_script_{init,fini}.
20107 * util/grub-script-check.c (grub_script_break): New function.
20108
20109 * tests/grub_script_break.in: New testcase.
20110 * conf/tests.rmk: Rules for new test case.
20111
f12c8420
BC
201122010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20113
20114 Function parameters support to GRUB script.
20115
20116 * script/yylex.l (VARIABLE): Regular expression update.
20117 * script/function.c (grub_script_function_call): Moved ...
20118 * script/execute.c (grub_script_function_call): ... to here.
20119 (grub_script_execute_arglist_to_argv): Removed.
20120 (grub_script_arglist_to_argv): New function.
20121 * script/argv.c: New file.
20122 (grub_script_argv_free): New function.
20123 (grub_script_argv_next): Likewise.
20124 (grub_script_argv_append): Likewise.
20125 (grub_script_argv_split_append): Likewise.
20126 * include/grub/script_sh.h (grub_script_argv): New struct.
20127 (grub_script_argv_free): New function.
20128 (grub_script_argv_next): Likewise.
20129 (grub_script_argv_append): Likewise.
20130 (grub_script_argv_split_append): Likewise.
20131
20132 * conf/common.rmk (normal.mod): New source script/argv.c.
20133
20134 * tests/grub_script_echo1.in: More tests.
20135 * tests/grub_script_vars1.in: Likewise.
20136 * tests/grub_script_functions.in: New test case.
20137 * conf/tests.rmk: Rules for new testcase.
20138
8022b748
BC
201392010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20140
20141 Remove grub_script_cmdblock struct.
20142
20143 * include/grub/script_sh.h: Remove grub_script_cmdblock.
20144 * script/parser.y: Likewise.
20145 * script/execute.c: Rename cmdblock suffix to cmdlist.
20146 * script/script.c: Likewise.
20147 * util/grub-script-check.c: Likewise.
20148
79a6ba61
YB
201492010-08-11 Yves Blusseau <blusseau@zetam.org>
20150
20151 * .bzrignore: add grub-macho2img
20152
d04b9414
VS
201532010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20154
20155 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
20156
f947ab49
VS
201572010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20158
20159 Remove the dump of sm712 initialisation sequence.
20160
20161 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
20162 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
20163 (GRUB_VGA_IO_MISC_WRITE): Likewise.
20164 (GRUB_VGA_CR_*): Added many registers.
20165 (GRUB_VGA_SR_*): Likewise.
20166 (GRUB_VGA_GR_*): Likewise.
20167 (grub_vga_write_arx): New function.
20168 (grub_video_hw_config): New struct.
20169 (grub_vga_set_geometry): New function.
20170 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
20171 GRUB_PCI_CLASS_SUBCLASS_VGA.
20172 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
20173 * video/sm712.c (grub_sm712_write_reg): New function
20174 (grub_sm712_read_reg): Likewise.
20175 (grub_sm712_sr_write): Likewise.
20176 (grub_sm712_gr_write): Likewise.
20177 (grub_sm712_cr_write): Likewise.
20178 (grub_sm712_write_arx): Likewise.
20179 (grub_sm712_cr_shadow_write): Likewise.
20180 (grub_sm712_write_dda_lookup): Likewise.
20181 (grub_video_sm712_setup): Initialise the video rather then
20182 blindly replay the dump.
20183 (main) [TEST]: Add a routine to be able to compile as standalone for
20184 tests.
20185 * video/sm712_init.c (sm712_init): Removed.
20186 (sm712_sr_seq1): New array.
20187 (sm712_sr_seq2): Likewise.
20188
f0206638
VS
201892010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20190
20191 * include/grub/vga.h: Add missing grub/pci.h include.
20192
2764da3b
YB
201932010-08-10 Yves Blusseau <blusseau@zetam.org>
20194
20195 * util/grub-macho2img.c (main): fix typo
20196
cf0c775e
VS
201972010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20198
20199 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
20200 (grub_vga_gr_read): Likewise.
20201 (grub_vga_cr_write): Likewise.
20202 (grub_vga_cr_read): Likewise.
20203 (grub_vga_sr_write): Likewise.
20204 (grub_vga_sr_read): Likewise.
20205 (grub_vga_palette_read): Likewise.
20206 (grub_vga_palette_write): Likewise.
20207 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
20208 (grub_sm712_sr_read): New function.
20209 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
20210 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
20211
07f360e9
RM
202122010-08-09 Robert Millan <rmh@gnu.org>
20213
20214 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
20215 out unused variables on non-ZFS build.
20216
346c2072
RM
202172010-08-08 Robert Millan <rmh@gnu.org>
20218
20219 Fix path generation for sub-filesystems in ZFS.
20220
20221 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
20222 missing slash.
20223
71175420
RM
202242010-08-08 Robert Millan <rmh@gnu.org>
20225
20226 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
20227
0d8286f3
RM
202282010-08-08 Robert Millan <rmh@gnu.org>
20229
20230 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
20231 exist, issue a proper error message (rely on `ls' for translated
20232 strings).
20233
55dd2924
RM
202342010-08-08 Robert Millan <rmh@gnu.org>
20235
20236 Fix grub-probe invocation.
20237
20238 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
20239
d3dd9e80
RM
202402010-08-04 Robert Millan <rmh@gnu.org>
20241
20242 * configure.ac: Remove checks for getfsstat() and getmntany().
20243 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
20244 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
20245 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
20246 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
20247 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
20248 function.
20249 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
20250 via find_mount_point_from_dir() and getfsstat() / getmntany().
20251
0de22aa9
RM
202522010-08-04 Robert Millan <rmh@gnu.org>
20253
20254 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20255 (grub_find_zpool_from_mount_point): Merge into ...
20256 (grub_find_zpool_from_dir): ... this.
20257 * kern/emu/misc.c: Likewise.
20258
20259 * kern/emu/misc.c
20260 (grub_make_system_path_relative_to_its_root): Replace
20261 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
20262 with grub_find_zpool_from_dir().
20263 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
20264
62858144
RM
202652010-08-04 Robert Millan <rmh@gnu.org>
20266
20267 Support OpenSolaris in ZFS device resolution.
20268
20269 * configure.ac: Check for getmntany().
20270 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
20271 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
20272 support.
20273
9dd6fd50
RM
202742010-08-03 Robert Millan <rmh@gnu.org>
20275
20276 Fix grub-emu build.
20277
20278 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
20279 * include/grub/emu/misc.h: ... here.
20280
20281 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
20282 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
20283
20284 * util/misc.c: Remove `<grub/util/libzfs.h>'.
20285 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
20286 (grub_get_libzfs_handle): Move to ...
20287 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
20288 (grub_get_libzfs_handle): ... here.
20289
c9f7ff97
BC
202902010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
20291
20292 * script/execute.c (grub_script_execute_cmdline): Check for NULL
20293 as command name case.
20294
a870a783
CW
202952010-08-02 Colin Watson <cjwatson@ubuntu.com>
20296
20297 * disk/raid.c (insert_array): Select unique numbers for named arrays
20298 as well, for use as keys in the disk cache.
20299
c7db243b
RM
203002010-08-01 Robert Millan <rmh@gnu.org>
20301
20302 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
20303 kFreeBSD device name, except on ZFS where the filesystem label is
20304 used.
20305 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
20306 `/boot/zfs/zpool.cache'.
20307 Set mountfrom kernel variable using ${kfreebsd_device}.
20308
f7abdefb
RM
203092010-08-01 Robert Millan <rmh@gnu.org>
20310
20311 Make it even harder to use uninitialized `libzfs_handle' (and
20312 make the interface a bit simpler).
20313
20314 * include/grub/util/misc.h (grub_util_init_libzfs)
20315 (libzfs_handle): Remove.
20316 (grub_get_libzfs_handle): New prototype.
20317
20318 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
20319 attribute.
20320 (grub_util_init_libzfs): Remove.
20321 (grub_get_libzfs_handle): New function.
20322
20323 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
20324 grub_get_libzfs_handle() to obtain a libzfs handle instead of
20325 accessing `libzfs_handle' directly.
20326
c882acc0
RM
203272010-08-01 Robert Millan <rmh@gnu.org>
20328
20329 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20330 (grub_find_zpool_from_mount_point): New function prototypes.
20331
20332 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
20333 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
20334
20335 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
20336 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
20337 `static' attribute.
20338
20339 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
20340 finding zpool from mount point into ...
20341 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
20342
20343 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
20344 requested path is part of a ZFS pool, use
20345 grub_find_zpool_from_mount_point() to detect its filesystem name,
20346 and generate a path with `/fsname@path' syntax.
20347
8bfe31d8
CW
203482010-08-01 Colin Watson <cjwatson@ubuntu.com>
20349
20350 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
20351 (void) rather than () so that this is a proper prototype.
20352
553df63d
VS
203532010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20354
20355 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
20356
8687cf07
VS
203572010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20358
20359 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
20360 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
20361
ea9be8ea
CW
203622010-08-01 Colin Watson <cjwatson@ubuntu.com>
20363
20364 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
20365
6eea041a
CW
203662010-08-01 Colin Watson <cjwatson@ubuntu.com>
20367
20368 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
20369
2cfb45df
CW
203702010-08-01 Colin Watson <cjwatson@ubuntu.com>
20371
20372 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
20373 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
20374 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
20375 disable gfxpayload.
20376 (Shell-like scripting): Add real content.
20377 (Serial terminal): Suggest `terminal_input serial; terminal_output
20378 serial' rather than putting the two commands on separate lines,
20379 since console input will be inoperative after the first command.
20380 (menuentry): Document --class, --users, and --hotkey options.
20381 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
20382 Vladimir Serbinenko).
20383
7decd202
VS
203842010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
203852010-08-01 Colin Watson <cjwatson@ubuntu.com>
20386
20387 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
20388
c882acc0
RM
203892010-08-01 Robert Millan <rmh@gnu.org>
20390
20391 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20392 (grub_find_zpool_from_mount_point): New function prototypes.
20393
20394 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
20395 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
20396
20397 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
20398 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
20399 `static' attribute.
20400
20401 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
20402 finding zpool from mount point into ...
20403 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
20404
20405 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
20406 requested path is part of a ZFS pool, use
20407 grub_find_zpool_from_mount_point() to detect its filesystem name,
20408 and generate a path with `/fsname@path' syntax.
20409
deb0caa3
RM
204102010-08-01 Robert Millan <rmh@gnu.org>
20411
20412 Prevent accidental use of uninitialized libzfs_handle.
20413
20414 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
20415 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
20416 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
20417
ce04ef47
CW
204182010-08-01 Colin Watson <cjwatson@ubuntu.com>
20419
20420 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
20421 util/grub.d/10_linux.in). Fixes Debian bug #591093.
20422
ebf53056
RM
204232010-08-01 Robert Millan <rmh@gnu.org>
20424
20425 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 20426
3710bb6b
RM
204272010-07-31 Robert Millan <rmh@gnu.org>
20428
20429 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
20430
8072efeb
RM
204312010-07-31 Robert Millan <rmh@gnu.org>
20432
20433 * kern/emu/misc.c: Add missing license header.
20434
3169f4c7
RM
204352010-07-31 Robert Millan <rmh@gnu.org>
20436
20437 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
20438
20439 * include/grub/util/libnvpair.h: Include `<config.h>'.
20440 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
20441 declaring libnvpair prototypes ourselves.
20442 * include/grub/util/libzfs.h: Include `<config.h>'.
20443 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
20444 declaring libzfs prototypes ourselves.
20445
20446 (libzfs_handle): Moved to ...
20447 * include/grub/util/misc.h (libzfs_handle): ... here.
20448 Include `<grub/util/libzfs.h>'.
20449
c9a00aee
RM
204502010-07-30 Robert Millan <rmh@gnu.org>
20451
20452 * include/grub/emu/misc.h: Add missing license header.
20453
a184f9c8
RM
204542010-07-30 Robert Millan <rmh@gnu.org>
20455
20456 Enable `grub-probe -t device' resolution on ZFS.
20457
20458 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
20459 * include/grub/util/libnvpair.h: New file.
20460 * include/grub/util/libzfs.h: New file.
20461
20462 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
20463 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
20464 `<grub/util/libnvpair.h>'.
20465 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
20466
20467 (find_mount_point_from_dir): New static function.
20468 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
20469 function.
20470 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
20471 find_root_device_from_libzfs() before ressorting to find_root_device().
20472
20473 * include/grub/util/misc.h (grub_util_init_libzfs): New function
20474 prototype.
20475 * util/misc.c: Include `<grub/util/libzfs.h>'.
20476 (grub_util_init_libzfs): New function.
20477 [HAVE_LIBZFS] (libzfs_handle): New global variable.
20478 [HAVE_LIBZFS] (fini_libzfs): New static function.
20479 (grub_util_init_libzfs): New function.
20480 * util/grub-probe.c (main): Call grub_util_init_libzfs().
20481
f7790cdd
RM
204822010-07-30 Robert Millan <rmh@gnu.org>
20483
20484 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
20485 (xmalloc, xrealloc, xstrdup, xasprintf): Add
20486 `warn_unused_result' attribute.
20487 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
20488 (grub_xasprintf, grub_xvasprintf): Likewise.
20489 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
20490
0806b63c
RM
204912010-07-29 Robert Millan <rmh@gnu.org>
20492
20493 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
20494 (probe): Handle `PRINT_FS_LABEL'.
20495 (main): Handle `-t fs_label'.
20496
9f841f5c
RM
204972010-07-29 Robert Millan <rmh@gnu.org>
20498
20499 * configure.ac: Remove grub-mkisofs checks.
20500
46371121
VS
205012010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
20502
20503 * util/ieee1275/grub-install.in: Don't use empty grub_device.
20504 Reported by: Lennart Sorensen.
20505
205062010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20507
20508 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
20509 prior to terminal_input/terminal_output separation. It's been over 1.5
20510 years and those versions weren't widely deployed.
20511
a9600892
CW
205122010-07-22 Colin Watson <cjwatson@ubuntu.com>
20513
20514 * disk/raid.c (insert_array): Don't count named arrays when looking
20515 for unused array numbers.
697e053c 20516 Reported and tested by: Michael Guntsche.
a9600892 20517
c03507df
CW
205182010-07-20 Colin Watson <cjwatson@ubuntu.com>
20519
20520 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
20521 implementation of this so that grub-emu links again, with a note
20522 that this should support hotplugging in the future.
20523
b26f1c11
CW
205242010-07-20 Colin Watson <cjwatson@ubuntu.com>
20525
20526 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
20527
efc9d7f1
CW
205282010-07-20 Colin Watson <cjwatson@ubuntu.com>
20529
20530 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
20531 handle on failure.
20532 (grub_loopback_close): Remove empty function.
20533 (grub_loopback_dev): Remove close method.
20534
dd8ff5c9
CW
205352010-07-20 Colin Watson <cjwatson@ubuntu.com>
20536
20537 Disable EFI cursor when the EFI console becomes inactive.
20538
20539 * term/efi/console.c (grub_efi_console_init): New function.
20540 (grub_efi_console_fini): New function.
20541 (grub_console_term_output): Register init and fini methods.
20542
5e3bec67
VS
205432010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20544
20545 * tests/util/grub-shell-tester.in: Remove bashism and declare as
20546 sh script.
20547
afaec079
VS
205482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20549
20550 * disk/loopback.c (grub_loopback): Replace filename with file.
20551 (delete_loopback): Handle new semantics.
20552 (grub_cmd_loopback): Likewise.
20553 (grub_loopback_iterate): Likewise.
20554 (grub_loopback_close): Likewise.
20555
a6a11f3c
VS
205562010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20557
20558 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
20559 with -p "".
20560 Reported by: Tito Keitel.
20561
64a638b0
VS
205622010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20563
20564 * docs/grub.texi (Naming convention): Document new naming convention.
20565
ab8ba957
VS
205662010-07-20 Vadim Solomin <vadic052@gmail.com>
205672010-07-20 Colin Watson <cjwatson@ubuntu.com>
20568
20569 Generate device.map in something closer to the old ordering.
20570
20571 * util/deviceiter.c (struct device): New declaration.
20572 (compare_file_names): Rename to ...
20573 (compare_devices): ... this. Sort by kernel name in preference to
20574 the stable by-id name, but keep the latter as a fallback comparison.
20575 Update header comment.
20576 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
20577 of `struct device' rather than of plain file names.
20578
a29d6a4b
TF
205792010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
20580
20581 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
20582 on i386.
20583
39d824e8
VS
205842010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20585
20586 * commands/acpi.c (setup_common_tables): Use sizeof instead of
20587 hardcoding size.
20588 (setv1table): Likewise.
20589
f058276b
FZ
205902010-07-20 Colin Watson <cjwatson@ubuntu.com>
20591
20592 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
20593 removing the homehost if present.
20594 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
20595 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
20596 removing the homehost if present.
20597 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
20598 if possible.
20599 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
20600
20601 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
20602 parameter. Set its pointer target to 0.
20603 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
20604 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
20605 `data_offset' value from the superblock for 1.x metadata.
20606 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
20607 data on the device.
20608 (insert_array): Record the start sector of data on the device.
20609 (grub_raid_register): Pass start_sector parameters to
20610 grub_raid_list->detect and insert_array.
20611 * include/grub/raid.h (struct grub_raid_array): Add start_sector
20612 member.
20613 (struct grub_raid): Add start_sector parameter to `detect'.
20614
20615 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
20616 __attribute__ ((packed)), leaving a comment.
20617 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
20618 (grub_mdraid_detect_09): ... here and ...
20619 (grub_mdraid_detect_1x): ... here.
20620
206212010-07-20 Peter Henn <peter.henn@web.de>
20622
20623 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
20624 chunk size and disk size, which are already given as sector counts
20625 as distinct from the 0.90 units. Fetch the correct device number
20626 from the role table instead of using the table index.
20627
206282010-07-20 Felix Zielcke <fzielcke@z-51.de>
20629
20630 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
20631 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
20632 (WriteMostly1): New macro.
20633 Set array->name to NULL for metadata format 0.90. Add support for
20634 metadata 1.x. Fix some comments.
20635 * disk/raid.c (): Add support for name based RAID arrays. Fix a
20636 few comments.
20637 * util/getroot.c (grub_util_get_grub_dev): Add support for
20638 /dev/md/name style devices.
20639
4b761da9
CW
206402010-07-20 Colin Watson <cjwatson@ubuntu.com>
20641
20642 * .bzrignore: Ignore 20_linux_xen.
20643
5771289a
CW
206442010-07-17 Colin Watson <cjwatson@ubuntu.com>
20645
20646 * util/import_unicode.py: Remove unnecessary imports.
20647
5dab68df
AN
206482010-07-17 Aleš Nesrsta <starous@volny.cz>
20649
20650 Hotplugging and USB hub support.
20651
20652 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
20653 (grub_ohci): Likewise.
20654 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
20655 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
20656 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
20657 (GRUB_OHCI_CTRL_EDS): Likewise.
20658 (GRUB_OHCI_BULK_EDS): Likewise.
20659 (GRUB_OHCI_TDS): Likewise.
20660 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
20661 (grub_ohci_ed_phys2virt): New function.
20662 (grub_ohci_virt_to_phys): Likewise.
20663 (grub_ohci_td_phys2virt): Likewise.
20664 (grub_ohci_td_virt2phys): Likewise.
20665 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
20666 attachment.
20667 (grub_ohci_find_ed): New function.
20668 (grub_ohci_alloc_td): Likewise.
20669 (grub_ohci_free_td): Likewise.
20670 (grub_ohci_free_tds): Likewise.
20671 (grub_ohci_transfer): Use previously allocated memory.
20672 (grub_ohci_portstatus): Reset status changed bit.
20673 (grub_ohci_detect_dev): Supply status changed.
20674 (grub_ohci_fini_hw): Free memory.
20675 (grub_ohci_restore_hw): Reallocate memory.
20676 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
20677 Reset status change.
20678 (grub_uhci_detect_dev): Supply status_change.
20679 * bus/usb/usb.c (attach_hooks): New var.
20680 (grub_usb_device_attach): New function.
20681 (grub_usb_register_attach_hook_class): Likewise.
20682 (grub_usb_unregister_attach_hook_class): Likewise.
20683 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
20684 (grub_usb_add_hub): Reset connection changed bit.
20685 (attach_root_port): New function.
20686 (grub_usb_root_hub): Likewise.
20687 (poll_nonroot_hub): Likewise.
20688 (grub_usb_poll_devices): Likewise.
20689 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
20690 * disk/usbms.c (grub_usbms_open): Use device hooks.
20691 (grub_usbms_iterate) :Poll devices.
20692 (grub_usbms_finddevs): Split into ...
20693 (grub_usbms_attach): ... this ...
20694 (grub_usbms_attach): ... and this.
20695 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
20696 in detect_dev.
20697 (grub_usb_interface): New fields attached and detach_hook.
20698 (grub_usb_attach_hook_class): New type.
20699 (grub_usb_attach_desc): New struct.
20700 (grub_usb_register_attach_hook_class): New function.
20701 (grub_usb_unregister_attach_hook_class): Likewise.
20702 (grub_usb_poll_devices): Likewise.
20703 (grub_usb_device_attach): Likewise.
20704 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
20705 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
20706
3222efaf
VS
207072010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20708
20709 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
20710 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
20711 delta determination style. Works with most NetBSD partitions too.
20712
139b714a
VS
207132010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20714
20715 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
20716 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
20717
986aad56
VS
207182010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20719
20720 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
20721
99be513c
AB
207222010-07-14 Anton Blanchard <anton@samba.org>
20723
20724 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
20725 ET_DYN files.
20726
18075f62
GS
207272010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20728
20729 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
20730
8d9a5b15
GS
207312010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20732
20733 * kern/partition.c (grub_partition_check_containment): New function to
20734 check that a partition is physically contained in a parent. Since
20735 offsets are relative (and non-negative), this reduces to checking that
20736 the partition ends before its parent.
20737 (grub_partition_map_probe): Discard out-of-range sub-partitions.
20738 (grub_partition_iterate): Likewise.
20739 * include/grub/partition.h (grub_partition_map): Slightly more detailed
20740 comments.
20741 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
20742 partitions that start before their parent, and add debug printfs.
20743
19563c25
CW
207442010-07-13 Colin Watson <cjwatson@ubuntu.com>
20745
20746 * Makefile.in (.SUFFIX): Spell correctly, as ...
20747 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
20748 bare module name without `.mod', e.g. `test') tried to invoke a
20749 Modula-2 compiler.
20750
1a1f1e67
CW
207512010-07-13 Colin Watson <cjwatson@ubuntu.com>
20752
20753 * README: Point to the Info manual.
20754
811b0dca
JS
207552010-07-13 Jiro SEKIBA <jir@unicus.jp>
20756
20757 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
20758 2nd superblock position from partition size.
20759
e4f4eafc
CW
207602010-07-10 Colin Watson <cjwatson@ubuntu.com>
20761
20762 * Makefile.in (MAINTAINER_CLEANFILES): Remove
20763 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
20764 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
20765 outputs.
20766
4274c30f
VS
207672010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20768
20769 Restructure SCSI .id handling.
20770 Reported and tested by: Aleš Nesrsta.
20771
20772 * disk/ata.c (grub_atapi_close): Removed. All users updated.
20773 (grub_atapi_dev): Changed .name to "ata". New field .id.
20774 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
20775 (grub_usbms_dev): New field .id.
20776 * disk/scsi.c (grub_scsi_iterate): Generate name.
20777 (grub_scsi_open): Parse name.
20778 * include/grub/scsi.h (grub_make_scsi_id): New function.
20779 (grub_scsi_dev): Change iterate and open to number instead of naming
20780 busses. All users updated.
20781 (grub_scsi): Remove name. Add .bus.
20782
5bc24388
VS
207832010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20784
20785 * commands/help.c (grub_cmd_help): Fix a typo.
20786
249975ba
VS
207872010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20788
20789 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
20790 Reported and tested by: Colin Watson.
20791
3eaac1a1
VS
207922010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20793
20794 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
20795 in this context.
20796
becce1b1
VS
207972010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
20798
20799 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
20800
f7bf0918
CW
208012010-07-07 Colin Watson <cjwatson@ubuntu.com>
20802
20803 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
20804 indentation.
20805
0b0f9620
CW
208062010-07-06 Colin Watson <cjwatson@ubuntu.com>
20807
20808 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
20809 and disk/raid6_recover.c.
20810 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20811 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20812
1e545469
CW
208132010-07-06 Colin Watson <cjwatson@ubuntu.com>
20814
20815 * term/gfxterm.c (repaint_schedulded): Rename to ...
20816 (repaint_scheduled): ... this. Update all callers.
20817 (repaint_was_schedulded): Rename to ...
20818 (repaint_was_scheduled): ... this. Update all callers.
20819
5357687a
CW
208202010-07-06 Colin Watson <cjwatson@ubuntu.com>
20821
20822 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
20823 which we expect to be handled by upper layers.
20824
29d7e783
BC
208252010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
20826
20827 * bus/usb/usbhub.c: #include time.h header.
20828
37582066
CW
208292010-07-06 Colin Watson <cjwatson@ubuntu.com>
20830
20831 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
20832 entry_name also for entries without stat blocks (e.g. ".."); fixes
20833 corruption of the first entry in a directory.
20834
c8c06953
CW
208352010-07-06 Colin Watson <cjwatson@ubuntu.com>
20836
20837 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
20838 after setting gfxterm as the active terminal. GRUB_BACKGROUND
20839 doesn't work otherwise.
20840
e75056f1
CW
208412010-07-05 Colin Watson <cjwatson@ubuntu.com>
20842
20843 * docs/grub.texi (Features): Update list of supported file systems.
20844 (GNU/Linux): Update for GRUB 2.
20845 (Serial terminal): Remove mention of --disable-serial, which was a
20846 GRUB Legacy configure option. Update instructions to use
20847 `terminal_input' and `terminal_output' rather than `terminal'.
20848 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
20849 configuration' and `Installing GRUB using grub-install'.
20850 (Menu entry editor): Update for GRUB 2.
20851 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
20852 Document new -a, -u, and -v options.
20853 (initrd): New section.
20854 (initrd16): New section.
20855 (linux): New section.
20856 (linux16): New section.
20857 (search): The `var' argument to `--set' is optional.
20858 (GRUB only offers a rescue shell): Go into a little more detail on
20859 drive ordering.
20860
5cf69151
CW
208612010-07-05 Colin Watson <cjwatson@ubuntu.com>
20862
20863 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
20864
e3f90044
CW
208652010-07-05 Colin Watson <cjwatson@ubuntu.com>
20866
20867 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
20868 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
20869
38d8f4f3
CW
208702010-07-05 Colin Watson <cjwatson@ubuntu.com>
20871
20872 * util/i386/pc/grub-setup.c (setup): Rename prefix to
20873 install_prefix, in line with install_dos_part and install_bsd_part.
20874 Add new prefix variable, which is copied to install_prefix after
20875 comparing core.img in memory with the one read from disk in the
20876 no-embedding case, and use that rather than overwriting
20877 install_prefix immediately when installing to a partition.
20878 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
20879 Bicakci.
20880
57ebd41e
GS
208812010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
20882
20883 * configure.ac: Avoid == in test command, it's not portable.
20884 * util/grub.d/30_os-prober.in: Likewise.
20885
cb7f64b2
CW
208862010-07-04 Colin Watson <cjwatson@ubuntu.com>
20887
20888 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
20889
6b654bb0
GS
208902010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
20891
20892 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
20893 multiple (top-level) partmaps.
20894
72a2026d
VS
208952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20896
20897 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 20898 Reported by: Tino Keitel.
72a2026d 20899
df3eb88f
VS
209002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20901
20902 Bidi and diacritics support.
20903
20904 * Makefile.in (widthspec.bin): New target.
20905 (widthspec.h): Likewise.
20906 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
20907 * autogen.sh: Generate unidata.c.
20908 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
20909 * commands/ls.c (grub_ls_list_devices): Likewise.
20910 (grub_ls_list_files): Likewise.
20911 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
20912 (grub_mini_cmd_lsmod): Likewise.
20913 * commands/read.c: Likewise.
20914 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
20915 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
20916 * lib/arg.c (grub_arg_show_help): Likewise.
20917 * lib/crypto.c (grub_password_get): Likewise.
20918 * normal/auth.c (grub_username_get): Likewise.
20919 * normal/misc.c (grub_normal_print_device_info): Likewise.
20920 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
20921 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
20922 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
20923 (normal/charset.c_DEPENDENCIES): New variable.
20924 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
20925 (pkglib_MODULES): Remove charset.mod.
20926 (charset_mod_SOURCES): Removed.
20927 (charset_mod_CFLAGS): Likewise.
20928 (charset_mod_LDFLAGS): Likewise.
20929 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
20930 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
20931 and term/tparm.c.
20932 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20933 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20934 (kernel_img_HEADERS): Add terminfo.h.
20935 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
20936 Fill ->font. Reverse ascii bitmaps.
20937 (grub_font_get_xheight): New function.
20938 * font/font.c (grub_font_get_string_width): Moved from here ...
20939 * gfxmenu/font.c (grub_font_get_string_width): ... here.
20940 * font/font.c (grub_font_draw_string): Moved from here ...
20941 * gfxmenu/font.c (grub_font_draw_string): ... here.
20942 * font/font.c (grub_font_dup_glyph): New function.
20943 (grub_font_blit_glyph): Likewise.
20944 (grub_font_blit_glyph_mirror): Likewise.
20945 (blit_comb): Likewise.
20946 (grub_font_construct_dry_run): Likewise.
20947 (grub_font_get_constructed_device_width): Likewise.
20948 (grub_font_construct_glyph): Likewise.
20949 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
20950 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
20951 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
20952 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
20953 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
20954 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
20955 (grub_font_get_xheight): New proto.
20956 (grub_font_get_constructed_device_width): Likewise.
20957 (grub_font_construct_glyph): Likewise.
20958 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
20959 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
20960 * include/grub/font.h (grub_font_draw_string): Moved from here ...
20961 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
20962 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
20963 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
20964 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
20965 (grub_console_getcharwidth): Likewise.
20966 * include/grub/misc.h (grub_xputs): New proto.
20967 (grub_puts): Inlined.
20968 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
20969 (grub_normal_get_line_counter): Removed.
20970 (grub_install_newline_hook): Likewise.
20971 (grub_normal_get_char_counter): New proto.
20972 (grub_normal_reset_more): Likewise.
20973 (grub_xputs_normal): Likewise.
20974 * include/grub/powerpc/ieee1275/console.h: Removed.
20975 * include/grub/sparc64/ieee1275/console.h: Likewise.
20976 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
20977 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
20978 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
20979 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
20980 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
20981 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
20982 (grub_term_input): Pass reference to self. All users updated.
20983 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
20984 Pass reference to self. New fields normal_color, highlight_color and
20985 data. All users updated.
20986 (grub_putchar): Removed.
20987 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
20988 (grub_unicode_estimate_width): New function.
20989 (grub_term_getcharwidth): Add defaults.
20990 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
20991 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
20992 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
20993 (grub_cls): Remove EXPORT_FUNC.
20994 (grub_setcolorstate): Inline.
20995 (grub_newline_hook): Removed.
20996 * include/grub/terminfo.h: Rewritten. All users updated.
20997 * include/grub/unicode.h: New file.
20998 * include/grub/video.h (grub_video_signed_rect): New type.
20999 * kern/emu/console.c (grub_console_highlight_color): Removed.
21000 (grub_console_normal_color): Likewise.
21001 (grub_console_standard_color): Made static.
21002 (grub_ncurses_putchar): Remove mapping.
21003 (grub_ncurses_getcharwidth): Removed.
21004 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21005 (grub_ncurses_setcolor): Removed.
21006 (grub_ncurses_getcolor): Likewise.
21007 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
21008 (grub_console_putchar): ... this.
21009 (grub_console_putchar): Handle argument difference.
21010 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
21011 console_init_early and console_init_lately.
21012 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
21013 * kern/misc.c (grub_puts): Removed.
21014 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
21015 (grub_vsnprintf_real): Remove str = NULL support.
21016 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
21017 * normal/charset.c (grub_utf8_to_ucs4): ... here.
21018 * kern/term.c (grub_putcode): Renamed to ...
21019 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
21020 (grub_putchar): Removed.
21021 (grub_xputs_dumb): New function.
21022 (grub_xputs): New variable.
21023 * lib/charset.c: Move from here ...
21024 * normal/charset.c: ... to here.
21025 (grub_ucs4_to_utf8): New function.
21026 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
21027 (join_types): New variable.
21028 (unpack_join): New function.
21029 (bidi_types): New variable.
21030 (unpack_bidi): New function.
21031 (get_bidi_type): Likewise.
21032 (get_join_type): Likewise.
21033 (is_mirrored): Likewise.
21034 (grub_unicode_get_comb_type): Likewise.
21035 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
21036 (is_type_after): Likewise.
21037 (grub_unicode_aglomerate_comb): Likewise.
21038 (bidi_line_wrap): Likewise.
21039 (grub_bidi_line_logical_to_visual): Likewise.
21040 (grub_bidi_logical_to_visual): Likewise.
21041 (grub_unicode_mirror_code): Likewise.
21042 (grub_unicode_shape_code): Likewise.
21043 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
21044 Don't use grub_putchar.
21045 * normal/main.c (grub_normal_init_page): Use grub_putcode.
21046 (grub_normal_reader_init): Likewise.
21047 (grub_xputs_saved): New variable.
21048 (GRUB_MOD_INIT): Set grub_xputs.
21049 (GRUB_MOD_FINI): Restore grub_xputs.
21050 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
21051 (menu_init): Avoid printing gfxmenu error.
21052 (show_menu): Use grub_normal_get_char_counter.
21053 * normal/menu_entry.c (update_screen): Fix out-of-array.
21054 (complete): Avoid NULL dereferencing.
21055 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
21056 * normal/menu_text.c (print_spaces): Removed.
21057 (grub_print_ucs4): Likewise.
21058 (grub_print_message_indented): Use grub_print_ucs4.
21059 (print_message): Use grub_putcode.
21060 (print_entry): Hanlde diacritics.
21061 * normal/term.c (term_state): New type.
21062 (grub_more_lines): Removed.
21063 (term_states): New variable.
21064 (grub_normal_line_counter): Renamed to ..
21065 (grub_normal_char_counter): ...this. All users updated.
21066 (grub_normal_get_line_counter): Renamed to ...
21067 (grub_normal_get_char_counter): ... this.
21068 (grub_normal_reset_more): New function.
21069 (process_newline): Removed.
21070 (print_more): New function.
21071 (grub_install_newline_hook): Removed.
21072 (map_code): New function.
21073 (grub_puts_terminal): Use grub_print_ucs4.
21074 (putglyph): New function.
21075 (putcode_real): Likewise.
21076 (grub_putcode): Use putcode_real.
21077 (get_maxwidth): New function.
21078 (get_startwidth): Likewise.
21079 (print_ucs4_terminal): Likewise.
21080 (find_term_state): Likewise.
21081 (put_glyphs_terminal): Likewise.
21082 (print_backlog): Likewise.
21083 (print_ucs4_real): Likewise.
21084 (grub_print_ucs4): Likewise.
21085 (grub_xputs_normal): Likewise.
21086 * term/efi/console.c (grub_console_putchar): Output diacritics.
21087 (grub_console_getcharwidth): Removed.
21088 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21089 * term/gfxterm.c (clear_char): Free chars.
21090 (scroll_up): Avoid leaking memory.
21091 (grub_gfxterm_putchar): Support diacritics.
21092 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21093 * term/i386/pc/console.c (grub_console_term_output): Declare as
21094 GRUB_TERM_CODE_TYPE_VGA.
21095 * term/i386/pc/vga.c (grub_vga_term): Declare as
21096 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
21097 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
21098 GRUB_TERM_CODE_TYPE_VGA.
21099 * term/i386/vga_common.c (map_char): Removed.
21100 (grub_console_putchar): Likewise.
21101 (grub_console_getcharwidth): Likewise.
21102 * term/ieee1275/ofconsole.c: Simplify using terminfo.
21103 (colors): Reordered to match terminfo.
21104 (grub_ofconsole_normal_color): Removed.
21105 (grub_ofconsole_writeesc): Likewise.
21106 (grub_ofconsole_highlight_color): Likewise.
21107 (grub_ofconsole_getcharwidth): Likewise.
21108 (grub_ofconsole_setcolorstate): Likewise.
21109 (grub_ofconsole_setcolor): Likewise.
21110 (grub_ofconsole_getcolor): Likewise.
21111 (grub_ofconsole_readkey): Renamed to ...
21112 (readkey): ... this. Remove escape sequence handling. Return -1 on no
21113 key.
21114 (grub_ofconsole_checkkey): Removed.
21115 (grub_ofconsole_getkey): Likewise.
21116 (grub_ofconsole_getxy): Likewise.
21117 (grub_ofconsole_gotoxy): Likewise.
21118 (grub_ofconsole_cls): Likewise.
21119 (grub_ofconsole_refresh): Likewise.
21120 (grub_ofconsole_terminfo_input): New struct.
21121 (grub_ofconsole_terminfo_output): Likewise.
21122 (grub_ofconsole_term_input): Use terminfo.
21123 (grub_ofconsole_term_output): Likewise.
21124 (grub_console_init): Split into ...
21125 (grub_console_init_early): ...this and ...
21126 (grub_console_init_lately): ...this. Use terminfo.
21127 (grub_ofconsole_putchar): Renamed to ...
21128 (put): ... this. Remove mapping.
21129 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21130 * term/serial.c: Simplify using terminfo.
21131 (xpos): Removed.
21132 (ypos): Likewise.
21133 (keep_track): Likewise.
21134 (registered): Likewise.
21135 (input_buf): Likewise.
21136 (npending): Likewise.
21137 (serial_translate_key_sequence): Likewise.
21138 (fill_input_buf): Likewise.
21139 (grub_serial_checkkey): Likewise.
21140 (grub_serial_getkey): Likewise.
21141 (grub_serial_getxy): Likewise.
21142 (grub_serial_gotoxy): Likewise.
21143 (grub_serial_putchar): Likewise.
21144 (grub_serial_cls): Likewise.
21145 (grub_serial_setcolorstate): Likewise.
21146 (grub_serial_setcursor): Likewise.
21147 (serial_hw_init): Use serial_hw_fetch.
21148 (grub_serial_terminfo_input): New variable.
21149 (grub_serial_terminfo_output): Likewise.
21150 (grub_serial_term_input): Use terminfo.
21151 (grub_serial_term_output): Likewise.
21152 * term/terminfo.c (putstr): Use put.
21153 (grub_terminfo_all_free): New function
21154 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
21155 (grub_terminfo_output_register): New function.
21156 (grub_terminfo_output_unregister): Likewise.
21157 (grub_terminfo_getxy): Likewise.
21158 (grub_terminfo_readkey): Likewise.
21159 (grub_terminfo_checkkey): Likewise.
21160 (grub_terminfo_getkey): Likewise.
21161 (grub_terminfo_input_init): Likewise.
21162 (print_terminfo): Likewise.
21163 (grub_cmd_terminfo): Handle encoding.
21164 (grub_terminfo_gotoxy): Track position.
21165 (grub_terminfo_cls): Likewise.
21166 (grub_terminfo_putchar): Likewise.
21167 (grub_terminfo_setcolorstate): Handle colors
21168 (grub_terminfo_cursor_on): This ...
21169 (grub_terminfo_cursor_off): ... and this merged into ...
21170 (grub_terminfo_setcursor): ... this.
21171 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
21172 * unicode/ArabicShaping.txt: New file (imported from Unicode).
21173 * unicode/BidiMirroring.txt: Likewise.
21174 * unicode/UnicodeData.txt: Likewise.
21175 * unicode/COPYING: Likewise.
21176 * util/grub-editenv.c (grub_putchar): Removed.
21177 (grub_xputs_real): New function.
21178 (grub_xputs): New variable.
21179 * util/grub-fstest.c (grub_putchar): Removed.
21180 (grub_xputs_real): New function.
21181 (grub_xputs): New variable.
21182 * util/grub-mkdevicemap.c (grub_putchar): Removed.
21183 (grub_xputs_real): New function.
21184 (grub_xputs): New variable.
21185 * util/grub-probe.c (grub_putchar): Removed.
21186 (grub_xputs_real): New function.
21187 (grub_xputs): New variable.
21188 * util/grub-script-check.c (grub_putchar): Removed.
21189 (grub_xputs_real): New function.
21190 (grub_xputs): New variable.
21191 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
21192 (grub_xputs_real): New function.
21193 (grub_xputs): New variable.
21194 * util/import_unicode.py: New file.
21195 * util/grub-mkfont.c (ft_errmsgs): New array.
21196 (grub_glyph_info): Make bitmap a pointer.
21197 (file_formats): New type WIDTH_SPEC.
21198 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
21199 (options): Add width-spec.
21200 (help): Likewise.
21201 (add_char): Renamed to ...
21202 (add_glyph): ... this.
21203 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
21204 (glyph_replace): New type.
21205 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
21206 (add_char): New function.
21207 (add_subst): Likewise.
21208 (process_cursive): Likewise.
21209 (add_font): Handle GSUB.
21210 (write_font_width_spec): New function.
21211 (main): Sort glyphs.
21212 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
21213 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
21214 * kern/term.c (grub_cls): Moved from here...
21215 * normal/term.c (grub_cls): ... here.
21216
50f0bcda
CW
212172010-07-02 Colin Watson <cjwatson@ubuntu.com>
21218
21219 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
21220 suitable for using within the format argument of printf when
21221 converting grub_size_t.
21222 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
21223 "x" to convert grub_size_t arguments.
21224
40372103
VS
212252010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21226
21227 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
21228 too long captions.
21229 (list_get_minimal_size): Take selection box into account.
21230
942a10c7
VS
212312010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21232
21233 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
21234 NULL font.
21235
2bdb2892
CW
212362010-07-02 Colin Watson <cjwatson@ubuntu.com>
21237
21238 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
21239 devices when iterating over /dev/disk/by-id; they will be handled
21240 later if appropriate, which they aren't always (e.g. LVM).
21241
e03ed6c1
CW
212422010-07-02 Colin Watson <cjwatson@ubuntu.com>
21243
21244 * include/grub/misc.h (grub_reboot): Declare as noreturn.
21245 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
21246 fails.
21247 (grub_halt): Likewise.
21248 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
21249 reset-all fails.
21250 (grub_halt): Don't return, even if all of shut-down, power-off, and
21251 poweroff fail.
21252
47695765
CW
212532010-07-02 Colin Watson <cjwatson@ubuntu.com>
21254
21255 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
21256 arguments, not three.
21257
507736c8
CW
212582010-07-02 Colin Watson <cjwatson@ubuntu.com>
21259
21260 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
21261 * util/grub.d/10_linux.in: Use it to check for LVM, so that
21262 LVM-on-RAID is handled correctly.
21263
e3c8cd37
CW
212642010-07-02 Colin Watson <cjwatson@ubuntu.com>
21265
21266 * docs/grub.texi (Changes from GRUB Legacy): New section.
21267 (Future): Fix typo.
21268
8d4a2fec
CW
212692010-07-02 Colin Watson <cjwatson@ubuntu.com>
21270
21271 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
21272 grub.d/README accidentally ends up executable for one reason or
21273 another. Ignore it.
21274
1c4827be
VS
212752010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21276
21277 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
21278 (gpt_partition_map_iterate): Support non-512B sectors.
21279
d9a0c941
VS
212802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21281
21282 * kern/efi/init.c (grub_efi_init): Disable watchdog.
21283 Tested by: Seth Goldberg.
21284
48f27e87
VS
212852010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21286
21287 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
21288 Properly align mbi.
21289 Reported by: Seth Goldberg.
21290
b0c4f956
VS
212912010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21292
21293 * util/grub-mkrescue.in: Avoid module duplication.
21294
105a2e8c
SF
212952010-07-01 Sean Finney <seanius@seanius.net>
21296
21297 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
21298
5944958c
SF
212992010-07-01 Sean Finney <seanius@seanius.net>
21300
21301 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
21302
213032010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21304
21305 * disk/lvm.c (grub_lvm_checkvalue): New function.
21306 (grub_lvm_check_flag): Likewise.
21307
b79889ba
RM
213082010-07-01 Robert Millan <rmh@gnu.org>
21309
21310 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
21311 Support 'p' as partition separator on kernel of FreeBSD (used
21312 with GPT labels).
21313 (grub_util_biosdisk_get_grub_dev): Likewise.
21314
ec1d04f1
VS
213152010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21316
21317 Yeeloong firmware port.
21318
21319 * boot/mips/yeeloong/fwstart.S: New file.
21320 * bus/cs5536.c (gpiodump): New const.
21321 (set_io_space): New function.
21322 (set_iod): Likewise.
21323 (set_p2d): Likewise.
21324 (grub_cs5536_init_geode): Likewise.
21325 * commands/mips/yeeloong/lsspd.c: New file.
21326 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
21327 (serial_mod_SOURCES): New variable.
21328 (serial_mod_CFLAGS): Likewise.
21329 (serial_mod_LDFLAGS): Likewise.
21330 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
21331 term/terminfo.c and term/tparm.c.
21332 (pkglib_IMAGES): Add fwstart.img.
21333 (fwstart_img_SOURCES): New variable.
21334 (fwstart_img_CFLAGS): Likewise.
21335 (fwstart_img_ASFLAGS): Likewise.
21336 (fwstart_img_LDFLAGS): Likewise.
21337 (fwstart_img_FORMAT): Likewise.
21338 (pkglib_MODULES): Add lsspd.mod.
21339 (lsspd_mod_SOURCES): New variable.
21340 (lsspd_mod_CFLAGS): Likewise.
21341 (lsspd_mod_LDFLAGS): Likewise.
21342 (pkglib_MODULES): Add halt.mod.
21343 (halt_mod_SOURCES): New variable.
21344 (halt_mod_CFLAGS): Likewise.
21345 (halt_mod_LDFLAGS): Likewise.
21346 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
21347 (serial_mod_SOURCES): Removed.
21348 (serial_mod_CFLAGS): Likewise.
21349 (serial_mod_LDFLAGS): Likewise.
21350 * disk/ata.c (check_device): New function.
21351 (grub_ata_device_initialize): Use check_device.
21352 (grub_ata_iterate): Recheck devices.
21353 (grub_ata_open): Likewise.
21354 (grub_atapi_iterate): Likewise.
21355 (grub_atapi_open): Likewise.
21356 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
21357 (GRUB_ATA_CH1_PORT1): Likewise.
21358 (GRUB_ATA_CH0_PORT2): Likewise.
21359 (GRUB_ATA_CH1_PORT2): Likewise.
21360 * include/grub/mips/loongson.h: New file.
21361 * include/grub/mips/yeeloong/ec.h: Likewise.
21362 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
21363 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
21364 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
21365 * include/grub/misc.h (grub_halt): Declare as noreturn.
21366 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
21367 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
21368 (UART_ENABLE_FIFO_TRIGGER1): New definition.
21369 (UART_ENABLE_DTRRTS): Likewise.
21370 (UART_ENABLE_MODEM): Removed.
21371 (UART_ENABLE_OUT2): New const.
21372 * include/grub/term.h (grub_term_register_input_active): New function.
21373 (grub_term_register_output_active): Likewise.
21374 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
21375 argument.
21376 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
21377 (init_pci): New function.
21378 (grub_machine_init): Execute platform init when firmware. Init serial.
21379 (grub_halt): Implement.
21380 (grub_exit): Likewise.
21381 (grub_reboot): Likewise.
21382 * term/serial.c (serial_hw_init): Update macros.
21383 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
21384 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
21385 (image_targets): New target mipsel-yeeloong-flash.
21386 (generate_image): Support IMAGE_YEELOONG_FLASH.
21387 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
21388 (grub_video_sm712_setup): Init card.
21389 (grub_video_sm712_set_palette): Removed.
21390 * video/sm712_init.c: New file.
21391
ff4a70d2
CW
213922010-06-30 Colin Watson <cjwatson@ubuntu.com>
21393
21394 * Makefile.in (install-local): Temporarily prepend $(builddir) to
21395 PATH when running help2man and then run it on the unadorned
21396 executable names, rather than passing $(builddir)/* paths to
21397 help2man. This avoids the build directory ending up in generated
21398 manual pages.
21399
1246efeb
CW
214002010-06-29 Colin Watson <cjwatson@ubuntu.com>
21401
21402 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
21403 to avoid accidents when debugging with 'sh -x'.
21404 * util/grub-mkrescue.in: Likewise.
21405 * util/grub.d/00_header.in: Likewise.
21406 * util/grub.d/10_hurd.in: Likewise.
21407 * util/grub.d/10_kfreebsd.in: Likewise.
21408 * util/grub.d/10_linux.in: Likewise.
21409 * util/grub.d/10_netbsd.in: Likewise.
21410 * util/grub.d/10_windows.in: Likewise.
21411 * util/grub.d/20_linux_xen.in: Likewise.
21412 * util/grub.d/30_os-prober.in: Likewise.
21413 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21414
1ba9b889
CW
214152010-06-29 Colin Watson <cjwatson@ubuntu.com>
21416
21417 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
21418 last character in the buffer.
21419 Reported by: Vladimir Serbinenko.
21420
dccaf99d
RM
214212010-06-29 Robert Millan <rmh@gnu.org>
21422
21423 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
21424 (Command-line and menu entry commands): Document `badram' command.
21425
d500ed12
RM
214262010-06-28 Robert Millan <rmh@gnu.org>
21427
21428 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
21429 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
21430 command using ${GRUB_BADRAM} as parameter.
21431
20bc84a6
CW
214322010-06-28 Colin Watson <cjwatson@ubuntu.com>
21433
21434 * docs/grub.texi (Device map): New section.
21435 (Themes): New section (stub).
21436 * Makefile.in (docs/grub.info): The info documentation now builds
21437 without errors. Make sure it stays that way.
21438
4045dee1
VS
214392010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21440
21441 Use normal parser for menu entries.
21442 Reported by: Thomas Frauendorfer
21443
21444 * include/grub/parser.h (grub_parser_execute): Don't export.
21445 * normal/menu.c (grub_menu_execute_entry_real): New function.
21446 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
21447
bca58c7b
CW
214482010-06-28 Colin Watson <cjwatson@ubuntu.com>
21449
21450 * docs/grub.texi (Embedded configuration): New section (replacing
21451 old "Preset Menu" stub).
21452 (Images): New section.
21453 (configfile): Note that any menu entries defined in `file' are shown
21454 immediately.
21455
dec53e63
JT
214562010-06-28 Josh Triplett <josh@joshtriplett.org>
21457
21458 * mmap/i386/pc/mmap_helper.S: Set CF on return.
21459
c06e40f7
CW
214602010-06-28 Colin Watson <cjwatson@ubuntu.com>
21461
21462 * util/grub-install.in: Add --debug-image= option.
21463
cb88052b
CW
214642010-06-28 Colin Watson <cjwatson@ubuntu.com>
21465
21466 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
21467 possible on Linux.
21468
21469 * util/deviceiter.c (check_device): Rename to ...
21470 (check_device_readable_unique): ... this. Update all callers.
21471 Maintain and check a list of which devices (by canonicalized name)
21472 have already been seen.
21473 (clear_seen_devices): New function.
21474 (compare_file_names) [__linux__]: New function.
21475 (grub_util_iterate_devices): Clear the list of seen devices on exit
21476 and (just in case) on entry.
21477 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
21478 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
21479 seen-devices list, superseded by general code in check_device.
21480
bbe34652
CW
214812010-06-28 Colin Watson <cjwatson@ubuntu.com>
21482
21483 * commands/cat.c (options): New variable.
21484 (grub_cmd_cat): Parse options. If the --dos option is given, print
21485 DOS-style "\r\n" line endings as simple newlines (Debian bug
21486 #586358).
21487 (GRUB_MOD_INIT): Use extcmd.
21488 (GRUB_MOD_FINI): Likewise.
21489 * docs/grub.texi (cat): Document --dos.
21490
412e09f3
VS
214912010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21492
21493 XEN with Linux grub-mkconfig support.
21494
21495 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
21496 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
21497 GRUB_CMDLINE_XEN_DEFAULT.
21498 * util/grub.d/20_linux_xen.in: New file.
21499
53f3ef38 215002010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
21501
21502 Initialise VGA video on qemu ourselves.
21503
21504 * boot/i386/qemu/boot.S: Don't call 0xc000.
21505 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
21506 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
21507 (kernel_img_HEADERS): Add pci.h.
21508 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
21509 * configure.ac: Force unifont on qemu and yeeloong.
21510 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
21511 (grub_vga_palette_write): Use correct register.
21512 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
21513 Call grub_qemu_init_cirrus.
21514 * kern/i386/qemu/init.c: New file.
21515 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
21516
21517 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
21518
c75be4fb
PR
215192010-06-26 Pavel Roskin <proski@gnu.org>
21520
21521 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
21522 13.
21523
d8034603
CW
215242010-06-26 Colin Watson <cjwatson@ubuntu.com>
21525
21526 * docs/grub.texi (Simple configuration): Explain that
21527 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
21528 set to `true' to disable their respective recovery entries, not
21529 merely set.
21530
3fa06487
CW
215312010-06-26 Colin Watson <cjwatson@ubuntu.com>
21532
21533 Make the `source' command slightly faster.
21534
21535 * normal/main.c (grub_normal_execute): Don't re-read list files when
21536 nested.
21537
e9b29642
CW
215382010-06-23 Colin Watson <cjwatson@ubuntu.com>
21539
21540 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
21541 field position and mask size to red fields from mode_info, not
21542 green.
21543 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
21544 Remove redundant tag->common.framebuffer_type assignment.
21545 Reported by: Seth Goldberg.
21546
e726542f
CW
215472010-06-23 Colin Watson <cjwatson@ubuntu.com>
21548
21549 Sync up other versions of the Linux loader with Robert Millan's
21550 change of 2010-01-09, "Make loader output a bit more user-friendly".
21551
21552 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
21553 grub_dprintf().
21554 (grub_cmd_linux): Likewise.
21555 (grub_cmd_initrd): Likewise.
21556 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
21557 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21558
d6e98a17
CW
215592010-06-21 Colin Watson <cjwatson@ubuntu.com>
21560
21561 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
21562 larger than MEMORY_MAP_SIZE.
21563
14d3f08e
BC
215642010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
21565
21566 Fix parallel build.
21567
21568 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
21569 dependency.
21570 * script/parser.y: #include grub_script.tab.h header.
21571
4f9613a3
VS
215722010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21573
21574 Support >3GiB and <16MiB RAM in i386-qemu.
21575
21576 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
21577 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
21578 (grub_lower_mem): Removed.
21579 (grub_upper_mem): Likewise.
21580 (mem_size): Made static.
21581 (above_4g): New variable.
21582 (grub_machine_mmap_init): Detect small mem_size and above_4g.
21583 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
21584 support.
21585
05e51879
VS
215862010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21587
21588 Cirrus 5446 and Bochs video cards support.
21589
21590 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
21591 video_bochs.mod
21592 (video_cirrus_mod_SOURCES): New variable.
21593 (video_cirrus_mod_CFLAGS): Likewise.
21594 (video_cirrus_mod_LDFLAGS): Likewise.
21595 (video_bochs_mod_SOURCES): Likewise.
21596 (video_bochs_mod_CFLAGS): Likewise.
21597 (video_bochs_mod_LDFLAGS): Likewise.
21598 * include/grub/vga.h: New file.
21599 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
21600 (grub_video_fb_set_page_t): New type.
21601 (grub_video_fb_setup): New prototype.
21602 (grub_video_fb_swap_buffers): Likewise.
21603 (grub_video_fb_get_info_and_fini): Likewise.
21604 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
21605 (CRTC_DATA_PORT): Likewise.
21606 (CRTC_CURSOR): Likewise.
21607 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21608 (CRTC_CURSOR_ADDR_LOW): Likewise.
21609 (CRTC_CURSOR_DISABLE): Likewise.
21610 (update_cursor): Use grub_vga_cr_write.
21611 (grub_vga_text_setcursor): Likewise.
21612 * video/bochs.c: New file.
21613 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
21614 (palette): Likewise.
21615 (palette_size): Likewise.
21616 (framebuffer): New variable.
21617 (grub_video_fb_init): Use 'framebuffer'.
21618 (grub_video_fb_fini): Likewise.
21619 (grub_video_fb_get_info): Likewise.
21620 (grub_video_fb_get_palette): Likewise.
21621 (grub_video_fb_set_palette): Likewise.
21622 (grub_video_fb_set_viewport): Likewise.
21623 (grub_video_fb_get_viewport): Likewise.
21624 (grub_video_fb_map_color): Likewise.
21625 (grub_video_fb_map_rgb): Likewise.
21626 (grub_video_fb_map_rgba): Likewise.
21627 (grub_video_fb_unmap_color): Likewise.
21628 (grub_video_fb_unmap_color_int): Likewise.
21629 (grub_video_fb_fill_rect): Likewise.
21630 (grub_video_fb_blit_bitmap): Likewise.
21631 (grub_video_fb_blit_render_target): Likewise.
21632 (grub_video_fb_scroll): Likewise.
21633 (grub_video_fb_create_render_target): Likewise.
21634 (grub_video_fb_doublebuf_blit_init): Likewise.
21635 (grub_video_fb_set_active_render_target): Handle doublebuffering.
21636 (doublebuf_pageflipping_update_screen): New function.
21637 (doublebuf_pageflipping_init): Likewise.
21638 (grub_video_fb_setup): Likewise.
21639 (grub_video_fb_swap_buffers): Likewise.
21640 (grub_video_fb_get_info_and_fini): Likewise.
21641 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
21642 All users updated.
21643 (doublebuf_pageflipping_commit): Restructured into ...
21644 (doublebuf_pageflipping_set_page): ... this.
21645 (doublebuf_pageflipping_update_screen): Removed.
21646 (doublebuf_pageflipping_init): Likewise.
21647 (double_buffering_init): Likewise.
21648 (grub_video_vbe_setup): Use grub_video_fb_setup.
21649 (grub_video_vbe_swap_buffers): Removed.
21650 (grub_video_vbe_set_active_render_target): Likewise.
21651 (grub_video_vbe_get_active_render_target): Likewise.
21652 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
21653 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
21654 grub_video_fb_set_active_render_target and
21655 grub_video_fb_get_active_render_target.
21656 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
21657 (SEQUENCER_DATA_PORT): Likewise.
21658 (MAP_MASK_REGISTER): Likewise.
21659 (CRTC_ADDR_PORT): Likewise.
21660 (CRTC_DATA_PORT): Likewise.
21661 (START_ADDR_HIGH_REGISTER): Likewise.
21662 (START_ADDR_LOW_REGISTER): Likewise.
21663 (GRAPHICS_ADDR_PORT): Likewise.
21664 (GRAPHICS_DATA_PORT): Likewise.
21665 (READ_MAP_REGISTER): Likewise.
21666 (INPUT_STATUS1_REGISTER): Likewise.
21667 (INPUT_STATUS1_VERTR_BIT): Likewise.
21668 (get_map_mask): Use grub_vga_sr_read.
21669 (set_map_mask): Use grub_vga_sr_write.
21670 (set_read_map): Use grub_vga_gr_write.
21671 (set_start_address): Use grub_vga_cr_write.
21672 * video/sm712.c (framebuffer): Remove leftover fields.
21673
4321c64a
CW
216742010-06-20 Colin Watson <cjwatson@ubuntu.com>
21675
21676 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
21677 setting GRUB_VIDEO_BACKEND. Make it available as a user override
21678 instead. Replace the gfxterm backend check with a check that
21679 ${GRUB_PREFIX}/video.lst is non-empty.
21680 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
21681 again.
21682 (load_video): New generated function. Call it before loading
21683 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
21684 * util/grub.d/10_linux.in (linux_entry): Call load_video.
21685 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
21686 * docs/grub.texi (Simple configuration): Document
21687 GRUB_VIDEO_BACKEND.
21688
216892010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21690
21691 Use video functions in linux and xnu loaders.
21692
21693 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
21694 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
21695 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
21696 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
21697 loader/i386/pc/linux.c.
21698 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
21699 (find_line_len): Removed.
21700 (find_framebuf): Likewise.
21701 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
21702 * loader/i386/efi/xnu.c: Removed.
21703 * loader/i386/pc/xnu.c: Moved from here...
21704 * loader/i386/xnu.c: ...here.
21705
21706 Enable priorities in video drivers.
21707
21708 * include/grub/video.h (grub_video_adapter_prio_t): New type.
21709 (grub_video_adapter): New field prio.
21710 (grub_video_register): Respect prio when inserting.
21711 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
21712 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
21713 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
21714 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
21715 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
21716 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
21717 * video/sm712.c (grub_video_sm712_adapter): Likewise.
21718
21719 Fix SDL driver ID.
21720
21721 * include/grub/video.h (grub_video_driver_id_t): New value
21722 GRUB_VIDEO_DRIVER_SDL.
21723 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
21724
7d24e434
CW
217252010-06-17 Colin Watson <cjwatson@ubuntu.com>
21726
21727 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
21728 argument to printf.
21729 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
21730
c88a83f6
CW
217312010-06-17 Colin Watson <cjwatson@ubuntu.com>
21732
21733 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
21734 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
21735
094dfb69
CW
217362010-06-17 Colin Watson <cjwatson@ubuntu.com>
21737
21738 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
21739 directly, and recommend grub-install instead.
21740 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
21741
2164da6b
CW
217422010-06-17 Colin Watson <cjwatson@ubuntu.com>
21743
21744 Fix i386-pc prefix handling with nested partitions (Debian bug
21745 #585068). Note that the case where the core image is booted using
21746 multiboot and relocated from its original location still requires
21747 more work.
21748
21749 * kern/i386/pc/init.c (make_install_device): If the prefix starts
21750 with "(,", fill the boot drive in between those two characters, but
21751 expect that a full partition specification including partition map
21752 names will follow.
21753 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
21754 specified, write a prefix without the drive name but including a
21755 full partition specification.
21756
044e2e60
CW
217572010-06-16 Colin Watson <cjwatson@ubuntu.com>
21758
21759 * util/grub-mkconfig.in: Ignore non-option arguments, for
21760 compatibility with older versions (before 2010-06-12) which did the
21761 same. In particular, this makes it easier to ship an update-grub
21762 wrapper which is compatible with that used with GRUB Legacy (Debian
21763 bug #586056).
21764
5591324f
GS
217652010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21766
21767 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
21768 for manual page generation.
21769
662e24d5
GS
217702010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21771
21772 * po/POTFILES: Remove leftover commands/handler.c.
21773
8d70754e
CW
217742010-06-14 Colin Watson <cjwatson@ubuntu.com>
21775
21776 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
21777 left this script non-functional.
21778
41160e2e
CW
217792010-06-14 Colin Watson <cjwatson@ubuntu.com>
21780
21781 * docs/man/grub-emu.h2m: New file.
21782
b5309cc1
CW
217832010-06-13 Colin Watson <cjwatson@ubuntu.com>
21784
21785 * docs/grub.texi (Commands): Document reduced command set in rescue
21786 mode.
21787 (cpuid): New section.
21788
fcb2d090
GS
217892010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
21790
21791 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
21792 new partition naming style.
21793 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
21794
96e5c556
BC
217952010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
21796
21797 Add "-o grub.iso" like cmdline options support.
21798
21799 * util/grub-install.in: Improve cmdline option parsing.
21800 * util/grub-mkconfig.in: Likewise.
21801 * util/grub-mkrescue.in: Likewise.
21802 * util/grub-reboot.in: Likewise.
21803 * util/grub-set-default.in: Likewise.
21804 * util/i386/efi/grub-install.in: Likewise.
21805 * util/ieee1275/grub-install.in: Likewise.
21806 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21807
c16be99b
CW
218082010-06-12 Colin Watson <cjwatson@ubuntu.com>
21809
21810 * .bzrignore: Ignore 41_custom.
21811
ce08a9fb
TS
218122010-06-12 Thomas Schmitt <scdbackup@gmx.net>
21813
21814 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
21815
7beac90c
CW
218162010-06-12 Colin Watson <cjwatson@ubuntu.com>
21817
21818 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
21819 prototype declarations.
21820
21821 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
21822 generating fs, partmap, and video lists.
21823 * include/grub/fs.h (grub_fs_register): Omit prototype if
21824 GRUB_LST_GENERATOR is defined.
21825 * include/grub/partition.h (grub_partition_map_register): Likewise.
21826 * include/grub/video.h (grub_video_register): Likewise.
21827
1c8f0f8d
JM
218282010-06-12 Javier Martín <lordhabbit@gmail.com>
21829
21830 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
21831
a6085973
TS
218322010-06-12 Thomas Schmitt <scdbackup@gmx.net>
21833
21834 * util/grub-mkrescue.in: Support --xorriso argument.
21835
25c56d29
VS
218362010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21837
21838 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
21839 Suggested by: Thomas Schmitt.
21840
e03e4b24
VS
218412010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21842
21843 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
21844 Suggested by: Thomas Schmitt.
21845
57711df6
VS
218462010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21847
21848 custom.cfg support.
21849
21850 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
21851 * util/grub.d/41_custom.in: New file.
21852
ee62c427
CW
218532010-06-12 Colin Watson <cjwatson@ubuntu.com>
21854
21855 * util/grub-mkrescue.in (make_image): Remove sh module, which has
21856 been merged back into normal.
21857
283af07a
CW
218582010-06-11 Colin Watson <cjwatson@ubuntu.com>
21859
21860 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
21861 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
21862
56a0d956
CW
218632010-06-11 Colin Watson <cjwatson@ubuntu.com>
21864
21865 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
21866 when generating manual pages.
21867 * docs/man/grub-bin2h.h2m: New file.
21868 * docs/man/grub-editenv.h2m: New file.
21869 * docs/man/grub-fstest.h2m: New file.
21870 * docs/man/grub-install.h2m: New file.
21871 * docs/man/grub-macho2img.h2m: New file.
21872 * docs/man/grub-mkconfig.h2m: New file.
21873 * docs/man/grub-mkdevicemap.h2m: New file.
21874 * docs/man/grub-mkfont.h2m: New file.
21875 * docs/man/grub-mkimage.h2m: New file.
21876 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
21877 * docs/man/grub-mkrelpath.h2m: New file.
21878 * docs/man/grub-mkrescue.h2m: New file.
21879 * docs/man/grub-ofpathname.h2m: New file.
21880 * docs/man/grub-pe2elf.h2m: New file.
21881 * docs/man/grub-probe.h2m: New file.
21882 * docs/man/grub-reboot.h2m: New file.
21883 * docs/man/grub-script-check.h2m: New file.
21884 * docs/man/grub-set-default.h2m: New file.
21885 * docs/man/grub-setup.h2m: New file.
21886
3a37e322
VS
218872010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
21888
21889 Use FOR_* macros instead of *_iterate whenever possible.
21890
21891 * commands/handler.c: Removed.
21892 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
21893 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
21894 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21895 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
21896 (grub_probe_SOURCES): Remove kern/parser.c.
21897 (util/grub-script-check.c_DEPENDENCIES): Removed.
21898 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
21899 and grub_script_check_init.c.
21900 (grub_script_check_init.lst): Removed.
21901 (grub_script_check_init.h): Likewise.
21902 (grub_script_check_init.c): Likewise.
21903 (pkglib_MODULES): Remove handler.mod and sh.mod.
21904 (handler_mod_SOURCES): Removed.
21905 (handler_mod_CFLAGS): Likewise.
21906 (handler_mod_LDFLAGS): Likewise.
21907 (normal_mod_SOURCES): Remove normal/handler.c.
21908 Add script/main.c, script/script.c, script/execute.c,
21909 script/function.c, script/lexer.c, grub_script.tab.c
21910 and grub_script.yy.c.
21911 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21912 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21913 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
21914 (grub_setup_SOURCES): Remove kern/parser.c.
21915 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21916 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
21917 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21918 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21919 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21920 (grub_setup_SOURCES): Remove kern/parser.c.
21921 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21922 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
21923 * include/grub/command.h (grub_command_iterate): Removed.
21924 (FOR_COMMANDS): New macro.
21925 * include/grub/dl.h (grub_dl): New member next.
21926 (grub_dl_iterate): Removed.
21927 (grub_dl_head): New variable declaration.
21928 (FOR_DL_MODULES): New macro.
21929 * include/grub/fs.h: Include list.h.
21930 (grub_fs): Make next first element.
21931 (grub_fs_list): New variable declaration.
21932 (grub_fs_register): Make inline.
21933 (grub_fs_unregister): Likewise.
21934 (grub_fs_iterate): Removed.
21935 (FOR_FILESYSTEMS): New macro.
21936 * include/grub/handler.h: Removed.
21937 * include/grub/list.h (grub_list_hook_t): Removed.
21938 (grub_list_test_t): Likewise.
21939 (grub_list_pop): Likewise.
21940 (grub_list_iterate): Likewise.
21941 (grub_list_insert): Likewise.
21942 (FOR_LIST_ELEMENTS): New macro.
21943 * include/grub/parser.h (grub_parser_class): Removed.
21944 (grub_parser_register): Likewise.
21945 (grub_parser_unregister): Likewise.
21946 (grub_parser_get_current): Likewise.
21947 (grub_parser_set_current): Likewise.
21948 (grub_register_rescue_parser): Likewise.
21949 (grub_rescue_parse_line): New function.
21950 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
21951 * include/grub/script_sh.h (grub_script_function_list): New variable
21952 declaration.
21953 (FOR_SCRIPT_FUNCTIONS): New macro.
21954 (grub_script_function_iterate): Removed.
21955 (grub_normal_parse_line): New prototype.
21956 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
21957 (FOR_DISABLED_TERM_INPUTS): Likewise.
21958 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21959 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21960 * include/grub/video.h (grub_video_adapter): Move 'next' to first
21961 element.
21962 (grub_video_register): Inline.
21963 (grub_video_unregister): Likewise.
21964 (grub_video_adapter_list): New variable declaration.
21965 (grub_video_iterate): Removed.
21966 (FOR_VIDEO_ADAPTERS): New macro.
21967 * kern/dl.c (grub_dl_list): Removed. All users updated.
21968 (grub_dl_iterate): Removed.
21969 * kern/fs.c (grub_fs_list): Make global.
21970 (grub_fs_register): Removed.
21971 (grub_fs_unregister): Likewise.
21972 (grub_fs_iterate): Likewise.
21973 * kern/handler.c: Removed.
21974 * kern/list.c (grub_list_pop): Removed.
21975 (grub_list_iterate): Likewise.
21976 (grub_list_insert): Likewise.
21977 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
21978 (grub_prio_list_insert): Don't use grub_list_insert.
21979 * kern/main.c (grub_register_rescue_parser): Don't call
21980 grub_register_rescue_parser.
21981 * kern/parser.c (grub_parser_class): Removed.
21982 (grub_parser_execute): Use grub_rescue_parse_line.
21983 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
21984 (grub_rescue_parser): Removed.
21985 (grub_register_rescue_parser): Likewise.
21986 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
21987 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
21988 (grub_auth_check_authentication): Likewise.
21989 * normal/completion.c (iterate_command): Removed.
21990 (grub_normal_do_completion): Use FOR_COMMANDS.
21991 * normal/handler.c: Removed.
21992 * normal/main.c (read_config_file): Remove parser changing.
21993 (grub_normal_execute): Don't call read_handler_list.
21994 (grub_normal_read_line_real): Statically allocate prompt.
21995 (grub_cmdline_run): Use grub_normal_parse_line.
21996 (GRUB_MOD_FINI): Don't call free_handler_list.
21997 * normal/menu_entry.c (run): Likewise.
21998 * script/function.c (grub_script_function_list): Make global.
21999 (grub_script_function_iterate): Removed.
22000 * script/main.c (grub_normal_parse_line): Make global.
22001 (grub_sh_parser): Removed.
22002 (GRUB_MOD_INIT): Likewise.
22003 (GRUB_MOD_FINI): Likewise.
22004 * tests/lib/functional_test.c (grub_functional_test): Use
22005 FOR_LIST_ELEMENTS.
22006 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
22007 (grub_test_run): Use FOR_LIST_ELEMENTS.
22008 * tests/lib/unit_test.c (main): Likewise.
22009 * util/deviceiter.c (grub_util_iterate_devices): Don't use
22010 grub_list_pop.
22011 * util/grub-fstest.c (grub_term_input_class): Removed.
22012 (grub_term_output_class): Likewise.
22013 * util/grub-probe.c: Likewise.
22014 * util/i386/pc/grub-setup.c: Likewise.
22015 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22016 * util/grub-script-check.c (main): Don't call grub_init_all and
22017 grub_fini_all.
22018 * video/video.c (grub_video_adapter_list): Make global.
22019 (grub_video_register): Removed.
22020 (grub_video_unregister): Likewise.
22021 (grub_video_iterate): Likewise.
22022
6289c3a7
VS
220232010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
22024
22025 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
22026 reported by Henrique Ferreiro.
22027
91460247
RM
220282010-06-09 Robert Millan <rmh@gnu.org>
22029
22030 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
22031 ones, when both are available.
22032
0ea7c4f9
GS
220332010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22034
22035 Make --version uniform and avoid hard-coded program name.
22036
22037 * util/grub-mkimage.c (main): Use `program_name' instead of
22038 hard-coded string.
22039 * util/i386/pc/grub-setup.c (main): Likewise.
22040 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
22041 * util/grub-install.in: Save the basename of $0 in $self, and use the
22042 latter in informational messages. Use the same format for --version
22043 as the binary programs.
22044 * util/grub-mkconfig.in: Likewise.
22045 * util/grub-mkrescue.in: Likewise.
22046 * util/grub-reboot.in: Likewise.
22047 * util/grub-set-default.in: Likewise.
22048 * util/i386/efi/grub-install.in: Likewise.
22049 * util/ieee1275/grub-install.in: Likewise.
22050 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22051
e8a6f3b6
GS
220522010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22053
22054 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
22055 embedding area. Use <= instead of == when checking for non-emptiness.
22056
f4d095d7
GS
220572010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22058
22059 * configure.ac: Add `.' to the directories searched for unifont.
22060
50e532ca
CW
220612010-06-08 Colin Watson <cjwatson@ubuntu.com>
22062
22063 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
22064 grub_script.yy.h.
22065
d39f3dec
CW
220662010-06-08 Colin Watson <cjwatson@ubuntu.com>
22067
22068 * docs/grub.texi (History): Expand to cover GRUB 2.
22069 (Serial terminal): Refer to `terminal_input' and `terminal_output'
22070 commands, not `terminal'.
22071 (serial): Likewise.
22072 (terminal_input): New section.
22073 (terminal_output): New section.
22074 (uppermem): New section (stub).
22075 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
22076
6ef0ddb4
CW
220772010-06-08 Colin Watson <cjwatson@ubuntu.com>
22078
22079 * docs/grub.texi (Security): Menu entries are unrestricted by
22080 default, not restricted to superusers as I had previously thought.
22081 Reword to account for this.
22082
e0f4c438
CW
220832010-06-07 Colin Watson <cjwatson@ubuntu.com>
22084
22085 * kern/emu/misc.c (device_mapper_null_log): New function.
22086 (grub_device_mapper_supported): New function.
22087 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
22088 prototype.
22089 * kern/emu/hostdisk.c (find_partition_start): Check whether
22090 device-mapper is supported before trying to use it.
22091 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
22092
da908200
CW
220932010-06-07 Colin Watson <cjwatson@ubuntu.com>
22094
22095 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
22096 (File name syntax): Likewise.
22097 (help): --all is no longer supported in GRUB 2. Be more precise
22098 about pattern matching.
22099
fb55c3ac
CW
221002010-06-07 Colin Watson <cjwatson@ubuntu.com>
22101
22102 * normal/completion.c (grub_normal_do_completion): When completing
22103 arguments to "set" and the current word contains an equals sign,
22104 skip to after the equals sign before starting completion.
22105
258c2573
CW
221062010-06-07 Colin Watson <cjwatson@ubuntu.com>
22107
22108 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
22109
ee75515e
CW
221102010-06-07 Colin Watson <cjwatson@ubuntu.com>
22111
22112 * docs/grub.texi (Network): New section.
22113 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
22114 `(nd)' as in GRUB Legacy.
22115 (pxe_unload): New section.
22116
a6a700aa
CW
221172010-06-07 Colin Watson <cjwatson@ubuntu.com>
22118
22119 * docs/grub.texi (Troubleshooting): `echo' is not usually available
22120 in the rescue shell, so recommend using `set' instead. Thanks,
22121 Jordan Uggla.
22122
4003dd38
CW
221232010-06-07 Colin Watson <cjwatson@ubuntu.com>
22124
22125 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
22126 (password): New section.
22127 (password_pbkdf2): New section.
22128 (search): New section.
22129 (Security): New section.
22130 (Troubleshooting): New section, currently very incomplete.
22131 (Invoking grub-mkpasswd-pbkdf2): New section.
22132 (Internals): New section, currently very incomplete.
22133
e1cbcc40
CW
221342010-06-07 Colin Watson <cjwatson@ubuntu.com>
22135
22136 * util/grub.d/00_header.in: Add some more quoting (of
22137 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
22138 work again.
22139 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
22140
db8fa1ad
CW
221412010-06-07 Colin Watson <cjwatson@ubuntu.com>
22142
22143 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
22144 to `count', fixing variable shadowing that broke the -c option.
22145
221462010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
22147
22148 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
22149 in case they contain spaces.
22150
f28a9212
CW
221512010-06-04 Colin Watson <cjwatson@ubuntu.com>
22152
22153 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
22154 "part_" to partmap module names, in line with grub-install.
22155 Reported by: Jindřich Makovička (Debian bug #584426).
22156
9cdfe32f
CW
221572010-06-04 Colin Watson <cjwatson@ubuntu.com>
22158
22159 * util/grub-mkimage.c: Make target-related error messages slightly
22160 more helpful; -O talks about "format". Explicitly point to the use
22161 of -O if no target is specified.
22162 Reported by: Didier Raboud (Debian bug #584415).
22163
795b593a
CW
221642010-06-03 Colin Watson <cjwatson@ubuntu.com>
22165
22166 * INSTALL: Document several build requirements for optional features
22167 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
22168
9d9b5833
GS
221692010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
22170
22171 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
22172 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
22173 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
22174
0819fec8
CW
221752010-06-02 Colin Watson <cjwatson@ubuntu.com>
22176
22177 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
22178 Thanks to Jordan Uggla for spotting this.
22179
49396b4f
VS
221802010-06-02 Aleš Nesrsta <starous@volny.cz>
22181
22182 Finally make USB usable.
22183
22184 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
22185 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
22186 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
22187 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
22188 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
22189 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
22190 (GRUB_OHCI_FSMPS): Likewise.
22191 (GRUB_OHCI_PERIODIC_START): Likewise.
22192 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
22193 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
22194 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
22195 (GRUB_OHCI_SET_PORT_RESET): Likewise.
22196 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
22197 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
22198 (grub_ohci_transaction): Likewise.
22199 (grub_ohci_transfer): Improve condition detection algorithms.
22200 Handle toggle property. Program the transactions correctly.
22201 Improve error handling. Various important fixups.
22202 (grub_ohci_portstatus): Put register writes in right order.
22203 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
22204 (grub_uhci_transfer): Don't show "failed" message on success.
22205 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
22206 array.
22207 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
22208 determine its size.
22209 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
22210 before initialization is completed. Use IN direction for empty
22211 transfers. Use last_trans and compute toggle.
22212 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
22213 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
22214 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
22215 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
22216 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
22217 (grub_usb_device): Increase toggle to 256.
22218 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
22219 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
22220 GRUB_USBMS_SUBCLASS_SFF8070.
22221 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
22222 (grub_scsi_inquiry): New member page and alloc_length.
22223 (grub_scsi_request_sense): New structure.
22224 (grub_scsi_request_sense_data): Likewise.
22225 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
22226 control.
22227 * disk/scsi.c (grub_scsi_request_sense): New function.
22228 (grub_scsi_test_unit_ready): Likewise.
22229 (grub_scsi_inquiry): Fill new fields.
22230 (grub_scsi_read_capacity): Likewise.
22231 (grub_scsi_read10): Add request sense at the end.
22232 (grub_scsi_read12): Likewise.
22233 (grub_scsi_write10): Likewise.
22234 (grub_scsi_write12): Likewise.
22235 (grub_scsi_open): Add Test Unit Ready.
22236 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
22237 Support additional subclasses. Con't clear halt yet. Activate the
22238 proper config. Calculate LUNs correctly.
22239 (grub_usbms_transfer): Various important fixups.
22240
222412010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22242
22243 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
22244 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
22245 (grub_ohci_fini_hw): New function.
22246 (grub_ohci_restore_hw): Likewise.
22247 (GRUB_MOD_INIT(ohci)): Register preboot hook.
22248 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
22249 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
22250
222512010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22252
22253 Dedicated DMA allocations.
22254
22255 * bus/pci.c (grub_memalign_dma32): New function
22256 (grub_dma_free): Likewise.
22257 (grub_dma_get_virt): Likewise.
22258 (grub_dma_get_phys): Likewise.
22259 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
22260 (grub_ohci_pci_iter): Use dma32_alloc.
22261 (grub_ohci_transfer): Likewise.
22262 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22263 (grub_usb_bulk_readwrite): Likewise.
22264 * include/grub/pci.h: Add declarations.
22265
222662010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22267
22268 CS5536 support.
22269
22270 * bus/cs5536.c: New file.
22271 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
22272 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
22273 (cs5536_mod_SOURCES): New variable.
22274 (cs5536_mod_CFLAGS): Likewise.
22275 (cs5536_mod_LDFLAGS): Likewise.
22276 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
22277 machine/pci.h.
22278 (kernel_img_SOURCES): Add bus/cs5536.c.
22279 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
22280 usb_keyboard.mod.
22281 (usb_mod_SOURCES): New variable.
22282 (usb_mod_CFLAGS): New variable.
22283 (usb_mod_LDFLAGS): New variable.
22284 (usbtest_mod_SOURCES): New variable.
22285 (usbtest_mod_CFLAGS): New variable.
22286 (usbtest_mod_LDFLAGS): New variable.
22287 (ohci_mod_SOURCES): New variable.
22288 (ohci_mod_CFLAGS): New variable.
22289 (ohci_mod_LDFLAGS): New variable.
22290 (usbms_mod_SOURCES): New variable.
22291 (usbms_mod_CFLAGS): New variable.
22292 (usbms_mod_LDFLAGS): New variable.
22293 (usb_keyboard_mod_SOURCES): New variable.
22294 (usb_keyboard_mod_CFLAGS): New variable.
22295 (usb_keyboard_mod_LDFLAGS): New variable.
22296 * include/grub/smbus.h: New file.
22297 * include/grub/cs5536.h: New file.
22298
0b35b2a9
CW
222992010-06-02 Colin Watson <cjwatson@ubuntu.com>
22300
22301 * util/grub.d/00_header.in: Add safety check to make sure that
22302 ${locale_dir} exists before trying to probe it.
22303
ca0afd5b
CW
223042010-06-02 Colin Watson <cjwatson@ubuntu.com>
22305
22306 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
22307 per the GNU Coding Standards; this is now too obscure to be worth
22308 documenting.
22309 (QNX): Likewise.
22310 (chainloader): Remove cross-reference to `SCO UnixWare'.
22311
1c41aa78
CW
223122010-06-02 Colin Watson <cjwatson@ubuntu.com>
22313
22314 * docs/grub.texi (Chain-loading): New section.
22315 (DOS/Windows): New section, borrowed from GRUB Legacy with details
22316 adjusted for GRUB 2.
22317 (SCO UnixWare): Likewise.
22318 (QNX): Likewise.
22319 (chainloader): Add reference to `Block list syntax'.
22320 (drivemap): New section.
22321 (parttool): New section.
22322
bb8ea0f5
CW
223232010-06-02 Colin Watson <cjwatson@ubuntu.com>
22324
22325 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
22326 the grub shell'.
22327 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
22328 (Installing GRUB using grub-install): Remove reference to the grub
22329 shell; mention `grub-mkimage' and `grub-setup' instead.
22330 (Invoking grub-install): Likewise.
22331 (Interface): Add reference to `Menu entry editor'.
22332 (serial): Remove `--device' option.
22333
288dd6ed
CW
223342010-06-02 Colin Watson <cjwatson@ubuntu.com>
22335
22336 * docs/grub.texi (Configuration): New section, documenting
22337 configuration file generation using grub-mkconfig. I've left a slot
22338 for documenting the full shell scripting format but have not yet
22339 started on writing that up.
22340 (Invoking grub-mkconfig): New section.
22341
34c9f0e9
CW
223422010-06-02 Colin Watson <cjwatson@ubuntu.com>
22343
22344 * docs/grub.texi (direntry): Remove grub-terminfo reference.
22345 (GNU GRUB manual): Likewise.
22346 (General commands): Update description of `terminfo' for GRUB 2.
22347
9121567e
CW
223482010-06-02 Colin Watson <cjwatson@ubuntu.com>
22349
22350 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
22351 (GRUB_MOD_INIT): Fix capitalisation.
22352 * docs/grub.texi (Command-line and menu entry commands): Document
22353 gettext and gptsync commands.
22354
ab631611
CW
223552010-06-02 Colin Watson <cjwatson@ubuntu.com>
22356
22357 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
22358 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
22359
bde4a9ac
CW
223602010-06-01 Colin Watson <cjwatson@ubuntu.com>
22361
22362 Add btrfs probing support, currently only in the single-device case.
22363
22364 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
22365 function.
22366 (grub_guess_root_device): Call find_root_device_from_mountinfo
22367 before looking in /dev.
22368
b1d17e10
VS
223692010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22370
22371 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
22372 GRUB_DISK_SIZE_UNKNOWN.
22373 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
22374
dfbfe004
JS
223752010-05-31 Jiro SEKIBA <jir@unicus.jp>
22376
22377 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
22378 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
22379 corrupted or not synced properly.
22380
c2ffc8e9
VS
223812010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22382
22383 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
22384 Reported by: Seth Goldberg.
22385
56293166
VS
223862010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22387
22388 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
22389 addition of dest.
22390 Reported by: Seth Goldberg.
22391
7620e7de
VS
223922010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22393
22394 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
22395 Reported by: Seth Goldberg.
22396
c837af3f
VS
223972010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22398
22399 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
22400 64-bit address as signed on MIPS.
22401
c7c75cf4
CW
224022010-05-28 Colin Watson <cjwatson@ubuntu.com>
22403
22404 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
22405 to the empty string.
22406
fa4b8490
BC
224072010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
22408
22409 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
22410
22411 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
22412 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
22413 * kern/misc.c (__enable_execute_stack): Disable on
22414 GRUB_MACHINE_EMU.
22415
a33075b9
CW
224162010-05-28 Colin Watson <cjwatson@ubuntu.com>
22417
22418 Make grub-probe work with symbolic links under /dev/mapper as well
22419 as with real block devices. The Linux world seems to be (at best)
22420 in transition here, and GRUB shouldn't get caught in the middle.
22421
22422 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
22423 /dev/mapper.
22424
d8708134
CW
224252010-05-27 Colin Watson <cjwatson@ubuntu.com>
22426
22427 * util/grub-script-check.c (main): Ensure defined behaviour on empty
22428 input files (in which case exit zero).
22429
db2102a0
CW
224302010-05-27 Colin Watson <cjwatson@ubuntu.com>
22431
22432 * kern/emu/misc.c (canonicalize_file_name): realpath can still
22433 return NULL for various reasons even if it has a maximum-length
22434 buffer: for example, there might be a symlink loop, or the path
22435 might exceed PATH_MAX. If this happens, return NULL.
22436
5fdba519
RM
224372010-05-27 Robert Millan <rmh@gnu.org>
22438
22439 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
22440 partmap module to handle cross-partmap setups.
22441 Reported by Orestes Mas. Gràcies!
22442
d1d368e4
CW
224432010-05-27 Colin Watson <cjwatson@ubuntu.com>
22444
22445 * util/grub-mkrescue.in: Initialise override_dir rather than
22446 assuming that it's unset or empty in the environment.
22447
95ac3c73
GS
224482010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
22449
22450 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
22451 variable index into p_index to suppress a warning with -Wshadow.
22452
7d8c0213
BC
224532010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
22454
22455 * INSTALL: Added flex >= 2.5.35 requirement.
22456
db4d5813
VS
224572010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22458
22459 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
22460
f24f4300
VS
224612010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22462
22463 cmostest support.
22464
22465 * commands/i386/cmostest.c: New file.
22466 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
22467 (cmostest_mod_SOURCES): New variable.
22468 (cmostest_mod_CFLAGS): Likewise.
22469 (cmostest_mod_LDFLAGS): Likewise.
22470 * conf/i386-pc.rmk: Likewise.
22471 * docs/grub.texi (Vendor power-on keys): New section.
22472 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
22473 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
22474 and GRUB_BUTTON_CMOS_ADDRESS.
22475 * util/grub.d/00_header.in: Handle powering-on by separate button.
22476
ad603f61
VS
224772010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22478
22479 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
22480 Removed drawing_scrollbar argument. All users updated
22481 Fixes #29792.
22482 Reported by Jo Shields
22483
3ecb080a
VS
224842010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22485
22486 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
22487 buffer since gfxterm handles double repaint.
22488
5f2316c1
VS
224892010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22490
22491 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
22492 * term/gfxterm.c (real_scroll): Likewise.
22493
9a25f885
VS
224942010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22495
22496 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
22497 before calling BIOS.
22498
39fbb79a
VS
224992010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22500
22501 * include/grub/i18n.h: Always enable grub_gettext.
22502
228cfa97
VS
225032010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22504
22505 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
22506 partition naming style.
22507
21717c8f
CW
225082010-05-21 Colin Watson <cjwatson@ubuntu.com>
22509
22510 * util/grub-mkconfig.in: Fix handling of -o so that it works when
22511 not the first option.
22512
c0f48e65
CW
225132010-05-20 Colin Watson <cjwatson@ubuntu.com>
22514
22515 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
22516
96779aec
CW
225172010-05-20 Colin Watson <cjwatson@ubuntu.com>
22518
22519 * util/misc.c: Move inclusion of <limits.h> to ...
22520 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
22521
fa9d256e
GS
225222010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
22523
22524 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
22525 Fix merge error in NetBSD code.
22526 (find_partition_start) [__NetBSD__]: Likewise.
22527
123b7a85
BC
225282010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
22529
22530 Fix grub-mkrescue usage unit testing.
22531
22532 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
22533
74276c0d
CF
225342010-05-18 Christian Franke <franke@computer.org>
22535
22536 * util/grub.d/10_windows.in: Use path names instead of
22537 drive letters to prevent warning from Cygwin 1.7.
22538 Add drivemap command to menuentry if needed.
22539
c4f7b523
ST
225402010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
22541
22542 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
22543 gnumach and gnumach.gz.
22544
95b97950
VS
225452010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22546
22547 * include/grub/i18n.h (gettext): Inline instead of using #define.
22548 (grub_gettext): Likewise.
22549 (_): Likewise.
22550
01b8d2d7
VS
225512010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22552
22553 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
22554 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
22555 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
22556 (main): Add a slash after pkglibdirroot.
22557
654e1d1e
VS
225582010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22559
22560 * util/grub-install.in: Add missing "in" keyword.
22561
26966aeb
VS
225622010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22563
22564 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
22565 Reported by: Seth Goldberg.
22566
75006747
VS
225672010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22568
22569 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
22570
74cbf5bd
CW
225712010-05-18 Colin Watson <cjwatson@ubuntu.com>
22572
22573 * configure.ac: Check for Linux device-mapper support.
22574
22575 * util/hostdisk.c (device_is_mapped): New function.
22576 (find_partition_start): New function, partly broken out from
22577 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
22578 device-mapper support added.
22579 (linux_find_partition): Use find_partition_start.
22580 (convert_system_partition_to_system_disk): Add `st' argument.
22581 Support Linux /dev/mapper/* devices if device-mapper support is
22582 available; only DM-RAID devices are understood at present.
22583 (find_system_device): Add `st' argument. Pass it to
22584 convert_system_partition_to_system_disk.
22585 (grub_util_biosdisk_get_grub_dev): Pass stat result to
22586 find_system_device and convert_system_partition_to_system_disk. Use
22587 find_partition_start.
22588
22589 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
22590 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
22591 * util/deviceiter.c [__linux__]: Define MINOR.
22592 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
22593 * util/mkdevicemap.c (grub_putchar): New function.
22594 (grub_getkey): New function.
22595 (grub_refresh): New function.
22596 (main): Set debug=all if -v -v is used.
22597
355b51e9
CW
225982010-05-18 Colin Watson <cjwatson@ubuntu.com>
22599
22600 Fix build with non-GNU libcs.
22601
22602 * util/misc.c (canonicalize_file_name): Move to ...
22603 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
22604 grub_make_system_path_relative_to_its_root.
22605
7fb5c25f
CW
226062010-05-18 Colin Watson <cjwatson@ubuntu.com>
22607
22608 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
22609 we handle finding grub-mkimage. Default to finding grub-mkimage in
22610 ${bindir} with program_transform_name applied, and provide a
22611 --grub-mkimage option to override this.
22612
1d3293d6
VS
226132010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22614
22615 Remove grub-mkisofs.
22616
22617 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
22618 (grub_mkisofs_SOURCES): Removed.
22619 (grub_mkisofs_CFLAGS): Removed.
22620 * util/mkisofs/defaults.h: Removed.
22621 * util/mkisofs/eltorito.c: Likewise.
22622 * util/mkisofs/exclude.h: Likewise.
22623 * util/mkisofs/hash.c: Likewise.
22624 * util/mkisofs/include/: Likewise.
22625 * util/mkisofs/include/fctldefs.h: Likewise.
22626 * util/mkisofs/include/mconfig.h: Likewise.
22627 * util/mkisofs/include/prototyp.h: Likewise.
22628 * util/mkisofs/include/statdefs.h: Likewise.
22629 * util/mkisofs/iso9660.h: Likewise.
22630 * util/mkisofs/joliet.c: Likewise.
22631 * util/mkisofs/match.c: Likewise.
22632 * util/mkisofs/match.h: Likewise.
22633 * util/mkisofs/mkisofs.c: Likewise.
22634 * util/mkisofs/mkisofs.h: Likewise.
22635 * util/mkisofs/msdos_partition.h: Likewise.
22636 * util/mkisofs/multi.c: Likewise.
22637 * util/mkisofs/name.c: Likewise.
22638 * util/mkisofs/rock.c: Likewise.
22639 * util/mkisofs/tree.c: Likewise.
22640 * util/mkisofs/write.c: Likewise.
22641
5dde9afe
VS
226422010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22643
22644 Unify grub-mkimage accross platforms.
22645
22646 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
22647 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
22648 (grub_mkelfimage_SOURCES): Removed.
22649 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
22650 (util/grub-mkimage.c_DEPENDENCIES): .. this.
22651 (bin_UTILITIES): Add grub-mkimage.
22652 (grub_mkimage_SOURCES): New variable.
22653 (kernel_img_HEADERS): Remove machine/kernel.h.
22654 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
22655 (pkglib_PROGRAMS): Add kernel.img.
22656 (kernel_img_HEADERS): Add machine/kernel.h.
22657 (kernel_img_FORMAT): Removed.
22658 (bin_UTILITIES): Remove grub-mkimage.
22659 (grub_mkimage_SOURCES): Removed.
22660 (grub_mkimage_CFLAGS): Likewise.
22661 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22662 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
22663 (pkglib_PROGRAMS): Add kernel.img.
22664 (bin_UTILITIES): Remove grub-mkimage.
22665 (grub_mkimage_SOURCES): Removed.
22666 (grub_mkimage_CFLAGS): Likewise.
22667 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22668 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
22669 (pkglib_PROGRAMS): Add kernel.img.
22670 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
22671 (pkglib_PROGRAMS): Add kernel.img.
22672 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
22673 (grub_mkimage_SOURCES): Removed.
22674 (grub_mkimage_CFLAGS): Likewise.
22675 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22676 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
22677 (pkglib_PROGRAMS): Add kernel.img.
22678 (bin_UTILITIES): Remove grub-mkimage.
22679 (grub_mkimage_SOURCES): Removed.
22680 (grub_mkimage_CFLAGS): Likewise.
22681 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22682 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
22683 (grub_mkimage_SOURCES): Removed.
22684 (grub_mkimage_CFLAGS): Likewise.
22685 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22686 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
22687 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
22688 (grub_pe32_optional_header): ... this.
22689 (grub_pe64_optional_header): ... and this. All users updated.
22690 (GRUB_PE32_PE32_MAGIC): Split into ..
22691 (GRUB_PE32_PE32_MAGIC): .. this.
22692 (GRUB_PE32_PE64_MAGIC): .. and this.
22693 (GRUB_PE32_SIGNATURE_SIZE): New definition.
22694 * include/grub/elf.h (PT_GNU_STACK): New definition.
22695 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
22696 * include/grub/i386/efi/kernel.h: Likewise.
22697 * include/grub/i386/kernel.h: Likewise.
22698 * include/grub/i386/pc/kernel.h: Likewise.
22699 * include/grub/i386/qemu/boot.h: Likewise.
22700 * include/grub/mips/kernel.h: Likewise.
22701 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22702 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22703 * include/grub/powerpc/kernel.h: Likewise.
22704 * include/grub/sparc64/ieee1275/boot.h: Likewise.
22705 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22706 * include/grub/sparc64/kernel.h: Likewise.
22707 * include/grub/x86_64/efi/kernel.h: Likewise.
22708 * include/grub/x86_64/kernel.h: Likewise.
22709 * include/grub/offsets.h: New file.
22710 * include/grub/kernel.h (grub_module_info): Split into ...
22711 (grub_module_info32): ... this.
22712 (grub_module_info64): ... and this.
22713 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
22714 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
22715 (grub_boot_blocklist): Moved from here ...
22716 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
22717 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
22718 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
22719 * include/grub/types.h (grub_target_to_host16): Removed.
22720 (grub_target_to_host32): Likewise.
22721 (grub_target_to_host64): Likewise.
22722 (grub_host_to_target16): Likewise.
22723 (grub_host_to_target32): Likewise.
22724 (grub_host_to_target64): Likewise.
22725 (grub_host_to_target_addr): Likewise.
22726
22727 Support grub-mkrescue for efi, coreboot and qemu.
22728
22729 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
22730 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
22731 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
22732 * util/grub-mkrawimage.c: Moved from here ...
22733 * util/grub-mkimage.c: ... here. All users updated.
22734 (ALIGN_ADDR): Use image_target.
22735 (TARGET_NO_FIELD): New const.
22736 (image_target_desc): New type.
22737 (image_targets): New array.
22738 (grub_target_to_host64): Use image_target.
22739 (grub_target_to_host32): Likewise.
22740 (grub_target_to_host16): Likewise.
22741 (grub_host_to_target64): Likewise.
22742 (grub_host_to_target32): Likewise.
22743 (grub_host_to_target16): Likewise.
22744 (grub_host_to_target_addr): Likewise.
22745 (generate_image): Handle multiimage.
22746 (main): Require -O parameter. All users updated.
22747 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
22748 util/efi/grub-mkimage.c
22749 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
22750 New option --rom-directory.
22751 Use xorriso.
22752 * util/i386/efi/grub-mkimage.c: Removed.
22753 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
22754 (grub_target_to_host32): Likewise.
22755 (grub_target_to_host64): Likewise.
22756 (grub_host_to_target16): Likewise.
22757 (grub_host_to_target32): Likewise.
22758 (grub_host_to_target64): Likewise.
22759 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
22760 (grub_target_to_host32): Likewise.
22761 (grub_target_to_host64): Likewise.
22762 (grub_host_to_target16): Likewise.
22763 (grub_host_to_target32): Likewise.
22764 (grub_host_to_target64): Likewise.
22765
f4fc97d0
BC
227662010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
22767
22768 Source tree is reorganized for emu build.
22769
22770 * include/grub/util/console.h: Move from here...
22771 * include/grub/emu/console.h: ...to here.
22772 * include/grub/util/getroot.h: Move from here...
22773 * include/grub/emu/getroot.h: ...to here.
22774 * include/grub/util/hostdisk.h: Move from here...
22775 * include/grub/emu/hostdisk.h: ...to here.
22776 * util/console.c: Move from here...
22777 * kern/emu/console.c: ...to here.
22778 * util/getroot.c: Move from here...
22779 * kern/emu/getroot.c: ...to here.
22780 * util/grub-emu.c: Move from here...
22781 * kern/emu/main.c: ...to here.
22782 * util/hostdisk.c: Move from here...
22783 * kern/emu/hostdisk.c: ...to here.
22784 * util/hostfs.c: Move from here...
22785 * kern/emu/hostfs.c: ...to here.
22786 * util/mm.c: Move from here...
22787 * kern/emu/mm.c: ...to here.
22788 * util/pci.c: Move from here...
22789 * bus/emu/pci.c: ...to here.
22790 * util/sdl.c: Move from here...
22791 * video/emu/sdl.c: ...to here.
22792 * util/time.c: Move from here...
22793 * kern/emu/time.c: ...to here.
22794 * util/usb.c: Move from here...
22795 * bus/usb/emu/usb.c: ...to here.
22796
22797 * include/grub/emu/misc.h: New header for grub-emu functions.
22798 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
22799
22800 * conf/any-emu.rmk: Rule updates for above renames.
22801 * conf/common.rmk: Likewise.
22802 * conf/i386-pc.rmk: Likewise.
22803 * conf/i386-qemu.rmk: Likewise.
22804 * conf/mips.rmk: Likewise.
22805 * conf/sparc64-ieee1275.rmk: Likewise.
22806 * conf/x86-efi.rmk: Likewise.
22807
22808 * disk/lvm.h: #include updates for above renames.
22809 * util/grub-mkrelpath.c: Likewise.
22810 * util/grub-probe.c: Likewise.
22811 * util/i386/pc/grub-setup.c: Likewise.
22812 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22813 * kern/emu/console.c: Likewise.
22814 * kern/emu/getroot.c: Likewise.
22815 * kern/emu/hostdisk.c: Likewise.
22816 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
22817
22818 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
22819 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
22820 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
22821 * util/misc.c: Remove grub-emu functions.
22822
cced9145
VS
228232010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
22824
22825 Fix gfxmenu crash.
22826 Reported by: Thorsten Grützmacher.
22827
22828 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
22829 timeout hook.
22830 (circprog_set_property): Register and unregister timeout hook.
22831 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
22832 (label_destroy): Free template. and unregister hook.
22833 (label_set_state): New function.
22834 (label_set_property): Handle templates and hooks.
22835 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
22836 timeout hook.
22837 (progress_bar_set_property): Register and unregister timeout hook.
22838 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
22839 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
22840 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
22841 (update_timeout_visit): Removed.
22842 (update_timeouts): New function.
22843 (redraw_timeouts): Likewise.
22844 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
22845 (grub_gfxmenu_clear_timeout): Likewise.
22846 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
22847 (grub_gfxmenu_timeout_notify): Likewise.
22848 (grub_gfxmenu_timeout_notifications): New external variable.
22849 (grub_gfxmenu_timeout_register): New function.
22850 (grub_gfxmenu_timeout_unregister): Likewise.
22851
c6e5caab
VS
228522010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22853
22854 Transform (broken) vga terminal into (working) vga video driver.
22855
22856 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
22857 video/i386/pc/vga.c.
22858 * include/grub/video.h (grub_video_driver_id):
22859 Add GRUB_VIDEO_DRIVER_VGA.
22860 * term/i386/pc/vga.c: Renamed to ...
22861 * video/i386/pc/vga.c: ...this
22862 (DEBUG_VGA): Removed.
22863 (CHAR_WIDTH): Likewise.
22864 (CHAR_HEIGHT): Likewise.
22865 (TEXT_WIDTH): Likewise.
22866 (TEXT_HEIGHT): Likewise.
22867 (DEFAULT_FG_COLOR): Likewise.
22868 (DEFAULT_BG_COLOR): Likewise.
22869 (colored_char): Likewise.
22870 (xpos): Likewise.
22871 (ypos): Likewise.
22872 (cursor_state): Likewise.
22873 (fg_color): Likewise.
22874 (bg_color): Likewise.
22875 (text_buf): Likewise.
22876 (page): Likewise.
22877 (font): Likewise.
22878 (framebuffer): New variable.
22879 (set_read_map): Disabled.
22880 (setup): New variable.
22881 (is_target): Likewise.
22882 (grub_vga_mod_init): Likewise.
22883 (grub_vga_mod_fini): Likewise.
22884 (check_vga_mem): Likewise.
22885 (write_char): Likewise.
22886 (write_cursor): Likewise.
22887 (scroll_up): Likewise.
22888 (grub_vga_putchar): Likewise.
22889 (grub_vga_getcharwidth): Likewise.
22890 (grub_vga_getwh): Likewise.
22891 (grub_vga_getxy): Likewise.
22892 (grub_vga_gotoxy): Likewise.
22893 (grub_vga_cls): Likewise.
22894 (grub_vga_setcolorstate): Likewise.
22895 (grub_vga_setcursor): Likewise.
22896 (grub_video_vga_init): New function.
22897 (grub_video_vga_setup): Likewise.
22898 (grub_video_vga_fini): Likewise.
22899 (update_target): Likewise.
22900 (grub_video_vga_blit_bitmap): Likewise.
22901 (grub_video_vga_blit_render_target): Likewise.
22902 (grub_video_vga_set_active_render_target): Likewise.
22903 (grub_video_vga_get_active_render_target): Likewise.
22904 (grub_video_vga_swap_buffers): Likewise.
22905 (grub_video_vga_set_palette): Likewise.
22906 (grub_video_vga_get_info_and_fini): Likewise.
22907 (grub_vga_term): Removed.
22908 (grub_video_vga_adapter): New variable.
22909 (GRUB_MOD_INIT): Register a video driver instead of terminal.
22910 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
22911
2bf61a98
VS
229122010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22913
22914 * video/readers/jpeg.c: Indented.
22915
09ddcd11
VS
229162010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22917
22918 Various jpeg cleanups.
22919
22920 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
22921 (grub_jpeg_decode_quan_table): Use sizeof.
22922 (grub_jpeg_decode_du): Use ARRAY_SIZE.
22923
e5507505
PH
229242010-05-05 Peter Hurley <No e-mail available> (tiny change)
22925
22926 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
22927 tables. Ignore non-last ac bit.
22928 (grub_jpeg_decode_quan_table): Likewise.
22929
7e720a9b
VS
229302010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22931
22932 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
22933 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
22934 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22935 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
22936 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
22937 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
22938
a7fc080b
VS
229392010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22940
22941 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
22942 error.
22943
2bf6012d
VS
229442010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22945
22946 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
22947
265d68cd
VS
229482010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22949
22950 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
22951 condition.
22952
229532010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
22954
22955 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
22956 part.
22957
265d68cd 229582010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
22959
22960 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
22961 pointers.
22962
265d68cd 229632010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
22964
22965 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
22966
d1b61374
CF
229672010-05-01 Christian Franke <franke@computer.org>
22968
22969 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
22970 Remove broken Cygwin path conversion.
22971 * util/misc.c: [__CYGWIN__] Add include and define.
22972 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
22973 for Cygwin 1.7.
22974 (make_system_path_relative_to_its_root): Simplify loop, replace early
22975 return by break.
22976 [__CYGWIN__] Add conversion to win32 path.
22977 Include "/" case in trailing slash removal.
22978
3558c6e9
VS
229792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22980
22981 * kern/main.c (grub_load_config): Fix copy-pasted comment.
22982 Reported by: Seth Goldberg
22983
f5f3ff93
VS
229842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22985
22986 * commands/help.c (grub_cmd_help): Fix a typo.
22987 Reported by: Seth Goldberg
22988
d8b5cd40
VS
229892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22990
22991 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
22992 name and add N_.
22993 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
22994 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
22995 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
22996 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
22997 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
22998 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
22999 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23000 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23001 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23002 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23003 * normal/context.c (GRUB_MOD_INIT): Likewise.
23004 * normal/main.c (GRUB_MOD_INIT): Likewise.
23005 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23006 * term/serial.c (GRUB_MOD_INIT): Likewise.
23007 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23008
88c14915
VS
230092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23010
23011 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
23012 extra == 0.
23013
165134bc
VS
230142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23015
23016 * commands/iorw.c: New file.
23017 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
23018 (iorw_mod_SOURCES): New variable.
23019 (iorw_mod_CFLAGS): Likewise.
23020 (iorw_mod_LDFLAGS): Likewise.
23021
c5ac9b32
VS
230222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23023
23024 Hotkey support
23025
23026 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
23027 * normal/main.c (hotkey_aliases): New variable.
23028 (grub_normal_add_menu_entry): Parse "--hotkey".
23029 * normal/menu_text.c (run_menu): Handle hotkeys.
23030
ce60689c
VS
230312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23032
23033 * kern/i386/coreboot/init.c (grub_machine_init): Call
23034 grub_machine_mmap_init on qemu.
23035
0359d006
VS
230362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23037
23038 * boot/i386/qemu/boot.S: Add a missing .code16.
23039
7819a456
VS
230402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23041
23042 Use LBIO on coreboot.
23043
23044 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
23045 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
23046 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
23047 New declaration.
23048 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
23049 grub_machine_mmap_init on coreboot.
23050 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
23051 GRUB_LINUXBIOS_MEMBER_LINK.
23052 (grub_machine_mmap_iterate): Fix declaration.
23053 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
23054
7210dca9
VS
230552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23056
23057 Split coreboot and multiboot ports.
23058
23059 * conf/i386-multiboot.rmk: New file.
23060 * configure.ac: Add multiboot port.
23061 * include/grub/i386/multiboot/boot.h: New file.
23062 * include/grub/i386/multiboot/console.h: Likewise.
23063 * include/grub/i386/multiboot/init.h: Likewise.
23064 * include/grub/i386/multiboot/kernel.h: Likewise.
23065 * include/grub/i386/multiboot/loader.h: Likewise.
23066 * include/grub/i386/multiboot/memory.h: Likewise.
23067 * include/grub/i386/multiboot/serial.h: Likewise.
23068 * include/grub/i386/multiboot/time.h: Likewise.
23069 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
23070 * loader/multiboot.c: Likewise.
23071 * loader/multiboot_mbi2.c: Likewise.
23072 * util/grub-mkrescue.in: Generate multiboot rescue.
23073
6f8aaf68
VS
230742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23075
3080f7a7
VS
23076 * kern/parser.c (grub_parser_execute): Cope with read-only config.
23077
230782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23079
23080 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
23081
23082 * commands/terminal.c (abstract_terminal): New struct.
23083 (handle_command): New function. Based on grub_cmd_terminal_input.
23084 (grub_cmd_terminal_input): Use handle_command.
23085 (grub_cmd_terminal_output): Use handle_command.
23086
a8ebb841
BC
230872010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
23088
23089 Fix comment handling.
23090
23091 * tests/grub_script_comments.in: New testcase.
23092 * conf/tests.rmk: Rules for new testcase.
23093 * script/yylex.l: Updated flex rules.
23094
bb06ba08
ST
230952010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
23096
23097 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
23098 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
23099 if argc is 1.
bb06ba08 23100
cc9d2425
VS
231012010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23102
23103 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
23104 autogen issues.
23105
460d8402
CF
231062010-04-26 Christian Franke <franke@computer.org>
23107
23108 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
23109 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
23110 (grub_get_prefix): Remove function.
23111 * util/grub-emu.c (main): Replace grub_get_prefix () call by
23112 make_system_path_relative_to_its_root ().
23113 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23114
553c01f9
CF
231152010-04-24 Christian Franke <franke@computer.org>
23116
23117 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
23118 (kernel_img_LDFLAGS): Remove -static-libgcc.
23119
2aec1692
CF
231202010-04-24 Christian Franke <franke@computer.org>
23121
23122 * configure.ac: Do not CHECK_BSS_START_SYMBOL
23123 and CHECK_END_SYMBOL if grub-emu is built.
23124 Unset TARGET_OBJ2ELF if grub-emu is built
23125 without module support.
23126
f67dc308
JS
231272010-04-24 Jiro SEKIBA <jir@unicus.jp>
23128
23129 Nilfs2 support.
23130
23131 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
23132 (grub_fstest_SOURCES): Likewise.
23133 (pkglib_MODULES): Add nilfs2.mod.
23134 (nilfs2_mod_SOURCES): New variable.
23135 (nilfs2_mod_CFLAGS): Likewise.
23136 (nilfs2_mod_LDFLAGS): Likewise.
23137 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23138 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23139 * fs/nilfs2.c: New file.
23140
4ba8d354
VS
231412010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
23142
23143 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
23144 is not supported.
23145
0d2c20c6
GS
231462010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
23147
23148 Add grub-mkconfig support for NetBSD.
23149
23150 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
23151 * util/grub-mkconfig.in: export new NetBSD specific variables.
23152 * po/POTFILES-shell: added 10_netbsd.in.
23153 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
23154
bc4a2d83
BC
231552010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
23156
23157 Fix emu build with grub-emu-pci and grub-emu-modules.
23158
23159 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
23160 functions.
23161 * include/grub/libpciaccess.h: New file.
23162 * conf/any-emu.rmk: Update kernel headers for emu build.
23163
f48c87aa
VS
231642010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23165
23166 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
23167
18959385
VS
231682010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23169
23170 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
23171
0037de3f
VS
231722010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23173
23174 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
23175 Retrieve chosen/bootpath if bootpath isn't hardcoded.
23176 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
23177 util/ieee1275/ofpath.c.
23178 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
23179 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
23180 * include/grub/sparc64/ieee1275/boot.h
23181 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
23182 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
23183 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
23184 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
23185 const char *.
23186 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
23187 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
23188 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
23189 install.
23190
38e55e90
GS
231912010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
23192
23193 * util/grub-mkconfig.in: Corrected two == equality tests.
23194 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
23195 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
23196 expect a number appended to it.
23197 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
23198 expects a number appended to it.
23199
a9e6ff28
VS
232002010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23201
23202 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
23203
0b830b8f
VS
232042010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23205
23206 * util/hostdisk.c (make_device_name): Change to new partition naming.
23207
0973daeb
VS
232082010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
23209
23210 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
23211
460d8402 232122010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
23213
23214 * Makefile.in: Add missing localedir setting.
23215
0b456309
CW
232162010-04-14 Colin Watson <cjwatson@ubuntu.com>
23217
23218 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
23219 mistake in r2156. Noticed by Anthony Fok.
23220
23221 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
23222 @localedir@.
23223 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23224
08f46d62
BC
232252010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
23226
23227 Fix a spurious, uninitialized variable warning.
23228
23229 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
23230 Initialize variable, shdr.
23231 (grub_freebsd_load_elfmodule): Likewise.
23232 (grub_freebsd_load_elf_meta): Likewise.
23233
8c4a72d4
BC
232342010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
23235
23236 Fix for escaped dollar in double quoted strings.
23237
23238 * script/yylex.l: Updated flex rules.
23239 * conf/tests.rmk: Rule for new testcase.
23240 * tests/grub_script_dollar.in: New testcase.
23241
ce44826e
CPE
232422010-04-13 Carles Pina i Estany <carles@pina.cat>
232432010-04-13 Colin Watson <cjwatson@ubuntu.com>
23244
23245 Enclose all translated strings in grub.cfg in single quotes, and
23246 escape them appropriately (Ubuntu bug #552921).
23247
23248 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
23249 * util/grub.d/10_hurd.in: Use it.
23250 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23251 * util/grub.d/10_linux.in (linux_entry): Likewise.
23252
4b0cd8f8
VS
232532010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23254
23255 Fix cygwin compilation.
23256
23257 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
23258 * include/grub/misc.h (__register_frame_info)
23259 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
23260 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23261 * kern/misc.c (__register_frame_info)
23262 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
23263 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23264
01fcf061
VS
232652010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23266
23267 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
23268
5d04b11e
VS
232692010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23270
23271 Unify libgcc processing.
23272
23273 * Makefile.in (kernel_img_LDFLAGS): New variable.
23274 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
23275 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
23276 overwriting.
23277 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
23278 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
23279 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
23280 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
23281 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
23282 overwriting. Remove -lgcc and -static-libgcc
23283 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
23284 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23285 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23286 (kernel_img_LDFLAGS): Append instead of overwriting.
23287 Remove -lgcc and -static-libgcc
23288 * conf/sparc64-ieee1275.rmk: Likewise.
23289 * include/grub/powerpc/libgcc.h: Move to ...
23290 * include/grub/libgcc.h: .. this.
23291 * include/grub/libgcc.h: Don't export most of the function on x86.
23292 (__bswapsi2): New export.
23293 (__bswapdi2): Likewise.
23294 * include/grub/mips/libgcc.h: Removed.
23295 * include/grub/sparc64/libgcc.h: Likewise.
23296
b7f3ac29
VS
232972010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23298
23299 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
23300 disk_info_msg (conflicts with gettexting into languages with cases).
23301
2c7031b1
GS
233022010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
23303
23304 Add grub-probe support for NetBSD.
23305
23306 * util/getroot.c (find_root_device): Convert block device to
23307 character device on NetBSD.
23308 * util/probe.c (probe): Require character device on NetBSD.
23309 * util/hostdisk.c: NetBSD specific headers.
23310 (configure_device_driver): new function to tune device driver
23311 parameters (currently only for NetBSD floppy driver).
23312 (grub_util_biosdisk_open): NetBSD specific code (get disk size
23313 via disklabel ioctl).
23314 (open_device): call configure_device_driver on NetBSD.
23315 (convert_system_partition_to_system_disk): NetBSD specific code.
23316 (device_is_wholedisk): Likewise.
23317 (grub_util_biosdisk_get_grub_dev): Likewise.
23318 (make_device_name): Fixed a typo in bsd_part_str.
23319 * configure.ac: check for opendisk() and getrawpartition() on
23320 NetBSD and set LIBUTIL.
23321 * Makefile.in: add LIBUTIL to LIBS.
23322
f516290c
BC
233232010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
23324
23325 Documentation fix.
23326
23327 * util/grub-script-check.c: Better help message.
23328
d8dcc0df
BC
233292010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
23330
23331 Fix FreeBSD build.
23332
23333 * configure.ac: Flex version check.
23334 * conf/common.rmk: Add -Wno-error to sh.mod.
23335 * script/yylex.l: Remove all #pragma.
23336
6734334a
VS
233372010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23338
23339 * include/grub/util/misc.h (canonicalise_file_name): Add missing
23340 prototype.
23341 Reported by: Seth Goldberg.
23342
daea6abd
VS
233432010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23344
23345 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
23346 Rename "module" to "module2".
23347 Reported by: Seth Goldberg.
23348
f2fd9d2b
VS
233492010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23350
23351 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
23352 EXPORT_FUNC.
23353 Reported by: Seth Goldberg.
23354
be124579
VS
233552010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23356
23357 * lib/posix_wrap/locale.h: Add missing file.
23358 Reported by: Seth Goldberg.
23359
ef5da797
VS
233602010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23361
23362 grub-emu module load support.
23363
23364 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
23365 NO_DYNAMIC_MODULES switched to this.
23366 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
23367 (CFLAGS): Likewise.
23368 * conf/any-emu.rmk: Generate symlist.
23369 (kernel_img_HEADERS): Add util/datetime.h.
23370 (kernel_img_HEADERS) [sdl]: Add sdl.h.
23371 (kernel_img_HEADERS) [libusb]: Add libusb.h.
23372 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
23373 kern/$(target_cpu)/cache.S.
23374 * configure.ac (grub-emu-modules): New option.
23375 * genmk.rb: Handle multiple source lists.
23376 * include/grub/sdl.h: New file.
23377 * include/grub/libusb.h: Likewise.
23378 * util/grub-emu.c (main): Hanle (host) root.
23379 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
23380 GRUB_ERR_UNKNOWN_DEVICE.
23381 * util/misc.c: Move mm functions to ...
23382 * util/mm.c: ... here. All users updated.
23383
47822096
VS
233842010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23385
23386 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
23387 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
23388 missing files.
23389 (maintainer-clean): Remove libgcrypt-grub.
23390
5d7e7445
VS
233912010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23392
23393 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
23394
25f4e252
EC
233952010-04-09 EFI Coder <eficoder@hotmail.com>
23396
23397 * normal/menu_text.c (print_message): Clean up the message and show
23398 the Fn information when on EFI
23399 * term/efi/console.c (grub_console_checkkey): Add F4 support.
23400
027de555
VS
234012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23402
23403 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
23404 All users updated.
23405 * normal/crypto.c (read_crypto_list): Likewise.
23406 * normal/dyncmd.c (read_command_list): Likewise.
23407 * normal/term.c (read_terminal_list): Likewise.
23408 * normal/main.c (read_lists): Use explicit prefix.
23409 (read_lists_hook): Use read_lists.
23410 (grub_normal_execute): Likewise.
23411
47779711
VS
234122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23413
23414 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
23415 Reported by: Thomas Schmitt.
23416 Add -no-emul-boot to grub-mkisofs parameters.
23417
1118c32e
VS
234182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23419
23420 * font/font.c: Indented.
23421
7d652447
BC
234222010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
23423
23424 Elif support to GRUB script (by Deepak Vankadaru).
23425
23426 * tests/grub_script_if.in: New testcase.
23427 * conf/tests.rmk: Rule for new testcase.
23428 * script/parser.y: Grammar rules for elif.
23429
34bb22df
BC
234302010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
23431
23432 While and until loops support to GRUB script.
23433
23434 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
23435 (grub_script_create_cmdwhile): New function prototype.
23436 (grub_script_execute_cmdwhile): New function prototype.
23437 * script/execute.c (grub_script_execute_cmdwhile): New function.
23438 * script/parser.y (command): New commands.
23439 (whilecmd): New grammar rule.
23440 (untilcmd): New grammar rule.
23441 * script/script.c (grub_script_create_cmdwhile): New function.
23442 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
23443 function.
23444
23445 * tests/grub_script_while1.in: New testcase.
23446 * conf/tests.rmk: Rule for new testcase.
23447
e215d8e0
VS
234482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23449
23450 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
23451 as *.jpg.
23452
d7c43ba1
MV
234532010-04-09 Mario Vazquez <mariovazq@gmail.com>
23454
23455 GRUB_BACKGROUND support.
23456
23457 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
23458 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
23459
d64795c0
VS
234602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23461
23462 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 23463 Idea by: Mario Vazquez
d64795c0
VS
23464
23465 * util/grub.d/00_header.in: Load pf2 and image modules.
23466
f267f83a
VS
234672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23468
23469 grub-mkconfig multiple terminal support.
23470
23471 * util/grub-mkconfig.in: Handle multiple terminals correctly.
23472 * util/grub.d/00_header.in: Likewise.
23473
b7841ceb
VS
234742010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23475
23476 * Makefile.in: Specify files explicitly instead of using $< and $@ since
23477 we use cd $(srcdir).
23478
df60998c
CW
234792010-04-08 Colin Watson <cjwatson@ubuntu.com>
23480
23481 * util/grub.d/10_linux.in: Only use the first word of
23482 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
23483 spaces in GRUB_DISTRIBUTOR.
23484 * util/grub.d/10_kfreebsd.in: Likewise.
23485 * util/grub.d/10_hurd.in: Likewise.
23486
fa09c82e
BC
234872010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
23488
14e18ae3 23489 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
23490
23491 * tests/util/grub-shell.in: Remove -serial stdio option.
23492
daf892b3
BC
234932010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
23494
23495 POSIX header file wrappers.
23496
23497 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
23498 equivalents.
23499 * lib/posix_wrap/ctype.h: Likewise.
23500 * lib/posix_wrap/errno.h: Likewise.
23501 * lib/posix_wrap/langinfo.h: Likewise.
23502 * lib/posix_wrap/limits.h: Likewise.
23503 * lib/posix_wrap/localcharset.h: Likewise.
23504 * lib/posix_wrap/stdint.h: Likewise.
23505 * lib/posix_wrap/stdio.h: Likewise.
23506 * lib/posix_wrap/stdlib.h: Likewise.
23507 * lib/posix_wrap/string.h: Likewise.
23508 * lib/posix_wrap/sys/types.h: Likewise.
23509 * lib/posix_wrap/unistd.h: Likewise.
23510 * lib/posix_wrap/wchar.h: Likewise.
23511 * lib/posix_wrap/wctype.h: Likewise.
23512 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
23513 (grub_script.yy.h): Likewise.
23514 * script/yylex.l: Remove POSIX emulation #defines.
23515 * Makefile.in (POSIX_CFLAGS): New variable.
23516 (GNULIB_UTIL_CFLAGS): Likewise.
23517
23518 Regexp support.
23519
23520 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
23521 (regexp_mod_SOURCES): New variable.
23522 (regexp_mod_CFLAGS): Likewise.
23523 (regexp_mod_LDFLAGS): Likewise.
23524 * commands/regexp.c: New file.
23525 * gnulib/regcomp.c: New file. Imported from gnulib.
23526 * gnulib/regex.c: Likewise.
23527 * gnulib/regex_internal.c: Likewise.
23528 * gnulib/regex_internal.h: Likewise.
23529 * gnulib/regexec.c: Likewise.
23530 * gnulib/regex.h: Likewise.
23531
974ac4f7
VS
235322010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23533
23534 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
23535 unsupported video mode types.
23536
2622c3ff
VS
235372010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23538
23539 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
23540
064cb524
VS
235412010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23542
23543 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
23544 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
23545
a8c3b552
VS
235462010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23547
23548 Remove unused grub_vga_get_font.
23549
23550 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
23551 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
23552
187bbe3d
GS
235532010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23554
23555 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
23556 * include/grub/misc.h: Likewise.
23557
b9396631
GS
235582010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23559
23560 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
23561 for which failure is fatal.
23562
50479feb
GS
235632010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23564
23565 * util/grub-install.in: Use mkdir -p to create grub directory.
23566 * util/i386/efi/grub-install.in: Likewise.
23567 * util/ieee1275/grub-install.in: Likewise.
23568
b1654fdf
GS
235692010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23570
23571 * Makefile.in (LEX): new variable.
23572
bd5a6415
GS
235732010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23574
23575 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
23576 `=' and added double quotes on operands of this equality test.
23577
3db3a82b
VS
235782010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
23579
23580 * Makefile.in (uninstall): Remove a leftover debug echo.
23581 Reported by: Grégoire Sutre
23582
38023412
VS
235832010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
23584
23585 MIPS multiboot2 support.
23586
23587 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
23588 (multiboot2_mod_SOURCES): New variable.
23589 (multiboot2_mod_CFLAGS): Likewise.
23590 (multiboot2_mod_LDFLAGS): Likewise.
23591 (multiboot2_mod_ASFLAGS): Likewise.
23592 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
23593 definition.
23594 (MULTIBOOT_ENTRY_REGISTER): Likewise.
23595 (MULTIBOOT_MBI_REGISTER): Likewise.
23596 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
23597 (MULTIBOOT_ELF32_MACHINE): Likewise.
23598 (MULTIBOOT_ELF64_MACHINE): Likewise.
23599 * include/grub/mips/multiboot.h: New file.
23600 * include/grub/video.h (grub_video_driver_id): New type
23601 GRUB_VIDEO_DRIVER_SM712.
23602 (grub_video_get_info_and_fini): Export.
23603 (grub_video_get_palette): Likewise.
23604 (grub_video_get_driver_id): Likewise.
23605 * include/multiboot2.h: Resynced with spec.
23606 * loader/i386/multiboot.c: Moved from here ...
23607 * loader/multiboot.c: ... here. All users updated.
23608 (grub_multiboot_boot): Use platform-specific macros.
23609 * loader/i386/multiboot_elfxx.c: Moved from here ...
23610 * loader/multiboot_elfxx.c: ... here. All users updated.
23611 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
23612 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
23613 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
23614
47674667
VS
236152010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
23616
23617 Import gnulib argp module.
23618
23619 * gnulib/argp-ba.c: New file.
23620 * gnulib/argp-eexst.c: Likewise.
23621 * gnulib/argp-fmtstream.c: Likewise.
23622 * gnulib/argp-fmtstream.h: Likewise.
23623 * gnulib/argp-fs-xinl.c: Likewise.
23624 * gnulib/argp-help.c: Likewise.
23625 * gnulib/argp-namefrob.h: Likewise.
23626 * gnulib/argp-parse.c: Likewise.
23627 * gnulib/argp-pin.c: Likewise.
23628 * gnulib/argp-pv.c: Likewise.
23629 * gnulib/argp-pvh.c: Likewise.
23630 * gnulib/argp-version-etc.c: Likewise.
23631 * gnulib/argp-version-etc.h: Likewise.
23632 * gnulib/argp-xinl.c: Likewise.
23633 * gnulib/argp.h: Likewise.
23634
495442ed
VS
236352010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
23636
23637 * kern/device.c (grub_device_iterate): Clear errors after failed
23638 opening device.
23639
f9fd65df
VS
236402010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
23641
23642 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
23643 returned by firmware.
23644
af09641e
VS
236452010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
23646
23647 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
23648 compilation on coreboot and qemu
23649
016883a5
VS
236502010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
23651
23652 * include/multiboot2.h: Resync with spec.
23653
f97e1f7d
VS
236542010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
23655
23656 Multiboot2 tag support
23657
23658 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
23659 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
23660 Remove loader/multiboot_loader.c.
23661 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
23662 (grub_multiboot2_real_boot): Likewise.
23663 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
23664 (grub_get_multiboot_mmap_count): New proto.
23665 (grub_fill_multiboot_mmap): Likewise.
23666 (grub_multiboot_set_video_mode): Likewise.
23667 (grub_multiboot_set_console): Likewise.
23668 (grub_multiboot_load): Likewise.
23669 (grub_multiboot_load_elf): Likewise.
23670 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
23671 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
23672 * include/multiboot.h: Resynced with specification.
23673 * include/multiboot2.h: Resynced with specification.
23674 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
23675 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
23676 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
23677 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
23678 users updated.
23679 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
23680 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
23681 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
23682 Removed.
23683 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
23684 Moved from here...
23685 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
23686 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
23687 Moved from here...
23688 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
23689 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
23690 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
23691 All users updated.
23692 * loader/i386/multiboot_mbi2.c: New file.
23693
3506b90b
VS
236942010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
23695
23696 Resync with gnulib.
23697
23698 * Makefile.in (GNULIB_CFLAGS): New variable.
23699 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
23700 (grub_script_check_CFLAGS): New variable.
23701 * gnulib/alloca.h: Resync with gnulib.
23702 * gnulib/error.c: Likewise.
23703 * gnulib/error.h: Likewise.
23704 * gnulib/fnmatch.c: Likewise.
23705 * gnulib/fnmatch_loop.c: Likewise.
23706 * gnulib/getdelim.c: Likewise.
23707 * gnulib/getline.c: Likewise.
23708 * gnulib/getopt.c: Likewise.
23709 * gnulib/getopt1.c: Likewise.
23710 * gnulib/getopt_int.h: Likewise.
23711 * gnulib/gettext.h: Likewise.
23712 * gnulib/progname.c: Likewise.
23713 * gnulib/progname.h: Likewise.
23714
394a3120
GS
237152010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
23716
23717 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
23718 which is the case with --disabled-nls.
23719
23720 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
23721 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
23722 * util/misc.c: Likewise.
23723 * util/mkisofs/mkisofs.c: Likewise.
23724 * util/mkisofs/mkisofs.h: Likewise.
23725
969d1c78
VS
237262010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
23727
23728 Simplify Apple CC support.
23729
23730 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
23731 Add 0 byte at the end not to have a symbol with empty target.
23732 * mmap/i386/pc/mmap_helper.S: Likewise.
23733 * genmk.rb: Ignore errors 2030 and 2050.
23734 * kern/i386/pc/startup.S: Use LOCAL when possible.
23735
8d2977bb
BC
237362010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
23737
23738 Testcase and the fix for final semicolon on cmdline.
23739
23740 * tests/grub_script_final_semicolon.in: New testcase.
23741 * conf/tests.rmk: Rules for the new testcase.
23742 * script/parser.y: Grammar fix.
23743
a7bd6915
BC
237442010-03-26 BVK Chaitanya <bvk@localhost>
23745
23746 Blank lines testcase for GRUB script.
23747
23748 * tests/grub_script_blanklines.in: New testcase.
23749 * conf/tests.rmk: Rules for the new testcase.
23750
e4ff6628
VS
237512010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
23752
23753 Don't use __FILE__.
23754
23755 * genmk.rb: Add -DGRUB_FILE to all C targets.
23756 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
23757 * include/grub/list.h: Likewise.
23758 * include/grub/misc.h: Likewise.
23759 * include/grub/mm.h: Likewise.
23760 * include/grub/test.h: Likewise.
23761 * kern/mm.c: Likewise.
23762 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23763
6a5cf6b6
VS
237642010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
23765
23766 Sunpc partitions support.
23767
23768 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
23769 (grub_fstest_SOURCES): Likewise.
23770 (pkglib_MODULES): Add part_sunpc.mod.
23771 (part_sunpc_mod_SOURCES): New variable.
23772 (part_sunpc_mod_CFLAGS): Likewise.
23773 (part_sunpc_mod_LDFLAGS): Likewise.
23774 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
23775 * partmap/sunpc.c: New file.
23776
746d9045
BC
237772010-03-26 BVK Chaitanya <bvk@localhost>
23778
23779 For loop support to GRUB script.
23780
23781 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
23782 (grub_script_create_cmdfor): New function prototype.
23783 (grub_script_execute_cmdfor): New function prototype.
23784 * script/execute.c (grub_script_execute_cmdfor): New function.
23785 * script/parser.y (command): New for command.
23786 (forcmd): New grammar rule.
23787 * script/script.c (grub_script_create_cmdfor): New function.
23788 * util/grub-script-check.c (grub_script_execute_cmdfor): New
23789 function.
23790 * tests/grub_script_for1.in: New testcase.
23791 * conf/tests.rmk: Rules for new testcase.
23792
18486b18
VS
237932010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
23794
23795 Nested partitions
23796
23797 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
23798 'partition' is NULL, grub_partition_get_start already does that.
23799 * commands/loadenv.c (check_blocklists): Likewise.
23800 (write_blocklists): Likewise.
23801 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
23802 (grub_fstest_SOURCES): Likewise.
23803 (pkglib_MODULES): Add part_bsd.mod.
23804 (part_bsd_mod_SOURCES): New variable.
23805 (part_bsd_mod_CFLAGS): Likewise.
23806 (part_bsd_mod_LDFLAGS): Likewise.
23807 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
23808 (grub_emu_SOURCES): Likewise.
23809 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23810 * include/grub/bsdlabel.h: New file.
23811 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
23812 'get_name'.
23813 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
23814 (grub_partition_map_list): New variable.
23815 (grub_partition_map_register): Inline.
23816 (grub_partition_map_unregister): Likewise.
23817 (FOR_PARTITION_MAPS): New macro.
23818 (grub_partition_map_iterate): Removed.
23819 (grub_partition_get_start): Handle nested partitions.
23820 * include/grub/msdos_partition.h: Remove bsd-related entries.
23821 (grub_pc_partition): Remove.
23822 * kern/disk.c (grub_disk_close): Free partition data.
23823 (grub_disk_adjust_range): Handle nested partitions.
23824 * kern/partition.c (grub_partition_map_probe): New function.
23825 (grub_partition_probe): Parse name to number, handle subpartitions.
23826 (get_partmap): New function.
23827 (grub_partition_iterate): Handle subpartitions.
23828 (grub_partition_get_name): Likewise.
23829 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
23830 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
23831 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
23832 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
23833 Set 'number'.
23834 (acorn_partition_map_probe): Remove.
23835 (acorn_partition_map_get_name): Likewise.
23836 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
23837 Set 'number'.
23838 Set 'index' to 0 since there can be only one partition entry per sector.
23839 (amiga_partition_map_probe): Remove.
23840 (amiga_partition_map_get_name): Likewise.
23841 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
23842 Set 'number'.
23843 Set 'offset' and 'index' to real positions of partitions.
23844 (apple_partition_map_probe): Remove.
23845 (apple_partition_map_get_name): Likewise.
23846 * partmap/bsdlabel.c: New file.
23847 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
23848 Set 'number'.
23849 Allocate 'data' so it can be correctly freed.
23850 Set 'index' to offset inside sector.
23851 (gpt_partition_map_probe): Remove.
23852 (gpt_partition_map_get_name): Likewise.
23853 * partmap/msdos.c (grub_partition_parse): Remove.
23854 (pc_partition_map_iterate): Don't force raw access.
23855 Set 'number'.
23856 Make 'ext_offset' a local variable.
23857 (pc_partition_map_probe): Remove.
23858 (pc_partition_map_get_name): Remove.
23859 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
23860 Set 'number'.
23861 (sun_partition_map_probe): Remove.
23862 (sun_partition_map_get_name): Likewise.
23863 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
23864 (grub_pcpart_type): Likewise.
23865 * util/hostdisk.c (open_device): Handle new numbering scheme.
23866 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
23867 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
23868 * util/grub-probe.c (probe_partmap): Handle nested paritions.
23869 * util/grub-install.in: Insert all subpartition modules.
23870 * util/ieee1275/grub-install.in: Likewise.
23871
a3940f88
AG
238722010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
23873
23874 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
23875 grammar.
23876
21b99926 238772010-03-24 Colin Watson <cjwatson@ubuntu.com>
23878
23879 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
23880
bed1d352
CW
238812010-03-21 Colin Watson <cjwatson@ubuntu.com>
23882
23883 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
23884 match where 'make install' puts them.
23885 * util/i386/efi/grub-install.in: Likewise.
23886
c9f58427
CW
238872010-03-19 Colin Watson <cjwatson@ubuntu.com>
23888
23889 * .bzrignore: Add gentrigtables, grub-script-check,
23890 grub_script_check_init.c, grub_script_check_init.h, and
23891 trigtables.c.
23892
f84afb27
VS
238932010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
23894
23895 * kern/parser.c: Indented.
23896
ed0e3d30
VS
238972010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
23898
23899 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
23900
0ea81d98
VS
239012010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
23902
23903 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
23904 alpha_mask_size == 0 case.
23905
0cdc2a09
BC
239062010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
23907
23908 GRUB shell lexer and parser improvements.
23909
23910 * conf/any-emu.rmk: Build rule updates.
23911 * conf/common.rmk: Likewise.
23912 * conf/i386-coreboot.rmk: Likewise.
23913 * conf/i386-efi.rmk: Likewise.
23914 * conf/i386-ieee1275.rmk: Likewise.
23915 * conf/i386-pc.rmk: Likewise.
23916 * conf/powerpc-ieee1275.rmk: Likewise.
23917 * conf/x86_64-efi.rmk: Likewise.
23918
23919 * configure.ac: Configure check for flex.
23920
23921 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
23922 types.
23923 (grub_lexer_param): Struct member updates.
23924 (grub_parser_param): Likewise.
23925 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
23926 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
23927 (grub_script_lexer_init): Prototype update.
23928 (grub_script_lexer_record_start): Likewise.
23929 (grub_script_lexer_record_stop): Likewise.
23930 (grub_script_lexer_yywrap): New function prototype.
23931 (grub_script_lexer_fini): Likewise.
23932 (grub_script_execute_argument_to_string): Removed by...
23933 (grub_script_execute_argument_to_argv): ...better version.
23934
23935 * script/execute.c (ROUND_UPTO): New macro.
23936 (grub_script_execute_cmdline): Out of memory fixes.
23937 (grub_script_execute_menuentry): Likewise.
23938 (grub_script_execute_argument_to_string): Removed. Update all
23939 users by...
23940 (grub_script_execute_argument_to_argv): ...better version.
23941 * script/function.c (grub_script_function_create): Use
23942 grub_script_execute_argument_to_argv instead of
23943 grub_script_execute_argument_to_string.
23944
23945 * script/lexer.c (check_varstate): Removed.
23946 (check_textstate): Removed.
23947 (grub_script_lexer_record_start): Likewise.
23948 (grub_script_lexer_record_stop): Likewise.
23949 (recordchar): Replaced with...
23950 (grub_script_lexer_record): ...new function.
23951 (nextchar): Removed.
23952 (grub_script_lexer_init): Rewritten.
23953 (grub_script_yylex): Rewritten.
23954 (append_newline): New function.
23955 (grub_script_lexer_yywrap): New function.
23956 (grub_script_lexer_fini): New function.
23957 (grub_script_yyerror): Sets error flag.
23958
23959 * script/yylex.l: New file.
23960 (grub_lexer_yyfree): Wrapper for flex yyffre.
23961 (grub_lexer_yyalloc): Likewise.
23962 (grub_lexer_yyrealloc): Likewise.
23963 * script/parser.y: Refactored.
23964
23965 * script/script.c (grub_script_arg_add): Out of memory fixes.
23966 (grub_script_add_arglist): Likewise.
23967 (grub_script_create_cmdline): Likewise.
23968 (grub_script_create_cmdmenu): Likewise.
23969 (grub_script_add_cmd): Likewise.
23970 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
23971 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
23972 unnecessary code.
23973
23974 * tests/grub_script_echo1.in: New testcase.
23975 * tests/grub_script_vars1.in: New testcase.
23976 * tests/grub_script_echo_keywords.in: New testcase.
23977
1d63a066
VS
239782010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23979
23980 Remove some redundancy in build system.
23981
23982 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
23983 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
23984 (TARGET_LDFLAGS): Add -nostdlib.
23985 (TARGET_IMG_LDFLAGS): Likewise.
23986 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
23987 anything since mmap isn't available.
23988 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
23989 Add util/time.c.
23990 (pkglib_MODULES): Remove reboot.mod.
23991 (reboot_mod_SOURCES): Removed.
23992 (reboot_mod_CFLAGS): Likewise.
23993 (reboot_mod_LDFLAGS): Likewise.
23994 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
23995 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
23996 (DEFSYMFILES): Add kernel_syms.lst.
23997 (kernel_img_HEADERS): Add common headers.
23998 (symlist.c): New target.
23999 (kernel_syms.lst): Likewise.
24000 (pkglib_MODULES): Add memdisk.mod.
24001 (memdisk_mod_SOURCES): New variable.
24002 (memdisk_mod_CFLAGS): Likewise.
24003 (memdisk_mod_LDFLAGS): Likewise.
24004 (pkglib_MODULES): Add reboot.mod.
24005 (reboot_mod_SOURCES): New variable.
24006 (reboot_mod_CFLAGS): Likewise.
24007 (reboot_mod_LDFLAGS): Likewise.
24008 (pkglib_MODULES): Add date.mod.
24009 (date_mod_SOURCES): New variable.
24010 (date_mod_CFLAGS): Likewise.
24011 (date_mod_LDFLAGS): Likewise.
24012 (pkglib_MODULES): Add datehook.mod.
24013 (datehook_mod_SOURCES): New variable.
24014 (datehook_mod_CFLAGS): Likewise.
24015 (datehook_mod_LDFLAGS): Likewise.
24016 (pkglib_MODULES): Add lsmmap.mod.
24017 (lsmmap_mod_SOURCES): New variable.
24018 (lsmmap_mod_CFLAGS): Likewise.
24019 (lsmmap_mod_LDFLAGS): Likewise.
24020 (pkglib_MODULES): Add boot.mod.
24021 (boot_mod_SOURCES): New variable.
24022 (boot_mod_CFLAGS): Likewise.
24023 (boot_mod_LDFLAGS): Likewise.
24024 * conf/i386-coreboot.rmk: Removed redundant parts.
24025 * conf/i386-ieee1275.rmk: Likewise.
24026 * conf/i386-pc.rmk: Likewise.
24027 * conf/mips-yeeloong.rmk: Likewise.
24028 * conf/mips.rmk: Likewise.
24029 * conf/powerpc-ieee1275.rmk: Likewise.
24030 * conf/sparc64-ieee1275.rmk: Likewise.
24031 * conf/x86_64-efi.rmk: Likewise.
24032 * conf/i386-coreboot.rmk: Moved qemu parts ..
24033 * conf/i386-qemu.rmk: ... here
24034 * conf/i386-efi.rmk: Moved common parts to...
24035 * conf/x86-efi.rmk: ... here.
24036 * conf/i386.rmk: Added modules common to all x86 variants.
24037 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
24038 * disk/memdisk.c: Remove grub/machine/kernel.h.
24039 * gensymlist.sh.in: Include symbol.h.
24040 * hook/datehook.c: Correct module name.
24041 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
24042 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
24043 * include/grub/i386/efi/serial.h: New file.
24044 * include/grub/x86_64/efi/serial.h: Likewise.
24045 * util/time.c: Likewise.
24046 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
24047
463ac55f
CK
240482010-03-14 Colin King <colin.king@ubuntu.com>
240492010-03-14 Colin Watson <cjwatson@ubuntu.com>
24050
24051 Shrink the pre-partition-table part of boot.img by eight bytes.
24052
24053 * boot/i386/pc/boot.S (ERR): New macro.
24054 (chs_mode): Use ERR.
24055 (geometry_error): Likewise.
24056 (hd_probe_error): Remove. This is only used once, so we wrwite
24057 it inline instead.
24058 (read_error): Instead of printing read_error_string, just set up
24059 %si and fall through to ...
24060 (error_message): ... this new function, also used by ERR.
24061
08e46ede
CW
240622010-03-14 Colin Watson <cjwatson@ubuntu.com>
24063
24064 Speed up consecutive hostdisk operations on the same device.
24065
24066 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
24067 (grub_util_biosdisk_open): Initialise disk->data.
24068 (struct linux_partition_cache): New structure.
24069 (linux_find_partition): Cache partition start positions; these are
24070 expensive to compute on every read and write.
24071 (open_device): Cache open file descriptor in disk->data, so that we
24072 don't have to reopen it and flush the buffer cache for consecutive
24073 operations on the same device.
24074 (grub_util_biosdisk_close): New function.
24075 (grub_util_biosdisk_dev): Set `close' member.
24076
24077 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
24078 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
24079 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24080 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24081 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
24082
4a6d2d06
VS
240832010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24084
24085 Compile parts of grub-emu as modules.
24086
24087 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
24088 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
24089 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
24090 (all-local): Add $(GRUB_EMU).
24091 (install-local): Install $(GRUB_EMU).
24092 (uninstall): Uninstall $(GRUB_EMU).
24093 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
24094 * kern/dl.c: Likewise.
24095 * commands/sleep.c: Not include machine/time.h.
24096 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
24097 (COMMON_CFLAGS): Likewise.
24098 (sbin_UTILITIES): Remove grub-emu.
24099 (grub_emu_SOURCES): Removed.
24100 (kernel_img_RELOCATABLE): New variable.
24101 (pkglib_PROGRAMS): Add kernel.img.
24102 (kernel_img_SOURCES): New variable
24103 (kernel_img_CFLAGS): Likewise.
24104 (kernel_img_LDFLAGS): Likewise.
24105 (TARGET_NO_STRIP): Likewise.
24106 (TARGET_NO_DYNAMIC_MODULES): Likewise.
24107 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
24108 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
24109 (grub-emu): New target.
24110 (GRUB_EMU): New variable.
24111 * configure.ac: Whitelist -emu as possible x86_64 architecture.
24112 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
24113 * loader/xnu.c: Likewise.
24114 * include/grub/pci.h: Likewise.
24115 * genemuinit.sh: New file.
24116 * genemuinitheader.sh: Likewise.
24117 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
24118 Support TARGET_NO_DYNAMIC_MODULES.
24119 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
24120 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
24121 * disk/loopback.c: Likewise.
24122 * font/font_cmd.c: Likewise.
24123 * partmap/acorn.c: Likewise.
24124 * partmap/amiga.c: Likewise.
24125 * partmap/apple.c: Likewise.
24126 * partmap/gpt.c: Likewise.
24127 * partmap/msdos.c: Likewise.
24128 * partmap/sun.c: Likewise.
24129 * parttool/msdospart.c: Likewise.
24130 * term/gfxterm.c: Likewise.
24131 * video/bitmap.c: Likewise.
24132 * video/readers/jpeg.c: Likewise.
24133 * video/readers/png.c: Likewise.
24134 * video/readers/tga.c: Likewise.
24135 * video/video.c: Likewise.
24136 * util/grub-emu.c (read_command_list): Removed.
24137 (main): Don't call util_init_nls.
24138 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
24139 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
24140
91fdd2ed
VS
241412010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24142
24143 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
24144 date.mod, datehook.mod.
24145 (datetime_mod_SOURCES): New variable.
24146 (datetime_mod_CFLAGS): Likewise.
24147 (datetime_mod_LDFLAGS): Likewise.
24148 (date_mod_SOURCES): Likewise.
24149 (date_mod_CFLAGS): Likewise.
24150 (date_mod_LDFLAGS): Likewise.
24151 (datehook_mod_SOURCES): Likewise.
24152 (datehook_mod_CFLAGS): Likewise.
24153 (datehook_mod_LDFLAGS): Likewise.
24154 * conf/sparc64-ieee1275.rmk: Likewise.
24155 * lib/ieee1275/datetime.c: New file.
24156
873ccae6
VS
241572010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24158
24159 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
24160 (ieee1275_fb_mod_SOURCES): New variable.
24161 (ieee1275_fb_mod_CFLAGS): Likewise.
24162 (ieee1275_fb_mod_LDFLAGS): Likewise.
24163 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
24164 New proto.
24165 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
24166 (HEAP_MAX_ADDR): Likewise.
24167 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
24168 type.
24169 Correct stop condition.
24170 (grub_ieee1275_devices_iterate): New function.
24171 * video/ieee1275.c: New file.
24172
601c97c0
VS
241732010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24174
24175 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
24176
24177 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
24178 as scratch.
24179 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
24180 SCRATCH_PAD_DISKBOOT as scratch.
24181 (bootit): Pass Openfirmware pointer in %o4.
24182 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
24183 of 0x200000.
24184 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
24185 with util/grub-mkrawimage.c.
24186 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
24187 * include/grub/aout.h (AOUT_MID_SUN): New definition.
24188 (grub_aout_get_type) [GRUB_UTIL]: Removed.
24189 (grub_aout_load) [GRUB_UTIL]: Likewise.
24190 * include/grub/kernel.h (grub_modules_get_end): New proto.
24191 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
24192 (SCRATCH_PAD_BOOT): New definition.
24193 (SCRATCH_PAD_DISKBOOT): Likewise.
24194 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
24195 * include/grub/sparc64/ieee1275/ieee1275.h
24196 (grub_ieee1275_original_stack): New variable
24197 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24198 New definition
24199 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
24200 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
24201 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
24202 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
24203 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
24204 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
24205 (grub_platform_image_format_t): New type.
24206 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
24207 * kern/main.c (grub_modules_get_end)
24208 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
24209 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
24210 (codestart): Switch stacks.
24211 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
24212 variable.
24213 (grub_heap_init): Use grub_modules_get_end.
24214 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
24215 stack.
24216 * util/grub-mkrawimage.c (generate_image): Support sparc64.
24217 (main): Likewise.
24218 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
24219
d68b491e
TG
242202010-03-14 Thorsten Glaser <tg@mirbsd.org>
24221
24222 * util/grub-mkrescue.in: Base ISO UUID on UTC.
24223
4e02ed50
MK
242242010-03-08 Matt Kraai <kraai@ftbfs.org>
24225
24226 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
24227 bug #559005).
24228
1f15fc1e
VS
242292010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
24230
24231 * genmoddep.awk: Output all missing symbols and not only first.
24232
fce5d8ff
VS
242332010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24234
24235 * NEWS: Put the date of 1.98 release.
24236
d1e8a02f
VS
242372010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24238
24239 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
24240 ft2build.h.
24241
696fd607
VS
242422010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24243
24244 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
24245 completition in the middle of string.
24246
33e2e6f3
VS
242472010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24248
24249 * util/grub-mkrescue.in: Use mktemp with explicit template.
24250
b1f6d291
VS
242512010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24252
24253 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
24254
2ac227c7
VS
242552010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24256
24257 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
24258 right pointer.
24259
8f9a632b
VS
242602010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24261
24262 Fix FreeBSD compilation.
24263
24264 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
24265 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
24266
60b03859
VS
242672010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24268
24269 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
24270
48a5a769
VS
242712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24272
24273 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
24274
3ab4bd77
VS
242752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24276
24277 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
24278
d116e0d8
RM
242792010-03-04 Robert Millan <rmh.grub@aybabtu.com>
24280
24281 Support relative image path in theme file.
24282
24283 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
24284 (image_set_property): Handle theme_dir and relative path.
24285
c7ef54aa
VS
242862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24287
24288 * configure.ac: Alias amd64 to x86_64.
24289
fcee14ed
VS
242902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24291
24292 * NEWS: mention multiboot on EFI.
24293
d0780363
VS
242942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24295
24296 * kern/main.c (grub_load_modules): Handle errors from init functions of
24297 embeded modules.
24298
41168ea4
VS
242992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24300
24301 * normal/autofs.c (autoload_fs_module): Handle errors.
24302
b54d93ac
VS
243032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24304
24305 Disable linux.mod on qemu-mips since it's not functional and leads
24306 to compilation failure.
24307
24308 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
24309 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
24310 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
24311 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
24312 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
24313 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
24314 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
24315 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
24316 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
24317 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
24318 Reported by: BVK Chaitanya
24319
fc8345da
JU
243202010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
24321
24322 * INSTALL: Add gettext as a dependency and add qemu to a new section
24323 "Prerequisites for make-check".
24324
4760f979
CF
243252010-03-04 Christian Franke <franke@computer.org>
24326
24327 * util/grub-pe2elf.c: Add missing include "progname.h".
24328
f209b5b2
VS
243292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24330
24331 * normal/crypto.c (read_crypto_list): Fix a typo.
24332 Reported by: Seth Goldberg.
24333
b4b7be98
VS
243342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24335
24336 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 24337 Reported by: Seth Goldberg.
b4b7be98 24338
c0ee0385
VS
243392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24340
24341 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
24342 ascii.bitmaps.
24343
a8efbf64
VS
243442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24345
24346 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 24347 Reported by: Seth Goldberg.
a8efbf64 24348
08dcd913
VS
243492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24350
24351 * util/i386/efi/grub-install.in: Copy gettext files.
24352
c4d0b332
VS
243532010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24354
24355 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
24356
c6f2fe52
VS
243572010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24358
24359 Wait for user entry basing on presence of output rather than on errors.
24360
24361 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
24362 (grub_install_newline_hook): Likewise.
24363 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
24364 * normal/menu.c (show_menu): Check line_counter to determine presence
24365 of output.
24366 * normal/term.c (grub_normal_line_counter): New variable.
24367 (grub_normal_get_line_counter): New function.
24368 (grub_install_newline_hook): Likewise.
24369
5382b1e4
VS
243702010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24371
24372 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
24373
5519963b
VS
243742010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24375
24376 * configure.ac: Update version to 1.98.
24377
72b28631
VS
243782010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
24379
24380 * util/grub.d/10_linux.in (linux_entry): Don't default to
24381 gfxpayload=keep if Linux doesn't support video handover.
24382
c140a180
VS
243832010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
24384
24385 Don't compile video modules on yeeloong since video subsystem is part
24386 of kernel.
24387
24388 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
24389 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
24390 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
24391 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
24392 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
24393 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
24394 * include/grub/bitmap_scale.h: Likewise.
24395 * include/grub/bufio.h: Likewise.
24396 * include/grub/font.h: Likewise.
24397 * include/grub/gfxterm.h: Likewise.
24398 * include/grub/video.h: Likewise.
24399 * include/grub/vbe.h: Don't include video_fb.h.
24400 * video/i386/pc/vbe.c: Include video_fb.h.
24401 * commands/i386/pc/vbetest.c: Include video.h.
24402
a0ca21c2
CW
244032010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
24404
24405 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
24406 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
24407 default entry if GRUB_SAVEDEFAULT=true. This allows using
24408 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
24409 saving a new default on every boot.
24410
4a8a763c
VS
244112010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
24412
24413 * normal/crypto.c (read_crypto_list): Fix a memory leak.
24414 * normal/term.c (read_terminal_list): Likewise.
24415 * normal/main.c (grub_normal_init_page): Likewise.
24416 (grub_normal_read_line_real): Likewise.
24417
607ffde2
VS
244182010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
24419
24420 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
24421 memory leak.
24422 Reported by: Seth Goldberg.
24423
2b8fa975
CW
244242010-02-24 Joey Korkames <joey+lists@kidfixit.com>
24425
24426 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
24427 duplicate declaration of `start'.
24428
618307dd
VS
244292010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
24430
24431 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
24432 filename.
24433 Reported by: Georgy Buranov
24434
7dd05b96 244352010-02-20 Carles Pina i Estany <carles@pina.cat>
24436
24437 * util/grub-mkrawimage.c (usage): Change string formatting to
24438 improve gettext.
24439
d1484a42
MRA
244402010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
24441
24442 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
24443 backspace keys.
24444
42b1d186
VS
244452010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
24446
24447 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
24448 Reported by: Michael Suchanek.
24449
244502010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
24451
24452 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
24453 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
24454
d9f31a41
VS
244552010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
24456
24457 Remove any reference to non-free fonts.
24458
24459 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
24460 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
24461 uses non-free components.
24462 * font/font.c (grub_font_get_name): Remove example name.
24463 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
24464 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
24465 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
24466 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
24467
2793c71e
GB
244682010-02-16 Georgy Buranov <gburanov@gmail.com>
24469
24470 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
24471
402e3779
VS
244722010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
24473
24474 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
24475 Double divisor.
24476 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
24477 features.
24478 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
24479
0dd1e0dd
VS
244802010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
24481
24482 * gensymlist.sh.in: Use TARGET_CC instead of CC.
24483
6fa7cfce
ST
244842010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24485
24486 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
24487 * docs/grub.texi (Command-line and menu entry commands): Document play
24488 command.
24489
37c8483b
ST
244902010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24491
24492 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
24493 parse arguments as inline tempo and notes. Move code for playing notes
24494 to...
24495 (play): ... new function.
24496
14da0fb7
ST
244972010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24498
24499 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
24500 grub_uint16_t instead of short.
24501 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
24502 disk from little endian to cpu endianness.
24503
04459e70
ST
245042010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
24505
24506 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
24507 GRUB_TICKS_PER_SECOND instead of 120.
24508
a0876943
VS
245092010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24510
24511 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
24512 escape sequence after \e.
24513
e29f95dc
VS
245142010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24515
24516 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
24517 non-ASCII characters.
24518
d27859b2
VS
245192010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24520
24521 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
24522 set root in single quotes to prevent \, from being unescaped.
24523
bc028f2f
VS
245242010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24525
24526 Prevent unknown commands from stopping menuentry execution.
24527
24528 * script/execute.c (grub_script_execute_cmdline): Print error after
24529 unknown command.
24530
095f5f82
VS
245312010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24532
24533 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
24534 Reported by: Pavel Pisa.
24535
8c717950
VS
245362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24537
24538 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
24539
904935c3
VS
245402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24541
24542 Merge grub_ieee1275_map_physical into grub_map and rename to
24543 grub_ieee1275_map
24544
24545 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
24546 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
24547 Remove.
24548 * kern/ieee1275/openfw.c (grub_map): Rename to ...
24549 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
24550 necessary.
24551 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
24552
5b59a4e3
VS
245532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24554
24555 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
24556 opening and not after.
24557
69e137e8
VS
245582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24559
24560 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
24561 constants.
24562
2c0fcc36
VS
245632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24564
24565 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
24566 (alloc_phys): Use ALIGN_UP instead of align_addr.
24567
8c6052ce
VS
245682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24569
24570 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
24571
17cec782
VS
245722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24573
24574 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
24575
e0128bbd
VS
245762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24577
24578 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
24579 verbose dprintf.
24580
ca62070b
VS
245812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24582
24583 Fix over-4GiB seek on sparc64.
24584
24585 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
24586 Replace pos_i and pos_lo with pos. All users updated.
24587 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
24588 New constant.
24589 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
24590 Likewise.
24591 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
24592 and pos_lo.
24593
bdca2607
VS
245942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24595
24596 * util/grub-mkrawimage.c (main): Call set_program_name.
24597
da278c4d
VS
245982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24599
24600 Properly align 64-bit targets.
24601
24602 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
24603 (generate_image): Use ALIGN_ADDR.
24604
b274d734
VS
246052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24606
24607 Properly create cross-endian images.
24608
24609 * include/grub/types.h (grub_host_to_target_addr): New macro
24610 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
24611
82da2062
VS
246122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24613
24614 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
24615
7cae4377
VS
246162010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24617
24618 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
24619
24620 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
24621 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
24622 (grub_linux_boot): Divide by 64K when on VESA.
24623
65a533e7
VS
246242010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24625
24626 Support GRUB_GFXPAYLOAD_LINUX.
24627
24628 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
24629 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
24630
dd01d397
VS
246312010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24632
24633 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
24634 to show messages instead of discarding them.
24635 Process errors after executing command and not before. Keep old method
24636 too as precaution.
24637
660960d6
VS
246382010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
24639
24640 * configure.ac: Check for ft2build.h.
24641
62509f04
VS
246422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24643
24644 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
24645
473df63d
VS
246462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24647
24648 * genkernsyms.sh.in: Use TARGET_CC.
24649
c98d2a13
CW
246502010-02-07 Colin Watson <cjwatson@ubuntu.com>
24651
24652 * NEWS: Update.
24653
6e14234c
VS
246542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24655
24656 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
24657 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
24658 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 24659
b255e9cf
YB
246602010-02-07 Yves Blusseau <blusseau@zetam.org>
24661
6e14234c 24662 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 24663
98e6959d
VS
246642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24665
24666 Fix warnings in grub-emu when compiling with maximum warning options.
24667
24668 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
24669 (grub_arch_modules_addr): Return 0 and not NULL.
24670 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 24671 (xstrdup): Use newstr instead of dup.
f88d801b
VS
24672 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
24673 of disk to dsk to avoid shadowing.
74e4934e
VS
24674 (find_free_slot): Fix prototype.
24675 * util/getroot.c (grub_util_is_dmraid): Make static.
24676 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
24677 Add missing prototype.
24678 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 24679
74e31b5c
VS
246802010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24681
24682 * loader/i386/linux.c (grub_linux_setup_video): Handle error
24683 appropriately.
24684
6b2ad14b
VS
246852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24686
24687 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
24688 code out.
24689
8f891adc
VS
246902010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24691
24692 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
24693 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
24694 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
24695 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
24696 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
24697 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
24698
74b45184
VS
246992010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24700
24701 * include/grub/err.h (grub_err_printf): Don't export.
24702
a4bced77
VS
247032010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24704
24705 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
24706
007d0695
VS
247072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24708
24709 * include/grub/i18n.h (grub_gettext_dummy): Removed.
24710 * kern/misc.c (grub_gettext_dummy): Make static.
24711
b6c0d9c2
VS
247122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24713
24714 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
24715 by non-valid ones.
24716 * kern/term.c (grub_putchar): Likewise.
24717
f51a90d0
VS
247182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24719
24720 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
24721 buggy hook call and memory leak.
24722
6846cec5
VS
247232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24724
24725 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
24726
468d69fe
VS
247272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24728
24729 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
24730
51906b8c
VS
247312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24732
24733 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
24734 modevar.
24735 Return grub_errno on allocation error.
24736
09706ce5
VS
247372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24738
24739 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
24740
911df80c
YB
247412010-02-06 Yves Blusseau <blusseau@zetam.org>
24742
24743 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
24744 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
24745
3746a6bc
VS
247462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24747
24748 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
24749 non-pxe disk.
24750 (grub_pxefs_open): Likewise.
24751
09706ce5
VS
247522010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24753
24754 * util/grub.d/10_hurd.in: Add --class information to menuentries.
24755 * util/grub.d/10_kfreebsd.in: Likewise.
24756 * util/grub.d/10_linux.in: Likewise.
24757
7cc192d9
VS
247582010-02-06 Colin D Bennett <colin@gibibit.com>
24759
24760 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
24761 (gfxmenu_mod_SOURCES): New variable.
24762 (gfxmenu_mod_CFLAGS): Likewise.
24763 (gfxmenu_mod_LDFLAGS): Likewise.
24764 * include/grub/term.h (grub_term_set_current_output): Declare
24765 argument as const.
24766 * docs/gfxmenu-theme-example.txt: New file.
24767 * gfxmenu/gfxmenu.c: Likewise.
24768 * gfxmenu/gui_box.c: Likewise.
24769 * gfxmenu/gui_canvas.c: Likewise.
24770 * gfxmenu/gui_circular_progress.c: Likewise.
24771 * gfxmenu/gui_image.c: Likewise.
24772 * gfxmenu/gui_label.c: Likewise.
24773 * gfxmenu/gui_list.c: Likewise.
24774 * gfxmenu/gui_progress_bar.c: Likewise.
24775 * gfxmenu/gui_string_util.c: Likewise.
24776 * gfxmenu/gui_util.c: Likewise.
24777 * gfxmenu/icon_manager.c: Likewise.
24778 * gfxmenu/model.c: Likewise.
24779 * gfxmenu/named_colors.c: Likewise.
24780 * gfxmenu/theme_loader.c: Likewise.
24781 * gfxmenu/view.c: Likewise.
24782 * gfxmenu/widget-box.c: Likewise.
24783 * include/grub/gfxmenu_model.h: Likewise.
24784 * include/grub/gfxmenu_view.h: Likewise.
24785 * include/grub/gfxwidgets.h: Likewise.
24786 * include/grub/gui.h: Likewise.
24787 * include/grub/gui_string_util.h: Likewise.
24788 * include/grub/icon_manager.h: Likewise.
24789
247902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24791
24792 Agglomerate scrolling in gfxterm.
24793
24794 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
24795 (grub_virtual_screen_setup): Initialise 'total_screen'.
24796 (write_char): Split to ...
24797 (paint_char): ... this ...
24798 (write_char): ... and this.
24799 (paint_char): Handle delayed scrolling.
24800 (draw_cursor): Likewise.
24801 (scroll_up): Split to ...
24802 (real_scroll): ... this ...
24803 (scroll_up): ... and this.
24804 (real_scroll): Handle multi-line scroll and draw below-the-bottom
24805 characters.
24806 (grub_gfxterm_refresh): Call real_scroll.
24807
248082010-02-06 Colin D Bennett <colin@gibibit.com>
24809
24810 * include/grub/misc.h (grub_iscntrl): New inline function.
24811 (grub_isalnum): Likewise.
24812 (grub_strtol): Likewise.
24813
248142010-02-06 Colin D Bennett <colin@gibibit.com>
24815
24816 * normal/menu_text.c (get_entry_number): Move from here ...
24817 * normal/menu.c (get_entry_number): ... moved here.
24818 * include/grub/menu.h (grub_menu_get_default_entry_index):
24819 New prototype.
24820 * normal/menu.c (grub_menu_get_default_entry_index): New function.
24821 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
24822 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
24823 (grub_menu_viewer_should_return): Likewise.
24824 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
24825 * normal/menu_text.c (run_menu): Enable menu switching.
24826 * normal/menu_viewer.c (should_return): New variable.
24827 (menu_viewer_changed): Likewise.
24828 (grub_menu_viewer_show_menu): Handle menu viewer changes.
24829 (grub_menu_viewer_should_return): New function.
24830 (menuviewer_write_hook): Likewise.
24831 (grub_menu_viewer_init): Likewise.
24832
248332010-02-06 Colin D Bennet <colin@gibibit.com>
248342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24835
24836 Support for gfxterm in a window.
24837
24838 * include/grub/gfxterm.h: New file.
24839 * include/grub/video.h (struct grub_video_rect): New declaration.
24840 (grub_video_rect_t): Likewise.
24841 * term/gfxterm.c (struct grub_gfxterm_window): New type.
24842 (refcount): New variable.
24843 (render_target): Likewise.
24844 (window): Likewise.
24845 (repaint_callback): Likewise.
24846 (grub_virtual_screen_setup): Use 'render_target'.
24847 (init_window): New function.
24848 (grub_gfxterm_init_window): Likewise.
24849 (grub_gfxterm_init): Check reference counter.
24850 Use init_window.
24851 (destroy_window): New function.
24852 (grub_gfxterm_destroy_window): Likewise.
24853 (grub_gfxterm_fini): Check reference counter.
24854 Use destroy_window.
24855 (redraw_screen_rect): Restore viewport.
24856 Use 'render_target' and 'window'.
24857 Call 'repaint_callback'.
24858 (write_char): Use 'render_target'.
24859 (draw_cursor): Likewise.
24860 (scroll_up): Restore viewport.
24861 Use 'render_target' and 'window'.
24862 Call 'repaint_callback'.
24863 (grub_gfxterm_cls): Likewise.
24864 (grub_gfxterm_refresh): Use 'window'.
24865 (grub_gfxterm_set_repaint_callback): New function.
24866 (grub_gfxterm_background_image_cmd): Use 'window'.
24867 (grub_gfxterm_get_term): New function.
24868 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
24869
248702010-02-06 Colin D Bennett <colin@gibibit.com>
24871
24872 Bitmap scaling support.
24873
24874 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
24875 (bitmap_scale_mod_SOURCES): New variable.
24876 (bitmap_scale_mod_CFLAGS): Likewise.
24877 (bitmap_scale_mod_LDFLAGS): Likewise.
24878 * include/grub/bitmap_scale.h: New file.
24879 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
24880 (background_image_cmd_options): New variable.
24881 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
24882 (cmd): Rename and change type to ...
24883 (background_image_cmd_handle): ... this. All users updated.
24884 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
24885 * video/bitmap_scale.c: New file.
24886
248872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24888
24889 SDL support.
24890
24891 * Makefile.in (LIBSDL): New variable.
24892 (enable_grub_emu_sdl): Likewise.
24893 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
24894 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
24895 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
24896 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
24897 * util/sdl.c: New file.
24898
248992010-02-06 Colin D Bennett <colin@gibibit.com>
249002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24901
24902 Double buffering support.
24903
24904 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
24905 * include/grub/video.h: Update comment.
24906 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
24907 New type.
24908 (grub_video_fb_doublebuf_blit_init): New prototype.
24909 * term/gfxterm.c (scroll_up): Support double buffering.
24910 (grub_gfxterm_refresh): Likewise.
24911 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
24912 (grub_video_fb_doublebuf_blit_init): Likewise.
24913 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
24914 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
24915 'displayed_page', 'render_page' and 'update_screen'.
24916 (grub_video_vbe_fini): Free offscreen buffer.
24917 (doublebuf_pageflipping_commit): New function.
24918 (doublebuf_pageflipping_update_screen): Likewise.
24919 (doublebuf_pageflipping_init): Likewise.
24920 (double_buffering_init): Likewise.
24921 (grub_video_vbe_setup): Enable doublebuffering.
24922 (grub_video_vbe_swap_buffers): Implement.
24923 (grub_video_vbe_set_active_render_target): Handle double buffering.
24924 (grub_video_vbe_get_active_render_target): Likewise.
24925 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
24926 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
24927 (grub_video_vbe_enable_double_buffering): Likewise.
24928 (grub_video_vbe_swap_buffers): Use update_screen.
24929 (grub_video_set_mode): Use double buffering.
24930
249312010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24932
24933 * maintainance/gentrigtables.py: Remove.
24934 * lib/trig.c: Likewise.
24935
24936 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
24937
24938 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
24939 `trigtables.c'.
24940 (trigtables.c): New rule.
24941 (gentrigtables): Likewise.
24942 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
24943
249442010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24945
24946 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
24947 integer constants.
24948
249492010-02-06 Colin D Bennet <colin@gibibit.com>
24950
24951 Trigonometry support.
24952
24953 * include/grub/trig.h: New file.
24954 * lib/trig.c: Likewise.
24955 * maintainance/gentrigtables.py: Likewise.
24956 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
24957 (trig_mod_SOURCES): New variable.
24958 (trig_mod_CFLAGS): Likewise.
24959 (trig_mod_LDFLAGS): Likewise.
24960
5562834e
VS
249612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24962
24963 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
24964 disk devices.
24965
4f8528fc
VS
249662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24967
24968 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
24969 error.
24970
2b4068e9
VS
249712010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
24972
24973 * util/hostdisk.c (open_device): Don't use partition device when reading
24974 before the partition.
24975 (grub_util_biosdisk_read): Don't read from partition and before the
24976 partition in single operation.
24977 (grub_util_biosdisk_write): Don't write to partition and before the
24978 partition in single operation.
24979
399f6e4d
TL
249802010-02-03 Torsten Landschoff <torsten@debian.org>
24981
24982 * kern/disk.c (grub_disk_read): Fix offset computation when reading
24983 last sectors.
24984
996649b0
VS
249852010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
24986
24987 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
24988 CDROM reads.
24989 (grub_biosdisk_write): Refuse to write to CDROM.
24990
3b205d4d
VS
249912010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
24992
24993 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
24994
61e89d9d
VS
249952010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
24996
24997 * font/font.c (find_glyph): Check that bmp_idx is available before
24998 using it.
24999 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
25000 with (font == NULL).
25001
bf7fcba2
CS
250022010-01-28 Christian Schmitt <chris@ilovelinux.de>
25003
25004 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
25005
f45d2663
BC
250062010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
25007
25008 * include/grub/script_sh.h (sourcecode): Add const qualifier.
25009 * util/grub-script-check.c (getline): Fix empty lines case.
25010
ec1444e6
RM
250112010-01-28 Robert Millan <rmh.grub@aybabtu.com>
25012
25013 * Makefile.in (check): Exit with fail status when one of the tests
25014 fails.
25015 * tests/example_functional_test.c (example_test): Fix reversed assert.
25016 * tests/example_unit_test.c (example_test): Likewise.
25017
2e1cb9bb
CW
250182010-01-28 Colin Watson <cjwatson@ubuntu.com>
25019
25020 * util/grub.d/10_linux.in: This script does not use any of the
25021 contents of gettext.sh, only the external command `gettext', so stop
25022 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
25023 the same prefix as GRUB.)
25024 * util/grub.d/10_kfreebsd.in: Likewise.
25025
63533ab0
VS
250262010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25027
25028 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
25029 of the line.
25030
989e1f93
VS
250312010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25032
25033 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25034 last sectors.
25035
e709ebe2
VS
250362010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25037
25038 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
25039 having a 4KiB and not 32KiB buffer size.
25040
27dea7ed
RM
250412010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25042
25043 * util/hostfs.c: Include `<errno.h>'.
25044 (grub_hostfs_read): Handle errors from fseeko() and fread().
25045
67667b9c
RM
250462010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25047
25048 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
25049 loop when using read hooks on files whose size isn't sector-aligned.
25050
c294d9d8
RM
250512010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25052
25053 Remove unused parameter.
25054
25055 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
25056 (grub_iso9660_open): Remove initialization of `data->length'.
25057
af75a9f1
RM
250582010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25059
25060 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
25061 memleak conditions.
25062
254e2ce5 250632010-01-27 Carles Pina i Estany <carles@pina.cat>
25064
25065 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
25066 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
25067
b510928c 250682010-01-26 Carles Pina i Estany <carles@pina.cat>
25069
25070 * util/bin2h.c (usage): Fix warning (space after backslash).
25071
aa2f9dd2 250722010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 25073
25074 * font/font.c: Include `grub/fontformat.h.
25075 Remove font file format constants.
25076 (grub_font_load): Use the new macros.
25077 * include/grub/fontformat.h: New file.
25078 * util/grub-mkfont.c: Include `grub/fontformat.c'.
25079 (write_font_pf2): Use the new macros.
25080
94e7e712
RM
250812010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25082
25083 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
25084 does.
25085
3973a59a
RM
250862010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25087
25088 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
25089
25090 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
25091 (_start): Macroify `0x7F'.
25092
25093 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
25094 (make_install_device): Use "(pxe)" as fallback prefix when booting
25095 via PXE.
25096
42e0cba3
GS
250972010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
25098
25099 * configure.ac: Reset LIBS after check for libgcc symbols.
25100
847effd8
CW
251012010-01-25 Colin Watson <cjwatson@ubuntu.com>
25102
25103 * util/hostdisk.c (open_device): Add trailing newline to debug
25104 message.
25105
ea4a7e35
GS
251062010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
25107
25108 * configure.ac: Check for `limits.h'.
25109 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
25110
67951a53
RM
251112010-01-24 Robert Millan <rmh.grub@aybabtu.com>
25112
25113 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
25114 capitalize error strings.
25115
c273d4ce
ST
251162010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
25117
25118 * util/grub.d/10_hurd.in: Add a recovery mode.
25119
69be5b74
VS
251202010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
25121
25122 * configure.ac: Check for libgcc symbols with -nostdlib.
25123
fc9e5810
BC
251242010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
25125
25126 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
25127
4b358c0a
VS
251282010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25129
25130 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
25131 stack since heap may be unavailable at that point.
25132 (grub_ofconsole_gotoxy): Likewise.
25133
454fcd1c
VS
251342010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25135
25136 * configure.ac: Check for _restgpr_14_x.
25137 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
25138 and _savegpr_* prototypes.
25139
566863ca
RM
251402010-01-22 Robert Millan <rmh.grub@aybabtu.com>
25141
25142 Use generic grub_reboot() for i386-efi.
25143
25144 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
25145 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
25146 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
25147
bf86e59a
VS
251482010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25149
25150 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
25151 presence of "prefix" variable as it breaks when normal.mod is
25152 embedded.
25153
d645e0f8
VS
251542010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25155
25156 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
25157 stack since heap is unavailable at that point.
25158
f9ab2e25
VS
251592010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25160
25161 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
25162 (grub_freebsd_bootinfo): Rewritten.
25163 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
25164
01fc7054
VS
251652010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25166
25167 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
25168
caab4fd6
RM
251692010-01-21 Robert Millan <rmh.grub@aybabtu.com>
25170
25171 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
25172 domain now.
25173
67eb1427
FZ
251742010-01-20 Felix Zielcke <fzielcke@z-51.de>
25175
25176 * util/misc.c (make_system_path_relative_to_its_root): Change the work
25177 around for handling "/" to the correct fix. Fix a memory leak. Use
25178 xstrdup instead of strdup.
25179
a9ed4ff3
VS
251802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25181
25182 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
25183
251842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
25185
25186 Optimise glyph lookup by Basic Multilingual Plane lookup array.
25187
25188 * font/font.c (struct grub_font): New member 'bmp_idx'.
25189 (font_init): Initialise 'bmp_idx'.
25190 (load_font_index): Fill 'bmp_idx'.
25191 (find_glyph): Make inline. Use bmp_idx for BMP characters.
25192
48209f4f
VS
251932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25194
25195 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
25196 unnecessary calls.
25197
9f0a4bb7
VS
251982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25199
25200 Move context handling out of the kernel.
25201
25202 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
25203 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
25204 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
25205 * conf/i386-efi.rmk: Likewise.
25206 * conf/i386-ieee1275.rmk: Likewise.
25207 * conf/i386-pc.rmk: Likewise.
25208 * conf/powerpc-ieee1275.rmk: Likewise.
25209 * conf/sparc64-ieee1275.rmk: Likewise.
25210 * conf/x86_64-efi.rmk: Likewise.
25211 * include/grub/env.h: Include grub/menu.h.
25212 (grub_env_var_type): Removed.
25213 (grub_env_var): Replaced field 'type' with 'global'.
25214 (grub_env_find): New prototype.
25215 (grub_env_context_open): Remove EXPORT_FUNC.
25216 (grub_env_context_close): Likewise.
25217 (grub_env_export): Likewise.
25218 (grub_env_set_data_slot): Removed.
25219 (grub_env_get_data_slot): Likewise.
25220 (grub_env_unset_data_slot): Likewise.
25221 (grub_env_unset_menu): New prototype.
25222 (grub_env_set_menu): Likewise.
25223 (grub_env_get_menu): Likewise.
25224 * include/grub/env_private.h: New file.
25225 * include/grub/normal.h (grub_context_init): New prototype.
25226 (grub_context_fini): Likewise.
25227 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
25228 * normal/context.c (grub_cmd_export): ... to here.
25229 * kern/env.c: Include env_private.h.
25230 (HASHSZ): Moved to include/grub/env_private.h.
25231 (grub_env_context): Likewise.
25232 (grub_env_sorted_var): Likewise.
25233 (current_context): Renamed from this ...
25234 (grub_current_context): ...to this. 'static' removed. All users updated.
25235 (grub_env_find): Removed 'static'.
25236 (grub_env_context_open): Moved to normal/context.c.
25237 (grub_env_context_close): Likewise.
25238 (grub_env_export): Likewise.
25239 (mangle_data_slot_name): Removed.
25240 (grub_env_set_data_slot): Likewise.
25241 (grub_env_get_data_slot): Likewise.
25242 (grub_env_unset_data_slot): Likewise.
25243 * kern/main.c (grub_set_root_dev): Don't export root.
25244 It will be done later.
25245 (grub_main): Don't export prefix.
25246 It will be done later.
25247 * normal/context.c: New file.
25248 * normal/main.c (free_menu): Use grub_env_unset_menu.
25249 (grub_normal_add_menu_entry): Use grub_env_get_menu.
25250 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
25251 (GRUB_MOD_INIT(normal)): Call grub_context_init.
25252 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
25253
8dd35b8c
VS
252542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25255
25256 setpci support.
25257
25258 * commands/setpci.c: New file.
25259 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
25260 (setpci_mod_SOURCES): New variable.
25261 (setpci_mod_CFLAGS): Likewise.
25262 (setpci_mod_LDFLAGS): Likewise.
25263
449193d5
VS
252642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25265
25266 Byte-addressable PCI configuration space.
25267
25268 * bus/pci.c (grub_pci_make_address): Use byte address instead of
25269 dword address.
25270 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
25271 GRUB_PCI_REG_CACHELINE.
25272 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
25273 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
25274 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
25275 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
25276 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
25277 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
25278 grub_pci_make_address.
25279 (lock_rom_area): Likewise.
25280 * commands/lspci.c (grub_lspci_iter): Use macroses
25281 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
25282 of grub_pci_make_address.
25283 * disk/ata.c (grub_ata_pciinit): Likewise.
25284 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
25285 (GRUB_PCI_REG_VENDOR): Likewise.
25286 (GRUB_PCI_REG_DEVICE): Likewise.
25287 (GRUB_PCI_REG_COMMAND): Likewise.
25288 (GRUB_PCI_REG_STATUS): Likewise.
25289 (GRUB_PCI_REG_REVISION): Likewise.
25290 (GRUB_PCI_REG_CLASS): Likewise.
25291 (GRUB_PCI_REG_CACHELINE): Likewise.
25292 (GRUB_PCI_REG_LAT_TIMER): Likewise.
25293 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
25294 (GRUB_PCI_REG_BIST): Likewise.
25295 (GRUB_PCI_REG_ADDRESSES): Likewise.
25296 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25297 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25298 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25299 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25300 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25301 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25302 (GRUB_PCI_REG_CIS_POINTER): Likewise.
25303 (GRUB_PCI_REG_SUBVENDOR): Likewise.
25304 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
25305 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
25306 (GRUB_PCI_REG_CAP_POINTER): Likewise.
25307 (GRUB_PCI_REG_IRQ_LINE): Likewise.
25308 (GRUB_PCI_REG_IRQ_PIN): Likewise.
25309 (GRUB_PCI_REG_MIN_GNT): Likewise.
25310 (GRUB_PCI_REG_MAX_LAT): Likewise.
25311 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
25312 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
25313 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 25314 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
25315 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
25316 space.
25317
96d73208
RM
253182010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25319
25320 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
25321 can be reliably determined to be supported.
25322
d4484482
RM
253232010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25324
25325 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
25326 that VESA is supported.
25327 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
25328 supported.
25329
00308ecf
VS
253302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25331
25332 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
25333
f66924a4
RM
253342010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25335
25336 * util/misc.c (make_system_path_relative_to_its_root): Work around
25337 special-casing of "/", as previous incarnation of this routine did.
25338
cbca0ada
VS
253392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25340
25341 Fix any-emu compilation.
25342
25343 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
25344 * grub_bin2h_SOURCES: New variable.
25345
34a66d99
RM
253462010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25347
25348 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
25349
94fabf58
RM
253502010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25351
25352 * util/grub.d/00_header.in: Fix handling of locale_dir.
25353
02cf98ca
VS
253542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25355
25356 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
25357 as possible unifont location (Gentoo).
25358 Reported by: Alexander Brüning
25359
327dbcd7
VS
253602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25361
25362 Don't try to generate lists for kernel.img.
25363
25364 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
25365 (pkglib_MODULES): Remove kernel.img.
25366 (kernel_img_EXPORTS): Removed.
25367 (kernel_img_RELOCATABLE): New variable.
25368 * conf/x86_64-efi.rmk: Likewise.
25369 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
25370
ca467290
VS
253712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25372
25373 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
25374 grub_xasprintf or grub_snprintf.
25375 (grub_vsprintf): Likewise.
25376 (grub_snprintf): New proto.
25377 (grub_vsnprintf): Likewise.
25378 (grub_xasprintf): Likewise.
25379 (grub_xvasprintf): Likewise.
25380 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
25381 (grub_sprintf): Removed.
25382 (grub_vsnprintf): New function.
25383 (grub_snprintf): Likewise.
25384 (grub_xvasprintf): Likewise.
25385 (grub_xasprintf): Likewise.
25386 (grub_vsprintf): Renamed to ...
25387 (grub_vsnprintf_real): ...this. New argument max_len.
25388
aca655fd
BC
253892010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
25390
25391 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
25392 fix grub-script-check warning.
25393
7ee92c32
VS
253942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25395
25396 * include/grub/font.h (grub_font_load): Fix prototype.
25397
f80927ca
VS
253982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25399
25400 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
25401
119c50ea
VS
254022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25403
25404 * include/grub/x86_64/at_keyboard.h: New file.
25405
47d5f3c1
VS
254062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25407
25408 * loader/mips/linux.c: Include missing grub/i18n.h.
25409
55ff5266
RM
254102009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25411
25412 * normal/menu.c (notify_execution_failure): Clarify error message.
25413
c893cc87
RM
254142009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25415
25416 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
25417 return value (and revert all return statements). Update users.
25418
917dd370
CW
254192010-01-20 Dan Merillat <debian@dan.merillat.org>
25420
25421 * kern/device.c (grub_device_iterate): Allocate new part_ent
25422 structure based on sizeof (*p) rather than sizeof (p->next), to
25423 account for structure padding.
25424
25425 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
25426 disk is NULL, which might happen for LVM physical volumes with no
25427 LVM signature.
25428
d4a4ee57
RM
254292009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25430
25431 * loader/mips/linux.c (grub_cmd_initrd)
25432 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
25433
254342009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25435
25436 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
25437 (grub_video_video_init, grub_video_bitmap_init)
25438 (grub_font_manager_init, grub_term_gfxterm_init)
25439 (grub_at_keyboard_init): New extern declarations.
25440 (grub_machine_init): Initialize gfxterm and at_keyboard.
25441
25442 * kern/main.c (grub_main): Revert grub_printf delay kludge.
25443
25444 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
25445 `gfxterm.mod' into core image.
25446
25447 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25448 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25449 (kernel_img_FORMAT): Copy to ...
25450
25451 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25452 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25453 (kernel_img_FORMAT): ... here, and ...
25454
25455 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25456 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25457 (kernel_img_FORMAT): ... here.
25458
25459 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
25460 and input (at_keyboard) terminals in kernel.
25461 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
25462
25463 (pkglib_MODULES): Remove `pci.mod'.
25464 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
25465 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
25466 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
25467 (at_keyboard_mod_LDFLAGS): Remove variables.
25468
254692010-01-11 Felix Zielcke <fzielcke@z-51.de>
25470
25471 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
25472
254732009-12-10 Robert Millan <rmh.grub@aybabtu.com>
25474
25475 * include/grub/mips/libgcc.h: Only export symbols for functions
25476 that libgcc provides.
25477
254782009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
25479
25480 MIPS support.
25481
25482 * bus/bonito.c: New file.
25483 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
25484 GRUB_PCI_NUM_DEVICES.
25485 * term/i386/pc/serial.c: Move to ...
25486 * term/serial.c: ... here. All users updated.
25487 * util/i386/pc/grub-mkimage.c: Move to ...
25488 * util/grub-mkrawimage.c: ... here. All users updated.
25489 * term/i386/pc/at_keyboard.c: Move to ...
25490 * term/at_keyboard.c: ... here. All users updated.
25491 * conf/mips-qemu-mips.rmk: New file.
25492 * conf/mips-yeeloong.rmk: Likewise.
25493 * conf/mips.rmk: Likewise.
25494 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
25495 mipsel-qemu-mips.
25496 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
25497 to port addresses.
25498 (grub_ata_pciinit): Support CS5536.
25499 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
25500 * font/font_cmd.c (loadfont_command): Open file before passing it to
25501 grub_font_load.
25502 (pseudo_file_read): New function.
25503 (pseudo_file_close): Likewise.
25504 (pseudo_fs): New structure.
25505 (load_font_module): New function.
25506 (GRUB_MOD_INIT(font_manager)): Load embedded font.
25507 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
25508 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
25509 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
25510 * include/grub/i386/at_keyboard.h: Split into ...
25511 * include/grub/at_keyboard.h: ... this ...
25512 * include/grub/i386/at_keyboard.h: ... and this.
25513 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
25514 New prototype.
25515 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
25516 updated.
25517 (grub_elf64_size): Likewise.
25518 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
25519 filename.
25520 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
25521 * include/grub/i386/coreboot/serial.h: Rewritten.
25522 * include/grub/i386/ieee1275/serial.h: Include
25523 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
25524 * include/grub/i386/pc/serial.h: Moved from here ...
25525 * include/grub/serial.h: ... to here. All users updated.
25526 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
25527 (GRUB_PCI_NUM_BUS): Likewise.
25528 (GRUB_PCI_NUM_DEVICES): Likewise.
25529 (grub_pci_device_map_range): Add missing volatile keyword.
25530 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
25531 * include/grub/mips/at_keyboard.h: New file.
25532 * include/grub/mips/cache.h: Likewise.
25533 * include/grub/mips/io.h: Likewise.
25534 * include/grub/mips/kernel.h: Likewise.
25535 * include/grub/mips/libgcc.h: Likewise.
25536 * include/grub/mips/pci.h: Likewise.
25537 * include/grub/mips/qemu-mips/boot.h: Likewise.
25538 * include/grub/mips/qemu-mips/kernel.h: Likewise.
25539 * include/grub/mips/qemu-mips/loader.h: Likewise.
25540 * include/grub/mips/qemu-mips/memory.h: Likewise.
25541 * include/grub/mips/qemu-mips/serial.h: Likewise.
25542 * include/grub/mips/qemu-mips/time.h: Likewise.
25543 * include/grub/mips/relocator.h: Likewise.
25544 * include/grub/mips/time.h: Likewise.
25545 * include/grub/mips/types.h: Likewise.
25546 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
25547 * include/grub/mips/yeeloong/boot.h: Likewise.
25548 * include/grub/mips/yeeloong/kernel.h: Likewise.
25549 * include/grub/mips/yeeloong/loader.h: Likewise.
25550 * include/grub/mips/yeeloong/memory.h: Likewise.
25551 * include/grub/mips/yeeloong/pci.h: Likewise.
25552 * include/grub/mips/yeeloong/serial.h: Likewise.
25553 * include/grub/mips/yeeloong/time.h: Likewise.
25554 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
25555 * kern/elf.c (grub_elf32_size): New parameter. All users
25556 updated.
25557 (grub_elf64_size): Likewise.
25558 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
25559 Load modules before saying "Welcome to GRUB!".
25560 Call grub_refresh after saying "Welcome to GRUB!".
25561 * kern/mips/cache.S: New file.
25562 * kern/mips/cache_flush.S: Likewise.
25563 * kern/mips/dl.c: Likewise.
25564 * kern/mips/init.c: Likewise.
25565 * kern/mips/qemu-mips/init.c: Likewise.
25566 * kern/mips/startup.S: Likewise.
25567 * kern/mips/yeeloong/init.c: Likewise.
25568 * kern/term.c (grub_putcode): Handle NULL terminal.
25569 (grub_getcharwidth): Likewise.
25570 (grub_getkey): Likewise.
25571 (grub_checkkey): Likewise.
25572 (grub_getkeystatus): Likewise.
25573 (grub_getxy): Likewise.
25574 (grub_getwh): Likewise.
25575 (grub_gotoxy): Likewise.
25576 (grub_cls): Likewise.
25577 (grub_setcolorstate): Likewise.
25578 (grub_setcolor): Likewise.
25579 (grub_getcolor): Likewise.
25580 (grub_refresh): Likewise.
25581 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
25582 (write_jump): Add hatch nop.
25583 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
25584 * lib/mips/setjmp.S: New file.
25585 * loader/mips/linux.c: Likewise.
25586 * term/i386/pc/at_keyboard.c: Move from here ...
25587 * term/at_keyboard.c: ... to here.
25588 * term/i386/pc/serial.c: Moved from here ...
25589 * term/serial.c: ... to here. All users updated.
25590 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
25591 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
25592 (serial_translate_key_sequence): Avoid deadlock.
25593 (grub_serial_getkey): Handle backspace.
25594 (grub_serial_putchar): Fix newline handling.
25595 * util/i386/pc/grub-mkimage.c: Move from here ...
25596 * util/grub-mkrawimage.c: ... to here. All users updated.
25597 (generate_image): New parameters 'font_path' and 'format'.
25598 Support embedding font.
25599 Use grub_host_to_target* instead of grub_cpu_to_le*.
25600 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
25601 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
25602 (options): New option "--font".
25603 (usage): Likewise.
25604 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
25605 (main): Handle "--font".
25606 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
25607 (grub_virtual_screen_setup): Set bg_color_display.
25608 (redraw_screen_rect): Use bg_color_display instead of incorrect
25609 bg_color.
25610 (grub_gfxterm_cls): Likewise.
25611 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
25612 Support embedding config file.
25613 (add_segments): Likewise.
25614 (options): New option "--config".
25615 (main): Handle "--config".
25616 * video/sm712.c: New file.
25617
25c2b5b3
RM
256182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25619
25620 Fix parallel builds.
25621
25622 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
25623 font.c depend on ascii.h).
25624
256252010-01-12 Carles Pina i Estany <carles@pina.cat>
25626
25627 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
25628
256292010-01-11 Carles Pina i Estany <carles@pina.cat>
25630
25631 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
25632 By default: disabled.
25633 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
25634 parameter.
25635
256362010-01-10 Carles Pina i Estany <carles@pina.cat>
25637
25638 * font/font.c: Update copyright years.
25639 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
25640
256412010-01-10 Carles Pina i Estany <carles@pina.cat>
25642
25643 * font/font.c: Include `ascii.h'.
25644 (ASCII_BITMAP_SIZE): New macro.
25645 (ascii_font_glyph): Define.
25646 (ascii_glyph_lookup): New function.
25647 (grub_font_get_string_width): Change comment. If glyph not found, use
25648 ascii_glyph_lookup.
25649 (grub_font_get_glyph_with_fallback): If glyph not available returns
25650 ascii_glyph_lookup.
25651 * util/grub-mkfont.c (file_formats): New enum.
25652 (options): Add `ascii-bitmaps' new option.
25653 (usage): Add `asii-bitmaps' new option.
25654 (write_font_ascii_bitmap): New function.
25655 (write_font): Rename to ...
25656 (write_font_p2): ... this. Remove print_glyphs call.
25657 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
25658 used. Call print_glyphs.
25659 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
25660
256612010-01-14 Robert Millan <rmh.grub@aybabtu.com>
25662
25663 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
25664 (grub_bin2h_SOURCES): New variable.
25665 * util/bin2h.c: New file.
25666
915fc1b8
VS
256672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25668
25669 * include/multiboot.h: Resynced with spec.
25670 * include/multiboot2.h: Likewise.
25671 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
25672 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
25673
9444b678
RM
256742010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25675
25676 * include/grub/term.h (grub_term_register_input,
25677 grub_term_register_output): Check return of terminal init()
25678 routines, and abort if errors are raised.
25679
25680 * commands/terminal.c: Update copyright year.
25681
cba98e8d
RM
256822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25683
25684 * commands/terminal.c (grub_cmd_terminal_input)
25685 (grub_cmd_terminal_output): Check return of terminal init()
25686 routines, and abort if errors are raised.
25687
6f7db5d6
VS
256882010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
25689
25690 * include/grub/i386/bsd.h: Fix include pathes.
25691
262bff8d
VS
256922010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
25693
25694 Add missing *BSD copyright headers.
25695
25696 * include/grub/aout.h: Add BSD licence.
25697 * include/grub/i386/bsd.h: Parts under different licences moved to ...
25698 * include/grub/i386/freebsd_linker.h: ... here,
25699 * include/grub/i386/freebsd_reboot.h: ... here,
25700 * include/grub/i386/netbsd_bootinfo.h: ... here,
25701 * include/grub/i386/netbsd_reboot.h: ... here,
25702 * include/grub/i386/openbsd_bootarg.h: ... here,
25703 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
25704 licence to each file.
25705
b2cab848
RM
257062010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25707
25708 * acinclude.m4: Remove `nop' assembly instruction; it's not
25709 implemented by all architectures.
25710
2cb6be4b
RM
257112010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25712
25713 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
25714 ELILO. This is no longer necessary.
25715
a2eaee15
BC
257162010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
25717
25718 Added new tool, grub-scrit-check to verify grub.cfg syntax.
25719
25720 * util/grub-script-check.c: grub-script-check tool.
25721 * conf/common.rmk: Make rules for grub-script-check.
25722
88d17012
RM
257232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25724
25725 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
25726 spotting it back in 2008. Shame on me for forgetting he did.
25727
25728 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
25729
8040619d
RM
257302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25731
25732 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
25733 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
25734 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
25735 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
25736 (GRUB_VIDEO_TYPE_EFI): Rename to ...
25737 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
25738
a0c2a0f6
RM
257392010-01-17 Robert Millan <rmh.grub@aybabtu.com>
25740
25741 * include/grub/test.h: Add license header.
25742 * tests/example_functional_test.c: Likewise.
25743 * tests/example_unit_test.c: Likewise.
25744 * tests/lib/functional_test.c: Likewise.
25745 * tests/lib/test.c: Likewise.
25746 * tests/lib/unit_test.c: Likewise.
25747
b0b13907
VS
257482010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
25749
25750 Use flag-based instead of hook-based video mode selection and "auto"
25751 keyword.
25752
25753 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
25754 (grub_video_set_mode): Changed prototype. All users updated.
25755 (grub_video_check_mode_flag): New inline function.
25756 * video/video.c (parse_modespec): New function.
25757 (grub_video_set_mode): Parse flags and keywords.
25758
ea379330 257592010-01-17 Carles Pina i Estany <carles@pina.cat>
25760
25761 * util/misc.c (grub_util_info): Fix the order of the parameters in a
25762 fprintf call.
25763
e15c215e
FZ
257642010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
25765
25766 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
25767
409ae1c9 257682010-01-16 Carles Pina i Estany <carles@pina.cat>
25769
25770 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
25771 string.
25772 * util/grub-emu.c (usage): Likewise.
25773 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
25774 * util/i386/efi/grub-mkimage.c (usage): Likewise.
25775 * util/i386/pc/grub-mkimage.c (usage): Likewise.
25776 * util/i386/pc/grub-setup.c (usage): Likewise.
25777
70a14d3d 257782010-01-16 Carles Pina i Estany <carles@pina.cat>
25779
25780 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
25781 the message.
25782 (grub_util_info): Likewise.
25783 (grub_util_error): Likewise.
25784 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
25785 and/or new lines in `grub_util_warna', `grub_util_info',
25786 `grub_util_error' calls.
25787 * util/getroot.c: Likewise.
25788 * util/grub-editenv.c: Likewise.
25789 * util/grub-emu.c: Likewise.
25790 * util/grub-fstest.c: Likewise.
25791 * util/grub-mkdevicemap.c: Likewise.
25792 * util/grub-mkfont.c: Likewise.
25793 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25794 * util/grub-mkrelpath.c: Likewise.
25795 * util/grub-pe2elf.c: Likewise.
25796 * util/grub-probe.c: Likewise.
25797 * util/hostdisk.c: Likewise.
25798 * util/i386/efi/grub-mkimage.c: Likewise.
25799 * util/i386/pc/grub-mkimage.c: Likewise.
25800 * util/i386/pc/grub-setup.c: Likewise.
25801 * util/ieee1275/ofpath.c: Likewise.
25802 * util/mkisofs/eltorito.c: Likewise.
25803 * util/mkisofs/rock.c: Likewise.
25804 * util/mkisofs/write.c: Likewise.
25805 * util/raid.c: Likewise.
25806 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25807 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25808
a0b766fc
VS
258092010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25810
25811 Enable multiboot on non-pc.
25812
25813 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
25814 multiboot.mod and multiboot2.mod to ...
25815 * conf/i386.rmk (pkglib_MODULES): ... here.
25816 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
25817 Moved to ...
25818 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
25819 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
25820 Moved to ...
25821 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
25822 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
25823 Moved to ...
25824 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
25825 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
25826 Moved to ...
25827 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
25828 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
25829 relocator.mod.
25830 (ata_mod_SOURCES): Removed.
25831 (ata_mod_CFLAGS): Likewise.
25832 (ata_mod_LDFLAGS): Likewise.
25833 (relocator_mod_SOURCES): Removed.
25834 (relocator_mod_CFLAGS): Likewise.
25835 (relocator_mod_ASFLAGS): Likewise.
25836 (relocator_mod_LDFLAGS): Likewise.
25837 Include i386.mk.
25838 * include/grub/x86_64/multiboot.h: New file.
25839 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
25840 Terminate EFI.
25841
884ade56
VS
258422010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25843
25844 Video multiboot support.
25845
25846 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
25847 New prototype.
25848 * include/multiboot.h: Resynced with multiboot specification.
25849 * include/multiboot2.h: Likewise.
25850 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
25851 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
25852 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
25853 (HAS_VGA_TEXT): Likewise.
25854 (accepts_video): New variable.
25855 (grub_multiboot_set_accepts_video): New function.
25856 (grub_multiboot_get_mbi_size): Account for video structures.
25857 (set_video_mode): New function.
25858 (retrieve_video_parameters): Likewise.
25859 (grub_multiboot_make_mbi): Fill video fields.
25860
0d90e8a6
VS
258612010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25862
25863 Video driver ids.
25864
25865 * include/grub/video.h (grub_video_driver_id): New type.
25866 (grub_video_adapter): New member 'id'. All users updated.
25867 (grub_video_get_driver_id): New proto.
25868 * video/video.c (grub_video_get_driver_id): New function.
25869
5c71db1b 258702010-01-14 Carles Pina i Estany <carles@pina.cat>
25871
25872 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
25873 `var=val'.
25874
cca15b52 258752010-01-14 Carles Pina i Estany <carles@pina.cat>
25876
25877 * normal/cmdline.c (print_completion): Gettextizze.
25878
c586fbb2 258792001-01-14 Carles Pina i Estany <carles@pina.cat>
25880
25881 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
25882
ba2f6848 258832010-01-14 Carles Pina i Estany <carles@pina.cat>
25884
25885 * gettext/gettext.c (grub_gettext_translate): Push and pop
25886 grub_errno.
25887 (grub_gettext_delete_list): Change comment style.
25888 * kern/err.c (grub_error): Gettextizze.
25889 (grub_fatal): Gettextizze.
25890
0a46429a
RM
258912010-01-14 Robert Millan <rmh.grub@aybabtu.com>
25892
25893 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
25894 (grub_linux16_real_boot): ... this.
25895 * kern/i386/loader.S: Likewise.
25896 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
25897 (grub_linux16_boot): New function. Switches to text mode and calls
25898 grub_linux16_real_boot().
25899
25900 * loader/i386/bsd.c: Include `<grub/video.h>'.
25901 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
25902 text mode before calling grub_unix_real_boot().
25903
25904 * loader/i386/multiboot.c: Include `<grub/video.h>'.
25905 (grub_multiboot_boot): Switch to text mode before calling
25906 grub_relocator32_boot().
25907
25908 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
25909 (grub_chainloader_boot): Switch to text mode before calling
25910 grub_chainloader_real_boot().
25911
d6f93a66
RM
259122010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
259132010-01-05 Colin Watson <cjwatson@ubuntu.com>
25914
25915 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
25916 non-empty value.
25917
259182010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
259192010-01-05 Colin Watson <cjwatson@ubuntu.com>
25920
25921 * util/grub.d/00_header.in: Define a "savedefault" function for use
25922 in menu entries.
25923 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
25924
259252010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
259262010-01-05 Colin Watson <cjwatson@ubuntu.com>
25927
25928 * util/grub-mkconfig_lib.in (save_default_entry): Only set
25929 saved_entry if boot_once is unset.
25930 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
25931 previous saved entry (i.e. grub-reboot).
25932
259332009-12-08 Colin Watson <cjwatson@ubuntu.com>
25934
25935 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
25936
259372009-12-08 Colin Watson <cjwatson@ubuntu.com>
25938
25939 * util/grub.d/00_header.in: Use `set var=val' rather than plain
25940 `var=val'.
25941 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
25942
259432009-12-08 Colin Watson <cjwatson@ubuntu.com>
25944
25945 * util/grub-reboot.in: Fix --version output.
25946 * util/grub-set-default.in: Likewise.
25947
259482009-12-08 Colin Watson <cjwatson@ubuntu.com>
25949
25950 * util/grub.d/00_header.in: Silently ignore zero-sized environment
25951 blocks.
25952
259532009-12-08 Colin Watson <cjwatson@ubuntu.com>
25954
25955 * util/grub.d/00_header.in: Quote the value assigned to `default',
25956 in case it contains spaces.
25957
259582009-12-08 Colin Watson <cjwatson@ubuntu.com>
25959
25960 * util/grub.d/30_os-prober.in: Fix merge error that moved a
25961 `save_default_entry' call from the macosx case to the linux case.
25962
259632009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
259642009-10-25 Colin Watson <cjwatson@ubuntu.com>
25965
25966 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
25967 in `chosen' environment variable.
25968 * normal/menu_text.c (get_entry_number): Check if the variable
25969 matches the title of a menu entry.
25970 (run_menu): Pass menu to get_entry_number.
25971
25972 * util/grub-reboot.in: New file.
25973 * util/grub-set-default.in: New file.
25974 * conf/common.rmk (grub-reboot): New utility.
25975 (grub-set-default): New utility.
25976
25977 * util/grub-mkconfig_lib.in (save_default_entry): New function.
25978 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
25979 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
25980 move it to `saved_entry' for the next boot. Load environment on
25981 initialisation.
25982 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
25983 * util/grub.d/10_hurd.in: Likewise.
25984 * util/grub.d/10_linux.in (linux_entry): Likewise.
25985 * util/grub.d/10_windows.in: Likewise.
25986 * util/grub.d/30_os-prober.in: Likewise.
25987
25988 * util/grub-install.in: Create environment block.
25989 * util/i386/efi/grub-install.in: Likewise.
25990 * util/ieee1275/grub-install.in: Likewise.
25991 * util/sparc64/ieee1275/grub-install.in: Likewise.
25992
0934d184
BC
259932010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
25994
25995 Unit testing framework for GRUB.
25996
25997 * Makefile.in: Test framework build rules for 'make check'.
25998 * conf/tests.rmk: Build rules for individual tests and framework.
25999
26000 * include/grub/test.h: Header file for whitebox tests.
26001 * tests/lib/functional_test.c: Framework support for whitebox
26002 functional tests.
26003 * tests/lib/test.c: Common whitebox testing code for unit and
26004 functional tests.
26005 * tests/lib/unit_test.c: Framework support for whitebox unit
26006 tests.
26007
26008 * tests/util/grub-shell-tester.in: Support utility for grub-script
26009 tests.
26010 * tests/util/grub-shell.in: Utility to execute grub-script
26011 commands in a Qemu instance.
26012
26013 * tests/example_functional_test.c: Example whitebox functional
26014 test.
26015 * tests/example_grub_script_test.in: Example grub-script test.
26016 * tests/example_scripted_test.in: Example scripted test.
26017 * tests/example_unit_test.c: Example whitebox unit test.
26018
9c4ffeeb
VS
260192010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
26020
26021 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
26022 Add loader/i386/multiboot_mbi.c.
26023 (multiboot2_mod_SOURCES): Likewise.
26024 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
26025 (multiboot2_mod_SOURCES): Likewise.
26026 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
26027 (grub_multiboot_make_mbi): Likewise.
26028 (grub_multiboot_free_mbi): Likewise.
26029 (grub_multiboot_init_mbi): Likewise.
26030 (grub_multiboot_add_module): Likewise.
26031 (grub_multiboot_set_bootdev): Likewise.
26032 * loader/i386/multiboot.c (mbi): Removed.
26033 (mbi_dest): Likewise.
26034 (alloc_mbi): New variable.
26035 (grub_multiboot_payload_size): Removed. All users updated.
26036 (grub_multiboot_pure_size): New variable.
26037 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
26038 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
26039 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
26040 (grub_fill_multiboot_mmap): Likewise.
26041 (grub_multiboot_get_bootdev): Likewise.
26042 (grub_multiboot): Use multiboot_mbi functions.
26043 * loader/i386/multiboot_mbi.c: New file.
26044
17383dfe
VS
260452010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26046
26047 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
26048 it would result in module crash.
26049
c1f28820
VS
260502010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26051
26052 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
26053 (grub_ofconsole_getwh): Split to ...
26054 (grub_ofconsole_getwh): ... this.
26055 (grub_ofconsole_dimensions): ...and this.
26056 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
26057
58655a16
RM
260582010-01-13 Robert Millan <rmh.grub@aybabtu.com>
26059
26060 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
26061
10891398
VS
260622010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26063
26064 * loader/i386/pc/multiboot2.c: Removed stalled file.
26065
0b8a223c
VS
260662010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26067
26068 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
26069 Reported by: Grégoire Sutre
26070
92ab12b0
RM
260712010-01-11 Robert Millan <rmh.grub@aybabtu.com>
26072
26073 * util/misc.c (canonicalize_file_name): New function.
26074 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
26075 instead of realpath().
26076
a788afb6
CW
260772010-01-11 Colin Watson <cjwatson@ubuntu.com>
26078
26079 * util/grub-install.in (usage): Clarify meaning of --root-directory,
26080 and make it clearer that it's optional. Based on confusion
26081 witnessed on IRC.
26082
ffa8e3d2
VS
260832010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26084
26085 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
26086 in premature implicit newline.
26087
e9060a9d
VS
260882010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26089
26090 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
26091 which resulted in garbled command line at the end of screen.
26092
f0d0c0b7
RM
260932010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26094
26095 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
26096 initialization with similar approach as with other Linux loaders.
26097
0e60bae7
RM
260982010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26099
26100 Fix i386-ieee1275 build.
26101
26102 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
26103 and grub_term_height() for video_{width,height} initialization.
26104
261052010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
26106
26107 Fix grub-emu build.
26108
26109 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
26110
cdb3f378
RM
261112010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
261122010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26113
26114 Support for multiple terminals.
26115
26116 * Makefile.in (pkglib_DATA): terminal.lst.
26117 (terminal.lst): New target.
26118 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
26119 (GRUB_MOD_INIT(handler)): Likewise.
26120 (GRUB_MOD_FINI(handler)): Likewise.
26121 * commands/help.c (grub_cmd_help): Handle multiple terminals.
26122 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
26123 * commands/sleep.c (do_print): Use grub_term_restore_pos.
26124 (grub_cmd_sleep): Use grub_term_save_pos.
26125 * commands/terminal.c: New file.
26126 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
26127 commands/terminal.c and lib/charset.c.
26128 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
26129 (pkglib_MODULES): Add terminal.mod.
26130 (terminal_mod_SOURCES): New variable.
26131 (terminal_mod_CFLAGS): Likewise.
26132 (terminal_mod_LDFLAGS): Likewise.
26133 * genhandlerlist.sh: Don't handle terminals.
26134 * genmk.rb: Generate terminal-*.lst.
26135 * genterminallist.sh: New file.
26136 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
26137 (grub_is_valid_utf8): Likewise.
26138 (grub_utf8_to_ucs4_alloc): Likewise.
26139 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
26140 (grub_menu_register_viewer): Changed argument.
26141 (grub_menu_try_text): New proto.
26142 (grub_gfxmenu_try_hook): New declaration.
26143 * include/grub/normal.h (grub_normal_exit_level): New declaration.
26144 (grub_menu_init_page): Additional argument term.
26145 (grub_normal_init_page): Likewise.
26146 (grub_cmdline_get): Arguments simplified.
26147 (grub_utf8_to_ucs4_alloc): Removed.
26148 (grub_print_ucs4): Additional argument term.
26149 (grub_getstringwidth): Likewise.
26150 (grub_print_message_indented): Likewise.
26151 (grub_menu_text_register_instances): New proto.
26152 (grub_show_menu): Likewise.
26153 (read_terminal_list): Likewise.
26154 (grub_set_more): Likewise.
26155 * include/grub/parser.h: Include handler.h.
26156 * include/grub/reader.h: Rewritten.
26157 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
26158 (GRUB_TERM_WIDTH): Changed to function.
26159 (GRUB_TERM_HEIGHT): Likewise.
26160 (GRUB_TERM_BORDER_WIDTH): Likewise.
26161 (GRUB_TERM_BORDER_HEIGHT): Likewise.
26162 (GRUB_TERM_NUM_ENTRIES): Likewise.
26163 (GRUB_TERM_ENTRY_WIDTH): Likewise.
26164 (GRUB_TERM_CURSOR_X): Likewise.
26165 (grub_term_input_class): Likewise.
26166 (grub_term_output_class): Likewise.
26167 (grub_term_outputs_disabled): New declaration.
26168 (grub_term_inputs_disabled): Likewise.
26169 (grub_term_outputs): Likewise.
26170 (grub_term_inputs): Likewise.
26171 (grub_term_register_input): Rewritten.
26172 (grub_term_register_output): Likewise.
26173 (grub_term_unregister_input): Likewise.
26174 (grub_term_unregister_output): Likewise.
26175 (FOR_ACTIVE_TERM_INPUTS): New macro.
26176 (FOR_DISABLED_TERM_INPUTS): Likewise.
26177 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26178 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26179 * include/grub/terminfo.h: Add oterm argument to all protypes.
26180 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
26181 Use grub_rescue_run.
26182 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
26183 All users updated.
26184 * kern/reader.c: Removed. All users updated.
26185 * kern/rescue_reader.c (grub_rescue_init): Removed.
26186 (grub_rescue_reader): Likewise.
26187 (grub_register_rescue_reader): Likewise.
26188 (grub_rescue_run): New function based on kern/reader.c.
26189 * kern/term.c: Adapted for multiterm.
26190 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
26191 (grub_is_valid_utf8): Likewise.
26192 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
26193 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
26194 right terminal.
26195 * loader/i386/linux.c (grub_linux_boot): Likewise.
26196 * normal/auth.c (grub_username_get): New function.
26197 (grub_auth_check_authentication): Use grub_username_get.
26198 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
26199 * normal/color.c: Adapt for multiterm.
26200 * normal/main.c (read_config_file): Don't use grub_reader_loop.
26201 (grub_normal_init_page): Additional argument term.
26202 (read_lists): Call read_terminal_lists.
26203 (grub_enter_normal_mode): Call grub_cmdline_run.
26204 Handle grub_normal_exit_level.
26205 (grub_cmd_normal): Make reentrant.
26206 (grub_cmd_normal_exit): New function.
26207 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
26208 * normal/menu.c: Adapt for multiterm.
26209 * normal/menu_entry.c: Likewise.
26210 * normal/menu_text.c: Likewise.
26211 * normal/menu_viewer.c: Removed. All users updated.
26212 * normal/term.c: New file.
26213 * util/console.c: Change order of includes to workaround a bug in
26214 ncurses headers.
26215 * term/terminfo.c: New argument oterm on all exported functions.
26216 All users updated.
26217 * util/grub-editenv.c (grub_term_input_class): Removed.
26218 (grub_term_output_class): Likewise.
26219
1a064917
RM
262202010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26221
26222 Make loader output a bit more user-friendly.
26223
26224 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
26225 is being loaded. Likewise for the Hurd.
26226
26227 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
26228 that kernel of FreeBSD ${version} is being loaded.
26229
26230 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
26231 grub_dprintf().
26232 (grub_cmd_initrd): Likewise.
26233 * util/grub.d/10_linux.in (linux_entry): Print message indicating
26234 that Linux ${version} is being loaded. Likewise for initrd.
26235
5ce0a83a 262362010-01-09 Carles Pina i Estany <carles@pina.cat>
26237
26238 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
26239
809bbfeb 262402010-01-08 Carles Pina i Estany <carles@pina.cat>
26241
26242 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
26243 (GRUB_MOD_INIT): Gettextizze.
26244 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
26245 (GRUB_MOD_INIT): Gettextizze.
26246 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
26247 (grub_cmd_linux): Capitalise Linux.
26248 (GRUB_MOD_INIT): Gettextizze.
26249 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
26250 (grub_cmd_linux): Capitalise Linux.
26251 (GRUB_MOD_INIT): Gettextizze.
26252 * loader/i386/linux.c: Include `<grub/i18n.h>'.
26253 (grub_cmd_linux): Capitalise Linux.
26254 (GRUB_MOD_INIT): Gettextizze.
26255 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
26256 (GRUB_MOD_INIT): Gettextizze.
26257 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
26258 (grub_cmd_linux): Capitalise Linux.
26259 (GRUB_MOD_INIT): Gettextizze.
26260 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
26261 (grub_cpu_xnu_init): Gettextizze.
26262 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
26263 (GRUB_MOD_INIT): Gettextizze.
26264 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
26265 (GRUB_MOD_INIT): Gettextizze.
26266 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
26267 (grub_linux_load64): Capitalise Linux.
26268 (GRUB_MOD_INIT): Gettextizze.
26269 * loader/xnu.c: Include `<grub/i18n.h>'.
26270 (GRUB_MOD_INIT): Gettextizze.
26271 * po/POTFILES: Add `loader/efi/appleloader.c',
26272 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
26273 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
26274 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
26275 `loader/i386/xnu.c', `loader/multiboot_loader.c',
26276 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
26277 and `loader/xnu.c'.
26278
b394b2ca
RM
262792010-01-08 Robert Millan <rmh.grub@aybabtu.com>
26280
26281 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
26282
262832010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
26284
26285 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
26286 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
26287 * util/mkisofs/mkisofs.c (main): Readjust --version output.
26288
bc8b32b3
RM
262892010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26290
26291 Reset Multiboot 2 support. New loader implements the draft in
26292 /branches/multiboot2 and shares as much code as possible with the
26293 production Multiboot 1 implementation.
26294
26295 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
26296 * loader/multiboot2.c: Likewise.
26297 * loader/i386/multiboot_helper.S: Likewise.
26298 * include/multiboot2.h: Replace with latest version from the draft
26299 in /branches/multiboot2.
26300
26301 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
26302 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
26303 and `loader/multiboot2.c'.
26304 (pkglib_MODULES): Add `multiboot2.mod'.
26305 (multiboot2_mod_SOURCES): New variable.
26306 (multiboot2_mod_LDFLAGS): Likewise.
26307 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
26308
26309 * conf/i386-pc.rmk: Likewise.
26310
26311 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26312 (multiboot_mod_SOURCES): Remove variable.
26313 (multiboot_mod_LDFLAGS): Likewise.
26314 (multiboot_mod_CFLAGS): Likewise.
26315
26316 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
26317 `<multiboot2.h>' instead of `<multiboot.h>'.
26318 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
26319 (MULTIBOOT_HEADER_MAGIC): New macros.
26320
26321 * loader/multiboot_loader.c (module_version_status): Remove variable.
26322 (find_multi_boot2_header): Remove function.
26323 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
26324 logic. Always check for the Multiboot version we're compiling for.
26325 (grub_cmd_module_loader): Likewise.
26326 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
26327 command instead of `multiboot'.
26328
5d2c52b8
RM
263292010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26330
26331 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
26332 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
26333 all users.
26334
53108d92
RM
263352010-01-07 Robert Millan <rmh.grub@aybabtu.com>
263362010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26337
26338 Fix breakage introduced with previous commit.
26339
26340 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
26341 commands.
26342 * normal/handler.c (read_handler_list): Revert part of previous commit
26343 affecting this file.
26344 * normal/main.c (read_lists): Move read_handler_list() call back to ...
26345 (grub_normal_execute): ... here.
26346
e2e936b2
RM
263472010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26348
26349 Merge prefix-redefinition-fix branch.
26350
26351 * normal/autofs.c (read_fs_list): Make function capable of being
26352 run multiple times, gracefuly replacing the previous data
26353 structures.
26354 * normal/dyncmd.c (read_command_list): Likewise.
26355 * normal/handler.c (read_handler_list): Likewise.
26356 * normal/main.c (read_lists): New function. Calls all the
26357 list reading functions.
26358 (grub_normal_execute): Use read_lists() instead of calling all
26359 list reading functions explicitly. Register read_lists() as a
26360 variable hook attached to ${prefix}.
26361
607a3701
VS
263622010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26363
26364 Merge crypto branch.
26365
26366 * Makefile.in (pkglib_DATA): Add crypto.lst.
26367 (crypto.lst): New target.
26368 * commands/hashsum.c: New file.
26369 * commands/password.c (check_password): Use grub_crypto_memcmp.
26370 * commands/password_pbkdf2.c: New file.
26371 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
26372 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
26373 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
26374 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
26375 -I$(srcdir)/lib/libgcrypt_wrap.
26376 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
26377 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
26378 password_pbkdf2.mod.
26379 (crypto_mod_SOURCES): New variable.
26380 (crypto_mod_CFLAGS): Likewise.
26381 (crypto_mod_LDFLAGS): Likewise.
26382 (hashsum_mod_SOURCES): New variable.
26383 (hashsum_mod_CFLAGS): Likewise.
26384 (hashsum_mod_LDFLAGS): Likewise.
26385 (pbkdf2_mod_SOURCES): New variable.
26386 (pbkdf2_mod_CFLAGS): Likewise.
26387 (pbkdf2_mod_LDFLAGS): Likewise.
26388 (password_pbkdf2_mod_SOURCES): New variable.
26389 (password_pbkdf2_mod_CFLAGS): Likewise.
26390 (password_pbkdf2_mod_LDFLAGS): Likewise.
26391 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
26392 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
26393 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
26394 Include conf/gcry.rmk.
26395 * include/grub/auth.h: Rewritten.
26396 * include/grub/crypto.h: New file.
26397 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
26398 * include/grub/normal.h (read_crypto_list): New prototype.
26399 * lib/crypto.c: New file.
26400 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
26401 * lib/pbkdf2.c: Likewise.
26402 * normal/auth.c (grub_auth_strcmp): Removed.
26403 (grub_iswordseparator): Likewise.
26404 (grub_auth_strword): Likewise.
26405 (is_authenticated): Use grub_strword.
26406 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
26407 and grub_strword. Pass entered password to authentication callback.
26408 * normal/crypto.c: New file.
26409 * normal/main.c: Call read_crypto_list.
26410 * util/grub-mkpasswd-pbkdf2.c: New file.
26411 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
26412
42841caa
VS
264132010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
26414
26415 Fix descent and ascent calculation.
26416
26417 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
26418 (options): New option "asce".
26419 (usage): Likewise.
26420 (add_char): Ignore invalid glyphs for descent calculation.
26421 Calculate ascent from actual content.
26422 (print_glyphs): Use 'asce'.
26423 (write_font): Likewise. Allow ascent override.
26424 (main): Handle "asce" option.
26425
e7730de7 264262010-01-06 Carles Pina i Estany <carles@pina.cat>
26427
26428 * kern/err.c: Include `<grub/i18n.h>'.
26429 (grub_print_error): Add full stop. Gettextizze.
26430 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
26431 (grub_bsd_load_elf): Capitalise ELF.
26432 (grub_cmd_freebsd_loadenv): Add `s' in error string.
26433 (grub_cmd_freebsd_module): Likewise.
26434 (grub_cmd_freebsd_module_elf): Likewise.
26435 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
26436
40e3a41f 264372010-01-06 Carles Pina i Estany <carles@pina.cat>
26438
26439 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
26440 * commands/search_file.c (HELP_MESSAGE): New macro.
26441 * commands/search_label.c (HELP_MESSAGE): Likewise.
26442 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
26443 * po/POTFILES: Add `commands/search_file.c',
26444 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
26445 `commands/search.c'.
26446
83507e68
RM
264472010-01-05 Robert Millan <rmh.grub@aybabtu.com>
26448
26449 * config.rpath: Update from Gnulib.
26450
465c787b
YB
264512010-01-05 Yves Blusseau <blusseau@zetam.org>
26452
26453 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
26454
6581dd3a
YB
264552010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
26456
26457 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
26458
3bff18c5
CW
264592010-01-05 Colin Watson <cjwatson@ubuntu.com>
26460
26461 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
26462 arguments to fread so that we get a return value in bytes, rather
26463 than something that will normally be rounded down to 0.
26464 Adjust error handling to avoid producing garbage when size_t is not
26465 the same size as long long.
26466
a1368118
CW
264672010-01-05 Colin Watson <cjwatson@ubuntu.com>
26468
26469 * util/mkisofs/write.c (padblock_write): Check return value of
26470 fread.
26471
7c302978
RM
264722010-01-05 Robert Millan <rmh.grub@aybabtu.com>
26473
26474 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
26475 floppy images now.
26476
26477 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
26478
e33ace06
RM
264792010-01-04 Robert Millan <rmh.grub@aybabtu.com>
26480
26481 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
26482 instead of manual alignment.
26483 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
26484 verbose). Avoid attempts to read past end of the device
26485 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
26486 but GRUB_DISK_CACHE_SIZE may exceed that).
26487
4b856776
RM
264882010-01-04 Robert Millan <rmh.grub@aybabtu.com>
26489
26490 * commands/crc.c (grub_cmd_crc): Abort on read errors.
26491 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
26492 it to upper layer.
26493
52c2d97f
VS
264942010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
26495
26496 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
26497 New constant.
26498 (grub_efi_piwg_device_path): New structure
26499 (grub_efi_piwg_device_path_t): New type.
26500 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
26501 (devpath_1): Transform to a structure. All users updated.
26502 (devpath_2): Likewise.
26503 (devpath_3): Likewise.
26504 (devpath_4): Likewise.
26505 (devpath_5): Likewise.
26506
98ff6a54
VS
265072010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
26508
26509 * loader/efi/appleloader.c: Restored. Update all users.
26510
3a73dcb6
RM
265112010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26512
26513 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
26514
26515 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
26516 (struct boot_blocklist): Move from here ...
26517 * include/grub/i386/pc/boot.h [ASM_FILE]
26518 (struct grub_boot_blocklist): ... to here. Update all users.
26519 (setup): Only initialize `start' member of `first_block'
26520 structure. Add assert() calls to verify the other members.
26521
26522 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
26523 (generate_image): Fix broken blocklist length initialization.
26524 Add assert() call to verify blocklist `segment' field.
26525
ab0eeb0c
RM
265262010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26527
26528 * loader/efi/appleloader.c: Remove. Update all users.
26529
58bc8bd5
RM
265302010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26531
26532 * boot/i386/pc/boot.S: Update copyright year.
26533 * boot/i386/pc/cdboot.S: Likewise.
26534 * boot/i386/pc/diskboot.S: Likewise.
26535 * boot/i386/pc/lnxboot.S: Likewise.
26536 * boot/i386/pc/pxeboot.S: Likewise.
26537 * bus/pci.c: Likewise.
26538 * commands/cmp.c: Likewise.
26539 * commands/help.c: Likewise.
26540 * commands/hexdump.c: Likewise.
26541 * commands/i386/pc/halt.c: Likewise.
26542 * commands/i386/pc/play.c: Likewise.
26543 * commands/i386/pc/vbeinfo.c: Likewise.
26544 * commands/ls.c: Likewise.
26545 * commands/test.c: Likewise.
26546 * disk/dmraid_nvidia.c: Likewise.
26547 * disk/i386/pc/biosdisk.c: Likewise.
26548 * disk/ieee1275/nand.c: Likewise.
26549 * disk/ieee1275/ofdisk.c: Likewise.
26550 * disk/lvm.c: Likewise.
26551 * disk/raid.c: Likewise.
26552 * disk/raid6_recover.c: Likewise.
26553 * disk/scsi.c: Likewise.
26554 * fs/affs.c: Likewise.
26555 * fs/cpio.c: Likewise.
26556 * fs/ext2.c: Likewise.
26557 * fs/hfs.c: Likewise.
26558 * fs/iso9660.c: Likewise.
26559 * fs/ntfs.c: Likewise.
26560 * fs/sfs.c: Likewise.
26561 * fs/udf.c: Likewise.
26562 * fs/ufs.c: Likewise.
26563 * fs/xfs.c: Likewise.
26564 * gencmdlist.sh: Likewise.
26565 * genmk.rb: Likewise.
26566 * include/grub/disk.h: Likewise.
26567 * include/grub/efi/api.h: Likewise.
26568 * include/grub/efi/efi.h: Likewise.
26569 * include/grub/efi/pe32.h: Likewise.
26570 * include/grub/elf.h: Likewise.
26571 * include/grub/fs.h: Likewise.
26572 * include/grub/i386/at_keyboard.h: Likewise.
26573 * include/grub/i386/pc/memory.h: Likewise.
26574 * include/grub/i386/pc/vbe.h: Likewise.
26575 * include/grub/i386/pci.h: Likewise.
26576 * include/grub/i386/tsc.h: Likewise.
26577 * include/grub/ieee1275/ieee1275.h: Likewise.
26578 * include/grub/ntfs.h: Likewise.
26579 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26580 * include/grub/sparc64/libgcc.h: Likewise.
26581 * include/grub/symbol.h: Likewise.
26582 * include/grub/types.h: Likewise.
26583 * include/multiboot2.h: Likewise.
26584 * io/gzio.c: Likewise.
26585 * kern/device.c: Likewise.
26586 * kern/disk.c: Likewise.
26587 * kern/efi/efi.c: Likewise.
26588 * kern/efi/mm.c: Likewise.
26589 * kern/elf.c: Likewise.
26590 * kern/file.c: Likewise.
26591 * kern/i386/dl.c: Likewise.
26592 * kern/i386/pc/init.c: Likewise.
26593 * kern/i386/pc/startup.S: Likewise.
26594 * kern/ieee1275/ieee1275.c: Likewise.
26595 * kern/ieee1275/init.c: Likewise.
26596 * kern/main.c: Likewise.
26597 * kern/mm.c: Likewise.
26598 * kern/powerpc/dl.c: Likewise.
26599 * kern/sparc64/dl.c: Likewise.
26600 * kern/x86_64/dl.c: Likewise.
26601 * lib/hexdump.c: Likewise.
26602 * loader/efi/appleloader.c: Likewise.
26603 * loader/i386/ieee1275/linux.c: Likewise.
26604 * loader/i386/pc/chainloader.c: Likewise.
26605 * loader/i386/pc/linux.c: Likewise.
26606 * loader/i386/pc/multiboot2.c: Likewise.
26607 * loader/ieee1275/multiboot2.c: Likewise.
26608 * loader/multiboot2.c: Likewise.
26609 * loader/multiboot_loader.c: Likewise.
26610 * loader/powerpc/ieee1275/linux.c: Likewise.
26611 * normal/completion.c: Likewise.
26612 * normal/menu_entry.c: Likewise.
26613 * partmap/apple.c: Likewise.
26614 * util/grub.d/10_hurd.in: Likewise.
26615 * util/hostfs.c: Likewise.
26616 * video/readers/png.c: Likewise.
26617
e2d70b5c
CW
266182010-01-03 Colin Watson <cjwatson@ubuntu.com>
26619
26620 * include/grub/misc.h (GNUC_PREREQ): New macro.
26621 (ATTRIBUTE_ERROR): New macro.
26622 * include/grub/list.h (grub_bad_type_cast_real): Use
26623 ATTRIBUTE_ERROR.
26624
a173283f 266252010-01-03 Carles Pina i Estany <carles@pina.cat>
26626
26627 * normal/menu_text.c (print_message): Change messages.
26628
7fa7ff74 266292010-01-03 Carles Pina i Estany <carles@pina.cat>
26630
26631 * normal/menu_entry.c (store_completion): Gettextizze.
26632
136d24f6 266332010-01-03 Carles Pina i Estany <carles@pina.cat>
26634
26635 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
26636
f936862e 266372010-01-03 Carles Pina i Estany <carles@pina.cat>
26638
26639 * po/POTFILES: Sort correctly.
26640
29c44ad1 266412010-01-03 Carles Pina i Estany <carles@pina.cat>
26642
26643 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
26644 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
26645 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
26646 full stop.
26647 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
26648 summary. Gettextizze the strings.
26649 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
26650 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
26651 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
26652 full stop.
26653 (GRUB_MOD_INIT): Remove command name from summary.
26654 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
26655 summary.
26656 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
26657 * term/i386/pc/serial.c (options): Add full stops.
26658 (GRUB_MOD_INIT): Remove command name from the summary.
26659
77a79592 266602010-01-03 Carles Pina i Estany <carles@pina.cat>
26661
26662 * commands/acpi.c: Gettextizze help strings and/or options. Include
26663 `grub/i18n.h' if needed.
26664 * commands/blocklist.c: Likewise.
26665 * commands/boot.c: Likewise.
26666 * commands/cat.c: Likewise.
26667 * commands/cmp.c: Likewise.
26668 * commands/configfile.c: Likewise.
26669 * commands/crc.c: Likewise.
26670 * commands/date.c: Likewise.
26671 * commands/echo.c: Likewise.
26672 * commands/efi/fixvideo.c: Likewise.
26673 * commands/efi/loadbios.c: Likewise.
26674 * commands/gptsync.c: Likewise.
26675 * commands/halt.c: Likewise.
26676 * commands/handler.c: Likewise.
26677 * commands/hdparm.c: Likewise.
26678 * commands/hexdump.c: Likewise.
26679 * commands/i386/cpuid.c: Likewise.
26680 * commands/i386/pc/drivemap.c: Likewise.
26681 * commands/i386/pc/halt.c: Likewise.
26682 * commands/i386/pc/pxecmd.c: Likewise.
26683 * commands/i386/pc/vbeinfo.c: Likewise.
26684 * commands/i386/pc/vbetest.c: Likewise.
26685 * commands/ieee1275/suspend.c: Likewise.
26686 * commands/keystatus.c: Likewise.
26687 * commands/loadenv.c: Likewise.
26688 * commands/ls.c: Likewise.
26689 * commands/lsmmap.c: Likewise.
26690 * commands/lspci.c: Likewise.
26691 * commands/memrw.c: Likewise.
26692 * commands/minicmd.c: Likewise.
26693 * commands/parttool.c: Likewise.
26694 * commands/password.c: Likewise.
26695 * commands/probe.c: Likewise.
26696 * commands/read.c: Likewise.
26697 * commands/reboot.c: Likewise.
26698 * commands/search.c: Likewise.
26699 * commands/sleep.c: Likewise.
26700 * commands/test.c: Likewise.
26701 * commands/true.c: Likewise.
26702 * commands/usbtest.c: Likewise.
26703 * commands/videotest.c: Likewise.
26704 * commands/xnu_uuid.c: Likewise.
26705 * disk/loopback.c: Likewise.
26706 * hello/hello.c: Likewise.
26707 * loader/i386/bsd.c: Likewise.
26708 * term/i386/pc/serial.c: Likewise.
26709 * po/POTFILES: Add new files.
26710
da8d5c53
CW
267112010-01-02 Colin Watson <cjwatson@ubuntu.com>
26712
26713 * term/i386/pc/at_keyboard.c
26714 (keyboard_controller_wait_untill_ready): Rename to ...
26715 (keyboard_controller_wait_until_ready): ... this. Update all users.
26716
33937904 267172010-01-01 Carles Pina i Estany <carles@pina.cat>
26718
26719 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
26720 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
26721 string using string width.
26722 * normal/menu_text.c (grub_print_message_indented): Use
26723 grub_print_spaces and not print_spaces.
26724 (print_timeout): Likewise.
26725 (print_spaces): Move to...
26726 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
26727
3fd3b8d8
RM
267282010-01-01 Robert Millan <rmh.grub@aybabtu.com>
26729
26730 Import from Gnulib.
26731
26732 * gnulib/getdelim.c: New file.
26733 * gnulib/getline.c: Likewise.
26734
33433555
VS
267352009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
26736
26737 * include/grub/list.h (grub_assert_fail): Removed.
26738 (grub_bad_type_cast_real): New function.
26739 (grub_bad_type_cast): New macro.
26740 (GRUB_AS_LIST): Use grub_bad_type_cast.
26741 (GRUB_AS_LIST_P): Likewise.
e44721e8 26742 (GRUB_AS_NAMED_LIST): Likewise.
33433555 26743 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 26744 (GRUB_AS_PRIO_LIST): Likewise.
33433555 26745 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 26746 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 26747
f5a51306
VS
267482009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
26749
26750 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
26751 Fix syntax error.
26752
90d1e879
RM
267532009-12-29 Robert Millan <rmh.grub@aybabtu.com>
26754
26755 * configure.ac: Check for TARGET_CFLAGS initialization before we
26756 initialize it ourselves (sigh).
26757 Move a few modifications to TARGET_CFLAGS to be unconditional
26758 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
26759 eh_frame)
26760
26761 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
26762 * term/i386/pc/at_keyboard.c
26763 (keyboard_controller_wait_untill_ready): Likewise.
26764 (keyboard_controller_led): Rename `led_status' paramter to avoid
26765 name conflict.
26766
465b5a81 267672009-12-28 Carles Pina i Estany <carles@pina.cat>
26768
26769 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
26770 quotes.
26771
c181849b
VS
267722009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26773
26774 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
26775
9c8739a4
VS
267762009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26777
26778 * normal/menu_text.c (grub_print_message_indented): Prevent
26779 past-the-end-of-array dereference.
26780
3e74249c
VS
267812009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26782
26783 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
26784 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
26785
64fd18ed 267862009-12-27 Carles Pina i Estany <carles@pina.cat>
26787
26788 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
26789 * normal/main.c (grub_normal_read_line): Remove a space from the
26790 default prompt.
26791
714af9b9 267922009-12-27 Carles Pina i Estany <carles@pina.cat>
26793
26794 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
26795 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26796 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
26797 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
26798 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26799 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26800 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26801
82f3e412 268022009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 26803
26804 * video/readers/jpeg.c (cmd): Declare.
26805 (grub_cmd_jpegtest): Use `grub_command_t' type.
26806 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26807 Assign to `cmd'.
26808 (GRUB_MOD_FINI): Use `cmd' to unregister.
26809 * video/readers/png.c (cmd): Declare.
26810 (grub_cmd_pngtest): Use `grub_command_t' type.
26811 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26812 Assign to `cmd'.
26813 (GRUB_MOD_FINI): Use `cmd' to unregister.
26814 * video/readers/tga.c (cmd): Declare.
26815 (grub_cmd_tgatest): Use `grub_command_t' type.
26816 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26817 Assign to `cmd'.
26818 (GRUB_MOD_FINI): Use `cmd' to unregister.
26819
82f3e412 268202009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 26821
26822 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
26823 stops.
26824 * kern/corecmd.c (grub_register_core_commands): Likewise.
26825 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
26826 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
26827 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
26828 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26829 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
26830 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
26831 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
26832 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
26833 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26834 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26835 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26836 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26837 * normal/handler.c (insert_handler): Likewise.
26838 * normal/main.c (GRUB_MOD_INIT): Likewise.
26839 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26840
fdcdbb66 268412009-12-26 Carles Pina i Estany <carles@pina.cat>
26842
26843 * commands/help.c (grub_cmd_help): Print the command name before the
26844 summary.
26845 (GRUB_MOD_INIT): Remove command name from the summary.
26846 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 26847 string as summary.
fdcdbb66 26848 * lib/arg.c (find_long): Print the command name before the summary.
26849 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
26850 summary.
26851 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
26852 * commands/cat.c (GRUB_MOD_INIT): Likewise.
26853 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
26854 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26855 * commands/crc.c (GRUB_MOD_INIT): Likewise.
26856 * commands/date.c (GRUB_MOD_INIT): Likewise.
26857 * commands/echo.c (GRUB_MOD_INIT): Likewise.
26858 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
26859 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
26860 * commands/handler.c (GRUB_MOD_INIT): Likewise.
26861 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
26862 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
26863 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
26864 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
26865 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
26866 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
26867 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
26868 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
26869 * commands/ls.c (GRUB_MOD_INIT): Likewise.
26870 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
26871 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
26872 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
26873 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
26874 * commands/password.c (GRUB_MOD_INIT): Likewise.
26875 * commands/probe.c (GRUB_MOD_INIT): Likewise.
26876 * commands/read.c (GRUB_MOD_INIT): Likewise.
26877 * commands/search.c (GRUB_MOD_INIT): Likewise.
26878 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
26879 * commands/test.c (GRUB_MOD_INIT): Likewise.
26880 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
26881 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26882 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26883 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
26884 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26885 * lib/arg.c (GRUB_MOD_INIT): Likewise.
26886 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
26887 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
26888 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26889 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26890 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26891 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
26892 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
26893 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
26894
9c288be2
VS
268952009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26896
26897 Use search command for preliminar UUID search.
26898
26899 * commands/search.c: Split into ...
26900 * commands/search_wrap.c: ...this
26901 * commands/search.c: ...and this.
26902 * commands/search_file.c: New file.
26903 * commands/search_label.c: New file.
26904 * commands/search_uuid.c: New file.
26905 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
26906 Add commands/search_wrap.c, commands/search_file.c,
26907 commands/search_label.c and commands/search_uuid.c.
26908 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
26909 (search_mod_SOURCES): Set to commands/search_wrap.c.
26910 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
26911 search_label.mod.
26912 (search_fs_file_mod_SOURCES): New variable.
26913 (search_fs_file_mod_CFLAGS): Likewise.
26914 (search_fs_file_mod_LDFLAGS): Likewise.
26915 (search_label_mod_SOURCES): Likewise.
26916 (search_label_mod_CFLAGS): Likewise.
26917 (search_label_mod_LDFLAGS): Likewise.
26918 (search_fs_uuid_mod_SOURCES): New variable.
26919 (search_fs_uuid_mod_CFLAGS): Likewise.
26920 (search_fs_uuid_mod_LDFLAGS): Likewise.
26921 (fs_file_mod_SOURCES): Removed.
26922 (fs_file_mod_CFLAGS): Likewise.
26923 (fs_file_mod_LDFLAGS): Likewise.
26924 (fs_uuid_mod_SOURCES): Removed.
26925 (fs_uuid_mod_CFLAGS): Likewise.
26926 (fs_uuid_mod_LDFLAGS): Likewise.
26927 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
26928 Set to util/grub-install.in.
26929 * disk/fs_file.c: Removed.
26930 * disk/fs_uuid.c: Likewise.
26931 * include/grub/search.h: New file.
26932 * util/grub-install.in: Handle sparc64.
26933 Create and use load.cfg.
26934 * util/sparc64/ieee1275/grub-install.in: Removed.
26935
db943399
VS
269362009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26937
26938 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
26939 Ignore return status if CF is cleared.
26940 (grub_biosdisk_get_diskinfo_standard): Likewise.
26941
3fdae612
RM
269422009-12-25 Robert Millan <rmh.grub@aybabtu.com>
26943
26944 * term/i386/pc/at_keyboard.c
26945 (keyboard_controller_wait_untill_ready): New function.
26946 (grub_keyboard_controller_write, grub_keyboard_controller_read)
26947 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
26948 for keyboard polling, rather than duplicate the same loop. This
26949 saves a few bytes in code size.
26950
7ebaa2b4
VS
269512009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26952
26953 Support for (pxe[:server[:gateway]]) syntax and
26954 use environment variable for PXE.
26955
26956 * commands/i386/pc/pxecmd.c (options): Removed.
26957 (print_ip): Removed.
26958 (grub_cmd_pxe): Removed
26959 (grub_cmd_pxe_unload): New function.
26960 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
26961 (grub_pxe_your_ip): Made static.
26962 (grub_pxe_default_server_ip): Likewise.
26963 (grub_pxe_default_gateway_ip): Likewise.
26964 (grub_pxe_blksize): Likewise.
26965 (parse_ip): New function.
26966 (grub_pxe_open): Support server and gateway specification.
26967 (grub_pxe_close): Free disk->data.
26968 (grub_pxefs_open): Use disk->data.
26969 (grub_pxefs_read): Likewise.
26970 (grub_env_write_readonly): New function.
26971 (set_mac_env): Likewise.
26972 (set_env_limn_ro): Likewise.
26973 (parse_dhcp_vendor): Likewise.
26974 (grub_pxe_detect): Set the environment variables.
26975 (set_ip_env): New function.
26976 (write_ip_env): Likewise.
26977 (grub_env_write_pxe_default_server): Likewise.
26978 (grub_env_write_pxe_default_gateway): Likewise.
26979 (grub_env_write_pxe_blocksize): Likewise.
26980 (GRUB_MOD_INIT(pxe)): Set environment variables.
26981 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
26982 (grub_pxe_mac_addr_t): ... this. All users updated.
26983 (grub_pxe_your_ip): Removed.
26984 (grub_pxe_server_ip): Likewise.
26985 (grub_pxe_gateway_ip): Likewise.
26986 (grub_pxe_blksize): Likewise.
26987
ec5f98ab 269882009-12-25 Carles Pina i Estany <carles@pina.cat>
26989
26990 * commands/help.c: Include `<grub/i18n.h>'.
26991 (grub_cmd_help): Gettextizze.
26992 (GRUB_MOD_INIT): Likewise.
26993 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
26994 (GRUB_MOD_INIT): Gettextizze.
26995 * commands/search.c: Include `<grub/i18n.h>'.
26996 (options): Gettextizze.
26997 (GRUB_MOD_INIT): Gettextizze.
26998 * lib/arg.c: Include `<grub/i18n.h>'.
26999 (help_options): Gettextizze.
27000 (find_long): Likewise.
27001 (grub_arg_show_help): Likewise.
27002 * normal/dyncmd.c: Include `<grub/i18n.h>'.
27003 (read_command_list): Gettextizze.
27004 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 27005 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 27006
22815526
RM
270072009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27008
27009 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
27010 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
27011 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
27012 (led_status): New variable.
27013 (keyboard_controller_led): New function.
27014 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
27015 update led status for caps lock, num lock and scroll lock.
27016
0ad46fd7
FZ
270172009-12-25 Felix Zielcke <fzielcke@z-51.de>
27018
27019 * util/hostdisk.c (open_device): Fix a comment.
27020
d0e158c2
RM
270212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27022
27023 * util/grub-install.in (host_os): New variable.
27024 * util/i386/efi/grub-install.in (host_os): Likewise.
27025
401c0ad6
RM
270262009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27027
27028 * util/mkisofs/write.c (padblock_write): Abort when given an
27029 excedingly large embed image, instead of silently truncating it.
27030
d14d3370
RM
270312009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27032
27033 * include/multiboot.h: Indentation fixes.
27034
eeed10b4
RM
270352009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27036
27037 * include/multiboot.h (struct multiboot_aout_symbol_table)
27038 (struct multiboot_elf_section_header_table): New structure
27039 declarations (stolen from GRUB Legacy).
27040 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
27041 table information.
27042
27043 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
27044 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
27045 type aliases.
27046
681c70ab
RM
270472009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27048
27049 * include/multiboot.h: Make comments src2texi-friendly.
27050
e4d47d8d
RM
270512009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27052
27053 For consistency with [multiboot]/docs/boot.S.
27054
27055 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
27056 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
27057 (MULTIBOOT_MAGIC2): Rename from this ...
27058 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
27059
a0b70bda
RM
270602009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27061
27062 * include/multiboot.h: Remove `<grub/types.h>'.
27063 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
27064 types. Update all users.
27065
61ba42be 270662009-12-25 Carles Pina i Estany <carles@pina.cat>
27067
27068 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
27069 `couldn't' and `can not' by `cannot'.
27070 * commands/i386/pc/drivemap.c: Likewise.
27071 * disk/ata.c: Likewise.
27072 * disk/ieee1275/nand.c: Likewise.
27073 * fs/affs.c: Likewise.
27074 * fs/fat.c: Likewise.
27075 * fs/hfs.c: Likewise.
27076 * fs/hfsplus.c: Likewise.
27077 * fs/iso9660.c: Likewise.
27078 * fs/jfs.c: Likewise.
27079 * fs/minix.c: Likewise.
27080 * fs/reiserfs.c: Likewise.
27081 * fs/sfs.c: Likewise.
27082 * fs/udf.c: Likewise.
27083 * fs/ufs.c: Likewise.
27084 * fs/xfs.c: Likewise.
27085 * loader/powerpc/ieee1275/linux.c: Likewise.
27086 * loader/sparc64/ieee1275/linux.c: Likewise.
27087 * util/grub-probe.c: Likewise.
27088 * util/misc.c: Likewise.
27089
7fd0baee 270902009-12-24 Carles Pina i Estany <carles@pina.cat>
27091
27092 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
27093 grub_errno calls.
27094 * commands/acpi.c: Likewise.
27095 * commands/blocklist.c: Likewise.
27096 * commands/efi/loadbios.c: Likewise.
27097 * commands/i386/pc/drivemap.c: Likewise.
27098 * commands/loadenv.c: Likewise.
27099 * commands/memrw.c: Likewise.
27100 * commands/password.c: Likewise.
27101 * commands/videotest.c: Likewise.
27102 * disk/ata.c: Likewise.
27103 * disk/ata_pthru.c: Likewise.
27104 * disk/dmraid_nvidia.c: Likewise.
27105 * disk/ieee1275/nand.c: Likewise.
27106 * disk/ieee1275/ofdisk.c: Likewise.
27107 * disk/loopback.c: Likewise.
27108 * disk/lvm.c: Likewise.
27109 * disk/mdraid_linux.c: Likewise.
27110 * disk/raid.c: Likewise.
27111 * disk/raid6_recover.c: Likewise.
27112 * disk/scsi.c: Likewise.
27113 * efiemu/main.c: Likewise.
27114 * efiemu/mm.c: Likewise.
27115 * efiemu/pnvram.c: Likewise.
27116 * efiemu/symbols.c: Likewise.
27117 * font/font.c: Likewise.
27118 * fs/cpio.c: Likewise.
27119 * fs/hfsplus.c: Likewise.
27120 * fs/iso9660.c: Likewise.
27121 * fs/jfs.c: Likewise.
27122 * fs/minix.c: Likewise.
27123 * fs/ntfs.c: Likewise.
27124 * fs/ntfscomp.c: Likewise.
27125 * fs/reiserfs.c: Likewise.
27126 * fs/ufs.c: Likewise.
27127 * fs/xfs.c: Likewise.
27128 * gettext/gettext.c: Likewise.
27129 * include/grub/auth.h: Likewise.
27130 * kern/elf.c: Likewise.
27131 * kern/file.c: Likewise.
27132 * kern/ieee1275/init.c: Likewise.
27133 * kern/ieee1275/mmap.c: Likewise.
27134 * kern/ieee1275/openfw.c: Likewise.
27135 * kern/powerpc/dl.c: Likewise.
27136 * kern/sparc64/dl.c: Likewise.
27137 * lib/arg.c: Likewise.
27138 * loader/i386/bsd.c: Likewise.
27139 * loader/i386/bsdXX.c: Likewise.
27140 * loader/i386/efi/linux.c: Likewise.
27141 * loader/i386/efi/xnu.c: Likewise.
27142 * loader/i386/ieee1275/linux.c: Likewise.
27143 * loader/i386/linux.c: Likewise.
27144 * loader/i386/multiboot.c: Likewise.
27145 * loader/i386/pc/linux.c: Likewise.
27146 * loader/i386/pc/multiboot2.c: Likewise.
27147 * loader/i386/xnu.c: Likewise.
27148 * loader/ieee1275/multiboot2.c: Likewise.
27149 * loader/macho.c: Likewise.
27150 * loader/machoXX.c: Likewise.
27151 * loader/multiboot2.c: Likewise.
27152 * loader/multiboot_loader.c: Likewise.
27153 * loader/powerpc/ieee1275/linux.c: Likewise.
27154 * loader/sparc64/ieee1275/linux.c: Likewise.
27155 * loader/xnu.c: Likewise.
27156 * loader/xnu_resume.c: Likewise.
27157 * mmap/i386/pc/mmap.c: Likewise.
27158 * normal/menu_viewer.c: Likewise.
27159 * partmap/acorn.c: Likewise.
27160 * partmap/amiga.c: Likewise.
27161 * partmap/apple.c: Likewise.
27162 * script/lexer.c: Likewise.
27163 * term/gfxterm.c: Likewise.
27164 * term/i386/pc/serial.c: Likewise.
27165 * term/i386/pc/vga.c: Likewise.
27166 * term/ieee1275/ofconsole.c: Likewise.
27167 * term/terminfo.c: Likewise.
27168 * video/bitmap.c: Likewise.
27169 * video/efi_gop.c: Likewise.
27170 * video/efi_uga.c: Likewise.
27171 * video/fb/video_fb.c: Likewise.
27172 * video/i386/pc/vbe.c: Likewise.
27173 * video/readers/tga.c: Likewise.
27174 * video/video.c: Likewise.
27175
0ad46fd7 271762009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
27177
27178 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
27179 * commands/lspci.c: Likewise.
27180 * commands/probe.c: Likewise.
27181 * commands/xnu_uuid.c: Likewise.
27182 * conf/i386-coreboot.rmk: Likewise.
27183 * conf/i386-efi.rmk: Likewise.
27184 * conf/i386-ieee1275.rmk: Likewise.
27185 * conf/i386-pc.rmk: Likewise.
27186 * conf/powerpc-ieee1275.rmk: Likewise.
27187 * conf/sparc64-ieee1275.rmk: Likewise.
27188 * conf/x86_64-efi.rmk: Likewise.
27189 * fs/i386/pc/pxe.c: Likewise.
27190 * gettext/gettext.c: Likewise.
27191 * include/grub/efi/graphics_output.h: Likewise.
27192 * include/grub/i386/pc/memory.h: Likewise.
27193 * kern/env.c: Likewise.
27194 * kern/i386/qemu/startup.S: Likewise.
27195 * lib/i386/pc/biosnum.c: Likewise.
27196 * lib/i386/relocator.c: Likewise.
27197 * lib/i386/relocator_asm.S: Likewise.
27198 * lib/relocator.c: Likewise.
27199 * loader/i386/bsd.c: Likewise.
27200 * loader/i386/multiboot.c: Likewise.
27201 * loader/i386/pc/chainloader.c: Likewise.
27202 * loader/i386/xnu.c: Likewise.
27203 * loader/xnu.c: Likewise.
27204 * normal/main.c: Likewise.
27205 * normal/menu_text.c: Likewise.
27206 * util/getroot.c: Likewise.
27207 * util/grub-mkconfig_lib.in: Likewise.
27208 * util/grub.d/00_header.in: Likewise.
27209 * util/i386/pc/grub-mkimage.c: Likewise.
27210 * util/mkisofs/eltorito.c: Likewise.
27211 * util/mkisofs/exclude.h: Likewise.
27212 * util/mkisofs/hash.c: Likewise.
27213 * util/mkisofs/iso9660.h: Likewise.
27214 * util/mkisofs/joliet.c: Likewise.
27215 * util/mkisofs/mkisofs.c: Likewise.
27216 * util/mkisofs/mkisofs.h: Likewise.
27217 * util/mkisofs/multi.c: Likewise.
27218 * util/mkisofs/name.c: Likewise.
27219 * util/mkisofs/rock.c: Likewise.
27220 * util/mkisofs/tree.c: Likewise.
27221 * util/mkisofs/write.c: Likewise.
27222 * video/efi_gop.c: Likewise.
27223
009ec743
VS
272242009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
27225
27226 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
27227 size counting.
27228
0ad46fd7 272292009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
27230
27231 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
27232 * genmk.rb (class SCRIPT): Modify the target file instead of source.
27233
d3d30ea0
VS
272342009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27235
27236 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
27237 (GRUB_MOD_INIT(memrw)): Update help line.
27238
a34f5c70
VS
272392009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27240
27241 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
27242 Use grub_extcmd_t. All users updated.
27243 (options): New variable.
27244 (grub_cmd_read): Restructure for readability. Support "-v" option.
27245 (grub_cmd_write): Restructure for readability.
27246
0ad46fd7 272472009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
27248
27249 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
27250
0ad46fd7 272512009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
27252
27253 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
27254 with the actual contents of the correspondending make variable.
27255 * util/grub-mkrescue.in (pkglib_DATA): New variable.
27256 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
27257 specifying `*.lst' and `efiemu??.o'
27258
0ad46fd7 272592009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
27260
27261 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
27262 after function name.
27263 Noticed by Rene Engelhard <rene@debian.org>.
27264
dc77a799
VS
272652009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27266
27267 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
27268 (options): New variable.
27269 (iospace): Likewise.
27270 (grub_lspci_iter): List IO spaces if "-i" was given.
27271 (grub_cmd_lspci): Parse options.
27272 (GRUB_MOD_INIT(lspci)): Use extcmd.
27273 (GRUB_MOD_FINI(lspci)): Likewise.
27274
0ad46fd7 272752009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
27276
27277 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
27278 `function' keyword.
27279 Patch by Tony Mancill <tmancill@debian.org>.
27280
b5d5993b
VS
272812009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27282
27283 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
27284 (grub_uhci_portstatus): Likewise.
27285 (grub_uhci_portstatus): Add necessary delay.
11d18281 27286 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 27287
941903f2 272882009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 27289
941903f2 27290 * commands/acpi.c (options): Fix capitalizations and/or full stops.
27291 (GRUB_MOD_INIT): Likewise.
27292 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 27293 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
27294 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 27295 * commands/efi/loadbios.c (enable_rom_area): Likewise.
27296 (enable_rom_area): Likewise.
27297 (GRUB_MOD_INIT): Likewise.
27298 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27299 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
27300 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27301 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
27302 * commands/hexdump.c (options): Likewise.
27303 * commands/i386/cpuid.c (options): Likewise.
27304 (GRUB_MOD_INIT): Likewise.
27305 * commands/i386/pc/drivemap.c (options): Likewise.
27306 (GRUB_MOD_INIT): Likewise.
27307 * commands/i386/pc/halt (options): Likewise.
27308 (GRUB_MOD_INIT): Likewise.
27309 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27310 * commands/i386/pc/pxecmd.c (options): Likewise.
27311 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
27312 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
27313 * commands/keystatus.c (options): Likewise.
27314 (GRUB_MOD_INIT): Likewise.
27315 * commands/loadenv.c (options): Likewise.
27316 * commands/ls.c (options): Likewise.
27317 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27318 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27319 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27320 * commands/parttool.c (helpmsg): Likewise.
27321 * commands/probe.c (options): Likewise.
27322 * commands/read.c (GRUB_MOD_INIT): Likewise.
27323 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
27324 * commands/search.c (options): Likewise.
27325 * commands/sleep.c (options): Likewise.
27326 * commands/test.c (GRUB_MOD_INIT): Likewise.
27327 * commands/true.c (GRUB_MOD_INIT): Likewise.
27328 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
27329 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
27330 * lib/arg.c (help_options): Likewise.
e9bbb4e7 27331 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
27332 `$(XGETTEXT)'.
98a50553 27333 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 27334
0ad46fd7 273352009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 27336
ef3c2c3a 27337 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
27338 instead of specifying them explicit.
27339
7922f68b
RM
273402009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27341
27342 * NEWS: Add grub-probe support for GNU/Hurd.
27343
537ce47f
RM
273442009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27345
27346 * NEWS: gettext was added after 1.97.
27347
9b214e3a
RM
273482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27349
27350 * util/mkisofs/msdos_partition.h: New file (based on
27351 include/grub/msdos_partition.h).
27352 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
27353 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
27354 (ld_options, main): Recognize --protective-msdos-label.
27355 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
27356 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
27357 (padblock_write): If `use_protective_msdos_label' is set, patch a
27358 protective DOS-style label in the output image.
27359
27360 * util/grub-mkrescue.in: Use --protective-msdos-label.
27361
e9309813
RM
273622009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27363
27364 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
27365 boot.
27366
0ae56929
RM
273672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27368
27369 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
27370 variables.
27371 (ld_options, main): Recognize `--embedded-boot'.
27372 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
27373 declarations.
27374 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
27375 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
27376 (padblock_write): Likewise. Rewrite to support embedded boot image.
27377
27378 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
27379 for BIOS-based disk boot instead of only ElTorito.
27380
b15937b1
RM
273812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27382
27383 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
27384 build (not needed for bootstrap).
27385
52cc3ce0
RM
273862009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27387
27388 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
27389 from i386-pc build (not needed for bootstrap).
27390 Rewrite a pair of strings.
27391
36f5ff04
RM
273922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27393
27394 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
27395
973c6c85 273962009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
27397
27398 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
27399
05d21547
AB
274002009-12-21 Andreas Born <futur.andy@googlemail.com>
27401
27402 * kern/env.c (grub_env_context_open): Mark exported variable for
27403 reexport.
27404
0175d51f
AB
274052009-12-21 Andreas Born <futur.andy@googlemail.com>
27406
27407 * kern/env.c (grub_env_export): Create nonexistent variables before
27408 exporting.
27409
7f39d92f 274102009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 27411
7f39d92f 27412 * include/grub/auth.h: Include `<grub/i18n.h>'.
27413 (GRUB_GET_PASSWORD): Gettextizze string.
27414 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
27415 menu_text.c.
27416 (grub_utf8_to_ucs4_alloc): Fix indentation.
27417 (grub_print_ucs4): Likewise.
27418 (grub_getstringwidth): Likewise.
27419 (print_message_indented): New declaration.
27420 * normal/auth.c: Include `<grub/i18n.h>'.
27421 (grub_auth_check_authentication): Gettexttize string.
27422 * normal/cmdline.c: Include `<grub/i18n.h>'.
27423 (grub_cmdline_get): Gettextizze.
27424 * normal/color.c: Include `<grub/i18n.h>'.
27425 (grub_parse_color_name_pair): Gettexttize strings.
27426 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
27427 string (use `print_message_indented').
27428 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
27429 `include/grub/normal.h'.
27430 (print_message_indented): Renamed to ...
27431 (grub_print_message_indented): ... this. Remove `static' qualifer (now
27432 used in normal/main.c).
27433 (print_message): Use `grub_print_message_indented' instead of
27434 `print_message_indented'.
27435 (print_timeout): Likewise.
27436 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
27437 (grub_normal_print_device_info): Gettexttize strings.
27438 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
27439
3041d898
VS
274402009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
27441
27442 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
27443 of arguments. Return number of tokens and not arguments. All users
27444 updated.
27445
de15bf8e
VS
274462009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
27447
27448 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
27449 non-MSDOS paritions.
27450
e0a6ca52
VS
274512009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
27452
27453 * include/grub/types.h (UNUSED): Removed since it conflicts with
27454 NetBSD headers. All users changed to direct __attribute__ ((unused)).
27455 Reported by Grégoire Sutre.
27456
b99518d1 274572009-12-19 Carles Pina i Estany <carles@pina.cat>
27458
27459 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
27460 (grub_print_ucs4_alloc): Likewise.
27461 (grub_getstringwidth): Likewise.
27462 * normal/main.c (grub_normal_init_page): Gettextize version string.
27463 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
27464 (getstringwidth): Renamed to ...
27465 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
27466 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
27467 (grub_print_ucs4): Remove `static' qualifer (now used in
27468 normal/main.c).
27469 * po/POTFILES: Add normal/main.c.
27470
bfd5e52b 274712009-12-19 Carles Pina i Estany <carles@pina.cat>
27472
27473 * normal/menu_text.c (STANDARD_MARGIN): New macro.
27474 (print_message_indented): Add `margin_left' and `margin_right'
27475 parameters.
27476 (print_message): Update `print_message_indented' calls. Adds '\n' to the
27477 strings.
27478 (print_timeout): Use `print_message_indented' to print the message.
27479 Deletes `second_stage' parameter.
27480 (run_menu): Update `print_timeout' calls.
27481
5a1ad2b9
VS
274822009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27483
27484 Fix console palette on OpenFirmware.
27485
27486 * term/ieee1275/ofconsole.c (MAX): Removed.
27487 (colors): Redone based on VGA palette.
27488 (grub_ofconsole_setcolor): Discard brightness bit since only 8
27489 colors are supported.
27490 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
27491
b045f00a
VS
274922009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27493
27494 Fix potential EfiEmu double prepare.
27495
27496 * efiemu/main.c (prepared): New variable
27497 (grub_efiemu_unload): Set prepare to '0'.
27498 (grub_efiemu_prepare): Return if already prepared. Set prepared.
27499
27500 set_virtual_address_map support.
27501
27502 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
27503 prototype.
27504 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
27505 prototype.
27506 (grub_efiemu_crc32): Likewise.
27507 (grub_efiemu_crc64): Likewise.
27508 (grub_efiemu_set_virtual_address_map): Likewise.
27509 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
27510 New definition.
27511 (grub_autoefi_set_virtual_address_map): Likewise.
27512 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
27513 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
27514 Restructure flow to accomodate it.
27515 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
27516 (grub_efiemu_crc): Recompute CRC32.
27517 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
27518 (efiemu_ptv_relocated): ... this. Made global. All users updated.
27519 * efiemu/symbols.c (relocated_handle): New variable.
27520 (grub_efiemu_free_syms): Free relocated_handle.
27521 (grub_efiemu_alloc_syms): Allocate relocated_handle.
27522 (grub_efiemu_write_sym_markers): New function.
27523 (grub_efiemu_set_virtual_address_map): Likewise.
27524
27525 Newer XNU parameters.
27526
27527 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
27528 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
27529 (grub_xnu_fill_devicetree): New prototype.
27530 (grub_xnu_heap_real_start): New variable.
27531 * loader/xnu.c (get_name_ptr): New function.
27532 (grub_xnu_load_driver): Fill namelen and name.
27533
27534 64-bit xnu support.
27535
27536 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
27537 and 'loader/macho64.c'.
27538 * conf/i386-pc.rmk: Likewise.
27539 * conf/x86_64-efi.rmk: Likewise.
27540 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
27541 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
27542 * include/grub/macho.h (grub_macho_segment64): New structure.
27543 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
27544 (grub_macho_size32): ... to this.
27545 (grub_macho32_get_entry_point): Renamed from ...
27546 (grub_macho_get_entry_point32): ... to this.
27547 (grub_macho_contains_macho64): New prototype.
27548 (grub_macho_size64): Likewise.
27549 (grub_macho_get_entry_point64): Likewise.
27550 (grub_macho32_load): Renamed from ...
27551 (grub_macho_load32): ... to this.
27552 (grub_macho32_filesize): Renamed from ...
27553 (grub_macho_filesize32): ... to this.
27554 (grub_macho32_readfile): Renamed from ...
27555 (grub_macho_readfile32): ... to this.
27556 (grub_macho_filesize64): New prototype.
27557 (grub_macho_readfile64): Likewise.
27558 (grub_macho_parse32): Likewise.
27559 (grub_macho_parse64): Likewise.
27560 * loader/macho.c: Split into ...
27561 * loader/machoXX.c: ... and this. Replace 32 with XX.
27562 * loader/macho32.c: New file.
27563 * loader/macho64.c: Likewise.
27564 * loader/xnu.c (grub_xnu_is_64bit): New variable.
27565 (grub_cmd_xnu_kernel): Make 32-bit only.
27566 (grub_cmd_xnu_kernel64): New function.
27567 (grub_xnu_load_driver): Support Mach-O 64.
27568 (grub_cmd_xnu_mkext): Likewise.
27569 * util/grub.d/30_os-prober.in (osx_entry): New function.
27570 Generate entries for 64-bit boot too.
27571
27572 Eliminate ad-hoc tree format in XNU and EfiEmu.
27573
27574 * efiemu/main.c (grub_efiemu_prepare): Update comment.
27575 * efiemu/pnvram.c: Rewritten to use environment variables.
27576 All users updated.
27577
27578 Inline utf16_to_utf8.
27579
27580 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
27581 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
27582 All users updated.
27583 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
27584
27585 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
27586 * commands/usbtest.c (grub_usb_get_string): ... move here.
27587 (usb_print_str): Fix error handling.
27588 * include/grub/usb.h (grub_usb_get_string): Remove.
27589
27590 UTF-8 to UTF-16 transformation.
27591
27592 * conf/common.rmk (pkglib_MODULES): Add charset.mod
27593 (charset_mod_SOURCES): New variable.
27594 (charset_mod_CFLAGS): Likewise.
27595 (charset_mod_LDFLAGS): Likewise.
27596 * include/grub/utf.h: New file.
27597 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
27598
27599 Support for device properties.
27600
27601 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
27602 (grub_xnu_devprop_device_header): Likewise.
27603 (grub_xnu_devprop_device_descriptor): Likewise.
27604 (grub_xnu_devprop_add_device): New prototype.
27605 (grub_xnu_devprop_remove_device): Likewise.
27606 (grub_xnu_devprop_remove_property): Likewise.
27607 (grub_xnu_devprop_add_property_utf8): Likewise.
27608 (grub_xnu_devprop_add_property_utf16): Likewise.
27609 (grub_cpu_xnu_init): Likewise.
27610 (grub_cpu_xnu_fini): Likewise.
27611 (grub_cpu_xnu_unload): Likewise.
27612 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
27613 (property_descriptor): Likewise.
27614 (devices): New variable.
27615 (grub_xnu_devprop_remove_property): New function.
27616 (grub_xnu_devprop_add_device): Likewise.
27617 (grub_xnu_devprop_remove_device): Likewise.
27618 (grub_xnu_devprop_add_property): Likewise.
27619 (grub_xnu_devprop_add_property_utf8): Likewise.
27620 (grub_xnu_devprop_add_property_utf16): Likewise.
27621 (hextoval): Likewise.
27622 (grub_cpu_xnu_fill_devprop): Likewise.
27623 (grub_cmd_devprop_load): Likewise.
27624 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
27625 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
27626 (cmd_devprop_load): New variable.
27627 (grub_cpu_xnu_init): New function.
27628 (grub_cpu_xnu_fini): Likewise.
27629 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
27630 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
27631 (grub_cmd_xnu_devtree): Likewise.
27632 (hextoval): New function.
27633 (unescape): Likewise.
27634 (grub_xnu_fill_devicetree): Likewise.
27635
27636 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
27637 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
27638
0945f181
VS
276392009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27640
27641 Workaround for broken ATI VBE.
27642
27643 * video/i386/pc/vbe.c (last_set_mode): New variable.
27644 (grub_vbe_set_video_mode): Set 'last_set_mode'.
27645 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
27646 (grub_video_vbe_setup): Don't check for reserved flag.
27647
0ad46fd7 276482009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
27649
27650 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
27651 the `find' command.
27652
c179ebe4
VS
276532009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
27654
27655 UUID support for HFS.
27656
27657 * fs/hfs.c (grub_hfs_uuid): New function.
27658 (grub_hfs_fs): New value .uuid.
27659 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
27660
0ad46fd7 276612009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
27662
27663 Fix a segfault with parsing unknown long options.
27664
27665 * util/grub-mkrelpath.c (options): Zero terminate it.
27666
c4a3e41a
CPE
276672009-12-13 Carles Pina i Estany <carles@pina.cat>
27668
27669 * include/grub/misc.h (grub_puts): New declaration.
27670 (grub_puts_): Likewise.
a22008a6 27671 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
27672 (grub_puts_): Likewise.
27673
2e8a7602
RM
276742009-12-13 Robert Millan <rmh.grub@aybabtu.com>
27675
27676 * util/grub-probe.c (probe): Improve error message.
27677
b50b77b9
RM
276782009-12-13 Robert Millan <rmh.grub@aybabtu.com>
27679
27680 * loader/i386/multiboot_elfxx.c
27681 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
27682 initialization.
27683
276842009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
27685
27686 Relocator framework
27687
27688 * loader/i386/xnu_helper.S: Removed. All users updated.
27689 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
27690 (relocator_mod_SOURCES): New variable.
27691 (relocator_mod_CFLAGS): Likewise.
27692 (relocator_mod_LDFLAGS): Likewise.
27693 (relocator_mod_ASFLAGS): Likewise.
27694 * conf/x86_64.rmk: Likewise.
27695 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
27696 (grub_multiboot_payload_entry_offset): Likewise.
27697 (grub_multiboot_forward_relocator): Likewise.
27698 (grub_multiboot_forward_relocator_end): Likewise.
27699 (grub_multiboot_backward_relocator): Likewise.
27700 (grub_multiboot_backward_relocator_end): Likewise.
27701 (grub_multiboot_payload_eip): New variable.
27702 (grub_multiboot_payload_orig): Likewise.
27703 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
27704 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
27705 * include/grub/i386/memory.h
27706 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
27707 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
27708 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
27709 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
27710 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
27711 * include/grub/i386/relocator.h: New file.
27712 * include/grub/x86_64/relocator.h: Likewise.
27713 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
27714 (XNU_RELOCATOR): New macro.
27715 (grub_xnu_launcher_start): Remove.
27716 (grub_xnu_launcher_end): Likewise.
27717 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
27718 (grub_xnu_heap_real_start): Remove.
27719 (grub_xnu_heap_start): Change to void *. All users updated.
27720 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
27721 * lib/i386/relocator.c: New file.
27722 * lib/i386/relocator_asm.S: Likewise.
27723 * lib/i386/relocator_backward.S: Likewise.
27724 * lib/mips/relocator.c: Likewise.
27725 * lib/mips/relocator_asm.S: Likewise.
27726 * lib/relocator.c: Likewise.
27727 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
27728 (entry): Removed.
27729 (playground): Likewise.
27730 (grub_multiboot_payload_orig): New variable.
27731 (grub_multiboot_payload_dest): Likewise.
27732 (grub_multiboot_payload_size): Likewise.
27733 (grub_multiboot_payload_eip): Likewise.
27734 (grub_multiboot_payload_esp): Likewise.
27735 (grub_multiboot_boot): Use grub_relocator32_boot.
27736 (grub_multiboot_unload): Free relocators.
27737 (grub_multiboot): Setup stack. Use relocators.
27738 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
27739 (grub_multiboot_load_elfXX): Use relocators.
27740 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
27741 (grub_multiboot_payload_size): Likewise.
27742 (grub_multiboot_payload_dest): Likewise.
27743 (grub_multiboot_payload_entry_offset): Likewise.
27744 (grub_multiboot_forward_relocator): Likewise.
27745 (grub_multiboot_backward_relocator): Likewise.
27746 (grub_multiboot_real_boot): Likewise.
27747 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
27748 (grub_xnu_entry_point): Likewise.
27749 (grub_xnu_arg1): Likewise.
27750 (grub_xnu_stack): Likewise.
27751 (grub_xnu_launch): Removed.
27752 (grub_xnu_boot_resume): New function.
27753 (grub_xnu_boot): Use relocators.
27754 * loader/i386/xnu_helper.S: Removed.
27755 * loader/xnu.c (grub_xnu_heap_start): New variable.
27756 (grub_xnu_heap_size): Likewise.
27757 (grub_xnu_heap_malloc): Use relocators.
27758 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
27759
29eb90c6
VS
277602009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
27761
27762 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
27763 anything.
27764
31027430
CPE
277652009-12-13 Carles Pina i Estany <carles@pina.cat>
27766
27767 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
27768 GRUB_ERR_NONE before calling grub_env_set.
27769
dc0c71d9
RM
277702009-12-12 Robert Millan <rmh@aybabtu.com>
27771
27772 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
27773 * genmk.rb (video): New variable.
27774 (CLEANFILES, VIDEOFILES): Add #{video}.
27775 (#{video}): New target rule.
27776 * genvideolist.sh: New file.
27777 * Makefile.in (pkglib_DATA): Add video.lst.
27778 (video.lst): New target rule.
27779 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
27780 `video.lst'.
27781 * util/grub.d/30_os-prober.in: Replace `vbe' with
27782 ${GRUB_VIDEO_BACKEND}.
27783
2a4bfcf0
RM
277842009-12-11 Robert Millan <rmh.grub@aybabtu.com>
27785
27786 * THANKS: Add David Miller.
27787
2a3aa4d5
RM
277882009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
27789
27790 libpciaccess support.
27791
27792 * Makefile.in (LIBPCIACCESS): New variable.
27793 (enable_grub_emu_pci): Likewise.
27794 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
27795 util/pci.c and commands/lspci.c.
27796 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
27797 * configure.ac (grub-emu-pci): New option.
27798 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
27799 (grub_pci_device_unmap_range): Likewise.
27800 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
27801 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
27802 (grub_pci_address_t) [!GRUB_UTIL]: New type.
27803 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
27804 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
27805 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
27806 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
27807 * include/grub/pciutils.h: New file.
27808 * util/pci.c: Likewise.
27809
0ad46fd7 278102009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
27811
27812 * util/misc.c: Don't include <errno.h> twice.
27813
0ad46fd7 278142009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
27815
27816 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
27817 name in an error message.
27818 (grub_biosdisk_rw): Likewise.
27819
2e59983c
VS
278202009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27821
27822 Eliminate NTFS 4Gib barrier.
27823
27824 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
27825 (read_run_data): Likewise.
27826 (grub_ntfs_read_run_list): Likewise.
27827 (grub_ntfs_read_block): Likewise.
27828 (grub_ntfs_iterate_dir): Likewise.
27829 (read_mft): Likewise.
27830 (read_data): Likewise.
27831 Use COM_LOG_LEN.
27832 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
27833 to avoid 64-bit division
27834 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
27835 (grub_ntfs_rlst): Use grub_disk_addr_t.
27836
71ee178a
VS
278372009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27838
27839 Eliminate grub-fstest 4Gib barrier.
27840
27841 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
27842 (read_file): Fix error reporting.
27843
2520d4b8
VS
278442009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27845
27846 Eliminate hexdump 4Gib barrier.
27847
27848 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
27849 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
27850
e1f27065
VS
278512009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27852
27853 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
27854 Fixes amarsh bug.
27855
1a0f7f45
RM
278562009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
27857
27858 Remove miscellaneous files in distclean target.
27859
27860 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
27861
c631d9fb
CW
278622009-12-09 Colin Watson <cjwatson@ubuntu.com>
27863
27864 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
27865 if they're already set. This resolves the conflict between my
27866 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
27867 fixing the --grub-probe option again.
27868 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
27869 change on 2009-10-06, so that we now once again source
27870 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
27871
7c7b6106
RM
278722009-12-08 Robert Millan <rmh.grub@aybabtu.com>
27873
27874 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
27875 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
27876 `util/devicemap.c'.
27877
e3069ec1
CPE
278782009-12-08 Carles Pina i Estany <carles@pina.cat>
27879
27880 * include/grub/misc.h (grub_printf_): New declaration.
27881 * kern/misc.c (grub_printf_): New definition.
27882 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
27883 instead of `grub_printf' and `_'.
27884 * normal/menu_entry.c (store_completion): Likewise.
27885 (run): Likewise.
27886 (grub_menu_entry_run): Likewise.
27887 * normal/menu_text.c (grub_wait_after_message): Likewise.
27888 (notify_booting): Likewise.
27889 (notify_fallback): Likewise.
27890 (notify_execution_failure): Likewise.
27891
d6ceebf1
CW
278922009-12-07 Colin Watson <cjwatson@ubuntu.com>
27893
27894 * configure.ac: Check for vasprintf.
27895 * util/misc.c (asprintf): Move allocation from here ...
27896 (vasprintf): ... to here. New function.
27897 (xasprintf): New function.
27898 * include/grub/util/misc.h (vasprintf, xasprintf): Add
27899 prototypes.
27900 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
27901 * util/grub-mkfont.c (write_font): Likewise.
27902 * util/grub-probe.c (probe): Likewise.
27903 * util/hostdisk.c (make_device_name): Likewise.
27904
de6daa8b
DM
279052009-12-06 David S. Miller <davem@sunset.davemloft.net>
27906
27907 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
27908 anything even prefixed with 'cdrom' as a cdrom.
27909
0ad46fd7 279102009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
27911
27912 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
27913 mount points.
27914
98d3dc02
CPE
279152009-12-05 Carles Pina i Estany <carles@pina.cat>
27916
27917 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
27918 grub_gettext_msg_list.
27919 (grub_gettext_gettranslation_from_position): Return const char *
27920 and not char *.
a2c1332b 27921 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
27922 returns from the list if existing there.
27923 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
27924 (grub_gettext_delete_list): Delete the list.
27925 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
27926 lang environment variable is changed.
27927 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
27928
b283f108
VS
279292009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27930
27931 Rename kernel.mod to kernel.img.
27932
27933 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
27934 (kernel_mod_EXPORTS): Rename to ...
27935 (kernel_img_EXPORTS): ... this.
27936 (kernel_mod_SOURCES): Rename to ...
27937 (kernel_img_SOURCES): ... this.
27938 (kernel_mod_HEADERS): Rename to ...
27939 (kernel_img_HEADERS): ... this. All users updated.
27940 (kernel_mod_CFLAGS): Rename to ...
27941 (kernel_img_CFLAGS): ... this.
27942 (kernel_mod_ASFLAGS): Rename to ...
27943 (kernel_img_ASFLAGS): ... this.
27944 (kernel_mod_LDFLAGS): Rename to ...
27945 (kernel_img_LDFLAGS): ... this.
27946 * conf/x86_64-efi.rmk: Likewise.
27947 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
27948 (read_kernel_image): ... this. All users updated.
27949 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
27950
69055f8a
CPE
279512009-12-05 Carles Pina i Estany <carles@pina.cat>
27952
27953 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
27954 (print_spaces): New function.
27955 (grub_print_ucs4): New function.
27956 (getstringwidth): New function.
27957 (print_message_indented): New function.
27958 (print_message): Gettexttize strings using print_message_indented.
27959 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
27960 width.
27961 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 27962 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
27963 Gettextize.
27964 * normal/menu_entry.c (store_completion): Cleanup the gettextized
27965 string.
27966 (run): Likewise.
27967 (grub_menu_entry_run): Likewise.
27968 * PO/POTFILES: Add normal/menu_entry.c.
27969
f616f51c
VS
279702009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27971
27972 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
27973
57bbe3be
CPE
279742009-12-05 Carles Pina i Estany <carles@pina.cat>
27975
27976 * util/grub-install.in: Install gettext .mo files.
27977 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
27978
013d67a1
CPE
279792009-12-05 Carles Pina i Estany <carles@pina.cat>
27980
27981 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
27982 grub_dprintf.
27983
fb954db0
RM
279842009-12-05 Robert Millan <rmh.grub@aybabtu.com>
27985
27986 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
27987 non-firmware-dependant one in realmode.S takes precedence.
27988
6b8474f8
RM
279892009-12-04 Robert Millan <rmh.grub@aybabtu.com>
27990
27991 * commands/halt.c: Replace misc arch-specific headers with
27992 `<grub/misc.h>'.
27993 * commands/reboot.c: Likewise.
27994 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
27995 `<grub/misc.h>'.
27996 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
27997 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
27998 (kernel_img_SOURCES): ... to here.
27999
28000 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
28001 * include/grub/i386/pc/init.h: Likewise.
28002 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28003 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28004
28005 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
28006
28007 * include/grub/i386/halt.h: Remove.
28008 * include/grub/i386/reboot.h: Likewise.
28009
28010 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
28011
4b2e6ca2
DM
280122009-12-03 David S. Miller <davem@sunset.davemloft.net>
28013
28014 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
28015 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
28016 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
28017 "progname.h"
28018 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28019 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28020 (usage): Add missing comma in printf.
28021
5239348f
RM
280222009-12-02 Robert Millan <rmh.grub@aybabtu.com>
28023
28024 Use the same reboot approach on i386 coreboot and qemu as we do on
28025 BIOS.
28026
28027 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
28028 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
28029 * kern/i386/reboot.c: Remove.
28030 * include/grub/i386/reboot.h (grub_reboot): Export function.
28031 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
28032 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
28033 0xf000:0xfff0 instead of 0xffff:0x0000.
28034 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
28035 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
28036
ef34cbd4
RM
280372009-11-30 Robert Millan <rmh.grub@aybabtu.com>
28038
28039 Fix $srcdir != $objdir build.
28040
28041 * Makefile.in (po/%.po): Rewrite as ...
28042 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
28043
dc9837ea
ST
280442009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
28045
28046 Fix GNU/Hurd grub-install crash.
28047 * util/grub-probe.c (probe): Try to access `path' only when it is not
28048 NULL.
28049
2f857f98
VS
280502009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28051
28052 Correct module naming.
28053
28054 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28055 (GRUB_MOD_INIT(efi_uga)): ... to this
28056 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28057 (GRUB_MOD_FINI(efi_uga)): ... to this
28058 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28059 (GRUB_MOD_INIT(efi_gop)): ... to this
28060 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28061 (GRUB_MOD_FINI(efi_gop)): ... to this
28062
c5448046
RM
280632009-11-28 Robert Millan <rmh.grub@aybabtu.com>
28064
28065 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
28066 translatable.
28067 (usage): Translate `arg' strings using gettext().
28068 Thanks to Jordi Mallach for the suggestion.
28069
c85184ad
VS
280702009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28071
28072 GOP support. Based on patch from Bean
28073 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28074
28075 * video/efi_gop.c: New file.
28076 * include/grub/efi/graphics_output.h: Likewise.
28077 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
28078 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28079 variables.
28080 * conf/x86_64-efi.rmk: Likewise.
28081
8a4c48d8
VS
280822009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28083
28084 Rename efi_fb to efi_uga.
28085
28086 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28087 'efi_uga.mod'.
28088 (efi_fb_mod_SOURCES): Rename this ...
28089 (efi_uga_mod_SOURCES): ... to this.
28090 (efi_fb_mod_CFLAGS): Rename this ...
28091 (efi_uga_mod_CFLAGS): ... to this.
28092 (efi_fb_mod_LDFLAGS): Rename this ...
28093 (efi_uga_mod_LDFLAGS): ... to this.
28094 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28095 'efi_uga.mod'.
28096 (efi_fb_mod_SOURCES): Rename this ...
28097 (efi_uga_mod_SOURCES): ... to this.
28098 (efi_fb_mod_CFLAGS): Rename this ...
28099 (efi_uga_mod_CFLAGS): ... to this.
28100 (efi_fb_mod_LDFLAGS): Rename this ...
28101 (efi_uga_mod_LDFLAGS): ... to this.
28102 * video/efi_fb.c: Move this ...
28103 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
28104
fb6c1a7b
RM
281052009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28106
28107 * po/README: New file. Explain our PO file workflow.
28108
3bc7896c
RM
281092009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28110
28111 * po/ChangeLog: Remove. Move relevant entries back to ...
28112 * ChangeLog: ... here.
28113 * po/ca.po: Remove (now handled by TLP).
28114 * po/id.po: Likewise.
28115 * po/zh_CN.po: Likewise.
28116 * Makefile.in (LINGUAS): Initialize in a way that supports
28117 empty set.
28118
9ed4841d
RM
281192009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28120
28121 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
28122 reliing on po/LINGUAS.
28123 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
28124 (po/%.po): ... this.
28125
0ad46fd7 281262009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
28127
28128 * util/i386/efi/grub-mkimage.c: Include "progname.h".
28129 (main): Use `program_name' instead of nonexistent `progname'.
28130
e30dd392
FZ
281312009-11-26 Felix Zielcke <fzielcke@z-51.de>
28132
28133 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28134 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
28135
7656de4f
RM
281362009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28137
28138 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
28139 commit.
28140 * conf/i386-efi.rmk: Likewise.
28141 * conf/i386-ieee1275.rmk: Likewise.
28142 * conf/powerpc-ieee1275.rmk: Likewise.
28143 * conf/sparc64-ieee1275.rmk: Likewise.
28144 * conf/x86_64-efi.rmk: Likewise.
28145
db77c4d4
FZ
281462009-11-26 Felix Zielcke <fzielcke@z-51.de>
28147
28148 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
28149
a755bb04
FZ
281502009-11-26 Felix Zielcke <fzielcke@z-51.de>
28151
28152 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
28153
8a4c07fd
RM
281542009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28155
28156 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
28157 (grub_mkdevicemap_SOURCES): New variable.
28158 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
28159 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
28160 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
28161 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
28162 (grub_mkdevicemap_SOURCES): Remove.
28163 * conf/i386-efi.rmk: Likewise.
28164 * conf/i386-ieee1275.rmk: Likewise.
28165 * conf/i386-pc.rmk: Likewise.
28166 * conf/powerpc-ieee1275.rmk: Likewise.
28167 * conf/sparc64-ieee1275.rmk: Likewise.
28168 * conf/x86_64-efi.rmk: Likewise.
28169 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
28170 (usage): Fix strings to use `program_name'.
28171 (main): Initialize gettext.
28172 * util/grub-editenv.c: Likewise.
28173 * util/grub-emu.c: Likewise.
28174 * util/grub-fstest.c: Likewise.
28175 * util/grub-mkdevicemap.c: Likewise.
28176 * util/grub-mkfont.c: Likewise.
28177 * util/grub-mkrelpath.c: Likewise.
28178 * util/grub-pe2elf.c: Likewise.
28179 * util/grub-probe.c: Likewise.
28180 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28181 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28182 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28183
28184 * util/misc.c: Include `"progname.h"'.
28185 (progname): Remove variable.
28186 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
28187
6f61ed55
FZ
281882009-11-25 Felix Zielcke <fzielcke@z-51.de>
28189
28190 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
28191 printf and print a newline after the menuentry header line.
28192 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28193
f022876b
FZ
281942009-11-25 Felix Zielcke <fzielcke@z-51.de>
28195
28196 autoconf >= 2.60 support $(localedir).
28197
28198 * INSTALL: Note that autoconf 2.60 is required.
28199 * configure.ac (AC_PREREQ): Bump to 2.60.
28200 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
28201 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28202
6717926e
YB
282032009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
28204
28205 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
28206 aclocal is run.
28207
08806a54
RM
282082009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28209
28210 * normal/main.c (grub_normal_read_line): Fix off-by-one
28211 buffer overflow.
28212
13b33fba
RM
282132009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28214
28215 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
28216 "parser.grub" in grub_command_execute() call.
28217
4a8572e9
CPE
282182009-11-24 Carles Pina i Estany <carles@pina.cat>
28219
28220 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
28221 * conf/i386-efi.rmk: Likewise.
28222 * conf/i386-ieee1275.rmk: Likewise.
28223 * conf/i386-pc.rmk: Likewise.
28224 * conf/powerpc-ieee1275.rmk: Likewise.
28225 * conf/sparc64-ieee1275.rmk: Likewise.
28226 * conf/x86_64-efi.rmk: Likewise.
28227 * gettext/gettex.c: Include <grub/i18n.h>.
28228 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
28229 here ...
28230 * include/grub/i18n.h: ... to here
28231 * include/grub/i18n.h: ... to here.
28232 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 28233 (grub_gettext_dummy): Move above user.
4a8572e9 28234
bee48093
FZ
282352009-11-24 Felix Zielcke <fzielcke@z-51.de>
28236
28237 * util/Makefile.in (install-local): Convert a `for' into a normal
28238 shell expansion.
28239
a031e91c
RM
282402009-11-24 Robert Millan <rmh.grub@aybabtu.com>
28241
28242 * autogen.sh: Add automake call.
28243 * config.guess: Remove.
28244 * config.sub: Likewise.
28245 * install-sh: Likewise.
28246
26bec39d
FZ
282472009-11-24 Felix Zielcke <fzielcke@z-51.de>
28248
28249 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
28250
8e2532fd
FZ
282512009-11-24 Felix Zielcke <fzielcke@z-51.de>
28252
28253 * util/Makefile.in (install-local): Convert a make `$(foreach)'
28254 function to a normal shell `for'.
28255
fefa1b7d
FZ
282562009-11-24 Felix Zielcke <fzielcke@z-51.de>
28257
28258 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28259
4501250b
FZ
282602009-11-24 Felix Zielcke <fzielcke@z-51.de>
28261
28262 * util/grub-mkrelpath.c: New file.
28263 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
28264 (grub_mkrelpath_SOURCES): New variable.
28265 * include/grub/util/misc.h: New function prototype.
28266 * util/misc.c (make_system_path_relative_to_its_root): New function.
28267
28268 * util/grub-mkconfig_lib.in (bindir): New variable.
28269 (grub_mkrelpath): Likewise.
28270 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
28271
28272 * util/probe.c (probe): Make the file path relative to its root.
28273 Change a info message to use the GRUB path. Enable again the
28274 check if we can read the file with GRUB facilities.
28275
28276 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
28277 to its root.
28278
11d9778b
FZ
282792009-11-24 Felix Zielcke <fzielcke@z-51.de>
28280
28281 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
28282 platform.
28283
4465287d
FZ
282842009-11-24 Felix Zielcke <fzielcke@z-51.de>
28285
28286 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
28287 strncmp().
28288
62b47f22
FZ
282892009-11-24 Felix Zielcke <fzielcke@z-51.de>
28290
28291 * util/getroot.c (grub_util_is_dmraid): New function.
28292 (grub_util_get_dev_abstraction): Treat dmraid and multipath
28293 devices as normal ones, not as LVM.
28294
1eafb9b9 282952009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
28296
28297 * conf/common.rmk: Add grub-gettext_lib target and updates
28298 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
28299 LDFLAGS.
28300 * gettext/gettext.c: New file. (Reads mo files).
28301 * include/grub/file.h (grub_file_pread): New prototype.
28302 * include/grub/i18n.h (_): New prototype.
28303 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
28304 prototypes.
28305 * kern/misc.c (grub_gettext_dummy): New function.
28306 * normal/menu_text.c: Include <grub/i18n.h>.
28307 * normal/menu_text.c (print_timeout): Gettexttize string.
28308 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
28309 * po/POTFILES: Add `normal/menu_text.c'.
28310 * po/ca.po: Add new translations.
c3ea6bd4
CPE
28311 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
28312 gettext module and defines locale_dir and lang in grub.cfg.
28313 * NEWS: Add gettext support.
28314
0fdb2568
RM
283152009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28316
28317 * util/hostdisk.c: Include `<grub/i18n.h>'.
28318 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
28319 (make_device_name): Rewrite using asprintf.
28320 (convert_system_partition_to_system_disk): Replace 0 with NULL.
28321 (find_system_device): If a device is not found, generate one just
28322 by reusing the OS path name.
28323 (read_device_map): Make it permissible for device.map not to exist.
28324
f515aa62
RM
283252009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28326
28327 * script/sh/execute.c: Move from here ...
28328 * script/execute.c: ... to here. Update all users.
28329 * script/sh/function.c: Move from here ...
28330 * script/function.c: ... to here. Update all users.
28331 * script/sh/lexer.c: Move from here ...
28332 * script/lexer.c: ... to here. Update all users.
28333 * script/sh/main.c: Move from here ...
28334 * script/main.c: ... to here. Update all users.
28335 * script/sh/parser.y: Move from here ...
28336 * script/parser.y: ... to here. Update all users.
28337 * script/sh/script.c: Move from here ...
28338 * script/script.c: ... to here. Update all users.
28339
f84b481b
RM
283402009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28341
28342 * configure.ac: Detect all `emu' platforms. Define
28343 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
28344 --enable-grub-emu logic. Disable include/grub/machine
28345 symlink on `emu' platforms.
28346
28347 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
28348 * gensymlist.sh.in: Likewise.
28349
28350 * include/grub/i386/coreboot/machine.h: Remove file.
28351 * include/grub/i386/efi/machine.h: Likewise.
28352 * include/grub/i386/ieee1275/machine.h: Likewise.
28353 * include/grub/i386/pc/machine.h: Likewise.
28354 * include/grub/i386/qemu/machine.h: Likewise.
28355 * include/grub/powerpc/ieee1275/machine.h: Likewise.
28356 * include/grub/sparc64/ieee1275/machine.h: Likewise.
28357 * include/grub/x86_64/efi/machine.h: Likewise.
28358
28359 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
28360 * commands/halt.c: Likewise.
28361 * commands/reboot.c: Likewise.
28362 * include/grub/autoefi.h: Likewise.
28363 * include/grub/i386/at_keyboard.h: Likewise.
28364 * include/grub/i386/kernel.h: Likewise.
28365 * include/grub/i386/loader.h: Likewise.
28366 * include/grub/i386/pc/memory.h: Likewise.
28367 * kern/dl.c: Likewise.
28368 * kern/i386/coreboot/init.c: Likewise.
28369 * loader/i386/bsd.c: Likewise.
28370 * loader/i386/linux.c: Likewise.
28371 * loader/multiboot_loader.c: Likewise.
28372 * term/i386/pc/serial.c: Likewise.
28373 * term/usb_keyboard.c: Likewise.
28374
28375 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
28376 `<grub/machine/machine.h>'
28377 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
28378 * util/misc.c: Remove `<grub/machine/machine.h>' and
28379 `<grub/machine/time.h>'.
28380
28381 * Makefile.in (enable_grub_emu): Remove variable.
28382 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
28383
28384 * conf/any-emu.rmk: New file.
28385 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
28386 (grub_emu_init.c): Move from here ...
28387 * conf/any-emu.rmk: ... to here.
28388
28389 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
28390 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
28391 * conf/any-emu.rmk: ... to here.
28392
4efeab03
RM
283932009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28394
28395 * include/grub/parser.h (grub_parser_register): Document need
28396 of `name' parameter.
28397 * normal/main.c (grub_normal_read_line): Simplify prompt string.
28398 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
28399 "sh" to "grub".
28400
ea1dd8bf
RM
284012009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28402
28403 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
28404 `$(XGETTEXT)'.
28405 * include/grub/i18n.h (N_): New macro.
28406 * util/mkisofs/mkisofs.h: Likewise.
28407 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
28408 around N_().
28409 (usage): Use gettext() to translate help strings when printing them.
28410
0c140626
RM
284112009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28412
28413 Based on patch from Bean
28414 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28415
28416 * video/efi_fb.c: New file.
28417 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
28418 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28419 variables.
28420 * conf/x86_64-efi.rmk: Likewise.
28421
87d58298
RM
284222009-11-22 Robert Millan <rmh.grub@aybabtu.com>
28423
28424 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
28425 * util/i386/pc/grub-setup.c: Likewise.
28426
994cc3a3
ST
284272009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
28428
28429 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
28430 <hurd/fs.h>
28431 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
28432 file_get_storage_info to implement grub_guess_root_device.
28433
26a61d6a
FZ
284342009-11-21 Felix Zielcke <fzielcke@z-51.de>
28435
28436 * Makefile.in (target): Use make's builtin $(shell) function
28437 instead of calling directly $(SHELL) to create the locale directories,
28438 inside the $(foreach) function.
28439
74ff1dd5
FZ
284402009-11-21 Felix Zielcke <fzielcke@z-51.de>
28441
28442 * util/grub-mkrescue.in: Print an error and usage if output option
28443 has not been given.
28444
0b787d0e
FZ
284452009-11-21 Felix Zielcke <fzielcke@z-51.de>
28446
28447 Patch from Loïc Minier <loic.minier@ubuntu.com>.
28448 * util/grub.d/30_os-prober.in: Cope with Linux entries where
28449 root and /boot are on different devices.
28450
1164b270
RM
284512009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28452
28453 Fix build for srcdir != objdir.
28454
28455 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
28456 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
28457 $(srcdir).
28458 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
28459 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
28460 reference for input.
28461
13774a2f
RM
284622009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28463
28464 * util/grub-mkrescue.in: Use source directory direcly (without copiing
28465 or hardlinking it). Remove -J option, Joliet is not compatible with
28466 multiple source directories.
28467
efda854e
RM
284682009-11-21 Carles Pina i Estany <carles@pina.cat>
284692009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28470
28471 * util/grub-mkrescue.in: Recognize `--override-directory' option.
28472 (process_input_dir): New function. Process an arbitrary input
28473 directory.
28474 Misc adjustments to support both "override mode" and system-wide mode.
28475
6c09890c
FZ
284762009-11-20 Felix Zielcke <fzielcke@z-51.de>
28477
28478 * configure.ac (UNIFONT_BDF): Rename to ...
28479 (FONT_SOURCE): ... this. Update all users.
28480
a797824f
FZ
284812009-11-20 Felix Zielcke <fzielcke@z-51.de>
28482
28483 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
28484 to the list of unifont files to look for.
28485
cd4f42b0
RM
284862009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28487
28488 Patch from Joe Auricchio <jauricchio@gmail.com>
28489 * commands/minicmd.c (grub_mini_cmd_clear): New function.
28490 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
28491 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
28492
393c783d
FZ
284932009-11-19 Felix Zielcke <fzielcke@z-51.de>
28494
28495 * Makefile.in (install-local): Add a missing backslash.
28496
b2f1e327
FZ
284972009-11-19 Felix Zielcke <fzielcke@z-51.de>
28498
28499 * include/grub/x86_64/io.h: New file.
28500
f577f7a0
RM
285012009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28502
28503 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
28504 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
28505 Include `"progname.h"'.
28506 (main): Initialize gettext.
28507 * util/i386/pc/grub-setup.c: Gettexttize.
28508 * util/i386/pc/grub-mkimage.c: Likewise.
28509
28510 * Makefile.in (po/*.po): Redefine as ...
28511 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
28512
3bc7896c
RM
28513 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
28514
c37943b6
RM
285152009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28516
28517 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
28518 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
28519 (program_name): Remove.
28520 (main): Initialize gettext support.
6323f705
RM
28521 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
28522 Include `<libintl.h>'.
28523 (_): New macro.
c37943b6
RM
28524
28525 * util/mkisofs/eltorito.c: Gettexttize.
28526 * util/mkisofs/joliet.c: Likewise.
28527 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
28528 * util/mkisofs/multi.c: Likewise.
28529 * util/mkisofs/rock.c: Likewise.
28530 * util/mkisofs/tree.c: Likewise.
28531 * util/mkisofs/write.c: Likewise.
28532
3bc7896c
RM
28533 * po/POTFILES: Update with new files.
28534
5ce77c6e
RM
285352009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28536
28537 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
28538 * util/mkisofs/iso9660.h: Likewise.
28539 * util/mkisofs/joliet.c: Likewise.
28540 * util/mkisofs/mkisofs.c: Likewise.
28541 * util/mkisofs/mkisofs.h: Likewise.
28542 * util/mkisofs/rock.c: Likewise.
28543 * util/mkisofs/tree.c: Likewise.
28544 * util/mkisofs/write.c: Likewise.
28545
28546 * util/mkisofs/eltorito.c (rcsid): Remove.
28547 * util/mkisofs/hash.c: Likewise.
28548 * util/mkisofs/joliet.c: Likewise.
28549 * util/mkisofs/name.c: Likewise.
28550 * util/mkisofs/rock.c: Likewise.
28551 * util/mkisofs/tree.c: Likewise.
28552 * util/mkisofs/write.c: Likewise.
28553
1dabbc77
RM
285542009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28555
28556 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
28557 instead of static allocation.
28558 * util/mkisofs/match.h: Likewise.
28559
633877cb
RM
285602009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28561
3bc7896c
RM
28562 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
28563 and `util/grub.d/10_linux.in'.
633877cb
RM
28564 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
28565 translatable Shell files.
28566
af1c0c85
RM
285672009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28568
28569 * Makefile.in ($(srcdir)/aclocal.m4): New target.
28570
769ae37b
RM
285712009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28572
28573 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 28574 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
28575 * util/grub.d/10_kfreebsd.in (bindir): New variable.
28576 Add gettext initialization.
28577 (kfreebsd_entry): Make menuentry output translatable.
28578
285792009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28580
28581 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
28582 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
28583 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
28584 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
28585 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 28586 * po/LINGUAS: New file.
769ae37b
RM
28587
285882009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28589
28590 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
28591 other things).
28592 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
28593 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
28594 bindtextdomain() calls for gettext initialization.
28595
285962009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28597
28598 * gnulib/progname.c: New file (imported from Gnulib).
28599 * gnulib/progname.h: Likewise.
28600 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28601 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
28602 (usage): Replace `progname' with `program_name'.
28603 (main): Use set_program_name() for program name initialization.
28604
286052009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28606
28607 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
28608 from here ...
28609 * Makefile.in (CPPFLAGS): ... to here.
28610
286112009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28612
28613 * aclocal.m4: Move from here ...
28614 * acinclude.m4: ... to here.
28615 * autogen.sh: Add call to `aclocal'.
28616 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
28617
286182009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28619
28620 * Makefile.in (CLEANFILES): Add `po/*.mo'.
28621 (LINGUAS): New variable.
28622 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
28623 (install-local): Install MO files.
28624 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
28625 * include/grub/i18n.h: New file.
3bc7896c
RM
28626 * po/POTFILES: New file.
28627 * po/ca.po: New file.
769ae37b
RM
28628 * util/grub.d/10_linux.in (bindir): New variable.
28629 Add gettext initialization.
28630 (linux_entry): Make menuentry output translatable.
28631 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
28632 (usage): Make --help output translatable.
28633 (main): Initialize gettext.
28634
02c0a6ad
RM
286352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28636
28637 * import_gcry.py: New file (written by Vladimir with minor
28638 adjustments).
28639 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
28640 ciphers.
28641 * INSTALL: Document that Python is required for bootstrap.
28642
286432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28644
28645 Import ciphers from libgcrypt 1.4.4.
28646
28647 * lib/libgcrypt/cipher/ChangeLog
28648 * lib/libgcrypt/cipher/ac.c
28649 * lib/libgcrypt/cipher/arcfour.c
28650 * lib/libgcrypt/cipher/bithelp.h
28651 * lib/libgcrypt/cipher/blowfish.c
28652 * lib/libgcrypt/cipher/camellia-glue.c
28653 * lib/libgcrypt/cipher/camellia.c
28654 * lib/libgcrypt/cipher/camellia.h
28655 * lib/libgcrypt/cipher/cast5.c
28656 * lib/libgcrypt/cipher/cipher.c
28657 * lib/libgcrypt/cipher/crc.c
28658 * lib/libgcrypt/cipher/des.c
28659 * lib/libgcrypt/cipher/dsa.c
28660 * lib/libgcrypt/cipher/ecc.c
28661 * lib/libgcrypt/cipher/elgamal.c
28662 * lib/libgcrypt/cipher/hash-common.c
28663 * lib/libgcrypt/cipher/hash-common.h
28664 * lib/libgcrypt/cipher/hmac-tests.c
28665 * lib/libgcrypt/cipher/md.c
28666 * lib/libgcrypt/cipher/md4.c
28667 * lib/libgcrypt/cipher/md5.c
28668 * lib/libgcrypt/cipher/primegen.c
28669 * lib/libgcrypt/cipher/pubkey.c
28670 * lib/libgcrypt/cipher/rfc2268.c
28671 * lib/libgcrypt/cipher/rijndael-tables.h
28672 * lib/libgcrypt/cipher/rijndael.c
28673 * lib/libgcrypt/cipher/rmd.h
28674 * lib/libgcrypt/cipher/rmd160.c
28675 * lib/libgcrypt/cipher/rsa.c
28676 * lib/libgcrypt/cipher/seed.c
28677 * lib/libgcrypt/cipher/serpent.c
28678 * lib/libgcrypt/cipher/sha1.c
28679 * lib/libgcrypt/cipher/sha256.c
28680 * lib/libgcrypt/cipher/sha512.c
28681 * lib/libgcrypt/cipher/tiger.c
28682 * lib/libgcrypt/cipher/twofish.c
28683 * lib/libgcrypt/cipher/whirlpool.c
28684
af2f93ac
RM
286852009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28686
28687 Fix build for systems without error().
28688
28689 * gnulib/error.c: New file (imported from Gnulib).
28690 * gnulib/error.h: Likewise.
28691 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
28692 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
28693 (this variable is now used by error()).
28694
73fb3dd5
FZ
286952009-11-16 Felix Zielcke <fzielcke@z-51.de>
28696
814f5e96
FZ
28697 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
28698 instead of relying that char is signed.
73fb3dd5 28699
a691ca33
VS
287002009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
28701
28702 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
28703 blocksize different from specified.
28704 (grub_pxefs_read): Likewise.
28705
2af8f0f4
FZ
287062009-11-16 Felix Zielcke <fzielcke@z-51.de>
28707
28708 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
28709
28710 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
28711 (grub_ata_readwrite): Likewise. Update 2 format strings.
28712 (grub_atapi_read): Likewise.
28713
28714 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
28715 * conf/i386.rmk (pkglib_MODULES): ... to here ...
28716 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
28717 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
28718 (ata_mod_LDFLAGS): Move from here ...
28719 * conf/i386.rmk: ... to here ...
28720 * conf/x86_64-efi.rmk: ... and here.
28721 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
28722 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
28723
83bdecaf
RM
287242009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28725
28726 Relicense multiboot.h, with RMS' blessing.
28727
28728 * include/multiboot.h: Change to X11 license.
28729
fd6fd3d7
RM
287302009-11-15 Robert Millan <rmh.grub@aybabtu.com>
28731
28732 Support --version in grub-mkisofs.
28733
28734 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
28735 (OPTION_VERSION): New macro.
28736 (ld_options): Recognize --version.
28737 (usage): Move `program_name' from here ...
28738 (program_name): ... to here. Add `static' qualifier.
28739 (main): Recognize `OPTION_VERSION'.
28740
16a88c49
FZ
287412009-11-15 Felix Zielcke <fzielcke@z-51.de>
28742
28743 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
28744 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
28745
a4158476
RM
287462009-11-14 Robert Millan <rmh.grub@aybabtu.com>
28747
28748 Fix help2man generation for mkisofs.
28749
28750 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
28751 (usage): Send output to stdout (rather than stderr).
28752
fc2208b0
RM
287532009-11-14 Robert Millan <rmh.grub@aybabtu.com>
28754
28755 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
28756 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
28757 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
28758 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
28759 (bin_SCRIPTS): Add `grub-mkfloppy'.
28760 (grub_mkfloppy_SOURCES): New variable.
28761
28762 * util/grub-mkrescue.in: New file.
28763 * util/i386/pc/grub-mkfloppy.in: New file.
28764
28765 * util/i386/coreboot/grub-mkrescue.in: Remove.
28766 * util/i386/pc/grub-mkrescue.in: Remove.
28767
8d0edf4a
RM
287682009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28769
28770 * include/grub/multiboot.h (struct grub_multiboot_header): Move
28771 from here ...
28772 * include/multiboot.h (struct multiboot_header): ... to here. Update
28773 all users.
28774 * include/grub/multiboot.h (struct grub_multiboot_info): Move
28775 from here ...
28776 * include/multiboot.h (struct multiboot_info): ... to here. Update
28777 all users.
28778 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
28779 from here ...
28780 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
28781 Update all users.
28782 * include/grub/multiboot.h (struct grub_mod_list): Move
28783 from here ...
28784 * include/multiboot.h (struct multiboot_mod_list): ... to here.
28785 Update all users.
28786
a73f5969
RM
287872009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28788
28789 * include/multiboot2.h (multiboot_word): Rename from this ...
28790 (multiboot2_word): ... to this. Update all users.
28791 (multiboot_header): Rename from this ...
28792 (multiboot2_header): ... to this. Update all users.
28793 (multiboot_tag_header): Rename from this ...
28794 (multiboot2_tag_header): ... to this. Update all users.
28795 (multiboot_tag_start): Rename from this ...
28796 (multiboot2_tag_start): ... to this. Update all users.
28797 (multiboot_tag_name): Rename from this ...
28798 (multiboot2_tag_name): ... to this. Update all users.
28799 (multiboot_tag_module): Rename from this ...
28800 (multiboot2_tag_module): ... to this. Update all users.
28801 (multiboot_tag_memory): Rename from this ...
28802 (multiboot2_tag_memory): ... to this. Update all users.
28803 (multiboot_tag_unused): Rename from this ...
28804 (multiboot2_tag_unused): ... to this. Update all users.
28805 (multiboot_tag_end): Rename from this ...
28806 (multiboot2_tag_end): ... to this. Update all users.
28807
1c8927f0
RM
288082009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28809
28810 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
28811 this platform we should support Multiboot1 first.
28812
28813 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28814 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
28815 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
28816
6e1e0d89
RM
288172009-11-12 Robert Millan <rmh.grub@aybabtu.com>
28818
28819 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
28820 of write calls (converting them to fwrite() if they aren't already).
28821 (get_torito_desc): Likewise.
28822 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
28823
7f2b34d8
RM
288242009-11-12 Robert Millan <rmh.grub@aybabtu.com>
28825
28826 * util/i386/pc/grub-install.in: Move from here ...
28827 * util/grub-install.in: ... to here. Update all users.
28828
c0ef3311
CW
288292009-11-11 Colin Watson <cjwatson@ubuntu.com>
28830
28831 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
28832
e1f240ff
RM
288332009-11-11 Robert Millan <rmh.grub@aybabtu.com>
28834
28835 Support for El Torito without floppy emulation.
28836
28837 * util/mkisofs/eltorito.c: Include `<errno.h>'.
28838 (init_boot_catalog): Improve error handling.
28839 (get_torito_desc): Don't use floppy emulation unless requested by
28840 user. Patch boot information table when requested via
28841 `-boot-info-table'.
28842 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
28843 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
28844 (use_boot_info_table): New variables.
28845 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
28846 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
28847 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
28848 `--eltorito-emul-floppy'.
28849 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
28850 and `OPTION_ELTORITO_EMUL_FLOPPY'.
28851 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
28852 (use_boot_info_table, get_731): New prototypes.
28853 * util/mkisofs/write.c (get_731): New function.
28854
af7d4de5
FZ
288552009-11-11 Felix Zielcke <fzielcke@z-51.de>
28856
28857 Fix the generation of the man page.
28858
28859 * util/pc/i386/grub-install.in: Source
28860 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28861
2c55dbc0
RM
288622009-11-11 Robert Millan <rmh.grub@aybabtu.com>
28863
28864 Large file support for grub-mkisofs.
28865
28866 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
28867 * util/mkisofs/mkisofs.c (next_extent, last_extent)
28868 (session_start): Upgrade type to `uint64_t'. Update all users.
28869 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
28870 (struct directory_entry): Upgrade type of `starting_block' and
28871 `size' to `uint64_t'. Update all users.
28872 (struct deferred): Remove unused structure.
28873 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
28874 Update all users.
28875 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
28876 file is larger than `UINT32_MAX'.
28877 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
28878 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
28879 return value.
28880 (struct deferred_write): Upgrade type of `extent' and `size' to
28881 `uint64_t'. Update all users.
28882 (last_extent_written): Upgrade type to `uint64_t'. Update all
28883 users.
28884 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
28885 Update all users. Upgrade type of `remain' to `int64_t' and
28886 `use' to `size_t'. Use error() to handle fread() errors.
28887 (write_files): Rely on write_one_file() rather than calling
28888 xfwrite() directly.
28889
6a9cead5
FZ
288902009-11-09 Felix Zielcke <fzielcke@z-51.de>
28891
28892 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
28893
4825d790
RM
288942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28895
28896 * util/mkisofs/fnmatch.c: Remove.
28897 * util/mkisofs/getopt1.c: Likewise.
28898 * util/mkisofs/getopt.c: Likewise.
28899 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
28900 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
28901 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
28902 `gnulib/getopt1.c' and `gnulib/getopt.c'.
28903 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
28904
28905 * configure.ac: Detect `mingw32msvc' host_os.
28906 Check for lstat(), getuid() and getgid().
28907
28908 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
28909 instances of `u_char' with `uint8_t'.
28910
28911 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
28912 [!HAVE_GETUID] (getuid): New function (stub).
28913 [!HAVE_GETGID] (getgid): Likewise.
28914 [!HAVE_LSTAT] (lstat): Likewise.
28915 [!S_IROTH] (S_IROTH): New macro (dummy).
28916 [!S_IRGRP] (S_IRGRP): Likewise.
28917
84b860d8
RM
289182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28919
28920 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
28921 conditional expression).
28922
66e9b712
RM
289232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28924
28925 Import from Gnulib.
28926
28927 * gnulib/fnmatch.c: New file.
28928 * gnulib/fnmatch.h: Likewise.
28929 * gnulib/fnmatch_loop.c: Likewise.
28930 * gnulib/getopt.c: Likewise.
28931 * gnulib/getopt.h: Likewise.
28932 * gnulib/getopt1.c: Likewise.
28933 * gnulib/getopt_int.h: Likewise.
28934 * gnulib/gettext.h: Likewise.
28935
34f4a5b0
RM
289362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28937
28938 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
28939 * normal/handler.c (read_handler_list): Likewise.
28940
ac451143
RM
289412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28942
28943 Misc cleanup.
28944
28945 * kern/command.c (grub_register_command_prio): Use
28946 grub_zalloc() instead of explicitly zeroing data.
28947 * kern/list.c: Include `<grub/mm.h>'.
28948 (grub_named_list_find): Replace `0' with `NULL'.
28949 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
28950 (fs_module_list): Change type to `grub_named_list_t'. Update all
28951 users.
28952 * normal/dyncmd.c (read_command_list): Add space between function
28953 call and parenthesis.
28954 * normal/handler.c (read_handler_list): Likewise.
28955
4089b167
RM
289562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28957
28958 * normal/auth.c (punishment_delay): Moved from here ...
28959 (grub_auth_strcmp): ... to here (inside function).
28960
325f5037
RM
289612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28962
28963 * include/grub/list.h (struct grub_named_list): Remove `const'
28964 qualifier from `name'.
28965 (struct grub_prio_list): Likewise.
28966
7aea29a3
RM
289672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28968
28969 * normal/auth.c: Include `<grub/time.h>'.
28970 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
28971
3fd6f044
RM
289722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28973
28974 * normal/auth.c (punishment_delay): New variable.
28975 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
28976 (grub_auth_check_authentication): Punish failed login attempts with
28977 an incremental (2^N) delay.
28978
a4cd68e4
RM
289792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28980
28981 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
28982 path with $(srcdir).
28983
7ad12f43
VS
289842009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
28985
28986 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
28987
c1129f03
RM
289882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28989
28990 * util/i386/coreboot/grub-mkrescue.in: New file.
28991 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
28992 variables.
28993
28994 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
28995 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
28996 * configure.ac: Add header and function checks to satisfy grub-mkisofs
28997 requirements.
28998 * util/mkisofs/defaults.h: New file.
28999 * util/mkisofs/eltorito.c: Likewise.
29000 * util/mkisofs/exclude.h: Likewise.
29001 * util/mkisofs/fnmatch.c: Likewise.
29002 * util/mkisofs/getopt.c: Likewise.
29003 * util/mkisofs/getopt1.c: Likewise.
29004 * util/mkisofs/hash.c: Likewise.
29005 * util/mkisofs/include/fctldefs.h: Likewise.
29006 * util/mkisofs/include/mconfig.h: Likewise.
29007 * util/mkisofs/include/prototyp.h: Likewise.
29008 * util/mkisofs/include/statdefs.h: Likewise.
29009 * util/mkisofs/iso9660.h: Likewise.
29010 * util/mkisofs/joliet.c: Likewise.
29011 * util/mkisofs/match.c: Likewise.
29012 * util/mkisofs/match.h: Likewise.
29013 * util/mkisofs/mkisofs.c: Likewise.
29014 * util/mkisofs/mkisofs.h: Likewise.
29015 * util/mkisofs/multi.c: Likewise.
29016 * util/mkisofs/name.c: Likewise.
29017 * util/mkisofs/rock.c: Likewise.
29018 * util/mkisofs/tree.c: Likewise.
29019 * util/mkisofs/write.c: Likewise.
29020
ec8bb77d
VS
290212009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29022
29023 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
29024 being insecure.
29025
3716b12c
RM
290262009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29027
29028 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
29029 `grub-mkimage' (and use $0 when possible).
29030
b97b7b91
RM
290312009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29032
29033 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
29034 error message for excessively large memory map.
29035
04114812
RM
290362009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29037
29038 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
29039 executable bit.
29040
e4eb2373
RM
290412009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29042
29043 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
29044 message for coreboot users.
29045
c926e1d5 290462009-11-07 Robert Millan <rmh.grub@aybabtu.com>
29047
29048 Fix build with GNU gold.
29049
29050 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
29051 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
29052 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
29053 link addresses.
29054 * aclocal.m4: Likewise.
29055
86e5b1db 290562009-11-04 Felix Zielcke <fzielcke@z-51.de>
29057
29058 * configure.ac (AC_PREREQ): Bump to 2.59d.
29059 * INSTALL: Make it more clear when Autoconf and Ruby are
29060 needed and when to run `./autogen.sh'.
29061
246cd78f 290622009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
29063
29064 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
29065 OSes.
29066
4f9dfb37 290672009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29068
29069 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
29070
b82bd5e1 290712009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29072
29073 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
29074 giving it to GNU Mach.
29075
ff1a9bca 290762009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29077
29078 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
29079 GNU partition number to get internal GRUB partition number.
29080
61697d9c 290812009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29082
29083 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
29084 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
29085
a50569e1 290862009-11-01 Robert Millan <rmh.grub@aybabtu.com>
29087
29088 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
29089 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
29090 case.
29091
5b153867 290922009-11-01 Felix Zielcke <fzielcke@z-51.de>
29093
29094 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
29095
d9e2cd70 290962009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29097
29098 Fix build problem.
29099
29100 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
29101 `-isystem=$(srcdir)/include'.
29102
805111a4 291032009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29104
29105 * util/i386/pc/grub-install.in: Remove hint that device.map should be
29106 checked (grub-install doesn't currently rely on it).
29107
fa6e945f 291082009-10-29 Robert Millan <rmh.grub@aybabtu.com>
29109
29110 Revert SVN r2660.
29111
29112 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
29113 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29114 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
29115 * conf/i386-ieee1275.rmk: Likewise.
29116 * conf/i386-pc.rmk: Likewise.
29117 * conf/powerpc-ieee1275.rmk: Likewise.
29118 * conf/sparc64-ieee1275.rmk: Likewise.
29119 * conf/x86_64-efi.rmk: Likewise.
29120
cee15086 291212009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29122
29123 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
29124
95b9239e 291252009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29126
29127 * include/grub/misc.h: Stop checking for APPLE_CC.
29128
2ed19dfd 291292009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29130
29131 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
29132 doesn't cause an infinite call loop.
29133
fdcdde19 291342009-10-28 Felix Zielcke <fzielcke@z-51.de>
29135
29136 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
29137 strings.
29138
cefabfe1 291392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29140
29141 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
29142 variable.
29143 * Makefile.in: Likewise.
29144
ed96ab6d 291452009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29146
29147 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
29148
0579b753 291492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29150
29151 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
29152
478df409 291532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29154
29155 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
29156
083d1679 291572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29158
29159 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
29160 from here ...
29161 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
29162
5947ae32 291632009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29164
29165 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
29166 in $(MAKEINFO) invocation. This makes it clear in output that
29167 errors are being ignored.
29168
94180ff6 291692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29170
29171 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
29172 from here ...
29173 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29174 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
29175 * conf/i386-ieee1275.rmk: Likewise.
29176 * conf/i386-pc.rmk: Likewise.
29177 * conf/powerpc-ieee1275.rmk: Likewise.
29178 * conf/sparc64-ieee1275.rmk: Likewise.
29179 * conf/x86_64-efi.rmk: Likewise.
29180
9031b03a 291812009-10-26 Colin Watson <cjwatson@ubuntu.com>
29182
29183 * util/grub-editenv.c (main): If only a command is given, use
29184 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
29185 (usage): FILENAME is now optional and has a default.
29186
e4f6809b 291872009-10-26 Colin Watson <cjwatson@ubuntu.com>
29188
29189 Improve grub-mkconfig performance when there are several menu
29190 entries on a single filesystem.
29191
29192 * util/grub.d/10_linux.in (linux_entry): Cache the output of
29193 prepare_grub_to_access_device.
29194 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29195 * util/grub.d/30_os-prober.in: Likewise.
29196
67937d4d 291972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29198
29199 * util/grub.d/10_freebsd.in: Remove.
29200 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
29201 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
29202
ee3756cc 292032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29204
5c35048e 29205 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 29206
4dea1c6f 292072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29208
29209 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
29210 grub_util_error() call.
29211
042484d7 292122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29213
29214 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
29215 `reserved_first_sector' member.
29216 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
29217 `reserved_first_sector' to 1.
29218 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
29219 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
29220 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
29221 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
29222 filesystems which begin at first sector.
29223 (options): New option --skip-fs-probe.
29224 (main): Handle --skip-fs-probe and pass it to setup().
29225
d64448a7 292262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29227
29228 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
29229 (memset): Fix function prototype.
29230
508d42ec 292312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
292322009-10-25 Vasily Averin <vvs@parallels.com>
29233
29234 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
29235 `dirent.direntlen == 0'.
29236
b240e30c 292372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29238
29239 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
29240 `cpio'.
29241 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
29242
346e7fbe 292432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29244
29245 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
29246 `__trampoline_setup' and `__ucmpdi2'.
29247 * include/grub/powerpc/libgcc.h: Only export symbols for functions
29248 that libgcc provides.
29249
cdb308b0 292502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29251
29252 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
29253 * include/grub/sparc64/libgcc.h (memset): Likewise.
29254 * include/grub/misc.h (memset, memcmp): New function prototypes.
29255
fb26abc2 292562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29257
29258 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
29259 `cpio'.
29260 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
29261
f6693890 292622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29263
29264 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
29265 * docs/grub.cfg: Compensate for recent change in multiboot
29266 loader (since 2009-08-14 it won't pass filename to payload).
29267 * util/grub.d/10_hurd.in: Likewise.
29268
0933cdc0 292692009-10-21 Felix Zielcke <fzielcke@z-51.de>
29270
29271 * config.guess: Update to latest version from config git
29272 repository.
29273 * config.sub: Likewise.
29274
3b2fe8c2 292752009-10-20 Robert Millan <rmh.grub@aybabtu.com>
29276
29277 Fix build on sparc64.
29278
29279 * configure.ac: Perform checks for libgcc symbols before
29280 adding `-nostdlib' to LDFLAGS.
29281
46695a62 292822009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29283
29284 Let user specify OpenBSD root device.
29285
29286 * loader/i386/bsd.c (openbsd_root): New variable.
29287 (openbsd_opts): New option 'root'.
29288 (OPENBSD_ROOT_ARG): New macro.
29289 (grub_openbsd_boot): Use 'openbsd_root'.
29290 (grub_cmd_openbsd): Fill 'openbsd_root'.
29291
d2b6b7fc 292922009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29293
29294 * NEWS: Misc adjustments.
29295
421bd7ac 292962009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29297
29298 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
29299
f1d29d87 293002009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29301
29302 * configure.ac: Bump version to 1.97.
29303
6f3cd880 293042009-10-16 Colin Watson <cjwatson@ubuntu.com>
29305
29306 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
29307 -mno-3dnow on x86 architectures. Some toolchains enable these
29308 features by default, but they rely on registers that aren't enabled
29309 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
29310
035f7122 293112009-10-15 Robert Millan <rmh.grub@aybabtu.com>
29312
29313 Make entry text a bit more readable.
29314
29315 * util/grub.d/10_linux.in: Add `with' before `Linux'.
29316
44998e58 293172009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29318
29319 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
29320
cd2851b3 293212009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29322
29323 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
29324 operations.
29325
c6f3b249 293262009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29327
29328 * configure.ac: Add missing dollar.
29329
6b5886ba 293302009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29331
29332 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
29333
29334 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
29335 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
29336 exports.
29337 * include/grub/sparc64/libgcc.h: Likewise. Use
29338 preprocessor conditionals.
29339
e9d66f6d 293402009-10-14 Robert Millan <rmh.grub@aybabtu.com>
29341
29342 * conf/common.rmk (grub-dumpbios): Remove rule.
29343 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
29344 * util/grub-dumpbios.in: Remove file.
29345
9155bc17 293462009-10-14 Robert Millan <rmh.grub@aybabtu.com>
29347
29348 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
29349 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
29350
29351 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
29352 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
29353 users.
29354
29355 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
29356 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
29357 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
29358 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
29359 users.
29360
bf7f7a18 293612009-10-12 Robert Millan <rmh.grub@aybabtu.com>
29362
29363 * term/tparm.c: Switch to GPLv3.
29364
86564c26 293652009-10-09 Robert Millan <rmh.grub@aybabtu.com>
29366
29367 * include/grub/i386/cpuid.h: Add header protection.
29368
5c936493 293692009-10-09 Robert Millan <rmh.grub@aybabtu.com>
29370
29371 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
29372
29373 * include/grub/i386/cpuid.h: New file.
29374 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
29375 (has_longmode): Rename to ...
29376 (grub_cpuid_has_longmode): ... this. Update all users. Remove
29377 `static' attribute.
29378 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
29379 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
29380 on a CPU that doesn't implement AMD64 instruction set.
29381
186e7cf2 293822009-10-06 Colin Watson <cjwatson@ubuntu.com>
29383
29384 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
29385 that version.texi is rebuilt on version number changes.
29386
83b65c4a 293872009-10-06 Colin Watson <cjwatson@ubuntu.com>
29388
29389 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
29390 Fixes bug #27602.
29391
d244281c 293922009-10-06 Colin Watson <cjwatson@ubuntu.com>
29393
29394 * util/i386/pc/grub-install.in: Source
29395 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
29396 that the --grub-probe option will work.
29397 * util/sparc64/ieee1275/grub-install.in: Likewise.
29398
da25306d 293992009-10-05 Robert Millan <rmh.grub@aybabtu.com>
29400
29401 * configure.ac: Bump version to 1.97~beta4.
29402
e8ee83c0 294032009-10-03 Robert Millan <rmh.grub@aybabtu.com>
29404
29405 Resync grub-mkdevicemap in x86_64-efi.
29406
29407 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
29408 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
29409 `util/devicemap.c'.
29410
50dcabcf 294112009-10-01 Colin Watson <cjwatson@ubuntu.com>
29412
29413 * util/grub-editenv.c (create_envblk_file): Write new block with a
29414 .new suffix and then rename it into place, to ensure atomic
29415 creation.
29416
0e51c3a7 294172009-09-28 Robert Millan <rmh.grub@aybabtu.com>
29418
29419 Do not automatically install headers.
29420
29421 * Makefile.in (include_DATA): Remove. Update all users.
29422
31299a95 294232009-09-26 Robert Millan <rmh.grub@aybabtu.com>
29424
29425 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
29426 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
29427
29428 * util/osdetect.lua: Remove.
29429 * script/lua/lauxlib.c: Likewise.
29430 * script/lua/ldebug.c: Likewise.
29431 * script/lua/grub_main.c: Likewise.
29432 * script/lua/lauxlib.h: Likewise.
29433 * script/lua/ldebug.h: Likewise.
29434 * script/lua/ltablib.c: Likewise.
29435 * script/lua/liolib.c: Likewise.
29436 * script/lua/lstrlib.c: Likewise.
29437 * script/lua/lualib.h: Likewise.
29438 * script/lua/ldo.c: Likewise.
29439 * script/lua/ldump.c: Likewise.
29440 * script/lua/ldo.h: Likewise.
29441 * script/lua/loslib.c: Likewise.
29442 * script/lua/lundump.c: Likewise.
29443 * script/lua/grub_lib.c: Likewise.
29444 * script/lua/ldblib.c: Likewise.
29445 * script/lua/lundump.h: Likewise.
29446 * script/lua/lmem.c: Likewise.
29447 * script/lua/grub_lib.h: Likewise.
29448 * script/lua/lmathlib.c: Likewise.
29449 * script/lua/lstate.c: Likewise.
29450 * script/lua/ltm.c: Likewise.
29451 * script/lua/lvm.c: Likewise.
29452 * script/lua/lmem.h: Likewise.
29453 * script/lua/lstate.h: Likewise.
29454 * script/lua/ltm.h: Likewise.
29455 * script/lua/ltable.c: Likewise.
29456 * script/lua/lvm.h: Likewise.
29457 * script/lua/llex.c: Likewise.
29458 * script/lua/lgc.c: Likewise.
29459 * script/lua/grub_lua.h: Likewise.
29460 * script/lua/loadlib.c: Likewise.
29461 * script/lua/lfunc.c: Likewise.
29462 * script/lua/lopcodes.c: Likewise.
29463 * script/lua/lparser.c: Likewise.
29464 * script/lua/ltable.h: Likewise.
29465 * script/lua/llex.h: Likewise.
29466 * script/lua/lgc.h: Likewise.
29467 * script/lua/lfunc.h: Likewise.
29468 * script/lua/lbaselib.c: Likewise.
29469 * script/lua/lopcodes.h: Likewise.
29470 * script/lua/lparser.h: Likewise.
29471 * script/lua/lzio.c: Likewise.
29472 * script/lua/linit.c: Likewise.
29473 * script/lua/lobject.c: Likewise.
29474 * script/lua/llimits.h: Likewise.
29475 * script/lua/lstring.c: Likewise.
29476 * script/lua/lzio.h: Likewise.
29477 * script/lua/lapi.c: Likewise.
29478 * script/lua/lcode.c: Likewise.
29479 * script/lua/lua.h: Likewise.
29480 * script/lua/lobject.h: Likewise.
29481 * script/lua/lstring.h: Likewise.
29482 * script/lua/lapi.h: Likewise.
29483 * script/lua/lcode.h: Likewise.
29484 * script/lua/luaconf.h: Likewise.
29485
cb8a2c38 294862009-09-26 Colin Watson <cjwatson@ubuntu.com>
29487
29488 * docs/grub.texi (Command-line and menu entry commands): Document
29489 date and echo commands.
29490
6b9b6276 294912009-09-24 Pavel Roskin <proski@gnu.org>
29492
29493 * include/grub/kernel.h (struct grub_module_header): Remove
29494 `grub_module_header_types'. Make `type' unsigned. Make `size'
29495 32-bit on all platforms.
29496 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
29497 8-bit field. Use grub_host_to_target32() for `size'.
29498 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
29499 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
29500 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
29501
4e5a02a7 295022009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29503
29504 Fix "lost keypress" bug in at_keyboard.
29505
29506 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
29507 Checks for readyness of input buffer (without flushing it).
29508 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
29509 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
29510
c6dcedf6 295112009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29512
29513 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
29514 size check within GRUB_MACHINE_PCBIOS section.
29515
74c958b1 295162009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29517
29518 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
29519 return value.
29520 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
29521 KEYBOARD_ISREADY check.
29522 (grub_at_keyboard_checkkey): Rename to ...
29523 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
29524 Remove gratuitous cast.
29525
ff420223 295262009-09-23 Colin Watson <cjwatson@ubuntu.com>
29527
29528 * configure.ac: Call AC_PROG_MKDIR_P.
29529 * Makefile.in (docs/stamp-vti): Create docs directory. Create
29530 version.texi in $(builddir) rather than $(srcdir).
29531 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
29532 to makeinfo's @include search path.
29533
d96875df 295342009-09-23 Felix Zielcke <fzielcke@z-51.de>
29535
29536 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
29537
9b3f8365 295382009-09-23 Felix Zielcke <fzielcke@z-51.de>
29539
29540 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
29541 for `*.dpkg-new'.
29542
c44c90db 295432009-09-21 Colin Watson <cjwatson@ubuntu.com>
29544
29545 Build info documentation. Some code borrowed from Automake.
29546
29547 * configure.ac: Check for makeinfo.
29548 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
29549 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
29550 docs/version.texi.
29551 (MOSTLYCLEANFILES): Add vti.tmp.
29552 (docs/version.texi, docs/stamp-vti): Update automatically.
29553 (docs/grub.info): Build info documentation. Use --force and ignore
29554 errors for now.
29555 (all-local): Add $(INFOS).
29556 (install-local): Install info files.
29557 (uninstall): Uninstall info files.
29558 * docs/version.texi: Remove from revision control. This file is
29559 automatically generated on build now.
29560 * gendistlist.sh: Add `*.info'.
29561
e0b37bb5 295622009-09-21 Felix Zielcke <fzielcke@z-51.de>
29563
29564 * kern/term.c: Fix indentation.
29565
5a78865b 295662009-09-21 Felix Zielcke <fzielcke@z-51.de>
29567
29568 * util/hostdisk.c: Fix a comment.
29569
dace7e8a 295702009-09-20 Robert Millan <rmh.grub@aybabtu.com>
29571
29572 Fix regression introduced in r2539.
29573
29574 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
29575 to 0xA1.
29576
a83d079b 295772009-09-19 Colin Watson <cjwatson@ubuntu.com>
29578
29579 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 29580 os-prober. Under normal operation, it does not print anything to
29581 stderr; if it does, we need to debug it, and throwing away stderr
29582 makes that excessively difficult.
a83d079b 29583
be94a509 295842009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
29585
29586 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
29587
63f745e8 295882009-09-16 Robert Millan <rmh.grub@aybabtu.com>
29589
29590 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
29591 AC_LANG_PROGRAM from autoconf.
29592 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
29593 prototypes (fixes warning).
29594
29595 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
29596 `--disable-werror' was used.
29597
bbb2a70f 295982009-09-16 Robert Millan <rmh.grub@aybabtu.com>
29599
29600 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
29601 uninitialized `lastaddr'.
29602
77c24f1d 296032009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
29604
0f0b8c87 29605 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 29606
07197f23 296072009-09-14 Colin Watson <cjwatson@ubuntu.com>
29608
29609 * commands/test.c (get_fileinfo): Return immediately if
29610 grub_fs_probe fails.
29611
dabf1798 296122009-09-14 José Martínez <xosemp@gmail.com>
29613
29614 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
29615
d52109a7 296162009-09-14 Colin Watson <cjwatson@ubuntu.com>
29617
29618 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
29619 output.
29620
56532179 296212009-09-13 Robert Millan <rmh.grub@aybabtu.com>
29622
29623 * configure.ac: Remove --enable-grub-pe2elf. Only build
29624 grub-pe2elf when needed by the build system itself.
29625 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
29626
8ef070f5 296272009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29628
29629 * configure.ac: Bump version to 1.97~beta3.
29630 * docs/version.texi: Likewise.
29631
61229557 296322009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29633
29634 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
29635 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
29636 from here ...
29637 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
29638 (grub_linux_setup_video): ... to here (with some adjustments).
29639
5c9f8d84 296402009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29641
29642 Fix memory corruption issue (spotted by Colin Watson).
29643
29644 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
29645 causing returned size to be stored in an incorrect memory location.
29646 Fix use of uninitialized value when storing the returned size.
29647
e8f5d6e9 296482009-09-12 Yves Blusseau <blusseau@zetam.org>
29649
29650 Change clean rules to properly remove files
29651
29652 * genmk.rb: add new clean rules
29653 * Makefile.in (clean): add the new targets
29654 (mostlyclean): likewise
29655
cda2a409 296562009-09-11 Colin Watson <cjwatson@ubuntu.com>
29657
29658 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
29659 to grub_uint64_t.
29660 * fs/ntfs.c (init_file): Understand 64-bit sizes for
29661 non-resident files.
29662
86695375 296632009-09-11 Colin Watson <cjwatson@ubuntu.com>
29664
29665 * configure.ac: Don't look for help2man when cross-compiling. Fixes
29666 part of bug #27349.
29667
8aa1541a 296682009-09-10 Felix Zielcke <fzielcke@z-51.de>
29669
29670 * util/grub-mkconfig.in: Make the created config mode 400 and
29671 print a warning if it fails.
29672
48d9bb0a 296732009-09-10 Robert Millan <rmh.grub@aybabtu.com>
29674
29675 * util/grub.d/40_custom.in: Ask user to type custom entries below
29676 comment, rather than below 'exec tail' line.
29677
3b0521be 296782009-09-10 Colin Watson <cjwatson@ubuntu.com>
29679
29680 * util/grub.d/40_custom.in: Make sure that the explanatory text is
29681 visible in grub.cfg.
29682
50051d55 296832009-09-10 Colin Watson <cjwatson@ubuntu.com>
29684
29685 * util/grub.d/40_custom.in: Make it a little clearer how to use this
29686 file.
29687
c0d34387 296882009-09-10 Felix Zielcke <fzielcke@z-51.de>
29689
29690 * docs/grub.cfg: Add an example menu entry for memtest86+.
29691
80a608f3 296922009-09-09 Felix Zielcke <fzielcke@z-51.de>
29693
a2094832 29694 * config.guess: Update to latest version from config git.
80a608f3 29695 * config.sub: Likewise.
29696
99423078 296972009-09-08 Colin Watson <cjwatson@ubuntu.com>
29698
29699 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
29700 unknown-command case. Fixes bug #27320.
29701
44454e4c 297022009-09-08 Felix Zielcke <fzielcke@z-51.de>
29703
29704 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
29705 `help' if the command exists.
29706
e30d87ad 297072009-09-06 Robert Millan <rmh.grub@aybabtu.com>
29708
29709 * INSTALL: Require GCC 4.1.3 or later.
29710
9a86f1ec 297112009-09-06 Yves Blusseau <blusseau@zetam.org>
29712
29713 * Makefile.in (RMKFILES): add i386-qemu.rmk
29714 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
29715 $(srcdir)/stamp-h.in
29716
7f26d466 297172009-09-05 Robert Millan <rmh.grub@aybabtu.com>
29718
29719 * util/grub-probe.c (probe): Comment out buggy codepath, which
29720 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
29721 should be re-enabled after 1.97.
29722
3a613259 297232009-09-05 Felix Zielcke <fzielcke@z-51.de>
29724
29725 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
29726 find searches for.
29727
197f76c7 297282009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
29729
29730 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
29731 unnecessary calls to grub_error.
29732
70ba68ce 297332009-09-04 Colin Watson <cjwatson@ubuntu.com>
29734
29735 * NEWS: Mention `keystatus' and Unicode fonts.
29736
4ff0d7a4 297372009-09-04 Robert Millan <rmh.grub@aybabtu.com>
29738
29739 * configure.ac: Bump version to 1.97~beta2.
29740 * docs/version.texi: Likewise.
29741
77c55a87 297422009-09-03 Colin Watson <cjwatson@ubuntu.com>
29743
29744 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
29745 containing unwind information in some cases where it previously did
29746 not. Use -fno-dwarf2-cfi-asm if available to restore the old
29747 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
29748 discussion.
29749
f79572cd 297502009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
29751
29752 Embedding loadenv module into grub-emu
29753
29754 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
29755 commands/loadenv.c
29756 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
29757 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
29758 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
29759 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
29760 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
29761 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
29762
93a81088 297632009-09-03 Magnus Granberg <zorry@ume.nu>
29764
29765 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
29766 include -fPIE in the default specs.
29767 * configure.ac: Check if pie_possible is yes and add -fno-PIE
29768 to TARGET_CFLAGS.
29769
160034b2 297702009-09-03 Felix Zielcke <fzielcke@z-51.de>
29771
29772 * INSTALL: Note that GNU Bison 2.3 or later is required.
29773
087c07c4 297742009-09-03 Colin Watson <cjwatson@ubuntu.com>
29775
29776 * kern/i386/pc/startup.S: Fix typo.
29777
cbf978c0 297782009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
29779
29780 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
29781 according to GCS.
29782
297832009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 29784
29785 * docs/grub.texi (Naming convention): Describe one-based partition
29786 numbering.
29787 (Device syntax): Likewise.
29788 (File name syntax): Likewise.
29789 (Block list syntax): Likewise.
29790 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
29791 menu.lst.
29792 (File name syntax): Likewise.
29793 (Command-line and menu entry commands): Document acpi, blocklist,
29794 crc, export, insmod, keystatus, ls, set, and unset commands.
29795
f3e8cdfd 297962009-09-02 Colin Watson <cjwatson@ubuntu.com>
29797
29798 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
29799 to avoid implying that only one of --shift, --ctrl, or --alt may be
29800 used.
29801
c0bc232b 298022009-09-02 Colin Watson <cjwatson@ubuntu.com>
29803
29804 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
29805 rather than comparing against S_IFREG, which will almost never work.
29806
aa0f752d 298072009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
29808
29809 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
29810 (write_blocklists): Likewise.
29811
ecb3166a 298122009-09-01 Colin Watson <cjwatson@ubuntu.com>
29813
29814 * script/lua/grub_lua.h (fputs): Supply a format string as the first
29815 argument to grub_printf.
29816
c403a125 298172009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 29818
29819 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 29820 non GNU test.
31aba781 29821
b5e7312c 298222009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
29823
29824 * kern/file.c (grub_file_read): Spelling fix
29825
fe00f472 298262009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
29827
29828 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
29829 loading of headers in some cases.
29830
cc55302e 298312009-08-30 Robert Millan <rmh.grub@aybabtu.com>
29832
29833 * configure.ac: Bump version to 1.97~beta1.
29834 * docs/version.texi: Likewise.
29835
5c90cdd2 298362009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 29837
29838 * include/grub/i386/xnu.h: Add license header.
29839 include grub/err.h explicitly.
29840
c90edae4 298412009-08-29 Robert Millan <rmh.grub@aybabtu.com>
29842
29843 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
29844 to `ufs' in the vfs.root.mountfrom kernel parameter.
29845
d8888b5c 298462009-08-29 Robert Millan <rmh.grub@aybabtu.com>
29847
29848 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
29849
29850 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
29851 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
29852
29853 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
29854 `ARRAY_SIZE' macro.
29855
6f07b921 298562009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29857
29858 * kern/file.c (grub_file_read): Check offset.
29859 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
29860 * fs/jfs.c (grub_jfs_read_file): Likewise.
29861 * fs/ntfs.c (grub_ntfs_read): Likewise.
29862 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
29863 * fs/minix.c (grub_minix_read_file): Correct offset check.
29864 * fs/ufs.c (grub_ufs_read_file): Likewise.
29865
b4f34077 298662009-08-28 Colin Watson <cjwatson@ubuntu.com>
29867
29868 * term/i386/pc/console.c (bios_data_area): Cast
29869 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
29870
e7c69859 298712009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29872
29873 1-bit optimised blitters.
29874
29875 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
29876 prototype.
29877 (grub_video_fbblit_replace_24bit_1bit): Likewise.
29878 (grub_video_fbblit_replace_16bit_1bit): Likewise.
29879 (grub_video_fbblit_replace_8bit_1bit): Likewise.
29880 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
29881 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
29882 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
29883 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
29884 function.
29885 (grub_video_fbblit_replace_24bit_1bit): Likewise.
29886 (grub_video_fbblit_replace_16bit_1bit): Likewise.
29887 (grub_video_fbblit_replace_8bit_1bit): Likewise.
29888 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
29889 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
29890 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
29891 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
29892 when possible.
29893 * video/video.c (grub_video_get_blit_format): Return
29894 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
29895
a57da43f 298962009-08-28 Colin Watson <cjwatson@ubuntu.com>
29897
29898 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
29899 the first argument to grub_printf.
29900
4cbe67e5 299012009-08-28 Colin Watson <cjwatson@ubuntu.com>
299022009-08-28 Robert Millan <rmh.grub@aybabtu.com>
29903
29904 Add `getkeystatus' terminal method. Add a new `keystatus' command
29905 to query it.
29906
29907 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
29908 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
29909 modifier key bitmasks.
29910 (struct grub_term_input): Add `getkeystatus' member.
29911 (grub_getkeystatus): Add prototype.
29912 * kern/term.c (grub_getkeystatus): New function.
29913
29914 * include/grub/i386/pc/memory.h
29915 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
29916 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
29917 Data Area layout.
29918 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
29919 (grub_console_term_input): Set `getkeystatus' member.
29920 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
29921 constants.
29922 (grub_usb_keyboard_getreport): Likewise.
29923 (grub_usb_keyboard_checkkey): Likewise.
29924 (grub_usb_keyboard_getkeystatus): New function.
29925 (grub_usb_keyboard_term): Set `getkeystatus' member.
29926
29927 * commands/keystatus.c: New file.
29928 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
29929 (keystatus_mod_SOURCES): New variable.
29930 (keystatus_mod_CFLAGS): Likewise.
29931 (keystatus_mod_LDFLAGS): Likewise.
29932 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
29933 commands/keystatus.c.
29934 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29935 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29936 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29938 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29939 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 29940
6e2a9085 299412009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29942
29943 Split befs.mod and afs.mod into *_be.mod and *.mod
29944
29945 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
29946 (grub_fstest_SOURCES): Likewise.
29947 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
29948 (afs_be_mod_SOURCES): New variable.
29949 (afs_be_mod_CFLAGS): Likewise.
29950 (afs_be_mod_LDFLAGS): Likewise.
29951 (befs_be_mod_SOURCES): Likewise.
29952 (befs_be_mod_CFLAGS): Likewise.
29953 (befs_be_mod_LDFLAGS): Likewise.
29954 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
29955 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29956 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29957 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29958 (grub_emu_SOURCES): Likewise.
29959 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29960 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29961 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29962 * fs/afs_be.c: New file.
29963 * fs/befs_be.c: New file.
29964 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
29965 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
29966 (U16): Replaced with ...
29967 (grub_afs_to_cpu16): ...this. All users updated.
29968 (U32): Replaced with ...
29969 (grub_afs_to_cpu32): ...this. All users updated.
29970 (U64): Replaced with ...
29971 (grub_afs_to_cpu64): ...this. All users updated.
29972 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
29973 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 29974 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 29975 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29976 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
29977 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
29978 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
29979 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29980 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
29981 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
29982 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
29983
32a71655 299842009-08-26 Bean <bean123ch@gmail.com>
29985
29986 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
29987 64-bit number.
29988 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
29989 (grub_xfs_inode_block): Change return type to grub_uint64_t.
29990 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
29991
552bf6c5 299922009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29993
29994 NetBSD memory map support.
29995
29996 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
29997 (grub_netbsd_btinfo_mmap_header): New structure.
29998 (grub_netbsd_btinfo_mmap_entry): Likewise.
29999 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
30000
1ae2078c 300012009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30002
30003 Enable bsd.mod on coreboot.
30004
30005 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
30006 (bsd_mod_SOURCES): New variable.
30007 (bsd_mod_CFLAGS): Likewise.
30008 (bsd_mod_LDFLAGS): Likewise.
30009 (bsd_mod_ASFLAGS): Likewise.
30010 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
30011 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
30012
beefc598 300132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30014
30015 Cleanup NetBSD root support.
30016
30017 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
30018 grub_bsd_get_device.
30019 Fix typo.
30020
3b76e68b 300212009-08-25 Felix Zielcke <fzielcke@z-51.de>
30022
30023 * util/grub.d/00_header.in: Move check for the video backend of
30024 gfxterm from here ...
30025 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
30026 a suitable video backend.
30027
aea664ea 300282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30029
30030 Fix breakage in grub-setup.
30031
30032 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
30033 "msdos_partition_map".
30034
ff747d50 300352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30036
30037 Fix breakage in normal/auth.c.
30038
30039 * normal/auth.c (grub_iswordseparator): New function.
30040
e7e1f93f 300412009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30042
30043 Authentication support.
30044
30045 * commands/password.c: New file.
30046 * conf/common.rmk (pkglib_MODULES): Add password.mod.
30047 (password_mod_SOURCES): New variable.
30048 (password_mod_CFLAGS): Likewise.
30049 (password_mod_LDFLAGS): Likewise.
30050 (normal_mod_SOURCES): Add normal/auth.c.
30051 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
30052 normal/auth.c.
30053 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30054 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30055 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30057 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30058 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30059 * include/grub/auth.h: New file.
30060 * include/grub/err.h (grub_err_t): New enum value
30061 GRUB_ERR_ACCESS_DENIED.
30062 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
30063 'users'.
30064 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
30065 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
30066 users updated.
30067 * normal/auth.c: New file.
30068 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
30069 (grub_cmdline_run): Don't allow to go to command line without
30070 authentication.
30071 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
30072 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
30073 menuentry without superuser rights.
30074 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
30075 user isn't a superuser.
30076
70f1161d 300772009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30078
30079 Save space by inlining misc.c functions.
30080
30081 * kern/misc.c (grub_iswordseparator): Made static.
30082 * kern/misc.c (grub_strcat): Moved from here ...
30083 * include/grub/misc.h (grub_strcat): ... here. Inlined.
30084 * kern/misc.c (grub_strncat): Moved from here ...
30085 * include/grub/misc.h (grub_strncat): ... here. Inlined.
30086 * kern/misc.c (grub_strcasecmp): Moved from here ...
30087 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
30088 * kern/misc.c (grub_strncasecmp): Moved from here ...
30089 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
30090 * kern/misc.c (grub_isalpha): Moved from here ...
30091 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
30092 * kern/misc.c (grub_isdigit): Moved from here ...
30093 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
30094 * kern/misc.c (grub_isgraph): Moved from here ...
30095 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
30096 * kern/misc.c (grub_tolower): Moved from here ...
30097 * include/grub/misc.h (grub_tolower): ... here. Inlined.
30098
48e40bff 300992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30100
30101 * script/sh/function.c (grub_script_function_find): Cut error message
30102 not to flood terminal.
30103 * script/sh/lexer.c (grub_script_yylex): Remove command line length
30104 limit.
30105 * script/sh/script.c (grub_script_arg_add): Duplicate string.
30106
c385bfc3 301072009-08-24 Colin Watson <cjwatson@ubuntu.com>
30108
30109 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
30110 `report' grub_uint8_t *.
30111 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
30112 Use a 50-millisecond timeout rather than just repeating
30113 grub_usb_keyboard_getreport 50 times.
30114 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
30115
2d21e3e8 301162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30117
30118 Rename *_partition_map to part_*
30119
30120 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
30121 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
30122 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
30123 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
30124 All users updated.
30125 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
30126 All users updated.
30127 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
30128 * util/grub-probe.c (probe_partmap): Don't transform partition name
30129 to get module name.
30130
dd103c4e 301312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30132
30133 Fix OpenBSD and NetBSD support.
30134
30135 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
30136 memory address conflict.
30137 (OPENBSD_MMAP_ACPI): New definition.
30138 (OPENBSD_MMAP_NVS): Likewise.
30139 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
30140 and OPENBSD_MMAP_NVS.
30141 Add memory map terminator
30142 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 30143 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 30144
16c84d74 301452009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30146
30147 Let user specify NetBSD root device.
30148
30149 * loader/i386/bsd.c (netbsd_root): New variable.
30150 (netbsd_opts): New option 'root'.
30151 (NETBSD_ROOT_ARG): New macro.
30152 (grub_netbsd_boot): Use 'netbsd_root'.
30153 (grub_bsd_unload): Free 'netbsd_root'.
30154 (grub_cmd_netbsd): Fill 'netbsd_root'.
30155
adb29902 301562009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30157
30158 Support for 64-bit NetBSD.
30159
30160 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
30161 point when booting non-FreeBSD.
30162
f5ae9f74 301632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30164
30165 Support --no-smp and --no-acpi for NetBSD.
30166
30167 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
30168 (NETBSD_AB_NOACPI): Likewise.
30169 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
30170 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
30171
de74f136 301722009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30173
30174 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
30175 errors.
30176 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
30177 errors. Call grub_error when needed.
30178
e9a925da 301792009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30180
30181 * commands/search.c (search_fs): Try searching without autoload first.
30182 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
30183 filesystem module explicitly for faster booting.
30184
5174302b 301852009-08-23 Colin Watson <cjwatson@ubuntu.com>
30186
30187 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
30188
c8c80635 301892009-08-23 Colin Watson <cjwatson@ubuntu.com>
30190
30191 * util/grub.d/30_os-prober.in: Disable os-prober if
30192 `GRUB_DISABLE_OS_PROBER' was set to true.
30193
71acf5e5 301942009-08-23 Robert Millan <rmh.grub@aybabtu.com>
30195
30196 * partmap/pc.c: Rename to ...
30197 * partmap/msdos.c: ... this. Update all users.
30198 (grub_pc_partition_map): Rename to ...
30199 (grub_msdos_partition_map): ... this. Update all users.
30200
30201 * parttool/pcpart.c: Rename to ...
30202 * parttool/msdospart.c: ... this. Update all users.
30203
30204 * include/grub/pc_partition.h: Rename to ...
30205 * include/grub/msdos_partition.h: ... this. Update all users.
30206 (grub_pc_partition_bsd_entry): Rename to ...
30207 (grub_msdos_partition_bsd_entry): ... this. Update all users.
30208 (grub_pc_partition_disk_label): Rename to ...
30209 (grub_msdos_partition_disk_label): ... this. Update all users.
30210 (grub_pc_partition_entry): Rename to ...
30211 (grub_msdos_partition_entry): ... this. Update all users.
30212 (grub_pc_partition_mbr): Rename to ...
30213 (grub_msdos_partition_mbr): ... this. Update all users.
30214 (grub_pc_partition): Rename to ...
30215 (grub_msdos_partition): ... this. Update all users.
30216 (grub_pc_partition_is_empty): Rename to ...
30217 (grub_msdos_partition_is_empty): ... this. Update all users.
30218 (grub_pc_partition_is_extended): Rename to ...
30219 (grub_msdos_partition_is_extended): ... this. Update all users.
30220 (grub_pc_partition_is_bsd): Rename to ...
30221 (grub_msdos_partition_is_bsd): ... this. Update all users.
30222
30223 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
30224 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
30225 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
30226 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
30227 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
30228 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
30229 (gpt_mod_LDFLAGS): Rename to ...
30230 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
30231 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
30232 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
30233 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
30234 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
30235 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
30236 (part_gpt_mod_LDFLAGS): ... this.
30237 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
30238 `pcpart.mod' to `msdospart.mod'.
30239 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
30240 to ...
30241 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
30242 (msdospart_mod_LDFLAGS): ... this.
30243
c11fded5 302442009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30245
30246 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
30247 (openbsd_opts): Likewise.
30248 (netbsd_opts): Likewise.
30249 (freebsd_flags): Added 0 terminator.
30250 (openbsd_flags): Likewise.
30251 (netbsd_flags): Likewise.
30252 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
30253 (grub_cmd_freebsd): Transformed into extended command.
30254 (grub_cmd_openbsd): Likewise.
30255 (grub_cmd_netbsd): Likewise.
30256 (cmd_freebsd): Changed type to grub_extcmd_t.
30257 (cmd_openbsd): Likewise.
30258 (cmd_netbsd): Likewise.
30259 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
30260 grub_cmd_openbsd as extended commands.
30261 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
30262 cmd_netbsd and cmd_openbsd
30263
11d1c769 302642009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
30265
30266 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
30267
7a9094e5 302682009-08-21 Pavel Roskin <proski@gnu.org>
30269
5496c37e 30270 * Makefile.in (install-local): When checking if a file is in the
30271 build directory, use "test -e" to detect symlinks.
30272
7a9094e5 30273 * Makefile.in (install-local): Remove all files in
30274 $(DESTDIR)$(pkglibdir) before installing new files there.
30275
e53cea11 302762009-08-18 Felix Zielcke <fzielcke@z-51.de>
30277
30278 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
30279 grub-mkelfimage.
30280
9aced544 302812009-08-18 Felix Zielcke <fzielcke@z-51.de>
30282
30283 * util/grub-mkconfig.in: Don't use gfxterm by default if not
30284 explicitly specified by the user.
30285
b7da6bab 302862009-08-18 Pavel Roskin <proski@gnu.org>
30287
30288 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
30289 grub_uint8_t pointer for data.
30290 * include/grub/fbutil.h (struct grub_video_fbblit_info):
30291 Likewise.
30292 * video/fb/fbutil.c: Remove unnecessary casts.
30293
19f1b335 302942009-08-17 Michal Suchanek <hramrach@centrum.cz>
30295
30296 VBE cleanup.
30297
30298 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
30299 (grub_vbe_set_video_mode): Save active mode info
30300 only after setting the mode.
30301 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
30302 second argument.
30303
2f467aa9 303042009-08-17 Michal Suchanek <hramrach@centrum.cz>
30305
30306 Rename variables for clarity.
30307
30308 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
30309 (active_vbe_mode_info): ... this. All users updated.
30310 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
30311 All users updated.
30312 (initial_mode): Rename to ...
30313 (initial_vbe_mode): ... this. All users updated.
30314 (mode_in_use): Rename to ..
30315 (vbe_mode_in_use): ... this. All users updated.
30316 (mode_list): Rename to ..
30317 (vbe_mode_list): ... this. All users updated.
30318 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
30319 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
30320 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
30321 'mode_list_size' to 'vbe_mode_list_size'.
30322 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
30323 'best_mode_info' to 'best_vbe_mode_info' and
30324 'best_mode' to 'best_vbe_mode'
30325
6025fcd7 303262009-08-17 Michal Suchanek <hramrach@centrum.cz>
30327
30328 Remove duplicate grub_video_fb_get_video_ptr.
30329
30330 * include/grub/fbutil.h (get_data_ptr): Rename to ...
30331 (grub_video_fb_get_video_ptr): ... this.
30332 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
30333 * video/fb/fbutil.c: Add comment about addressing.
30334 (get_data_ptr): Rename to ...
30335 (grub_video_fb_get_video_ptr): ... this. All users updated.
30336 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
30337
cc8c6faf 303382009-08-17 Robert Millan <rmh.grub@aybabtu.com>
30339
30340 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
30341 grub_dprintf() that was just added.
30342
08aa61f0 303432009-08-17 Robert Millan <rmh.grub@aybabtu.com>
30344
30345 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
30346 (DEFAULT_VIDEO_MODE): Remove macros.
30347 (grub_linux_boot): Remove assumption that Linux has FB support,
30348 and use "text" as default video mode.
30349
7cef4f75 303502009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
30351
30352 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
30353 grub_dprintf.
30354 * fs/fat.c (grub_fat_read_data): Likewise.
30355
e1f39873 303562009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30357
30358 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
30359 payload.
30360 (grub_module): Likewise.
30361
c166d79e 303622009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30363
30364 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
30365 mbi->cmdline but free playground.
30366
c60cee8e 303672009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30368
30369 Handle group offset on UFS1.
30370
30371 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
30372 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
30373
c0d8b5d4 303742009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30375
30376 Split ufs.mod into ufs1.mod and ufs2.mod.
30377
30378 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
30379 (grub_fstest_SOURCES): Likewise.
30380 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
30381 (ufs_mod_SOURCES): Remove.
30382 (ufs_mod_CFLAGS): Likewise.
30383 (ufs_mod_LDFLAGS): Likewise.
30384 (ufs1_mod_SOURCES): New variable.
30385 (ufs1_mod_CFLAGS): Likewise.
30386 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 30387 (ufs2_mod_SOURCES): New variable.
30388 (ufs2_mod_CFLAGS): Likewise.
30389 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 30390 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
30391 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
30392 Likewise.
30393 (grub_emu_SOURCES): Likewise.
30394 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30395 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30396 (grub_setup_SOURCES): Likewise.
30397 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30398 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
30399 (grub_setup_SOURCES): Likewise.
30400 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
30401 Likewise.
30402 * fs/ufs2.c: New file.
30403 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
30404
d3539132 304052009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30406
30407 Framebuffer split.
30408
30409 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
30410 subsystem at the end.
30411 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
30412 (video_fb_mod_SOURCES): New variable.
30413 (video_fb_mod_CFLAGS): Likewise.
30414 (video_fb_mod_LDFLAGS): Likewise.
30415 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
30416 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
30417 * video/i386/pc/vbeblit.c: Moved from here ...
30418 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
30419 * video/i386/pc/vbefill.c: Moved from here ...
30420 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
30421 * video/i386/pc/vbeutil.c: Moved from here ...
30422 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
30423 * include/grub/i386/pc/vbeblit.h: Moved from here ...
30424 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
30425 * include/grub/i386/pc/vbefill.h: Moved from here ...
30426 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
30427 * include/grub/i386/pc/vbeutil.h: Moved from here ...
30428 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
30429 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
30430 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
30431 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
30432 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
30433 (grub_video_adapter): Added 'get_info_and_fini'.
30434 (grub_video_get_info_and_fini): New prototype.
30435 (grub_video_set_mode): make modestring const char *.
30436 * loader/i386/linux.c (grub_linux_setup_video): Use
30437 grub_video_get_info_and_fini.
30438 (grub_linux_boot): Move modesetting just before booting.
30439 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
30440 grub_video_get_info_and_fini.
30441 * video/i386/pc/vbe.c: Moved framebuffer part ...
30442 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
30443 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
30444 grub_video_fbstd_colors and grub_video_fb_set_palette.
30445 (grub_video_vbe_init): Clear 'framebuffer' variable and use
30446 grub_video_fb_init.
30447 (grub_video_vbe_fini): Use grub_video_fb_fini.
30448 (grub_video_vbe_setup): Use framebuffer.render_target instead of
30449 render_target and use grub_video_fb_set_active_render_target and
30450 grub_video_fb_set_palette.
30451 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
30452 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
30453 (grub_video_vbe_adapter): Use framebuffer.
30454 * video/video.c (grub_video_get_info_and_fini): New function.
30455 (grub_video_set_mode): Make modestring const char *.
30456 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
30457 values are already initialised.
30458
d404ee56 304592009-08-14 Pavel Roskin <proski@gnu.org>
30460
30461 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
30462 ABS and APPLE_CC.
30463 * boot/i386/pc/diskboot.S: Likewise.
30464 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
30465 sectors allow compilation on MacOSX.
30466 * conf/i386-pc.rmk: Enable unconditional compilation of
30467 lnxboot.img.
30468
9a10df16 304692009-08-13 Colin Watson <cjwatson@ubuntu.com>
30470
30471 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
30472 * util/grub.d/00_header.in: Enter interruptible sleep if
30473 GRUB_HIDDEN_TIMEOUT is set.
30474
be3c9ca7 304752009-08-13 Yves Blusseau <blusseau@zetam.org>
30476
30477 * include/grub/symbol.h: Add the LOCAL macro.
30478 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
30479 starting with "L_".
30480
1f9e557e 304812009-08-13 Pavel Roskin <proski@gnu.org>
30482
9ca62843 30483 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
30484 any modern compilers we support.
30485
1f9e557e 30486 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
30487 Use local labels starting with "L_" so that Apple assembler
30488 knows they are local.
30489
81623db6 304902009-08-10 Robert Millan <rmh.grub@aybabtu.com>
30491
30492 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
30493 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
30494 (bsd_kernel_types): ... this enum.
30495
30496 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
30497 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
30498 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
30499
30500 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
30501 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
30502 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
30503 messages.
30504
f5d35e7a 305052009-08-08 Robert Millan <rmh.grub@aybabtu.com>
30506
30507 * util/grub-dumpdevtree: Moved from here ...
30508 * util/i386/efi/grub-dumpdevtree: ... to here.
30509 (hexify): New function. Converts a string to its hex version.
30510 Generate hex versions of "efi" and "device-properties" by calling
30511 hexify() on the ASCII strings rather than by hardcoding numbers.
30512
d1e1d527 305132009-08-08 Robert Millan <rmh.grub@aybabtu.com>
30514
30515 * fs/jfs.c: Update copyright year.
30516
1ebbe064 305172009-08-08 Felix Zielcke <fzielcke@z-51.de>
30518
30519 * util/grub.d/00_header.in: Fix a comment.
30520 * util/grub.d/10_linux.in: Likewise.
30521 * util/grub.d/10_windows.in: Likewise.
30522 * util/grub.d/10_hurd.in: Likewise.
30523
a78c8d24 305242009-08-08 Felix Zielcke <fzielcke@z-51.de>
30525
30526 * util/grub-mkconfig.in: Allow the user to specify the used font
30527 with GRUB_FONT.
30528
29a6b9e8 305292009-08-08 Pavel Roskin <proski@gnu.org>
30530
b5f16cc4 30531 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
30532 available, xfs.mod needs it now.
30533
2f5cb827 30534 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
30535 the "g" modifier in sed when the intention is to strip something
30536 once. This fixes comparison of kernels with multiple dashes.
30537
29a6b9e8 30538 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
30539 on it. Add missing space before closing bracket. Fix
30540 misleading formatting.
30541
892a3d98 305422009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30543
30544 * docs/grub.texi: Major overhaul. Remove all sections that are
30545 specific to GRUB Legacy, or mostly composed of Legacy-specific
30546 information.
30547
ed94253f 305482009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30549
30550 * docs/version.texi: New file. Provides version information for
30551 grub.texi.
30552
126d6628 305532009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30554
30555 * docs/grub.texi: Update CVS information to SVN.
30556 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
30557
998b5aa9 305582009-08-07 Felix Zielcke <fzielcke@z-51.de>
30559
30560 * util/grub-mkconfig.in: Remove a wrong `fi'.
30561
818e094a 305622009-08-07 Felix Zielcke <fzielcke@z-51.de>
30563
30564 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
30565 (grub_jfs_uuid): New function.
30566 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
30567
b969c52f 305682009-08-07 Felix Zielcke <fzielcke@z-51.de>
30569
30570 * util/grub-mkconfig_lib.in (font_path): Move the functionality
30571 of it to ...
30572 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
30573 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
30574
7a4894cc 305752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30576
30577 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
30578 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
30579 Update all users.
30580
30581 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
30582 not just "vmlinu[zx]".
30583 Moved from here ...
30584 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
30585 all users.
30586
30587 * util/grub.d/10_linux.in (find_latest): Moved from here ...
30588 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
30589 all users.
30590
4e2171f8 305912009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30592
30593 * util/grub.d/10_freebsd.in: Use an absolute device path for
30594 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
30595
6dcfcb32 305962009-08-06 Felix Zielcke <fzielcke@z-51.de>
30597
30598 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
30599 handling of multiple abstraction modules.
30600
f56a8756 306012009-08-04 Robert Millan <rmh.grub@aybabtu.com>
30602
30603 Fix a bug resulting in black screen when loading Linux using a
30604 packed video mode.
30605
30606 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
30607 function.
30608
30609 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
30610 (grub_vbe_bios_getset_dac_palette_width): New function.
30611 (grub_vbe_bios_get_dac_palette_width)
30612 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
30613 grub_vbe_bios_getset_dac_palette_width()).
30614
30615 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
30616 check for return status.
30617 (grub_vbe_get_video_mode_info): When getting information for a packed
30618 mode (<= 8 bpp), obtain DAC palette width using
30619 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
30620 {red,green,blue}_mark_size.
30621
222671b2 306222009-08-04 Felix Zielcke <fzielcke@z-51.de>
30623
ecb1a6d9 30624 * commands/search.c (options): Fix help output to match actual code.
222671b2 30625
f84114f5 306262009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
30627
30628 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
30629 of homegrown code.
30630
bd288a20 306312009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 30632
30633 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
30634 on XFS or ReiserFS.
30635
8aab5e25 306362009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
30637
30638 Support Apple partition map with sector size different from 512 bytes.
30639
30640 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
30641 (apple_partition_map_iterate): Respect 'aheader.blocksize'
30642 and 'apart.partmap_size'.
30643
6ad6258a 306442009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
306452009-08-01 Robert Millan <rmh.grub@aybabtu.com>
30646
30647 Fix cpuid command.
30648
30649 * commands/i386/cpuid.c (options): New variable.
30650 (grub_cmd_cpuid): Return real error.
30651 (GRUB_MOD_INIT(cpuid)): Declare options.
30652
67459bc6 306532009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
30654
30655 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
30656 valid.
30657
fbc6ab54 306582009-07-31 Bean <bean123ch@gmail.com>
30659
30660 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
30661 log2_inode.
30662 (grub_fshelp_node): Move inode field to the end.
30663 (grub_xfs_data): Remove inode field.
30664 (grub_xfs_inode_block): Calculate inode size using sblock.
30665 (grub_xfs_inode_offset): Likewise.
30666 (grub_xfs_read_inode): Calculate inode size using sblock.
30667 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
30668 (grub_xfs_iterate_dir): Calculate inode size using sblock.
30669 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
30670 to match inode size.
30671 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
30672 not accessible when data is null.
30673 (grub_xfs_open): Likewise.
30674
f45d6cfc 306752009-07-31 Bean <bean123ch@gmail.com>
30676
30677 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
30678 Don't change pv->disk if it's already set.
30679
30680 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
30681 (grub_raid_register): ... here.
30682 (grub_raid_rescan): Removed.
30683
30684 * include/grub/raid.h (grub_raid_rescan): Removed.
30685
30686 * util/grub-fstest.c: Remove include file <grub/raid.h>.
30687 (fstest): Replace grub_raid_rescan with module fini function followed
30688 by init function.
30689
30690 * util/grub-probe.c: Add include file <grub/raid.h>.
30691 (probe_raid_level): New function.
30692 (probe): Detect abstraction by walking the disk device, support two
30693 level of abstraction (LVM on RAID) when detecting partition map.
30694
24443b5a 306952009-07-31 Pavel Roskin <proski@gnu.org>
30696
30697 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
30698 to grub_zalloc(), it was erroneous.
30699 Reported by Bean <bean123ch@gmail.com>
30700
a275d9e7 307012009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
30702
30703 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 30704 embedding zone, not only the first one.
a275d9e7 30705
56c5a47f 307062009-07-29 Joe Auricchio <jauricchio@gmail.com>
30707
30708 * term/gfxterm.c (clear_char): New function.
30709 (grub_virtual_screen_setup): Use clear_char.
30710 (scroll_up): Likewise.
30711 (grub_virtual_screen_cls): Likewise.
30712
67bb323a 307132009-07-29 Felix Zielcke <fzielcke@z-51.de>
30714
30715 * util/deviceiter.c (get_acceleraid_disk_name): New static
30716 function.
30717 (grub_util_iterate_devices): Handle Accelraid devices.
30718 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
30719
388a7c75 307202009-07-28 Robert Millan <rmh.grub@aybabtu.com>
30721
30722 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
30723 separator for the suggested gfxpayload string (';' collides with the
30724 parser and needs escaping).
30725
3bb7abcf 307262009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
30727
30728 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
30729 Clear direction flag before jumping to OS.
30730 (grub_multiboot2_real_boot): Likewise.
30731
2ddd36d7 307322009-07-28 Felix Zielcke <fzielcke@z-51.de>
30733
30734 * util/i386/pc/grub-install: Fix parsing of --disk-module
30735 option.
30736
c521b62b 307372009-07-28 Felix Zielcke <fzielcke@z-51.de>
30738
30739 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
30740 when embedding.
30741
880e0a0c 307422009-07-26 Felix Zielcke <fzielcke@z-51.de>
30743
30744 * util/grub-mkconfig.in (package_version): New variable.
30745 Use it do display the version.
30746
2366e356 307472009-07-25 Felix Zielcke <fzielcke@z-51.de>
30748
30749 * kern/file.c (grub_file_open): Revert to previous check with
30750 grub_errno.
30751
7ad8c80e 307522009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
30753
30754 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
30755 from help line. It's out of sync with code.
30756
72b9658b 307572009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
30758
30759 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
30760 entries on failed boot.
30761
77435277 307622009-07-25 Felix Zielcke <fzielcke@z-51.de>
30763
30764 * kern/file.c (grub_file_open): Fix an error check.
30765
fcaa8b21 307662009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
30767
35d16c74 30768 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
30769 partition map couldn't be identified.
fcaa8b21 30770
48904cd1 307712009-07-23 Pavel Roskin <proski@gnu.org>
30772
ef3c317f 30773 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
30774 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
30775 case of little endian words becomes just an optimization.
30776 Respect const modifier.
ad8ea1f4 30777 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 30778
48904cd1 30779 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
30780 to avoid loss of upper bits if align is unsigned and shorter
30781 than addr.
30782
260c9a89 307832009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
30784
30785 UUID support for UFS
30786
30787 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
30788 (grub_ufs_uuid): New function.
30789 (grub_ufs_fs): add .uuid
30790
f76ce889 307912009-07-21 Pavel Roskin <proski@gnu.org>
30792
30793 * kern/dl.c (grub_dl_check_header): Make static.
30794
6a6cbcaf 307952009-07-21 Felix Zielcke <fzielcke@z-51.de>
30796
30797 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
30798 add drivemap for Vista. It breaks Windows 7.
30799
cffcddb2 308002009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
30801
30802 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
30803 128 bytes
30804
1ef44b80 308052009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30806
30807 Add BFS support
30808
30809 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
30810 (grub_fstest_SOURCES): Likewise.
30811 (pkglib_MODULES): Add befs.mod.
30812 (befs_mod_SOURCES): New variable.
30813 (befs_mod_CFLAGS): Likewise.
30814 (befs_mod_LDFLAGS): Likewise.
30815 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30816 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30817 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30818 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30819 (grub_setup_SOURCES): Likewise.
30820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30821 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30822 (grub_setup_SOURCES): Likewise.
30823 * fs/befs.c: New file.
30824 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
30825 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
30826 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
30827 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
30828 (B_KEY_INDEX_ALIGN): New declaration.
30829 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
30830 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
30831 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
30832 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
30833 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
30834 (grub_afs_mount) [MODE_BFS]: Likewise.
30835 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
30836 (grub_afs_fs): Use GRUB_AFS_FSNAME
30837 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
30838 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
30839 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
30840 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
30841
4f253044 308422009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
30843
30844 * util/getroot.c (find_root_device): Add support for MacOSX.
30845 * util/hostdisk.c: Likewise.
30846
57a55913 308472009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30848
30849 * font/font.c (find_glyph): Check whether a font is present to avoid
30850 segmentation fault.
75421ca9 30851
308522009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 30853
30854 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
30855
e98cd0c2 308562009-07-20 Pavel Roskin <proski@gnu.org>
30857
30858 * configure.ac: Trim excessively wordy excuses.
30859
1d2d169a 308602009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30861
30862 Add symlink, mtime and label support to AtheFS.
30863
30864 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
30865 (grub_afs_iterate_dir): Handle symlinks.
30866 (grub_afs_open): Use grub_afs_read_symlink.
30867 (grub_afs_dir): Likewise.
30868 Pass mtime.
30869 (grub_afs_label): New function.
30870 (grub_afs_fs): Add grub_afs_label.
30871 (grub_afs_read_symlink): New function.
30872
186f3189 308732009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30874
30875 Fix AtheFS support.
30876
30877 * fs/afs.c: Fix comments style.
30878 (grub_afs_blockrun): Declare as packed.
30879 (grub_afs_datastream): Likewise.
30880 (grub_afs_bnode): Likewise.
30881 (grub_afs_btree): Likewise.
30882 (grub_afs_sblock): Likewise.
30883 Declare `name' as char.
30884 (grub_afs_inode): Declare as packed.
30885 Change void *vnode to grub_uint32_t unused.
30886 (grub_afs_iterate_dir): Check that key_size is positive.
30887 (grub_afs_mount): Don't read superblock twice.
75421ca9 30888 (grub_afs_dir): Don't free node in case of error,
186f3189 30889 grub_fshelp_find_file already handles this.
30890 (grub_afs_open): Likewise.
30891
5680109e 308922009-07-19 Pavel Roskin <proski@gnu.org>
30893
30894 * Makefile.in: Remove LIBLZO and enable_lzo.
30895 * conf/i386-pc.rmk: Remove lzo support.
30896 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
30897 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
30898 support.
30899 * kern/i386/pc/lzo1x.S: Remove.
30900 * kern/i386/pc/startup.S: Remove lzo support.
30901 * util/i386/pc/grub-mkimage.c: Likewise.
30902
ac70fa32 309032009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
30904
30905 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
30906 * fs/xfs.c (grub_xfs_dir): Likewise.
30907 * fs/afs.c (grub_afs_dir): Likewise.
30908 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
30909 (grub_iso9660_open): Likewise.
30910 * fs/jfs.c (grub_jfs_open): Likewise.
30911 * fs/ext2.c (grub_ext2_dir): Likewise.
30912 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
30913 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 30914
eab58da2 309152009-07-16 Pavel Roskin <proski@gnu.org>
30916
d2838156 30917 * configure.ac: Never add "-c" to CFLAGS.
30918
55c70904 30919 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
30920
43e6200c 30921 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
30922 grub_cv_cc_efiemu should be used.
30923
ce7a733d 30924 * configure.ac: Typo fixes.
30925
eab58da2 30926 * kern/mm.c (grub_zalloc): New function.
30927 (grub_debug_zalloc): Likewise.
30928 * include/grub/mm.h: Declare grub_zalloc() and
30929 grub_debug_zalloc().
30930 * util/misc.c (grub_zalloc): New function.
30931 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
30932 instead of grub_malloc(), remove unneeded initializations.
30933 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
30934 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
30935 * commands/parttool.c (grub_cmd_parttool): Likewise.
30936 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
30937 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
30938 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
30939 * disk/usbms.c (grub_usbms_finddevs): Likewise.
30940 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
30941 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
30942 (grub_cmd_efiemu_pnvram): Likewise.
30943 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
30944 * fs/iso9660.c (grub_iso9660_mount): Likewise.
30945 (grub_iso9660_iterate_dir): Likewise.
30946 * fs/jfs.c (grub_jfs_opendir): Likewise.
30947 * fs/ntfs.c (list_file): Likewise.
30948 (grub_ntfs_mount): Likewise.
30949 * kern/disk.c (grub_disk_open): Likewise.
30950 * kern/dl.c (grub_dl_load_core): Likewise.
30951 * kern/elf.c (grub_elf_file): Likewise.
30952 * kern/env.c (grub_env_context_open): Likewise.
30953 (grub_env_set): Likewise.
30954 (grub_env_set_data_slot): Likewise.
30955 * kern/file.c (grub_file_open): Likewise.
30956 * kern/fs.c (grub_fs_blocklist_open): Likewise.
30957 * loader/i386/multiboot.c (grub_module): Likewise.
30958 * loader/xnu.c (grub_xnu_create_key): Likewise.
30959 (grub_xnu_create_value): Likewise.
30960 * normal/main.c (grub_normal_add_menu_entry): Likewise.
30961 (read_config_file): Likewise.
30962 * normal/menu_entry.c (make_screen): Likewise.
30963 * partmap/sun.c (sun_partition_map_iterate): Likewise.
30964 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
30965 * script/sh/script.c (grub_script_parse): Likewise.
30966 * video/bitmap.c (grub_video_bitmap_create): Likewise.
30967 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
30968 * video/readers/png.c (grub_png_output_byte): Likewise.
30969 (grub_video_reader_png): Likewise.
30970
830afef7 309712009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 30972
30973 Enable all targets that can be built by default
30974
830afef7 30975 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 30976 grub-mkfont and grub-fstest if they can be built
30977
ee293aee 309782009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30979
30980 Fix hang and segmentation fault in grub-emu-usb
30981
30982 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
30983 * util/usb.c (grub_libusb_devices): likewise
30984 (grub_libusb_init): rename to ...
30985 (GRUB_MOD_INIT (libusb)):...this
30986 (grub_libusb_fini): rename to ..
30987 (GRUB_MOD_FINI (libusb)):...this
30988 * disk/usbms.c (grub_usbms_transfer): fix retry logic
30989 * include/grub/disk.h (grub_raid_init): removed, it's useless
30990 (grub_raid_fini): likewise
30991 (grub_lvm_init): likewise
30992 (grub_lvm_fini): likewise
30993 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
30994 by grub_init_all
30995
94414221 309962009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30997
30998 Fix libusb
30999
31000 * Makefile.in (LIBUSB): new macro
31001 * genmk.rb (Utility/print_tail): new method
31002 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
31003 (top level): call util.print_tail at the end.
31004
59ade63d 310052009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31006
31007 Make FreeBSD accept zpool.cache
31008
31009 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
31010 type is /boot/zfs/zpool.cache
31011
a58da8c7 310122009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31013
31014 Fix 64-bit efiemu
31015
31016 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
31017 correct wrong typedef
31018 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
31019
20591577 310202009-07-15 Pavel Roskin <proski@gnu.org>
31021
560ca572 31022 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
31023 * kern/disk.c (struct grub_disk_cache): Likewise.
31024
e8e8e4fd 31025 * commands/probe.c (options): Typo fix.
31026
fde24e10 31027 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
31028 Increase to 0x5a to accommodate FAT32. Adjust other offsets
31029 accordingly.
31030 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
31031
379c54c1 31032 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
31033 the end of "Error" to make the message more readable.
31034
7bd8f5bf 31035 * boot/i386/pc/boot.S (kernel_segment): Remove.
31036 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
31037 for destination.
31038
40b132c5 31039 * boot/i386/pc/boot.S (boot_version): Remove.
31040 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
31041 Remove.
31042
20591577 31043 * include/grub/i386/pc/boot.h: Sort all offsets.
31044 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
31045 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
31046 * boot/i386/pc/boot.S: Assert location of every offset listed in
31047 include/grub/i386/pc/boot.h.
31048
2df32b2c 310492009-07-13 Pavel Roskin <proski@gnu.org>
31050
44b5d879 31051 * include/grub/i386/coreboot/machine.h: Rename
31052 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
31053 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
31054 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
31055
17dc3751 31056 * kern/dl.c: Force native word size to suppress warnings when
31057 compiling grub-emu.
31058
2df32b2c 31059 * kern/device.c (grub_device_iterate): Change struct part_ent to
31060 hold the name, not a pointer to it. Use one grub_malloc() per
31061 partition, not two. Free partition_name if grub_malloc() fails.
31062 Set ents to NULL only before grub_partition_iterate() is called.
31063
75c59f59 310642009-07-11 Bean <bean123ch@gmail.com>
31065
31066 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
31067 childname.
31068
0ae1bf88 310692009-07-10 Bean <bean123ch@gmail.com>
310702009-07-10 Robert Millan <rmh.grub@aybabtu.com>
31071
31072 * kern/ieee1275/openfw.c (grub_children_iterate)
31073 (grub_devalias_iterate): Fix size evaluation for property or path
31074 strings, which was broken since r2132.
31075
8279cade 310762009-07-07 Pavel Roskin <proski@gnu.org>
31077
7d8a52d3 31078 * commands/search.c (search_file): Merge into ...
31079 (search_fs): ... this. Accept search type as argument.
31080 (grub_cmd_search): Pass search type to search_fs().
31081
25f9a05a 31082 * include/grub/util/console.h: New file.
31083 * util/console.c: Use it instead of grub/machine/console.h.
31084 * util/grub-emu.c: Likewise.
31085
8279cade 31086 * lib/arg.c (find_long_option): Remove.
31087 (find_long): Add `len' argument, make `s' const char *.
31088 (grub_arg_parse): Parse long options in place, not in a
31089 temporary buffer.
31090
4a11b60f 310912009-07-06 Pavel Roskin <proski@gnu.org>
31092
99f68041 31093 * commands/search.c (search_fs): Fix potential NULL pointer
31094 dereference.
31095
4a11b60f 31096 * commands/search.c (search_fs): Replace QUID macro with quid_fn
31097 function pointer.
31098
e110f4de 310992009-07-06 Daniel Mierswa <impulze@impulze.org>
31100
31101 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
31102 comparison.
31103
46eeb6a2 311042009-07-05 Pavel Roskin <proski@gnu.org>
31105
bab74958 31106 * include/grub/i386/linux.h (struct linux_kernel_params):
31107 Restore padding3, it's still needed.
31108
46eeb6a2 31109 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
31110 FreeBSD.
31111 * util/osdetect.lua: Likewise.
31112
b4a1dc79 311132009-07-05 Bean <bean123ch@gmail.com>
31114
31115 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
31116
31117 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
31118 (grub_lua_getenv): Likewise.
31119 (grub_lua_setenv): Likewise.
31120 (save_errno): New function.
31121 (push_result): Likewise.
31122 (grub_lua_enum_device): Likewise.
31123 (grub_lua_enum_file): Likewise.
31124 (grub_lua_file_open): Likewise.
31125 (grub_lua_file_close): Likewise.
31126 (grub_lua_file_seek): Likewise.
31127 (grub_lua_file_read): Likewise.
31128 (grub_lua_file_getline): Likewise.
31129 (grub_lua_file_getsize): Likewise.
31130 (grub_lua_file_getpos): Likewise.
31131 (grub_lua_file_eof): Likewise.
31132 (grub_lua_file_exist): Likewise.
31133 (grub_lua_add_menu): Likewise.
31134
31135 * script/lua/grub_lua.h (isupper): New inline function.
31136 (islower): Likewise.
31137 (ispunct): Likewise.
31138 (isxdigit): Likewise.
31139 (strcspn): Change to normal function.
31140 (strpbkr): New function declaration.
31141 (memchr): Likewise.
31142
31143 * script/lua/grub_main.c (scan_str): New function.
31144 (strcspn): Likewise.
31145 (strpbrk): Likewise.
31146 (memchr): Likewise.
31147
31148 * script/lua/linit.c (lualibs): Enable the string library.
31149
31150 * util/osdetect.lua: New file.
31151
2da92295 311522009-07-04 Robert Millan <rmh.grub@aybabtu.com>
31153
31154 * include/grub/i386/linux.h (struct linux_kernel_params): Add
31155 `capabilities' member.
31156
b2582ec9 311572009-07-02 Pavel Roskin <proski@gnu.org>
31158
31159 * genparttoollist.sh: Add missing newline at the end.
31160
32622956 311612009-07-01 Pavel Roskin <proski@gnu.org>
31162
87a7339e 31163 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
31164
d23af54e 31165 * util/hostdisk.c (open_device): Remove `const' from
31166 `sysctl_size', as sysctlbyname() can change it (in this case it
31167 doesn't actually happen).
31168
c94b18a9 31169 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
31170 using signed long int constants.
31171
c6cd3ef0 31172 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
31173 constant to avoid a warning on FreeBSD.
31174
0df63420 31175 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
31176 where it's needed.
31177
999577f1 31178 * Makefile.in: Install include/grub/machine symlink.
31179
6f41557f 31180 * Makefile.in: When installing symlinks, use "cp -fR", which
31181 works on FreeBSD and MacOSX.
31182 From Yves Blusseau <cl7m42e02@sneakemail.com>
31183
c8d22988 31184 * kern/dl.c (grub_dl_resolve_symbol): Make static.
31185 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
31186
1b96e952 31187 * util/misc.c: Move grub_reboot() and grub_halt() ...
31188 * util/grub-emu.c: ... here. Make main_env static.
31189 * include/grub/util/misc.h: Remove main_env.
31190
2ef0084d 31191 * kern/mm.c: Use correct format to print size_t.
31192
32622956 31193 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
31194 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
31195 * kern/powerpc/dl.c: Likewise.
31196 * kern/sparc64/dl.c: Likewise.
31197 * kern/x86_64/dl.c: Likewise.
31198
3f7f0cd0 311992009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31200
31201 Fix grub-emu build on sparc64-ieee1275.
31202
75421ca9 31203 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 31204 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
31205
211d06b5 312062009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31207
31208 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
31209 (grub_reboot, grub_halt): New functions.
31210
31211 * util/i386/pc/misc.c: Delete. Update all users.
31212 * util/sparc64/ieee1275/misc.c: Likewise.
31213 * util/powerpc/ieee1275/misc.c: Likewise.
31214
aaf53e3c 312152009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31216
31217 * conf/i386.rmk (setjmp_mod_SOURCES)
31218 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
31219 * conf/common.rmk (setjmp_mod_SOURCES)
31220 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
31221 to use $(target_cpu).
31222 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
31223 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
31224 * conf/powerpc-ieee1275.rmk: Likewise.
31225 * conf/sparc64-ieee1275.rmk: Likewise.
31226
31227 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
31228 $(target_cpu) for kern/$(target_cpu)/dl.c.
31229 * conf/i386-efi.rmk: Likewise.
31230 * conf/i386-ieee1275.rmk: Likewise.
31231 * conf/x86_64-efi.rmk: Likewise.
31232 * conf/i386-coreboot.rmk: Likewise.
31233 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
31234 $(target_cpu) for kern/$(target_cpu)/dl.c and for
31235 kern/$(target_cpu)/cache.S.
31236 * conf/sparc64-ieee1275.rmk: Likewise.
31237
a337130b 312382009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31239
31240 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
31241 type to `grub_uint8_t', and adjust `padding9' accordingly.
31242
c6fe4d53 312432009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31244
b09db61d 31245 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
31246
c6fe4d53 31247 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
31248 assembly in final jump, using register constraints.
31249
b09db61d 31250 (grub_linux_boot): For text mode, initialize `have_vga' using
31251 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
31252
31253 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
31254 right before the final jump.
31255
31256 Set `video_mode' to 0x3.
31257
31258 Document initialization of `video_page', `video_mode' and
31259 `video_ega_bx'.
31260
28333ad0 312612009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31262
31263 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
31264 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 31265 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 31266
02164e1b 312672009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31268
31269 Fix build on Debian / sparc.
31270
31271 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
31272
18b6c557 312732009-06-28 Pavel Roskin <proski@gnu.org>
31274
85f2aab6 31275 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
31276 fix a warning.
31277
18b6c557 31278 * util/grub.d/10_linux.in: Match SUSE style initrd names.
31279
ad760f81 312802009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31281
31282 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
31283 `err'.
31284
87a4623b 312852009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31286
31287 Revert r2338.
31288
31289 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
31290 file can't be opened. grub_file_open() is already supposed to set
75421ca9 31291 grub_errno / grub_errmsg appropriately.
87a4623b 31292 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31293
8231fb77 312942009-06-27 Pavel Roskin <proski@gnu.org>
312952009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31296
31297 * include/grub/dl.h: Include grub/elf.h.
31298 (struct grub_dl): Add symtab field.
31299 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
31300 GRUB_MODULES_MACHINE_READONLY.
31301 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
31302 of the header for read-only modules.
31303 (grub_dl_unload): Free mod->symtab for read-only modules.
31304 * kern/i386/dl.c: Use mod->symtab.
31305 * kern/powerpc/dl.c: Likewise.
31306 * kern/sparc64/dl.c: Likewise.
31307 * kern/x86_64/dl.c: Likewise.
31308
31309 * conf/i386-qemu.rmk: New file.
31310 * kern/i386/qemu/startup.S: Likewise.
31311 * kern/i386/qemu/mmap.c: Likewise.
31312 * boot/i386/qemu/boot.S: Likewise.
31313 * include/grub/i386/qemu/time.h: Likewise.
31314 * include/grub/i386/qemu/serial.h: Likewise.
31315 * include/grub/i386/qemu/kernel.h: Likewise.
31316 * include/grub/i386/qemu/console.h: Likewise.
31317 * include/grub/i386/qemu/boot.h: Likewise.
31318 * include/grub/i386/qemu/init.h: Likewise.
31319 * include/grub/i386/qemu/machine.h: Likewise.
31320 * include/grub/i386/qemu/loader.h: Likewise.
31321 * include/grub/i386/qemu/memory.h: Likewise.
31322
31323 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
31324 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
31325 [qemu] (pkglib_IMAGES): Add `boot.img'.
31326 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
31327 [qemu] (boot_img_FORMAT): New variables.
31328 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
31329 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
31330 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
31331 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31332 [qemu] (kernel_img_FORMAT): New variables.
31333
31334 * configure.ac: Recognise `i386-qemu'.
31335
31336 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
31337 (for no compression).
31338 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
31339 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
31340 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
31341 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
31342 ifdefs).
31343
97fe384e 313442009-06-27 Pavel Roskin <proski@gnu.org>
31345
31346 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
31347 read.
31348 * efiemu/prepare32.c: Likewise.
31349 * efiemu/prepare64.c: Likewise.
31350
c402ab17 313512009-06-26 Pavel Roskin <proski@gnu.org>
31352
31353 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
31354 * include/grub/elf.h: Define symbols without "32" or "64" based
31355 on GRUB_TARGET_WORDSIZE.
31356 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
31357 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
31358 ELF definitions.
31359 * efiemu/loadcore64.c: Likewise.
31360 * loader/i386/bsd32.c: Likewise.
31361 * loader/i386/bsd64.c: Likewise.
31362 * kern/dl.c: Remove own ELF definitions.
31363 * util/i386/efi/grub-mkimage.c: Likewise.
31364
9bbdfd4d 313652009-06-23 Robert Millan <rmh.grub@aybabtu.com>
31366
31367 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
31368 segment 0x0 unconditionally, because the reference generated by
31369 GAS is an absolute address.
31370
a42ce6e9 313712009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31372
31373 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
31374 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
31375
c952cf92 313762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31377
31378 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
31379 indexes. Check for -f explicitly.
cc3752ad 31380 (search_file): Improve error message.
31381 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 31382
132a0a59 313832009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31384
31385 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
31386 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
31387
387a140c 313882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31389
31390 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
31391 * conf/i386-ieee1275.rmk: Likewise.
31392 * conf/i386-coreboot.rmk: Likewise.
31393
31394 * kern/i386/pc/startup.S (grub_stop): Remove function.
31395 * kern/i386/ieee1275/startup.S: Likewise.
31396 * kern/i386/coreboot/startup.S: Likewise.
31397 * kern/i386/misc.S (grub_stop): New function.
31398
41da9665 313992009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31400
31401 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
31402 * kern/i386/realmode.S (real_to_prot): ... to here.
31403
bf337234 314042009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31405
31406 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
31407 with `kernel.img'.
31408 (kernel_elf_SOURCES): Rename to ...
31409 (kernel_img_SOURCES): ... this.
31410 (kernel_elf_HEADERS): Rename to ...
31411 (kernel_img_HEADERS): ... this. Update all users.
31412 (kernel_elf_ASFLAGS): Rename to ...
31413 (kernel_img_ASFLAGS): ... this.
31414 (kernel_elf_CFLAGS): Rename to ...
31415 (kernel_img_CFLAGS): ... this.
31416 (kernel_elf_LDFLAGS): Rename to ...
31417 (kernel_img_LDFLAGS): ... this.
31418 * conf/i386-coreboot.rmk: Likewise.
31419 * conf/powerpc-ieee1275.rmk: Likewise.
31420
31421 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
31422 with "kernel.img".
31423
f52196ff 314242009-06-21 Pavel Roskin <proski@gnu.org>
31425
c3cee413 31426 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
31427 to match nested functions.
31428 * loader/sparc64/ieee1275/linux.c: Likewise.
31429
f52196ff 31430 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
31431
58750afc 314322009-06-21 Robert Millan <rmh.grub@aybabtu.com>
31433
31434 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
31435 all i386 platforms.
31436
15355c7d 314372009-06-21 Robert Millan <rmh.grub@aybabtu.com>
31438
31439 Fix asm file handling on ELF, and remove workarounds.
31440
31441 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 31442 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 31443 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
31444 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
31445
3f3ec72b 314462009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
31447
31448 Load BSD ELF modules
31449
31450 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
31451 and loader/i386/bsd64.c
31452 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
31453 (FREEBSD_MODTYPE_ELF_MODULE): New definition
31454 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
31455 (grub_freebsd_load_elfmodule32): New declaration
31456 (grub_freebsd_load_elfmoduleobj64): Likewise
31457 (grub_freebsd_load_elf_meta32): Likewise
31458 (grub_freebsd_load_elf_meta64): Likewise
31459 (grub_freebsd_add_meta): Likewise
31460 (grub_freebsd_add_meta_module): Likewise
31461 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
31462 (grub_freebsd_add_meta_module): Likewise and move module-specific
31463 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
31464 (grub_cmd_freebsd): Add elf-kernel specific parts
31465 based on grub_freebsd_add_meta_module
31466 (grub_cmd_freebsd_module): Add type parsing moved from
31467 grub_freebsd_add_meta_module
31468 (grub_cmd_freebsd_module_elf): New function
31469 (cmd_freebsd_module_elf): New variable
31470 (GRUB_MOD_INIT): Register freebsd_module_elf
31471 * loader/i386/bsd32.c: New file
31472 * loader/i386/bsd64.c: Likewise
31473 * loader/i386/bsdXX.c: Likewise
31474 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
31475 (grub_elf64_load): Likewise
31476 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
31477 All users updated
31478 (grub_elf64_load_hook_t): Likewise
31479
0db15301 314802009-06-21 Colin Watson <cjwatson@ubuntu.com>
31481
31482 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
31483 variable.
31484 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
31485 don't write a menu entry for recovery mode.
31486
546796c1 314872009-06-20 Robert Millan <rmh.grub@aybabtu.com>
31488
31489 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
31490 after it's no longer needed.
31491
cd7310d5 314922009-06-20 Robert Millan <rmh.grub@aybabtu.com>
31493
31494 * include/grub/i386/loader.h (grub_linux_prot_size)
31495 (grub_linux_tmp_addr, grub_linux_real_addr)
31496 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
31497 GRUB_MACHINE_PCBIOS.
31498 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
31499 common grub_util_info() call to ...
31500 (generate_image): ... here.
31501 Fix use of uninitialized memory, comparison of signed with
31502 unsigned integers and memory leak.
31503 Remove bogus module address message.
31504
ab32d3b5 315052009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
31506
31507 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
31508 grub_raid_register
31509 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
31510
024ef597 315112009-06-19 Pavel Roskin <proski@gnu.org>
31512
31513 * configure.ac: Remove stray AC_MSG_CHECKING.
31514
3ac72b51 315152009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
31516
31517 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 31518
e14cd814 315192009-06-18 Pavel Roskin <proski@gnu.org>
31520
31521 * conf/common.rmk: Add fs_file.mod.
31522 * disk/fs_file.c: New file.
31523 * include/grub/disk.h (enum grub_disk_dev_id): Add
31524 GRUB_DISK_DEVICE_FILE_ID.
31525
26586d98 315262009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31527
31528 Fix build with Apple's toolchain. Part 2
31529
31530 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
31531 a fake start
31532
26de2bcd 315332009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31534
31535 Fix build with Apple's toolchain. Part 1
31536
31537 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
31538 for long calls
31539 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 31540 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 31541 Apple's toolchain
31542
09b3490b 315432009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31544
31545 Fix warnings
31546
31547 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
31548 (decomp_block): initialize ch
31549 use grub_memcpy instead of memcpy
31550
c22a006a 315512009-06-17 Pavel Roskin <proski@gnu.org>
31552
d3638678 31553 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
31554 version, use declarations needed to use vga_text as the startup
31555 console.
31556
c22a006a 31557 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
31558 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
31559 the kernel.
31560 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
31561 and grub_at_keyboard_fini(), it's done on module load and
31562 unload.
31563
05b129e0 315642009-06-17 Felix Zielcke <fzielcke@z-51.de>
31565
31566 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
31567 file can't be found.
31568 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31569
cf24ed9e 315702009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
31571
31572 Fix newline handling
31573
31574 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 31575 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 31576 (grub_script_yylex): don't segfault on unterminated script
31577 newline terminates command and variable
31578
74aa8e4b 315792009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
31580
31581 avoid double grub_adjust_range call. Bug reported by David Simner
31582
31583 * kern/disk.c (grub_disk_write): change to raw disk access before
31584 calling disk_read
31585
1bd265f3 315862009-06-17 Colin Watson <cjwatson@ubuntu.com>
31587
31588 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
31589 spaces, for the benefit of help2man.
31590 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31591
a2d08c06 315922009-06-16 Pavel Roskin <proski@gnu.org>
31593
31594 * kern/i386/halt.c: Include grub/machine/init.h.
31595 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
31596
b97bcb19 315972009-06-16 Felix Zielcke <fzielcke@z-51.de>
31598
31599 * util/grub.d/30_os-prober.in: Use ${root} in the generated
31600 drivemap menuentry.
31601
0644f96c 316022009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
31603
31604 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
31605 `echo' command.
31606
3ef17a2e 316072009-06-16 Pavel Roskin <proski@gnu.org>
31608
31609 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
31610 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
31611 save %dx, we only need %dl and we never change it.
31612 * boot/i386/pc/cdboot.S: Don't set the root drive.
31613 * boot/i386/pc/pxeboot.S: Likewise.
31614 * include/grub/i386/pc/boot.h: Remove
31615 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
31616 GRUB_BOOT_MACHINE_DRIVE_CHECK.
31617 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
31618 * kern/i386/pc/init.c (make_install_device): Remove references
31619 to grub_root_drive.
31620 * kern/i386/pc/startup.S: Likewise.
31621 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
31622
693fe637 316232009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
31624
31625 xnu_uuid command
31626
31627 * commands/xnu_uuid.c: new file
31628 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
31629 (xnu_uuid_mod_SOURCES): new variable
31630 (xnu_uuid_mod_CFLAGS): likewise
31631 (xnu_uuid_mod_LDFLAGS): likewise
31632 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
31633 * conf/i386-ieee1275.rmk: likewise
31634 * conf/i386-pc.rmk: likewise
31635 * conf/powerpc-ieee1275.rmk: likewise
31636 * conf/sparc64-ieee1275.rmk: likewise
31637 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
31638
c9da87d0 316392009-06-16 Pavel Roskin <proski@gnu.org>
31640
31641 * configure.ac: Avoid '==' in test command, it's not portable.
31642
9c6f4596 316432009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
31644
31645 Probe command
31646
31647 * commands/probe.c: new file
31648 * conf/common.rmk (pkglib_MODULES): add probe.mod
31649 (probe_mod_SOURCES): new variable
31650 (probe_mod_CFLAGS): likewise
31651 (probe_mod_LDFLAGS): likewise
31652 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
31653 * conf/i386-ieee1275.rmk: likewise
31654 * conf/i386-pc.rmk: likewise
31655 * conf/powerpc-ieee1275.rmk: likewise
31656 * conf/sparc64-ieee1275.rmk: likewise
31657
70b7f9fd 316582009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
31659
31660 Fix handling of string like \"hello\" and "a
31661 b"
31662
31663 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
31664 (grub_script_yylex): fix parsing of quoting, escaping and newline
31665
71c79a6b 316662009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
31667
dd74360c 31668 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 31669 handling
dd74360c 31670
0644f96c 316712009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 31672
31673 * util/grub-mkconfig.in: Fix parsing of --output option.
31674
e40893c3 316752009-06-12 Pavel Roskin <proski@gnu.org>
31676
31677 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
31678 genmk.rb don't need to be generated or installed.
31679
3a1acfe2 316802009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
31681
31682 * commands/i386/pc/drivemap_int13h.S: add more comments
31683
3a4575d4 316842009-06-11 Pavel Roskin <proski@gnu.org>
31685
0658e928 31686 * Makefile.in (uninstall): Uninstall manuals.
31687
ca0388f0 31688 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
31689 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
31690 and update-grub_lib in two places.
31691 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
31692
e3b27c39 31693 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
31694 a compiler warning.
31695
3a4575d4 31696 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
31697 `entry_lo' to fix variable shadowing.
31698
af1f4f55 316992009-06-11 Christian Franke <franke@computer.org>
31700
31701 * kern/misc.c (__enable_execute_stack): Add missing return type
31702 to prevent gcc warning.
31703
5225e649 317042009-06-11 Felix Zielcke <fzielcke@z-51.de>
31705
31706 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
31707
7d83bd47 317082009-06-11 Pavel Roskin <proski@gnu.org>
31709
c1cb63ba 31710 * Makefile.in: Don't rely on any scripts being executable.
31711 Always use $(SHELL) to run shell scripts.
31712
7d83bd47 31713 * configure.ac: Always define ___main if using -nostdlib. This
31714 fixes tests on Cygwin.
31715
948f48e7 317162009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
31717
31718 UDF fix
31719
7d83bd47 31720 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 31721 is in bytes and not in blocks
7d83bd47 31722
8ada9bc1 317232009-06-11 Pavel Roskin <proski@gnu.org>
31724
31725 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
31726 warning.
31727
25ad2323 317282009-06-11 Felix Zielcke <fzielcke@z-51.de>
31729
31730 * util/grub.d/30_os-prober.in: Fix a comment. Source
31731 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
31732 to set the root device. Place drivemap command in the generated
31733 chain entry.
31734
e65acb0c 317352009-06-11 Pavel Roskin <proski@gnu.org>
31736
31737 * configure.ac: Remove host_m32. Issues with 64-bit utilities
31738 have long been resolved.
31739
f285fe2d 317402009-06-11 Colin Watson <cjwatson@ubuntu.com>
31741
bd47b0b5 31742 * util/grub.d/10_linux.in: Capitalise "Linux".
31743
f285fe2d 31744 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
31745
a0c62e4e 317462009-06-11 Pavel Roskin <proski@gnu.org>
31747
b6783cb2 31748 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
31749 fix a gcc warning and ensure that the function won't ever exit.
31750
dde032e8 31751 * kern/i386/ieee1275/init.c: Add missing prototype for
31752 grub_stop_floppy().
31753
22cd079d 31754 * loader/ieee1275/multiboot2.c [__i386__]: Include
31755 grub/cpu/multiboot.h.
31756
a0c62e4e 31757 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
31758 casts to short - they are not portable and cause warnings. Fix
31759 use of uninitialized values in input_buf. Use ARRAY_SIZE.
31760
63963d17 317612009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
31762
31763 Drivemap fixes
31764
31765 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
31766 new function
31767 (grub_get_root_biosnumber_saved): new variable
31768 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
31769 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 31770 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 31771 %dx after the call if necessary
31772 * conf/common.rmk (pkglib_MODULES): remove boot.mod
31773 (boot_mod_SOURCES): remove
31774 (boot_mod_CFLAGS): remove
31775 (boot_mod_LDFLAGS): remove
31776 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
31777 (boot_mod_SOURCES): new variable
31778 (boot_mod_CFLAGS): likewise
31779 (boot_mod_LDFLAGS): likewise
31780 * conf/i386-efi.rmk: likewise
31781 * conf/i386-ieee1275.rmk: likewise
31782 * conf/i386-pc.rmk: likewise
31783 * conf/powerpc-ieee1275.rmk: likewise
31784 * conf/sparc64-ieee1275.rmk: likewise
31785 * conf/x86_64-efi.rmk: likewise
31786 * include/grub/i386/pc/biosnum.h: new file
31787 * lib/i386/pc/biosnum.c: likewise
31788 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
31789 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
31790 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 31791
33abf7ae 317922009-06-10 Pavel Roskin <proski@gnu.org>
31793
5ac35b35 31794 * io/gzio.c (test_header): Don't reuse one buffer for all data.
31795 Use separate variables. Read only the file size at the end, but
31796 not the checksum that we don't use.
31797
5c5215d5 31798 * kern/file.c (grub_file_read): Use void pointer for the buffer.
31799 Adjust all callers.
31800
27d5fef7 31801 * kern/ieee1275/openfw.c: Remove libc includes.
31802 * kern/ieee1275/cmain.c: Likewise.
31803 * include/grub/ieee1275/ieee1275.h: Likewise.
31804
33abf7ae 31805 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
31806 compiler warnings.
31807
19d50c2b 318082009-06-10 Felix Zielcke <fzielcke@z-51.de>
31809
31810 * Makefile.in: Remove all trailing whitespace.
31811 * conf/i386-pc.rmk: Likewise.
31812 * conf/powerpc-ieee1275.rmk: Likewise.
31813 * conf/sparc64-ieee1275.rmk: Likewise.
31814 * docs/grub.texi: Likewise.
31815 * docs/texinfo.tex: Likewise.
31816 * disk/fs_uuid.c: Likewise.
31817 * disk/lvm.c: Likewise.
31818 * disk/scsi.c: Likewise.
31819 * disk/ata.c: Likewise.
31820 * disk/ieee1275/ofdisk.c: Likewise.
31821 * disk/i386/pc/biosdisk.c: Likewise.
31822 * disk/host.c: Likewise.
31823 * disk/raid.c: Likewise.
31824 * disk/efi/efidisk.c: Likewise.
31825 * disk/usbms.c: Likewise.
31826 * disk/memdisk.c: Likewise.
31827 * disk/loopback.c: Likewise.
31828 * kern/powerpc/dl.c: Likewise.
31829 * kern/device.c: Likewise.
31830 * kern/dl.c: Likewise.
31831 * kern/sparc64/dl.c: Likewise.
31832 * kern/ieee1275/ieee1275.c: Likewise.
31833 * kern/term.c: Likewise.
31834 * kern/fs.c: Likewise.
31835 * kern/i386/dl.c: Likewise.
31836 * kern/i386/pc/startup.S: Likewise.
31837 * kern/i386/pc/init.c: Likewise.
31838 * kern/i386/pc/mmap.c: Likewise.
31839 * kern/i386/pc/lzo1x.S: Likewise.
31840 * kern/i386/ieee1275/init.c: Likewise.
31841 * kern/i386/realmode.S: Likewise.
31842 * kern/i386/tsc.c: Likewise.
31843 * kern/partition.c: Likewise.
31844 * kern/corecmd.c: Likewise.
31845 * kern/file.c: Likewise.
31846 * kern/efi/efi.c: Likewise.
31847 * kern/efi/init.c: Likewise.
31848 * kern/efi/mm.c: Likewise.
31849 * kern/main.c: Likewise.
31850 * kern/err.c: Likewise.
31851 * kern/env.c: Likewise.
31852 * kern/disk.c: Likewise.
31853 * kern/generic/millisleep.c: Likewise.
31854 * kern/generic/rtc_get_time_ms.c: Likewise.
31855 * kern/misc.c: Likewise.
31856 * kern/parser.c: Likewise.
31857 * genmk.rb: Likewise.
31858 * configure.ac: Likewise.
31859 * boot/i386/pc/diskboot.S: Likewise.
31860 * boot/i386/pc/pxeboot.S: Likewise.
31861 * boot/i386/pc/boot.S: Likewise.
31862 * boot/i386/pc/lnxboot.S: Likewise.
31863 * boot/i386/pc/cdboot.S: Likewise.
31864 * parttool/pcpart.c: Likewise.
31865 * video/readers/tga.c: Likewise.
31866 * video/video.c: Likewise.
31867 * video/bitmap.c: Likewise.
31868 * lib/envblk.c: Likewise.
31869 * lib/i386/setjmp.S: Likewise.
31870 * fs/xfs.c: Likewise.
31871 * fs/afs.c: Likewise.
31872 * fs/fat.c: Likewise.
31873 * fs/ntfs.c: Likewise.
31874 * fs/udf.c: Likewise.
31875 * fs/affs.c: Likewise.
31876 * fs/iso9660.c: Likewise.
31877 * fs/hfs.c: Likewise.
31878 * fs/fshelp.c: Likewise.
31879 * fs/ext2.c: Likewise.
31880 * fs/jfs.c: Likewise.
31881 * fs/reiserfs.c: Likewise.
31882 * fs/hfsplus.c: Likewise.
31883 * fs/minix.c: Likewise.
31884 * fs/cpio.c: Likewise.
31885 * fs/sfs.c: Likewise.
31886 * fs/ufs.c: Likewise.
31887 * efiemu/prepare.c: Likewise.
31888 * efiemu/loadcore_common.c: Likewise.
31889 * efiemu/runtime/efiemu.sh: Likewise.
31890 * efiemu/runtime/efiemu.S: Likewise.
31891 * efiemu/runtime/efiemu.c: Likewise.
31892 * efiemu/pnvram.c: Likewise.
31893 * efiemu/main.c: Likewise.
31894 * efiemu/i386/pc/cfgtables.c: Likewise.
31895 * efiemu/i386/loadcore64.c: Likewise.
31896 * efiemu/i386/loadcore32.c: Likewise.
31897 * efiemu/loadcore.c: Likewise.
31898 * efiemu/symbols.c: Likewise.
31899 * efiemu/mm.c: Likewise.
31900 * include/grub/autoefi.h: Likewise.
31901 * include/grub/datetime.h: Likewise.
31902 * include/grub/term.h: Likewise.
31903 * include/grub/hfs.h: Likewise.
31904 * include/grub/lvm.h: Likewise.
31905 * include/grub/i386/tsc.h: Likewise.
31906 * include/grub/i386/linux.h: Likewise.
31907 * include/grub/i386/xnu.h: Likewise.
31908 * include/grub/i386/efiemu.h: Likewise.
31909 * include/grub/i386/pc/biosdisk.h: Likewise.
31910 * include/grub/i386/pc/memory.h: Likewise.
31911 * include/grub/i386/pc/vbe.h: Likewise.
31912 * include/grub/parttool.h: Likewise.
31913 * include/grub/video.h: Likewise.
31914 * include/grub/memory.h: Likewise.
31915 * include/grub/fs.h: Likewise.
31916 * include/grub/partition.h: Likewise.
31917 * include/grub/xnu.h: Likewise.
31918 * include/grub/efi/api.h: Likewise.
31919 * include/grub/efi/pe32.h: Likewise.
31920 * include/grub/efi/memory.h: Likewise.
31921 * include/grub/multiboot.h: Likewise.
31922 * include/grub/usbdesc.h: Likewise.
31923 * include/grub/multiboot2.h: Likewise.
31924 * include/grub/acpi.h: Likewise.
31925 * include/grub/efiemu/efiemu.h: Likewise.
31926 * include/grub/disk.h: Likewise.
31927 * include/grub/ieee1275/ieee1275.h: Likewise.
31928 * include/grub/net.h: Likewise.
31929 * include/grub/machoload.h: Likewise.
31930 * include/grub/macho.h: Likewise.
31931 * include/multiboot.h: Likewise.
31932 * genmoddep.awk: Likewise.
31933 * normal/main.c: Likewise.
31934 * normal/menu_entry.c: Likewise.
31935 * normal/menu_viewer.c: Likewise.
31936 * normal/completion.c: Likewise.
31937 * normal/cmdline.c: Likewise.
31938 * normal/misc.c: Likewise.
31939 * normal/datetime.c: Likewise.
31940 * bus/usb/usbtrans.c: Likewise.
31941 * bus/usb/ohci.c: Likewise.
31942 * bus/usb/uhci.c: Likewise.
31943 * bus/usb/usb.c: Likewise.
31944 * mmap/efi/mmap.c: Likewise.
31945 * mmap/i386/pc/mmap_helper.S: Likewise.
31946 * mmap/i386/pc/mmap.c: Likewise.
31947 * mmap/i386/mmap.c: Likewise.
31948 * mmap/i386/uppermem.c: Likewise.
31949 * mmap/mmap.c: Likewise.
31950 * commands/acpi.c: Likewise.
31951 * commands/echo.c: Likewise.
31952 * commands/blocklist.c: Likewise.
31953 * commands/loadenv.c: Likewise.
31954 * commands/usbtest.c: Likewise.
31955 * commands/boot.c: Likewise.
31956 * commands/parttool.c: Likewise.
31957 * commands/search.c: Likewise.
31958 * commands/cat.c: Likewise.
31959 * commands/i386/pc/play.c: Likewise.
31960 * commands/i386/pc/drivemap.c: Likewise.
31961 * commands/i386/pc/vbeinfo.c: Likewise.
31962 * commands/i386/pc/acpi.c: Likewise.
31963 * commands/i386/pc/vbetest.c: Likewise.
31964 * commands/ls.c: Likewise.
31965 * commands/cmp.c: Likewise.
31966 * commands/test.c: Likewise.
31967 * commands/efi/acpi.c: Likewise.
31968 * commands/gptsync.c: Likewise.
31969 * commands/help.c: Likewise.
31970 * partmap/amiga.c: Likewise.
31971 * partmap/apple.c: Likewise.
31972 * partmap/acorn.c: Likewise.
31973 * partmap/pc.c: Likewise.
31974 * partmap/sun.c: Likewise.
31975 * partmap/gpt.c: Likewise.
31976 * script/sh/lexer.c: Likewise.
31977 * script/sh/function.c: Likewise.
31978 * font/font.c: Likewise.
31979 * font/font_cmd.c: Likewise.
31980 * loader/powerpc/ieee1275/linux.c: Likewise.
31981 * loader/efi/chainloader.c: Likewise.
31982 * loader/multiboot_loader.c: Likewise.
31983 * loader/macho.c: Likewise.
31984 * loader/i386/multiboot.c: Likewise.
31985 * loader/i386/linux.c: Likewise.
31986 * loader/i386/pc/linux.c: Likewise.
31987 * loader/i386/pc/multiboot2.c: Likewise.
31988 * loader/i386/pc/chainloader.c: Likewise.
31989 * loader/i386/pc/xnu.c: Likewise.
31990 * loader/i386/bsd_trampoline.S: Likewise.
31991 * loader/i386/efi/linux.c: Likewise.
31992 * loader/i386/multiboot_elfxx.c: Likewise.
31993 * loader/i386/bsd_helper.S: Likewise.
31994 * loader/i386/bsd.c: Likewise.
31995 * loader/i386/linux_trampoline.S: Likewise.
31996 * loader/i386/xnu_helper.S: Likewise.
31997 * loader/i386/xnu.c: Likewise.
31998 * loader/i386/bsd_pagetable.c: Likewise.
31999 * loader/i386/multiboot_helper.S: Likewise.
32000 * loader/xnu.c: Likewise.
32001 * loader/xnu_resume.c: Likewise.
32002 * io/gzio.c: Likewise.
32003 * term/efi/console.c: Likewise.
32004 * term/terminfo.c: Likewise.
32005 * term/ieee1275/ofconsole.c: Likewise.
32006 * term/i386/pc/serial.c: Likewise.
32007 * term/i386/pc/vesafb.c: Likewise.
32008 * term/i386/pc/vga.c: Likewise.
32009 * term/usb_keyboard.c: Likewise.
32010 * term/gfxterm.c: Likewise.
32011 * aclocal.m4: Likewise.
32012 * util/lvm.c: Likewise.
32013 * util/grub.d/30_os-prober.in: Likewise.
32014 * util/grub.d/10_hurd.in: Likewise.
32015 * util/console.c: Likewise.
32016 * util/grub-macho2img.c: Likewise.
32017 * util/grub-probe.c: Likewise.
32018 * util/hostfs.c: Likewise.
32019 * util/i386/pc/grub-mkimage.c: Likewise.
32020 * util/i386/pc/grub-setup.c: Likewise.
32021 * util/i386/efi/grub-mkimage.c: Likewise.
32022 * util/grub-mkconfig.in: Likewise.
32023 * util/raid.c: Likewise.
32024 * util/resolve.c: Likewise.
32025 * util/grub-mkdevicemap.c: Likewise.
32026 * util/grub-emu.c: Likewise.
32027 * util/getroot.c: Likewise.
32028 * util/hostdisk.c: Likewise.
32029 * util/usb.c: Likewise.
32030 * util/grub-editenv.c: Likewise.
32031 * util/misc.c: Likewise.
32032
d2d49665 320332009-06-10 Felix Zielcke <fzielcke@z-51.de>
32034
32035 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
32036 `genparttoollist.sh'.
32037 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
32038 Add `*.sh' to the list find searches for and change `mdate.sh'
32039 to `mdate-sh'.
32040
fe052e37 320412009-06-10 Pavel Roskin <proski@gnu.org>
32042
2763ac18 32043 * include/grub/multiboot2.h: Provide compatibility defines for
32044 multiboot2.h.
32045 * include/multiboot2.h: Include stdint.h only if needed, using
32046 angle brackets.
32047 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
32048 grub/multiboot2.h.
32049 * loader/ieee1275/multiboot2.c: Likewise.
32050 * loader/multiboot2.c: Likewise.
32051 * loader/multiboot_loader.c: Likewise.
32052
437e6adc 32053 * configure.ac: Use -nostdlib when probing for the target. It
32054 should not be required to have libc for the target.
32055
06a6836c 32056 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
32057 they fail without libc headers for the target.
32058 * include/grub/powerpc/libgcc.h: Use weak attribute for all
32059 exports.
32060 * include/grub/sparc64/libgcc.h: Likewise. Don't use
32061 preprocessor conditionals.
32062
fe052e37 32063 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
32064 build system doesn't need to be aware of the tar.c internals.
32065
afd22553 320662009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 32067
afd22553 32068 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 32069
6b787c4f 320702009-06-09 Robert Millan <rmh.grub@aybabtu.com>
32071
32072 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
32073 disk limit to 26 for IDE, Virtio, Xen and SCSI.
32074
320752009-06-09 Felix Zielcke <fzielcke@z-51.de>
32076
32077 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 32078 aren't available if ata.mod gets used.
6b787c4f 32079
473d1e45 320802009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 32081
473d1e45 32082 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 32083 initialising controller.
473d1e45 32084 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 32085
255a27d4 320862009-06-08 Felix Zielcke <fzielcke@z-51.de>
32087
32088 * util/i386/pc/grub-install.in: Add a parameter --disk-module
32089 to choose between ata and biosdisk module on i386-pc.
32090
473d1e45 320912009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 32092
d55842d8 32093 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
32094 Subclass and Programming Interface fields in terms of the 3 byte
32095 Class Code register.
32096 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32097
fa5db0b1 32098 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
32099 interface is OHCI. Add grub_dprintf for symmetry with
32100 bus/usb/uhci.c.
32101 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
32102 interface is UHCI. Add interf variable for programming
32103 interface. Print interface with class/subclass.
32104
c0947beb 32105 * bus/usb/ohci.c: Set interf with correct field.
32106
69da8877 32107 * bus/usb/uhci.c: Remove unneeded doubled lines.
32108 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
32109 Remove whitespace inside comment.
32110
9e172e30 321112009-06-08 Robert Millan <rmh.grub@aybabtu.com>
32112
32113 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
32114 as fallback an equivalent option without depth.
32115
de65ee2b 321162009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32117
32118 Not fail if unable to retrieve C/H/S on LBA disks
32119
473d1e45 32120 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 32121 if unable to retrieve C/H/S on LBA disks
32122
b57ea2c9 321232009-06-08 Pavel Roskin <proski@gnu.org>
32124
32125 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
32126 about aliasing.
32127
af361263 321282009-06-08 Felix Zielcke <fzielcke@z-51.de>
32129
32130 * Makefile.in (uninstall): Remove all $lib_DATA files.
32131
4c9ec6b3 321322009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32133
32134 Bugfix: install on partitionless device
32135
32136 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
32137 is a whole disk
32138
e76fc924 321392009-06-08 Felix Zielcke <fzielcke@z-51.de>
32140
32141 * Makefile.in (uninstall): Remove all $include_DATA files.
32142
ba5a0d05 321432009-06-08 Felix Zielcke <fzielcke@z-51.de>
32144
32145 * commands/true.c: New file. Implement the true and false commands.
32146 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
32147 (true_mod_SOURCES): New variable.
32148 (true_mod_CFLAGS): Likewise.
32149 (true_mod_LDFLAGS): Likewise.
32150
c8048e32 321512009-06-05 Colin D Bennett <colin@gibibit.com>
32152
32153 Optimized font character lookup using binary search instead of linear
32154 search. Fonts now are required to have the character index ordered by
32155 code point.
32156
32157 * font/font.c (load_font_index): Verify that fonts have ordered
32158 character indices.
32159 (find_glyph): Use binary search instead of linear search to find a
32160 character in a font.
32161
408305be 321622009-06-05 Michael Scherer <misc@mandriva.org>
32163
32164 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
32165 uses case sensitive btree.
32166 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
32167 only for case insensitive filesystems.
32168
8ee1e0d9 321692009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
32170
32171 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
32172 * conf/common.rmk (search_mod_CFLAGS): likewise
32173
a9966eb1 321742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32175
473d1e45 32176 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 32177 compensate a compiler bug
32178
9e7100fb 321792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32180
473d1e45 32181 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 32182 instead of '\b'
473d1e45 32183
ede21d71 321842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32185
32186 Definitions for creating asm symbols with Apple's CC
32187
32188 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
32189 [APPLE_CC] (VARIABLE): likewise
32190
9dbf7653 321912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32192
32193 Disable lnxboot.img when compiled
32194 with Apple's CC
32195
32196 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
32197 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
32198 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
32199 [! APPLE_CC] (CODE_LENG): skip
32200 [! APPLE_CC] (setup_sects): likewise
32201 [! APPLE_CC]: skip filling
473d1e45 32202
e93cdc3d 322032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32204
32205 Address in trampolines based on 32-bit registers when compiled
32206 with Apple's CC
32207
473d1e45 32208 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 32209 for addresses
32210 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
32211
6c688477 322122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32213
32214 Avoid aliases when compiling with Apple's CC for PCBIOS machine
32215
32216 * kern/misc.c [APPLE_CC] (memcpy): new function
32217 [APPLE_CC] (memmove): likewise
32218 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 32219 (memcpy): define alias conditionally on !APPLE_CC
6c688477 32220 (memset): likewise
32221 (abort): likewise
32222 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
32223 APPLE_CC are defined
32224 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
32225 (grub_assert_fail): make prototype conditional
32226
e37ffc5c 322272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32228
32229 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
32230
473d1e45 32231 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
32232 grub-macho2img
e37ffc5c 32233 (CLEANFILES): add grub-macho2img
32234 (grub_macho2img_SOURCES): new variable
32235 * kern/i386/pc/startup.S (bss_start): new variable
32236 (bss_end): likewise
32237 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
32238 * util/grub-macho2img.c: new file
32239
cf00df31 322402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32241
32242 Use objconv when compiling with Apple's CC
32243
32244 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
32245 (efiemu64.o): likewise
32246 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
32247 when compiling with Apple's CC
32248 (efiemu64_s.o): likewise
32249 * configure.ac: check for objconv when compiling with Apple's CC
32250 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 32251
d119a20c 322522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32253
32254 Define segment as well as section when compiling with
32255 Apple's CC
32256
32257 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
32258 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
32259 (efiemu_convert_pointer): likewise
32260 (efiemu_set_virtual_address_map): likewise
32261 (efiemu_convert_pointer): likewise
32262 (efiemu_getcrc32): likewise
32263 (init_crc32_table): likewise
32264 (reflect): likewise
32265 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
32266 (GRUB_MOD_DEP): likewise
473d1e45 32267
c8600122 322682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32269
32270 Allow a compilation without -mcmodel=large
32271
32272 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
32273 when compiled without -mcmodel=large
473d1e45 32274 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 32275 without -mcmodel=large
473d1e45 32276 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 32277 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 32278
e8df1d4e 322792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32280
32281 Remove nested functions in efiemu core
32282
32283 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 32284
cc6c3ac1 322852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32286
32287 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
32288
32289 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
32290 temporary storage
473d1e45 32291 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
32292 using Apple's CC
cc6c3ac1 32293 (grub_cpu_is_tsc_supported): likewise
32294 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 32295
3e325901 322962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32297
32298 Absolute addressing through constant with Apple's cc
32299
32300 * kern/i386/pc/startup.S: Define necessary constants
32301 and address through it when using ABS with Apple's CC
32302 * boot/i386/pc/diskboot.S: likewise
32303 * boot/i386/pc/boot.S: likewise
32304 * boot/i386/pc/lnxboot.S: likewise
32305 * boot/i386/pc/cdboot.S: likewise
32306 * mmap/i386/pc/mmap_helper.S: likewise
32307 * commands/i386/pc/drivemap_int13h.S: likewise
32308
2b167a72 323092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32310
32311 Check if compiler is apple cc
32312
32313 * Makefile.in (ASFLAGS): new variable
32314 (TARGET_ASFLAGS): likewise
32315 (TARGET_MODULE_FORMAT): likewise
32316 (TARGET_APPLE_CC): likewise
32317 (OBJCONV): likewise
32318 (TARGET_IMG_CFLAGS): likewise
32319 (TARGET_CPPFLAGS): add includedir
32320 * configure.ac: call grub_apple_cc and grub_apple_target_cc
32321 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
32322 Check for linker script only if compiler isn't Apple's CC
32323 (TARGET_MODULE_FORMAT): set
32324 (TARGET_APPLE_CC): likewise
32325 (TARGET_ASFLAGS): likewise
32326 (ASFLAGS): likewise
32327 Check for objcopy only if compiler isn't Apple's CC
32328 Check for BSS symbol only if compiler isn't Apple's CC
32329 * genmk.rb: adapt nm options if we use Apple's utils
32330 * aclocal.m4 (grub_apple_cc): new test
32331 (grub_apple_target_cc): likewise
473d1e45 32332
fb14123e 323332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32334
32335 Simplify sed expressions and improve awk
32336
32337 * Makefile.in (install-local): simplify sed expression
32338 * gencmdlist.sh: likewise
32339 * genmoddep.awk: avoid adding module as a dependency of itself
32340
5b889789 323412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32342
32343 Add missing start symbols
32344
32345 * boot/i386/pc/boot.S: add start
fb14123e 32346 * boot/i386/pc/pxeboot.S: likewise
473d1e45 32347
fd2bf2e3 323482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32349
32350 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 32351
32352 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 32353 (relocate_addresses): consider both r_addend and value at offset
32354 (make_mods_section): zerofill modinfo and header
32355 (convert_elf): write prefix here
473d1e45 32356
5389763d 323572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32358
32359 Use .asciz instead of .string
32360
32361 * i386/pc/diskboot.S: use .asciz instead of .string
32362 * i386/pc/boot.S: likewise
32363 * include/grub/dl.h (GRUB_MOD_DEP): likewise
32364 (GRUB_MOD_NAME): likewise
473d1e45 32365
3eb5ed4e 323662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32367
32368 gfxpayload support
32369
32370 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
32371 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
32372 (grub_video_setup): remove
32373 (grub_video_set_mode): new prototype
32374 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
32375 (vid_mode): remove
32376 (linux_vesafb_res): compile only on PCBIOS
32377 (grub_linux_boot): support gfxpayload
32378 * loader/i386/pc/xnu.c (video_hook): new function
32379 (grub_xnu_set_video): support gfxpayload
32380 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
32381 (DEFAULT_VIDEO_HEIGHT): likewise
32382 (DEFAULT_VIDEO_FLAGS): likewise
32383 (DEFAULT_VIDEO_MODE): new definition
32384 (video_hook): new function
32385 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 32386 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 32387 loading xnu
32388 * video/video.c (grub_video_setup): removed
473d1e45 32389 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 32390 grub_video_setup
32391
4b0e1143 323922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32393
32394 Avoid calling biosdisk in drivemap
32395
32396 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
32397 (revparse_biosdisk): likewise
32398 (list_mappings): derive name from id directly
32399 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 32400
fda6cb98 324012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32402
32403 Script fixes
32404
32405 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
32406 (grub_lexer_param): add tokenonhold
32407 (grub_script_create_cmdline): remove cmdline. All callers updated
32408 (grub_script_function_create): make functionname
32409 grub_script_arg. All callers updated
32410 (grub_script_execute_argument_to_string): new prototype
32411 * kern/parser.c (state_transitions): reorder
32412 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 32413 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 32414 make global
32415 (grub_script_execute_cmdline): use new format
32416 * script/sh/function.c (grub_script_function_create): make functionname
32417 grub_script_arg. All callers updated
473d1e45 32418 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 32419 (grub_script_yylex): remove
32420 (grub_script_yylex2): renamed to ...
32421 (grub_script_yylex): ...renamed
32422 parse the expressions like a${b}c
32423 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
32424 (GRUB_PARSER_TOKEN_VAR): remove
32425 (GRUB_PARSER_TOKEN_NAME): likewise
32426 ("if"): declare as typeless
32427 ("while"): likewise
32428 ("function"): likewise
32429 ("else"): likewise
32430 ("then"): likewise
32431 ("fi"): likewise
32432 (text): remove
32433 (argument): likewise
32434 (script): accept empty scripts and make exit on error
32435 (arguments): use GRUB_PARSER_TOKEN_ARG
32436 (function): likewise
32437 (command): move error handling to script
32438 (menuentry): move grub_script_lexer_ref before
473d1e45 32439 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 32440 argument. All callers updated
32441
f4448a07 324422009-06-04 Robert Millan <rmh.grub@aybabtu.com>
32443
32444 Prevent GRUB from probing floppies during boot.
32445
32446 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
32447 * commands/search.c (options): Add --no-floppy.
32448 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
32449 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
32450 --no-floppy when searching for UUIDs.
32451
2bf5885a 324522009-06-04 Robert Millan <rmh.grub@aybabtu.com>
32453
32454 Simplify the code duplication in commands/search.c.
32455
32456 * commands/search.c (search_label, search_fs_uuid): Merge into ...
32457 (search_fs): ... this. Update all users.
32458
f6fd460a 324592009-06-03 Felix Zielcke <fzielcke@z-51.de>
32460
32461 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
32462
cbb3c83e 324632009-05-28 Pavel Roskin <proski@gnu.org>
32464
57788cfd 32465 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
32466 Remove the original symlink explicitly.
32467
cbb3c83e 32468 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
32469 just one slash. That's how grub_fshelp_find_file() does it.
32470
cd0d5e30 324712009-05-26 Pavel Roskin <proski@gnu.org>
32472
f0f8bbe2 32473 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
32474 to `str'.
32475
cd0d5e30 32476 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
32477 possibly unused.
32478
8c2cab51 324792009-05-25 Christian Franke <franke@computer.org>
32480
32481 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
32482 register.
32483 (grub_atapi_identify): Add wait after drive select.
32484 (grub_ata_identify): Do more strict status register check before
32485 calling grub_atapi_identify (). Suppress error message if status
32486 register is 0x00 after command failure. Add status register
32487 check after PIO read to avoid bogus identify due to stuck DRQ.
32488 Thanks to Pavel Roskin for testing.
32489 (grub_device_initialize): Remove unsafe status register check.
32490 Thanks to 'phcoder' for problem report and patch.
32491 Prevent sign extension in debug message.
32492
230c0ad6 324932009-05-23 Colin D Bennett <colin@gibibit.com>
32494
32495 Cleaned up `include/grub/normal.h'. Grouped prototypes by
32496 definition file, and functions defined in `normal/menu.c' have had
32497 their prototypes moved to `include/grub/menu.h' for consistency.
32498
32499 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
32500 from normal.h.
32501 (grub_menu_get_entry): Likewise.
32502 (grub_menu_get_timeout): Likewise.
32503 (grub_menu_set_timeout): Likewise.
32504 (grub_menu_execute_entry): Likewise.
32505 (grub_menu_execute_with_fallback): Likewise.
32506 (grub_menu_entry_run): Likewise.
32507
32508 * include/grub/normal.h: Re-ordered and grouped function
32509 prototypes by file that the function is defined in.
32510 (grub_menu_execute_callback): Removed; moved to menu.h.
32511 (grub_menu_get_entry): Likewise.
32512 (grub_menu_get_timeout): Likewise.
32513 (grub_menu_set_timeout): Likewise.
32514 (grub_menu_execute_entry): Likewise.
32515 (grub_menu_execute_with_fallback): Likewise.
32516 (grub_menu_entry_run): Likewise.
32517 (grub_menu_addentry): Renamed from this ...
32518 (grub_normal_add_menu_entry): ... to this.
32519
32520 * normal/main.c (grub_menu_addentry): Renamed from this ...
32521 (grub_normal_add_menu_entry): ... to this.
32522
32523 * script/sh/execute.c (grub_script_execute_menuentry): Update
32524 reference to renamed grub_menu_addentry function.
32525
861f03a5 325262009-05-23 Felix Zielcke <fzielcke@z-51.de>
32527
32528 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
32529
96b1619a 325302009-05-22 Pavel Roskin <proski@gnu.org>
32531
bf6a5fb2 32532 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
32533 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
32534 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
32535 compiling for the i386 targets, but not for the utilities.
32536
96b1619a 32537 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
32538 to grub_uint8_t.
32539 (grub_root_drive): Likewise.
32540 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
32541 remove alignment.
32542 (grub_root_drive): Change size to byte.
32543 (grub_start_addr): Remove.
32544 (grub_end_addr): Likewise.
32545 (grub_apm_bios_info): Likewise.
32546
b729776b 325472009-05-21 Felix Zielcke <fzielcke@z-51.de>
32548
32549 * normal/i386: Remove.
32550 * normal/powerpc: Likewise.
32551 * normal/sparc64: Likewise.
32552 * normal/x86_64: Likewise.
32553
0a15ce80 325542009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
32555
32556 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 32557 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 32558 * loader/i386/xnu_helper.S: Likewise
d6da58e6 32559
33db9015 325602009-05-18 Colin D Bennett <colin@gibibit.com>
32561
d6da58e6 32562 Display error messages when parsing a Lua statement fails.
32563 Previously, executing a syntactically invalid statement like
32564 ")foo" or "bar;" would silently fail.
33db9015 32565
32566 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 32567 (grub_lua_parse_line): Improved reporting of Lua parser and
32568 execution errors.
33db9015 32569
46422c89 325702009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
32571
32572 Remove -Werror which causes build to fail on some systems
32573
32574 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
32575 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
32576 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 32577
22f53a96 325782009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
32579
32580 trampoline for linux on 64-bit platform
32581
18f547ad 32582 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
32583 loader/i386/efi/linux_trampoline.S
32584 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 32585 declaration
d6da58e6 32586 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
32587 here
22f53a96 32588 * loader/i386/linux_trampoline.S: moved here
d6da58e6 32589 * loader/i386/efi/linux.c (allocate_pages): reserve space for
32590 trampoline
22f53a96 32591 (jumpvector): removed
32592 (grub_linux_trampoline_start): new declaration
32593 (grub_linux_trampoline_end): likewise
32594 (grub_linux_boot): use trampoline when on 64-bit platform
32595 * loader/i386/linux.c: likewise
32596
cb5a0f40 325972009-05-16 Pavel Roskin <proski@gnu.org>
32598
32599 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
32600 const to avoid a warning.
32601 (grub_lua_setenv): Likewise.
32602 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
32603 lmsg to fix a warning.
32604
334f2c28 326052009-05-16 Felix Zielcke <fzielcke@z-51.de>
32606
32607 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 32608 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32609 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
32610 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32611 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
32612 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32613 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
32614 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 32615
59e5d3ec 326162009-05-16 Felix Zielcke <fzielcke@z-51.de>
32617
32618 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
32619
9d87a1ba 326202009-05-16 Bean <bean123ch@gmail.com>
32621
32622 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
32623 (lua_mod_SOURCES): New variable.
32624 (lua_mod_CFLAGS): Likewise.
32625 (lua_mod_LDFLAGS): Likewise.
32626
32627 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
32628 (setjmp_mod_SOURCES): New variable.
32629 (setjmp_mod_CFLAGS): Likewise.
32630 (setjmp_LDFLAGS): Likewise.
32631
32632 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
32633 (setjmp_mod_SOURCES): New variable.
32634 (setjmp_mod_CFLAGS): Likewise.
32635 (setjmp_LDFLAGS): Likewise.
32636
32637 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
32638 (setjmp_mod_SOURCES): New variable.
32639 (setjmp_mod_CFLAGS): Likewise.
32640 (setjmp_LDFLAGS): Likewise.
32641
32642 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
32643 (setjmp_mod_SOURCES): New variable.
32644 (setjmp_mod_CFLAGS): Likewise.
32645 (setjmp_LDFLAGS): Likewise.
32646
32647 * normal/i386/setjmp.S: Moved from here ...
32648 * lib/i386/setjmp.S: ... Moved here
32649 * normal/x86_64/setjmp.S: Moved from here ...
32650 * lib/x86_64/setjmp.S: ... Moved here
32651 * normal/powerpc/setjmp.S: Moved from here ...
32652 * lib/powerpc/setjmp.S: ... Moved here
32653 * normal/sparc64/setjmp.S: Moved from here ...
32654 * lib/sparc64/setjmp.S: ... Moved here
32655
32656 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
32657 returns_twice in mingw.
32658
32659 * script/lua/grub_lib.c: New file.
32660 * script/lua/grub_lib.h: Likewise.
32661 * script/lua/grub_lua.h: Likewise.
32662 * script/lua/grub_main.c: Likewise.
32663 * script/lua/lapi.c: Likewise.
32664 * script/lua/lapi.h: Likewise.
32665 * script/lua/lauxlib.c: Likewise.
32666 * script/lua/lauxlib.h: Likewise.
32667 * script/lua/lbaselib.c: Likewise.
32668 * script/lua/lcode.c: Likewise.
32669 * script/lua/lcode.h: Likewise.
32670 * script/lua/ldblib.c: Likewise.
32671 * script/lua/ldebug.c: Likewise.
32672 * script/lua/ldebug.h: Likewise.
32673 * script/lua/ldo.c: Likewise.
32674 * script/lua/ldo.h: Likewise.
32675 * script/lua/ldump.c: Likewise.
32676 * script/lua/lfunc.c: Likewise.
32677 * script/lua/lfunc.h: Likewise.
32678 * script/lua/lgc.c: Likewise.
32679 * script/lua/lgc.h: Likewise.
32680 * script/lua/linit.c: Likewise.
32681 * script/lua/liolib.c: Likewise.
32682 * script/lua/llex.c: Likewise.
32683 * script/lua/llex.h: Likewise.
32684 * script/lua/llimits.h: Likewise.
32685 * script/lua/lmathlib.c: Likewise.
32686 * script/lua/lmem.c: Likewise.
32687 * script/lua/lmem.h: Likewise.
32688 * script/lua/loadlib.c: Likewise.
32689 * script/lua/lobject.c: Likewise.
32690 * script/lua/lobject.h: Likewise.
32691 * script/lua/lopcodes.c: Likewise.
32692 * script/lua/lopcodes.h: Likewise.
32693 * script/lua/loslib.c: Likewise.
32694 * script/lua/lparser.c: Likewise.
32695 * script/lua/lparser.h: Likewise.
32696 * script/lua/lstate.c: Likewise.
32697 * script/lua/lstate.h: Likewise.
32698 * script/lua/lstring.c: Likewise.
32699 * script/lua/lstring.h: Likewise.
32700 * script/lua/lstrlib.c: Likewise.
32701 * script/lua/ltable.c: Likewise.
32702 * script/lua/ltable.h: Likewise.
32703 * script/lua/ltablib.c: Likewise.
32704 * script/lua/ltm.c: Likewise.
32705 * script/lua/ltm.h: Likewise.
32706 * script/lua/lua.h: Likewise.
32707 * script/lua/luaconf.h: Likewise.
32708 * script/lua/lualib.h: Likewise.
32709 * script/lua/lundump.c: Likewise.
32710 * script/lua/lundump.h: Likewise.
32711 * script/lua/lvm.c: Likewise.
32712 * script/lua/lvm.h: Likewise.
32713 * script/lua/lzio.c: Likewise.
32714 * script/lua/lzio.h: Likewise.
32715
5e898c9d 327162009-05-16 Bean <bean123ch@gmail.com>
32717
32718 * include/grub/kernel.h (grub_module_header_types): Add type
32719 OBJ_TYPE_CONFIG.
32720
32721 * kern/main.c (grub_load_config): New function.
32722 (grub_main): Call grub_load_config to read boot config.
32723
32724 * grub-mkimage (generate_image): New parameter config_path.
32725 (options): New option --config.
32726 (main): Parse --config option, and pass it to generate_image.
32727
cf353a47 327282009-05-14 Christian Franke <franke@computer.org>
32729
32730 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
32731 This fixes build on Cygwin.
32732
3834887f 327332009-05-14 Pavel Roskin <proski@gnu.org>
32734
32735 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
32736 jump. This saves two bytes, so the typical case of 2 swapped
32737 drives would fit 32 bytes.
32738
8090fc01 327392009-05-13 Pavel Roskin <proski@gnu.org>
32740
ac963883 32741 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
32742 grub_uint32_t to avoid a warning.
32743
8090fc01 32744 * loader/i386/linux.c (allocate_pages): When assigning
32745 real_mode_mem, cast through grub_size_t to fix a warning. The
32746 code already makes sure that the value would fit a pointer.
32747 (grub_linux_setup_video): Cast render_target->data to
32748 grub_size_t to fix a warning.
32749
18f547ad 327502009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 32751
32752 * commands/i386/pc/drivemap.c: New file - implement drivemap
32753 command.
32754 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
32755 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
32756
6f6a8b28 327572009-05-13 Pavel Roskin <proski@gnu.org>
32758
32759 * util/i386/pc/grub-setup.c (setup): Remove unused variable
32760 embedding_area_exists.
32761
15fbf4c4 327622009-05-13 Robert Millan <rmh.grub@aybabtu.com>
32763
32764 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
32765 it easier to understand / work with.
59978c8a 32766 Improve warning messages for cases where there's no embedding area,
32767 or when it is too small (or core.img too large).
15fbf4c4 32768
238e871f 327692009-05-13 Pavel Roskin <proski@gnu.org>
32770
0ab3a9a4 32771 * loader/i386/pc/multiboot2.c: Add necessary includes for
32772 grub_multiboot2_real_boot().
32773
a2c8c5f8 32774 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
32775 PX record is always little-endian. We only need the lower 2
32776 bytes of the mode.
32777
faec96af 32778 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
32779 facilitate code reuse.
32780 (grub_cpio_mount): Use "struct head", not a char buffer. This
32781 fixes a warning reported by gcc 4.4.
32782
238e871f 32783 * kernel/disk.c (grub_disk_read): Use void pointer for the
32784 buffer.
32785 (grub_disk_write): Use const void pointer for the buffer.
32786 Adjust all callers. Remove unnecessary casts.
32787
901d2f0c 327882009-05-10 Robert Millan <rmh.grub@aybabtu.com>
32789
32790 * util/i386/pc/grub-install.in: Update copyright year.
32791
18f547ad 327922009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 32793
32794 gptsync
32795
32796 * commands/gptsync.c: new file
32797 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
32798 (gptsync_mod_SOURCES): new variable
32799 (gptsync_mod_CFLAGS): likewise
32800 (gptsync_mod_LDFLAGS): likewise
18f547ad 32801 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 32802 new definition
32803 (GRUB_PC_PARTITION_TYPE_HFS): likewise
32804 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
32805 * conf/i386-ieee1275.rmk: likewise
32806 * conf/i386-pc.rmk: likewise
32807 * conf/powerpc-ieee1275.rmk: likewise
32808
b4ba690a 328092009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
32810
32811 Fixed grub-emu
32812
32813 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
32814 (grub_dl_ref): likewise
32815
317e1a44 328162009-05-08 Robert Millan <rmh.grub@aybabtu.com>
32817
32818 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
32819 split in two functions (one for msdos and one for gpt).
32820
041b8094 328212009-05-08 Pavel Roskin <proski@gnu.org>
32822
752473c2 32823 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
32824 not modified.
32825
041b8094 32826 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
32827 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
32828 Initialize them with -1. Add sanity check for bad1. Eliminate
32829 nerr variable.
32830
172800ce 328312009-05-08 David S. Miller <davem@davemloft.net>
32832
32833 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
32834
29aa5e81 328352009-05-06 Robert Millan <rmh.grub@aybabtu.com>
32836
32837 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 32838 existence.
29aa5e81 32839
96613b62 328402009-05-05 Felix Zielcke <fzielcke@z-51.de>
32841
32842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 32843 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 32844
eef73c8a 328452009-05-05 David S. Miller <davem@davemloft.net>
32846
32847 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
32848
119494b5 328492009-05-05 Pavel Roskin <proski@gnu.org>
32850
32851 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
32852 of grub_dl_ref() and grub_dl_unref().
32853 * commands/parttool.c: Remove preprocessor conditionals around
32854 grub_dl_ref() and grub_dl_unref().
32855 * fs/affs.c: Likewise.
32856 * fs/afs.c: Likewise.
32857 * fs/cpio.c: Likewise.
32858 * fs/ext2.c: Likewise.
32859 * fs/fat.c: Likewise.
32860 * fs/hfs.c: Likewise.
32861 * fs/hfsplus.c: Likewise.
32862 * fs/iso9660.c: Likewise.
32863 * fs/jfs.c: Likewise.
32864 * fs/minix.c: Likewise.
32865 * fs/ntfs.c: Likewise.
32866 * fs/reiserfs.c: Likewise.
32867 * fs/sfs.c: Likewise.
32868 * fs/udf.c: Likewise.
32869 * fs/ufs.c: Likewise.
32870 * fs/xfs.c: Likewise.
32871 * include/grub/dl.h: Likewise.
32872 * loader/xnu.c: Likewise.
32873
de5fd76e 328742009-05-04 Pavel Roskin <proski@gnu.org>
32875
32876 * commands/acpi.c: Remove unused variable my_mod.
32877 * partmap/amiga.c: Likewise.
32878 * partmap/apple.c: Likewise.
32879 * partmap/gpt.c: Likewise.
32880 * partmap/pc.c: Likewise.
32881 * partmap/sun.c: Likewise.
32882 * term/gfxterm.c: Likewise.
32883 * term/i386/pc/vesafb.c: Likewise.
32884 * term/i386/pc/vga.c: Likewise.
32885
983598ad 328862009-05-04 David S. Miller <davem@davemloft.net>
32887
32888 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
32889 pointer args to grub_ieee1275_get_property().
32890
8aadec43 32891 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
32892
9554b15e 32893 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
32894 devices, and do not traverse down under controller nodes.
32895
67e23c90 32896 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
32897 (grub_ofdisk_open): Use it to un-escape "," characters.
32898 * kern/disk.c (find_part_sep): New.
32899 (grub_disk_open): Use it to find the first non-escaped ','
32900 character in the disk name.
32901 * util/ieee1275/devicemap.c (escape_of_path): New.
32902 (grub_util_emit_devicemap_entry): Use it.
32903 * util/sparc64/ieee1275/grub-install.in: Update script to
32904 strip partition specifiers properly by not triggering on
32905 '\' escaped ',' characters.
32906
74bfdd2f 329072009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32908
32909 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
32910 to 0x300.
32911 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
32912 resolutions.
32913 (linux_vesafb_modes): Add a lot of additional modes to the list (based
32914 on documentation from Wikipedia).
32915
4241d2b1 329162009-05-04 Pavel Roskin <proski@gnu.org>
32917
32918 * disk/ata.c: Spelling fixes.
32919 * disk/raid.c: Likewise.
32920 * disk/usbms.c: Likewise.
32921 * disk/dmraid_nvidia.c: Likewise.
32922 * kern/ieee1275/openfw.c: Likewise.
32923 * kern/ieee1275/init.c: Likewise.
32924 * kern/ieee1275/cmain.c: Likewise.
32925 * boot/i386/pc/cdboot.S: Likewise.
32926 * video/readers/png.c: Likewise.
32927 * video/i386/pc/vbe.c: Likewise.
32928 * fs/udf.c: Likewise.
32929 * fs/hfs.c: Likewise.
32930 * fs/reiserfs.c: Likewise.
32931 * efiemu/runtime/efiemu.c: Likewise.
32932 * efiemu/main.c: Likewise.
32933 * efiemu/mm.c: Likewise.
32934 * include/grub/elf.h: Likewise.
32935 * include/grub/xnu.h: Likewise.
32936 * include/grub/usbdesc.h: Likewise.
32937 * include/grub/usb.h: Likewise.
32938 * include/grub/script_sh.h: Likewise.
32939 * include/grub/lib/LzmaEnc.h: Likewise.
32940 * include/grub/efiemu/efiemu.h: Likewise.
32941 * include/grub/command.h: Likewise.
32942 * normal/menu.c: Likewise.
32943 * normal/main.c: Likewise.
32944 * normal/datetime.c: Likewise.
32945 * bus/usb/uhci.c: Likewise.
32946 * mmap/i386/uppermem.c: Likewise.
32947 * mmap/mmap.c: Likewise.
32948 * commands/acpi.c: Likewise.
32949 * commands/test.c: Likewise.
32950 * partmap/apple.c: Likewise.
32951 * font/font.c: Likewise.
32952 * loader/sparc64/ieee1275/linux.c: Likewise.
32953 * loader/macho.c: Likewise.
32954 * loader/i386/bsd_trampoline.S: Likewise.
32955 * loader/i386/bsd.c: Likewise.
32956 * loader/xnu.c: Likewise.
32957 * term/i386/pc/vesafb.c: Likewise.
32958 * term/usb_keyboard.c: Likewise.
32959 * util/resolve.c: Likewise.
32960 * util/getroot.c: Likewise.
32961
0cfc0083 329622009-05-04 Felix Zielcke <fzielcke@z-51.de>
32963
32964 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
32965
7c1d00cd 329662009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32967
32968 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
32969 build error.
32970
b01f0548 329712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32972
32973 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
32974 parameter only available on BIOS.
32975
ecc3eb22 329762009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32977
32978 Removed wrong semicolon in declaration
32979
32980 * grub/misc.h (grub_dprintf): remove semicolon
32981
112972a9 329822009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32983
32984 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
32985 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
32986 is done by grub_cmd_linux() now).
32987 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
32988 restore video to text mode.
32989 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
32990 indicates lack of "vga=" parameter. "vga=0" is mapped to
32991 `GRUB_LINUX_VID_MODE_NORMAL'.
32992
afd5c115 329932009-05-04 Felix Zielcke <fzielcke@z-51.de>
32994
32995 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
32996 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
32997 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 32998 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 32999 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
33000 `grub_script.tab.c'.
33001
33002 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33003 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33004 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33005 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33006 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33007
faa517ce 33008 * Makefile.in: Remove duplicated 2008 in Copyright line.
33009
ae0c0bdc 330102009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33011
473d1e45 33012 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 33013 unconditionally.
33014 * include/grub/util/misc.h (grub_util_warn): New declaration.
33015
33016 * util/i386/pc/grub-install.in: Understand --force and pass it down
33017 to grub-setup.
33018
33019 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
33020 down to setup().
33021 (setup): Improve error messages and add warnings when requested to
33022 install in odd layouts. Refuse to install using blocklists unless
33023 --force was set.
33024
18f547ad 330252009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 33026
33027 * disk/raid.c (grub_raid_scan_device): Improve debug message.
33028
6d260daa 330292009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33030
33031 Updated copyright year
33032
33033 * fs/hfsplus.c: updated copyright year
18f547ad 33034
69f853f8 330352009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33036
33037 HFS+ UUID
33038
18f547ad 33039 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 33040 in the space previously used by unused3
33041 (grub_hfsplus_uuid): new function
33042 (grub_hfsplus_fs): added uuid field
33043
4c402e73 330442009-05-03 Pavel Roskin <proski@gnu.org>
33045
33046 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
33047 suppress warnings. It's no longer needed.
33048 * disk/host.c: Likewise.
33049 * disk/ata_pthru.c: Likewise.
33050 * disk/loopback.c: Likewise.
33051 * hook/datehook.c: Likewise.
33052 * parttool/pcpart.c: Likewise.
33053 * fs/i386/pc/pxe.c: Likewise.
33054 * fs/ntfscomp.c: Likewise.
33055 * efiemu/main.c: Likewise.
33056 * mmap/mmap.c: Likewise.
33057 * commands/crc.c: Likewise.
33058 * commands/hexdump.c: Likewise.
33059 * commands/hdparm.c: Likewise.
33060 * commands/acpi.c: Likewise.
33061 * commands/echo.c: Likewise.
33062 * commands/minicmd.c: Likewise.
33063 * commands/blocklist.c: Likewise.
33064 * commands/memrw.c: Likewise.
33065 * commands/loadenv.c: Likewise.
33066 * commands/usbtest.c: Likewise.
33067 * commands/lsmmap.c: Likewise.
33068 * commands/boot.c: Likewise.
33069 * commands/parttool.c: Likewise.
33070 * commands/configfile.c: Likewise.
33071 * commands/search.c: Likewise.
33072 * commands/ieee1275/suspend.c: Likewise.
33073 * commands/cat.c: Likewise.
33074 * commands/i386/pc/pxecmd.c: Likewise.
33075 * commands/i386/pc/play.c: Likewise.
33076 * commands/i386/pc/halt.c: Likewise.
33077 * commands/i386/pc/vbeinfo.c: Likewise.
33078 * commands/i386/pc/vbetest.c: Likewise.
33079 * commands/lspci.c: Likewise.
33080 * commands/date.c: Likewise.
33081 * commands/handler.c: Likewise.
33082 * commands/ls.c: Likewise.
33083 * commands/test.c: Likewise.
33084 * commands/cmp.c: Likewise.
33085 * commands/efi/loadbios.c: Likewise.
33086 * commands/efi/fixvideo.c: Likewise.
33087 * commands/halt.c: Likewise.
33088 * commands/help.c: Likewise.
33089 * commands/reboot.c: Likewise.
33090 * hello/hello.c: Likewise.
33091 * script/sh/main.c: Likewise.
33092 * loader/xnu.c: Likewise.
33093 * term/terminfo.c: Likewise.
33094 * term/i386/pc/serial.c: Likewise.
33095 * term/usb_keyboard.c: Likewise.
33096
515b5079 330972009-05-03 David S. Miller <davem@davemloft.net>
33098
33099 * normal/menu.c: Include grub/parser.h
33100
dfc31a22 331012009-05-03 Pavel Roskin <proski@gnu.org>
33102
2fee74f1 33103 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
33104 not char*.
33105 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
33106 Suggested by Javier Martín <lordhabbit@gmail.com>
33107
dfc31a22 33108 * util/i386/pc/grub-mkrescue.in: Allow for the case when
33109 efiemu??.o doesn't exist.
33110 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
33111 copying.
33112
18f547ad 331132009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 33114
33115 FreeBSD 64-bit support
33116
18f547ad 33117 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 33118 and loader/i386/bsd_trampoline.S
33119 (bsd_mod_ASFLAGS): new variable
33120 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
33121 (FREEBSD_MODTYPE_KERNEL64): likewise
33122 (grub_bsd64_trampoline_start): likewise
33123 (grub_bsd64_trampoline_end): likewise
33124 (grub_bsd64_trampoline_selfjump): likewise
33125 (grub_bsd64_trampoline_gdt): likewise
33126 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
33127 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
33128 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
33129 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 33130 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 33131 of "attrib" member
33132 * loader/i386/bsd_pagetable.c: new file
33133 * loader/i386/bsd_trampoline.S: likewise
33134 * loader/i386/bsd.c (ALIGN_QWORD): new macro
33135 (ALIGN_VAR): likewise
33136 (entry_hi): new variable
33137 (kern_end_mdofs): likewise
33138 (is_64bit): likewise
33139 (grub_freebsd_add_meta): use ALIGN_VAR
33140 (grub_e820_mmap): new declaration
33141 (grub_freebsd_add_mmap): new function
33142 (grub_freebsd_add_meta_module): support 64 bit kernels
33143 (grub_freebsd_list_modules): use ALIGN_VAR
33144 (gdt_descriptor): new declaration
33145 (grub_freebsd_boot): support 64 bit kernels
33146 (grub_bsd_elf64_hook): new function
33147 (grub_bsd_load_elf): support elf64
33148
038c5720 331492009-05-03 Bean <bean123ch@gmail.com>
33150
33151 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
33152 after we get the result of if statement.
33153
fc45fb58 331542009-05-03 Bean <bean123ch@gmail.com>
33155
33156 * Makefile.in (enable_efiemu): New variable.
33157
33158 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
33159 set.
33160 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
33161 path.
33162 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
33163 path, add -mno-red-zone option.
33164 (efiemu64_s.o): Likewise.
33165 (efiemu64.o): Use macro $^ for source file.
33166
33167 * configure.ac (--enable-efiemu): New option.
33168
bbee0f2b 331692009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
33170
33171 xnu support
33172
33173 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
33174 (pkglib_MODULES): add xnu.mod
33175 (xnu_mod_SOURCES): new variable
33176 (xnu_mod_CFLAGS): likewise
33177 (xnu_mod_LDFLAGS): likewise
33178 (xnu_mod_ASFLAGS): likewise
33179 * conf/i386-pc.rmk: likewise
33180 * conf/x86_64-efi.rmk: likewise
7dd4a573 33181 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 33182 new declaration
33183 * include/grub/i386/macho.h: new file
33184 * include/grub/i386/xnu.h: likewise
33185 * include/grub/macho.h: likewise
33186 * include/grub/machoload.h: likewise
33187 * include/grub/x86_64/macho.h: likewise
33188 * include/grub/x86_64/xnu.h: likewise
33189 * include/grub/xnu.h: likewise
33190 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
33191 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
33192 * loader/i386/efi/xnu.c: new file
33193 * loader/i386/pc/xnu.c: likewise
33194 * loader/i386/xnu.c: likewise
33195 * loader/i386/xnu_helper.S: likewise
33196 * loader/macho.c: likewise
33197 * loader/xnu.c: likewise
33198 * loader/xnu_resume.c: likewise
33199 * util/grub-dumpdevtree: likewise
33200 * include/grub/i386/pit.h: include grub/err.h
33201 (grub_pit_wait): export
33202 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 33203
5caf964d 332042009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33205
33206 Efiemu
7dd4a573 33207
5caf964d 33208 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 33209 _linux_efi, linux_efi.
33210 new files in grub-emu
5caf964d 33211 new targets efiemu32.o and efiemu64.o
33212 * loader/linux_normal_efiemu.c: likewise
33213 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 33214 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 33215 files to copy
33216 * include/grub/autoefi.h: new file
7dd4a573 33217 * include/grub/i386/efiemu.h: likewise
5caf964d 33218 * include/grub/i386/pc/efiemu.h: likewise
33219 * include/grub/efi/api.h: add LL suffix when necessary
33220 new definitions relating to tables
33221 * include/grub/efiemu/efiemu.h: new file
33222 * include/grub/efiemu/runtime.h: likewise
33223 * efiemu/prepare.c: likewise
33224 * efiemu/loadcore_common.c: likewise
33225 * efiemu/loadcore64.c: likewise
33226 * efiemu/runtime/efiemu.sh: likewise
33227 * efiemu/runtime/efiemu.S: likewise
33228 * efiemu/runtime/efiemu.c: likewise
33229 * efiemu/runtime/config.h: likewise
33230 * efiemu/prepare32.c: likewise
33231 * efiemu/main.c: likewise
33232 * efiemu/modules/pnvram.c: likewise
33233 * efiemu/modules/i386: likewise
33234 * efiemu/modules/i386/pc: likewise
33235 * efiemu/modules/acpi.c: likewise
33236 * efiemu/i386/pc/cfgtables.c: likewise
33237 * efiemu/i386/loadcore64.c: likewise
33238 * efiemu/i386/loadcore32.c: likewise
33239 * efiemu/prepare64.c: likewise
33240 * efiemu/loadcore.c: likewise
33241 * efiemu/symbols.c: likewise
33242 * efiemu/mm.c: likewise
33243 * efiemu/loadcore32.c: likewise
7dd4a573 33244
332452009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 33246
33247 ACPI spoofing
33248
33249 * commands/acpi.c: new file
33250 * commands/i386/pc/acpi.c: likewise
33251 * commands/efi/acpi.c: likewise
33252 * include/grub/acpi.h: likewise
33253 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
33254 (acpi_mod_SOURCES): new variable
33255 (acpi_mod_CFLAGS): likewise
33256 (acpi_mod_LDFLAGS): likewise
33257 * conf/i386-efi.rmk: likewise
33258 * conf/x86_64-efi.rmk: likewise
33259
7dd4a573 332602009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 33261
33262 Missing part from mmap patch
33263
33264 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
33265 (grub_mmap_unregister)
33266 (grub_mmap_free_and_unregister): use grub_mmap_register
33267
7dd4a573 332682009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 33269
33270 Mmap services
33271
33272 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
33273 * loader/i386/linux.c (find_mmap_size): likewise
33274 (allocate_pages): likewise
33275 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
33276 (grub_fill_multiboot_mmap): likewise
33277 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
33278 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
33279 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
33280 (OPENBSD_MMAP_RESERVED): likewise
33281 * include/grub/i386/pc/memory.h: include grub/memory.h
33282 (grub_lower_mem): removed
33283 (grub_upper_mem): likewise
33284 (GRUB_MACHINE_MEMORY_ACPI): new definition
33285 (GRUB_MACHINE_MEMORY_NVS): likewise
33286 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
33287 (GRUB_MACHINE_MEMORY_HOLE): likewise
33288 (grub_machine_mmap_register): likewise
33289 (grub_machine_mmap_unregister): likewise
33290 (grub_machine_get_upper): likewise
33291 (grub_machine_get_lower): likewise
33292 (grub_machine_get_post64): likewise
33293 * include/grub/i386/efi/memory.h: new file
33294 * include/grub/x86_64/efi/memory.h: likewise
33295 * include/grub/efi/memory.h: likewise
33296 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
33297 (mmap_mod_SOURCES): new variable
33298 (mmap_mod_LDFLAGS): likewise
33299 (mmap_mod_ASFLAGS): likewise
33300 * conf/i386-coreboot.rmk: likewise
33301 * conf/i386-ieee1275.rmk: likewise
33302 * conf/i386-efi.rmk: likewise
33303 * conf/x86_64-efi.rmk: likewise
33304 * include/grub/types.h (UINT_TO_PTR): new macro
33305 (PTR_TO_UINT32): likewise
33306 (PTR_TO_UINT64): likewise
33307 * include/grub/memory.h: new file
33308 * mmap/i386/pc/mmap.c: likewise
33309 * mmap/i386/pc/mmap_helper.S: likewise
33310 * mmap/i386/uppermem.c: likewise
33311 * mmap/mmap.c: likewise
33312 * mmap/efi/mmap.c: likewise
7dd4a573 33313 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 33314 grub_upper_mem
33315 * kern/i386/pc/init.c (grub_lower_mem): removed variable
33316 (grub_upper_mem): likewise
33317 (grub_machine_init): don't use grub_upper_mem,
33318 make grub_lower_mem local
33319 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
33320 grub_mmap_iterate and grub_mmap_get_upper
33321 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
33322
d558e6b5 333232009-05-02 Bean <bean123ch@gmail.com>
33324
33325 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
33326 script/sh/parser.y.
33327 (pkglib_MODULES): Add normal.mod and sh.mod.
33328 (normal_SOURCES): New variable.
33329 (normal_mod_CFLAGS): Likewise.
33330 (normal_mod_LDFLAGS): Likewise.
33331 (sh_mod_SOURCES): Likewise.
33332 (sh_mod_CFLAGS): Likewise.
33333 (sh_mod_LDFLAGS): Likewise.
33334
33335 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
33336 script/sh/lexer.c_DEPENDENCIES.
33337 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
33338 kern/rescue_reader.c and kern/rescue_parser.c.
33339 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
33340 (grub_emu_SOURCES): Change source files.
33341 (pkglib_MODULES): Remove normal.mod.
33342 (normal_SOURCES): Removed.
33343 (normal_mod_CFLAGS): Likewise.
33344 (normal_mod_LDFLAGS): Likewise.
33345 * conf/i386-coreboot.rmk: Likewise.
33346 * conf/i386-efi.rmk: Likewise.
33347 * conf/i386-ieee1276.rmk: Likewise.
33348 * conf/powerpc-ieee1275.rmk: Likewise.
33349 * conf/sparc64-ieee1275.rmk: Likewise.
33350 * conf/x86_64-efi.rmk: Likewise.
33351
33352 * include/grub/command.h (grub_command_execute): New inline function.
33353
33354 * include/grub/menu.h (grub_menu_entry): Removed commands field.
33355
33356 * include/grub/normal.h: Remove <grub/setjmp.h>.
33357 (grub_fs_module_list): Moved to normal/autofs.c.
33358 (grub_exit_env): Removed.
33359 (grub_command_execute): Likewise.
33360 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
33361 parameter script.
33362 (read_command_list): New function declaration.
33363 (read_fs_list): Likewise.
33364
33365 * include/parser.h: Include <grub/reader.h>.
33366 (grub_parser_split_cmdline): Change type of getline parameter.
33367 (grub_parser): New structure.
33368 (grub_parser_class): New variable.
33369 (grub_parser_execute): New function declaration.
33370 (grub_register_rescue_parser): Likewise.
33371 (grub_parser_register): New inline function.
33372 (grub_parser_unregister): Likewise.
33373 (grub_parser_get_current): Likewise.
33374 (grub_parser_set_current): Likewise.
33375
33376 * include/grub/reader.h: New file.
33377 * kern/reader.c: Likewise.
33378 * kern/rescue_parser.c: Likewise.
33379 * kern/rescue_reader.c: Likewise.
33380 * normal/autofs.c: Likewise.
33381 * normal/dyncmd.c: Likewise.
33382
33383 * include/grub/rescue.h: Removed.
33384 * normal/command.h: Likewise.
33385
33386 * include/grub/script.h: Moved to ...
33387 * include/grub/script_sh.h: ... Moved here.
33388 * normal/execute.c: Moved to ...
33389 * script/sh/execute.c: ... Moved here.
33390 * normal/function.c: Moved to ...
33391 * script/sh/function.c: ... Moved here.
33392 * normal/lexer.c: Moved to ...
33393 * script/sh/lexer.c: ... Moved here.
33394 * normal/parser.y: Moved to ...
33395 * script/sh/parser.y: ... Moved here.
33396 * normal/script.c: Moved to ...
33397 * script/sh/script.c: ... Moved here.
33398
33399 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
33400 <grub/reader.h>.
33401 (grub_exit_env): Removed.
33402 (fs_module_list): Moved to normal/autofs.c.
33403 (grub_file_getline): Don't handle comment here.
33404 (free_menu): Skip removed field entry->commands.
33405 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
33406 script parameter.
33407 (read_config_file): Removed nested parameter, change getline function.
33408 (grub_enter_normal_mode): Removed.
33409 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
33410 (read_command_list): Likewise.
33411 (autoload_fs_module): Moved to normal/autofs.c.
33412 (read_fs_list): Likewise.
33413 (reader_nested): New variable.
33414 (grub_normal_execute): Run parser.sh to switch to sh parser.
33415 (grub_cmd_rescue): Removed.
33416 (cmd_normal): Removed.
33417 (grub_cmd_normal): Unregister itself at the beginning. Don't register
33418 rescue command.
33419 (grub_cmdline_run): New function.
33420 (grub_normal_reader_init): Likewise.
33421 (grub_normal_read_line): Likewise.
33422 (grub_env_write_pager): Likewise.
33423 (cmdline): New variable.
33424 (grub_normal_reader): Likewise.
33425 (GRUB_MOD_INIT): Register normal reader and set as current, register
33426 pager hook, register normal command with grub_register_command_prio,
33427 so that it won't show up in command.lst.
33428 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
33429 grub_fs_autoload_hook.
33430
33431 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
33432 (grub_menu_execute_entry): Replace grub_script_execute with
33433 grub_parser_execute, change parameter to grub_command_execute.
33434
33435 * normal/menu_text.c: Remove <grub/script.h>.
33436
33437 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
33438 and <grub/parser.h>.
33439 (run): Change editor_getline to use new parser interface. Change
33440 parameter to grub_command_execute.
33441
33442 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
33443 <grub/reader.h> and <grub/parser.h>.
33444 (grub_load_normal_mode): Execute normal command.
33445 (grub_main): Call grub_register_core_commands,
33446 grub_register_rescue_parser and grub_register_rescue_reader, use
33447 grub_reader_loop to enter input loop.
33448
7dd4a573 33449 * kern/parser.c (grub_parser_split_cmdline): Change type of
33450 getline parameter.
d558e6b5 33451 (grub_parser_class): New variable.
33452 (grub_parser_execute): New function.
33453
33454 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
33455 * loader/multiboot2.c: Likewise.
33456 * loader/sparc64/ieee1275/linux.c: Likewise.
33457
33458 * util/grub-emu.c (read_command_list): New dummy function.
33459
18db813d 334602009-05-02 Robert Millan <rmh.grub@aybabtu.com>
33461
33462 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
33463 count to 16 for CCISS and IDA.
33464
6c67de15 334652009-05-02 Robert Millan <rmh.grub@aybabtu.com>
33466
33467 * normal/menu_text.c (grub_wait_after_message): Print a newline
33468 after waiting for user input.
33469
33470 * loader/i386/linux.c: Include `<grub/normal.h>'.
33471 (grub_cmd_linux): Improve the error message about `ask' mode, by
33472 waiting for user input so it's not missed (we can do this, since
33473 user requested interaction).
33474
d9dc87b0 334752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33476
33477 Added missing lst to grub-mkrescue
33478
33479 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
33480 and ${input_dir}/parttool.lst
33481
ac8a2baa 334822009-04-30 David S. Miller <davem@davemloft.net>
33483
ad22a610 33484 * util/hostdisk.c (device_is_wholedisk): New function.
33485 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
33486 zero only if device_is_wholedisk() returns true.
33487
6966215d 33488 * util/hostdisk.c (convert_system_partition_to_system_disk):
33489 Handle virtual disk devices named /dev/vdiskX as found on sparc
33490 and powerpc.
33491
ac8a2baa 33492 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
33493 lettered partition specifier is found, convert to numbered.
33494
979b4fb4 334952009-04-29 David S. Miller <davem@davemloft.net>
33496
e2bf39b2 33497 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
33498 * include/grub/sparc64/ieee1275/memory.h: Likewise.
33499
3c64e104 33500 * normal/command.c: Add missing newline at end of file.
33501
979b4fb4 33502 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
33503 warnings.
33504 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
33505 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
33506 grub_ofdisk_read): Likewise, and deal similarly with the fact that
33507 ihandles have a 32-bit type but need to be stored in a "void *".
33508
136d9f82 335092009-04-28 Pavel Roskin <proski@gnu.org>
33510
9459c306 33511 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
33512 not disk. Adjust all dependencies.
2e08a26a 33513 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 33514 grub_disk_close().
33515
136d9f82 33516 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
33517 parent's partition, don't copy it by reference, as it gets freed
33518 on close.
33519
7dd4a573 335202009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 33521
33522 Preboot hooks support
33523
33524 * commands/boot.c (struct grub_preboot_t): new declaration
33525 (preboots_head): new variable
33526 (preboots_tail): likewise
33527 (grub_loader_register_preboot_hook): new function
33528 (grub_loader_unregister_preboot_hook): likewise
33529 (grub_loader_set): launch preboot hooks
33530 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
33531 (grub_loader_register_preboot_hook): new declaration
33532 (grub_loader_unregister_preboot_hook): likewise
33533
5af922b5 335342009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
33535
33536 Warning fix
33537
7dd4a573 33538 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 33539 calling grub_dprintf
33540
a5562c30 335412009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
33542
33543 Bug and warning fixes
33544
7dd4a573 33545 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 33546 declaration
33547 * commands/test.c (test_parse): fixed bug with file tests and corrected
33548 declaration of find_file
33549
4006f85c 335502009-04-26 Pavel Roskin <proski@gnu.org>
33551
33552 * Makefile.in: Don't install empty manual pages if help2man is
33553 missing. Use help2man option for output, not shell redirection.
33554
5c77c3de 335552009-04-26 David S. Miller <davem@davemloft.net>
33556
33557 * util/grub-mkdevicemap.c (make_device_map): Add missing
33558 NESTED_FUNC_ATTR to process_device().
33559
033b10a8 335602009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33561
33562 Test command
33563
33564 * commands/test.c: rewritten to use bash-like test
33565
e4343593 335662009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33567
33568 Parttool autoloading and improvements
33569
7dd4a573 33570 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 33571 (parttool.lst): new target
33572 * genmk.rb: generate parttool-*
33573 (CLEANFILES): add #{parttool}
33574 (PARTTOOLFILES): new variable
33575 * genparttoollist.sh: new file
7dd4a573 33576 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 33577 (grub_pcpart_type): likewise
33578 * commands/parttool.c (helpmsg): new variable
33579 (grub_cmd_parttool): output help if not enough arguments are supplied
33580 autoload modules
33581 (GRUB_MOD_INIT(parttool)): use helpmsg
33582
0d312500 335832009-04-24 David S. Miller <davem@davemloft.net>
33584
7dd4a573 33585 Avoiding opening same device multiple times in device iterator.
0d312500 33586
33587 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 33588 and use it to build a list of partitions in iterate_disk() and
0d312500 33589 iterate_partition().
33590
ac20caff 33591 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
33592 on disk->data.
33593
0dcf7495 33594 * disk/ieee1275/nand.c (grub_nand_iterate): Return
33595 grub_devalias_iterate() result instead of unconditional 0.
33596 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
33597 Also, capture hook return value, either directly or via
33598 grub_children_iterate(), and propagate to caller.
33599 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
33600 grub_children_iterate): Return value is now 'int' instead of
33601 'grub_err_t'.
33602 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
33603 like a proper iterator, stopping when hooks return non-zero.
33604 (grub_devalias_iterate): Likewise.
33605
c8c08833 336062009-04-23 David S. Miller <davem@davemloft.net>
33607
33608 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
33609
f01005a8 336102009-04-22 David S. Miller <davem@davemloft.net>
33611
33612 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
33613 is larger than address_cells, use that value for address_cells too.
33614
4e8269da 33615 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
33616 IEEE1275_MAX_PATH_LEN): Define.
33617 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
33618 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
33619 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
33620 'devtype'. Explicitly NULL terminate devalias expansion.
33621
a1447506 33622 * util/sparc64/ieee1275/misc.c: New file.
33623 * util/sparc64/ieee1275/grub-setup.c: New file.
33624 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
33625 * util/sparc64/ieee1275/grub-mkimage.c: New file.
33626 * util/sparc64/ieee1275/grub-install.in: New file.
33627 * util/ieee1275/ofpath.c: New file.
33628 * util/ieee1275/devicemap.c: New file.
33629 * util/devicemap.c: New file.
33630 * util/deviceiter.c: New file.
33631 * kern/sparc64/ieee1275/init.c: New file.
33632 * include/grub/util/ofpath.h: New file.
33633 * include/grub/util/deviceiter.h: New file.
33634 * util/grub-mkdevicemap.c: Include deviceiter.h.
33635 Implement using grub_util_emit_devicemap_entry and
33636 grub_util_iterate_devices.
33637 * conf/i386-corebook.rmk: Build util/deviceiter.c and
33638 util/devicemap.c into grub-mkdevicemap
33639 * conf/i386-efi.rmk: Likewise.
33640 * conf/i386-ieee1275.rmk: Likewise.
33641 * conf/i386-pc.rmk: Likewise.
33642 * conf/powerpc-ieee1275.rmk: Likewise.
33643 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
33644 images and installation utilities. Build kernel as image
33645 instead of as elf binary. Use common rules as much as possible.
33646
7dd4a573 336472009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 33648
33649 Correct GPT definition
33650
7dd4a573 33651 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 33652 of "attrib" member
33653
c6c5219f 336542009-04-19 Felix Zielcke <fzielcke@z-51.de>
33655
33656 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
33657
0552ff9f 336582009-04-19 David S. Miller <davem@davemloft.net>
33659
33660 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
33661 (grub_rescue_cmd_linux): Rename to...
33662 (grub_cmd_linux): and fix prototype.
33663 (grub_rescue_cmd_initrd): Rename to...
33664 (grub_cmd_initrd): and fix prototype.
33665 (cmd_linux, cmd_initrd): New.
33666 (GRUB_MOD_INIT(linux)): Use grub_register_command().
33667 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
33668
d1a282fc 336692009-04-17 Pavel Roskin <proski@gnu.org>
33670
07c5039f 33671 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
33672 format.
33673 (grub_ohci_transfer): Likewise.
33674
b012002d 33675 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
33676
1bc09c35 33677 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
33678 return without a value. Fix inconsistent indentation.
33679
e0ff9126 33680 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
33681 match struct grub_fs.
33682
d1a282fc 33683 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
33684 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
33685 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33686 * commands/lspci.c (grub_lspci_iter): Likewise.
33687
a96df3f2 336882009-04-16 Bean <bean123ch@gmail.com>
33689
33690 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
33691 value.
33692
41bb0fe9 336932009-04-15 Pavel Roskin <proski@gnu.org>
33694
33695 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
33696 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
33697 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
33698 definitions.
33699
596c6970 337002009-04-15 Felix Zielcke <fzielcke@z-51.de>
33701
33702 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 33703 that no multiple data or metadata areas are supported and `Unknown
596c6970 33704 metadata header'.
33705
7dd4a573 337062009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 33707
33708 Move loader out of the kernel
33709
33710 * kern/loader.c: moved to ...
33711 * commands/boot.c: ... moved here
33712 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
33713 * commands/boot.c (grub_cmd_boot): moved here. All users updated
33714 * include/grub/kernel.h (grub_machine_fini): export
33715 * include/grub/loader.h (grub_loader_is_loaded): update declaration
33716 (grub_loader_set): likewise
33717 (grub_loader_unset): likewise
33718 (grub_loader_boot): likewise
33719 * conf/common.rmk: new module boot.mod
33720 (pkglib_MODULES): add boot.mod
33721 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
33722 (grub_emu_SOURCES): likewise
33723 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
33724 (grub_emu_SOURCES): likewise
33725 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
33726 (grub_emu_SOURCES): likewise
33727 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
33728 (grub_emu_SOURCES): likewise
33729 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
33730 (grub_emu_SOURCES): likewise
7dd4a573 33731 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
33732 (grub_emu_SOURCES): likewise
0d5d5653 33733 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 33734 (grub_emu_SOURCES): likewise
0d5d5653 33735
7dd4a573 337362009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 33737
33738 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 33739
5999d619 33740 * kern/misc.c (grub_itoa): Removed function
33741 (grub_ltoa): likewise
33742 (grub_vsprintf): use grub_lltoa
33743
7dd4a573 337442009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 33745
33746 Restore grub-emu
33747
33748 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
33749 * conf/i386-coreboot.rmk: likewise
33750 * conf/i386-ieee1275.rmk: likewise
33751 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 33752
20318222 337532009-04-15 Felix Zielcke <fzielcke@z-51.de>
33754
33755 * INSTALL: Add that `./autogen.sh' needs to be run before
33756 `./configure.'.
33757
d05f0df3 337582009-04-14 Bean <bean123ch@gmail.com>
33759
33760 * Makefile.in (pkglib_DATA): Add handler.lst.
33761 (handler.lst): New rule.
33762
33763 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
33764 * conf/i386-coreboot.rmk: Likewise.
33765 * conf/i386-ieee1275.rmk: Likewise.
33766 * conf/i386-efi.rmk: Likewise.
33767 * conf/x86_64-efi.rmk: Likewise.
33768 * conf/powerpc-ieee1275.rmk: Likewise.
33769 * conf/sparc64-ieee1275.rmk: Likewise.
33770
33771 * genhandlerlist.sh: New file.
33772
33773 * genmk.rb: Add rules to generate handler.lst.
33774
33775 * include/grub/normal.h (grub_file_getline): New function definition.
33776 (read_handler_list): Likewise.
33777 (free_handler_list): Likewise.
33778
33779 * include/grub/term.h (grub_term_register_input): Add name parameter
33780 for auto generation of handler.lst.
33781 (grub_term_register_output): Likewise.
33782
33783 * normal/handler.c: New file.
33784
33785 * normal/main.c (get_line): Renamed to grub_file_getline.
33786 (read_config_file): Use the newly renamed grub_file_getline.
33787 (read_command_list): Likewise.
33788 (read_fs_list): Likewise.
33789 (grub_normal_execute): Call read_handler_list to parse handler.lst.
33790 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
33791
33792 * term/efi/console.c (grub_console_init): Add name parameter for auto
33793 generation of handler.lst.
33794 * term/gfxterm.c: Likewise.
33795 * term/i386/pc/at_keyboard.c: Likewise.
33796 * term/i386/pc/console.c: Likewise.
33797 * term/i386/pc/serial.c: Likewise.
33798 * term/i386/pc/vesafb.c: Likewise.
33799 * term/i386/pc/vga.c: Likewise.
33800 * term/i386/pc/vga_text.c: Likewise.
33801 * term/ieee1275/ofconsole.c: Likewise.
33802 * term/usb_keyboard.c: Likewise.
33803
33c846be 338042009-04-14 Bean <bean123ch@gmail.com>
33805
33806 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
33807 properly with null character.
33808
4484e01e 338092009-04-14 Felix Zielcke <fzielcke@z-51.de>
33810
33811 * configure: Remove.
33812 * config.h.in: Likewise.
f93d668e 33813 * stamp-h.in: Likewise.
4484e01e 33814 * DISTLIST: Likewise.
33815 * conf/common.mk: Likewise.
33816 * conf/i386-coreboot.mk: Likewise.
33817 * conf/i386-efi.mk: Likewise.
33818 * conf/i386-ieee1275.mk: Likewise.
33819 * conf/i386.mk: Likewise.
33820 * conf/i386-pc.mk: Likewise.
33821 * conf/powerpc-ieee1275.mk: Likewise.
33822 * conf/sparc64-ieee1275.mk: Likewise.
33823 * conf/x86_64-efi.mk: Likewise.
33824
33825 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
33826 develop on GRUB.
33827
7dd4a573 338282009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 33829 David S. Miller <davem@davemloft.net>
33830
33831 * util/hostdisk.c (make_device_name): Fix buffer length
33832 calculations.
33833
e25b5a8c 338342009-04-14 Felix Zielcke <fzielcke@z-51.de>
33835
33836 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
33837 <sys/param.h> and <sys/sysctl.h>.
33838 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
33839 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
33840 opening the device and reset them afterwards.
33841
1f1f580c 338422009-04-13 Pavel Roskin <proski@gnu.org>
33843
33844 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
33845 Reported by John Stanley <jpsinthemix@verizon.net>
33846
7ebc2d6b 338472009-04-13 Robert Millan <rmh@aybabtu.com>
33848
33849 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 33850 that name for menuentries when appropriate.
7ebc2d6b 33851
d8ba3667 338522009-04-13 Felix Zielcke <fzielcke@z-51.de>
33853
33854 * util/grub.d/10_freebsd.in: Add a missing `fi'.
33855
cba416eb 338562009-04-13 Robert Millan <rmh@aybabtu.com>
33857
33858 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
33859 to Linux, simply abort telling the user it's no longer supported.
33860
a547a745 338612009-04-13 Felix Zielcke <fzielcke@z-51.de>
33862
33863 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 33864 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 33865 `freebsd_loadenv' only when devices.hints exist.
33866
232a769c 338672009-04-13 Pavel Roskin <proski@gnu.org>
33868
33869 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
33870
c3012039 338712009-04-13 Felix Zielcke <fzielcke@z-51.de>
33872
33873 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
33874 partition number.
33875 (grub_drive): Likewise.
33876
234022fe 338772009-04-13 David S. Miller <davem@davemloft.net>
33878
33879 * kern/sparc64/ieee1275/ieee1275.c: New file.
33880 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
33881 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
33882 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
33883 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
33884 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
33885 grub_ieee1275_alloc_physmem): Declare new exported functions.
33886
d8e1836c 33887 * include/grub/sparc64/ieee1275/loader.h: New file.
33888 * include/grub/sparc64/ieee1275/memory.h: Likewise.
33889 * include/grub/sparc64/kernel.h: Likewise.
33890 * loader/sparc64/ieee1275/linux.c: Likewise.
33891
96bd81ec 33892 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
33893 (grub_fstest_SOURCES): Likewise.
33894
6a4737e5 33895 * util/hostdisk.c (make_device_name): Do not make any assumptions
33896 about the length of drive names.
33897
1d7a72fd 33898 * kern/dl.c (grub_dl_load_file): Close file immediately when
33899 we are done using it.
33900
56bc2471 339012009-04-12 David S. Miller <davem@davemloft.net>
33902
33903 * kern/misc.c (grub_ltoa): Fix cast when handling negative
33904 values. Noticed by Pavel Roskin.
33905
df38d0bb 33906 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
33907 target compiler.
7dd4a573 33908
e382e93a 33909 * genmk.rb: Add more flexible image type specification, also
33910 pass --strip-unneeded to objcopy.
33911 * conf/i386-pc.rmk: Use *_FORMAT.
33912 * conf/i386-pc.mk: Rebuilt.
33913
f5dbbca9 33914 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
33915 (OFDISK_HASH_SZ): Define.
33916 (ofdisk_hash): New hash table.
33917 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
33918 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
33919 instead of device phandle which is not unique.
33920
91c88b12 33921 * kern/sparc64/ieee1275/init.c: Delete, replace with...
33922 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
33923 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
33924 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
33925 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
33926 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
33927 GRUB_KERNEL_MACHINE_DATA_END): Define.
33928 (grub_kernel_image_size, grub_total_module_size): Declare.
33929
5b5d4aa5 339302009-04-12 Pavel Roskin <proski@gnu.org>
33931
7dd4a573 33932 * configure.ac: Change the logic when we check for target tools.
33933 Do it when the target is specified and it's different from the
33934 specified value of the host.
5b5d4aa5 33935
c91e1793 339362009-04-11 Felix Zielcke <fzielcke@z-51.de>
33937
33938 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
33939 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
33940 GNU/kFreeBSD. Check if a device is a character device. Use
33941 DIOCGMEDIASIZE to get the size.
33942 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
33943 support for GNU/kFreeBSD.
33944 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
33945 is a character device instead of a block device. Add support for
33946 FreeBSD device names.
33947
33948 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
33949 is a character device instead of a block device.
33950
33951 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
33952 is a character device instead of a block device.
33953
b1ac8644 339542009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
33955
33956 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
33957 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
33958 FreeBSD. Check if a device is a character device. Use
33959 DIOCGMEDIASIZE to get the size.
33960 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
33961 support for FreeBSD.
33962 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
33963 is a character device instead of a block device. Add support for
33964 FreeBSD device names.
33965
33966 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
33967 a character device instead of a block device.
33968 (grub_util_check_char_device): New function.
33969
33970 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
33971 a character device instead of a block device.
33972
33973 * include/grub/util/getroot.h (grub_util_check_char_device): New
33974 prototype.
33975
a3f7515a 339762009-04-11 David S. Miller <davem@davemloft.net>
33977
33978 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
33979 static libgcc.
33980 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
33981 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
33982 function, if present.
33983 (__bswapdi2): Likewise.
33984
0d44993d 33985 * include/grub/sparc64/ieee1275/boot.h: New file.
33986 * boot/sparc64/ieee1275/boot.S: Likewise.
33987 * boot/sparc64/ieee1275/diskboot.S: Likewise.
33988
ed3d2bc2 33989 * kern/misc.c (grub_ltoa): New function.
33990 (grub_vsprintf): Use it to format 'long' integers.
33991
d3bfb59c 339922009-04-10 David S. Miller <davem@davemloft.net>
33993
33994 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
33995 slots are of type grub_ieee1275_cell_t.
33996 (grub_nand_read): Likewise.
33997 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
33998 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
33999 macros are used to compare values in arg/ret block of the call.
34000 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34001 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
34002 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
34003 grub_ieee1275_instance_to_path, grub_ieee1275_write,
34004 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
34005 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
34006 grub_ieee1275_close, grub_ieee1275_set_property,
34007 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
34008 grub_ieee1275_cell_t.
34009 * kern/ieee1275/openfw.c (grub_map): Likewise.
34010 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
34011 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
34012
450e2238 34013 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
34014 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
34015 (grub_devalias_iterate): Likewise.
34016
7dd4a573 340172009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 34018
34019 UFS improvements
34020
34021 * fs/ufs.c (INODE_NBLOCKS): new definition
34022 (struct grub_ufs_dirent): added fields for non-BSD dirents
34023 (grub_ufs_get_file_block): fixed double indirect handling
34024 (grub_ufs_lookup_symlink): use more robust way to determine whether
34025 symlink is inline
34026 (grub_ufs_find_file): support for non-BSD dirents
34027 (grub_ufs_dir): support for non-BSD dirents
34028
e7e6862a 340292009-04-10 Bean <bean123ch@gnail.com>
34030
34031 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
34032 attribute, otherwise the size would be wrong for i386 platform.
34033
34034 * include/grub/pci.h (grub_pci_read_word): New inline function.
34035 (grub_pci_read_byte): Likewise.
34036 (grub_pci_write): Likewise.
34037 (grub_pci_write_word): Likewise.
34038 (grub_pci_write_byte): Likewise.
34039
34040 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
34041
34042 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
34043 (find_framebuf): Scan pci to locate the frame buffer address.
34044
34045 * commands/efi/fixvideo.c: New file.
34046
34047 * commands/efi/loadbios.c: Likewise.
34048
34049 * commands/memrw.c: Likewise.
34050
34051 * util/grub-dumpbios.in: Likewise.
34052
34053 * conf/common.rmk (grub-dumpbios): New utility.
34054 (pkglib_MODULES): New module memrw.mod.
34055 (memrw_mod_SOURCE): New macro.
34056 (memrw_mod_CFLAGS): Likewise.
34057 (memrw_mod_LDFLAGS): Likewise.
34058
7dd4a573 34059 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34060 fixvideo.mod.
34061 (loadbios_mod_SOURCE): New macro.
34062 (loadbios_mod_CFLAGS): Likewise.
34063 (loadbios_mod_LDFLAGS): Likewise.
34064 (fixvideo_mod_SOURCE): Likewise.
34065 (fixvideo_mod_CFLAGS): Likewise.
34066 (fixvideo_mod_LDFLAGS): Likewise.
34067
7dd4a573 34068 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34069 fixvideo.mod.
34070 (loadbios_mod_SOURCE): New macro.
34071 (loadbios_mod_CFLAGS): Likewise.
34072 (loadbios_mod_LDFLAGS): Likewise.
34073 (fixvideo_mod_SOURCE): Likewise.
34074 (fixvideo_mod_CFLAGS): Likewise.
34075 (fixvideo_mod_LDFLAGS): Likewise.
34076
af63ada2 340772009-04-08 Felix Zielcke <fzielcke@z-51.de>
34078
34079 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
34080
c2cdde70 340812009-04-07 David S. Miller <davem@davemloft.net>
34082
34083 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
34084 support for R_SPARC_OLO10 relocations. Fix compile warning for
34085 R_SPARC_WDISP30 case.
ea3f72cf 34086 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 34087
761319cf 340882009-04-06 Pavel Roskin <proski@gnu.org>
34089
1007d1f5 34090 * include/grub/misc.h (ARRAY_SIZE): New macro.
34091 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
34092 New macro.
34093 * loader/i386/linux.c (allocate_pages): Use free_pages().
34094 (grub_linux_unload): Don't use free_pages().
34095 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
34096 wrong index. Treat all other modes as text modes.
34097 (grub_cmd_linux): Initialize vid_mode unconditionally to
34098 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
34099
761319cf 34100 * commands/help.c (print_command_help): Use cmd->prio, not
34101 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
34102
ea761d40 341032009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 34104
ea761d40 34105 Parttool
34106
34107 * parttool/pcpart.c: new file
34108 * commands/parttool.c: likewise
34109 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
34110 (parttool_mod_SOURCES): new variable
34111 (parttool_mod_CFLAGS): likewise
34112 (parttool_mod_LDFLAGS): likewise
34113 (pcpart_mod_SOURCES): likewise
34114 (pcpart_mod_CFLAGS): likewise
34115 (pcpart_mod_LDFLAGS): likewise
7dd4a573 34116 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 34117 and parttool/pcpart.c
34118 * conf/i386-efi.rmk: likewise
34119 * conf/i386-ieee1275.rmk: likewise
34120 * conf/i386-pc.rmk: likewise
34121 * conf/powerpc-ieee1275.rmk: likewise
34122 * conf/sparc64-ieee1275.rmk: likewise
34123 * conf/x86_64-ieee1275.rmk: likewise
34124
05aaebfb 341252009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34126
34127 Support for mtime and further expandability of dir command
34128
34129 * include/grub/lib/datetime.h: moved to ...
7dd4a573 34130 * include/grub/datetime.h: ... moved here and added
05aaebfb 34131 declaration of grub_unixtime2datetime. All users updated
7dd4a573 34132 * include/grub/fs.h: new syntax for dir and mtime functions in
34133 struct grub_fs
05aaebfb 34134 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
34135 and GRUB_FSHELP_FLAGS_MASK
34136 * commands/ls.c (grub_ls_list_files): Write mtime in long format
34137 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
34138 (grub_ext2_mtime): new function
34139 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
34140 (grub_hfsplus_mtime): new function
34141 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
34142 (GRUB_UFS_ATTR_FILE): likewise
34143 (GRUB_UFS_ATTR_LNK): likewise
34144 (struct grub_ufs_sblock): new fields mtime
34145 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
34146 all users updated
34147 (grub_ufs_dir): mtime support
34148 (grub_ufs_mtime): new function
34149 * fs/affs.c (grub_affs_dir): use new dir syntax
34150 * fs/afs.c (grub_afs_dir): likewise
34151 * fs/cpio.c (grub_cpio_dir): likewise
34152 * fs/fat.c (grub_fat_find_dir): likewise
34153 * fs/hfs.c (grub_hfs_dir): likewise
34154 * fs/iso9660.c (grub_iso9660_dir): likewise
34155 * fs/jfs.c (grub_jfs_dir): likewise
34156 * fs/minix.c (grub_minix_dir): likewise
34157 * fs/ntfs.c (grub_ntfs_dir): likewise
34158 * fs/reiserfs.c (grub_reiserfs_dir): likewise
34159 * fs/sfs.c (grub_sfs_dir): likewise
34160 * fs/xfs.c (grub_xfs_dir): likewise
34161 * util/hostfs.c (grub_hostfs_dir): likewise
34162 * lib/datetime.c: moved to ...
34163 * normal/datetime.c: ... moved here
34164 (grub_unixtime2datetime): new function
34165 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 34166 * normal/completion.c (iterate_dir): use new dir syntax
34167 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 34168 last modification time of a volume
7dd4a573 34169 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 34170 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 34171 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 34172 (normal_mod_SOURCES): likewise
34173 (datetime_mod_SOURCES): Removed lib/datetime.c
34174 * conf/i386-efi.rmk: likewise
7dd4a573 34175 * conf/i386-ieee1275.rmk: likewise
05aaebfb 34176 * conf/i386-pc.rmk: likewise
34177 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34178 * conf/sparc64-ieee1275.rmk: likewise
34179 * conf/x86_64-efi.rmk: likewise
05aaebfb 34180
8a7e1a14 341812009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34182
34183 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 34184
34185 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 34186 on grub_fat_find_dir
34187 (grub_fat_find_dir): use grub_fat_iterate_dir
34188 (grub_fat_label): likewise
34189
04186a9c 341902009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
34191
7dd4a573 34192 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 34193 and command.h
34194 remove extraneous kernel_elf_HEADERS
34195
da4c0bb6 341962009-04-04 Bean <bean123ch@gnail.com>
34197
34198 * include/grub/util/misc.h: Add dummy function fsync for mingw.
34199
34200 * util/misc.c: Likewise.
34201
54ad9555 342022009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34203
34204 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
34205 instead of grub_printf.
34206
7a6bf9f2 342072009-04-03 Robert Millan <rmh@aybabtu.com>
34208
34209 * loader/i386/linux.c (grub_linux_setup_video): Fill
34210 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
34211 values from `mode info' structure instead of hardcoded
34212 values.
34213
3fcc2083 342142009-04-01 Pavel Roskin <proski@gnu.org>
34215
34216 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
34217 unused now.
34218 * genmk.rb: Likewise.
34219 * configure.ac: Likewise.
34220
5ec9740b 342212009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
34222
34223 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
34224 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
34225
5270cec8 342262009-04-01 David S. Miller <davem@davemloft.net>
34227
34228 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 34229 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 34230 (grub_setjmp): Mark with 'returns_twice' attribute.
34231 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
34232 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
34233 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
34234
9c3dd854 342352009-04-01 Robert Millan <rmh@aybabtu.com>
34236
34237 Reapply fix from 2008-07-28 which was accidentally reverted; also
34238 perform the same fix to a similar check in same function.
34239
34240 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34241 with the same number are found, just use issue a warning with
34242 grub_dprintf(), as this error has been reported to be non-fatal.
34243
0d818b7e 342442009-03-31 Pavel Roskin <proski@gnu.org>
34245
34246 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
34247 for cross-compilation.
34248
95646d92 342492009-03-30 Robert Millan <rmh@aybabtu.com>
34250
34251 Fix i386-ieee1275 build.
34252
34253 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
34254 Remove declaration.
34255
6a003ed1 342562009-03-30 Pavel Roskin <proski@gnu.org>
34257
34258 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
34259 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
34260 zero-terminated, rely only on the strlen value. Fix comparison
34261 of strings differing in length.
34262
92f33540 342632009-03-30 Robert Millan <rmh@aybabtu.com>
34264
34265 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
34266 checking for abi version. Improve error messages on BIOS to notify
34267 user about `linux16' command.
34268
a8c48fd5 342692009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
34270
f968172e 34271 Leak fixes
a8c48fd5 34272
f968172e 34273 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
34274 in case of collision
34275 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 34276
9c323f09 342772009-03-29 Robert Millan <rmh@aybabtu.com>
34278
34279 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
34280 set `vid_mode' accordingly.
34281 (grub_linux_boot): Process `vid_mode' and set video mode.
34282
ae68f423 342832009-03-29 Robert Millan <rmh@aybabtu.com>
34284
34285 * util/grub.d/10_linux.in (linux_entry): New function.
34286 Factorize generation of Linux boot entries.
34287
5709cfc4 342882009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
34289
34290 Make the format of Environment Block plain text. The boot loader
34291 part is not tested well yet.
7dd4a573 34292
5709cfc4 34293 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
34294 (buffer): Removed.
34295 (envblk): Likewise.
34296 (usage): Remove "info" and "clear". Add "unset". Update the
34297 description of "set", as this does not delete variables any
34298 longer.
34299 (create_envblk_file): Complete rewrite.
34300 (open_envblk_file): Likewise.
34301 (cmd_info): Removed.
34302 (cmd_list): Likewise.
34303 (cmd_set): Likewise.
34304 (cmd_clear): Likewise.
34305 (list_variables): New function.
34306 (write_envblk): Likewise.
34307 (set_variables): Likewise.
34308 (unset_variables): Likewise.
34309 (main): Complete rewrite.
34310
34311 * commands/loadenv.c (buffer): Removed.
34312 (envblk): Likewise.
34313 (open_envblk_file): New function.
34314 (read_envblk_file): Complete rewrite.
34315 (grub_cmd_load_env): Likewise.
34316 (grub_cmd_list_env): Likewise.
34317 (struct blocklist): New struct.
34318 (free_blocklists): New function.
34319 (check_blocklists): Likewise.
34320 (write_blocklists): Likewise.
34321 (grub_cmd_save_env): Complete rewrite.
34322
34323 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
34324 a plain text signature.
34325 (GRUB_ENVBLK_MAXLEN): Removed.
34326 (struct grub_envblk): Complete rewrite.
34327 (grub_envblk_find): Removed.
34328 (grub_envblk_insert): Likewise.
34329 (grub_envblk_open): New prototype.
34330 (grub_envblk_set): Likewise.
34331 (grub_envblk_delete): Put const to VALUE.
34332 (grub_envblk_iterate): Put const to NAME and VALUE.
34333 (grub_envblk_close): New prototype.
34334 (grub_envblk_buffer): New inline function.
34335 (grub_envblk_size): Likewise.
34336
34337 * lib/envblk.c: Include grub/mm.h.
34338 (grub_env_find): Removed.
34339 (grub_envblk_open): New function.
34340 (grub_envblk_close): Likewise.
34341 (escaped_value_len): Likewise.
34342 (find_next_line): Likewise.
34343 (grub_envblk_insert): Removed.
34344 (grub_envblk_set): New function.
34345 (grub_envblk_delete): Complete rewrite.
34346 (grub_envblk_iterate): Likewise.
34347
a9368fd3 343482009-03-28 Robert Millan <rmh@aybabtu.com>
34349
34350 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
34351 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
34352 variables. Use 16-bit loader.
34353 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
34354 loader.
34355 * kern/i386/loader.S (grub_linux_boot): Rename to ...
34356 (grub_linux16_boot): ... this. Update all users.
34357 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
34358 (grub_linux_boot): ... this. Update all users.
34359
34360 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
34361 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
34362 commands to `linux16' and `initrd16'.
34363 (GRUB_MOD_FINI(linux)): Rename to ...
34364 (GRUB_MOD_FINI(linux16)): ... this.
34365
e4dd5a7e 343662009-03-24 Pavel Roskin <proski@gnu.org>
34367
34368 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
34369 not just for compilation.
34370
c04d6e05 343712009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
34372
34373 Move multiboot helper out of kernel
34374
34375 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
34376 `loader/i386/multiboot_helper.S'.
34377 * conf/i386-coreboot.rmk: Likewise
34378 * conf/i386-ieee1275.rmk: Likewise
34379
34380 * kern/i386/loader.S: Move multiboot helpers from here...
34381 * loader/i386/multiboot_helper.S: ...moved here
34382 * include/grub/i386/loader.h: Move declarations of multiboot
34383 helpers from here...
34384 * include/grub/i386/multiboot.h: ...moved here
34385 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
34386
42a5b3fc 343872009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34388
34389 * kern/env.c (grub_env_context_open): Added an argument to specify
34390 whether a new context inherits exported variables from current
34391 one. This is useful when making a sandbox to interpret a config
34392 file.
34393 All callers updated.
34394
34395 * include/grub/env.h (grub_env_context_open): Updated the prototype.
34396
b28bbc4e 343972009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34398
34399 * kern/env.c (grub_env_context_close): Fix memory leaks.
34400
f04f02e4 344012009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34402
34403 * normal/main.c (grub_normal_execute): Added an argument
34404 BATCH to specify if an interactive interface should be provided
34405 after reading a config file.
34406 All callers updated.
34407 (read_command_list): Prevent being executed twice.
34408 (read_fs_list): Likewise.
34409
42a5b3fc 34410 * include/grub/normal.h (grub_normal_execute): Updated the
34411 prototype.
f04f02e4 34412
41473ac2 344132009-03-22 Pavel Roskin <proski@gno.org>
34414
fbc00b0c 34415 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
34416 _start.
34417 * kern/i386/pc/startup.S: Likewise.
34418 * kern/i386/efi/startup.S: Likewise.
34419 * kern/i386/ieee1275/startup.S: Likewise.
34420 * kern/i386/coreboot/startup.S: Likewise.
34421 * kern/x86_64/efi/startup.S: Likewise.
34422
41473ac2 34423 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
34424 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
34425 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
34426
2274cc8f 344272009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
34428
34429 Bugfixes in multiboot for bugs uncovered by solaris kernel.
34430
34431 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
34432 limit detection.
34433 Use vaddr of correct segment for entry_point.
34434
b1b797cb 344352009-03-21 Bean <bean123ch@gmail.com>
34436
34437 * commands/blocklist.c: Add include file <grub/command.h>, remove
34438 <grub/normal.h> and <grub/arg.h>.
34439 (grub_cmd_blocklist): Use the new command interface.
34440 (GRUB_MOD_INIT): Likewise.
34441 (GRUB_MOD_FINI): Likewise.
34442 * commands/boot.c: Likewise.
34443 * commands/cat.c: Likewise.
34444 * commands/cmp.c: Likewise.
34445 * commands/configfile.c: Likewise.
34446 * commands/crc.c: Likewise.
34447 * commands/echo.c: Likewise.
34448 * commands/halt.c: Likewise.
34449 * commands/handler.c: Likewise.
34450 * commands/hdparm.c: Likewise.
34451 * commands/help.c: Likewise.
34452 * commands/hexdump.c: Likewise.
34453 * commands/loadenv.c: Likewise.
34454 * commands/ls.c: Likewise.
34455 * commands/lsmmap.c: Likewise.
34456 * commands/lspci.c: Likewise.
34457 * commands/loadenv.c: Likewise.
34458 * commands/read.c: Likewise.
34459 * commands/reboot.c: Likewise.
34460 * commands/search.c: Likewise.
34461 * commands/sleep.c: Likewise.
34462 * commands/test.c: Likewise.
34463 * commands/usbtest.c: Likewise.
34464 * commands/videotest.c: Likewise.
34465 * commands/i386/cpuid.c: Likewise.
34466 * commands/i386/pc/halt.c: Likewise.
34467 * commands/i386/pc/play.c: Likewise.
34468 * commands/i386/pc/pxecmd.c: Likewise.
34469 * commands/i386/pc/vbeinfo.c: Likewise.
34470 * commands/i386/pc/vbetest.c: Likewise.
34471 * commands/ieee1275/suspend.c: Likewise.
34472 * disk/loopback.c: Likewise.
34473 * font/font_cmd.c: Likewise.
34474 * hello/hello.c: Likewise.
34475 * loader/efi/appleloader.c: Likewise.
34476 * loader/efi/chainloader.c: Likewise.
34477 * loader/i386/bsd.c: Likewise.
34478 * loader/i386/efi/linux.c: Likewise.
34479 * loader/i386/ieee1275/linux.c: Likewise.
34480 * loader/i386/linux.c: Likewise.
34481 * loader/i386/pc/chainloader.c: Likewise.
34482 * loader/i386/pc/linux.c: Likewise.
34483 * loader/powerpc/ieee1275/linux.c: Likewise.
34484 * loader/multiboot_loader.c: Likewise.
34485 * term/gfxterm.c: Likewise.
34486 * term/i386/pc/serial.c: Likewise.
34487 * term/terminfo.c: Likewise.
34488
34489 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
34490 * term/i386/pc/vga.c: Likewise.
34491 * video/readers/jpeg.c: Likewise.
34492 * video/readers/png.c: Likewise.
34493 * video/readers/tga.c: Likewise.
34494
34495 * util/grub-fstest (cmd_loopback): Removed.
34496 (cmd_blocklist): Likewise.
34497 (cmd_ls): Likewise.
34498 (grub_register_command): Likewise.
34499 (grub_unregister_command): Likewise.
34500 (execute_command): Use grub_command_find to locate command and execute
34501 it.
34502
34503 * include/grub/efi/chainloader.h: Removed.
34504 * loader/efi/chainloader_normal.c: Likewise.
34505 * loader/i386/bsd_normal.c: Likewise.
34506 * loader/i386/pc/chainloader_normal.c: Likewise.
34507 * loader/i386/pc/multiboot_normal.c: Likewise.
34508 * loader/linux_normal.c: Likewise.
34509 * loader/multiboot_loader_normal.c: Likewise.
34510 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34511
34512 * gencmdlist.sh: Scan new registration command grub_register_extcmd
34513 and grub_register_command_p1.
34514
34515 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
34516 kern/command.c, lib/arg.c and commands/extcmd.c.
34517 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
34518 (minicmd_mod_SOURCES): New variable.
34519 (minicmd_mod_CFLAGS): Likewise.
34520 (minicmd_mod_LDFLAGS): Likewise.
34521 (extcmd_mod_SOURCES): Likewise.
34522 (extcmd_mod_CFLAGS): Likewise.
34523 (extcmd_mod_LDFLAGS): Likewise.
34524 (boot_mod_SOURCES): Removed.
34525 (boot_mod_CFLAGS): Likewise.
34526 (boot_mod_LDFLAGS): Likewise.
34527
34528 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
34529 kern/corecmd.c.
34530 (kernel_img_HEADERS): Add command.h.
34531 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
34532 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
34533 and lib/arg.c.
34534 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
34535 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
34536 remove the corresponding normal mode command.
34537 (normal_mod_SOURCES): Remove normal/arg.c.
34538 * conf/i386-coreboot.rmk: Likewise.
34539 * conf/i386-efi.rmk: Likewise.
34540 * conf/i386-ieee1275.rmk: Likewise.
34541 * conf/powerpc-ieee1275.rmk: Likewise.
34542 * conf/x86_64-efi.rmk: Likewise.
34543
34544 * include/grub/arg.h: Move from here ...
34545 * include/grub/lib/arg.h: ... to here.
34546
34547 * normal/arg.c: Move from here ...
34548 * lib/arg.c: ... to here.
34549
34550 * commands/extcmd.c: New file.
34551 * commands/minicmd.c: Likewise.
34552 * include/grub/command.h: Likewise.
34553 * include/grub/extcmd.h: Likewise.
34554 * kern/command.c: Likewise.
34555 * kern/corecmd.c: Likewise.
34556
34557 * kern/list.c (grub_list_iterate): Return int instead of void.
34558 (grub_list_insert): New function.
34559 (grub_prio_list_insert): Likewise.
34560
34561 * kern/rescue.c (grub_rescue_command): Removed.
34562 (grub_rescue_command_list): Likewise.
34563 (grub_rescue_register_command): Likewise.
34564 (grub_rescue_unregister_command): Likewise.
34565 (grub_rescue_cmd_boot): Move to minicmd.c
34566 (grub_rescue_cmd_help): Likewise.
34567 (grub_rescue_cmd_info): Likewise.
34568 (grub_rescue_cmd_boot): Likewise.
34569 (grub_rescue_cmd_testload): Likewise.
34570 (grub_rescue_cmd_dump): Likewise.
34571 (grub_rescue_cmd_rmmod): Likewise.
34572 (grub_rescue_cmd_lsmod): Likewise.
34573 (grub_rescue_cmd_exit): Likewise.
34574 (grub_rescue_print_devices): Moved to corecmd.c.
34575 (grub_rescue_print_files): Likewise.
34576 (grub_rescue_cmd_ls): Likewise.
34577 (grub_rescue_cmd_insmod): Likewise.
34578 (grub_rescue_cmd_set): Likewise.
34579 (grub_rescue_cmd_unset): Likewise.
7d074e3c 34580 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 34581 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 34582 commands, remove grub_rescue_register_command calls.
b1b797cb 34583
7d074e3c 34584 * normal/command.c (grub_register_command): Removed.
b1b797cb 34585 (grub_unregister_command): Likewise.
34586 (grub_command_find): Likewise.
34587 (grub_iterate_commands): Likewise.
34588 (rescue_command): Likewise.
34589 (export_command): Moved to corecmd.c.
34590 (set_command): Removed.
34591 (unset_command): Likewise.
34592 (insmod_command): Likewise.
34593 (rmmod_command): Likewise.
34594 (lsmod_command): Likewise.
34595 (grub_command_init): Likewise.
34596
34597 * normal/completion.c (iterate_command): Use cmd->prio to check for
34598 active command.
34599 (complete_arguments): Use grub_extcmd_t structure to find options.
34600 (grub_normal_do_completion): Change function grub_iterate_commands to
34601 grub_command_iterate.
34602
34603 * normal/execute.c (grub_script_execute_cmd): No need to parse
34604 argument here.
34605
34606 * normal/main.c (grub_dyncmd_dispatcher): New function.
34607 (read_command_list): Register unload commands as dyncmd.
34608 (grub_cmd_normal): Use new command interface, register rescue,
34609 unregister normal at entry, register normal, unregister rescue at exit.
34610
34611 * include/grub/list.h (grub_list_test_t): New type.
34612 (grub_list_iterate): Return int instead of void.
34613 (grub_list_insert): New function.
34614 (GRUB_AS_NAMED_LIST_P): New macro.
34615 (GRUB_AS_PRIO_LIST): Likewise.
34616 (GRUB_AS_PRIO_LIST_P): Likewise.
34617 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
34618 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
34619 (grub_prio_list): New structure.
34620 (grub_prio_list_insert): New function.
34621 (grub_prio_list_remove): New inline function.
34622
34623 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
34624 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
34625 (GRUB_COMMAND_FLAG_MENU): Likewise.
34626 (GRUB_COMMAND_FLAG_BOTH): Likewise.
34627 (GRUB_COMMAND_FLAG_TITLE): Likewise.
34628 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
34629 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
34630 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
34631 (grub_command): Likewise.
34632 (grub_register_command): Likewise.
34633 (grub_command_find): Likewise.
34634 (grub_iterate_commands): Likewise.
34635 (grub_command_init): Likewise.
34636 (grub_arg_parse): Likewise.
34637 (grub_arg_show_help): Likewise.
34638
34639 * include/grub/rescue.h (grub_rescue_register_command): Removed.
34640 (grub_rescue_unregister_command): Likewise.
34641
34642 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
34643 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
34644 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
34645
34646 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
34647 grub_rescue_cmd_initrd.
34648 * include/grub/i386/loader.h: Likewise.
34649 * include/grub/x86_64/loader.h: Likewise.
34650
34651 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
34652
1f4147aa 346532009-03-21 Bean <bean123ch@gmail.com>
34654
34655 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
34656 instead of stat in mingw environment.
34657
34658 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
34659
34660 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
34661
34662 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
34663 AC_CONFIG_LINKS.
34664
2156d5ba 346652009-03-21 Bean <bean123ch@gmail.com>
34666
34667 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
34668 out of range error.
34669
177b82ca 346702009-03-18 Michel Dänzer <michel@daenzer.net>
34671
34672 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
34673 checking inode flags for EXT4_EXTENTS_FLAG.
34674
14aad807 346752009-03-18 Robert Millan <rmh@aybabtu.com>
34676
34677 * loader/i386/linux.c: Include `<grub/video.h>' and
34678 `<grub/i386/pc/vbe.h>'..
34679 (grub_linux_setup_video): New function. Loosely based on the EFI one.
34680 (grub_linux32_boot): Attempt to configure video settings with
34681 grub_linux_setup_video().
34682 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
34683 to avoid grub_console_fini() which would step out of graphical mode
34684 unconditionally.
34685
8cf83a27 346862009-03-14 Robert Millan <rmh@aybabtu.com>
34687
34688 Fix build on powerpc.
34689 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
34690
40164e75 346912009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
34692
34693 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
34694 background image command.
34695
c58bc32a 346962009-03-12 Colin D Bennett <colin@gibibit.com>
34697
34698 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
34699 (grub_gfxterm_putchar): Extract pairs of identical calls to
34700 draw_cursor out of conditional blocks.
34701
5415144a 347022009-03-11 Pavel Roskin <proski@gnu.org>
34703
34704 * fs/hfs.c (grub_hfs_strncasecmp): New function.
34705 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
34706
6394042e 347072009-03-11 Robert Millan <rmh@aybabtu.com>
34708
34709 * loader/i386/multiboot_elfxx.c
34710 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
34711
b7b50e5f 347122009-03-11 Felix Zielcke <fzielcke@z-51.de>
34713
34714 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
34715 `kern/handler.c'.
34716
1ca7fc96 347172009-03-11 Robert Millan <rmh@aybabtu.com>
34718
34719 * loader/i386/multiboot.c (code_size): New variable.
34720 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 34721 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 34722 4-byte alignment to MBI and others by increasing
7d074e3c 34723 `boot_loader_name_length' appropriately.
1ca7fc96 34724
34725 * loader/i386/multiboot_elfxx.c
34726 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
34727
a83ea1d2 347282009-03-09 Felix Zielcke <fzielcke@z-51.de>
34729
34730 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
34731 `fs/ext2.c'.
34732
aa9f3bff 347332009-03-08 Robert Millan <rmh@aybabtu.com>
34734
34735 Make loader/i386/linux.c usable on i386-pc again.
34736
34737 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
34738 memory to heap.
34739 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
34740 `#error' stanza.
34741
d8b3b60e 347422009-03-07 Bean <bean123ch@gmail.com>
34743
34744 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
34745 allocation.
34746
b362c9e9 347472009-03-06 Robert Millan <rmh@aybabtu.com>
34748
34749 Fix display issue on terminals with screen size other than 80x25
34750 (e.g. gfxterm with resolution higher than 640x480).
34751
34752 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 34753 position relative to the center of the terminal instead of relying
b362c9e9 34754 on a hardcoded offset.
34755
9304eef1 347562009-03-04 Robert Millan <rmh@aybabtu.com>
34757
34758 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
34759 installed.
34760
34761 * Makefile.in (host_kernel): New variable.
34762 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
34763 scripts instead of just the windows one.
34764 * configure.ac: Initialize and AC_SUBST `host_kernel'.
34765
eabc95fb 347662009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 34767
34768 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
34769 `kern/handler.c'.
34770 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34771 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34772 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34774 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34775 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34776
ceb1223c 347772009-03-04 Felix Zielcke <fzielcke@z-51.de>
34778
34779 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
34780 or if there's no space for the disk label and print the partition number on a
34781 invalid magic.
34782
4910684a 347832009-03-04 Felix Zielcke <fzielcke@z-51.de>
34784
34785 * util/misc.c: Include <time.h>.
34786 (grub_millisleep): New function.
34787
7e9ca17a 347882009-03-04 Bean <bean123ch@gmail.com>
34789
34790 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
34791 another option -mno-red-zone.
34792
34793 * commands/handler.c: Change module description.
34794
34795 * kern/handler.c: Add missing space at the end of description line.
34796
34797 * kern/list.c: Likewise.
34798
f501677c 347992009-03-03 Robert Millan <rmh@aybabtu.com>
34800
34801 Move more components to the relocation area, and fix mbi pointer
34802 handling to use the destination rather than the origin (thanks to
34803 Vladimir Serbinenko for spotting).
34804
34805 * loader/i386/multiboot.c (mbi_dest): New variable.
34806 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
34807 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
34808 relocation area.
34809
9902d047 348102009-03-01 Bean <bean123ch@gmail.com>
34811
50fb7002 34812 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 34813 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
34814 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
34815 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
34816
34817 * loader/i386/efi/linux.c (acpi_guid): New variable.
34818 (acpi_guid): Likewise.
34819 (EBDA_SEG_ADDR): New constant.
34820 (LOW_MEM_ADDR): Likewise.
34821 (FAKE_EBDA_SEG): Likewise.
34822 (fake_bios_data): New function.
34823 (grub_linux_boot): Call fake_bios_data.
34824
71b9f361 348252009-03-01 Bean <bean123ch@gmail.com>
34826
34827 * commands/terminal.c: Removed.
34828
34829 * commands/handler.c: New file.
34830
34831 * include/grub/list.h: Likewise.
34832
34833 * include/grub/handler.h: Likewise.
34834
34835 * kern/list.c: Likewise.
34836
34837 * kern/handler.c: Likewise.
34838
34839 * kern/term.h: Include header file <grub/handler.h>.
34840 (grub_term_input): Move next field to the beginning.
34841 (grub_term_output): Likewise.
34842 (grub_term_input_class): New variable.
34843 (grub_term_output_class): Likewise.
34844 (grub_term_register_input): Changed to inline function.
34845 (grub_term_register_output): Likewise.
34846 (grub_term_unregister_input): Likewise.
34847 (grub_term_unregister_output): Likewise.
34848 (grub_term_set_current_input): Likewise.
34849 (grub_term_set_current_output): Likewise.
34850 (grub_term_get_current_input): Likewise.
34851 (grub_term_get_current_output): Likewise.
34852 (grub_term_iterate_input): Removed.
34853 (grub_term_iterate_output): Likewise.
34854
34855 * kern/term.c (grub_term_list_input): Removed.
34856 (grub_term_list_output): Likewise.
34857 (grub_term_input_class): New variable.
34858 (grub_term_output_class): Likewise.
50fb7002 34859 (grub_cur_term_input): Change variable as macro.
71b9f361 34860 (grub_cur_term_output): Likewise.
34861 (grub_term_register_input): Removed.
34862 (grub_term_register_output): Likewise.
34863 (grub_term_unregister_input): Likewise.
34864 (grub_term_unregister_output): Likewise.
34865 (grub_term_set_current_input): Likewise.
34866 (grub_term_set_current_output): Likewise.
34867 (grub_term_iterate_input): Likewise.
34868 (grub_term_iterate_output): Likewise.
34869 (grub_term_get_current_input): Likewise.
34870 (grub_term_get_current_output): Likewise.
34871
34872 * util/grub-editenv.c: Include header file <grub/handler.h>.
34873 (grub_term_get_current_input): Removed.
34874 (grub_term_get_current_output): Likewise.
34875 (grub_term_input_class): New variable.
50fb7002 34876 (grub_term_output_class): Likewise.
71b9f361 34877
34878 * util/grub-fstest.c (grub_term_get_current_input): Removed.
34879 (grub_term_get_current_output): Likewise.
34880 (grub_term_input_class): New variable.
50fb7002 34881 (grub_term_output_class): Likewise.
71b9f361 34882
34883 * util/grub-probe.c (grub_term_get_current_input): Removed.
34884 (grub_term_get_current_output): Likewise.
34885 (grub_term_input_class): New variable.
50fb7002 34886 (grub_term_output_class): Likewise.
71b9f361 34887
34888 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
34889 (grub_term_get_current_output): Likewise.
34890 (grub_term_input_class): New variable.
50fb7002 34891 (grub_term_output_class): Likewise.
71b9f361 34892
34893 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
34894 (terminal_mod_SOURCES): Likewise.
34895 (terminal_mod_CFLAGS): Likewise.
34896 (terminal_mod_LDFLAGS): Likewise.
34897
34898 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
34899 handler.c.
34900 (kernel_img_SOURCES): Add list.c and handler.c.
34901 (kernel_img_HEADERS): Add list.h and handler.h.
34902
34903 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
34904 handler.c.
34905 (kernel_mod_SOURCES): Add list.c and handler.c.
34906 (kernel_mod_HEADERS): Add list.h and handler.h.
34907
34908 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
34909 handler.c.
34910 (kernel_elf_SOURCES): Add list.c and handler.c.
34911 (kernel_elf_HEADERS): Add list.h and handler.h.
34912
34913 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34914 handler.c.
34915 (kernel_elf_SOURCES): Add list.c and handler.c.
34916 (kernel_elf_HEADERS): Add list.h and handler.h.
34917
34918 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
34919 handler.c.
34920 (kernel_mod_SOURCES): Add list.c and handler.c.
34921 (kernel_mod_HEADERS): Add list.h and handler.h.
34922
34923 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34924 handler.c.
34925 (kernel_elf_SOURCES): Add list.c and handler.c.
34926 (kernel_elf_HEADERS): Add list.h and handler.h.
34927
8a31787f 349282009-02-27 Robert Millan <rmh@aybabtu.com>
34929
34930 Factorize elf32 / elf64 code in Multiboot loader. This will
34931 prevent it from getting out of sync again.
34932
34933 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
34934 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
34935 grub_multiboot_load_elf64): Move from here ...
34936 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
34937 grub_multiboot_load_elf): ... to here (new file).
34938
51cd3dfc 349392009-02-27 Robert Millan <rmh@aybabtu.com>
34940
34941 * util/grub.d/10_linux.in: Rename "single-user mode" to
34942 "recovery mode".
34943
6e8c9c3a 349442009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
34945
34946 Don't leak in SCSI code.
34947 * disk/scsi.c (grub_scsi_close): free `scsi'.
34948
4b6bf4f9 349492009-02-27 Robert Millan <rmh@aybabtu.com>
34950
34951 * loader/i386/pc/multiboot.c: Move from here ...
34952 * loader/i386/multiboot.c: ... to here. Update all users.
34953
b9413424 349542009-02-27 Robert Millan <rmh@aybabtu.com>
34955
34956 Patch from Alexandre Bique <bique.alexandre@gmail.com>
34957 * util/i386/pc/grub-setup.c (setup): Fix directory path.
34958
50fb7002 349592009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 34960
34961 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
34962 b-tree.
34963
8cc50345 349642009-02-27 Robert Millan <rmh@aybabtu.com>
34965
34966 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
34967 `0x' qualifier as 0 when base is specified as parameter).
34968
6e09b8b7 349692009-02-24 Bean <bean123ch@gmail.com>
34970
34971 * configure.ac: Check for -mcmodel=large in x86_64 target.
34972
34973 * include/grub/efi/api.h (efi_call_10): New macro.
34974 (efi_wrap_10): New function.
34975
34976 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
34977 (GRUB_PE32_REL_BASED_HIGH): Likewise.
34978 (GRUB_PE32_REL_BASED_LOW): Likewise.
34979 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
34980 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
34981 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
34982 (GRUB_PE32_REL_BASED_SECTION): Likewise.
34983 (GRUB_PE32_REL_BASED_REL): Likewise.
34984 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
34985 (GRUB_PE32_REL_BASED_DIR64): Likewise.
34986 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
34987
34988 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
34989 issue.
34990
34991 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
34992 (efi_wrap_10): New function.
34993
34994 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
34995
34996 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
34997 MB/MBP model (NV chipset).
34998 (devdata_devs): Add devpath_5 to the list.
34999
35000 * load/i386/efi/linux.c (video_base): Remove variable.
35001 (RGB_MASK): New macro.
35002 (RGB_MAGIC): Likewise.
35003 (LINE_MIN): Likewise.
35004 (LINE_MAX): Likewise.
35005 (FBTEST_STEP): Likewise.
35006 (FBTEST_COUNT): Likewise.
35007 (fb_list): New variable.
35008 (grub_find_video_card): Remove function.
35009 (find_framebuf): New function.
35010 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
35011 line length.
35012
35013 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
35014 problem for x86_64.
35015
74b21bee 350162009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
35017
35018 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
35019
35020 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
35021 coding tool name.
35022
a455f472 350232009-02-22 Robert Millan <rmh@aybabtu.com>
35024
35025 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
35026 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
35027 in our relocation, instead of using it directly from heap. Also
35028 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
35029
6374daf3 350302009-02-21 Robert Millan <rmh@aybabtu.com>
35031
35032 Implement USB keyboard support (based on patch by Marco Gerards)
35033
35034 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
35035 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
35036 (usb_keyboard_mod_LDFLAGS): New variables.
35037
35038 * term/usb_keyboard.c: New file.
35039
8fa4ea70 350402009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
35041
35042 Corrected wrong declaration
35043
35044 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
35045
353976ac 350462009-02-14 Christian Franke <franke@computer.org>
35047
35048 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
35049 (grub_lspci_iter): Print class code and programming interface byte.
35050
6aa1169b 350512009-02-14 Christian Franke <franke@computer.org>
35052
35053 * gendistlist.sh: Ignore `.svn' directories.
35054
265372ca 350552009-02-14 Felix Zielcke <fzielcke@z-51.de>
35056
35057 * fs/fat.c: Add 2009 to Copyright line.
35058
9ff516f3 350592009-02-14 Christian Franke <franke@computer.org>
35060
35061 * commands/hdparm.c: New file. Provides `hdparm' command
35062 which sends ATA commands via grub_disk_ata_pass_through ().
35063
35064 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
35065
35066 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
35067 and <grub/cpu/io.h> to include/grub/ata.h.
35068 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
35069 (GRUB_CDROM_SECTOR_SIZE): Remove.
35070 (GRUB_ATA_*): Move to include/grub/ata.h.
35071 (GRUB_ATAPI_*): Likewise.
35072 (enum grub_ata_commands): Likewise.
35073 (enum grub_ata_timeout_milliseconds): Likewise.
35074 (struct grub_ata_device): Likewise.
35075 (grub_ata_regset): Likewise.
35076 (grub_ata_regget): Likewise.
35077 (grub_ata_regset2): Likewise.
35078 (grub_ata_regget2): Likewise.
35079 (grub_ata_check_ready): Likewise.
35080 (grub_ata_wait_not_busy): Remove static, exported in
35081 include/grub/ata.h.
35082 (grub_ata_wait_drq): Likewise.
35083 (grub_ata_pio_read): Likewise.
35084
35085 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
35086 function for hdparm.mod.
35087
35088 * include/grub/ata.h: New file, contains declarations from
35089 disk/ata.c.
35090 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
35091
35092 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
35093 (grub_disk_ata_pass_through): New exported variable.
35094
35095 * kern/disk.c (grub_disk_ata_pass_through): New variable.
35096
772e23da 350972009-02-13 Colin D Bennett <colin@gibibit.com>
35098
35099 Support multiple fallback entries, and provide an API to support
35100 executing default+fallback menu entries. Renamed the `terminal' menu
35101 viewer to `text'.
35102
35103 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
35104 variable declaration.
35105 (grub_menu_execute_callback): New structure declaration.
35106 (grub_menu_execute_callback_t): New typedef.
35107 (grub_menu_execute_with_fallback): New function declaration.
35108 (grub_menu_get_entry): Likewise.
35109 (grub_menu_get_timeout): Likewise.
35110 (grub_menu_set_timeout): Likewise.
35111
35112 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
35113
35114 * normal/menu.c (grub_wait_after_message): Moved to
35115 `normal/menu_text.c'.
35116 (draw_border): Likewise.
35117 (print_message): Likewise.
35118 (print_entry): Likewise.
35119 (print_entries): Likewise.
35120 (grub_menu_init_page): Likewise.
35121 (get_entry_number): Likewise.
35122 (print_timeout): Likewise.
35123 (run_menu): Likewise.
35124 (grub_menu_execute_entry): Likewise.
35125 (show_text_menu): Likewise.
35126 (get_and_remove_first_entry_number): New function.
35127 (grub_menu_execute_with_fallback): Likewise.
35128 (get_entry): Renamed to ...
35129 (grub_menu_get_entry): .. this and made it global.
35130 (get_timeout): Renamed to ...
35131 (grub_menu_get_timeout): ... this and made it global.
35132 (set_timeout): Renamed to ...
35133 (grub_menu_set_timeout): ... this and made it global.
35134 (grub_normal_terminal_menu_viewer): Renamed to ...
35135 (grub_normal_text_menu_viewer): ... this.
35136
35137 * normal/menu_text.c: New file. Extracted text-menu-specific code
35138 from normal/menu.c.
35139
35140 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
35141 (normal_mod_SOURCES): Likewise.
35142
35143 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35144 (normal_mod_SOURCES): Likewise.
35145
35146 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35147 (normal_mod_SOURCES): Likewise.
35148
35149 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
35150 (normal_mod_SOURCES): Likewise.
35151
35152 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35153 (normal_mod_SOURCES): Likewise.
35154
35155 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35156 (normal_mod_SOURCES): Likewise.
35157
35158 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35159 (normal_mod_SOURCES): Likewise.
35160
16ac430e 351612009-02-11 Robert Millan <rmh@aybabtu.com>
35162
35163 * util/grub.d/00_header.in: Update old reference to `font' command.
35164
06ff20fc 351652009-02-10 Felix Zielcke <fzielcke@z-51.de>
35166
35167 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
35168
35169 Based on patch from Javier Martín.
35170
96da9407 351712009-02-09 Felix Zielcke <fzielcke@z-51.de>
35172
35173 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 35174 to avoid false positives with FAT.
96da9407 35175 (grub_fstest_SOURCES): Likewise.
35176 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35177 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35178 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35179 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35180 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35181 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35182
6dca6fe4 351832009-02-09 Felix Zielcke <fzielcke@z-51.de>
35184
06ff20fc 35185 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 35186 bpb.version_specific.fat12_or_fat16.fstype and
35187 bpb.version_specific.fat32.fstype.
35188
2550c62f 351892009-02-08 Robert Millan <rmh@aybabtu.com>
35190
be110b30 35191 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 35192
56978920 351932009-02-08 Robert Millan <rmh@aybabtu.com>
35194
35195 * Makefile.in (host_os, host_cpu): New variables.
35196 (target_os): Remove. Update all users.
35197
d64399b5 351982009-02-08 Marco Gerards <marco@gnu.org>
35199
35200 * Makefile.in (enable_grub_emu_usb): New variable.
35201 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
35202 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
35203 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
35204 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
35205 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
35206 `usbtest.mod' and `usbms.mod'.
35207 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
35208 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
35209 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
35210 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
35211 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
35212 variables.
35213
35214 * disk/usbms.c: New file.
35215
35216 * include/grub/usb.h: Likewise.
35217
35218 * include/grub/usbtrans.h: Likewise.
35219
35220 * include/grub/usbdesc.h: Likewise.
35221
35222 * bus/usb/usbtrans.c: Likewise.
35223
35224 * bus/usb/ohci.c: Likewise.
35225
35226 * bus/usb/uhci.c: Likewise.
35227
35228 * bus/usb/usbhub.c: Likewise.
35229
35230 * bus/usb/usb.c: Likewise.
35231
35232 * commands/usbtest.c: Likewise.
35233
35234 * util/usb.c: Likewise.
50fb7002 35235
d64399b5 35236 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
35237
35238 * configure.ac: Test for libusb presence.
50fb7002 35239
d64399b5 35240 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
35241
2b40d6bb 352422009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
35243
35244 * kern/mm.c: Add more comments.
35245
73a4ce81 352462009-02-08 Robert Millan <rmh@aybabtu.com>
35247
35248 Patch from Javier Martín.
35249 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
35250 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
35251
f821ce59 352522009-02-08 Robert Millan <rmh@aybabtu.com>
35253
35254 * fs/cpio.c: Split tar functionality to ...
35255 * fs/tar.c: ... here (new file). Update all users.
35256
aebfc4b0 352572009-02-07 Robert Millan <rmh@aybabtu.com>
35258
35259 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
35260 backward-incompatible features.
35261
35262 Based on patch from Javier Martín, with some adjustments.
35263
50fb7002 352642009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 35265
35266 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
35267
0bb5115e 352682009-02-07 Robert Millan <rmh@aybabtu.com>
35269
35270 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
35271 position of `disk/lvm.c' to ensure grub_init_all() always picks it
35272 after the RAID stuff.
35273
38a0f8e7 352742009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
35275
50fb7002 35276 Fixes problem when running vbetest command as reported by
38a0f8e7 35277 Vladimir Serbinenko <phcoder@gmail.com>.
35278
35279 * (grub_vbe_set_video_mode): Fixed problem with text modes.
35280
3143cc1c 352812009-02-04 Felix Zielcke <fzielcke@z-51.de>
35282
35283 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
35284 /dev/md/NpN style mdraid devices.
35285
9cba6fce 352862009-02-03 Felix Zielcke <fzielcke@z-51.de>
35287
35288 * util/unifont2pff.rb: Remove.
35289
e507a2c1 352902009-02-03 Felix Zielcke <fzielcke@z-51.de>
35291
35292 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
35293 `#'.
35294
d2c2b4cd 352952009-02-03 Felix Zielcke <fzielcke@z-51.de>
35296
35297 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
35298 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35299 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35300 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35302 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35303 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35304
b4315fb0 353052009-02-02 Christian Franke <franke@computer.org>
35306
35307 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
35308
de3aa260 353092009-02-01 Felix Zielcke <fzielcke@z-51.de>
35310
7c3ff286 35311 * INSTALL: Note that we now require at least autoconf 2.59 and
35312 that LZO is optional.
de3aa260 35313
825a182b 353142009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35315
35316 Base on patch on bug #24154 created by Tomas Tintera
35317 <trosos@seznam.cz>.
35318
35319 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
35320
a69ef770 353212009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35322
7c3ff286 35323 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 35324 <bero@arklinux.org>.
35325
35326 * normal/parser.y (script_init): Add missing semicolon.
35327
6fa42fa6 353282009-01-31 Colin D Bennett <colin@gibibit.com>
35329
7c3ff286 35330 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 35331 (free_menu_entry_classes): Added.
35332 (grub_normal_menu_addentry): Added class property handling.
35333 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
35334 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
35335
35336 * normal/menu_viewer.c: New file.
35337
35338 * normal/menu.c (run_menu_entry): Renamed to ...
35339 (grub_menu_execute_entry): ... this and made it as global.
35340 (grub_menu_run): Renamed to ...
35341 (show_text_menu): ... this and made it local.
35342 (show_text_menu): Adapt to new function names.
35343 (grub_normal_terminal_menu_viewer): New global variable.
35344
35345 * include/grub/menu.h: New file.
35346
35347 * include/grub/menu_viewer.h: New file.
35348
35349 * include/grub/normal.h: Added include to grub/menu.h.
35350 (grub_menu_entry): Moved to include/grub/menu.h.
35351 (grub_menu_entry_t): Likewise.
35352 (grub_menu): Likewise.
35353 (grub_menu_t): Likewise.
35354 (grub_normal_terminal_menu_viewer): Added.
35355 (grub_menu_execute_entry): Likewise.
35356 (grub_menu_run): Removed.
35357
35358 * DISTLIST: Added include/grub/menu.h.
35359 Added include/grub/menu_viewer.h.
35360 Added normal/menu_viewer.c.
35361
353622009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
35363
35364 * normal/execute.c (grub_script_execute_menuentry): Changed to use
35365 arglist for menutitle arguments.
35366
35367 * normal/main.c (grub_normal_menu_addentry): Likewise.
35368
35369 * normal/parser.y (menuentry): Likewise.
35370
35371 * normal/script.c (grub_script_create_cmdmenu): Likewise.
35372
35373 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
35374 (grub_script_create_cmdmenu): Likewise.
35375
35376 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
35377
35378 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
35379 changes.
35380
35381 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
35382
35383 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
35384
35385 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
35386
35387 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35388
35389 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35390
35391 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35392
56192c23 353932009-01-30 Christian Franke <franke@computer.org>
35394
35395 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
35396 in option help text.
35397
d72521b3 353982009-01-27 Pavel Roskin <proski@gnu.org>
35399
35400 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
35401
994b5e84 354022009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
35403
35404 * commands/lsmmap.c: Add include to grub/machine/memory.h.
35405
35406 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
35407
35408 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
35409 unregister function.
35410
6a7eab2c 354112009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
35412
35413 * disk/scsi.c (grub_scsi_read): Fix sign problem.
35414
35415 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
35416
35417 * util/grub-mkfont.c (usage): Fix typo.
35418
35419 * util/elf/grub-mkimage.c (load_modules): Fix warning.
35420
1806b56e 354212009-01-26 Daniel Mierswa <impulze@impulze.org>
35422
3fb18f09 35423 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
35424
336e1fb9 35425 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
35426
1806b56e 35427 * kern/misc.c (grub_strcasecmp): New function.
35428 (grub_strcasecmp): Use grub_size_t instead of int for length.
35429 Fix return value.
35430 * include/grub/misc.h: Update function prototypes.
35431
580b2a0f 354322009-01-26 Robert Millan <rmh@aybabtu.com>
35433
35434 * configure.ac: Fix cross-compilation check.
ef257b36 35435
d31c24f1 354362009-01-22 Christian Franke <franke@computer.org>
35437
35438 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
35439 (precision) digit string. Allow `.format2' without `format1' (width).
35440 Limit input chars for `%s' output to `format2' if specified. This is
35441 compatible with standard printf ().
35442
3138b44c 354432009-01-22 Christian Franke <franke@computer.org>
35444
35445 * disk/ata.c (grub_ata_wait_status): Replace by ...
35446 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
35447 other status bits may be invalid while BSY is asserted.
35448 (grub_ata_check_ready): New function.
35449 (grub_ata_cmd): Removed.
35450 (grub_ata_wait_drq): New function.
35451 (grub_ata_strncpy): Remove inline.
35452 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
35453 and error check now done by grub_ata_wait_drq ().
35454 (grub_ata_pio_write): Likewise.
35455 (grub_atapi_identify): Set DEV before check for !BSY. Use
35456 grub_ata_wait_drq () to wait for data.
35457 (grub_ata_device_initialize): Add status register check to
35458 detect missing SATA slave devices. Add debug messages.
35459 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
35460 (grub_atapi_packet): Set DEV before check for !BSY. Replace
35461 transfer loop by grub_ata_pio_write ().
35462 (grub_ata_identify): Set DEV before check for !BSY. Use
35463 grub_ata_wait_drq () to wait for data.
ef257b36 35464 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 35465 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
35466 read/write in one loop. Fix invalid command on write. Fix incomplete
35467 command on (size % batch) == 0. Add missing error check after write of
35468 last block. Add debug messages.
35469 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
35470
59a64ef6 354712009-01-19 Christian Franke <franke@computer.org>
35472
35473 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
35474 (GRUB_ATAPI_IREASON_*): Likewise.
35475 (grub_ata_pio_write): Fix timeout error return.
35476 (grub_atapi_identify): Add grub_ata_wait () after cmd.
35477 (grub_atapi_wait_drq): New function.
35478 (grub_atapi_packet): New parameter `size'.
35479 Use grub_atapi_wait_drq () and direct write instead of
35480 grub_ata_pio_write ().
35481 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
35482 reads the number of bytes requested by the device for each DRQ
35483 assertion.
35484 (grub_atapi_write): Remove old implementation, return not
35485 implemented instead.
35486
1cfe20b3 354872009-01-19 Christian Franke <franke@computer.org>
35488
35489 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
35490 of 512 to calculate data size.
35491 (grub_scsi_read12): Likewise.
35492 (grub_scsi_write10): Likewise.
35493 (grub_scsi_write12): Likewise.
35494 (grub_scsi_read): Adjust size according to blocksize.
35495 Add checks for invalid blocksize and unaligned transfer.
35496
bee5fe5d 354972009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
35498
35499 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
35500
ef257b36 35501 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 35502 width glyphs.
35503
3e643f8c 355042009-01-19 Robert Millan <rmh@aybabtu.com>
35505
35506 * config.guess: Update to latest version from config git.
35507 * config.sub: Likewise.
35508
4fa80998 355092009-01-17 Felix Zielcke <fzielcke@z-51.de>
35510
35511 * Makefile.in: Change font compilation to use new grub-mkfont instead
35512 of java version.
35513
35514 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
35515 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
35516 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35517 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35518 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
35519 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
35520 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
35521 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
35522 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
35523
7086085b 355242009-01-16 Christian Franke <franke@computer.org>
35525
35526 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
35527 (enum grub_ata_timeout_milliseconds): New enum.
35528 (grub_ata_wait_status): Add parameter milliseconds.
35529 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
35530 recovery from timed-out commands.
35531 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
35532 return grub_errno instead of REG_ERROR.
35533 (grub_ata_pio_write): Add parameter milliseconds.
35534 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
35535 Pass milliseconds to grub_ata_wait_status () and
35536 grub_ata_pio_read ().
35537 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
35538 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
35539 grub_ata_wait_status (). Fix IDENTIFY timeout check.
35540 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
35541 It is not suitable for device detection, because DEV bit is ignored,
35542 the command may run too long, and not all devices set the signature
35543 properly.
35544 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
35545 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
35546 Fix device selection, DEV bit must be set first to address the registers
35547 of the correct device.
35548 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
35549 grub_ata_pio_read/write ().
35550 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
35551 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
35552
4a412913 355532009-01-13 Carles Pina i Estany <carles@pina.cat>
35554
35555 * util/grub-editenv.c (main): Use fseeko(), not fseek().
35556
7795c55e 355572009-01-13 Bean <bean123ch@gmail.com>
d913988c 35558
35559 * util/grub-mkfont.c (write_font): forget to remove some debug code.
35560
7795c55e 355612009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 35562
35563 * Makefile.in: (enable_grub_mkfont): New variable.
35564 (freetype_cflags): Likewise.
35565 (freetype_libs): Likewise.
35566
35567 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
35568 (grub_mkfont_SOURCES): New variable.
35569 (grub_mkfont_CFLAGS): Likewise.
35570 (grub_mkfont_LDFLAGS): Likewise.
35571
35572 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
35573 library if `--enable-grub-mkfont' is requested.
35574 (enable_grub_mkfont): New variable.
35575 (freetype_cflags): Likewise.
35576 (freetype_libs): Likewise.
35577
35578 * util/grub-mkfont.c: New file.
35579
093af1fe 355802009-01-12 Christian Franke <franke@computer.org>
35581
35582 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
35583 mode check. Fix setting of compat_use[].
35584
f36cc108 355852009-01-10 Robert Millan <rmh@aybabtu.com>
35586
35587 Update a few copyright years which we forgot to do in 2008 (only for
35588 files whose changes made in 2008 were copyright-significant)
35589
35590 * Makefile.in: Add 2008 to Copyright line.
35591 * disk/ieee1275/ofdisk.c: Likewise.
35592 * disk/efi/efidisk.c: Likewise.
35593 * kern/dl.c: Likewise.
35594 * kern/sparc64/ieee1275/init.c: Likewise.
35595 * kern/mm.c: Likewise.
35596 * kern/efi/mm.c: Likewise.
35597 * boot/i386/pc/boot.S: Likewise.
35598 * genfslist.sh: Likewise.
35599 * fs/iso9660.c: Likewise.
35600 * fs/hfs.c: Likewise.
35601 * fs/jfs.c: Likewise.
35602 * fs/minix.c: Likewise.
35603 * fs/ufs.c: Likewise.
35604 * gensymlist.sh.in: Likewise.
35605 * genkernsyms.sh.in: Likewise.
35606 * include/grub/misc.h: Likewise.
35607 * include/grub/types.h: Likewise.
35608 * include/grub/symbol.h: Likewise.
35609 * include/grub/elf.h: Likewise.
35610 * include/grub/kernel.h: Likewise.
35611 * include/grub/disk.h: Likewise.
35612 * include/grub/dl.h: Likewise.
35613 * include/grub/i386/linux.h: Likewise.
35614 * include/grub/i386/pc/biosdisk.h: Likewise.
35615 * include/grub/efi/api.h: Likewise.
35616 * include/grub/efi/pe32.h: Likewise.
35617 * include/grub/util/misc.h: Likewise.
35618 * normal/execute.c: Likewise.
35619 * normal/arg.c: Likewise.
35620 * normal/completion.c: Likewise.
35621 * normal/lexer.c: Likewise.
35622 * normal/parser.y: Likewise.
35623 * normal/misc.c: Likewise.
35624 * commands/i386/pc/vbeinfo.c: Likewise.
35625 * commands/hexdump.c: Likewise.
35626 * commands/terminal.c: Likewise.
35627 * commands/ls.c: Likewise.
35628 * commands/help.c: Likewise.
35629 * partmap/pc.c: Likewise.
35630 * loader/efi/chainloader.c: Likewise.
35631 * loader/multiboot_loader.c: Likewise.
35632 * loader/i386/pc/multiboot2.c: Likewise.
35633 * term/efi/console.c: Likewise.
35634 * term/i386/pc/serial.c: Likewise.
35635 * util/lvm.c: Likewise.
35636 * util/console.c: Likewise.
35637 * util/i386/efi/grub-mkimage.c: Likewise.
35638 * util/raid.c: Likewise.
35639
7f02114b 356402009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
35641
35642 * commands/videotest.c: Removed include to grub/machine/memory.h.
35643
35644 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
35645 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
35646 (video_mod_SOURCES): Removed.
35647 (video_mod_CFLAGS): Likewise.
35648 (video_mod_LDFLAGS): Likewise.
35649 (gfxterm_mod_SOURCES): Likewise.
35650 (gfxterm_mod_CFLAGS): Likewise.
35651 (gfxterm_mod_LDFLAGS): Likewise.
35652 (videotest_mod_SOURCES): Likewise.
35653 (videotest_mod_CFLAGS): Likewise.
35654 (videotest_mod_LDFLAGS): Likewise.
35655 (bitmap_mod_SOURCES): Likewise.
35656 (bitmap_mod_CFLAGS): Likewise.
35657 (bitmap_mod_LDFLAGS): Likewise.
35658 (tga_mod_SOURCES): Likewise.
35659 (tga_mod_CFLAGS): Likewise.
35660 (tga_mod_LDFLAGS): Likewise.
35661 (jpeg_mod_SOURCES): Likewise.
35662 (jpeg_mod_CFLAGS): Likewise.
35663 (jpeg_mod_LDFLAGS): Likewise.
35664 (png_mod_SOURCES): Likewise.
35665 (png_mod_CFLAGS): Likewise.
35666 (png_mod_LDFLAGS): Likewise.
35667
35668 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
35669 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
35670 (video_mod_SOURCES): Added.
35671 (video_mod_CFLAGS): Likewise.
35672 (video_mod_LDFLAGS): Likewise.
35673 (videotest_mod_SOURCES): Likewise.
35674 (videotest_mod_CFLAGS): Likewise.
35675 (videotest_mod_LDFLAGS): Likewise.
35676 (bitmap_mod_SOURCES): Likewise.
35677 (bitmap_mod_CFLAGS): Likewise.
35678 (bitmap_mod_LDFLAGS): Likewise.
35679 (tga_mod_SOURCES): Likewise.
35680 (tga_mod_CFLAGS): Likewise.
35681 (tga_mod_LDFLAGS): Likewise.
35682 (jpeg_mod_SOURCES): Likewise.
35683 (jpeg_mod_CFLAGS): Likewise.
35684 (jpeg_mod_LDFLAGS): Likewise.
35685 (png_mod_SOURCES): Likewise.
35686 (png_mod_CFLAGS): Likewise.
35687 (png_mod_LDFLAGS): Likewise.
35688 (gfxterm_mod_SOURCES): Likewise.
35689 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 35690 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 35691
35692 * term/gfxterm.c: Removed include to grub/machine/memory.h,
35693 grub/machine/console.h.
35694
644fff97 356952009-01-04 Jerone Young <jerone@gmail.com>
35696
35697 Make on screen instructions clearer
35698
35699 Based on patch created by Jidanni <jidanni@jidanni.org>
35700
35701 * normal/menu.c: print clearer instructions on the screen
35702
1e901a75 357032009-01-02 Colin D Bennett <colin@gibibit.com>
35704
35705 New font engine.
34c44600 35706
1e901a75 35707 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
35708 build system and fixed gfxterm.c to work with different sized fonts.
35709
35710 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 35711
1e901a75 35712 * configure: Re-generated.
34c44600 35713
1e901a75 35714 * DISTLIST: Removed font/manager.c.
35715 Added font/font.c.
35716 Added font/font_cmd.c.
34c44600 35717
1e901a75 35718 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
35719 compilation.
34c44600 35720
1e901a75 35721 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 35722
35723 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 35724
35725 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 35726
1e901a75 35727 * normal/menu.c: Likewise.
34c44600 35728
1e901a75 35729 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
35730 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 35731
1e901a75 35732 * include/grub/font.h: Replaced with new file.
34c44600 35733
1e901a75 35734 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
35735 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
35736 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
35737 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
35738 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 35739 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 35740 fg_red, fg_green, fg_blue, fg_alpha.
35741 (grub_video_adapter): Removed blit_glyph.
34c44600 35742 (grub_video_blit_glyph): Removed.
35743
1e901a75 35744 * font/manager.c: Removed file.
34c44600 35745
35746 * font/font.c: New file.
35747
1e901a75 35748 * font/font_cmd.c: Likewise.
34c44600 35749
1e901a75 35750 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 35751
1e901a75 35752 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
35753 (grub_video_vbe_map_rgba): Likewise.
35754 (grub_video_vbe_unmap_color_int): Likewise.
35755 (grub_video_vbe_blit_glyph): Removed.
35756 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 35757
1e901a75 35758 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
35759 (get_pixel): Likewise.
34c44600 35760 (set_pixel): Likewise.
35761
1e901a75 35762 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 35763
1e901a75 35764 * term/gfxterm.c: Adapted to new font engine.
34c44600 35765
1e901a75 35766 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 35767
1e901a75 35768 * term/i386/pc/vga.c: Likewise.
34c44600 35769
1e901a75 35770 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 35771
1e901a75 35772 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 35773
1e901a75 35774 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 35775
1e901a75 35776 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 35777
1e901a75 35778 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 35779
1e901a75 35780 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 35781
1e901a75 35782 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 35783
1e901a75 35784 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 35785
1e901a75 35786 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
35787
35788 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 35789
1e901a75 35790 * util/grub-mkconfig_lib.in: Changed font extension.
35791
278922e8 357922008-12-28 Felix Zielcke <fzielcke@z-51.de>
35793
35794 * util/getroot.c (grub_util_get_grub_dev): Add support for
35795 /dev/md/dNNpNN style partitionable mdraid devices.
35796
3ced05cf 357972008-12-12 Alex Smith <alex@alex-smith.me.uk>
35798
35799 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
35800 at a time limit of the PXE TFTP API correctly.
35801 (grub_pxefs_close): Likewise.
35802
7fd0ee30 358032008-11-29 Robert Millan <rmh@aybabtu.com>
35804
34c44600 35805 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 35806 grub_ata_device_initialize() calls.
35807
34c44600 358082008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 35809
35810 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
35811 iteration failed.
35812 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
35813
89313780 358142008-11-28 Robert Millan <rmh@aybabtu.com>
35815
35816 Fix build on powerpc-ieee1275. Based on patch created by
35817 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
35818 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35819 `kern/ieee1275/mmap.c'.
35820 * include/grub/powerpc/ieee1275/memory.h: New file.
35821
15257703 35822 Provide grub-install on coreboot.
35823 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
35824 (grub_install_SOURCES): New variable.
35825 * util/i386/pc/grub-install.in: Add a few condition checks to make it
35826 usable on coreboot.
35827
9fc5388a 358282008-11-25 Felix Zielcke <fzielcke@z-51.de>
35829
35830 * util/grub-fstest.c (grub_term_get_current_input): Change return type
35831 to `grub_term_input_t'.
35832 (grub_term_get_current_output): Change return type to
35833 `grub_term_output_t'.
35834
bc3a2f31 358352008-11-22 Robert Millan <rmh@aybabtu.com>
35836
34c44600 35837 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 35838 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
35839 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
35840 grub_vga_text_cls().
35841
80fc88f2 35842 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 35843 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 35844
cbf36fd3 35845 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
35846 to 0x200000 (avoids trouble with some OFW implementations, and matches
35847 with the one in Yaboot).
35848 Reported by Manoel Abranches
35849
73e8e268 358502008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 35851
35852 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
35853 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
35854
73e8e268 35855 * util/grub-mkconfig_lib.in (grub_warn): New function.
35856 (convert_system_path_to_grub_path): Use grub_warn() when issuing
35857 warnings, to obtain consistent formatting.
35858 * util/grub.d/00_header.in: Likewise.
35859 * util/update-grub_lib.in: Likewise.
35860
e94045a1 35861 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 35862 Move comment text to `#error' stanza.
e94045a1 35863
79d29fd7 35864 Harmonize ieee1275's grub_available_iterate() with the generic
35865 grub_machine_mmap_iterate() interface (fixes a recently-introduced
35866 build problem on i386-ieee1275):
35867 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
35868 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
35869 parameter `type'. Update all users of this function.
35870 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35871 `kern/ieee1275/mmap.c'.
35872 * kern/ieee1275/init.c
35873 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
35874 with ...
35875 (grub_machine_mmap_iterate): ... this.
35876 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
35877 return type to `grub_err_t'. Update all implementations of this
35878 function prototype.
35879 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
35880 Likewise.
35881
60d6b16e 35882 Add `lsmmap' command (lists firmware-provided memory map):
35883 * commands/lsmmap.c: New file.
35884 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
35885 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
35886 variables.
35887 * conf/powerpc-ieee1275.rmk: Likewise.
35888 * conf/i386-coreboot.rmk: Likewise.
35889 * conf/i386-ieee1275.rmk: Likewise.
35890
ebaaf49b 358912008-11-19 Robert Millan <rmh@aybabtu.com>
35892
35893 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 35894 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
35895 constraints to initrd allocation (based on code from
35896 loader/i386/pc/linux.c). Without them, initrd was allocated too high
35897 for Linux to find it.
ebaaf49b 35898
dfab719f 358992008-11-14 Robert Millan <rmh@aybabtu.com>
35900
35901 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
35902 order to cope with duplicate slashes.
35903
10fc3eb9 359042008-11-14 Robert Millan <rmh@aybabtu.com>
35905
35906 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
35907 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
35908 don't want to mess with lower memory, because it is used in the Linux
35909 loader.
35910
35911 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 35912 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 35913 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
35914 is in our heap (probably as a result of it being corrupted during
2f2a3442 35915 decompression). Add #error instance with comment to explain why this
35916 loader isn't currently usable on PC/BIOS.
10fc3eb9 35917
e2e07847 359182008-11-14 Robert Millan <rmh@aybabtu.com>
35919
35920 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 35921 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 35922
fe8e8d69 359232008-11-12 Robert Millan <rmh@aybabtu.com>
35924
35925 Make loader/i386/linux.c buildable on i386-pc (although disabled).
35926
35927 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
35928 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
35929 from here ...
35930 * include/grub/i386/pc/memory.h: ... to here.
35931
976b07d0 359322008-11-12 Robert Millan <rmh@aybabtu.com>
35933
35934 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
35935 split).
35936
35937 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
35938 (grub_console_cur_color, grub_console_real_putchar)
35939 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35940 (grub_console_setcolorstate, grub_console_setcolor)
35941 (grub_console_getcolor): Move from here ...
35942 * include/grub/i386/vga_common.h: ... to here (new file).
35943
35944 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
35945 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
35946 `<grub/i386/io.h>'.
35947 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
35948 `<grub/i386/vga_common.h>'.
35949
76679cd3 359502008-11-12 Robert Millan <rmh@aybabtu.com>
35951
35952 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
35953 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
35954 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
35955 variables.
35956 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
35957 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
35958
35959 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
35960 grub_console_init() with call to grub_vga_text_init().
35961 (grub_machine_fini): Replace call to
35962 grub_console_fini() with call to grub_vga_text_fini() and
35963 grub_at_keyboard_fini().
35964
35965 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
35966 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35967 (grub_console_setcolorstate, grub_console_setcolor)
35968 (grub_console_getcolor): New function prototypes.
35969
35970 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
35971 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
35972 (grub_vga_text_setcursor): Static-ize.
35973 (grub_vga_text_term): New structure.
35974 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
35975
35976 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
35977 (grub_console_cur_color, grub_console_standard_color)
35978 (grub_console_normal_color, grub_console_highlight_color)
35979 (map_char, grub_console_putchar, grub_console_getcharwidth)
35980 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
35981 (grub_console_getcolor): Move from here ...
35982 * term/i386/vga_common.c: ... to here (same function names).
35983
95b841d3 359842008-11-12 Robert Millan <rmh@aybabtu.com>
35985
35986 Use newly-added Multiboot support in coreboot.
35987
35988 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
35989 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
35990
35991 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
35992 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
35993 (codestart): Store the MBI in `startup_multiboot_info' when we're
35994 being loaded using Multiboot.
35995
35996 * kern/i386/coreboot/init.c (grub_machine_init): Move
35997 grub_at_keyboard_init() call to beginning of function (useful for
35998 debugging). Call grub_machine_mmap_init() before attempting to use
35999 grub_machine_mmap_iterate().
36000 (grub_lower_mem, grub_upper_mem): Move from here ...
36001 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
36002 here (new file).
36003
36004 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
36005 function prototype.
36006
761ca975 360072008-11-12 Robert Millan <rmh@aybabtu.com>
36008
36009 Fix a regression introduced by the at_keyboard.mod split. Because
36010 some terminals are default on some platforms and non-default on
36011 others, the first terminal being registered determines which is
36012 going to be default.
36013
36014 * kern/term.c (grub_term_register_input): If this is the first
36015 terminal being registered, set it as the current one.
36016 (grub_term_register_output): Likewise.
36017
36018 * term/efi/console.c (grub_console_init): Do not call
36019 grub_term_set_current_output() or grub_term_set_current_input().
36020 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
36021 * term/i386/pc/console.c (grub_console_init): Likewise.
36022 (grub_console_fini): Do not call grub_term_set_current_input()
36023 (but leave grub_term_set_current_output() to restore text mode).
36024
6c529df7 360252008-11-10 Robert Millan <rmh@aybabtu.com>
36026
36027 * util/grub.d/00_header.in: Add backward compatibility check for
36028 versions of terminal.mod that don't understand `terminal_input' or
36029 `terminal_output'.
36030
132e4113 360312008-11-09 Robert Millan <rmh@aybabtu.com>
36032
36033 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
36034 `terminal_input' / `terminal_output', not `terminal'.
36035
ac293d50 360362008-11-08 Robert Millan <rmh@aybabtu.com>
36037
36038 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 36039 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 36040
0025933a 360412008-11-08 Robert Millan <rmh@aybabtu.com>
36042
36043 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 36044 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 36045 members. Update all users.
36046 * util/console.c (grub_ncurses_term): Split in ...
36047 (grub_ncurses_term_input): ... this, and ...
36048 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 36049 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 36050
37c86336 360512008-11-08 Robert Millan <rmh@aybabtu.com>
36052
36053 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
36054 (PKGDATA): Add $(pkgdata_SRCDIR).
36055 (pkglib_BUILDDIR): New variable.
36056 (pkgdata_SRCDIR): New variable.
36057 (build_env.mk): New target.
36058 (include_DATA): New variable.
36059 (install-local): Install $(include_DATA) files in $(includedir).
36060
b6c15a2d 360612008-11-07 Pavel Roskin <proski@gnu.org>
36062
d99d46f1 36063 * gendistlist.sh: Use C locale for sorting to ensure consistent
36064 output on all systems.
36065
b6c15a2d 36066 * util/grub.d/00_header.in: Remove incorrect space before
36067 "serial".
36068
c32ee8c9 360692008-11-07 Robert Millan <rmh@aybabtu.com>
36070
36071 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
36072 per specification.
36073 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
36074 * loader/multiboot_loader.c (find_multi_boot2_header): New function
36075 (based on find_multi_boot1_header).
36076 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
36077 using find_multi_boot2_header(), and abort if neither Multiboot or
36078 Multiboot headers were found.
36079
651c29b7 360802008-11-07 Robert Millan <rmh@aybabtu.com>
36081
36082 Modularize at_keyboard.mod:
36083
36084 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
36085 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
36086 (at_keyboard_mod_LDFLAGS): New variables.
36087
36088 Actual terminal split:
36089
36090 * include/grub/term.h (struct grub_term): Split in ...
36091 (struct grub_term_input): ... this, and ...
36092 (struct grub_term_output): ... this. Update all users.
36093 (grub_term_set_current): Split in ...
36094 (grub_term_set_current_input): ... this, and ...
36095 (grub_term_set_current_output): ... this.
36096 (grub_term_get_current): Split in ...
36097 (grub_term_get_current_input): ... this, and ...
36098 (grub_term_get_current_output): ... this.
36099 (grub_term_register): Split in ...
36100 (grub_term_register_input): ... this, and ...
36101 (grub_term_register_output): ... this.
36102 (grub_term_unregister): Split in ...
36103 (grub_term_unregister_input): ... this, and ...
36104 (grub_term_unregister_output): ... this.
36105 (grub_term_iterate): Split in ...
36106 (grub_term_iterate_input): ... this, and ...
36107 (grub_term_iterate_output): ... this.
36108
36109 * kern/term.c (grub_term_list): Split in ...
36110 (grub_term_list_input): ... this, and ...
36111 (grub_term_list_output): ... this. Update all users.
36112 (grub_cur_term): Split in ...
36113 (grub_cur_term_input): ... this, and ...
36114 (grub_cur_term_output): ... this. Update all users.
36115 (grub_term_set_current): Split in ...
36116 (grub_term_set_current_input): ... this, and ...
36117 (grub_term_set_current_output): ... this.
36118 (grub_term_get_current): Split in ...
36119 (grub_term_get_current_input): ... this, and ...
36120 (grub_term_get_current_output): ... this.
36121 (grub_term_register): Split in ...
36122 (grub_term_register_input): ... this, and ...
36123 (grub_term_register_output): ... this.
36124 (grub_term_unregister): Split in ...
36125 (grub_term_unregister_input): ... this, and ...
36126 (grub_term_unregister_output): ... this.
36127 (grub_term_iterate): Split in ...
36128 (grub_term_iterate_input): ... this, and ...
36129 (grub_term_iterate_output): ... this.
36130
36131 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
36132 a check for input and one for output (and only attempt to get keys
36133 from user when input works).
36134
36135 * util/grub-probe.c (grub_term_get_current): Split in ...
36136 (grub_term_get_current_input): ... this, and ...
36137 (grub_term_get_current_output): ... this.
36138 * util/grub-fstest.c: Likewise.
36139 * util/i386/pc/grub-setup.c: Likewise.
36140 * util/grub-editenv.c: Likewise.
36141
36142 Portability adjustments:
36143
36144 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
36145 `term/i386/pc/at_keyboard.c'.
36146 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
36147 grub_keyboard_controller_init() (now handled by terminal .init).
36148 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
36149 grub_at_keyboard_init().
36150 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
36151 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
36152 at_keyboard.mod via input terminal interface).
36153 * include/grub/i386/coreboot/console.h: Convert into a stub for
36154 `<grub/i386/pc/console.h>'.
36155
36156 Migrate full terminals to new API:
36157
36158 * term/efi/console.c (grub_console_term): Split into ...
36159 (grub_console_term_input): ... this, and ...
36160 (grub_console_term_output): ... this. Update all users.
36161 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
36162 (grub_ofconsole_init): Split into ...
36163 (grub_ofconsole_init_input): ... this, and ...
36164 (grub_ofconsole_init_output): ... this.
36165 (grub_ofconsole_term): Split into ...
36166 (grub_ofconsole_term_input): ... this, and ...
36167 (grub_ofconsole_term_output): ... this. Update all users.
36168 * term/i386/pc/serial.c (grub_serial_term): Split into ...
36169 (grub_serial_term_input): ... this, and ...
36170 (grub_serial_term_output): ... this. Update all users.
36171 * term/i386/pc/console.c (grub_console_term): Split into ...
36172 (grub_console_term_input): ... this, and ...
36173 (grub_console_term_output): ... this. Update all users.
36174 (grub_console_term_input): Only enable it on PC/BIOS platform.
36175 (grub_console_init): Remove grub_keyboard_controller_init() call.
36176
36177 Migrate input terminals to new API:
36178
36179 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
36180 `i386' and `i386/pc' to enable build on x86_64 (this driver is
36181 i386-specific anyway).
36182 (grub_console_checkkey): Rename to ...
36183 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
36184 users.
36185 (grub_keyboard_controller_orig): New variable.
36186 (grub_console_getkey): Rename to ...
36187 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
36188 users.
36189 (grub_keyboard_controller_init): Static-ize. Save original
36190 controller value so that it can be restored ...
36191 (grub_keyboard_controller_fini): ... here (new function).
36192 (grub_at_keyboard_term): New structure.
36193 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
36194 functions.
36195
36196 Migrate output terminals to new API:
36197
36198 * term/i386/pc/vga.c (grub_vga_term): Change type to
36199 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36200 members. Update all users.
36201 * term/gfxterm.c (grub_video_term): Change type to
36202 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36203 members. Update all users.
36204 * include/grub/i386/pc/console.h (grub_console_checkkey)
36205 (grub_console_getkey): Do not export (no longer needed by gfxterm,
36206 etc).
36207
36208 Migrate `terminal' command and userland tools to new API:
36209
36210 * commands/terminal.c (grub_cmd_terminal): Split into ...
36211 (grub_cmd_terminal_input): ... this, and ...
36212 (grub_cmd_terminal_output): ... this.
36213 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
36214 `terminal_input' and `terminal_output'.
36215 * util/grub.d/00_header.in: Adjust `terminal' calls to new
36216 `terminal_input' / `terminal_output' API.
36217 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
36218 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
36219 provided ${GRUB_TERMINAL}, convert it).
36220
96e5d876 362212008-11-04 Robert Millan <rmh@aybabtu.com>
36222
36223 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
36224 for FreeBSD.
36225 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
36226
556f3775 362272008-11-03 Bean <bean123ch@gmail.com>
36228
36229 * kern/elf.c (grub_elf32_load): Revert to previous code.
36230 (grub_elf64_load): Likewise.
36231
36232 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
36233
926b9823 362342008-11-01 Robert Millan <rmh@aybabtu.com>
36235
36236 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
36237 (TARGET_CPPFLAGS): Likewise.
36238 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
36239
1432e958 362402008-11-01 Carles Pina i Estany <carles@pina.cat>
36241
36242 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
36243
dba3f844 362442008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 36245
36246 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
36247 addition of objects until the code is not going to be able to fail.
36248
dba3f844 362492008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 36250
36251 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
36252 (add a missing NULL check, and correct them by moving the pointer
36253 operations after the actual check).
36254
7ab28c21 362552008-10-29 Robert Millan <rmh@aybabtu.com>
36256
36257 * util/i386/pc/grub-install.in: Handle empty string as output from
36258 make_system_path_relative_to_its_root().
36259
1b7748eb 362602008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
36261
36262 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
36263 circular metadata worst case scenario. If the metadata is circular
36264 then copy the wrap in place.
36265 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
36266 project lib/format_text/layout.h
36267 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
36268
c9618ab2 362692008-10-03 Felix Zielcke <fzielcke@z-51.de>
36270
7a36edca 36271 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 36272
bf981c62 362732008-10-03 Felix Zielcke <fzielcke@z-51.de>
36274
36275 * util/update-grub_lib.in: Mention filename in warning message.
36276
6d994591 362772008-09-29 Felix Zielcke <fzielcke@z-51.de>
36278
36279 * NEWS: Update for rename of update-grub to grub-mkconfig.
36280
18ade780 362812008-09-29 Felix Zielcke <fzielcke@z-51.de>
36282
36283 * util/update-grub_lib.in: Copy to ...
36284 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 36285 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 36286 * util/update-grub.in: Rename to ...
36287 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
36288 option. Add `--output' option to allow users to specify the generated
36289 configuration file. Default to stdout.
36290 (update_grub_dir): Rename to ...
36291 (grub_mkconfig_dir): ... this.
36292 (grub_cfg): Default to an empty string.
36293 * conf/common.rmk (update-grub): Rename to ...
36294 (grub-mkconfig): ... this.
36295 (update-grub_lib): Copy to ...
36296 (grub-mkconfig_lib): ... this.
36297 (update-grub_SCRIPTS): Copy to ...
36298 (grub-mkconfig_SCRIPTS): ... this. Update all users.
36299 (update-grub_DATA): Rename to ...
36300 (grub-mkconfig_DATA): ... this.
36301
556ce6ac 363022008-09-28 Robert Millan <rmh@aybabtu.com>
36303
36304 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
36305 to `modified'. Add the real `created' field.
36306 (grub_iso9660_uuid): Use `modified' rather than `created' for
36307 constructing the UUID.
36308
363092008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 36310
36311 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
36312 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
36313
92274e85 363142008-09-28 Bean <bean123ch@gmail.com>
36315
36316 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
36317 Thanks to Christian Franke for finding this bug.
36318
add6f17a 363192008-09-25 Robert Millan <rmh@aybabtu.com>
36320
36321 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
36322 instances of grub_util_get_disk_name() (see previous commit).
36323
d2a367b8 363242008-09-25 Robert Millan <rmh@aybabtu.com>
36325
36326 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
36327 `util/i386/get_disk_name.c'.
36328 * conf/i386-efi.rmk: Likewise.
36329 * conf/x86_64-efi.rmk: Likewise.
36330 * conf/i386-coreboot.rmk: Likewise.
36331 * conf/i386-ieee1275.rmk: Likewise.
36332 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
36333 `util/ieee1275/get_disk_name.c'.
36334 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
36335 * util/ieee1275/get_disk_name.c: Remove file.
36336 * util/i386/get_disk_name.c: Remove file.
36337 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
36338 "hd%d" for device.map entries, rather than using
36339 grub_util_get_disk_name().
36340
81a06771 363412008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 36342
36343 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
36344 warning.
36345 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
36346
5a004279 363472008-09-24 Carles Pina i Estany <carles@pina.cat>
36348
36349 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
36350 Changed to 0x5100.
36351 (GRUB_TERM_PPAGE): Changed to 0x4900.
36352
397093d3 363532008-09-24 Robert Millan <rmh@aybabtu.com>
36354
36355 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
36356 macros (they were i386-pc specific).
36357 * include/grub/sparc64/ieee1275/console.h: Likewise.
36358 * include/grub/efi/console.h: Likewise.
36359
a91b6c7c 363602008-09-22 Bean <bean123ch@gmail.com>
36361
36362 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
36363 resident and in attribute list.
36364
36365 * include/grub/ntfs.h (BMP_LEN): Removed.
36366
c40fd116 363672008-09-22 Bean <bean123ch@gmail.com>
36368
81a06771 36369 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 36370 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
36371
36372 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
36373 error occurs, as grub_disk_open will call grub_disk_close, which will
36374 call p->close (scsi).
36375
81a06771 363762008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 36377
36378 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
36379 (AC_PREREQ): Bumped to 2.59.
36380 (AC_TRY_COMPILE): Replace obsolete macro with ...
36381 (AC_COMPILE_IFELSE): ... this.
36382 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
36383 (AC_LINK_IFELSE): ... this.
36384
5dc43410 363852008-09-21 Felix Zielcke <fzielcke@z-51.de>
36386
36387 * autogen.sh: Add a call to `gendistlist.sh'.
36388
9035dce4 363892008-09-19 Christian Franke <franke@computer.org>
36390
36391 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
36392 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
36393 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
36394 Export __enable_execute_stack() to modules.
36395 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
36396 New function.
36397
7fd75377 363982008-09-09 Felix Zielcke <fzielcke@z-51.de>
36399
040030b3 36400 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
36401 Sort the list.
36402
364032008-09-09 Felix Zielcke <fzielcke@z-51.de>
36404
36405 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 36406 #include <grub/util/hostdisk.h>.
36407
89d5ffcf 364082008-09-08 Robert Millan <rmh@aybabtu.com>
36409
36410 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
36411 segments when their filesz is zero (grub_file_read() interprets
81a06771 36412 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 36413 Use `lowest_segment' rather than 0 for calculating the current
36414 segment load address.
36415
40da438f 364162008-09-08 Robert Millan <rmh@aybabtu.com>
36417
36418 * util/hostdisk.c (open_device): Replace a grub_util_info() call
36419 with grub_dprintf("hostdisk", ...), as it was so verbose that it
36420 clobbered useful information.
36421
ddbf5556 364222008-09-08 Robert Millan <rmh@aybabtu.com>
36423
36424 * include/grub/util/biosdisk.h: Move to ...
36425 * include/grub/util/hostdisk.h: ... here. Update all users.
36426 * util/biosdisk.c: Move to ...
36427 * util/hostdisk.c: ... here. Update all users.
36428
783d0f48 364292008-09-07 Robert Millan <rmh@aybabtu.com>
36430
36431 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
36432 variables.
36433 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
36434 and length can be stored directly in the `mbi->mmap_addr' and
36435 `mbi->mmap_length' struct fields.
36436
548e2ea5 364372008-09-07 Robert Millan <rmh@aybabtu.com>
36438
36439 * conf/i386.rmk: New file. Provides declaration for building
36440 `cpuid.mod'.
36441 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
36442 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
36443 variables.
36444 Include `conf/i386.mk'.
36445 * conf/i386-efi.rmk: Likewise.
36446 * conf/x86_64-efi.rmk: Likewise.
36447 * conf/i386-coreboot.rmk: Likewise.
36448 * conf/i386-ieee1275.rmk: Likewise.
36449
0ea85a37 364502008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
36451
36452 Based on patch created by Colin D Bennett <colin@gibibit.com>.
36453 Adds optimization support for BGR based modes.
36454
36455 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
36456 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
36457 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36458 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36459 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36460 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36461 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36462 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36463 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36464 (grub_video_i386_vbeblit_index_index): Likewise.
36465 (grub_video_i386_vbeblit_replace_directN): Added.
36466 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
36467 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
36468 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
36469 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
36470 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
36471 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 36472 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 36473 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
36474 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
36475 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
36476 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
36477 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
36478 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
36479
36480 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
36481 (grub_video_i386_vbefill_R8G8B8): Likewise.
36482 (grub_video_i386_vbefill_index): Likewise.
36483 (grub_video_i386_vbefill_direct32): Added.
36484 (grub_video_i386_vbefill_direct24): Likewise.
36485 (grub_video_i386_vbefill_direct16): Likewise.
36486 (grub_video_i386_vbefill_direct8): Likewise.
36487
81a06771 36488 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 36489 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
36490 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
36491 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
36492 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
36493 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 36494
0ea85a37 36495 * video/video.c (grub_video_get_blit_format): Updated to use new
36496 blit formats. Added handling for 16 bit color modes.
81a06771 36497
36498 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 36499 fillers.
36500 (common_blitter): Updated to use new blitters.
36501
36502 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
36503 Removed.
36504 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
36505 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36506 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36507 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36508 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36509 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36510 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36511 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36512 (grub_video_i386_vbeblit_index_index): Likewise.
36513 (grub_video_i386_vbeblit_replace_directN): Added.
36514 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
36515 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
36516 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
36517 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
36518 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
36519 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
36520 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
36521 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
36522 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
36523 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
36524 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
36525 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
36526 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 36527
0ea85a37 36528 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
36529 (grub_video_i386_vbefill_R8G8B8): Likewise.
36530 (grub_video_i386_vbefill_index): Likewise.
36531 (grub_video_i386_vbefill_direct32): Added.
36532 (grub_video_i386_vbefill_direct24): Likewise.
36533 (grub_video_i386_vbefill_direct16): Likewise.
36534 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 36535
0ea85a37 36536 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
36537 types.
81a06771 36538
0ea85a37 36539 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
36540 types.
81a06771 36541
0ea85a37 36542 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
36543 blitter types.
81a06771 36544
0ea85a37 36545 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
36546 types.
36547
e8a83df6 365482008-09-06 Felix Zielcke <fzielcke@z-51.de>
36549
36550 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
36551 RAID level 1.
36552
6bcd8ee5 365532008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 36554
6bcd8ee5 36555 * fs/iso9660.c (grub_iso9660_date): New structure.
36556 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
36557 (grub_iso9660_uuid): New function.
c375ae58 36558
59261157 365592008-09-05 Bean <bean123ch@gmail.com>
36560
36561 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
36562
36563 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
36564 insensitive bit for names in Win32 and Win32 & DOS namespace.
36565
36566 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
36567
36568 * include/grub/types.h (LONG_MAX): Likewise.
36569
58b6645a 365702008-09-04 Felix Zielcke <fzielcke@z-51.de>
36571
4ee55921 36572 * util/getroot.c: Include <config.h>.
36573 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
36574 add support for /dev/md/N devices and handle LVM double dash escaping.
36575
365762008-09-04 Felix Zielcke <fzielcke@z-51.de>
36577
36578 * config.guess: Update to latest version from config git.
36579 * config.sub: Likewise.
58b6645a 36580
9124f65d 365812008-09-03 Robert Millan <rmh@aybabtu.com>
36582
36583 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
36584 `disk->total_sectors'.
36585
81a06771 365862008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 36587
36588 * include/grub/normal.h: Fixed incorrect comment for
36589 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
36590
81a06771 365912008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 36592
36593 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
36594 values with defines.
36595
36596 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
36597 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
36598 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
36599 (GRUB_VBE_MODEATTR_COLOR): Likewise.
36600 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
36601 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
36602 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
36603 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
36604 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
36605 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
36606 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
36607 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
36608 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
36609 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
36610 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
36611 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
36612 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
36613 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
36614 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
36615
93d5cbf8 366162008-08-31 Robert Millan <rmh@aybabtu.com>
36617
36618 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
36619 declaration.
36620 (grub_multiboot): Fix a few warnings.
36621
21751d50 366222008-08-31 Robert Millan <rmh@aybabtu.com>
36623
36624 * loader/i386/pc/multiboot.c: Update comment not to say that
36625 boot_device support is unimplemented.
36626
e27a75c5 366272008-08-31 Robert Millan <rmh@aybabtu.com>
36628
36629 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
36630 or memory map support are unimplemented.
36631
81a06771 366322008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 36633
36634 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
36635
81a06771 366362008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 36637
36638 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
36639 total video memory in 'vbeinfo' output; show color format details for
36640 each video mode.
36641
7c5d8d95 366422008-08-30 Pavel Roskin <proski@gnu.org>
36643
36644 * util/genmoddep.c: Remove for real this time.
36645 * DISTLIST: Remove util/genmoddep.c.
36646
4cebd25a 366472008-08-30 Robert Millan <rmh@aybabtu.com>
36648
36649 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
36650 as required by Multiboot spec (it was already 4-byte aligned, but
36651 only by chance).
36652
b497a269 366532008-08-29 Pavel Roskin <proski@gnu.org>
36654
e3925185 36655 * kern/powerpc/ieee1275/crt0.S: Rename to ...
36656 * kern/powerpc/ieee1275/startup.S: ... this.
36657 * conf/powerpc-ieee1275.rmk: Adjust for the above.
36658 * DISTLIST: Likewise.
36659
b497a269 36660 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
36661 grub/cpu/kernel.h. Add start label for consistency with other
36662 platforms. Add grub_prefix immediately after start. Add jump
36663 to the code after grub_prefix.
36664 * include/grub/powerpc/kernel.h: Provide valid values for
36665 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
36666
6e5a42fe 366672008-08-29 Bean <bean123ch@gmail.com>
36668
36669 * configure.ac: Change host_os to cygwin for mingw.
36670 (asprintf): New check for function.
36671
36672 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
36673 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
36674
36675 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 36676 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 36677 sync, sleep and grub_util_get_disk_size for mingw.
36678
36679 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
36680 to get size in mingw.
36681 (open_device): Use flag O_BINARY if it's defined.
36682 (find_root_device): Add dummy code for mingw.
36683
36684 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
36685 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
36686 (get_scsi_disk_name): Return 0 for mingw.
36687
36688 * util/hostfs.c: #include <grub/util/misc.h>.
36689 (grub_hostfs_open): Use "rb" flag to open file, use
36690 grub_util_get_disk_size to get disk size for mingw.
36691
36692 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
36693 (asprintf): New function if HAVE_ASPRINTF is not set.
36694 (sync): New function for mingw.
36695 (sleep): Likewise.
36696 (grub_util_get_disk_size): Likewise.
36697
ab3f2673 366982008-08-28 Pavel Roskin <proski@gnu.org>
36699
36700 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36701 kern/time.c.
36702
1c282483 367032008-08-28 Robert Millan <rmh@aybabtu.com>
36704
36705 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
36706
678e849c 367072008-08-28 Robert Millan <rmh@aybabtu.com>
36708
36709 Change find_grub_drive() syntax so it doesn't prevent it from
36710 detecting NULL names as errors.
36711
36712 * util/biosdisk.c (find_grub_drive): Move free slot search code
36713 from here ...
36714 (find_free_slot): ... to here.
36715 (read_device_map): Use find_free_slot() to search for free slots.
36716
965c75ca 367172008-08-27 Marco Gerards <marco@gnu.org>
36718
36719 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
36720 (scsi_mod_SOURCES): New variable.
36721 (scsi_mod_CFLAGS): Likewise
36722 (scsi_mod_LDFLAGS): Likewise.
36723
36724 * disk/scsi.c: New file.
36725
36726 * include/grub/scsi.h: Likewise.
36727
36728 * include/grub/scsicmd.h: Likewise.
36729
36730 * disk/ata.c: Include <grub/scsi.h>.
36731 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
36732 instead.
36733 (grub_ata_iterate): Skip ATAPI devices.
36734 (grub_ata_open): Only handle ATAPI devices.
36735 (struct grub_atapi_read): Removed.
36736 (grub_atapi_readsector): Likewise.
36737 (grub_ata_read): No longer handle ATAPI devices.
36738 (grub_ata_write): Likewise.
36739 (grub_atapi_iterate): New function.
36740 (grub_atapi_read): Likewise.
36741 (grub_atapi_write): Likewise.
36742 (grub_atapi_open): Likewise.
36743 (grub_atapi_close): Likewise.
36744 (grub_atapi_dev): New variable.
36745 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
36746 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
36747
36748 * include/grub/disk.h (enum grub_disk_dev_id): Add
36749 `GRUB_DISK_DEVICE_SCSI_ID'.
36750
c07ae501 367512008-08-26 Robert Millan <rmh@aybabtu.com>
36752
36753 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
36754 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
36755 descriptive.
36756
5ed20adc 367572008-08-23 Bean <bean123ch@gmail.com>
36758
36759 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
36760 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
36761 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
36762 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
36763 dm_nv.mod.
36764 (raid5rec_mod_SOURCES): New macro.
36765 (raid5rec_mod_CFLAGS): Likewise.
36766 (raid5rec_mod_LDFLAGS): Likewise.
36767 (raid6rec_mod_SOURCES): Likewise.
36768 (raid6rec_mod_CFLAGS): Likewise.
36769 (raid6rec_mod_LDFLAGS): Likewise.
36770 (mdraid_mod_SOURCES): Likewise.
36771 (mdraid_mod_CFLAGS): Likewise.
36772 (mdraid_mod_LDFLAGS): Likewise.
36773 (dm_nv_mod_SOURCES): Likewise.
36774 (dm_nv_mod_CFLAGS): Likewise.
36775 (dm_nv_mod_LDFLAGS): Likewise.
36776
36777 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
36778 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
36779 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
36780
36781 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
36782 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
36783
36784 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36785
36786 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36787
36788 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36789
36790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36791
36792 * disk/raid5_recover.c: New file.
36793
36794 * disk/raid6_recover.c: Likewise.
36795
36796 * disk/mdraid_linux.c: Likewise.
36797
36798 * disk/dmraid_nvidia.c: Likewise.
36799
36800 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
36801 ULONG_MAX.
36802
36803 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
36804 calculate the size of raid device.
36805 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
36806 different layout of raid5.
36807 (grub_raid_scan_device): Remove code specific to mdraid.
36808 (grub_raid_list): New variable.
36809 (free_array): New function.
36810 (grub_raid_register): Likewise.
36811 (grub_raid_unregister): Likewise.
36812 (grub_raid_rescan): Likewise.
36813 (GRUB_MOD_INIT): Don't iterate device here.
36814 (GRUB_MOD_FINI): Use free_array to release resource.
36815
36816 * include/grub/raid.h: Remove macro and structure specific to mdraid.
36817 (grub_raid5_recover_func_t): New function variable type.
36818 (grub_raid6_recover_func_t): Likewise.
36819 (grub_raid5_recover_func): New variable.
36820 (grub_raid6_recover_func): Likewise.
36821 (grub_raid_register): New function.
36822 (grub_raid_unregister): Likewise.
36823 (grub_raid_rescan): Likewise.
36824 (grub_raid_block_xor): Likewise.
36825
36826 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
36827 (CMD_CRC): New macro.
36828 (part): Removed.
36829 (read_file): Handle device as well as file.
36830 (cmd_crc): New function.
36831 (fstest): Handle multiple disks.
36832 (options): Remove part, raw and long, add root and diskcount.
36833 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 36834 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 36835 add handling for the new options, support multiple disks.
36836
36837 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
36838
29c18915 368392008-08-23 Bean <bean123ch@gmail.com>
36840
36841 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
36842
36843 * genfslist.sh: Ignore kernel.mod.
36844
36845 * genpartmaplist.sh: Likewise.
36846
8415f261 368472008-08-23 Robert Millan <rmh@aybabtu.com>
36848
36849 * util/getroot.c (find_root_device): Skip anything that starts with
36850 a dot, not just directories. This avoids things like /dev/.tmp.md0.
36851
d5a7dc5b 368522008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 36853
d5a7dc5b 36854 * util/update-grub.in (GRUB_GFXMODE): Export variable.
36855 * util/grub.d/00_header.in: Allow the administrator to change default
36856 gfxmode via ${GRUB_GFXMODE}.
36857
380cfbb4 368582008-08-21 Felix Zielcke <fzielcke@z-51.de>
36859
36860 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
36861
c9baafe7 368622008-08-21 Robert Millan <rmh@aybabtu.com>
36863
36864 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
36865 loader.
36866 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
36867 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
36868
e290bef2 368692008-08-20 Carles Pina i Estany <carles@pina.cat>
36870
36871 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
36872 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
36873
f9dbfc96 368742008-08-19 Robert Millan <rmh@aybabtu.com>
36875
36876 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
36877 (struct grub_virtual_screen): Remove `cursor_color'.
36878 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
36879 initialization.
36880 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
36881
dd6bd6ab 368822008-08-18 Robert Millan <rmh@aybabtu.com>
36883
36884 Unify (identical) linux_normal.c files.
36885 * loader/i386/efi/linux_normal.c: Move from here ...
36886 * loader/linux_normal.c: ... to here. Update all users.
36887 * loader/i386/pc/linux_normal.c: Delete. Update all users.
36888 * loader/i386/ieee1275/linux_normal.c: Likewise.
36889
7f42f83e 368902008-08-18 Robert Millan <rmh@aybabtu.com>
36891
36892 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
36893 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
36894 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
36895 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
36896 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
36897 New macros.
36898 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
36899 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
36900 (GRUB_LINUX_CL_END_OFFSET): ... to here.
36901 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
36902 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
36903 (GRUB_EFI_CL_END_OFFSET): Rename to ...
36904 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
36905 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
36906 Initialize `params->video_cursor_x' and `params->video_cursor_y'
36907 portably using grub_getxy().
36908 Replace `-EFI' with `-bzImage' in boot message.
36909
38487ddb 369102008-08-17 Robert Millan <rmh@aybabtu.com>
36911
36912 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
36913
deceb3ec 369142008-08-17 Robert Millan <rmh@aybabtu.com>
36915
36916 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
36917
36918 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
36919 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
36920 (grub_machine_mmap_iterate): New function declaration.
36921 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
36922 structure.
36923 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
36924 macros.
36925
36926 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
36927 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
36928 Move e820 parsing from here ...
36929 * kern/i386/pc/mmap.c: New file.
36930 (grub_machine_mmap_iterate): ... to here.
36931
36932 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
36933 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
36934 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
36935 (grub_available_iterate): Redeclare to return `void', and redeclare
36936 its hook to use grub_uint64_t as addr and size parameters, and rename
36937 to ...
36938 (grub_machine_mmap_iterate): ... this. Update all users.
36939
36940 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
36941 to make it more readable. Rename to ...
36942 (grub_machine_mmap_iterate): ... this.
36943
36944 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
36945 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
36946 (grub_multiboot): Allocate an extra region after the payload, and fill
36947 it with a Multiboot memory map. Adjust a.out loader to calculate size
36948 with the extra space.
36949 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
36950 with the extra space.
36951
f8aa0f43 369522008-08-17 Carles Pina i Estany <carles@pina.cat>
36953
9807deb9 36954 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 36955
605f5bb6 369562008-08-17 Felix Zielcke <fzielcke@z-51.de>
36957
36958 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
36959 mdate-sh to the list `find' searches for.
36960 * DISTLIST: Regenerated.
36961
210db6c6 369622008-08-16 Felix Zielcke <fzielcke@z-51.de>
36963
36964 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
36965 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 36966 genmoddep.awk, gensymlist.sh.in.
36967 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 36968 * DISTLIST: Regenerated.
48cdbfd4 36969 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 36970
1082b929 369712008-08-16 Robert Millan <rmh@aybabtu.com>
36972
36973 * disk/raid.c (grub_raid_init): Handle/report errors set by
36974 grub_device_iterate().
36975 * disk/lvm.c (grub_lvm_init): Likewise.
36976
42ce5170 369772008-08-15 Bean <bean123ch@gmail.com>
36978
36979 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36980 and datehook.mod.
36981 (datetime_mod_SOURCES): New macro.
36982 (datetime_mod_CFLAGS): Likewise.
36983 (datetime_mod_LDFLAGS): Likewise.
36984 (date_mod_SOURCES): Likewise.
36985 (date_mod_CFLAGS): Likewise.
36986 (date_mod_LDFLAGS): Likewise.
36987 (datehook_mod_SOURCES): Likewise.
36988 (datehook_mod_CFLAGS): Likewise.
36989 (datehook_mod_LDFLAGS): Likewise.
36990
36991 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36992 and datehook.mod.
36993 (datetime_mod_SOURCES): New macro.
36994 (datetime_mod_CFLAGS): Likewise.
36995 (datetime_mod_LDFLAGS): Likewise.
36996 (date_mod_SOURCES): Likewise.
36997 (date_mod_CFLAGS): Likewise.
36998 (date_mod_LDFLAGS): Likewise.
36999 (datehook_mod_SOURCES): Likewise.
37000 (datehook_mod_CFLAGS): Likewise.
37001 (datehook_mod_LDFLAGS): Likewise.
37002
37003 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37004 and datehook.mod.
37005 (datetime_mod_SOURCES): New macro.
37006 (datetime_mod_CFLAGS): Likewise.
37007 (datetime_mod_LDFLAGS): Likewise.
37008 (date_mod_SOURCES): Likewise.
37009 (date_mod_CFLAGS): Likewise.
37010 (date_mod_LDFLAGS): Likewise.
37011 (datehook_mod_SOURCES): Likewise.
37012 (datehook_mod_CFLAGS): Likewise.
37013 (datehook_mod_LDFLAGS): Likewise.
37014
37015 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37016 and datehook.mod.
37017 (datetime_mod_SOURCES): New macro.
37018 (datetime_mod_CFLAGS): Likewise.
37019 (datetime_mod_LDFLAGS): Likewise.
37020 (date_mod_SOURCES): Likewise.
37021 (date_mod_CFLAGS): Likewise.
37022 (date_mod_LDFLAGS): Likewise.
37023 (datehook_mod_SOURCES): Likewise.
37024 (datehook_mod_CFLAGS): Likewise.
37025 (datehook_mod_LDFLAGS): Likewise.
37026
37027 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37028 and datehook.mod.
37029 (datetime_mod_SOURCES): New macro.
37030 (datetime_mod_CFLAGS): Likewise.
37031 (datetime_mod_LDFLAGS): Likewise.
37032 (date_mod_SOURCES): Likewise.
37033 (date_mod_CFLAGS): Likewise.
37034 (date_mod_LDFLAGS): Likewise.
37035 (datehook_mod_SOURCES): Likewise.
37036 (datehook_mod_CFLAGS): Likewise.
37037 (datehook_mod_LDFLAGS): Likewise.
37038
37039 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
37040
37041 * commands/date.c: New file.
37042
37043 * hook/datehook.c: Likewise.
37044
37045 * include/grub/lib/datetime.h: Likewise.
37046
37047 * include/grub/i386/cmos.h: Likewise.
37048
37049 * lib/datetime.c: Likewise.
37050
37051 * lib/i386/datetime.c: Likewise.
37052
37053 * lib/efi/datetime.c: Likewise.
37054
0e9242da 370552008-08-14 Robert Millan <rmh@aybabtu.com>
37056
37057 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
37058 (grub_mkelfimage_SOURCES): New variable.
37059 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
37060
37061 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
37062 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
37063 * conf/powerpc-ieee1275.rmk: Likewise.
37064 * conf/i386-ieee1275.rmk: Likewise.
37065
37066 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
37067 * kern/i386/coreboot/init.c: Likewise.
37068
37069 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
37070 with `<grub/cpu/kernel.h>'.
37071 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
37072 to ...
37073 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
37074 * kern/i386/coreboot/startup.S: Likewise.
37075
37076 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
37077 (GRUB_MOD_GAP): Remove.
37078 * include/grub/powerpc/kernel.h: New file.
37079 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
37080 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37081 * include/grub/i386/kernel.h: New file.
37082 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
37083 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
37084 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37085
37086 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
37087 `grub-mkelfimage'.
37088 Use --directory when invoking grub_mkimage.
37089
37090 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
37091 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
37092 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
37093 and GRUB_KERNEL_CPU_PREFIX.
37094
b86408f8 370952008-08-14 Felix Zielcke <fzielcke@z-51.de>
37096
d5e619ca 37097 * include/grub/err.h (grub_err_printf): New function prototype.
37098 * util/misc.c (grub_err_printf): New function.
37099 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
37100 grub_printf.
37101 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 37102
7161f0e0 371032008-08-13 Robert Millan <rmh@aybabtu.com>
37104
37105 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
37106
a1967522 371072008-08-13 Robert Millan <rmh@aybabtu.com>
37108
37109 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
37110 boot entry.
37111
371458b5 371122008-08-12 Robert Millan <rmh@aybabtu.com>
37113
37114 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
37115 of the relocation code from here ...
37116 (grub_multiboot): ... to here.
37117 (forward_relocator, backward_relocator): Move from here ...
37118 * kern/i386/loader.S (grub_multiboot_forward_relocator)
37119 (grub_multiboot_backward_relocator): ... to here.
37120 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
37121 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
37122 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
37123 (grub_multiboot_forward_relocator_end)
37124 (grub_multiboot_backward_relocator)
37125 (grub_multiboot_backward_relocator_end): New variables.
37126
05f9452b 371272008-08-12 Bean <bean123ch@gmail.com>
37128
37129 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
37130
20024ab0 371312008-08-11 Robert Millan <rmh@aybabtu.com>
37132
37133 * kern/i386/linuxbios/startup.S: Move from here ...
37134 * kern/i386/coreboot/startup.S: ... to here.
37135
37136 * kern/i386/linuxbios/init.c: Move from here ...
37137 * kern/i386/coreboot/init.c: ... to here.
37138
37139 * kern/i386/linuxbios/table.c: Move from here ...
37140 * kern/i386/coreboot/mmap.c: ... to here.
37141
37142 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
37143
e352e9cd 371442008-08-11 Robert Millan <rmh@aybabtu.com>
37145
37146 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
37147 errors. Leave it to the upper layer to handle them.
37148
2d05bc6a 371492008-08-09 Christian Franke <franke@computer.org>
37150
37151 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
37152 * conf/common.rmk: Install `grub-pe2elf' only if requested.
37153 Install `grub.d/10_windows' only on Cygwin.
37154 * configure.ac: Add subst of `target_os'.
37155 Check `target_os' also before setting TARGET_OBJ2ELF.
37156 Add `--enable-grub-pe2elf'.
37157
042bd419 371582008-08-08 Robert Millan <rmh@aybabtu.com>
37159
37160 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37161 (grub_last_time): Change type to grub_uint64_t.
37162 (grub_disk_open): Migrate code from to using grub_get_time_ms().
37163 (grub_disk_close): Likewise.
37164
37165 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37166 (run_menu): Migrate code from to using grub_get_time_ms().
37167
37168 * util/misc.c (grub_get_time_ms): New function.
37169
7f280db5 371702008-08-08 Marco Gerards <marco@gnu.org>
37171
37172 * disk/ata.c (grub_ata_regget): Change return type to
37173 `grub_uint8_t'.
37174 (grub_ata_regget2): Likewise.
37175 (grub_ata_wait_status): New function.
37176 (grub_ata_wait_busy): Removed function, updated all users to use
37177 `grub_ata_wait_status'.
37178 (grub_ata_wait_drq): Likewise.
37179 (grub_ata_cmd): New function.
37180 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
37181 error handling.
37182 (grub_ata_pio_write): Add error handling.
37183 (grub_atapi_identify): Likewise.
37184 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
37185 handling.
37186 (grub_ata_identify): Use `grub_ata_cmd' and improve error
37187 handling. Actually use the detected registers. Reorder the
37188 detection logic such that it is easier to read.
37189 (grub_ata_pciinit): Do not assign the same ID to each controller.
37190 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
37191 handling.
37192 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
37193
37194 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
37195
1fbc5e66 371962008-08-08 Marco Gerards <marco@gnu.org>
37197
37198 * NEWS: Update.
37199
819ce6c0 372002008-08-07 Bean <bean123ch@gmail.com>
37201
37202 * include/grub/x86_64/pci.h: New file.
37203
5c41d44d 372042008-08-07 Christian Franke <franke@computer.org>
37205
37206 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
37207 (TIMER2_GATE): Likewise.
37208 (grub_pit_wait): Add enable/disable of the timer2 gate
37209 bit of port 0x61. This fixes a possible infinite loop.
37210
5ebc275d 372112008-08-07 Bean <bean123ch@gmail.com>
37212
37213 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
37214 kern/i386/tsc.c and kern/i386/pit.c.
37215
37216 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
37217 x86_64 platform.
37218
37219 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
37220 <grub/i386/tsc.h>.
37221
37222 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
37223
e383b3d0 372242008-08-07 Bean <bean123ch@gmail.com>
37225
37226 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
37227
37228 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
37229
37230 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
37231 multiple inclusion. Add #include <grub/types.h>.
37232
1cbb58ac 372332008-08-06 Christian Franke <franke@computer.org>
37234
37235 * conf/common.rmk: Build and install `10_windows'.
37236 * util/grub.d/10_windows.in: New script.
37237
337f5a1e 372382008-08-06 Pavel Roskin <proski@gnu.org>
37239
37240 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
37241
057bc4ac 372422008-08-06 Robert Millan <rmh@aybabtu.com>
37243
37244 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
37245 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
37246
2b99f123 372472008-08-06 Bean <bean123ch@gmail.com>
37248
37249 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
37250 (grub_pxefs_fs_int): Remove dummy definition.
37251 (grub_pxefs_open): Use data->block_size to store the current block
37252 size setting.
37253 (grub_pxefs_read): Use block size stored in data->block_size. As the
37254 value of grub_pxe_blksize can be changed after the file is opened.
37255
9f0234cb 372562008-08-06 Bean <bean123ch@gmail.com>
37257
37258 * fs/i386/pc/pxe.c (curr_file): new variable.
37259 (grub_pxefs_open): Simply the handling of pxe file system. Don't
37260 require the dummy internal file system anymore.
37261 (grub_pxefs_read): Removed.
37262 (grub_pxefs_close): Likewise.
37263 (grub_pxefs_fs_int): Likewise.
37264 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
37265 connection when we switch file.
37266 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
37267
a55d42e0 372682008-08-06 Robert Millan <rmh@aybabtu.com>
37269
37270 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
37271 `halt.mod'.
37272 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
37273 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
37274
37275 * kern/i386/halt.c: New file.
37276 * kern/i386/reboot.c: Likewise.
37277 * include/grub/i386/reboot.h: Likewise.
37278 * include/grub/i386/halt.h: Likewise.
37279
37280 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
37281 Include `<grub/cpu/halt.h>'.
37282 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
37283 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
37284
37285 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
37286 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
37287 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
37288 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
37289 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
37290 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
37291 from here ...
37292 * include/grub/i386/at_keyboard.h: ... to here.
37293
24371d26 372942008-08-05 Robert Millan <rmh@aybabtu.com>
37295
37296 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
37297 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
37298 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
37299 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37300 `kern/generic/millisleep.c'.
37301
37302 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
37303 instead of grub_get_rtc().
37304 (grub_tsc_init): Initialize `tsc_boot_time'.
37305
37306 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
37307 (grub_machine_init): Use grub_tsc_init() rather than
37308 installing an RTC-based handler via grub_install_get_time_ms().
37309
37310 * kern/i386/pit.c: New file.
37311 * include/grub/i386/pit.h: Likewise.
37312
9e7007b3 373132008-08-05 Bean <bean123ch@gmail.com>
37314
37315 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
37316
37317 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
37318 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
37319 (pxe_mod_SOURCES): New macro.
37320 (pxe_mod_CFLAGS): Likewise.
37321 (pxe_mod_LDFLAGS): Likewise.
37322 (pxecmd_mod_SOURCES): Likewise.
37323 (pxecmd_mod_CFLAGS): Likewise.
37324 (pxecmd_mod_LDFLAGS): Likewise.
37325
37326 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
37327 (grub_pxe_call): Likewise.
37328
37329 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
37330
37331 * commands/i386/pc/pxecmd.c: New file.
37332
9f0234cb 37333 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 37334
37335 * include/grub/i386/pc/pxe.h: Likewise.
37336
6977d49f 373372008-08-05 Bean <bean123ch@gmail.com>
37338
37339 * util/console.c (grub_console_cur_color): New variable.
37340 (grub_console_standard_color): Likewise.
37341 (grub_console_normal_color): Likewise.
37342 (grub_console_highlight_color): Likewise.
37343 (color_map): Likewise.
37344 (use_color): Likewise.
37345 (NUM_COLORS): New macro.
37346 (grub_ncurses_setcolorstate): Handle color properly.
37347 (grub_ncurses_setcolor): Don't change color here, just remember the
37348 settings, color will be set in grub_ncurses_setcolorstate.
37349 (grub_ncurses_getcolor): New function.
37350 (grub_ncurses_init): Initialize color pairs.
37351 (grub_ncurses_term): New member grub_ncurses_getcolor.
37352
9c2ff3ee 373532008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 37354
9c2ff3ee 37355 High resolution timer support. Implemented for x86 CPUs using TSC.
37356 Extracted generic grub_millisleep() so it's linked in only as needed.
37357 This requires a Pentium compatible CPU; if the RDTSC instruction is
37358 not supported, then it falls back on the generic grub_get_time_ms()
37359 implementation that uses the machine's RTC.
37360
37361 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
37362 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37363 `kern/generic/millisleep.c'.
37364
37365 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
37366 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
37367
37368 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
37369 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
37370
37371 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37372
37373 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37374 `kern/generic/millisleep.c'.
37375
37376 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37377
37378 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
37379
37380 * kern/generic/rtc_get_time_ms.c: New file.
37381
37382 * kern/generic/millisleep.c: New file.
337f5a1e 37383
9c2ff3ee 37384 * kern/misc.c: Don't include
37385 <kern/time.h> anymore.
37386 (grub_millisleep_generic): Removed.
37387
37388 * commands/sleep.c (grub_interruptible_millisleep): Uses
37389 grub_get_time_ms() instead of grub_get_rtc().
37390
37391 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
37392 function.
37393 (grub_cpu_is_cpuid_supported): New inline function.
37394 (grub_cpu_is_tsc_supported): New inline function.
37395 (grub_tsc_init): New function prototype.
37396 (grub_tsc_get_time_ms): New function prototype.
37397
37398 * kern/i386/tsc.c (grub_get_time_ms): New file.
37399
37400 * include/grub/time.h: Include <grub/types.h.
37401 (grub_millisleep_generic): Removed.
37402 (grub_get_time_ms): New prototype.
37403 (grub_install_get_time_ms): New prototype.
37404 (grub_rtc_get_time_ms): New prototype.
37405
37406 * kern/time.c (grub_get_time_ms): New function.
37407 (grub_install_get_time_ms): New function.
37408
37409 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
37410 <grub/time.h> anymore.
37411 (grub_millisleep): Removed.
37412 (grub_machine_init): Call grub_tsc_init.
37413
37414 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
37415 get_time_ms() implementation.
37416
37417 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
37418 (ieee1275_get_time_ms): New function.
37419 (grub_machine_init): Install get_time_ms() implementation.
37420
37421 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
37422 (grub_machine_init): Call grub_tsc_init().
37423 (grub_millisleep): Removed.
bf06a93f 37424
9c2ff3ee 37425 * kern/ieee1275/init.c (grub_millisleep): Removed.
37426 (grub_machine_init): Install ieee1275_get_time_ms()
37427 implementation.
37428 (ieee1275_get_time_ms): New function.
37429 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
37430 real work.
37431
9ec92aaf 374322008-08-05 Marco Gerards <marco@gnu.org>
37433
37434 * disk/ata.c: Include <grub/pci.h>.
37435 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
37436 (grub_ata_initialize): Rewritten.
37437 (grub_ata_device_initialize): New function.
37438
8d23f507 374392008-08-04 Pavel Roskin <proski@gnu.org>
37440
37441 * kern/main.c: Include grub/mm.h.
37442
5e15ee3d 374432008-08-04 Robert Millan <rmh@aybabtu.com>
37444
37445 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
37446 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
37447 corruption problem).
37448
a9053f8f 374492008-08-04 Robert Millan <rmh@aybabtu.com>
37450
37451 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
37452 warnings introduced in my last commit.
37453
dd19c7d7 374542008-08-03 Robert Millan <rmh@aybabtu.com>
37455
37456 Make PCI available on all i386 architectures.
37457
37458 * include/grub/i386/pc/pci.h: Move from here ...
37459 * include/grub/i386/pci.h: ... to here.
37460
37461 * include/grub/i386/pc/pci.h: Remove.
37462 * include/grub/i386/efi/pci.h: Remove.
37463 * include/grub/x86_64/efi/pci.h: Remove.
37464
37465 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
37466 `<grub/cpu/pci.h>'.
37467
37468 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
37469 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
37470 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
37471
37472 * conf/i386-ieee1275.rmk: Likewise.
37473
e14a6184 374742008-08-03 Robert Millan <rmh@aybabtu.com>
37475
37476 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
37477 (grub_console_setcursor): Make it possible to set cursor off.
37478
52768e37 374792008-08-03 Robert Millan <rmh@aybabtu.com>
37480
37481 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
37482 of modules instead of assuming which platform provides what.
37483 * util/update-grub.in: Likewise.
37484
2d52f57f 374852008-08-03 Robert Millan <rmh@aybabtu.com>
37486
37487 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
37488 instead of `grub_install_dos_part' to determine whether a drive needs
37489 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 37490 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 37491
2a5cd121 374922008-08-02 Robert Millan <rmh@aybabtu.com>
37493
37494 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
37495
93808428 374962008-08-02 Robert Millan <rmh@aybabtu.com>
37497
37498 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
37499 of informational grub_dprintf() calls.
37500
3bd0a12a 375012008-08-02 Robert Millan <rmh@aybabtu.com>
37502
37503 * disk/memdisk.c (memdisk_size): Don't initialize.
37504 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
37505
37506 * include/grub/i386/pc/kernel.h
37507 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
37508 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
37509 (grub_memdisk_image_size, grub_arch_memdisk_addr)
37510 (grub_arch_memdisk_size): Remove.
37511
37512 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
37513 field (was only used to transfer a constant). Add `type' field to
37514 support multiple module types.
37515 (grub_module_iterate): New function.
37516
37517 * kern/device.c (grub_device_open): Do not hide error messages
37518 when grub_disk_open() fails. Use grub_print_error() instead.
37519
37520 * kern/i386/pc/init.c (grub_arch_modules_addr)
37521 (grub_arch_memdisk_size): Remove functions.
37522 (grub_arch_modules_addr): Return the module address in high memory
37523 (now that it isn't copied anymore).
37524
37525 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
37526 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
37527 decompression routine (grub_total_module_size already includes that
37528 now). Don't copy modules back to low memory.
37529
37530 * kern/main.c: Include `<grub/mm.h>'.
37531 (grub_load_modules): Split out (and use) ...
37532 (grub_module_iterate): ... this function, which iterates through
37533 module objects and runs a hook.
37534 Comment out grub_mm_init_region() call, as it would cause non-ELF
37535 modules to be overwritten.
37536
37537 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
37538 the memdisk image in its own region, make it part of the module list.
37539 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
37540 (main): Parse --memdisk|-m option, and pass user-provided path as
37541 parameter to generate_image().
37542 (add_segments): Pass `memdisk_path' down to load_modules().
37543 (load_modules): Embed memdisk image in module section when requested.
37544 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
37545 `header.type' instead of `header.offset'.
37546
37547 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
37548 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
37549 (memdisk_mod_LDFLAGS): New variables.
37550 * conf/i386-coreboot.rmk: Likewise.
37551 * conf/i386-ieee1275.rmk: Likewise.
37552
a927cc73 375532008-08-02 Robert Millan <rmh@aybabtu.com>
37554
37555 * loader/i386/pc/multiboot.c (playground, forward_relocator)
37556 (backward_relocator): New variables. Used to allocate and relocate
37557 the payload, respectively.
37558 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 37559 address, install the appropriate relocator code in each bound of
a927cc73 37560 the payload, and set the entry point such that
37561 grub_multiboot_real_boot() will jump to one of them.
37562
37563 * kern/i386/loader.S (grub_multiboot_payload_size)
37564 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
37565 (grub_multiboot_payload_entry_offset): New variables.
37566 (grub_multiboot_real_boot): Set cpu context to what the relocator
37567 expects, and jump to the relocator instead of the payload.
37568
37569 * include/grub/i386/loader.h (grub_multiboot_payload_size)
37570 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
37571 (grub_multiboot_payload_entry_offset): Export.
37572
b15d8a0c 375732008-08-01 Bean <bean123ch@gmail.com>
37574
37575 * normal/menu_entry.c (editor_getline): Don't return the original
37576 string as result, as it will be released by lexer once it has done
37577 using it.
37578
cdfb3d22 375792008-08-01 Robert Millan <rmh@aybabtu.com>
37580
37581 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
37582 within menuentries, not before them.
37583 util/grub.d/10_hurd.in: Likewise.
37584
9175e93d 375852008-08-01 Bean <bean123ch@gmail.com>
37586
37587 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
37588 (bufio_mod_SOURCES): New macro.
37589 (bufio_mod_CFLAGS): Likewise.
37590 (bufio_mod_LDFLAGS): Likewise.
37591
37592 * include/grub/bufio.h: New file.
37593
37594 * io/bufio.c: Likewise.
37595
37596 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
37597 (grub_video_reader_png): Use grub_buffile_open to open file.
37598
37599 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
37600 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
37601
37602 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
37603 (grub_video_reader_tga): Use grub_buffile_open to open file.
37604
37605 * font/manager.c: Include <grub/bufio.h>.
37606 (add_font): Use grub_buffile_open to open file.
37607
3d8383e7 376082008-07-31 Robert Millan <rmh@aybabtu.com>
37609
37610 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
37611 ELF segments, use a macro for arbitrarily accessing any of them instead
37612 of preparing a pointer that allows access to one at a time.
37613 (grub_multiboot_load_elf64): Likewise.
37614
16e641b6 376152008-07-31 Bean <bean123ch@gmail.com>
37616
37617 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
37618 GRUB_KERNEL_MACHINE_DATA_END.
37619
59198b72 376202008-07-30 Robert Millan <rmh@aybabtu.com>
37621
37622 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
37623 Increase from 0x50 to 0x60.
37624 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
37625 use UUIDs to identify the root drive for them. If that's not
37626 possible, abort.
37627 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
37628 check, for cross-disk installs.
37629
ae88bca3 376302008-07-30 Robert Millan <rmh@aybabtu.com>
37631
37632 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
37633 is non-empty, use it to set the `prefix' environment variable instead
37634 of the usual approach.
37635 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
37636 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
37637 environment variable instead of dummy make_install_device().
37638
37639 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
37640 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 37641 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 37642
37643 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
37644 New variable reference.
37645 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
37646 New macro. Defines offset of `grub_prefix' within startup.S (relative
37647 to `start').
37648 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
37649 section within startup.S (relative to `start').
37650 * include/grub/i386/coreboot/kernel.h: Likewise.
37651
37652 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
37653 Overwrite grub_prefix with its contents, at the beginning of the
37654 first segment.
37655 (main): Understand -p|--prefix.
37656
14f41dd1 376572008-07-30 Robert Millan <rmh@aybabtu.com>
37658
37659 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
37660
4ca049a3 376612008-07-30 Robert Millan <rmh@aybabtu.com>
37662
37663 * term/i386/pc/vga_text.c (grub_console_cls): Use
37664 grub_console_gotoxy() to go back to beginning of the screen.
37665 Found by Patrick Georgi <patrick.georgi@coresystems.de>
37666
2921d337 376672008-07-29 Christian Franke <franke@computer.org>
37668
37669 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37670 Add conversion of emulated mount points on Cygwin.
37671
b609876d 376722008-07-29 Christian Franke <franke@computer.org>
37673
37674 * util/update-grub.in: Add a check for admin
37675 group on Cygwin.
37676 Remove old `grub.cfg.new' before creation.
37677 Add `-f' to `mv' to handle the different filesystem
37678 semantics of Windows.
37679
e93e4679 376802008-07-29 Bean <bean123ch@gmail.com>
37681
37682 * normal/main.c (get_line): Fix buffer overflow bug.
37683
41694fd0 376842008-07-28 Robert Millan <rmh@aybabtu.com>
37685
37686 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
37687 (struct grub_apple_header): New struct. Describes the layout of
37688 the partmap header.
37689 (apple_partition_map_iterate): Check the header magic as well as the
37690 partition magic (which was already being checked).
37691
cfd0b4e6 376922008-07-28 Pavel Roskin <proski@gnu.org>
37693
37694 * genmk.rb: Add a warning to the beginning of the output that
37695 it's a generated file and should not be edited.
37696
93cce016 376972008-07-28 Robert Millan <rmh@aybabtu.com>
37698
37699 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37700 with the same number are found, just use issue a warning with
37701 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 37702
cd1df915 377032008-07-27 Robert Millan <rmh@aybabtu.com>
37704
37705 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
37706 information.
37707
b70a8427 377082008-07-27 Bean <bean123ch@gmail.com>
37709
37710 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
37711 (grub_fat_find_dir): Ignore case when comparing filename.
37712
8f5e379f 377132008-07-27 Bean <bean123ch@gmail.com>
37714
37715 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
37716 smallino, as it's more descriptive, and i8count can be confused with
37717 the other field count.
37718 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
37719 inode type.
37720
a85cd5a0 377212008-07-27 Bean <bean123ch@gmail.com>
37722
37723 * commands/crc.c: New file.
37724
37725 * lib/crc.c: Likewise.
37726
37727 * include/grub/lib/crc.h: Likewise.
37728
37729 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
37730
37731 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
37732 (hexdump): Move this function to ...
37733
37734 * lib/hexdump.c: ... here.
37735
37736 * include/grub/hexdump.h: Renamed to ...
37737
37738 * include/grub/lib/hexdump.h: ... this.
37739
37740 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
37741
37742 * util/grub-editenv.c: Likewise.
37743
37744 * include/envblk.h: Renamed to ...
37745
37746 * include/lib/envblk.h: ... this.
37747
37748 * util/envblk.c: Renamed to ...
37749
37750 * lib/envblk.c: ... this.
37751
37752 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
37753 lib/hexdump.c.
37754 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
37755 (pkglib_MODULES): Add crc.mod.
37756 (hexdump_mod_SOURCES): Add lib/hexdump.c.
37757 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
37758 (crc_mod_SOURCES): New macro.
37759 (crc_mod_CFLAGS): Likewise.
37760 (crc_mod_LDFLAGS): Likewise.
37761
37762 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
37763
37764 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37765
37766 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37767
37768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37769
37770 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37771
c298def0 377722008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 37773
37774 * commands/help.c: Include <grub/term.h>.
37775 (TERM_WIDTH): Removed. Updated all users.
37776
cc349fb3 377772008-07-27 Pavel Roskin <proski@gnu.org>
37778
37779 * util/getroot.c (find_root_device): Rephrase a comment to avoid
37780 spurious warnings about a comment within a comment.
37781
9051607e 377822008-07-25 Robert Millan <rmh@aybabtu.com>
37783
37784 * util/getroot.c (find_root_device): Skip devices that match
37785 /dev/dm-[0-9]. This lets the real device be found for any type of
37786 abstraction (LVM, EVMS, RAID..).
37787 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
37788 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
37789 device is found first, find_root_device() will now skip it.
37790
01453bfc 377912008-07-24 Pavel Roskin <proski@gnu.org>
37792
37793 * include/grub/types.h: Use __builtin_bswap32() and
37794 __builtin_bswap64() with gcc 4.3 and newer.
37795
6af9849f 377962008-07-24 Christian Franke <franke@computer.org>
37797
3a0fa256 37798 * util/i386/pc/grub-install.in: If `--debug' is specified,
37799 pass `--verbose' to grub-setup.
37800 Abort script if make_system_path_relative_to_its_root() fails.
37801
7810e747 378022008-07-24 Bean <bean123ch@gmail.com>
37803
37804 * configure.ac: Fixed a bug caused by the previous cygwin patch,
37805 variable `target_platform' should be `platform'.
37806
42290e17 378072008-07-24 Bean <bean123ch@gmail.com>
37808
51cc5193 37809 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 37810 (grub_png_init_fixed_block): New function.
37811 (grub_png_decode_image_data): Handle fixed huffman code compression.
37812
2a8a80e4 378132008-07-24 Bean <bean123ch@gmail.com>
37814
37815 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
37816 (grub_pe2elf_SOURCES): New macro.
37817 (CLEANFILES): Add grub-pe2elf.
37818
37819 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
37820 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
37821 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
37822 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
37823 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
37824 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
37825 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
37826 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
37827 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
37828 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
37829 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
37830 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
37831 (GRUB_PE32_DT_FUNCTION): Likewise.
37832 (GRUB_PE32_REL_I386_DIR32): Likewise.
37833 (GRUB_PE32_REL_I386_REL32): Likewise.
37834 (grub_pe32_symbol): New structure.
37835 (grub_pe32_reloc): Likewise.
37836
37837 * util/grub-pe2elf.c: New file.
37838
37839 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
37840 start symbol in non pc platform.
37841
37842 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
37843
37844 The following patches are from Christian Franke.
37845
37846 * include/grub/dl.h: Remove .previous, gas supports this only
37847 for ELF format.
37848
37849 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
37850 Remove .type, gas supports this only for ELF format.
37851
37852 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
37853 nullbytes in symbol table. This fixes an infinite loop if table is
37854 zero filled.
37855
37856 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
37857 TARGET_IMG_LDFLAGS and EXEEXT.
37858
37859 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
37860 TARGET_IMG_LDFLAGS_AC.
37861 (grub_CHECK_STACK_ARG_PROBE): New function.
37862
37863 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
37864
37865 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
37866
37867 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
37868 to set TARGET_IMG_LD* accordingly.
37869 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
37870 Add call to grub_CHECK_STACK_ARG_PROBE.
37871 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
37872
37873 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
37874
37875 * genmk.rb: Add EXEEXT to CLEANFILES.
37876
12ccdb75 378772008-07-23 Robert Millan <rmh@aybabtu.com>
37878
37879 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
37880 define the codes for arrows and lines used for the menu).
37881 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
37882 as well.
37883
37884 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
37885 fonts, because the latter are too slow.
37886
18eeaf04 378872008-07-21 Bean <bean123ch@gmail.com>
37888
37889 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
37890 a20. Run keyboard test last, as it will cause macbook to halt.
37891
b095e2ad 378922008-07-18 Pavel Roskin <proski@gnu.org>
37893
37894 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
37895 load foreign architecture modules correctly anyway. Keep
37896 support for loading host architecture modules, whether we
37897 compile them or not.
37898
737feb35 378992008-07-17 Pavel Roskin <proski@gnu.org>
37900
3f4ce737 37901 * configure.ac: Use -m32 or -m64 regardless of whether we had to
37902 change target_cpu. The compiler default can mismatch target_cpu
37903 in any case.
37904
4ad2d049 37905 * disk/efi/efidisk.c: Fix format warnings on x86_64.
37906 * kern/efi/efi.c: Likewise.
37907
f6130a12 37908 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
37909 target compiler is functional.
37910 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
37911 are set up.
37912
58393a2d 37913 * configure.ac: Default to efi platform for x86_64-apple. Allow
37914 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
37915 adjustments from the rest, only do them if target is not
37916 explicitly given. Merge other adjustments with the final sanity
37917 check. Remove an extraneous check for supported CPU. Be
37918 specific which CPU and which platform is not supported.
37919
737feb35 37920 * configure.ac: Default to pc platform for x86_64.
37921
546f966a 379222008-07-17 Robert Millan <rmh@aybabtu.com>
37923
37924 Partial LinuxBIOS -> Coreboot rename.
37925
37926 * conf/i386-linuxbios.rmk: Renamed to ...
37927 * conf/i386-coreboot.rmk: ... this.
37928 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
37929 * configure.ac: Accept "coreboot" as input platform (but maintain
37930 compatibility with "linuxbios").
37931 * include/grub/i386/linuxbios: Renamed to ...
37932 * include/grub/i386/coreboot: ... this.
37933
20011694 379342008-07-17 Bean <bean123ch@gmail.com>
37935
37936 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 37937 (appleldr_mod_SOURCE): New variable.
20011694 37938 (appleldr_mod_CFLAGS): Likewise.
37939 (appleldr_mod_LDFLAGS): Likewise.
37940 (pci_mod_SOURCES): Likewise.
37941 (pci_mod_CFLAGS): Likewise.
37942 (pci_mod_LDFLAGS): Likewise.
37943 (lspci_mod_SOURCES): Likewise.
37944 (lspci_mod_CFLAGS): Likewise.
37945 (lspci_mod_LDFLAGS): Likewise.
37946
37947 * conf/x86_64-efi.rmk: New file.
37948
37949 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
37950 macro.
37951 (grub_efidisk_write): Likewise.
37952
37953 * include/efi/api.h (efi_call_0): New macro.
37954 (efi_call_1): Likewise.
37955 (efi_call_2): Likewise.
37956 (efi_call_3): Likewise.
37957 (efi_call_4): Likewise.
37958 (efi_call_5): Likewise.
37959 (efi_call_6): Likewise.
37960
37961 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
37962 grub_rescue_cmd_chainloader.
37963
37964 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
37965 (grub_pe32_optional_header): Change some fields based on i386 or
37966 x86_64 platform.
37967 (GRUB_PE32_PE32_MAGIC): Likewise.
37968
37969 * include/grub/efi/uga_draw.h: New file.
37970
37971 * include/grub/elf.h (STN_ABS): New constant.
37972 (R_X86_64_NONE): Relocation constant for x86_64.
37973 (R_X86_64_64): Likewise.
37974 (R_X86_64_PC32): Likewise.
37975 (R_X86_64_GOT32): Likewise.
37976 (R_X86_64_PLT32): Likewise.
37977 (R_X86_64_COPY): Likewise.
37978 (R_X86_64_GLOB_DAT): Likewise.
37979 (R_X86_64_JUMP_SLOT): Likewise.
37980 (R_X86_64_RELATIVE): Likewise.
37981 (R_X86_64_GOTPCREL): Likewise.
37982 (R_X86_64_32): Likewise.
37983 (R_X86_64_32S): Likewise.
37984 (R_X86_64_16): Likewise.
37985 (R_X86_64_PC16): Likewise.
37986 (R_X86_64_8): Likewise.
37987 (R_X86_64_PC8): Likewise.
37988
37989 * include/grub/i386/efi/pci.h: New file.
37990
37991 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
37992 Change it value based on platform.
37993 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
37994 (GRUB_E820_RAM): Likewise.
37995 (GRUB_E820_RESERVED): Likewise.
37996 (GRUB_E820_ACPI): Likewise.
37997 (GRUB_E820_NVS): Likewise.
37998 (GRUB_E820_EXEC_CODE): Likewise.
37999 (GRUB_E820_MAX_ENTRY): Likewise.
38000 (grub_e820_mmap): New structure.
38001 (linux_kernel_header): Change the efi field according to different
38002 kernel version, also field from linux_kernel_header.
38003
38004 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
38005
38006 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
38007 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
38008 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
38009 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
38010 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
38011 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
38012 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
38013 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
38014 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
38015 (GRUB_PCI_ADDR_IO_MASK): Likewise.
38016
38017 * include/grub/x86_64/efi/kernel.h: New file.
38018
38019 * include/grub/x86_64/efi/loader.h: Likewise.
38020
38021 * include/grub/x86_64/efi/machine.h: Likewise.
38022
38023 * include/grub/x86_64/efi/pci.h: Likewise.
38024
38025 * include/grub/x86_64/efi/time.h: Likewise.
38026
38027 * include/grub/x86_64/linux.h: Likewise.
38028
38029 * include/grub/x86_64/setjmp.h: Likewise.
38030
38031 * include/grub/x86_64/time.h: Likewise.
38032
38033 * include/grub/x86_64/types.h: Likewise.
38034
38035 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
38036 GRUB_TARGET_SIZEOF_VOID_P.
38037
38038 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
38039 (grub_efi_locate_handle): Likewise.
38040 (grub_efi_open_protocol): Likewise.
38041 (grub_efi_set_text_mode): Likewise.
38042 (grub_efi_stall): Likewise.
38043 (grub_exit): Likewise.
38044 (grub_reboot): Likewise.
38045 (grub_halt): Likewise.
38046 (grub_efi_exit_boot_services): Likewise.
38047 (grub_get_rtc): Likewise.
38048
38049 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
38050 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
38051 (grub_efi_allocate_pages): Wrap efi calls.
38052 (grub_efi_free_pages): Wrap efi calls.
38053 (grub_efi_get_memory_map): Wrap efi calls.
38054
38055 * kern/x86_64/dl.c: New file.
38056
38057 * kern/x86_64/efi/callwrap.S: Likewise.
38058
38059 * kern/x86_64/efi/startup.S: Likewise.
38060
38061 * loader/efi/appleloader.c: Likewise.
38062
38063 * loader/efi/chainloader.c (cmdline): New variable.
38064 (grub_chainloader_unload): Wrap efi calls.
38065 (grub_chainloader_boot): Likewise.
38066 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
38067 command line.
38068
38069 * loader/efi/chainloader_normal.c (chainloader_command):
38070 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
38071 command line.
38072
38073 * loader/i386/efi/linux.c (allocate_pages): Change allocation
38074 method.
38075 (grub_e820_add_region): New function.
38076 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
38077 booting.
38078 (grub_find_video_card): New function.
38079 (grub_linux_setup_video): New function.
38080 (grub_rescue_cmd_linux): Probe for video information.
38081
38082 * normal/x86_64/setjmp.S: New file.
38083
38084 * term/efi/console.c (map_char): New function.
38085 (grub_console_putchar): Map unicode char.
38086 (grub_console_checkkey): Wrap efi calls.
38087 (grub_console_getkey): Likewise.
38088 (grub_console_getwh): Likewise.
38089 (grub_console_gotoxy): Likewise.
38090 (grub_console_cls): Likewise.
38091 (grub_console_setcolorstate): Likewise.
38092 (grub_console_setcursor): Likewise.
38093
38094 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
38095
59652a20 380962008-07-16 Pavel Roskin <proski@gnu.org>
38097
ef294055 38098 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
38099 format strings.
38100
59652a20 38101 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
38102 pointer, not an integer. This fixes a warning and prevents
38103 precision loss on 64-bit systems.
38104 (relocate_addresses): Remove unneeded cast.
38105
afc3b5d7 381062008-07-15 Pavel Roskin <proski@gnu.org>
38107
506b2b3e 38108 * kern/i386/ieee1275/init.c: Include grub/cache.h.
38109
62ead89c 38110 * term/ieee1275/ofconsole.c: Disable code unused on i386.
38111
c4cd51d7 38112 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
38113 Fix comparison between signed and unsigned.
38114
0d3d8f28 38115 * include/grub/i386/ieee1275/console.h: Declare
38116 grub_console_init() and grub_console_fini().
38117
8804b286 38118 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
38119 It's empty and unused.
38120
ee01cf35 38121 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
38122 beginning to avoid warnings with some compilers.
38123
afc3b5d7 38124 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
38125 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
38126
e4e8eaa5 381272008-07-14 Pavel Roskin <proski@gnu.org>
38128
407aceb4 38129 * kern/env.c (grub_register_variable_hook): Don't copy empty
38130 string, it leaks memory. Pass "" to grub_env_set(), it should
38131 handle constant strings.
38132
e4e8eaa5 38133 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
38134 * commands/cmp.c (grub_cmd_cmp): Likewise.
38135 * kern/dl.c (grub_dl_flush_cache): Likewise.
38136 (grub_dl_load_core): Likewise.
38137 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
38138 (grub_elf64_load_phdrs): Likewise.
38139
d4e2dad3 381402008-07-13 Pavel Roskin <proski@gnu.org>
38141
38142 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
38143 between signed and unsigned.
38144 (LzmaEnc_Finish): Fix warning about an unused parameter.
38145
aa24b516 381462008-07-13 Bean <bean123ch@gmail.com>
38147
38148 * Makefile.in (enable_lzo): New rule.
38149
38150 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
38151
38152 * configure.ac (ENABLE_LZO): New option --enable-lzo.
38153
38154 * boot/i386/pc/lnxboot.S: #include <config.h>.
38155
38156 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 38157 its value according to the compression algorithm used, lzo or lzma.
aa24b516 38158
38159 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
38160 compression algorithm according to configure macro.
38161
38162 * kern/i386/pc/startup.S (codestart): Likewise.
38163
38164 * kern/i386/pc/lzma_decode.S: New file.
38165
38166 * include/grub/lib/LzFind.h: Likewise.
38167
38168 * include/grub/lib/LzHash.h: Likewise.
38169
38170 * include/grub/lib/LzmaDec.h: Likewise.
38171
38172 * include/grub/lib/LzmaEnc.h: Likewise.
38173
38174 * include/grub/lib/LzmaTypes.h: Likewise.
38175
38176 * lib/LzFind.c: Likewise.
38177
38178 * lib/LzmaDec.c: Likewise.
38179
38180 * lib/LzmaEnc.c: Likewise.
38181
4ae821ac 381822008-07-13 Bean <bean123ch@gmail.com>
38183
38184 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
38185 (grub_ext4_extent_header): New structure.
38186 (grub_ext4_extent): Likewise.
38187 (grub_ext4_extent_idx): Likewise.
38188 (grub_ext4_find_leaf): New function.
38189 (grub_ext2_read_block): Handle extents.
38190
9a745147 381912008-07-12 Robert Millan <rmh@aybabtu.com>
38192
38193 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
38194
d49a4cf6 381952008-07-11 Robert Millan <rmh@aybabtu.com>
38196
38197 * util/grub.d/40_custom.in: New file. Example on how to add custom
38198 entries to /etc/grub.d.
38199 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
38200 40_custom (implicitly, by merging all the grub.d rules).
38201
947414b4 382022008-07-11 Pavel Roskin <proski@gnu.org>
38203
0059cf6f 38204 * commands/read.c (grub_getline): Fix invalid memory access.
38205 Don't add newline to the variable value.
38206
947414b4 38207 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
38208 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
38209 (serial_hw_get_port): Check validity of the port number.
38210 (grub_cmd_serial): Check return value of serial_hw_get_port().
38211
62a02d00 382122008-07-07 Pavel Roskin <proski@gnu.org>
38213
38214 * boot/i386/pc/diskboot.S (notification_string): Replace
38215 "Loading kernel" with just "loading". This is shorter, less
38216 confusing and saves a few bytes for possible future changes.
38217
3e5581b0 382182008-07-05 Pavel Roskin <proski@gnu.org>
38219
ea387a48 38220 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
38221 size for ATAPI devices, they are undefined. Output sector
38222 number in decimal form.
38223
3e5581b0 38224 * disk/ata.c: Use named constants for status bits.
38225
fdecb8fd 382262008-07-04 Pavel Roskin <proski@gnu.org>
38227
bcd35b90 38228 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
38229 grub_addr_t before casting it to the void pointer to fix a
38230 warning. Non-addressable regions are discarded earlier.
38231 (grub_arch_modules_addr): Cast _end to grub_addr_t.
38232 * kern/i386/linuxbios/table.c: Include grub/misc.h.
38233 (check_signature): Don't shadow table_header.
38234 (grub_linuxbios_table_iterate): Cast numeric constants to
38235 grub_linuxbios_table_header_t.
38236 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
38237 grub_stop().
38238
af58ab3d 38239 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
38240 prevent warnings.
38241
1759aa57 38242 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
38243 pointer, which can cause warnings. Support 64-bit addresses.
38244
fdecb8fd 38245 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
38246 of sizeof(long). This fixes PowerPC image generation on x86_64.
38247
8516d2a8 382482008-07-04 Robert Millan <rmh@aybabtu.com>
38249
38250 This fixes a performance issue when pc & gpt partmap iterators
38251 didn't abort iteration even after our hook found what it was
fe987087 38252 looking for (often causing expensive probes of non-existent drives).
8516d2a8 38253
38254 Some callers relied on previous buggy behaviour, since they would
34c44600 38255 raise an error when their own hooks caused early abortion of its
8516d2a8 38256 iteration.
38257
38258 * kern/device.c (grub_device_open): Improve error message.
38259 * disk/lvm.c (grub_lvm_open): Likewise.
38260 * disk/raid.c (grub_raid_open): Likewise.
38261
38262 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
38263 when hook requests it, independently of grub_errno.
38264 (pc_partition_map_probe): Do not fail when find_func() caused
38265 early abortion of pc_partition_map_iterate().
38266
38267 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
38268 when hook requests it, independently of grub_errno.
38269 (gpt_partition_map_probe): Do not fail when find_func() caused
38270 early abortion of gpt_partition_map_iterate().
38271
38272 * kern/partition.c (grub_partition_iterate): Abort parent iteration
38273 when hook requests it, independently of grub_errno. Do not fail when
38274 part_map_iterate_hook() caused early abortion of p->iterate().
38275
38276 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
38277 when grub_partition_iterate() returned with non-zero.
38278
277d0de9 382792008-07-03 Pavel Roskin <proski@gnu.org>
38280
38281 * disk/ata.c (grub_ata_pio_write): Check status before writing,
38282 like we do in grub_ata_pio_read().
38283 (grub_ata_readwrite): Always write individual sectors. Fix the
38284 sector count for the remainder.
38285 (grub_ata_write): Enable writing to ATA devices. Correctly
38286 report error for ATAPI devices.
38287
d4c9b428 382882008-07-02 Pavel Roskin <proski@gnu.org>
38289
e43fc690 38290 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
38291 warning.
38292
f707af42 38293 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
38294 for every read sector, we already increment it for the whole
38295 batch. This fixes reading more than 256 sectors at once.
38296
11e16b15 38297 * util/grub-editenv.c (cmd_info): Cast argument to long
38298 explicitly. ptrdiff_t reduces to int on i386.
38299
cbabfdd4 38300 * util/grub-editenv.c (main): Be specific which parameter is
38301 missing.
38302
b8fbce0a 38303 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
38304 (memdisk): Make memdisk_orig_addr a pointer.
38305
c9c8e606 38306 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
38307 for file offsets, use grub_off_t instead. Fix printf format
38308 warnings.
38309
ca62e598 38310 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
38311 there. Real unexpected warnings should not drown in the noise
38312 about known problems.
38313
ce8d1766 38314 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
38315 grub_disk_addr_t for memory addresses.
38316
00c7a56a 38317 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
38318 explicitly to fix a warning.
38319
08d3ef09 38320 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
38321
cb71ba20 38322 * Makefile.in (MODULE_LDFLAGS): New variable.
38323 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
38324 the linker accepts --build-id=none.
38325 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
38326 MODULE_LDFLAGS.
38327 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
38328
d4c9b428 38329 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
38330 those in Linux XFS code. Provide a way to access 64-bit parent
38331 inode.
38332 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
38333 the end of struct grub_xfs_dir_header.
38334
d4156eee 383352008-07-02 Bean <bean123ch@gmail.com>
38336
38337 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
38338 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
38339 and GRUB_IEEE1275_FLAG_NO_ANSI.
38340
38341 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
38342 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
38343 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
38344
38345 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
38346 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
38347
38348 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
38349 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
38350
38351 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
38352 esc sequence on non ANSI terminal.
38353 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
38354
38355 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
38356 beginning of file.
38357
2270f77b 383582008-07-02 Bean <bean123ch@gmail.com>
38359
38360 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
38361 (grub_editenv_SOURCES): New variable.
38362 (pkglib_MODULES): Add loadenv.mod.
38363 (loadenv_mod_SOURCES): New variable.
38364 (loadenv_mod_CFLAGS): Likewise.
38365 (loadenv_mod_LDFLAGS): Likewise.
38366
38367 * include/grub/envblk.h: New file.
38368
38369 * util/envblk.c: New file.
38370
38371 * util/grub-editenv.c: New file.
38372
38373 * commands/loadenv.c: New file.
38374
0e9e51ec 383752008-07-01 Pavel Roskin <proski@gnu.org>
38376
d89b7634 38377 * include/multiboot2.h (struct multiboot_tag_module): Use char,
38378 not unsigned char. This fixes warnings and is consistent with
38379 other tags.
38380
bf1835b1 38381 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
38382
8222a04b 38383 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
38384
6a42d99d 38385 * term/tparm.c (analyze): Always set *popcount.
38386
10b159d1 38387 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
38388 cast to fix a warning.
38389
b8789f6c 38390 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
38391 cast to suppress a warning.
38392
29d7e38a 38393 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
38394 grub_fshelp_read_file() expects.
38395
f341f669 38396 * fs/fat.c: Fix UUID calculation on big-endian systems. We
38397 write uuid as a 32-bit value in CPU byte order, so declare and
38398 use it as such.
38399
0e9e51ec 38400 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
38401 long if the format specifier expects it.
38402 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
38403 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38404 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
38405 long to fix a warning.
38406 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
38407 grub_dprintf() arguments to fix warnings.
38408
3aefa857 384092008-06-30 Pavel Roskin <proski@gnu.org>
38410
56c7668b 38411 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
38412 install_bsd_part immediately before core.img is embedded or
38413 modified on disk. This fixes core.img verification if core.img
38414 cannot be embedded.
38415
3aefa857 38416 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
38417 core_path to calculate the blocklist.
38418 Patch from Javier Martín <lordhabbit@gmail.com>
38419
5444088d 384202008-06-29 Robert Millan <rmh@aybabtu.com>
38421
38422 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
38423 block to disk block.
38424 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
38425 Patch from Niels Böhm <bitbucket@arcor.de>
38426
674835c8 384272008-06-29 Robert Millan <rmh@aybabtu.com>
38428
38429 * util/update-grub_lib.in (font_path): Search for fonts in
38430 /boot/grub first, which is more likely to be readable (we aren't
38431 deciding where fonts live, just looking for them).
38432
f527dbc8 384332008-06-26 Pavel Roskin <proski@gnu.org>
38434
6c2d8df6 38435 * util/biosdisk.c (read_device_map): Don't leave dead map
38436 entries for devices failing stat() check.
38437
f527dbc8 38438 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
38439 core_path_dev for the core.img path on the target device.
38440
aebe3d13 384412008-06-26 Robert Millan <rmh@aybabtu.com>
38442
38443 * disk/fs_uuid.c: New file.
38444 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
38445 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
38446 (fs_uuid_mod_LDFLAGS): New variables.
38447 * include/grub/disk.h (grub_disk_dev_id): Add
38448 `GRUB_DISK_DEVICE_UUID_ID'.
38449 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
38450 implement iterate().
38451
37aaf354 384522008-06-26 Robert Millan <rmh@aybabtu.com>
38453
38454 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
38455 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
38456 Linux image includes no initrd.
38457
25ff262a 384582008-06-21 Javier Martín <lordhabbit@gmail.com>
38459
38460 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
38461 call to resolve the core image location that effectively appended the
38462 name twice.
38463
76a2bd44 384642008-06-21 Robert Millan <rmh@aybabtu.com>
38465
38466 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
38467 call from here ...
38468
38469 * util/grub.d/10_hurd.in: ... to here ...
38470 * util/grub.d/10_linux.in: ... and here.
38471
650e1c79 384722008-06-19 Robert Millan <rmh@aybabtu.com>
38473
fe987087 38474 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 38475 after it has been set by grub_machine_set_prefix().
38476
6ce63911 384772008-06-19 Robert Millan <rmh@aybabtu.com>
38478
38479 * commands/search.c (search_label, search_fs_uuid, search_file): Print
38480 search result when not saving to variable, not the other way around.
38481 When saving to variable, abort iteration as soon as a match is found.
38482
73940cec 384832008-06-19 Robert Millan <rmh@aybabtu.com>
38484
38485 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
38486 check for partition that provides /boot/grub. Its logic is flawed,
38487 as it prevents prepare_grub_to_access_device() from being called
38488 multiple times.
38489
3c62a39d 384902008-06-19 Robert Millan <rmh@aybabtu.com>
38491
38492 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
38493 "insmod" command directly when abstraction modules are needed,
fe987087 38494 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 38495 since it had already been processed).
38496
47395a42 384972008-06-19 Pavel Roskin <proski@gnu.org>
38498
38499 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
38500 changed. This is needed in case GRUB_LIBDIR changes.
38501 * conf/i386-ieee1275.rmk: Likewise.
38502 * conf/i386-linuxbios.rmk: Likewise.
38503 * conf/i386-pc.rmk: Likewise.
38504 * conf/powerpc-ieee1275.rmk: Likewise.
38505
a145ac2d 385062008-06-18 Pavel Roskin <proski@gnu.org>
38507
38508 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
38509 kernel_elf_symlist.c to symlist.c for consistency with other
38510 architectures. Update all users.
38511 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38512
7847c51e 385132008-06-18 Robert Millan <rmh@aybabtu.com>
38514
38515 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
38516 it in prefix.
38517
38518 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
38519 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
38520 a RAID device, run setup() for all members independently on whether
38521 LVM abstraction is being used.
38522 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
38523 If grub-mkimage has set `*install_dos_part == -2', don't override this
38524 value.
38525 Perform *install_dos_part adjustments independently on whether
38526 we're embedding or not.
38527 Clarify error message when image is too big for embedding.
38528 Remove duplicate *install_dos_part stanza.
38529
b23e5644 385302008-06-17 Robert Millan <rmh@aybabtu.com>
38531
38532 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
38533 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
38534 variables.
38535 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
38536 values in grub_ofconsole_normal_color and
38537 grub_ofconsole_highlight_color (they're not directly related to
38538 background and foreground).
38539 (grub_ofconsole_setcolorstate): Extract background and foreground
38540 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
38541
0aac2f79 385422008-06-17 Robert Millan <rmh@aybabtu.com>
38543
38544 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
38545 /boot/grub for the check in last commit, not /boot (they could be
38546 different partitions).
38547
3cca7ef3 385482008-06-16 Robert Millan <rmh@aybabtu.com>
38549
38550 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
38551 asked to setup access for the same partition that provides /boot,
38552 don't bother using UUIDs since our root already has the value we
38553 want.
38554
347396d8 385552008-06-16 Robert Millan <rmh@aybabtu.com>
38556
38557 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
38558 I2O devices.
38559 Patch from Sven Mueller <sven@debian.org>.
38560
991477f8 385612008-06-16 Robert Millan <rmh@aybabtu.com>
38562
38563 * util/update-grub.in: Check for $EUID instead of $UID.
38564 Reported by Vincent Zweije.
38565
d31a32a1 385662008-06-16 Bean <bean123ch@gmail.com>
38567
fe987087 38568 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 38569 (grub_ext2_read_block): Likewise.
38570 (grub_ext2_read_inode): Likewise.
38571 (grub_ext2_mount): Likewise.
38572 (grub_ext2_close): Likewise.
38573 (grub_ext3_get_journal): Removed.
38574
fe987087 38575 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 38576 (grub_reiserfs_read_symlink): Likewise.
38577 (grub_reiserfs_mount): Likewise.
38578 (grub_reiserfs_open): Likewise.
38579 (grub_reiserfs_read): Likewise.
38580 (grub_reiserfs_close): Likewise.
38581 (grub_reiserfs_get_journal): Removed.
38582
38583 * fs/fshelp.c (grub_fshelp_read): Removed.
38584 (grub_fshelp_map_block): Likewise.
38585
38586 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
38587 (grub_fshelp_journal): Likewise.
38588 (grub_fshelp_read): Likewise.
38589 (grub_fshelp_map_block): Likewise.
38590
3540a760 385912008-06-16 Pavel Roskin <proski@gnu.org>
38592
38593 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
38594 floating point anymore.
38595 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
38596
95614c84 385972008-06-15 Pavel Roskin <proski@gnu.org>
38598
38599 * commands/ls.c (grub_ls_list_files): Use integer calculations
38600 for human readable format, avoid floating point use.
38601 * kern/misc.c (grub_ftoa): Remove.
38602 (grub_vsprintf): Remove floating point support.
38603
50465dd6 386042008-06-15 Robert Millan <rmh@aybabtu.com>
38605
fe6b695a 38606 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 38607 devices.
38608 Reported by Max Vozeler.
38609
a9207284 386102008-06-15 Robert Millan <rmh@aybabtu.com>
38611
38612 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
38613 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
38614 skipped later.
38615 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
38616 the beginning of the prefix.
38617
38618 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
38619 It is assumed that if we have a memdisk, grub-mkimage has set
38620 grub_prefix to include the "(memdisk)" drive in it.
38621
a7cbd45a 386222008-06-15 Robert Millan <rmh@aybabtu.com>
38623
38624 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
38625 Initialize keyboard controller after registering the terminal, so that
38626 grub_printf() can be called from grub_keyboard_controller_init().
38627
21cf716a 386282008-06-15 Robert Millan <rmh@aybabtu.com>
38629
38630 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
38631 extent-btree which is written as big endian on disk.
38632 Reported by Alain Greppin <al@chilibi.org>.
38633
23a64d8e 386342008-06-14 Robert Millan <rmh@aybabtu.com>
38635
38636 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
38637 * util/i386/pc/grub-install.in (modules): Likewise.
38638
d687651c 386392008-06-13 Pavel Roskin <proski@gnu.org>
38640
38641 * commands/ls.c (grub_ls_list_files): Fix format warnings.
38642
dfe9ddd4 386432008-06-13 Bean <bean123ch@gmail.com>
38644
38645 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
38646
38647 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
38648
38649 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
38650 to indicate sparse block.
38651
16ae7781 386522008-06-12 Pavel Roskin <proski@gnu.org>
38653
e6d1a308 38654 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
38655 number, grub_fshelp_read() does it for us.
38656
16ae7781 38657 * fs/fshelp.c (grub_fshelp_read): New function. Implement
38658 linear disk read with journal translation.
38659 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
38660 * include/grub/fshelp.h: Declare grub_fshelp_read().
38661
40fd3a2b 386622008-06-09 Pavel Roskin <proski@gnu.org>
38663
38664 * fs/minix.c (grub_minix_mount): Handle error reading
38665 superblock.
38666
f5679726 386672008-06-08 Robert Millan <rmh@aybabtu.com>
38668
38669 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
38670 don't append the RAID prefix afterwards.
38671 Reported by Clint Adams.
38672
ce525529 386732008-06-08 Robert Millan <rmh@aybabtu.com>
38674
38675 Based on description from Pavel:
38676 * kern/disk.c (grub_disk_check_range): Rename to ...
38677 (grub_disk_adjust_range): ... this. Add a comment explaining the
38678 tasks performed by this function.
38679
ad4936a0 386802008-06-08 Robert Millan <rmh@aybabtu.com>
38681
38682 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
38683 `num_serial' (for consistency with other variables).
38684 (struct grub_ntfs_data): Add `uuid' member.
38685 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
38686 (grub_ntfs_uuid): New function.
38687 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
38688
dc20b0f9 386892008-06-07 Pavel Roskin <proski@gnu.org>
38690
38691 * util/biosdisk.c (open_device): Revert last change to the
38692 function, it broke installation. The sector needs to be
38693 different dependent on which device is opened.
38694
c5e3cfba 386952008-06-06 Robert Millan <rmh@aybabtu.com>
38696
38697 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
38698 rest of GRUB, and breakage doesn't happen if its value were modified.
38699
38700 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38701 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
38702 a constant (same value).
38703 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
38704 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
38705
26a1f8c4 387062008-06-06 Robert Millan <rmh@aybabtu.com>
38707
38708 * util/biosdisk.c (open_device): Do not modify sector offset when
38709 accessing a partition. kern/disk.c already handles this for us.
38710
25d6b327 387112008-06-06 Robert Millan <rmh@aybabtu.com>
38712
38713 * util/grub-emu.c (grub_machine_init): Move code in this function from
38714 here ...
38715 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
38716 segfault in case grub_printf() is called).
38717
38718 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
38719 grub_probe. Update all users not to explicitly add it again.
38720 (grub_device): New variable; contains corresponding device for grubdir.
38721 (fs_module, partmap_module, devabstraction_module): Pass
38722 `--device ${grub_device}' to grub_probe to avoid traversing /dev
38723 every time.
38724
9ece62fb 387252008-06-05 Robert Millan <rmh@aybabtu.com>
38726
38727 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
38728 is found, print it (same layout as with labels).
38729
1ad36d37 387302008-06-04 Robert Millan <rmh@aybabtu.com>
38731
38732 * util/biosdisk.c (get_drive): Rename to ...
38733 (find_grub_drive): ... this. Update all users.
38734
38735 (get_os_disk): Rename to ...
38736 (convert_system_partition_to_system_disk): ... this. Update all users.
38737
38738 (find_drive): Rename to ...
38739 (find_system_device): ... this. Update all users.
38740
e6a30859 387412008-06-04 Robert Millan <rmh@aybabtu.com>
38742
38743 * util/biosdisk.c (get_os_disk): Handle IDA devices.
38744 * util/grub-mkdevicemap.c (get_mmc_disk_name)
38745 (make_device_map): Likewise.
38746
00c108a4 387472008-06-01 Robert Millan <rmh@aybabtu.com>
38748
38749 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
38750 before dereferencing it.
38751
38752 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
38753 union with fat12/fat16-specific ones. Add some new fields, including
38754 `num_serial' for both versions.
38755 (struct grub_fat_data): Add `uuid' member.
38756 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
38757 names. Initialize `data->uuid' using `num_serial'.
38758 (grub_fat_uuid): New function.
38759 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
38760
38761 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
38762 (grub_reiserfs_uuid): New function.
38763 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
38764 member.
38765
38766 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
38767 (grub_xfs_uuid): New function.
38768 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
38769
1385c5bb 387702008-06-01 Robert Millan <rmh@aybabtu.com>
38771
38772 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
38773 code that is backward compatible with pre-uuid search command.
38774
c682dfd7 387752008-05-31 Robert Millan <rmh@aybabtu.com>
38776
38777 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
38778 floppies after everything else, to ensure floppy drive isn't accessed
38779 unnecessarily (patch from Bean).
38780
b7db5d47 387812008-05-31 Robert Millan <rmh@aybabtu.com>
38782
38783 * commands/search.c (search_label, search_fs_uuid, search_file): Do
38784 not print device names when we were asked to set a variable.
38785
6e037aa9 387862008-05-31 Robert Millan <rmh@aybabtu.com>
38787
38788 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
38789 using "cursor-on" and "cursor-off" commands (understood at least by
38790 the Open Firmware flavour on OLPC).
38791
41305bc8 387922008-05-31 Michael Gorven <michael@gorven.za.net>
38793
38794 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
38795 on and off sequences.
38796
69ba137e 387972008-05-31 Robert Millan <rmh@aybabtu.com>
38798
38799 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
38800 * util/update-grub.in: Likewise.
38801
520ae21b 388022008-05-30 Pavel Roskin <proski@gnu.org>
38803
38804 * util/biosdisk.c (linux_find_partition): Simplify logic and
38805 make the code more universal. Keep special processing for
38806 devfs, but use a simple rule for all other devices. If the
38807 device ends with a number, append 'p' and the partition number.
38808 Otherwise, append only the partition number.
38809
5786569b 388102008-05-30 Robert Millan <rmh@aybabtu.com>
38811
38812 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
38813 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
38814 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
38815 the `root' parameter to Linux.
38816
51500452 388172008-05-30 Robert Millan <rmh@aybabtu.com>
38818
38819 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
38820 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
38821 --fs_uuid with --fs-uuid.
38822 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
38823 all filesystems support them).
38824
811d3878 388252008-05-30 Robert Millan <rmh@aybabtu.com>
38826
38827 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 38828 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 38829
cab63c95 388302008-05-30 Robert Millan <rmh@aybabtu.com>
38831
38832 * util/grub.d/00_header.in: Remove obsolete comment referencing
38833 convert_system_path_to_grub_path().
38834 * util/update-grub.in: Likewise.
38835 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
38836 (convert_system_path_to_grub_path): Add a warning message explaining
38837 that this function is deprecated. Rely on is_path_readable_by_grub()
38838 for the readability checks.
38839 (font_path): Use is_path_readable_by_grub() for the readability
38840 check rather than convert_system_path_to_grub_path().
38841
972e2f7a 388422008-05-30 Robert Millan <rmh@aybabtu.com>
38843
38844 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
38845 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
38846 converting it first.
38847 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
38848 grub.cfg for access to font file, and afterwards call it again to set
38849 the root device.
38850
62191274 388512008-05-30 Robert Millan <rmh@aybabtu.com>
38852
38853 * commands/search.c (options): Add --fs_uuid option.
38854 (search_fs_uuid): New function.
38855 (grub_cmd_search): Fix --set argument passing.
38856 Use search_fs_uuid() when requested via --fs_uuid.
38857 (grub_search_init): Update help message.
38858 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
38859 and redeclare it as an array of 16-bit words.
38860 (grub_ext2_uuid): New function.
38861 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
38862 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
38863 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
38864 (GRUB_DEVICE_BOOT_UUID): New variables.
38865 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
38866 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
38867 whenever possible.
38868 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
38869 just assume `root' variable has the right value.
38870 * util/grub.d/10_linux.in: Likewise.
38871 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
38872 via PRINT_FS_UUID.
38873 (main): Recognise `-t fs_uuid' argument.
38874
01b73ec8 388752008-05-30 Robert Millan <rmh@aybabtu.com>
38876
38877 * util/biosdisk.c (map): Redefine structure to hold information
38878 about GRUB drive name.
fe6b695a 38879 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 38880 drive names.
38881 (call_hook): Remove.
38882 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
38883 member. Assume drive has partitions.
38884 (grub_util_biosdisk_open): Access device names via `.device' struct
38885 member.
38886 (open_device): Likewise.
38887 (find_drive): Likewise.
38888 (read_device_map): Adjust map[] usage to match the new struct
38889 definition. Don't check for duplicates (still possible, but not cheap
38890 anymore).
38891 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
38892 (make_device_name): Remove assumption of BIOS-like drive names.
38893
22f16596 388942008-05-30 Pavel Roskin <proski@gnu.org>
38895
38896 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
38897 compiling execute.c doesn't need grub_script.tab.h anymore.
38898 (normal/command.c_DEPENDENCIES): Likewise.
38899 (normal/function.c_DEPENDENCIES): Likewise.
38900 * conf/i386-ieee1275.rmk: Likewise.
38901 * conf/i386-linuxbios.rmk: Likewise.
38902 * conf/i386-pc.rmk: Likewise.
38903 * conf/powerpc-ieee1275.rmk: Likewise.
38904 * conf/sparc64-ieee1275.rmk: Likewise.
38905
528ad8f2 389062008-05-29 Pavel Roskin <proski@gnu.org>
38907
d1dff95d 38908 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
38909 when scanning metadata for volume group name.
38910
528ad8f2 38911 * include/grub/script.h: Don't include grub_script.tab.h. It's
38912 a generated file, which may only be included from the files with
38913 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
38914 use union YYSTYPE, as the later allows forward declaration.
38915 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
38916
47248e08 389172008-05-29 Robert Millan <rmh@aybabtu.com>
38918
38919 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
38920 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
38921 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
38922 (grub_console_checkkey): Add grub_dprintf() call to report unknown
38923 scan codes.
38924
ee632529 389252008-05-29 Robert Millan <rmh@aybabtu.com>
38926
38927 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
38928 control key combinations.
38929
eee96e08 389302008-05-29 Robert Millan <rmh@aybabtu.com>
38931
38932 * util/powerpc/ieee1275/grub-install.in: Move from here ...
38933 * util/ieee1275/grub-install.in: ... to here.
38934 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
38935 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
38936 (grub_install_SOURCES): Likewise.
38937
da9a6a94 389382008-05-29 Robert Millan <rmh@aybabtu.com>
38939
38940 * fs/affs.c: Update copyright year.
38941 * fs/ext2.c: Likewise.
38942 * fs/fshelp.c: Likewise.
38943 * fs/hfsplus.c: Likewise.
38944 * fs/ntfs.c: Likewise.
38945 * fs/xfs.c: Likewise.
38946 * include/grub/fshelp.h: Likewise.
38947 * util/grub-mkdevicemap.c: Likewise.
38948
12e65f3a 389492008-05-28 Robert Millan <rmh@aybabtu.com>
38950
38951 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
38952 might need to be fatfs to support some firmware implementations
38953 (e.g. OFW or EFI).
38954
23023641 389552008-05-28 Robert Millan <rmh@aybabtu.com>
38956
38957 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
38958 devices.
38959 * util/grub-mkdevicemap.c (get_mmc_disk_name)
38960 (make_device_map): Likewise.
38961
887d2619 389622008-05-20 Bean <bean123ch@gmail.com>
38963
38964 * fs/fshelp.c (grub_fshelp_map_block): New function.
38965 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
38966 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
38967
38968 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
38969 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
38970 (grub_fshelp_journal): New structure.
38971 (grub_fshelp_map_block): New function prototype.
38972 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
38973 (grub_fshelp_map_block): Likewise.
38974
38975 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
38976 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
38977 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
38978 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
38979 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
38980 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
38981 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
38982 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
38983 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
38984 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
38985 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
38986 (grub_ext2_sblock): New members for journal support.
38987 (grub_ext3_journal_header): New structure.
38988 (grub_ext3_journal_revoke_header): Likewise.
38989 (grub_ext3_journal_block_tag): Likewise.
38990 (grub_ext3_journal_sblock): Likewise.
38991 (grub_fshelp_node): New members logfile and journal.
38992 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
38993 grub_fshelp_map_block to get real block number.
38994 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
38995 number.
38996 (grub_ext2_read_inode): Likewise.
38997 (grub_ext3_get_journal): New function.
38998 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
38999 (grub_ext2_close): Release memory used by journal.
39000
39001 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
39002 (REISERFS_MAGIC_DESC_BLOCK): New macro.
39003 (grub_reiserfs_transaction_header): Renamed to
39004 grub_reiserfs_description_block, replace field data with real_blocks.
39005 (grub_reiserfs_commit_block): New structure.
39006 (grub_reiserfs_data): New member journal.
39007 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
39008 number.
39009 (grub_reiserfs_read_symlink): Likewise.
39010 (grub_reiserfs_iterate_dir): Likewise.
39011 (grub_reiserfs_open): Likewise.
39012 (grub_reiserfs_read): Likewise.
39013 (grub_reiserfs_get_journal): New function.
39014 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
39015 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
39016 using grub_reiserfs_get_journal.
39017 (grub_reiserfs_close): Release memory used by journal.
39018
39019 * fs/affs.c (grub_affs_read_block): Change block type to
39020 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
39021
39022 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
39023
39024 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
39025
39026 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
39027
39028 * fs/udf.c (grub_udf_read_block): Change block type to
39029 grub_disk_addr_t. Use type cast to avoid warning.
39030
39031 * fs/xfs.c (grub_xfs_read_block): Likewise.
39032
b7c6bed5 390332008-05-16 Christian Franke <franke@computer.org>
39034
39035 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
39036 to ensure that break with ESC will always work.
39037 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
39038 Remove ESC from keyboard queue.
39039
eedf167f 390402008-05-16 Christian Franke <franke@computer.org>
39041
39042 * util/biosdisk.c: [__CYGWIN__] Add includes.
39043 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
39044 (get_os_disk): Move variable declarations to OS specific
39045 parts to avoid warning.
39046 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
39047 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
39048 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
39049 Cygwin.
39050 * util/getroot.c: [__CYGWIN__] Add includes.
39051 (strip_extra_slashes): Fix "/" case.
39052 [__CYGWIN__] (get_win32_path): New function.
39053 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
39054 [__CYGWIN__] (find_root_device): Disable.
39055 [__CYGWIN__] (get_bootsec_serial): New function.
39056 [__CYGWIN__] (find_cygwin_root_device): Likewise.
39057 [__linux__] (grub_guess_root_device): Add early returns to simplify
39058 structure.
39059 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
39060 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
39061 check for Linux only.
39062
a079699e 390632008-05-15 Bean <bean123ch@gmail.com>
39064
39065 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
39066 keyboard hang problem in apple's intel mac.
39067
1cf4059a 390682008-05-09 Robert Millan <rmh@aybabtu.com>
39069
39070 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
39071 devices.
39072 * util/grub-mkdevicemap.c (get_virtio_disk_name)
39073 (make_device_map): Likewise.
39074 Reported by Aurelien Jarno <aurel32@debian.org>
39075
ed759390 390762008-05-07 Ian Campbell <ijc@hellion.org.uk>
39077
39078 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
39079 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
39080 (make_device_map): Output entries for xvd type disks.
39081
b56c4eaa 390822008-05-07 Robert Millan <rmh@aybabtu.com>
39083
39084 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
39085 devices.
39086 * util/grub-mkdevicemap.c (get_cciss_disk_name)
39087 (make_device_map): Likewise.
39088 Reported by Roland Dreier <rdreier@cisco.com>
39089
7f8866ed 390902008-05-07 Robert Millan <rmh@aybabtu.com>
39091
39092 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
39093 grub_strstr() call. Correct a few mistakes in failure path handling.
39094
b0346e0f 390952008-05-06 Robert Millan <rmh@aybabtu.com>
39096
39097 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39098 Do not print a trailing slash (therefore, the root directory is an
39099 empty string).
39100 (convert_system_path_to_grub_path): Do not remove trailing slash
39101 from make_system_path_relative_to_its_root() output.
39102
39103 * util/i386/pc/grub-install.in: Add trailing slash to output from
39104 make_system_path_relative_to_its_root().
39105
6cf12cbd 391062008-05-06 Robert Millan <rmh@aybabtu.com>
39107
39108 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
39109 ensures that output lines aren't intermangled with those sent to
39110 stderr (via grub_util_info()).
39111 * util/grub-probe.c (grub_refresh): Likewise.
39112 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
39113
0fbb3117 391142008-05-05 Christian Franke <franke@computer.org>
39115
39116 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
39117 Add Cygwin device names.
39118 (get_ide_disk_name) [__CYGWIN__]: Likewise.
39119 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
39120 (check_device): Return error instead of success on empty name.
39121 (make_device_map): Move label inside linux specific code to
39122 prevent compiler warning.
39123
8124cdb7 391242008-04-30 Robert Millan <rmh@aybabtu.com>
39125
39126 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
39127 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
39128 first boot option.
39129 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
39130
094c01d0 391312008-04-29 Robert Millan <rmh@aybabtu.com>
39132
39133 * docs/grub.cfg: New file (example GRUB configuration).
39134
f4b1fc02 391352008-04-26 Robert Millan <rmh@aybabtu.com>
39136
329ce2a5 39137 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
39138 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
39139 and `disk/ieee1275/nand.c'.
f4b1fc02 39140
25f16ec1 391412008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 39142
25f16ec1 39143 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
39144 i386-linuxbios.
39145
39146 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
39147 change the buffer size to 4096 for cdrom device.
39148
39149 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
39150 and nand.mod.
39151 (_linux_mod_SOURCES): New variable.
39152 (_linux_mod_CFLAGS): Likewise.
39153 (_linux_mod_LDFLAGS): Likewise.
39154 (linux_mod_SOURCES): Likewise.
39155 (linux_mod_CFLAGS): Likewise.
39156 (linux_mod_LDFLAGS): Likewise.
39157 (nand_mod_SOURCES): Likewise.
39158 (nand_mod_CFLAGS): Likewise.
39159 (nand_mod_LDFLAGS): Likewise.
39160
39161 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
39162 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
39163 type property. (nand device in olpc don't have this property)
39164
39165 * include/grub/disk.h (grub_disk_dev_id): New macro
39166 GRUB_DISK_DEVICE_NAND_ID.
39167
39168 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
39169 function prototype.
39170 (grub_rescue_cmd_initrd): Likewise.
39171
39172 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
39173 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
39174 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 39175
25f16ec1 39176 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
39177 GRUB_MACHINE_IEEE1275 is defined.
39178
39179 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
39180 Use NESTED_FUNC_ATTR attribute on the hook parameter.
39181
39182 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
39183 on nested function heap_init.
39184 (grub_upper_mem): New variable for i386-ieee1275.
39185 (grub_get_extended_memory): New function for i386-ieee1275.
39186 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
39187
39188 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
39189 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
39190 property.
f19dbdb7 39191
25f16ec1 39192 * loader/i386/ieee1275/linux.c: New file.
39193
39194 * loader/i386/ieee1275/linux_normal.c: New file.
39195
39196 * disk/ieee1275/nand.c: New file.
39197
e89d61e9 391982008-04-18 Thomas Schwinge <tschwinge@gnu.org>
39199
39200 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
39201 value.
39202 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
39203
602566f6 392042008-04-18 Robert Millan <rmh@aybabtu.com>
39205
39206 Restructures early code path on ieee1275 to unify grub_main() as
39207 the first C function that is executed in every platform.
39208
39209 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
39210 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
39211 cmain().
39212 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
39213 * kern/ieee1275/cmain.c (cmain): Rename to ...
39214 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
39215 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
39216 at the beginning.
39217
57490c2b 392182008-04-18 Robert Millan <rmh@aybabtu.com>
39219
39220 * util/update-grub.in: Fix syntax error when setting
39221 `GRUB_PRELOAD_MODULES'.
39222 Reported by Stephane Chazelas <stephane@artesyncp.com>
39223
1977517d 392242008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
39225
39226 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
39227 section into account, newer toolchains generate unique build ids
39228 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 39229 we want build ids to be preserved
1977517d 39230 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
39231 far from other sections don't cause the raw binary images grow
39232 size
39233
bfb1f1a2 392342008-04-15 Robert Millan <rmh@aybabtu.com>
39235
39236 * disk/lvm.c: Update copyright year.
39237 * kern/misc.c: Likewise.
39238
01979850 392392008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39240
39241 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 39242 there is no memory left for physical volume name.
01979850 39243
0a1150e2 392442008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39245
39246 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
39247 volume name mapping to support bigger than 9 character names properly.
39248
82ead3fe 392492008-04-13 Robert Millan <rmh@aybabtu.com>
39250
39251 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
39252 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
39253
e54a72f5 392542008-04-13 Christian Franke <franke@computer.org>
39255
39256 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
39257 to create a floppy emulation boot CD when non emulation mode
39258 does not work.
39259 Enable Joliet CD filesystem extension.
39260
9fe86034 392612008-04-13 Robert Millan <rmh@aybabtu.com>
39262
39263 * kern/misc.c (grub_strncat): Fix off-by-one error.
39264 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
39265
39266 * kern/env.c (grub_env_context_close): Clear current context, not
39267 previous one.
39268 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
39269
39270 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
39271
7ceeee39 392722008-04-13 Robert Millan <rmh@aybabtu.com>
39273
39274 Improve robustness when handling LVM.
39275
39276 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 39277 (and leave `*p' unmodified).
7ceeee39 39278 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
39279 through it.
39280 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
39281 iterating through it.
39282 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
39283 through it.
fe6b695a 39284 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 39285 when due) on each grub_lvm_getvalue() or grub_strstr() call.
39286 Don't assume `vg->pvs != NULL' when iterating through it.
39287
58cd3d85 392882008-04-13 Robert Millan <rmh@aybabtu.com>
39289
39290 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
39291 * genmk.rb (partmap): New variable.
39292 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
39293 (#{partmap}): New target rule.
39294 * genpartmaplist.sh: New file.
39295 * Makefile.in (pkglib_DATA): Add partmap.lst.
39296 (partmap.lst): New target rule.
39297 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
39298 modules (including all partition maps), instead of preloading them.
39299
78b51059 393002007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
39301
39302 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
39303 `linux-boot-prober' (if installed) to detect other operating
39304 systems which are installed on the computer and add them to
39305 the boot menu.
39306 * conf/common.rmk: Build and install 30_os-prober.
39307
a91627b4 393082008-04-12 Robert Millan <rmh@aybabtu.com>
39309
39310 * kern/powerpc/ieee1275/init.c: Move from here ...
39311 * kern/ieee1275/init.c: ... to here. Update all users.
39312
39313 * kern/powerpc/ieee1275/cmain.c: Move from here ...
39314 * kern/ieee1275/cmain.c: ... to here. Update all users.
39315
39316 * kern/powerpc/ieee1275/openfw.c: Move from here ...
39317 * kern/ieee1275/openfw.c: ... to here. Update all users.
39318
39319 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
39320 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
39321
322562ea 393222008-04-10 Pavel Roskin <proski@gnu.org>
39323
39324 * configure.ac: Always use "_cv_" in cache variables for
39325 compatibility with Autoconf 2.62.
39326
a02a73c5 393272008-04-07 Robert Millan <rmh@aybabtu.com>
39328
39329 Revert grub/machine/init.h addition by Pavel (since it breaks on
39330 i386-ieee1275 and others):
39331 * util/i386/pc/misc.c: Remove grub/machine/init.h.
39332 * util/powerpc/ieee1275/misc.c: Likewise.
39333
25c024b1 393342008-04-07 Robert Millan <rmh@aybabtu.com>
39335
39336 * util/grub-probe.c (probe): Improve error message.
39337
3cbd2f98 393382008-04-07 Robert Millan <rmh@aybabtu.com>
39339
39340 * util/biosdisk.c (read_device_map): Skip devices that don't exist
39341 (this prevents the presence of a bogus entry from ruining the whole
39342 thing).
39343
87a297bf 393442008-04-06 Pavel Roskin <proski@gnu.org>
39345
36747a62 39346 * util/biosdisk.c: Include grub/util/biosdisk.h.
39347 * util/grub-fstest.c (execute_command): Make static.
39348 * util/grub-mkdevicemap.c (check_device): Likewise.
39349 * util/i386/pc/misc.c: Include grub/machine/init.h.
39350 * util/powerpc/ieee1275/misc.c: Likewise.
39351 * util/lvm.c: Include grub/util/lvm.h.
39352 * util/misc.c: Include grub/kernel.h, grub/misc.h and
39353 grub/cache.h.
39354 * util/raid.c: Include grub/util/raid.h.
39355 (grub_util_getdiskname): Make static.
39356
87a297bf 39357 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
39358 grub_hostfs_fini(), as they are called from grub_init_all() and
39359 grub_fini_all() respectively. This fixes an infinite loop in
39360 grub-fstest due to double registration of hostfs.
39361 Reported by Christian Franke <Christian.Franke@t-online.de>
39362
f6ce7629 393632008-04-05 Pavel Roskin <proski@gnu.org>
39364
39365 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
39366 all 8 functions. Otherwise, probe function 0 only.
39367
070e49e4 393682008-04-04 Pavel Roskin <proski@gnu.org>
39369
8b088a4c 39370 * commands/lspci.c (grub_lspci_iter): Print the bus number
39371 correctly.
39372
4f657021 39373 * commands/lspci.c (grub_pci_classes): Fix typos.
39374 (grub_lspci_iter): Don't print func twice. Print vendor ID
39375 before device ID, as it's normally done.
39376
070e49e4 39377 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39378 Fix signedness warnings.
39379 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
39380 Likewise.
39381 * util/ieee1275/get_disk_name.c: Include config.h so that
39382 _GNU_SOURCE is defined and getline() is declared. Mark an
39383 unused argument as such. Fix a signedness warning.
39384
ba7328dc 393852008-04-02 Pavel Roskin <proski@gnu.org>
39386
26887f22 39387 * genkernsyms.sh.in: Use more robust assignments for CC and
39388 srcdir. Quote srcdir.
39389 * gensymlist.sh.in: Likewise. Assert at the compile time that
39390 the symbol table is not empty.
39391
ba7328dc 39392 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
39393 * fs/cpio.c (grub_cpio_read): Likewise.
39394
0f582c6b 393952008-04-01 Pavel Roskin <proski@gnu.org>
39396
4b6e1995 39397 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
39398 * disk/host.c (grub_host_open): Likewise.
39399 * disk/loopback.c (grub_loopback_open): Likewise.
39400 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
39401 disk->id as in disk/host.c, not a multi-character constant.
39402
828a2768 39403 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
39404 later is obsolete, potentially dangerous and sets a bad example.
39405 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
39406 * util/misc.c (grub_util_get_image_size): Likewise.
39407
2bb4fb47 39408 * disk/loopback.c (options): Improve help for "--partitions".
39409
0f582c6b 39410 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
39411 options to align them with the short options, e.g. "echo -e".
39412
a33224e0 394132008-03-31 Bean <bean123ch@gmail.com>
39414
39415 * video/reader/png.c (grub_png_data): New member is_16bit and
39416 image_data.
39417 (grub_png_decode_image_header): Detect 16 bit png image.
39418 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
39419 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
39420 (grub_video_reader_png): Release memory occupied by image_data.
39421
39422 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
39423 4096 bytes.
39424 (grub_nfs_mount): Skip the test for sector per cluster.
39425
39426 * include/grub/ntfs.h (MAX_SPC): Removed.
39427
86cb4f54 394282008-03-31 Bean <bean123ch@gmail.com>
39429
39430 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
39431 (grub_probe_SOURCES): Add fs/afs.c.
39432 (grub_fstest_SOURCES): Likewise.
39433 (afs_mod_SOURCES): New variable.
39434 (afs_mod_CFLAGS): Likewise.
39435 (afs_mod_LDFLAGS): Likewise.
39436
39437 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
39438 (grub_emu_SOURCES): Likewise.
39439
39440 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39441
39442 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39443
39444 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39445
39446 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39447
39448 * fs/afs.c: New file.
39449
17c74c21 394502008-03-30 Pavel Roskin <proski@gnu.org>
39451
4cb68e89 39452 * disk/host.c: Include grub/misc.h to fix a warning.
39453 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
39454 warnings about implicit declarations.
39455
8790bb04 39456 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
39457 variable.
39458 * include/grub/i386/loader.h: Change declaration of
39459 grub_linux_boot() to match what grub_loader_set() expects.
39460 * util/getroot.c (grub_guess_root_device): Return const char* to
39461 fix a warning.
39462 * util/grub-probe.c (probe): Fix a warning about uninitialized
39463 abstraction_name variable.
39464 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
39465 second argument as unused to fix a warning.
39466
9a3f3296 39467 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
39468 missing grub_error() call.
39469
0ecef90d 39470 * util/update-grub_lib.in: Define datarootdir, since Autoconf
39471 2.60 and newer uses it to define datadir.
39472
0bf6d401 39473 * commands/sleep.c: Fix warning about implicit declaration.
39474 * disk/memdisk.c: Likewise.
39475 * loader/aout.c: Likewise.
39476 * loader/i386/bsd_normal.c: Likewise.
39477 * util/grub-probe.c: Likewise.
39478
7cdacf97 39479 * commands/i386/cpuid.c (has_longmode): Make static.
39480 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
39481 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
39482
17c74c21 39483 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
39484 GDT. This is more robust, as %ds can change.
39485 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
39486 calling real_to_prot().
39487 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
39488
80a3e68b 394892008-03-28 Pavel Roskin <proski@gnu.org>
39490
39491 * kern/i386/pc/startup.S: Assert that uncompressed functions
39492 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
39493 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
39494 code, as they push parts of the code (error handlers) beyond
39495 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
39496 code as correctness and size.
39497
77bcd272 394982008-03-28 Pavel Roskin <proski@gnu.org>
39499
39500 * kern/i386/pc/startup.S
39501 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
39502 data block address to the real mode, keep offset minimal. This
39503 works around a bug in AWARD BIOS on old Athlon systems, which
39504 makes CD detection hang.
39505
c5dfd43b 395062008-03-26 Pavel Roskin <proski@gnu.org>
39507
39508 * normal/color.c (grub_parse_color_name_pair): Make `name' a
39509 const.
39510 * include/grub/normal.h: Add grub_parse_color_name_pair()
39511 declaration.
39512
bf962df2 395132008-03-24 Bean <bean123ch@gmail.com>
39514
39515 * disk/i386/pc/biosdisk.c (cd_start): Removed.
39516 (cd_count): Removed.
39517 (cd_drive): New variable.
39518 (grub_biosdisk_get_drive): Don't check for (cdN) device.
39519 (grub_biosdisk_call_hook): Likewise.
39520 (grub_biosdisk_iterate): Change cdrom detection method.
39521 (grub_biosdisk_open): Replace cd_start with cd_drive.
39522 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
39523 detect cdrom device.
39524
39525 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
39526 Removed.
39527 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
39528 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
39529 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
39530 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
39531 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
39532 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
39533 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
39534 (grub_biosdisk_cdrp): New structure.
39535 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
39536
39537 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
39538
39539 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
39540 device.
39541
39542 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
39543 New function.
39544
68e7fc7a 395452008-03-20 Robert Millan <rmh@aybabtu.com>
39546
39547 Remove 2 TiB limit in ata.mod.
39548 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
39549 (grub_ata_dumpinfo): Print sector count with 0x%llx.
39550 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
39551 grub_uint64_t instead of grub_uint32_t.
39552
38ad2cf5 395532008-03-05 Bean <bean123ch@gmail.com>
39554
39555 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
39556 (grub_multiboot): Set boot device.
39557
39558 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
39559
2b89344e 395602008-03-02 Bean <bean123ch@gmail.com>
39561
39562 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
39563 symlink_buffer.
39564
87a95d1f 395652008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
39566
39567 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
39568 texinfo.tex.
39569
39570 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
39571 modified.
39572
39573 * docs/fdl.texi: New file.
f19dbdb7 39574
87a95d1f 39575 * docs/mdate-sh: New file. Copied from gnulib.
39576 * docs/texinfo.tex: Likewise.
39577
39578 * config.guess: Updated from gnulib.
39579 * install-sh: Likewise.
39580
7dc15d8e 395812008-02-28 Robert Millan <rmh@aybabtu.com>
39582
39583 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
39584 (aout_mod_SOURCES): New variable.
39585 (aout_mod_CFLAGS): Likewise.
39586 (aout_mod_LDFLAGS): Likewise.
39587
39588 * conf/i386-ieee1275.rmk: Likewise.
39589
b00ab696 395902008-02-28 Robert Millan <rmh@aybabtu.com>
39591
39592 * util/update-grub.in: Reorganise terminal validity check. Accept
39593 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
39594 Based on suggestion by Franklin PIAT.
39595
79ca2d78 395962008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
39597
39598 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
39599 function.
39600 * util/getroot.c (grub_util_check_block_device): New function that
39601 returns the given argument if it is a block device and returns NULL else.
39602 * util/grub-probe.c (argument_is_device): New variable.
39603 (probe): Promote device_name from a variable to an argument. Receive
39604 device_name from grub_util_check_block_device() if path is NULL and from
39605 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 39606 (options): Introduce new parameter '-d, --device'.
79ca2d78 39607 (main): Add description of the new parameter to the help screen.
39608 Rename path variable to argument. Set argument_is_device if the '-d'
39609 option is given. Pass argument to probe() depending on
39610 argument_is_device.
39611
0d16e571 396122008-02-24 Bean <bean123ch@gmail.com>
39613
39614 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
39615 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
39616 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
39617 (GRUB_ISO9660_VOLDESC_PART): Likewise.
39618 (GRUB_ISO9660_VOLDESC_END): Likewise.
39619 (grub_iso9660_primary_voldesc): New member escape.
39620 (grub_iso9660_data): New member joliet.
39621 (grub_iso9660_convert_string): New function.
39622 (grub_iso9660_mount): Detect joliet extension.
39623 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
39624 (grub_iso9660_iso9660_label): Likewise.
39625
39626 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
39627 (grub_setup_SOURCES): Add fs/udf.c.
39628 (grub_fstest_SOURCES): Likewise.
39629 (udf_mod_SOURCES): New variable.
39630 (udf_mod_CFLAGS): Likewise.
39631 (udf_mod_LDFLAGS): Likewise.
39632
39633 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
39634 (grub_emu_SOURCES): Likewise.
39635
39636 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39637
39638 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39639
39640 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39641
39642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39643
39644 * fs/udf.c: New file.
39645
8a594a17 396462008-02-24 Robert Millan <rmh@aybabtu.com>
39647
39648 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
39649 (normal/lexer.c_DEPENDENCIES): New variables.
39650 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39651 (normal/lexer.c_DEPENDENCIES): Likewise.
39652 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
39653 (normal/lexer.c_DEPENDENCIES): Likewise.
39654 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
39655 (normal/lexer.c_DEPENDENCIES): Likewise.
39656 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39657 (normal/lexer.c_DEPENDENCIES): Likewise.
39658 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39659 (normal/lexer.c_DEPENDENCIES): Likewise.
39660
2dc33c03 396612008-02-23 Robert Millan <rmh@aybabtu.com>
39662
39663 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
39664 since they were intended to be in hex. This didn't break previously
39665 because of a bug in gpt_partition_map_iterate() (see below).
39666
39667 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
39668 when checking the validity of GPT header.
39669 Remove `partno', since it always provides the same information as `i'.
39670
f6f4cfb0 396712008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
39672
39673 * include/grub/efi/time.h: Fix a wrong comment.
39674
79ff665f 396752008-02-19 Pavel Roskin <proski@gnu.org>
39676
39677 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
39678 message.
39679
d38e24c2 396802008-02-19 Bean <bean123ch@gmail.com>
39681
39682 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
39683 (aout_mod_SOURCES): New variable.
39684 (aout_mod_CFLAGS): Likewise.
39685 (aout_mod_LDFLAGS): Likewise.
39686 (_bsd_mod_SOURCES): New variable.
39687 (_bsd_mod_CFLAGS): Likewise.
39688 (_bsd_mod_LDFLAGS): Likewise.
39689 (bsd_mod_SOURCES): New variable.
39690 (bsd_mod_CFLAGS): Likewise.
39691 (bsd_mod_LDFLAGS): Likewise.
39692
39693 * include/grub/aout.h: New file.
39694
39695 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
39696
39697 * include/grub/i386/bsd.h: New file.
39698
39699 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
39700 to make it public.
39701
39702 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
39703 function is called, so that it's possible to change it inside the hook.
39704 (grub_elf64_load): Likewise.
39705 (grub_elf_file): Don't close the file if elf header is not found.
39706 (grub_elf_close): Close the file if grub_elf_file fails (The new
39707 grub_elf_file won't close it).
39708 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
39709 (grub_elf64_size): Likewise.
39710
39711 * kern/i386/loader.S (grub_unix_real_boot): New function.
39712
39713 * loader/aout.c: New file.
39714
39715 * loader/i386/bsd.c: New file.
39716
39717 * loader/i386/bsd_normal.c: New file.
39718
39719 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
39720
39721 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 39722 can test other formats.
d38e24c2 39723
b93bdb0f 397242008-02-19 Robert Millan <rmh@aybabtu.com>
39725
39726 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
39727 (grub_gpt_partition_type_empty): Redefine with macro from
39728 `<grub/gpt_partition.h>'.
39729 (gpt_partition_map_iterate): Adjust partition type comparison.
39730
39731 Export `entry' as partmap-specific `part.data' struct.
39732 (grub_gpt_header, grub_gpt_partentry): Move from here ...
39733
39734 * include/grub/gpt_partition.h (grub_gpt_header)
39735 (grub_gpt_partentry): ... to here (new file).
39736
39737 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
39738
39739 (grub_gpt_partition_type_bios_boot): New const variable, defined
39740 with macro from `<grub/gpt_partition.h>'.
39741
39742 (setup): Replace `first_start' with `embed_region', which keeps
39743 track of the embed region (and is partmap-agnostic).
39744
39745 Replace find_first_partition_start() with find_usable_region(),
39746 which finds a usable region for embedding using partmap-specific
39747 knowledge (supports PC/MSDOS and GPT).
39748
39749 Fix all assumptions that the embed region start at sector 1, using
39750 `embed_region.start' from now on. Similarly, use `embed_region.end'
39751 rather than `first_start' to calculate available size.
39752
39753 In grub_util_info() message, replace "into after the MBR" with an
39754 indication of the specific sector our embed region starts at.
39755
66cb40f6 397562008-02-19 Robert Millan <rmh@aybabtu.com>
39757
39758 * DISTLIST: Replace `commands/ieee1275/halt.c' and
39759 `commands/ieee1275/reboot.c' with `commands/halt.c' and
39760 `commands/reboot.c'.
39761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
39762 (halt_mod_SOURCES): Likewise.
39763 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
39764 (halt_mod_SOURCES): Likewise.
39765
b7202015 397662008-02-17 Christian Franke <franke@computer.org>
39767
39768 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
39769
32b0fc49 397702008-02-17 Robert Millan <rmh@aybabtu.com>
39771
39772 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
39773 set `first_start' to 0 for non-PC/MSDOS partition maps.
39774
aca63502 397752008-02-16 Robert Millan <rmh@aybabtu.com>
39776
39777 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
39778 do not assume partition map is PC/MSDOS before performing checks that
39779 are specific to that layout.
39780
0de8be86 397812008-02-13 Robert Millan <rmh@aybabtu.com>
39782
39783 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
39784 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
39785 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
39786
c3db8364 397872008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
39788
39789 * configure.ac: Only a cosmetic change on the handling of
39790 -fno-stack-protector.
39791
f714229e 397922008-02-12 Alexandre Boeglin <alex@boeglin.org>
39793
c3db8364 39794 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
39795 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
39796 reboot.c.
f714229e 39797 (grub_install_SOURCES): Add halt.mod and reboot.mod.
39798 (halt_mod_SOURCES): New variable.
39799 (halt_mod_CFLAGS): Likewise.
39800 (halt_mod_LDFLAGS): Likewise.
39801 (reboot_mod_SOURCES): Likewise.
39802 (reboot_mod_CFLAGS): Likewise.
39803 (reboot_mod_LDFLAGS): Likewise.
39804
c3db8364 39805 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
39806 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
39807 reboot.c.
f714229e 39808 (halt_mod_SOURCES): Likewise.
39809 (reboot_mod_SOURCES): Likewise.
39810
c3db8364 39811 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
39812 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 39813 (reboot_mod_SOURCES): Likewise.
39814
39815 * commands/i386/pc/reboot.c: merge this file ...
39816
39817 * commands/ieee1275/reboot.c: ... and this file ...
39818
39819 * commands/reboot.c: ... to this file.
c3db8364 39820 Add some precompiler directive to include the correct header for
39821 each machine.
f714229e 39822
39823 * commands/ieee1275/halt.c: move this file ...
39824
39825 * commands/halt.c: ... to here.
c3db8364 39826 Add some precompiler directive to include the correct header for
39827 each machine.
f714229e 39828
39829 * include/grub/efi/efi.h (grub_reboot): New function declaration.
39830 (grub_halt): Likewise.
39831
39832 * kern/efi/efi.c (grub_reboot): New function.
39833 (grub_halt): Likewise.
39834
c74493e0 398352008-02-12 Robert Millan <rmh@aybabtu.com>
39836
39837 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
39838 /dev (like it is done for /dev/mapper). This doesn't provide support
39839 for EVMS, but at least it is now easy to identify the problem when it
39840 arises.
39841
d0db4b04 398422008-02-11 Robert Millan <rmh@aybabtu.com>
39843
39844 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
39845 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
39846 comparing it with -1, not 0.
39847
bf748642 398482008-02-10 Robert Millan <rmh@aybabtu.com>
39849
39850 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
39851 `disk/lvm.c'.
39852 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39853 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
39854
39855 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
39856 `disk/lvm.c' to the end of the list.
39857 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39858 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39859
b5db202a 398602008-02-10 Robert Millan <rmh@aybabtu.com>
39861
39862 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
39863 grub_print_error() instead. This will let user know why we're entering
39864 rescue mode.
39865 Based on suggestions from Sam Morris.
39866
83abee31 398672008-02-10 Alexandre Boeglin <alex@boeglin.org>
39868
39869 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
39870 on remaining N args, instead of "--" arg N times.
39871
78d5a08b 398722008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
39873
39874 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
39875 (fill_with_default_glyph): Changed to use unknown_glyph for fill
39876 pattern for unknown glyphs.
39877
68807e5f 398782008-02-09 Robert Millan <rmh@aybabtu.com>
39879
39880 * configure.ac: Probe for `help2man'.
39881 * Makefile.in (builddir): New variable.
39882 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
39883 or otherwise add a few flags/options to it.
39884 (install-local): For every executable utility or script that is
39885 installed, invoke $(HELP2MAN) to install a manpage based on --help
39886 output.
39887
39888 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
39889 that it doesn't prevent --help from working in build tree.
39890
39891 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
39892 with `bug-grub@gnu.org'.
39893 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
39894 * util/update-grub.in (usage): New function.
39895 Implement proper argument check, with support for --help and --version
39896 (as well as existing -y).
39897
398982008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 39899
39900 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
39901 avoid overwriting previous output.
39902 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
39903
c1962162 399042008-02-09 Robert Millan <rmh@aybabtu.com>
39905
39906 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
39907 drawing the menu.
39908
3dac2e3f 399092008-02-09 Robert Millan <rmh@aybabtu.com>
39910
39911 * commands/sleep.c: New file.
39912 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
39913 (sleep_mod_SOURCES): New variable.
39914 (sleep_mod_CFLAGS): Likewise.
39915 (sleep_mod_LDFLAGS): Likewise.
39916
7a634e08 399172008-02-09 Robert Millan <rmh@aybabtu.com>
39918
39919 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
39920 situations in which we can deduce the RAID size and the superblock
39921 doesn't match it.
39922
b92f0c18 399232008-02-09 Robert Millan <rmh@aybabtu.com>
39924
39925 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
39926 and return a grub_diskmemberlist_t composed of LVM physical volumes.
39927 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
39928
39929 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
39930 and return a grub_diskmemberlist_t composed of physical array members.
39931 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
39932
39933 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
39934 prototype.
39935 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
39936 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
39937 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
39938
39939 * util/grub-probe.c (probe): Move partmap probing code from here ...
39940 (probe_partmap): ... to here.
39941 (probe): Use probe_partmap() once for the disk we're probing, and
39942 additionally, when such disk contains a memberlist() struct member,
39943 once for each disk that is contained in the structure returned by
39944 memberlist().
39945
91a4bf68 399462008-02-09 Robert Millan <rmh@aybabtu.com>
39947
39948 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
39949 environment variable to 'all' in order to obtain debug output from
39950 non-util/ code.
39951 * util/i386/pc/grub-setup.c (main): Likewise.
39952
a96f9caa 399532008-02-08 Robert Millan <rmh@aybabtu.com>
39954
39955 * disk/raid.c (grub_raid_scan_device): Check for
39956 `array->device[sb.this_disk.number]' rather than for
39957 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 39958 guaranteed to be accessible.
a96f9caa 39959
b37a9222 399602008-02-08 Robert Millan <rmh@aybabtu.com>
39961
39962 * disk/raid.c: Update copyright.
39963 * fs/cpio.c: Likewise.
39964 * include/grub/raid.h: Likewise.
39965 * loader/i386/pc/multiboot.c: Likewise.
39966 * util/hostfs.c: Likewise.
39967
5626aee1 399682008-02-08 Robert Millan <rmh@aybabtu.com>
39969
39970 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
39971 to a grub_disk_t array.
39972 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
39973 `device[x]'.
39974 (grub_raid_scan_device): Replace `device[x].name' accesses with
39975 `device[x]->name'. Simplify initialization of `array->device[x]'.
39976
554f0187 399772008-02-08 Robert Millan <rmh@aybabtu.com>
39978
39979 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
39980 grub_dprintf() calls.
39981 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
39982 error message.
39983
1ec8425d 399842008-02-07 Christian Franke <franke@computer.org>
39985
39986 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
39987 instead of fseek and ftell to support large files.
39988 (grub_hostfs_read): Likewise.
39989
f2156fda 399902008-02-07 Robert Millan <rmh@aybabtu.com>
39991
39992 Patch from Jeroen Dekkers.
39993 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 39994 failure, since successfully reading all array members might not be
f2156fda 39995 required.
39996
9216e0e7 399972008-02-06 Robert Millan <rmh@aybabtu.com>
39998
39999 * util/grub-probe.c (probe): Simplify partmap probing (with the
40000 assumption that the first word up to the underscore equals to
40001 the module name).
40002
b0dfd29a 400032008-02-06 Christian Franke <franke@computer.org>
40004
40005 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
40006 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
40007 last block of a cpio or tar stream.
40008 Check for "TRAILER!!!" instead of any empty data
40009 block to detect last block of a cpio stream.
40010 (grub_cpio_dir): Fix constness of variable np.
40011 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
40012 cpio or tar trailer is detected. This fixes a crash
40013 on open of a non existing file.
40014
c32865bf 400152008-02-05 Bean <bean123ch@gmail.com>
40016
40017 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
40018 address of entry.
40019 (grub_multiboot_load_elf64): Likewise.
40020 (grub_multiboot): Initialize mbi structure.
40021
40022 * util/grub-fstest.c: Don't include unused header file script.h.
40023
fe6b695a 40024 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 40025 of file.
40026 (grub_fstest_SOURCES): Likewise.
40027
409480b7 400282008-02-05 Robert Millan <rmh@aybabtu.com>
40029
40030 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
40031 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
40032 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
40033 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
40034
40035 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
40036 (translation_table): Replace hardcoded values with macros
40037 provided by `<grub/term.h>'.
40038
40039 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
40040 (keyboard_map): Correct/add a few values, with macros provided
40041 by `<grub/term.h>'.
40042 (keyboard_map_shift): Zero values that don't differ from their
40043 `keyboard_map' equivalents.
40044 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
40045 Discard the second scan code that is always sent by Caps lock.
40046 Only use `keyboard_map_shift' when it provides a non-zero value,
40047 otherwise fallback to `keyboard_map'.
40048
99fadbaa 400492008-02-04 Bean <bean123ch@gmail.com>
40050
40051 * Makefile.in (enable_grub_fstest): New variable.
40052
40053 * conf/common.rmk (grub_fstest_init.lst): New rule.
40054 (grub_fstest_init.h): Likewise.
40055 (grub_fstest_init.c): Likewise.
40056 (util/grub-fstest.c_DEPENDENCIES): New variable.
40057 (grub_fstest_SOURCES): Likewise.
40058
40059 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
40060
40061 * util/grub-fstest.c: New file.
40062
bf567c50 400632008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40064
40065 Make grub-setup handle a separate root device.
f19dbdb7 40066
bf567c50 40067 * util/i386/pc/grub-setup.c (setup): Always open the root device,
40068 so that the root device can be compared with the destination
40069 device.
40070 When embedding the core image, if the root and destination devices
40071 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
40072 0xFF.
40073 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 40074
9be6b98b 400752008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40076
40077 Add support for having a grub directory in a different drive. This
40078 is still only the data handling part.
f19dbdb7 40079
9be6b98b 40080 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
40081 (codestart): Save %dh in GRUB_ROOT_DRIVE.
40082 (grub_root_drive): New variable.
40083
40084 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
40085 instead of GRUB_BOOT_DRIVE to construct a device name. Set
40086 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
40087 as it was.
40088
40089 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
40090
40091 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
40092 macro.
40093 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
40094
40095 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
40096 is bogus, because PXE booting does not specify any drive
40097 correctly.
40098
40099 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
40100 am not sure if this is really correct.
40101
40102 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
40103 is always identical to the boot drive when booting from a CD.
40104
40105 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
40106 longer.
40107 (root_drive): New variable.
40108 (real_start): Unconditionally set %dh to ROOT_DRIVE.
40109 (setup_sectors): Push %dx right after popping it, because %dh will
40110 be modified later.
40111 (copy_buffer): Restore %dx.
40112
e0ca0677 401132008-02-03 Robert Millan <rmh@aybabtu.com>
40114
40115 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
40116 use `cdboot.img' for cdrom images.
40117
3b3f6629 401182008-02-03 Robert Millan <rmh@aybabtu.com>
40119
40120 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
40121 only setup gfxterm when `font' command has succeeded.
40122
d42b3672 401232008-02-03 Robert Millan <rmh@aybabtu.com>
40124
40125 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
40126 (grub_rescue_cmd_multiboot_loader)
40127 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
40128
fa370ea6 401292008-02-03 Pavel Roskin <proski@gnu.org>
40130
e0c5dacb 40131 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 40132 %edx and %esi from stack only after grub_gate_a20() is called.
40133 grub_gate_a20() clobbers %edx.
40134
f2a76e1d 401352008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40136
40137 * configure.ac (AC_INIT): Bumped to 1.96.
40138
40139 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
40140 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
40141 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
40142 video/readers/png.c.
40143
90fd32d1 401442008-02-03 Bean <bean123ch@gmail.com>
9be665dd 40145
40146 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
40147 (cdboot_img_SOURCES): New variable.
40148 (cdboot_img_ASFLAGS): New variable.
40149 (cdboot_img_LDFLAGS): New variable.
40150
40151 * boot/i386/pc/cdboot.S: New file.
40152
40153 * disk/i386/pc/biosdisk.c (cd_start): New variable.
40154 (cd_count): Likewise.
40155 (grub_biosdisk_get_drive): Add support for cd device.
40156 (grub_biosdisk_call_hook): Likewise.
40157 (grub_biosdisk_iterate): Likewise.
40158 (grub_biosdisk_open): Likewise.
40159 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
40160 (grub_biosdisk_rw): Support reading from cd device.
40161 (GRUB_MOD_INIT): Iterate cd devices.
40162
40163 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
40164 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
40165 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
40166
40167 * kern/i386/pc/init.c (make_install_device): Check for cd device.
40168
4020aa53 401692008-02-02 Robert Millan <rmh@aybabtu.com>
40170
40171 * commands/read.c: New file.
40172 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
40173 (read_mod_SOURCES): New variable.
40174 (read_mod_CFLAGS): Likewise.
40175 (read_mod_LDFLAGS): Likewise.
40176
e03a1132 401772008-02-02 Robert Millan <rmh@aybabtu.com>
40178
40179 * normal/main.c (grub_normal_execute): Check for `menu->size' when
40180 determining whether menu has to be displayed.
40181
58c69220 401822008-02-02 Marco Gerards <marco@gnu.org>
40183
40184 * bus/pci.c: New file.
40185
40186 * include/grub/pci.h: Likewise.
40187
40188 * include/grub/i386/pc/pci.h: Likewise.
40189
40190 * commands/lspci.c: Likewise.
40191
40192 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
40193 `lspci.mod'.
40194 (pci_mod_SOURCES): New variable.
40195 (pci_mod_CFLAGS): Likewise.
40196 (pci_mod_LDFLAGS): Likewise.
40197 (lspci_mod_SOURCES): Likewise.
40198 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 40199 (lspci_mod_LDFLAGS): Likewise.
58c69220 40200
c004e1b4 402012008-02-02 Bean <bean123ch@gmail.com>
40202
40203 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
40204 (grub_ufs_get_file_block): Fix indirect block calculation problem.
40205
40206 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
40207 (grub_xfs_btree_node): New structure.
40208 (grub_xfs_btree_root): New structure.
40209 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
40210 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
40211 (GRUB_XFS_EXTENT_BLOCK): Likewise.
40212 (GRUB_XFS_EXTENT_SIZE): Likewise.
40213 (grub_xfs_read_block): Support btree format type.
40214 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
40215 Use directory block as basic unit.
40216
40217 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
40218
40219 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
40220 __attribute__ ((__regparm__ (1))).
40221
f95562bf 402222008-02-01 Robert Millan <rmh@aybabtu.com>
40223
40224 Correct a mistake in previous commit.
40225
40226 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
40227 top.
40228 (normal/command.c_DEPENDENCIES): New variable.
40229
7d31f41f 402302008-02-01 Robert Millan <rmh@aybabtu.com>
40231
40232 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
40233 top.
40234 (normal/command.c_DEPENDENCIES): New variable.
40235 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
40236 * conf/i386-ieee1275.rmk: Likewise.
40237 * conf/i386-linuxbios.rmk: Likewise.
40238 * conf/i386-pc.rmk: Likewise.
40239 * conf/sparc64-ieee1275.rmk: Likewise.
40240 * conf/powerpc-ieee1275.rmk: Likewise.
40241 (grub_emu_SOURCES): Add `fs/fshelp.c'.
40242
40243 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
40244
60b6be74 402452008-02-01 Robert Millan <rmh@aybabtu.com>
40246
40247 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
40248 call at beginning of function.
40249
078522ab 402502008-01-31 Pavel Roskin <proski@gnu.org>
40251
40252 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 40253 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
40254 (grub_mkrescue_SOURCES): Likewise.
078522ab 40255 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
40256
ccaa8a5f 402572008-01-30 Robert Millan <rmh@aybabtu.com>
40258
40259 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
40260 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
40261 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
40262 (grub_probe_SOURCES): ... to here.
40263
40264 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
40265 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
40266 * conf/i386-ieee1275.rmk: Likewise.
40267 * conf/i386-linuxbios.rmk: Likewise.
40268 * conf/powerpc-ieee1275.rmk: Likewise.
40269
ae5a9cd7 402702008-01-30 Tristan Gingold <gingold@free.fr>
40271
40272 * kern/rescue.c: Silently accept empty lines.
40273
70bc2ef2 402742008-01-29 Bean <bean123ch@gmail.com>
40275
40276 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
40277 (real_code_2): Code cleanup and change comment style.
40278 (move_memory): Avoid using 32-bit address mode.
40279
6a4d50ea 402802008-01-29 Bean <bean123ch@gmail.com>
40281
40282 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
40283 (png_mod_SOURCES): New variable.
40284 (png_mod_CFLAGS): Likewise.
40285 (png_mod_LDFLAGS): Likewise.
40286
40287 * video/readers/png.c: New file.
40288
11cc30ac 402892008-01-28 Robert Millan <rmh@aybabtu.com>
40290
40291 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
40292 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
40293 `ifndef GRUB_MOD_GAP' hack.
40294 * util/elf/grub-mkimage.c (add_segments): Likewise.
40295
3abc589f 402962008-01-27 Robert Millan <rmh@aybabtu.com>
40297
40298 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
40299 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 40300 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 40301
e1907778 403022008-01-27 Robert Millan <rmh@aybabtu.com>
40303
40304 Get grub-emu to build again (including parallel builds).
40305
40306 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
40307 Split into ...
40308 (util/grub-emu.c_DEPENDENCIES): ... this, ...
40309 (normal/execute.c_DEPENDENCIES): ... this, ...
40310 (grub-emu_DEPENDENCIES): ... and this.
40311
40312 * conf/i386-efi.rmk: Likewise.
40313 * conf/i386-linuxbios.rmk: Likewise.
40314 * conf/i386-ieee1275.rmk: Likewise.
40315 * conf/powerpc-ieee1275.rmk: Likewise.
40316 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
40317
2216b101 403182008-01-27 Robert Millan <rmh@aybabtu.com>
40319
40320 * NEWS: Add a few items.
40321
f75172d9 403222008-01-27 Robert Millan <rmh@aybabtu.com>
40323
40324 Fix parallel builds with grub-emu. Based on earlier commit for
40325 grub-probe and grub-setup.
40326
40327 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40328 (util/grub-emu.c_DEPENDENCIES): ... this.
40329 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40330 (util/grub-emu.c_DEPENDENCIES): ... this.
40331 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40332 (util/grub-emu.c_DEPENDENCIES): ... this.
40333 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40334 (util/grub-emu.c_DEPENDENCIES): ... this.
40335 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40336 (util/grub-emu.c_DEPENDENCIES): ... this.
40337
3f51de77 403382008-01-27 Pavel Roskin <proski@gnu.org>
40339
40340 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
40341 to create a gap between _end and the modules added to the image
40342 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
40343 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
40344 * util/elf/grub-mkimage.c (add_segments): Likewise.
40345
2033f53e 403462008-01-26 Pavel Roskin <proski@gnu.org>
40347
40348 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
40349 just return an error.
40350
22da1f6f 403512008-01-26 Bean <bean123ch@gmail.com>
40352
40353 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
40354 (grub_reiserfs_get_item): Save offset of the next item.
40355 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
40356
2a9525e6 403572008-01-25 Robert Millan <rmh@aybabtu.com>
40358
40359 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
40360 make all filesystem sources appear together (possibly fixing omissions
40361 while at it).
40362 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40363 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40364 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40365 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40366
40367 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
40368 add `kern/file.c'.
40369 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
40370 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
40371 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
40372 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
40373
40374 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
40375 (probe): Add a sanity check to make sure of our ability to read
40376 requested files when probing for filesystem type.
40377
40378 * genmk.rb: Update copyright year (2007).
40379
40380 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
40381 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
40382 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
40383 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
40384 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
40385 : Remove function prototypes.
40386
b95f71b5 403872008-01-25 Robert Millan <rmh@aybabtu.com>
40388
40389 Revert my previous commits (based on wrong assumption of how grub_errno
40390 works).
40391
fe6b695a 40392 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 40393 * kern/file.c (grub_file_open): Likewise.
40394
d08bbb49 403952008-01-24 Pavel Roskin <proski@gnu.org>
40396
40397 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
40398 that hang if GRUB tries to setup colors.
40399 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
40400 colors for firmwares that don't support it.
40401 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
40402 Recognize Open Hack'Ware, set flags to work around its
40403 limitations.
40404
605e36ed 404052008-01-24 Robert Millan <rmh@aybabtu.com>
40406
40407 * kern/file.c (grub_file_open): Do not account previous failures of
40408 unrelated functions when grub_errno is checked for.
40409 Reported by Oleg Strikov.
40410
bac332a1 404112008-01-24 Bean <bean123ch@gmail.com>
40412
40413 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
40414 (grub_ufs_sblock): New member volume name.
40415 (grub_ufs_find_file): Fix string copy bug.
40416 (grub_ufs_label): Implement this function properly.
40417
40418 * fs/hfs.c (grub_hfs_cnid_type): New enum.
40419 (grub_hfs_iterate_records): Use the correct file number for extents
40420 and catalog file. Fix problem in next index calculation.
40421 (grub_hfs_find_node): Replace recursive function call with loop.
40422 (grub_hfs_iterate_dir): Replace recursive function call with loop.
40423
15c80c09 404242008-01-23 Robert Millan <rmh@aybabtu.com>
40425
40426 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
40427 `<grub/symbol.h>' and `<grub/multiboot.h>'.
40428 (grub_multiboot2_real_boot): New function prototype.
40429
40430 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
40431 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
40432
40433 * kern/i386/ieee1275/init.c (grub_os_area_addr)
40434 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
40435
305338fd 404362008-01-23 Robert Millan <rmh@aybabtu.com>
40437
40438 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
40439 #ifdef'ed out grub_printf().
40440
3ea52685 404412008-01-23 Robert Millan <rmh@aybabtu.com>
40442
40443 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
40444 grub_dprintf calls, since they make "debug=all" mode unusable.
40445 (grub_console_checkkey): Likewise.
40446
5882ae4b 404472008-01-23 Robert Millan <rmh@aybabtu.com>
40448
40449 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40450 `term/i386/pc/at_keyboard.c'.
40451 (pkglib_MODULES): Add `serial.mod'.
40452 (serial_mod_SOURCES): New variable.
40453 (serial_mod_CFLAGS): Likewise.
40454 (serial_mod_LDFLAGS): Likewise.
40455
40456 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
40457 `<grub/powerpc/ieee1275/console.h>'.
40458 (grub_keyboard_controller_init): New function prototype.
40459 (grub_console_checkkey): Likewise.
40460 (grub_console_getkey): Likewise.
40461
40462 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
40463 keyboard on i386.
40464
40465 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
40466 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
40467
06ab5303 404682008-01-23 Robert Millan <rmh@aybabtu.com>
40469
40470 * kern/i386/pc/init.c (make_install_device): When memdisk image is
40471 present, "(memdisk)/boot/grub" becomes the default prefix.
40472
40473 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
40474 a memdisk tarball with all the modules. Add --overlay=DIR option that
40475 allows users to overlay additional files into the image.
40476
dbb475a4 404772008-01-23 Robert Millan <rmh@aybabtu.com>
40478
40479 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
40480 and `machine/memory.h'.
40481 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
40482 (_multiboot_mod_SOURCES): New variable.
40483 (_multiboot_mod_CFLAGS): Likewise.
40484 (_multiboot_mod_LDFLAGS): Likewise.
40485 (multiboot_mod_SOURCES): Likewise.
40486 (multiboot_mod_CFLAGS): Likewise.
40487 (multiboot_mod_LDFLAGS): Likewise.
40488
40489 * include/grub/i386/ieee1275/loader.h: New file.
40490
40491 * include/grub/i386/ieee1275/machine.h: Likewise.
40492
40493 * include/grub/i386/ieee1275/memory.h: Likewise.
40494
40495 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
40496 variable declaration.
40497 (grub_os_area_size): Likewise.
40498
40499 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
40500 (grub_lower_mem, grub_upper_mem): New variables.
40501 (grub_stop_floppy): New function (just to make
40502 grub_multiboot2_real_boot() happy).
40503
40504 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
40505 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
40506 (grub_stop): New function.
40507 Include `"../realmode.S"' and `"../loader.S"'.
40508
40509 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
40510 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
40511
40512 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
40513 rely on grub_multiboot2_real_boot() for final boot.
40514
25638629 405152008-01-22 Robert Millan <rmh@aybabtu.com>
40516
40517 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
40518 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
40519 device that doesn't look like an SD card.
40520 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
40521 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
40522 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
40523 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
40524 found.
40525
9dad816d 405262008-01-22 Robert Millan <rmh@aybabtu.com>
40527
40528 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
40529 avoid claiming over our own code.
40530
34842f2d 405312008-01-22 Bean <bean123ch@gmail.com>
40532
40533 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
40534 (jpeg_mod_SOURCES): New variable.
40535 (jpeg_mod_CFLAGS): Likewise.
40536 (jpeg_mod_LDFLAGS): Likewise.
40537
40538 * video/readers/jpeg.c : New file.
40539
44023a28 405402008-01-22 Bean <bean123ch@gmail.com>
40541
40542 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
40543 there are no more items.
40544
bc2d8ac6 405452008-01-21 Robert Millan <rmh@aybabtu.com>
40546
40547 * kern/mm.c (grub_mm_init_region): Improve debug message.
40548
261bd4bc 405492008-01-21 Robert Millan <rmh@aybabtu.com>
40550
40551 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
40552 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
40553 address.
40554 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
40555 a C macro.
40556 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
40557 Indicates start of upper memory.
40558 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
40559 (generate_image): Abort when image size is big enough to corrupt
40560 upper memory.
40561
40562 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
40563 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
40564 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
40565 instead of hardcoding 0xA0000.
40566 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
40567 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
40568 instead of hardcoding 0xA0000.
40569
f970b55e 405702008-01-21 Robert Millan <rmh@aybabtu.com>
40571
40572 * disk/memdisk.c (memdisk_size): New variable.
40573 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
40574 `memdisk_size'.
40575 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
40576 image to dynamic memory.
40577 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
40578 `memdisk_size'. Free memdisk block.
40579
1a8b0526 405802008-01-21 Robert Millan <rmh@aybabtu.com>
40581
40582 Fix detection of very small filesystems (like tar).
40583
40584 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
40585 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
40586 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
40587 a problem with this disk).
40588
6e9b4aab 405892008-01-21 Robert Millan <rmh@aybabtu.com>
40590
40591 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
40592 on grub_biosdisk_rw_standard() error.
40593
0d8837b2 405942008-01-21 Robert Millan <rmh@aybabtu.com>
40595
40596 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
40597 recent changes.
40598 * kern/elf.c: Likewise.
40599 * kern/ieee1275/ieee1275.c: Likewise.
40600 * kern/powerpc/ieee1275/openfw.c: Likewise.
40601 * term/ieee1275/ofconsole.c: Likewise.
40602
ffd36e34 406032008-01-21 Robert Millan <rmh@aybabtu.com>
40604
40605 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
40606
3f0093d0 40607 * include/grub/kernel.h (grub_arch_memdisk_addr)
40608 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 40609
3f0093d0 40610 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
40611 (grub_arch_memdisk_size): ... to here.
ffd36e34 40612
6c391b21 406132008-01-21 Robert Millan <rmh@aybabtu.com>
40614
40615 Mostly based on bugfix from Bean.
40616
40617 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
40618 attribute with hook() parameter.
40619 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
40620 declaration.
40621 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
40622 attribute with hook() parameter.
40623 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
40624 declaration.
40625
55a581dc 406262008-01-21 Robert Millan <rmh@aybabtu.com>
40627
40628 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
40629 (pkglib_MODULES): Add `memdisk.mod'.
40630 (memdisk_mod_SOURCES): New variable.
40631 (memdisk_mod_CFLAGS): Likewise.
40632 (memdisk_mod_LDFLAGS): Likewise.
40633
40634 * disk/memdisk.c: New file.
40635
40636 * include/grub/disk.h (grub_disk_dev_id): Add
40637 `GRUB_DISK_DEVICE_MEMDISK_ID'.
40638
40639 * include/grub/i386/pc/kernel.h
40640 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
40641 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
40642 (grub_kernel_image_size): New variable declaration.
40643 (grub_total_module_size): Likewise.
40644 (grub_memdisk_image_size): Likewise.
40645
40646 * include/grub/i386/pc/memory.h
40647 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
40648
40649 * include/grub/kernel.h: Include `<grub/symbol.h>'.
40650 (grub_arch_memdisk_addr): New variable declaration.
40651 (grub_arch_memdisk_size): Likewise.
40652
40653 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
40654 (grub_arch_memdisk_size): Likewise.
40655
40656 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
40657 (codestart): Replace hardcoded `0x100000' with
40658 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
40659
40660 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
40661 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
40662 not NULL, append the contents of the file it refers to, at the end of
40663 the compressed kernel image. Initialize `grub_memdisk_image_size'
40664 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
40665 (options): Add "memdisk"|'m' option.
40666 (main): Parse --memdisk|-m option, and pass user-provided path as
40667 parameter to generate_image().
40668
3d7f54c9 406692008-01-20 Robert Millan <rmh@aybabtu.com>
40670
40671 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
40672 grub_dprintf() calls from here ...
40673 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
40674
0bf74728 406752008-01-20 Robert Millan <rmh@aybabtu.com>
40676
40677 Fix detection of "real mode" when /options/real-mode? doesn't exist.
40678
40679 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
40680 declaration.
40681 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
40682 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
40683 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 40684 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 40685 property).
40686 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
40687 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
40688
33bf70a7 406892008-01-19 Robert Millan <rmh@aybabtu.com>
40690
fe6b695a 40691 Get rid of confusing function (superseded by
33bf70a7 40692 `grub_ieee1275_get_integer_property')
40693 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
40694 prototype.
40695 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
40696 function.
40697 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
40698 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 40699 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 40700
e2da7d26 407012008-01-19 Robert Millan <rmh@aybabtu.com>
40702
40703 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
40704 command after "shut-down", since implementations differ on which
40705 the command for halt is.
40706
59f1fd8d 407072008-01-19 Robert Millan <rmh@aybabtu.com>
40708
40709 * include/grub/i386/linuxbios/console.h: Add header protection.
40710 (grub_keyboard_controller_init): New function prototype.
40711 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
40712 (KEYBOARD_COMMAND_READ): Likewise.
40713 (KEYBOARD_COMMAND_WRITE): Likewise.
40714 (KEYBOARD_SCANCODE_SET1): Likewise.
40715 (grub_keyboard_controller_write): New function.
40716 (grub_keyboard_controller_read): Likewise.
40717 (grub_keyboard_controller_init): Likewise.
40718
40719 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
40720 (grub_console_init): On coreboot/LinuxBIOS, call
40721 grub_keyboard_controller_init().
40722
5f5a7c15 407232008-01-19 Robert Millan <rmh@aybabtu.com>
40724
40725 PowerPC changes provided by Pavel Roskin.
40726
40727 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
40728 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
40729 don't rely on cmain() doing it.
40730 * kern/i386/ieee1275/startup.S (_start): Store %eax in
40731 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
40732
1210e168 407332008-01-16 Robert Millan <rmh@aybabtu.com>
40734
40735 * include/grub/i386/linuxbios/memory.h
40736 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
40737 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
40738 receive `table_header' as argument. Instead, probe for it in the
40739 known memory ranges where it can be present.
40740 (grub_available_iterate): Do not pass a fixed `table_header' address
40741 to grub_linuxbios_table_iterate().
40742
3d04eab8 407432008-01-15 Robert Millan <rmh@aybabtu.com>
40744
40745 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
40746 * conf/i386-ieee1275.rmk: New file.
40747 * include/grub/i386/ieee1275/console.h: Likewise.
40748 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
40749 * include/grub/i386/ieee1275/kernel.h: Likewise.
40750 * include/grub/i386/ieee1275/time.h: Likewise.
40751 * kern/i386/ieee1275/init.c: Likewise.
40752 * kern/i386/ieee1275/startup.S: Likewise.
40753
d1bc1b73 407542008-01-15 Robert Millan <rmh@aybabtu.com>
40755
40756 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
40757 when pointers are 32-bit (but still do set it to one when they are
40758 64-bit).
40759
66a65807 407602008-01-15 Robert Millan <rmh@aybabtu.com>
40761
40762 * include/grub/ieee1275/ieee1275.h
40763 (grub_ieee1275_get_integer_property): New function prototype.
40764
40765 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
40766 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 40767 grub_ieee1275_get_property() to handle endianness.
66a65807 40768
40769 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
40770 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 40771 where appropriate.
66a65807 40772 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
40773 (grub_map): Likewise.
40774 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
40775
a83ccafd 407762008-01-15 Bean <bean123ch@gmail.com>
40777
40778 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
40779 (grub_script_execute_cmdline): Reset grub_errno.
40780
40781 * normal/main.c (read_config_file): Reset grub_errno.
40782
40783 * normal/parse.y (script_init): New.
40784 (script): Move function and menuentry here.
40785 (delimiter): New.
40786 (command): Add delimiter at the end of command.
40787 (commands): Adjust to match the new command.
40788 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 40789 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 40790 (if): Use the new commands.
40791
40792 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
40793
df6ecfc6 407942008-01-15 Robert Millan <rmh@aybabtu.com>
40795
40796 * normal/menu.c (run_menu): Move timeout message from here ...
40797 (print_timeout): ... to here.
40798 (run_menu): Use print_timeout() once during initial draw to print
40799 the whole message, and again in every clock tick to update only
40800 the number of seconds.
40801
87ae25eb 408022008-01-15 Robert Millan <rmh@aybabtu.com>
40803
40804 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
40805 actual size of `available' from grub_ieee1275_get_property(), and
40806 restrict parsing to that bound.
40807
47bf09a4 408082008-01-15 Christian Franke <franke@computer.org>
40809
40810 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
40811 (argp_program_version): Remove variable.
40812 (argp_program_bug_address): Likewise.
40813 (options): Convert from struct argp_option to struct option.
40814 (struct arguments): Remove.
40815 (parse_opt): Remove.
40816 (usage): New function.
40817 (main): Replace struct args members by simple variables.
40818 Replace argp_parse() by getopt_long().
40819 Add switch to evaluate options.
40820 Add missing "(...)" around root_dev in prefix string.
40821
c86f1469 408222008-01-14 Robert Millan <rmh@aybabtu.com>
40823
40824 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
40825 for grub_ieee1275_exit(), in order to improve portability.
40826
e622c559 408272008-01-14 Robert Millan <rmh@aybabtu.com>
40828
40829 * util/grub.d/10_linux.in (prefix): Define.
40830 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
40831
44cb1ec8 408322008-01-13 Pavel Roskin <proski@gnu.org>
40833
40834 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
40835 grub_errno if no errors have been detected.
40836
1eb8c802 408372008-01-12 Robert Millan <rmh@aybabtu.com>
40838
40839 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
40840 (grub_util_get_dev_abstraction): New function prototype.
40841
40842 * util/getroot.c: Include `<grub/util/getroot.h>'
40843 (grub_util_get_grub_dev): Move detection of abstraction type to ...
40844 (grub_util_get_dev_abstraction): ... here (new function).
40845
40846 * util/grub-probe.c: Convert PRINT_* to an enum. Add
40847 `PRINT_ABSTRACTION'.
40848 (probe): Probe for abstraction type when requested.
40849 (main): Understand `--target=abstraction'.
40850
40851 * util/i386/efi/grub-install.in: Add abstraction module to core
40852 image when it is found to be necessary.
40853 * util/i386/pc/grub-install.in: Likewise.
40854 * util/powerpc/ieee1275/grub-install.in: Likewise.
40855
40856 * util/update-grub_lib.in (font_path): Return system path without
40857 converting to GRUB path.
40858 * util/update-grub.in: Convert system path returned by font_path()
40859 to a GRUB path. Use `grub-probe -t abstraction' to determine what
40860 abstraction module is needed for loading fonts (if any). Export
40861 that as `GRUB_PRELOAD_MODULES'.
40862 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
40863 insmod commands).
40864
52bd3de9 408652008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
40866
40867 Remove some unused code from reiserfs.
f19dbdb7 40868
52bd3de9 40869 * fs/reiserfs.c (struct grub_reiserfs_key)
40870 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
40871 (struct grub_reiserfs_node_body): Removed.
40872 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
40873 Likewise.
40874 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40875 Likewise.
40876 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40877 Likewise.
40878 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40879 Likewise.
40880 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
40881 Likewise.
40882 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
40883 Likewise.
40884 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40885 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40886 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40887
2f80039d 408882008-01-10 Robert Millan <rmh@aybabtu.com>
40889
40890 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
40891 Determines if a file is garbage left by packaging systems, etc.
40892 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
40893 for processing /etc/grub.d scripts.
40894 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
40895 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
40896 as a condition for processing Linux images.
40897
87888032 408982008-01-10 Pavel Roskin <proski@gnu.org>
40899
40900 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
40901 to compile reiserfs.c on PowerPC.
40902
7e54fced 409032008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 40904
40905 * kern/device.c (grub_device_iterate): Do not abort device iteration
40906 when one of the devices cannot be opened.
40907 * kern/disk.c (grub_disk_open): Do not account previous failures of
40908 unrelated functions when grub_errno is checked for.
40909
5aa541e6 409102008-01-08 Robert Millan <rmh@aybabtu.com>
40911
40912 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
40913 `! grub_linux_is_bzimage', change order of address comparison to make
40914 it more intuitive, and improve "too big zImage" error message.
40915
7076340d 409162008-01-08 Robert Millan <rmh@aybabtu.com>
40917
40918 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
40919 `$(update-grub_DATA)'.
40920 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
40921 targets.
40922
9ca70333 409232008-01-07 Robert Millan <rmh@aybabtu.com>
40924
40925 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
40926 which instruction is modified by grub-setup during installation
40927 (since it wasn't obvious by only looking at this file).
40928
38ccf575 409292008-01-07 Robert Millan <rmh@aybabtu.com>
40930
40931 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
40932 listing actual TODO items.
40933
f5db4291 409342008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40935
868967cf 40936 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
40937 correctly.
40938 (grub_reiserfs_get_key_offset): Likewise.
40939 (grub_reiserfs_set_key_offset): Likewise.
40940 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 40941 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 40942
40943 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
40944 better to remove the bitfield version completely.
f19dbdb7 40945
868967cf 409462008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40947
f5db4291 40948 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
40949 allocated from the heap, due to the fshelp implementation.
40950 (grub_reiserfs_dir): Free NODE, due to the same reason.
40951
492e6d9d 409522008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40953
40954 Mostly from Vincent Pelletier:
f19dbdb7 40955
492e6d9d 40956 * fs/reiserfs.c: New file.
f19dbdb7 40957
492e6d9d 40958 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
40959 (reiserfs_mod_SOURCES): New variable.
40960 (reiserfs_mod_CFLAGS): Likewise.
40961 (reiserfs_mod_LDFLAGS): Likewise.
40962
40963 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
40964 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
40965 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
40966 normal/color.c.
40967
9ce3e7c1 409682008-01-06 Robert Millan <rmh@aybabtu.com>
40969
40970 * normal/color.c: Remove `<grub/env.h>'.
40971
f3b58148 409722008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
40973
40974 * include/grub/normal.h: Include <grub/env.h>.
40975
7ac3bcfa 409762008-01-05 Robert Millan <rmh@aybabtu.com>
40977
40978 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
40979 usage example with `(hd0,1)'.
fb358190 40980 Reported by Samuel Thibault.
7ac3bcfa 40981
c8ee99d7 409822008-01-05 Robert Millan <rmh@aybabtu.com>
40983
40984 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
40985 (grub_linux_boot_zimage): Rename to ...
40986 (grub_linux_boot): ... this.
40987 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
40988 (grub_linux_boot_zimage): Conditionalize zImage copy.
40989
40990 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
40991 (grub_linux_boot_bzimage): Remove prototype.
40992 (grub_linux_boot_zimage): Rename to ...
40993 (grub_linux_boot): ... this.
40994
40995 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
40996 (grub_linux_boot): Remove function.
40997
0ece25b1 409982008-01-05 Robert Millan <rmh@aybabtu.com>
40999
41000 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
41001 (grub_env_write_color_highlight): Likewise.
41002 (grub_wait_after_message): Likewise.
41003
41004 * normal/color.c: New file.
41005
41006 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41007 (normal_mod_DEPENDENCIES): Likewise.
41008
41009 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41010 (normal_mod_DEPENDENCIES): Likewise.
41011
41012 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41013 (normal_mod_DEPENDENCIES): Likewise.
41014
41015 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41016 (normal_mod_DEPENDENCIES): Likewise.
41017
41018 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
41019 for waiting after a message is printed.
41020 * normal/main.c (read_config_file): Likewise.
41021 (grub_normal_init): Register grub_env_write_color_normal() and
41022 grub_env_write_color_highlight() hooks. Mark `color_normal' and
41023 `color_highlight' variables as global.
41024
41025 * normal/menu.c (grub_wait_after_message): New function.
41026 (grub_color_menu_normal): New variable. Replaces ...
41027 (GRUB_COLOR_MENU_NORMAL): ... this macro.
41028 (grub_color_menu_highlight): New variable. Replaces ...
41029 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
41030 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
41031 `GRUB_TERM_COLOR_STANDARD'.
41032 (print_message): Use `grub_setcolorstate' to reload colors. Rename
41033 `normal_code' and `highlight_code' to `old_color_normal' and
41034 `old_color_highlight', respectively.
41035 (grub_menu_init_page): Update colors when drawing the menu, based on
41036 `menu_color_normal' and `menu_color_highlight' variables.
41037 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
41038 a message is printed.
41039
182dd4e5 410402008-01-05 Robert Millan <rmh@aybabtu.com>
41041
41042 * kern/env.c (grub_env_context_open): Propagate hooks for global
41043 variables to new context.
41044
41045 * kern/main.c (grub_set_root_dev): Export `root' variable.
41046
ddf8f6ad 410472008-01-05 Robert Millan <rmh@aybabtu.com>
41048
41049 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 41050 discs unconditionally, since udev and others have options to provide
ddf8f6ad 41051 them.
41052
d8b43d9b 410532008-01-05 Robert Millan <rmh@aybabtu.com>
41054
41055 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
41056
2bff2de3 410572008-01-04 Christian Franke <franke@computer.org>
41058
41059 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
41060 of eisa_mmap.
41061
97eab917 410622008-01-03 Pavel Roskin <proski@gnu.org>
41063
41064 * kern/i386/linuxbios/init.c: Put "void" to all function
41065 declarations with no arguments.
41066 * kern/powerpc/ieee1275/init.c: Likewise.
41067 * term/i386/pc/at_keyboard.c: Likewise.
41068 * term/i386/pc/vga_text.c: Likewise.
41069 * util/grub-mkdevicemap.c: Likewise.
41070
b9416d00 410712008-01-02 Robert Millan <rmh@aybabtu.com>
41072
41073 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
41074 message when loaded image is out of bounds.
41075 (grub_multiboot_load_elf64): Likewise.
41076
92695df9 410772008-01-02 Pavel Roskin <proski@gnu.org>
41078
41079 * util/grub.d/10_linux.in: Try version without ".old" when
41080 looking for initrd. It's better to use initrd from the newer
41081 kernel of the same version than no initrd at all.
41082
d98d9cad 410832008-01-01 Robert Millan <rmh@aybabtu.com>
41084
41085 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
41086
dbfdce36 410872008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
41088
f19dbdb7 41089 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 41090 grub_video_get_active_render_target.
41091 (grub_video_adapter): Added unmap_color and get_active_render_target.
41092
f19dbdb7 41093 * video/video.c: Added grub_video_unmap_color and
dbfdce36 41094 grub_video_get_active_render_target.
41095 (grub_video_get_info): Changed method to accept NULL pointer as an
41096 argument to allow detection of active video adapter.
41097
41098 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
41099 grub_video_vbe_unmap_color_int.
41100 Added grub_video_vbe_unmap_color and
41101 grub_video_vbe_get_active_render_target.
41102 (grub_video_vbe_adapter): Added unmap_color and
41103 get_active_render_target.
41104
f19dbdb7 41105 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 41106 with grub_video_vbe_unmap_color_int.
41107
41108 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
41109 (DEFAULT_NORMAL_COLOR): Likewise.
41110 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
41111 (DEFAULT_FG_COLOR): Removed.
41112 (DEFAULT_BG_COLOR): Likewise.
41113 (DEFAULT_CURSOR_COLOR): Changed value.
41114 (grub_virtual_screen): Added standard_color_setting,
41115 normal_color_setting, highlight_color_setting and term_color.
41116 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
41117 (bitmap_width): Added.
41118 (bitmap_height): Likewise.
41119 (bitmap): Likewise.
41120 (set_term_color): Likewise.
41121 (grub_virtual_screen_setup): Changed to use new terminal coloring
41122 settings.
41123 (grub_gfxterm_init): Added init for bitmap.
41124 (grub_gfxterm_fini): Added destroy for bitmap.
41125 (redraw_screen_rect): Updated to use background bitmap and new
41126 terminal coloring.
41127 (scroll_up): Added optimization for case when there is no bitmap.
41128 (grub_gfxterm_cls): Fixed to use correct background color.
41129 (grub_virtual_screen_setcolorstate): Changed to use new terminal
41130 coloring.
41131 (grub_virtual_screen_setcolor): Likewise.
41132 (grub_virtual_screen_getcolor): Added.
41133 (grub_gfxterm_background_image_cmd): Likewise.
41134 (grub_video_term): Added setcolor and getcolor.
41135 (MOD_INIT): Added registration of background_image command.
41136 (MOD_TERM): Added unregistration for background_image command.
41137
c3c20931 411382007-12-30 Pavel Roskin <proski@gnu.org>
41139
41140 * loader/multiboot_loader.c: Fix multiboot command
41141 unregistration. Fix all typos in the word "multiboot".
41142
df266716 411432007-12-29 Pavel Roskin <proski@gnu.org>
94239199 41144
41145 * util/grub.d/10_linux.in: Refactor search for initrd. Add
41146 support for initrd names used in Fedora.
41147
fc6e896c 411482007-12-26 Bean <bean123ch@gmail.com>
41149
41150 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
41151 (cpio_mod_SOURCES): New variable.
41152 (cpio_mod_CFLAGS): Likewise.
41153 (cpio_mod_LDFLAGS): Likewise.
41154
41155 * fs/cpio.c: New file.
41156
41157 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
41158
41159 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41160
41161 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41162
41163 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41164
533110ad 411652007-12-25 Robert Millan <rmh@aybabtu.com>
41166
41167 * include/grub/term.h (struct grub_term): Add `getcolor' function.
41168 (grub_getcolor): New function.
41169
41170 * kern/term.c (grub_getcolor): New function.
41171 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
41172 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
41173 (print_entry): Set normal and highlight colors to
41174 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
41175 respectively, before printing and restore them to old
41176 values afterwards.
41177 (grub_menu_init_page): Likewise. Fill an additional colored space
41178 that would otherwise be left blank.
41179
41180 * term/efi/console.c (grub_console_getcolor): New function.
41181 (struct grub_console_term.getcolor): New variable.
41182 * term/i386/pc/console.c (grub_console_getcolor): New function.
41183 (struct grub_console_term.getcolor): New variable.
41184 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
41185 (struct grub_console_term.getcolor): New variable.
41186
41187 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
41188 (struct grub_console_term.setcolor): Remove variable.
41189 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
41190 (struct grub_console_term.setcolor): Remove variable.
41191 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
41192 (struct grub_console_term.setcolor): Remove variable.
41193 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
41194 (struct grub_console_term.setcolor): Remove variable.
41195
4931827f 411962007-12-25 Robert Millan <rmh@aybabtu.com>
41197
41198 * configure.ac: Search for possible unifont.hex locations, and
41199 define UNIFONT_HEX if found.
41200
41201 * Makefile.in (UNIFONT_HEX): Define variable.
41202 (DATA): Rename to ...
41203 (PKGLIB): ... this. Update all users.
41204 (PKGDATA): New variable.
41205 (pkgdata_IMAGES): Rename to ...
41206 (pkglib_IMAGES): ... this. Update all users.
41207 (pkgdata_MODULES): Rename to ...
41208 (pkglib_MODULES): ... this. Update all users.
41209 (pkgdata_PROGRAMS): Rename to ...
41210 (pkglib_PROGRAMS): ... this. Update all users.
41211 (pkgdata_DATA): Rename to ...
41212 (pkglib_DATA): ... this. Update all users.
41213 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
41214 (unicode.pff, ascii.pff): New rules.
41215 (all-local): Add `$(PKGDATA)' dependency.
41216 (install-local): Process `$(PKGDATA)'.
41217
41218 * util/update-grub_lib.in (font_path): Search for *.pff files in
41219 a few more locations, including `${pkgdata}'.
41220
57e57e31 412212007-12-23 Robert Millan <rmh@aybabtu.com>
41222
41223 Patch from Bean <bean123ch@gmail.com>:
41224 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
41225 `size'.
41226
4bc72aa9 412272007-12-21 Bean <bean123ch@gmail.com>
41228
41229 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
41230 (ntfscomp_mod_SOURCES): New variable.
41231 (ntfscomp_mod_CFLAGS): Likewise.
41232 (ntfscomp_mod_LDFLAGS): Likewise.
41233
41234 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
41235 (grub_probe_SOURCES): Likewise.
41236 (grub_emu_SOURCES): Likewise.
41237
41238 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41239 (grub_emu_SOURCES): Likewise.
41240
41241 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41242 (grub_emu_SOURCES): Likewise.
41243
41244 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41245 (grub_emu_SOURCES): Likewise.
41246
41247 * fs/ntfs.c (grub_ntfscomp_func): New variable.
41248 (read_run_list): Renamed to grub_ntfs_read_run_list.
41249 (decomp_nextvcn): Moved to ntfscomp.c.
41250 (decomp_getch): Likewise.
41251 (decomp_get16): Likewise.
41252 (decomp_block): Likewise.
41253 (read_block): Likewise.
41254 (read_data): Partially moved to ntfscomp.c.
41255 (fixup): Change unsigned to grub_uint16_t.
41256 (read_mft): Change unsigned long to grub_uint32_t.
41257 (read_attr): Likewise.
41258 (read_data): Likewise.
41259 (read_run_data): Likewise.
41260 (read_run_list): Likewise.
41261 (read_mft): Likewise.
41262
41263 * fs/ntfscomp.c: New file.
41264
41265 * include/grub/ntfs.h: New file.
41266
af680a87 412672007-12-16 Robert Millan <rmh@aybabtu.com>
41268
41269 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
41270 IDE disk check, since Linux is known to support 20 IDE disks.
41271 Reported by Colin Watson.
41272
84be7599 412732007-12-15 Bean <bean123ch@gmail.com>
41274
41275 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
41276 (lnxboot_img_SOURCES): New variable.
41277 (lnxboot_img_ASFLAGS): Likewise.
41278 (lnxboot_img_LDFLAGS): Likewise.
41279
41280 * boot/i386/pc/lnxboot.S: New file.
41281
6af9db01 412822007-11-24 Pavel Roskin <proski@gnu.org>
41283
41284 * configure.ac: Test if '--build-id=none' is supported by the
41285 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
41286 objcopy to generate incorrect binary files (binutils
41287 2.17.50.0.18-1 as shipped by Fedora 8).
41288 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
41289 linking, so that build ID doesn't break the test.
41290
7361cfe6 412912007-11-24 Pavel Roskin <proski@gnu.org>
41292
41293 * include/grub/i386/time.h: use "void" in the argument list
41294 of grub_cpu_idle().
41295 * include/grub/powerpc/time.h: Likewise.
41296 * include/grub/sparc64/time.h: Likewise.
41297
1593e10c 412982007-11-18 Christian Franke <franke@computer.org>
41299
41300 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
41301 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
41302 This fixes the problem that function keys did not work in grub-emu.
41303
3b8db1a8 413042007-11-18 Christian Franke <franke@computer.org>
41305
41306 * disk/host.c (grub_host_open): Remove attribute unused from
41307 name parameter. Add check for "host". This fixes the problem
41308 that grub-emu does not find partitions.
41309
2e29408d 413102007-11-18 Christian Franke <franke@computer.org>
41311
41312 * util/hostfs.c (is_dir): New function.
41313 (grub_hostfs_dir): Handle missing dirent.d_type case.
41314 (grub_hostfs_read): Add missing fseek().
41315 (grub_hostfs_label): Clear label pointer. This fixes a crash
41316 of grub-emu on "ls (host)".
41317
398cd047 413182007-11-18 Christian Franke <franke@computer.org>
41319
41320 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
41321 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
41322 to 64 bit boundary by default.
41323
c405c391 413242007-11-18 Bean <bean123ch@gmail.com>
41325
41326 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
41327 (hexdump_mod_SOURCES): New variable.
41328 (hexdump_mod_CFLAGS): Likewise.
41329 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 41330
c405c391 41331 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41332
41333 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41334
41335 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41336
41337 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41338
41339 * include/grub/hexdump.h: New file.
41340
41341 * commands/hexdump.c: New file.
41342
5cced7fd 413432007-11-10 Robert Millan <rmh@aybabtu.com>
41344
41345 * commands/i386/pc/play.c (beep_off): Switch order of arguments
41346 in grub_outb() calls.
41347 (beep_on): Likewise.
41348
8b714eb0 413492007-11-10 Christian Franke <franke@computer.org>
41350
41351 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
41352 (grub_menu_run): Likewise.
41353
ce0f1839 413542007-11-10 Robert Millan <rmh@aybabtu.com>
41355
41356 * include/grub/i386/efi/machine.h: New file.
41357 * include/grub/i386/linuxbios/machine.h: Likewise.
41358 * include/grub/i386/pc/machine.h: Likewise.
41359 * include/grub/powerpc/ieee1275/machine.h: Likewise.
41360 * include/grub/sparc64/ieee1275/machine.h: Likewise.
41361
41362 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
41363 (serial_hw_io_addr): New variable.
41364 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
41365 instead of `(unsigned short *) 0x400'.
41366
270c237d 413672007-11-10 Bean <bean123ch@gmail.com>
41368
41369 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
41370
a87783bf 413712007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
41372
41373 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
41374 (vga_mod_SOURCES): Added.
41375 (vga_mod_CFLAGS): Likewise.
41376 (vga_mod_LDFLAGS): Likewise.
41377
41378 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
41379 grub_outb() calls.
41380 (set_map_mask): Likewise.
41381 (set_read_map): Likewise.
41382 (set_read_address): Likewise.
41383 (vga_font): Removed variable.
41384 (get_vga_glyph): Removed function.
41385 (invalidate_char): Likewise.
41386 (write_char): Changed to use grub_font_get_glyph() for font
41387 information.
41388 (grub_vga_putchar): Likewise.
41389 (grub_vga_getcharwidth): Likewise.
41390
6433b448 413912007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
41392
41393 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
41394 flags.
41395 (pxeboot_img_LDFLAGS): Likewise.
41396 (diskboot_img_LDFLAGS): Likewise.
41397 (kernel_img_LDFLAGS): Likewise.
41398
49178511 413992007-11-06 Robert Millan <rmh@aybabtu.com>
41400
41401 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
41402 in grub_outb() calls.
41403 (serial_hw_init): Likewise.
41404
53b052de 414052007-11-05 Robert Millan <rmh@aybabtu.com>
41406
41407 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
41408 spaces. Skip non-regular files.
41409
5ab33bba 414102007-11-05 Robert Millan <rmh@aybabtu.com>
41411
41412 * kern/disk.c (grub_disk_firmware_fini)
41413 (grub_disk_firmware_is_tainted): New variables.
41414
41415 * include/grub/disk.h (grub_disk_firmware_fini)
41416 (grub_disk_firmware_is_tainted): Likewise.
41417
41418 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
41419 (grub_disk_biosdisk_fini): ... to here.
41420 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
41421 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
41422 is set. Register grub_disk_biosdisk_fini() in
41423 `grub_disk_firmware_fini'.
41424
41425 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
41426 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
41427 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
41428 to finish existing firmware disk interface.
41429
41430 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
41431 (ata_mod_SOURCES): New variable.
41432 (ata_mod_CFLAGS): Likewise.
41433 (ata_mod_LDFLAGS): Likewise.
41434
0149ab7c 414352007-11-05 Robert Millan <rmh@aybabtu.com>
41436
41437 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
41438 (grub_ata_wait): Reimplement using grub_millisleep().
41439
41440 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
41441 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
41442
be7ac41e 414432007-11-03 Marco Gerards <marco@gnu.org>
41444
41445 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
41446 (CRTC_ADDR_PORT): New macro.
41447 (CRTC_DATA_PORT): Likewise.
41448 (CRTC_CURSOR): Likewise.
41449 (CRTC_CURSOR_ADDR_HIGH): Likewise.
41450 (CRTC_CURSOR_ADDR_LOW): Likewise.
41451 (update_cursor): New function.
41452 (grub_console_real_putchar): Call `update_cursor'.
41453 (grub_console_gotoxy): Likewise.
41454 (grub_console_cls): Set the default color when clearing the
41455 screen.
41456 (grub_console_setcursor): Implemented.
41457
bb06ab2e 414582007-11-03 Marco Gerards <marco@gnu.org>
41459
41460 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
41461 become activate.
41462 (grub_ata_pio_write): Likewise.
41463
41464 (grub_atapi_identify): Wait after issuing an ATA command.
41465 (grub_atapi_packet): Likewise.
41466 (grub_ata_identify): Likewise.
41467 (grub_ata_readwrite): Likewise.
41468
cf8f780b 414692007-11-03 Marco Gerards <marco@gnu.org>
41470
41471 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
41472 (grub_ata_pio_write): Likewise.
41473 (grub_ata_readwrite): Use `grub_error', instead of
41474 returning `grub_errno'.
41475
ed649e54 414762007-11-03 Marco Gerards <marco@gnu.org>
41477
41478 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
41479 grub_ata_pio_write once for every single sector, instead of for
41480 multiple sectors.
41481
ca25d8f0 414822007-10-31 Robert Millan <rmh@aybabtu.com>
41483
41484 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
41485
41486 * conf/i386-linuxbios.rmk: New file.
41487
41488 * kern/i386/pc/hardware.c: Likewise.
41489 * term/i386/pc/at_keyboard.c: Likewise.
41490 * term/i386/pc/vga_text.c: Likewise.
41491
41492 * include/grub/i386/linuxbios/boot.h: Likewise.
41493 * include/grub/i386/linuxbios/console.h: Likewise.
41494 * include/grub/i386/linuxbios/init.h: Likewise.
41495 * include/grub/i386/linuxbios/kernel.h: Likewise.
41496 * include/grub/i386/linuxbios/loader.h: Likewise.
41497 * include/grub/i386/linuxbios/memory.h: Likewise.
41498 * include/grub/i386/linuxbios/serial.h: Likewise.
41499 * include/grub/i386/linuxbios/time.h: Likewise.
41500
41501 * kern/i386/linuxbios/init.c: Likewise.
41502 * kern/i386/linuxbios/startup.S: Likewise.
41503 * kern/i386/linuxbios/table.c: Likewise.
41504
e911ecc1 415052007-10-31 Marco Gerards <marco@gnu.org>
41506
41507 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
41508 (ata_mod_SOURCES): New variable.
41509 (ata_mod_CFLAGS): Likewise.
41510 (ata_mod_LDFLAGS): Likewise.
41511
41512 * disk/ata.c: New file.
41513
41514 * include/grub/disk.h (grub_disk_dev_id): Add
41515 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 41516
7f66d0e0 415172007-10-31 Robert Millan <rmh@aybabtu.com>
41518
41519 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
41520 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
41521
41522 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
41523 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
41524
41525 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
41526 `<grub/types.h>'.
41527
41528 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
41529
5cd7dd46 415302007-10-27 Robert Millan <rmh@aybabtu.com>
41531
3236ca65 41532 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 41533
2ebfc90f 415342007-10-22 Robert Millan <rmh@aybabtu.com>
41535
41536 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
41537 `"../realmode.S"'.
41538 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
41539
73fcb0f3 415402007-10-22 Robert Millan <rmh@aybabtu.com>
41541
41542 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
41543 (pkgdata_MODULES): Add `biosdisk.mod'.
41544 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
41545 variables.
41546
41547 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
41548 (grub_biosdisk_init): Replace with ...
41549 (GRUB_MOD_INIT(biosdisk)): ... this.
41550 (grub_biosdisk_fini): Replace with ...
41551 (GRUB_MOD_FINI(biosdisk)): ... this.
41552
41553 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
41554 (grub_machine_init): Remove call to grub_biosdisk_init().
41555 (grub_machine_fini): Remove call to grub_machine_fini().
41556
41557 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
41558
3381d274 415592007-10-22 Robert Millan <rmh@aybabtu.com>
41560
41561 * include/grub/time.h: New file.
41562 * include/grub/i386/time.h: Likewise.
41563 * include/grub/powerpc/time.h: Likewise.
41564 * include/grub/sparc64/time.h: Likewise.
41565
41566 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
41567 instances to ...
41568 (KERNEL_MACHINE_TIME_HEADER): ... this.
41569 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
41570 instances to ...
41571 (KERNEL_MACHINE_TIME_HEADER): ... this.
41572 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
41573 instances to ...
41574 (KERNEL_MACHINE_TIME_HEADER): ... this.
41575
41576 * kern/i386/efi/init.c: Include `<grub/time.h>'.
41577 (grub_millisleep): New function.
41578 * kern/i386/pc/init.c: Include `<grub/time.h>'.
41579 (grub_millisleep): New function.
41580 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
41581 Remove `grub/machine/time.h' include.
41582 (grub_millisleep): New function.
41583 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
41584 Remove `grub/machine/time.h' include.
41585 (grub_millisleep): New function.
41586
41587 * include/grub/misc.h (grub_div_roundup): New function.
41588
41589 * kern/misc.c: Include `<grub/time.h>'.
41590 (grub_millisleep_generic): New function.
41591
41592 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
41593 Add `time.h'.
41594 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
41595 Add `time.h'.
41596 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
41597 `machine/time.h'. Add `time.h'.
41598 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
41599
a39a0312 416002007-10-21 Robert Millan <rmh@aybabtu.com>
41601
41602 * include/grub/misc.h (grub_max): New function.
41603
2aad70e2 416042007-10-21 Robert Millan <rmh@aybabtu.com>
41605
41606 * util/misc.c (grub_util_info): Call fflush() before returning.
41607
54b71c4b 416082007-10-20 Robert Millan <rmh@aybabtu.com>
41609
41610 * genmk.rb (Image): Copy `extra_flags' from here ...
41611 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
41612
41613 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
41614 to `argc' and `args' arguments.
41615
a979f513 416162007-10-17 Robert Millan <rmh@aybabtu.com>
41617
41618 * kern/i386/loader.S: New file.
41619
41620 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
41621 * kern/i386/loader.S (grub_linux_prot_size)... to here.
41622 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
41623 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
41624 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
41625 * kern/i386/loader.S (grub_linux_real_addr)... to here.
41626 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
41627 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
41628 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
41629 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
41630 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
41631 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
41632 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
41633 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
41634
41635 * kern/i386/realmode.S: New file.
41636
41637 * kern/i386/pc/startup.S (protstack): Moved from here ...
41638 * kern/i386/realmode.S (protstack)... to here.
41639 * kern/i386/pc/startup.S (gdt): Moved from here ...
41640 * kern/i386/realmode.S (gdt)... to here.
41641 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
41642 * kern/i386/realmode.S (prot_to_real)... to here.
41643
41644 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
41645 `kern/i386/realmode.S'.
41646
825fc8fd 416472007-10-17 Robert Millan <rmh@aybabtu.com>
41648
41649 * include/grub/i386/loader.h: New file.
41650
41651 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
41652 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
41653 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
41654 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
41655 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
41656 * include/grub/i386/loader.h (grub_linux_prot_size)
41657 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
41658 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
41659 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
41660 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
41661
41662 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
41663
e179b2f4 416642007-10-15 Robert Millan <rmh@aybabtu.com>
41665
41666 * normal/misc.c (grub_normal_print_device_info): Do not probe for
41667 filesystem when dev->disk is unset.
41668 Do probe for filesystem even when dev->disk->has_partitions is set.
41669 In case a filesystem is found, always report it.
41670 In case it isn't, if dev->disk->has_partitions is set, report that
41671 a partition table was found instead of reporting that no filesystem
41672 could be identified.
41673
5db82af6 416742007-10-12 Robert Millan <rmh@aybabtu.com>
41675
41676 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
41677 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
41678
68f6ac74 41679 * include/grub/types.h (grub_host_to_target16): New macro.
41680 (grub_host_to_target32): Likewise.
41681 (grub_host_to_target64): Likewise.
41682 (grub_target_to_host16): Likewise.
41683 (grub_target_to_host32): Likewise.
41684 (grub_target_to_host64): Likewise.
5db82af6 41685
41686 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
41687 Renamed from to ...
41688 (GRUB_MOD_ALIGN): ...this. Update all users.
41689
68f6ac74 41690 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
41691 grub_host_to_target32.
41692 Replace grub_be_to_cpu32 with grub_target_to_host32.
41693 (load_modules): Likewise.
41694 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
41695 Replace grub_be_to_cpu32 with grub_target_to_host32.
41696 Replace grub_cpu_to_be16 with grub_host_to_target16.
41697 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 41698
3cf497cc 416992007-10-12 Robert Millan <rmh@aybabtu.com>
41700
41701 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
41702 * util/elf/grub-mkimage.c: ... here.
41703
41704 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
41705 `util/powerpc/ieee1275/grub-mkimage.c'.
41706
c8cc3692 417072007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 41708
c8cc3692 41709 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
41710 and make it easier to figure out.
41711 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
41712 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
41713 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
41714 leave us with less than HEAP_MIN_SIZE total heap.
41715 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 41716
5c58b791 417172007-10-03 Robert Millan <rmh@aybabtu.com>
41718
41719 * include/grub/i386/io.h: New file.
41720 * commands/i386/pc/play.c (inb): Removed.
41721 (outb): Removed.
41722 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
41723 with grub_outb().
afcd2ef8 41724 * term/i386/pc/serial.c (inb): Removed.
41725 (outb): Removed.
41726 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
41727 with grub_outb().
41728 * term/i386/pc/vga.c (inb): Removed.
41729 (outb): Removed.
41730 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
41731 with grub_outb().
5c58b791 41732
1a477ed6 417332007-10-02 Robert Millan <rmh@aybabtu.com>
41734
41735 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
41736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41737 Reported by Marcin Kurek.
41738
6b5d80fa 417392007-09-07 Robert Millan <rmh@aybabtu.com>
41740
41741 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
41742 SmartFirmware version updates (as released by Sven Luther), and avoid
41743 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
41744 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
41745 known broken.
41746
5618afbf 417472007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41748
41749 From Hitoshi Ozeki:
41750 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
41751 when merging two regions.
41752
6139dcd9 417532007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41754
508e39ee 41755 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
41756 * normal/completion.c (grub_normal_do_completion): Likewise.
41757 Reported by Hitoshi Ozeki.
41758
417592007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41760
6139dcd9 41761 Do not use devices at boot in chainloading.
f19dbdb7 41762
6139dcd9 41763 * loader/i386/pc/chainloader.c (boot_drive): New variable.
41764 (boot_part_addr): Likewise.
41765 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
41766 with BOOT_DRIVE and BOOT_PART_ADDR.
41767 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
41768 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
41769
38da6516 417702007-08-29 Robert Millan <rmh@aybabtu.com>
41771
41772 Patch from Simon Peter <dn.tlp@gmx.net>:
41773 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
41774 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
41775 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
41776 util/i386/pc/grub-setup.c_DEPENDENCIES.
41777 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
41778 util/grub-probe.c_DEPENDENCIES.
41779 * conf/powerpc-ieee1275.rmk: Likewise.
41780
29d0928c 417812007-08-28 Robert Millan <rmh@aybabtu.com>
41782
41783 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
41784 to tell grub-mkdevicemap how to name devices.
41785 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
41786 feature).
41787
41788 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
41789 util/i386/get_disk_name.c.
41790 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
41791 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
41792 util/ieee1275/get_disk_name.c.
41793
41794 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
41795
41796 * DISTLIST: Add util/i386/get_disk_name.c and
41797 util/ieee1275/get_disk_name.c.
41798
41799 * util/grub-mkdevicemap.c: Replace device naming logic with
41800 grub_util_get_disk_name() calls.
41801
5a0d3cca 418022007-08-20 Robert Millan <rmh@aybabtu.com>
41803
41804 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
41805 (so that it works for both plural and singular quantities).
41806
8b72db2f 418072007-08-05 Robert Millan <rmh@aybabtu.com>
41808
41809 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
41810 so that [xz] isn't taken into account when determining order.
41811
352466bf 418122007-08-02 Marco Gerards <marco@gnu.org>
41813
41814 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
41815 `include/multiboot2.h', `include/grub/elfload.h',
41816 `include/multiboot.h', `include/grub/multiboot.h',
41817 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
41818 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
41819 `kern/elf.c', `loader/multiboot_loader.c',
41820 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
41821 `loader/i386/pc/multiboot2.c',
41822 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
41823 `util/i386/pc/grub-mkrescue.in'. Remove
41824 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
41825 `include/grub/i386/pc/util/biosdisk.h' and
41826 `include/grub/powerpc/ieee1275/multiboot.h'.
41827
8f096014 418282007-08-02 Bean <bean123ch@gmail.com>
41829
41830 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
41831 (ntfs_mod_SOURCES): New variable.
41832 (ntfs_mod_CFLAGS): Likewise.
41833 (ntfs_mod_LDFLAGS): Likewise.
41834
41835 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
41836 (grub_probe_SOURCES): Likewise.
41837 (grub_emu_SOURCES): Likewise.
41838
41839 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
41840 (grub_emu_SOURCES): Likewise.
41841
41842 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
41843 (grub_emu_SOURCES): Likewise.
f19dbdb7 41844
8f096014 41845 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
41846
41847 * fs/ntfs.c: New file.
41848
9959f7db 418492007-08-02 Bean <bean123ch@gmail.com>
41850
41851 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
41852
41853 * file.h (grub_file): Likewise.
41854
41855 * fshelp.h (grub_fshelp_read_file): Likewise.
41856
41857 * util/i386/pc/grub-setup.c (setup): Likewise.
41858 (save_first_sector): Likewise.
41859 (save_blocklists): Likewise.
f19dbdb7 41860
9959f7db 41861 * fs/affs.c (grub_affs_read_file): Likewise.
41862
41863 * fs/ext2.c (grub_ext2_read_file): Likewise.
41864
41865 * fs/fat.c (grub_fat_read_data): Likewise.
41866
41867 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
41868
41869 * fs/hfs.c (grub_hfs_read_file): Likewise.
41870
41871 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41872
41873 * fs/jfs.c (grub_jfs_read_file): Likewise.
41874
41875 * fs/minix.c (grub_minix_read_file): Likewise.
41876
41877 * fs/sfs.c (grub_sfs_read_file): Likewise.
41878
41879 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 41880
9959f7db 41881 * fs/xfs.c (grub_xfs_read_file): Likewise.
41882
41883 * command/blocklist.c (read_blocklist): Likewise.
41884 (print_blocklist): Likewise.
41885
0a203f83 418862007-08-02 Marco Gerards <marco@gnu.org>
41887
41888 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
41889 `util/hostfs.c'.
41890
41891 * disk/host.c: New file.
41892
41893 * util/hostfs.c: Likewise.
41894
41895 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
41896 return `GRUB_ERR_BAD_FS'.
41897 * fs/sfs.c (grub_sfs_mount): Likewise.
41898 * fs/xfs.c (grub_xfs_mount): Likewise.
41899
41900 * include/grub/disk.h (enum grub_disk_dev_id): Add
41901 `GRUB_DISK_DEVICE_HOST_ID'.
41902
41903 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
41904
e5dfe777 419052007-07-24 Jerone Young <jerone@gmail.com>
41906
f19dbdb7 41907 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 41908 modules for compilation.
41909 * conf/powerpc-ieee1275.rmk: Likewise.
41910
41911 * include/multiboot.h: Move multiboot definitions to one file. Rename
41912 many definitions to not get grub specific.
41913 * include/multiboot2.h: Create header with multiboot 2 definitions.
41914 * include/grub/multiboot.h: Header for grub specific function
41915 prototypes and definitions.
41916 * include/grub/multiboot2.h: Likewise.
41917 * include/grub/multiboot_loader.h: Likewise.
41918 * include/grub/i386/pc/multiboot.h: Removed.
41919 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
41920
41921 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
41922 and 2 to allow for one multiboot and module commands.
41923 * loader/multiboot2.c: Add multiboot2 functionality.
41924 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
41925 and definition names.
41926 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
41927 2 functions.
41928 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
41929 ieee1275 specific multiboot2 code.
41930
41931 * kern/i386/pc/startup.S: Change headers and definition names for
41932 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
41933
daf0f0ba 419342007-07-22 Robert Millan <rmh@aybabtu.com>
41935
41936 * geninitheader.sh: Process file specified in first parameter rather
41937 than hardcoding grub_modules_init.lst.
fe6b695a 41938 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 41939 than hardcoding grub_modules_init.h.
41940
41941 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
41942 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
41943 grub_probe_init.[ch] and grub_setup_init.[ch].
41944
41945 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
41946 grub_modules_init.h with grub_emu_init.h.
41947 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
41948 grub_probe_init.[ch] files.
41949 * conf/i386-efi.rmk: Likewise.
41950 * conf/i386-pc.rmk: Likewise.
41951 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
41952 grub_setup_init.[ch] files.
41953
41954 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
41955 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
41956 to initialize modules rather than a list of hardcoded functions.
41957 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
41958 grub_init_all() to initialize modules rather than a list of hardcoded
41959 functions.
41960
54cdc1cc 419612007-07-22 Robert Millan <rmh@aybabtu.com>
41962
41963 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
41964 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
41965
ad0686cc 419662007-07-22 Robert Millan <rmh@aybabtu.com>
41967
41968 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41969 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
41970 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
41971 flag when running on SmartFirmware.
41972 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
41973 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
41974 was set.
41975
41976 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
41977 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
41978 rather than decreasing it.
41979
41980 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
41981 there's not enough space to do it, fail in the same way as when it
41982 can't be done because there are no partitions.
41983
41984 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
41985 when nvsetenv failed.
41986
969c02ec 419872007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
41988
41989 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
41990 because this rule is automatically generated.
41991 (grub-mkrescue): Removed for the same reason as above.
41992
5a79f472 419932007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
41994
41995 Migrate to GNU General Public License Version 3.
f19dbdb7 41996
5a79f472 41997 * COPYING: Replaced with the plain text version of GPLv3.
41998
41999 * config.guess: Updated from gnulib.
42000 * config.sub: Likewise.
42001
42002 * geninit.sh: Output a GPLv3 copyright notice.
42003 * geninitheader.sh: Likewise.
42004 * genmodsrc.sh: Likewise.
42005 * gensymlist.sh.in: Likewise.
42006
42007 * boot/i386/pc/boot.S: Upgraded to GPLv3.
42008 * boot/i386/pc/diskboot.S: Likewise.
42009 * boot/i386/pc/pxeboot.S: Likewise.
42010 * commands/blocklist.c: Likewise.
42011 * commands/boot.c: Likewise.
42012 * commands/cat.c: Likewise.
42013 * commands/cmp.c: Likewise.
42014 * commands/configfile.c: Likewise.
42015 * commands/echo.c: Likewise.
42016 * commands/help.c: Likewise.
42017 * commands/ls.c: Likewise.
42018 * commands/search.c: Likewise.
42019 * commands/terminal.c: Likewise.
42020 * commands/test.c: Likewise.
42021 * commands/videotest.c: Likewise.
42022 * commands/i386/cpuid.c: Likewise.
42023 * commands/i386/pc/halt.c: Likewise.
42024 * commands/i386/pc/play.c: Likewise.
42025 * commands/i386/pc/reboot.c: Likewise.
42026 * commands/i386/pc/vbeinfo.c: Likewise.
42027 * commands/i386/pc/vbetest.c: Likewise.
42028 * commands/ieee1275/halt.c: Likewise.
42029 * commands/ieee1275/reboot.c: Likewise.
42030 * commands/ieee1275/suspend.c: Likewise.
42031 * disk/loopback.c: Likewise.
42032 * disk/lvm.c: Likewise.
42033 * disk/raid.c: Likewise.
42034 * disk/efi/efidisk.c: Likewise.
42035 * disk/i386/pc/biosdisk.c: Likewise.
42036 * disk/ieee1275/ofdisk.c: Likewise.
42037 * font/manager.c: Likewise.
42038 * fs/affs.c: Likewise.
42039 * fs/ext2.c: Likewise.
42040 * fs/fat.c: Likewise.
42041 * fs/fshelp.c: Likewise.
42042 * fs/hfs.c: Likewise.
42043 * fs/hfsplus.c: Likewise.
42044 * fs/iso9660.c: Likewise.
42045 * fs/jfs.c: Likewise.
42046 * fs/minix.c: Likewise.
42047 * fs/sfs.c: Likewise.
42048 * fs/ufs.c: Likewise.
42049 * fs/xfs.c: Likewise.
42050 * hello/hello.c: Likewise.
42051 * include/grub/acorn_filecore.h: Likewise.
42052 * include/grub/arg.h: Likewise.
42053 * include/grub/bitmap.h: Likewise.
42054 * include/grub/boot.h: Likewise.
42055 * include/grub/cache.h: Likewise.
42056 * include/grub/device.h: Likewise.
42057 * include/grub/disk.h: Likewise.
42058 * include/grub/dl.h: Likewise.
42059 * include/grub/elfload.h: Likewise.
42060 * include/grub/env.h: Likewise.
42061 * include/grub/err.h: Likewise.
42062 * include/grub/file.h: Likewise.
42063 * include/grub/font.h: Likewise.
42064 * include/grub/fs.h: Likewise.
42065 * include/grub/fshelp.h: Likewise.
42066 * include/grub/gzio.h: Likewise.
42067 * include/grub/hfs.h: Likewise.
42068 * include/grub/kernel.h: Likewise.
42069 * include/grub/loader.h: Likewise.
42070 * include/grub/lvm.h: Likewise.
42071 * include/grub/misc.h: Likewise.
42072 * include/grub/mm.h: Likewise.
42073 * include/grub/net.h: Likewise.
42074 * include/grub/normal.h: Likewise.
42075 * include/grub/parser.h: Likewise.
42076 * include/grub/partition.h: Likewise.
42077 * include/grub/pc_partition.h: Likewise.
42078 * include/grub/raid.h: Likewise.
42079 * include/grub/rescue.h: Likewise.
42080 * include/grub/script.h: Likewise.
42081 * include/grub/setjmp.h: Likewise.
42082 * include/grub/symbol.h: Likewise.
42083 * include/grub/term.h: Likewise.
42084 * include/grub/terminfo.h: Likewise.
42085 * include/grub/tparm.h: Likewise.
42086 * include/grub/types.h: Likewise.
42087 * include/grub/video.h: Likewise.
42088 * include/grub/efi/api.h: Likewise.
42089 * include/grub/efi/chainloader.h: Likewise.
42090 * include/grub/efi/console.h: Likewise.
42091 * include/grub/efi/console_control.h: Likewise.
42092 * include/grub/efi/disk.h: Likewise.
42093 * include/grub/efi/efi.h: Likewise.
42094 * include/grub/efi/pe32.h: Likewise.
42095 * include/grub/efi/time.h: Likewise.
42096 * include/grub/i386/linux.h: Likewise.
42097 * include/grub/i386/setjmp.h: Likewise.
42098 * include/grub/i386/types.h: Likewise.
42099 * include/grub/i386/efi/kernel.h: Likewise.
42100 * include/grub/i386/efi/loader.h: Likewise.
42101 * include/grub/i386/efi/time.h: Likewise.
42102 * include/grub/i386/pc/biosdisk.h: Likewise.
42103 * include/grub/i386/pc/boot.h: Likewise.
42104 * include/grub/i386/pc/chainloader.h: Likewise.
42105 * include/grub/i386/pc/console.h: Likewise.
42106 * include/grub/i386/pc/init.h: Likewise.
42107 * include/grub/i386/pc/kernel.h: Likewise.
42108 * include/grub/i386/pc/loader.h: Likewise.
42109 * include/grub/i386/pc/memory.h: Likewise.
42110 * include/grub/i386/pc/multiboot.h: Likewise.
42111 * include/grub/i386/pc/serial.h: Likewise.
42112 * include/grub/i386/pc/time.h: Likewise.
42113 * include/grub/i386/pc/vbe.h: Likewise.
42114 * include/grub/i386/pc/vbeblit.h: Likewise.
42115 * include/grub/i386/pc/vbefill.h: Likewise.
42116 * include/grub/i386/pc/vbeutil.h: Likewise.
42117 * include/grub/i386/pc/vga.h: Likewise.
42118 * include/grub/ieee1275/ieee1275.h: Likewise.
42119 * include/grub/ieee1275/ofdisk.h: Likewise.
42120 * include/grub/powerpc/libgcc.h: Likewise.
42121 * include/grub/powerpc/setjmp.h: Likewise.
42122 * include/grub/powerpc/types.h: Likewise.
42123 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
42124 * include/grub/powerpc/ieee1275/console.h: Likewise.
42125 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
42126 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
42127 * include/grub/powerpc/ieee1275/loader.h: Likewise.
42128 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
42129 * include/grub/powerpc/ieee1275/time.h: Likewise.
42130 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
42131 * include/grub/sparc64/libgcc.h: Likewise.
42132 * include/grub/sparc64/setjmp.h: Likewise.
42133 * include/grub/sparc64/types.h: Likewise.
42134 * include/grub/sparc64/ieee1275/console.h: Likewise.
42135 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42136 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42137 * include/grub/sparc64/ieee1275/time.h: Likewise.
42138 * include/grub/util/biosdisk.h: Likewise.
42139 * include/grub/util/getroot.h: Likewise.
42140 * include/grub/util/lvm.h: Likewise.
42141 * include/grub/util/misc.h: Likewise.
42142 * include/grub/util/raid.h: Likewise.
42143 * include/grub/util/resolve.h: Likewise.
42144 * io/gzio.c: Likewise.
42145 * kern/device.c: Likewise.
42146 * kern/disk.c: Likewise.
42147 * kern/dl.c: Likewise.
42148 * kern/elf.c: Likewise.
42149 * kern/env.c: Likewise.
42150 * kern/err.c: Likewise.
42151 * kern/file.c: Likewise.
42152 * kern/fs.c: Likewise.
42153 * kern/loader.c: Likewise.
42154 * kern/main.c: Likewise.
42155 * kern/misc.c: Likewise.
42156 * kern/mm.c: Likewise.
42157 * kern/parser.c: Likewise.
42158 * kern/partition.c: Likewise.
42159 * kern/rescue.c: Likewise.
42160 * kern/term.c: Likewise.
42161 * kern/efi/efi.c: Likewise.
42162 * kern/efi/init.c: Likewise.
42163 * kern/efi/mm.c: Likewise.
42164 * kern/i386/dl.c: Likewise.
42165 * kern/i386/efi/init.c: Likewise.
42166 * kern/i386/efi/startup.S: Likewise.
42167 * kern/i386/pc/init.c: Likewise.
42168 * kern/i386/pc/lzo1x.S: Likewise.
42169 * kern/i386/pc/startup.S: Likewise.
42170 * kern/ieee1275/ieee1275.c: Likewise.
42171 * kern/powerpc/cache.S: Likewise.
42172 * kern/powerpc/dl.c: Likewise.
42173 * kern/powerpc/ieee1275/cmain.c: Likewise.
42174 * kern/powerpc/ieee1275/crt0.S: Likewise.
42175 * kern/powerpc/ieee1275/init.c: Likewise.
42176 * kern/powerpc/ieee1275/openfw.c: Likewise.
42177 * kern/sparc64/cache.S: Likewise.
42178 * kern/sparc64/dl.c: Likewise.
42179 * kern/sparc64/ieee1275/init.c: Likewise.
42180 * kern/sparc64/ieee1275/openfw.c: Likewise.
42181 * loader/efi/chainloader.c: Likewise.
42182 * loader/efi/chainloader_normal.c: Likewise.
42183 * loader/i386/efi/linux.c: Likewise.
42184 * loader/i386/efi/linux_normal.c: Likewise.
42185 * loader/i386/pc/chainloader.c: Likewise.
42186 * loader/i386/pc/chainloader_normal.c: Likewise.
42187 * loader/i386/pc/linux.c: Likewise.
42188 * loader/i386/pc/linux_normal.c: Likewise.
42189 * loader/i386/pc/multiboot.c: Likewise.
42190 * loader/i386/pc/multiboot_normal.c: Likewise.
42191 * loader/powerpc/ieee1275/linux.c: Likewise.
42192 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42193 * normal/arg.c: Likewise.
42194 * normal/cmdline.c: Likewise.
42195 * normal/command.c: Likewise.
42196 * normal/completion.c: Likewise.
42197 * normal/execute.c: Likewise.
42198 * normal/function.c: Likewise.
42199 * normal/lexer.c: Likewise.
42200 * normal/main.c: Likewise.
42201 * normal/menu.c: Likewise.
42202 * normal/menu_entry.c: Likewise.
42203 * normal/misc.c: Likewise.
42204 * normal/parser.y: Likewise.
42205 * normal/script.c: Likewise.
42206 * normal/i386/setjmp.S: Likewise.
42207 * normal/powerpc/setjmp.S: Likewise.
42208 * normal/sparc64/setjmp.S: Likewise.
42209 * partmap/acorn.c: Likewise.
42210 * partmap/amiga.c: Likewise.
42211 * partmap/apple.c: Likewise.
42212 * partmap/gpt.c: Likewise.
42213 * partmap/pc.c: Likewise.
42214 * partmap/sun.c: Likewise.
42215 * term/gfxterm.c: Likewise.
42216 * term/terminfo.c: Likewise.
42217 * term/efi/console.c: Likewise.
42218 * term/i386/pc/console.c: Likewise.
42219 * term/i386/pc/serial.c: Likewise.
42220 * term/i386/pc/vesafb.c: Likewise.
42221 * term/i386/pc/vga.c: Likewise.
42222 * term/ieee1275/ofconsole.c: Likewise.
42223 * util/biosdisk.c: Likewise.
42224 * util/console.c: Likewise.
42225 * util/genmoddep.c: Likewise.
42226 * util/getroot.c: Likewise.
42227 * util/grub-emu.c: Likewise.
42228 * util/grub-mkdevicemap.c: Likewise.
42229 * util/grub-probe.c: Likewise.
42230 * util/lvm.c: Likewise.
42231 * util/misc.c: Likewise.
42232 * util/raid.c: Likewise.
42233 * util/resolve.c: Likewise.
42234 * util/update-grub.in: Likewise.
42235 * util/update-grub_lib.in: Likewise.
42236 * util/grub.d/00_header.in: Likewise.
42237 * util/grub.d/10_hurd.in: Likewise.
42238 * util/grub.d/10_linux.in: Likewise.
42239 * util/i386/efi/grub-install.in: Likewise.
42240 * util/i386/efi/grub-mkimage.c: Likewise.
42241 * util/i386/pc/grub-install.in: Likewise.
42242 * util/i386/pc/grub-mkimage.c: Likewise.
42243 * util/i386/pc/grub-mkrescue.in: Likewise.
42244 * util/i386/pc/grub-setup.c: Likewise.
42245 * util/i386/pc/misc.c: Likewise.
42246 * util/powerpc/ieee1275/grub-install.in: Likewise.
42247 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
42248 * util/powerpc/ieee1275/misc.c: Likewise.
42249 * video/bitmap.c: Likewise.
42250 * video/video.c: Likewise.
42251 * video/i386/pc/vbe.c: Likewise.
42252 * video/i386/pc/vbeblit.c: Likewise.
42253 * video/i386/pc/vbefill.c: Likewise.
42254 * video/i386/pc/vbeutil.c: Likewise.
42255 * video/readers/tga.c: Likewise.
42256
3572d015 422572007-07-02 Robert Millan <rmh@aybabtu.com>
42258
42259 * conf/i386-efi.rmk: Replace obsolete reference to
42260 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
42261 with util/getroot.c.
42262 * conf/powerpc-ieee1275.rmk: Likewise.
42263 * conf/sparc64-ieee1275.rmk: Likewise.
42264
42265 * util/grub-emu.c (main): Fix unchecked pointer handling.
42266
2c2a681b 422672007-07-02 Robert Millan <rmh@aybabtu.com>
42268
42269 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
42270 invocation to fail, in order to support partition-less media.
42271
42272 * util/i386/pc/grub-install.in: Likewise.
42273
42274 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
42275 which fs or partmap modules are needed (akin to its sister scripts).
42276
42277 Also use grub-probe to get rid of unportable /proc/mounts check.
42278
42279 Print the same informational message that the other scripts do, before
fe6b695a 42280 exiting.
2c2a681b 42281
6193defe 422822007-06-23 Robert Millan <rmh@aybabtu.com>
42283
fe6b695a 42284 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 42285 a font file can be found and, if so, echo the GRUB path to it.
42286
42287 * util/update-grub.in: Handle multiple terminals depending on user
42288 input, platform availability and font file presence. Propagate
42289 variables of our findings to /etc/grub.d/ children.
42290
42291 * util/grub.d/00_header.in: Handle multiple terminals, based on
42292 environment setup by update-grub.
42293
eface1dc 422942007-06-23 Robert Millan <rmh@aybabtu.com>
42295
ba50d28f 42296 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 42297
bf697e28 422982007-06-21 Robert Millan <rmh@aybabtu.com>
42299
42300 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
42301 indicate end of data section in kernel image.
42302 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
42303 GRUB_KERNEL_MACHINE_DATA_END.
42304
42305 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
42306 space for it.
42307 * kern/i386/efi/startup.S: Likewise.
42308
42309 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
42310 during image generation. Implement --prefix option to override this
42311 patch.
42312 * util/i386/efi/grub-mkimage.c: Likewise.
42313
42314 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
42315 code to make path relative to its root into a separate function.
42316
42317 * util/i386/pc/grub-install.in: Use newly provided
42318 make_system_path_relative_to_its_root() to convert ${grubdir}, then
42319 pass the result to grub-install --prefix.
42320
baa574b4 423212007-06-13 Robert Millan <rmh@aybabtu.com>
42322
42323 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
42324 DEFAULT_DEVICE_MAP.
42325 * util/grub-emu.c: Use above definitions from misc.h instead of
42326 defining them.
42327 * util/grub-mkdevicemap.c: Likewise.
42328 * util/i386/pc/grub-setup.c: Likewise.
42329 * util/grub-probe.c: Likewise.
42330 (probe): Abort with grub_util_error() when either
42331 grub_guess_root_device or grub_util_get_grub_dev fails.
42332
0215dcbf 423332007-06-12 Robert Millan <rmh@aybabtu.com>
42334
42335 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
42336 "pager" assignment.
42337 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
42338 "pcdata".
42339 * util/grub-probe.c (probe): Likewise for "drive_name".
42340
8af2ab7b 423412007-06-11 Robert Millan <rmh@aybabtu.com>
42342
42343 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
42344 not just the cdrom one.
42345
59d31694 423462007-06-11 Robert Millan <rmh@aybabtu.com>
42347
42348 * util/i386/pc/grub-mkrescue.in: Add "set -e".
42349 Add --pkglibdir=DIR option to override pkglibdir.
42350 Mention --image-type=TYPE in help output.
42351 Fix --grub-mkimage (it was a no-op).
fe6b695a 42352 Abort gracefully when no parameter is given.
59d31694 42353
7ee367e4 423542007-06-11 Robert Millan <rmh@aybabtu.com>
42355
42356 * util/i386/pc/grub-mkrescue.in: New file.
42357 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
42358 * Makefile.in: Handle bin_SCRIPTS.
42359
29b0ed46 423602007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
42361
42362 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
42363 list of video modes.
42364
c0f90770 423652007-06-06 Robert Millan <rmh@aybabtu.com>
42366
42367 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
42368 file doesn't exist, or if it is in a filesystem grub can't read.
42369
42370 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
42371 not abort if GRUB_DRIVE could not be defined. Rearrange generated
42372 header comment to fit in 80 columns when the variables are resolved.
42373
42374 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
42375 could be identified by update-grub. Remove redundant check for
fe6b695a 42376 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 42377 handles that).
42378
fb36dc26 423792007-06-04 Robert Millan <rmh@aybabtu.com>
42380
42381 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
42382
42383 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
42384
42385 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
42386
0c68c93e 423872007-06-04 Robert Millan <rmh@aybabtu.com>
42388
42389 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
42390
42391 * include/grub/partition.h: Declare grub_apple_partition_map_init and
42392 grub_apple_partition_map_fini.
42393
42394 * util/biosdisk.c
42395 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
42396 to access >2 TiB disks).
42397
42398 Print disk->total_sectors with %llu instead of %lu, since this
42399 variable is always 64-bit (prevents wrong disk size from being displayed
42400 on either >2 TiB disk or big-endian CPU).
42401
42402 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
42403 into a generic case that supports all (sane) partition maps.
42404
42405 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
42406 breaks big-endian.
42407
42408 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
42409 and grub_apple_partition_map_fini() after that.
42410
0f23eb74 424112007-06-01 Robert Millan <rmh@aybabtu.com>
42412
42413 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
42414
42415 * util/grub.d/00_header.in: Only enable gfxterm when
42416 convert_system_path_to_grub_path() succeeds.
42417
42c71976 424182007-05-20 Robert Millan <rmh@aybabtu.com>
42419
42420 * util/update-grub_lib.in: New file.
42421 * DISTLIST: Add update-grub_lib.in.
42422 * conf/common.rmk: Generate update-grub_lib and install it in
42423 $(lib_DATA).
42424 * Makefile.in: Add install routine for $(lib_DATA).
42425
42426 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
42427 function provided by update-grub_lib to support arbitrary paths of
42428 unifont.pff.
42429 * util/update-grub.in: Use convert_system_path_to_grub_path() to
42430 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
42431
5beb2291 424322007-05-19 Robert Millan <rmh@aybabtu.com>
42433
42434 * commands/i386/cpuid.c: New module.
42435 * DISTLIST: Add it.
42436 * conf/i386-efi.rmk: Enable cpuid.mod.
42437 * conf/i386-pc.rmk: Likewise.
42438
7262eca1 424392007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
42440
42441 * kern/disk.c (grub_disk_read): Check return value of
42442 grub_realloc().
42443
260ba823 424442007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
42445
42446 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
42447 arrays.
42448 * disk/raid.c (grub_raid_open): Likewise.
42449
1ecb6cf2 424502007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
42451
42452 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
42453 stack instead of on the heap.
42454
42455 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
42456 before doing a read on it.
42457
42458 * configure.ac: Only use -fno-stack-protector for the target
42459 environment.
f19dbdb7 42460
21c8cbb1 424612007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
42462
42463 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
42464 __attribute_ ((unused)) to mode_type argument.
42465
42466 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 42467
21c8cbb1 42468 * kern/misc.c (memcmp): Fix prototype.
42469
42470 * include/grub/partition.h [GRUB_UTIL]
42471 (grub_gpt_partition_map_init): Add prototype.
42472 (grub_gpt_partition_map_fini): Likewise.
42473
42474 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
42475 at the right place.
42476
42477 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
42478 (grub_fat_read_data): Likewise.
42479 (grub_fat_find_dir): Likewise.
42480
42481 * font/manager.c (find_glyph): Make table a const.
42482 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 42483
849d55d3 424842007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
42485
42486 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
42487 code, first search for device in /dev/mapper, then in /dev.
42488 (grub_util_get_grub_dev): New function.
42489 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
42490 prototype.
42491 * util/grub-probe.c (probe): Remove check for RAID, call
42492 grub_util_get_grub_dev() instead of
42493 grub_util_biosdisk_get_grub_dev().
42494 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
42495 grub_util_biosdisk_get_grub_dev().
42496 * util/i386/pc/grub-setup.c (main): Likewise.
42497
8fff7c2f 424982007-05-16 Robert Millan <rmh@aybabtu.com>
42499
42500 * DISTLIST: Update for the latest changes.
42501 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
42502 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
42503 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
42504 grub/util/biosdisk.h.
42505 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
42506 grub/util/biosdisk.h.
42507
48e12b52 425082007-05-16 Robert Millan <rmh@aybabtu.com>
42509
42510 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
42511
46b9d128 425122007-05-16 Robert Millan <rmh@aybabtu.com>
42513
42514 * util/i386/efi/grub-install.in: New.
42515 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
42516 newly added grub-install.
42517 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
42518 include.
42519 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
42520 grub/util/biosdisk.h.
42521 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
42522 grub/util/biosdisk.h.
42523
2d1a40a9 425242007-05-16 Robert Millan <rmh@aybabtu.com>
42525
42526 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
42527 * include/grub/util/biosdisk.h: ... here.
42528 * util/i386/pc/biosdisk.c: Moved to ...
42529 * util/biosdisk.c: ... here.
42530 * util/i386/pc/getroot.c: Moved to ...
42531 * util/getroot.c: ... here.
42532 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
42533 * util/grub-mkdevicemap.c: ... here.
42534 * util/i386/pc/grub-probe.c: Moved to ...
42535 * util/grub-probe.c: ... here.
42536
9e26e3bc 425372007-05-15 Robert Millan <rmh@aybabtu.com>
42538
42539 * util/update-grub.in: Remove duplicated line in grub.cfg header
42540 message.
42541
57f96397 425422007-05-13 Robert Millan <rmh@aybabtu.com>
42543
42544 * util/update-grub.in: Fix a few assumptions about the devices holding
42545 /, /boot and /boot/grub being the same.
42546 * util/grub.d/00_header.in: Likewise.
42547 * util/grub.d/10_hurd.in: Likewise.
42548 * util/grub.d/10_linux.in: Likewise.
42549
42550 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
42551 patterns. Use that to define the `.old' suffix as older than `'.
42552
42553 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
42554
42555 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
42556 the grub.cfg header message.
42557
2e610d62 425582007-05-11 Robert Millan <rmh@aybabtu.com>
42559
42560 * util/update-grub.in: Create device.map if it doesn't already exist,
42561 before attempting to run grub-probe.
42562 Check for grub-probe and grub-mkdevicemap with the same code
42563 grub-install is using.
42564 Remove test mode.
42565
3f6a10ef 425662007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
42567
42568 * Makefile.in: Add the datarootdir autoconf variable.
42569
02e7b75e 425702007-05-09 Robert Millan <rmh@aybabtu.com>
42571
42572 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 42573 fail gracefully if dev->disk->partition == NULL.
02e7b75e 42574
75f396cc 425752007-05-07 Robert Millan <rmh@aybabtu.com>
42576
42577 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
42578 determine partition map module.
42579 * util/i386/pc/grub-install.in: Use this feature to decide which
42580 partition module to load, instead of hardcoding pc and gpt.
42581
da65cb36 425822007-05-07 Robert Millan <rmh@aybabtu.com>
42583
42584 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
42585 source directory differs from build directory.
42586
b57d6a91 425872007-05-05 Robert Millan <rmh@aybabtu.com>
42588
42589 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
42590 initialisation.
42591
509d00f1 425922007-05-05 Robert Millan <rmh@aybabtu.com>
42593
42594 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
42595
c48f23ef 425962007-05-05 Robert Millan <rmh@aybabtu.com>
42597
42598 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
42599 command-line arguments via ${GRUB_CMDLINE_LINUX}.
42600
20b97658 426012007-05-05 Robert Millan <rmh@aybabtu.com>
42602
42603 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
42604 (grub_probe_SOURCES): Likewise.
42605 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
42606 GPT and initialize dos_part and bsd_part accordingly.
42607 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
42608 install_bsd_part.
42609 (main): Activate gpt module for use during partition identification,
42610 and deactivate it afterwards.
42611 * util/i386/pc/grub-install.in: Add gpt module to core.img.
42612 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
42613 partition identification, and deactivate it afterwards.
42614
99123174 426152007-05-05 Robert Millan <rmh@aybabtu.com>
42616
42617 * term/i386/pc/console.c (grub_console_fini): Call
42618 grub_term_set_current() before grub_term_unregister().
42619
ebd97f6e 426202007-05-04 Robert Millan <rmh@aybabtu.com>
42621
42622 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
42623 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
42624 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
42625 and update-grub_DATA.
42626 * conf/common.rmk: Build and install update-grub components.
42627 * conf/common.mk: Regenerate.
42628 * util/update-grub.in: New. Core of update-grub.
42629 * util/grub.d/00_header.in: New. Generates grub.cfg header.
42630 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
42631 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
42632 * util/grub.d/README: New. Document grub.d directory layout.
42633
b06a264d 426342007-05-01 Robert Millan <rmh@aybabtu.com>
42635
42636 * util/grub-emu.c: Move initialization functions
42637 grub_util_biosdisk_init() and grub_init_all() before
42638 grub_util_biosdisk_get_grub_dev(), which relies on them.
42639
41f0050e 426402007-04-19 Robert Millan <rmh@aybabtu.com>
42641
42642 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
42643 it is used later.
42644
04582bb3 426452007-04-18 Jerone Young <jerone@gmail.com>
42646
f19dbdb7 42647 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 42648 stanza.
42649
08db4632 426502007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 42651
08db4632 42652 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
42653 continue on and look for device node with real device name.
42654
801b76be 426552007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 42656
fe6b695a 42657 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 42658 ability.
42659 * Makefile.in: Add autoconf package transformation code.
42660 * util/i386/pc/grub-install.in: Likewise.
42661 * util/powerpc/ieee1275/grub-install.in: Likewise.
42662
6795c4e1 426632007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42664
42665 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
42666 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
42667 (EXT2_REVISION): Likewise.
42668 (EXT2_INODE_SIZE): Likewise.
42669 (struct grub_ext2_block_group): Added a missing member
42670 "used_dirs".
42671 (grub_ext2_read_inode): Divide by the inode size in a superblock
42672 instead of 128 to obtain INODES_PER_BLOCK.
42673 Use the macro EXT2_INODE_SIZE instead of directly using
42674 SBLOCK->INODE_SIZE.
42675
d70af616 426762007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42677
42678 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
42679 superblock instead of the structure size to compute an
42680 offset. This fixes the problem that GRUB could not read a
42681 filesystem when inode size is different from 128-byte.
42682
3b801603 426832007-03-05 Marco Gerards <marco@gnu.org>
42684
42685 * normal/main.c (read_config_file): When "menu" is not set, create
42686 an initial context.
42687
4785bfe4 426882007-02-21 Hollis Blanchard <hollis@penguinppc.org>
42689
42690 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
42691 (HEAP_LIMIT): New macro.
42692 (grub_claim_heap): Claim memory up to `heaplimit'.
42693
a0cbb023 426942007-02-21 Hollis Blanchard <hollis@penguinppc.org>
42695
42696 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
42697 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
42698 (_start): Likewise.
42699 (grub_arch_modules_addr): Return address after `_end'.
42700 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
42701 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
42702 (add_segments): Calculate `_end' from phdr size and location.
42703 (ALIGN_UP): Moved to ...
42704 * include/grub/misc.h: here.
42705 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42706 New macro.
42707 (GRUB_IEEE1275_MODULE_BASE): Removed.
42708
fd7d8eba 427092007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42710
42711 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
42712 loop boundary.
42713
9b09e6fc 427142007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42715
42716 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
42717 All users updated.
42718 (grub_elf64_load_hook_t): Likewise.
42719 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
42720 debug output.
42721
3ce27299 427222007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42723
42724 * kern/mm.c: Update copyright.
42725 (grub_mm_debug): Correct syntax error.
42726 (grub_mm_dump_free): New function.
42727 (grub_debug_free): Call `grub_free'.
42728 * include/grub/mm.h: Update copyright.
42729 (grub_mm_dump_free): Add declaration.
42730
077d5fee 427312007-02-12 Hollis Blanchard <hollis@penguinppc.org>
42732
42733 * include/grub/ieee1275/ieee1275.h: Update copyright.
42734 * kern/powerpc/ieee1275/init.c: Likewise.
42735 * kern/powerpc/ieee1275/openfw.c: Likewise.
42736
42737 * loader/powerpc/ieee1275/linux.c: Likewise.
42738 * include/grub/elfload.h: Likewise.
42739 * kern/elf.c: Likewise.
42740 (grub_elf32_load): Pass `base' and `size' parameters. Update all
42741 callers.
42742 (grub_elf64_load): Likewise.
42743 (grub_elf32_load_segment): Move to a nested function.
42744 (grub_elf64_load_segment): Likewise.
42745
dc946850 427462007-02-12 Hollis Blanchard <hollis@penguinppc.org>
42747
42748 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
42749 prototype.
42750 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
42751 (grub_heap_len): Likewise.
42752 (HEAP_SIZE): New macro.
42753 (grub_claim_heap): New function.
42754 (grub_machine_init): Don't claim heap directly. Call
42755 `grub_claim_heap'.
42756 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
42757 (grub_available_iterate): New function.
42758
baa2a121 427592007-02-03 Thomas Schwinge <tschwinge@gnu.org>
42760
42761 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
42762 * configure.ac: Use it for testing the HOST and TARGET compilers.
42763
4fe9862e 427642006-12-13 Thomas Schwinge <tschwinge@gnu.org>
42765
42766 * Makefile.in (enable_grub_emu): New variable.
42767 * configure.ac (--enable-grub-emu): New option.
42768 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
42769 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
42770 * conf/i386-pc.rmk: Likewise.
42771 * conf/powerpc-ieee1275.rmk: Likewise.
42772 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
42773
a8aa5762 427742006-12-12 Marco Gerards <marco@gnu.org>
42775
42776 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
42777
42778 * kern/env.c (grub_env_unset): Don't free the member `value' when
42779 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
42780 pointer.
42781
42782 * normal/main.c (current_menu): Removed.
42783 (free_menu): Unset the `menu' environment variable.
42784 (grub_normal_menu_addentry): Make use of the environment variable
42785 `menu', instead of using the global `current_menu'. Allocate
42786 memory for the sourcecode of this entry.
42787 (read_config_file): New argument `nested', changed all callers.
42788 Only in the case of a new context, initialize a new menu. Set the
42789 `menu' environment variable.
42790 (grub_normal_execute): Don't set and unset the environment
42791 variable `menu' here anymore. Only free the menu when leaving the
42792 context.
42793
42794 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
42795 leak.
42796
957b3a3e 427972006-12-11 Marco Gerards <marco@gnu.org>
42798
42799 * normal/menu_entry.c (run): Fix off by one bug so the last line
42800 is executed. Move the loader check to outside the loop.
42801
ef875714 428022006-12-08 Hollis Blanchard <hollis@penguinppc.org>
42803
42804 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
42805
4e739985 428062006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
42807
42808 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
42809 the number of sectors. Reported by Andrey Shuvikov
42810 <mr_hyro@yahoo.com>.
f19dbdb7 42811
790707f2 428122006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
42813
42814 * kern/disk.c (grub_disk_read): When there is a read error, always
42815 try to read only the necessary data.
f19dbdb7 42816
790707f2 42817 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
42818 disk/raid.c.
42819 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
42820 prototype.
42821 [GRUB_UTIL] (grub_raid_fini): Likewise.
42822 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 42823 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 42824 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
42825 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
42826 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
42827 and grub_raid_fini().
f19dbdb7 42828
03e58196 428292006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42830
42831 * include/grub/types.h (__unused): Rename to UNUSED.
42832 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
42833 (grub_elf64_size): Likewise.
f19dbdb7 42834
ae4f23bf 428352006-11-03 Hollis Blanchard <hollis@penguinppc.org>
42836
42837 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
42838 grub_error_push and grub_error_pop in the error-handling path.
42839 (grub_elf32_load_segment): Only call grub_file_read with non-zero
42840 length.
42841
2166cc83 428422006-11-03 Hollis Blanchard <hollis@penguinppc.org>
42843
42844 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
42845 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42847 (kernel_elf_SOURCES): Likewise.
42848 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
42849 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
42850 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42851 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42852 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
42853 (elf_mod_SOURCES): New variable.
42854 (elf_mod_CFLAGS): Likewise.
42855 (elf_mod_LDFLAGS): Likewise.
42856 * include/grub/types.h (__unused): New macro.
42857 * include/grub/elfload.h: New file.
42858 * kern/elf.c: Likewise.
42859 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
42860 (ELF32_LOADMASK): New macro.
42861 (ELF64_LOADMASK): Likewise.
42862 (vmlinux): Removed.
42863 (grub_linux_load32): New function.
42864 (grub_linux_load64): Likewise.
42865 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
42866 Use grub_elf_t instead of grub_file_t.
42867
a09d5aa5 428682006-11-02 Hollis Blanchard <hollis@penguinppc.org>
42869
42870 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
42871 `catch_result' to struct set_color_args.
42872
d976fc51 428732006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42874
42875 * normal/menu.c: Include grub/script.h.
42876 * normal/menu_entry.c: Likewise.
42877 * include/grub/normal.h: Do not include grub/script.h.
42878
67507549 428792006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42880
42881 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
42882
69203a99 428832006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42884
42885 * kern/disk.c (grub_disk_open): Print debug messages when opening a
42886 disk.
42887 (grub_disk_close): Print debug messages when closing a disk.
42888 (grub_disk_read): Print debug messages when disk read fails.
42889 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
42890 filesystem type.
42891 * kern/partition.c: Include misc.h.
42892 (grub_partition_iterate): Print debug messages when detecting
42893 partition type.
42894
e2b8278c 428952006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42896
42897 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
42898 is negative.
42899 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
42900
97b2f2ff 429012006-10-26 Hollis Blanchard <hollis@penguinppc.org>
42902
42903 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42904 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
42905
6555d655 429062006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
42907
42908 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
42909 instead of sizeof(lv). Patch by Michael Guntsche.
42910
4d42b77f 429112006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
42912
42913 * disk/lvm.c: Rename VGS to VG_LIST.
42914 (grub_lvm_iterate): Change VGS->LV to VG-LV.
42915 (grub_lvm_open): Likewise.
42916 Thanks to Michael Guntsche for finding this bug.
42917
5d74d927 429182006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42919
42920 * configure.ac (AC_INIT): Bumped to 1.95.
42921
a1bb27e4 429222006-10-14 Robert Millan <rmh@aybabtu.com>
42923
42924 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
42925 with "/dev/.static/dev/md".
42926
e0994b8b 429272006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42928
42929 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
42930 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
42931 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
42932 DRIVE_NAME are always freed.
42933
42934 * util/i386/pc/biosdisk.c (make_device_name): Add one into
42935 DOS_PART, as a DOS partition is counted from one instead of zero
42936 now. Reported by Robert Millan.
42937
ddd5cee9 429382006-10-14 Robert Millan <rmh@aybabtu.com>
42939
42940 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
42941 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
42942 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
42943 string returned by grub_guess_root_device.
42944 * util/i386/pc/grub-setup.c: Likewise.
42945 * util/i386/pc/grub-probefs.c: Likewise.
42946
42947 * util/i386/pc/grub-probefs.c: Rename to ...
42948 * util/i386/pc/grub-probe.c: ... this.
42949 * DISTLIST: Remove grub-probefs, add grub-probe.
42950 * conf/i386-efi.rmk: Likewise.
42951 * conf/i386-pc.rmk: Likewise.
42952 * util/i386/pc/grub-install.in: Likewise.
42953
42954 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
42955 choose which information we want to print.
42956
2b002173 429572006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42958
42959 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
42960 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
42961 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
42962 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
42963 video/readers/tga.c and video/i386/pc/vbeutil.c.
42964
429652006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
42966
42967 Added support for RAID and LVM.
f19dbdb7 42968
2b002173 42969 * disk/lvm.c: New file.
42970 * disk/raid.c: Likewise.
42971 * include/grub/lvm.h: Likewise.
f19dbdb7 42972 * include/grub/raid.h: Likewise.
2b002173 42973 * include/grub/util/lvm.h: Likewise.
42974 * include/grub/util/raid.h: Likewise.
42975 * util/lvm.c: Likewise.
42976 * util/raid.c: Likewise.
42977
42978 * include/grub/disk.h (grub_disk_dev_id): Add
42979 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
42980 (grub_disk_get_size): New prototype.
42981 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
42982 returns a partition.
42983 (grub_disk_get_size): New function.
f19dbdb7 42984
2b002173 42985 * kern/i386/pc/init.c (make_install_device): Copy the prefix
42986 verbatim if grub_install_dos_part is -2.
42987
42988 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
42989 and LVM devices.
42990
42991 * util/i386/pc/grub-setup.c (setup): New argument
42992 MUST_EMBED. Force embedding of GRUB when the argument is
42993 true. Close FILE before returning.
42994 (main): Add support for RAID and LVM.
f19dbdb7 42995
2b002173 42996 * conf/common.rmk: Add RAID and LVM modules.
42997 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
42998 util/lvm.c.
42999 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
43000
43001 * kern/misc.c (grub_strstr): New function.
43002 * include/grub/misc.h (grub_strstr): New prototype.
43003
050548d0 430042006-10-10 Tristan Gingold <tristan.gingold@bull.net>
43005
43006 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
43007
da849d2d 430082006-10-05 Tristan Gingold <tristan.gingold@bull.net>
43009
43010 * kern/misc.c (grub_strtoull): Guess the base only if not
43011 specified.
43012
97b2f2ff 430132006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 43014
43015 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
43016 PowerMac support.
43017
97b2f2ff 430182006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 43019
43020 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
43021
43022 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
43023 Remove `flags' argument. All callers changed.
43024 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
43025 (IEEE1275_IHANDLE_INVALID): New variable.
43026 (IEEE1275_CELL_INVALID): New variable.
43027 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
43028 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
43029 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
43030 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
43031 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
43032 codes from Open Firmware. All callers updated.
43033 (grub_ieee1275_next_property): Directly return Open Firmware return
43034 code.
43035 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43036 Standardize error checking from `grub_ieee1275_get_property'.
43037 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
43038 `devalias' to `aliases'. Correct comments. Consolidate error paths.
43039
97b2f2ff 430402006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 43041
43042 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
43043 `instance_to_package_args' to `instance_to_path_args'.
43044
43045 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
43046 `grub_ieee1275_chosen'.
43047
43048 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
43049 `grub_ieee1275_interpret'.
43050
97b2f2ff 430512006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 43052
43053 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
43054
97b2f2ff 430552006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 43056
43057 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
43058 (__cmpdi): Likewise.
43059
43060 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
43061 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
43062 `grub_ssize_t'.
43063
02bb8acc 43064 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 43065
43066 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
43067 to type `grub_ssize_t'.
43068 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
43069
7f9a8531 430702006-09-22 Marco Gerards <marco@gnu.org>
43071
43072 * normal/script.c (grub_script_create_cmdmenu): Skip leading
43073 newlines.
43074
b5ef1102 430752006-09-22 Marco Gerards <marco@gnu.org>
43076
43077 * commands/echo.c: New file.
43078
43079 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
43080
43081 * conf/common.rmk (echo_mod_SOURCES): New variable.
43082 (echo_mod_CFLAGS): Likewise.
43083 (echo_mod_LDFLAGS): Likewise.
43084
2cff3677 430852006-09-22 Marco Gerards <marco@gnu.org>
43086
43087 * normal/main.c (get_line): Malloc memory instead of using
43088 preallocated memory. Removed the arguments `cmdline' and
43089 `max_len'. Updated all callers.
43090
6ba4688b 430912006-09-22 Marco Gerards <marco@gnu.org>
43092
43093 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
43094 (normal_mod_DEPENDENCIES): Likewise.
43095
43096 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
43097 (normal_mod_DEPENDENCIES): Likewise.
43098
43099 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
43100
e02ac02c 431012006-09-22 Johan Rydberg <jrydberg@gnu.org>
43102
43103 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
43104 programs.
43105 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
43106 (normal_mod_DEPENDENCIES): Likewise.
43107 * conf/i386-pc.mk: Regenerate.
43108 * conf/i386-efi.mk: Likewise
43109 * conf/common.mk: Likewise.
43110 * conf/powerpc-ieee1275.mk: Likewise.
43111 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43112
8d252e44 431132006-09-22 Robert Millan <rmh@aybabtu.com>
43114
43115 Sync with i386 version.
43116 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
43117 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
43118
209bf7ac 431192006-09-21 Robert Millan <rmh@aybabtu.com>
43120
43121 Import from GRUB Legacy (lib/device.c):
43122 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
43123 (init_device_map) [__linux__]: Add support for I2O devices.
43124
6b146090 431252006-09-14 Marco Gerards <marco@gnu.org>
43126
43127 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
43128 `-melf_i386'.
43129
e38600a8 431302006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 43131
43132 * util/i386/pc/grub-install.in: Skip menu.lst when removing
43133 /boot/grub/*.lst.
78fa1790 43134
2952da5d 43135 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 43136
2952da5d 43137 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
43138 before adding it to device.map.
43139
01b82a64 431402006-08-15 Johan Rydberg <jrydberg@gnu.org>
43141
fe6b695a 43142 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 43143 compiles a file; using the -MD option.
43144 * conf/common.mk: Regenerate.
43145 * conf/i386-pc.mk: Likewise.
43146 * conf/i386-efi.mk: Likewise.
43147 * conf/powerpc-ieee1275.mk: Likewise.
43148 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43149
1064790d 431502006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
43151
43152 Move the prototypes of grub_setjmp and grub_longjmp to
43153 cpu/setjmp.h, so that each architecture may specify different
43154 attributes.
f19dbdb7 43155
1064790d 43156 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
43157 (grub_longjmp): Likewise.
43158 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
43159 (grub_longjmp): Likewise.
43160 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
43161 (grub_longjmp): Likewise.
43162
43163 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
43164 [!GRUB_UTIL] (grub_longjmp): Removed.
43165
29dda3ed 431662006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
43167
43168 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
43169 "color!" method does not return any value.
43170
ad2a06ed 431712006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43172
43173 * include/grub/bitmap.h: New file.
43174
43175 * include/grub/i386/pc/vbeutil.h: Likewise.
43176
43177 * video/bitmap.c: Likewise.
43178
43179 * video/readers/tga.c: Likewise.
43180
43181 * video/i386/pc/vbeutil.c: Likewise.
43182
43183 * commands/videotest.c: Code cleanup and updated to reflect to new
43184 video API.
43185
43186 * term/gfxterm.c: Likewise.
43187
43188 * video/video.c: Likewise.
43189
43190 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
43191 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
43192 (bitmap_mod_SOURCES): New entry.
43193 (bitmap_mod_CFLAGS): Likewise.
43194 (bitmap_mod_LDFLAGS): Likewise.
43195 (tga_mod_SOURCES): Likewise.
43196 (tga_mod_CFLAGS): Likewise.
43197 (tga_mod_LDFLAGS): Likewise.
43198
43199 * include/grub/video.h (grub_video_blit_operators): New enum type.
43200 (grub_video_render_target): Changed as forward declaration and moved
43201 actual definition to be video driver specific.
43202 (grub_video_adapter.blit_bitmap): Added blitting operator.
43203 (grub_video_adapter.blit_render_target): Likewise.
43204 (grub_video_blit_bitmap): Likewise.
43205 (grub_video_blit_render_target): Likewise.
43206
43207 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
43208 driver specific render target definition.
43209 (grub_video_vbe_map_rgba): Added driver internal helper.
43210 (grub_video_vbe_unmap_color): Updated to use
43211 grub_video_i386_vbeblit_info.
43212 (grub_video_vbe_get_video_ptr): Likewise.
43213
43214 * include/grub/i386/pc/vbeblit.h
43215 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
43216 grub_video_i386_vbeblit_info.
43217 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
43218 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
43219 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
43220 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
43221 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
43222 (grub_video_i386_vbeblit_index_index): Likewise.
43223 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
43224 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
43225 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
43226 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
43227 operator.
43228 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
43229 operator.
43230
43231 * video/i386/pc/vbeblit.c: Updated to reflect changes on
43232 include/grub/i386/pc/vbeblit.h.
43233
43234 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
43235 Updated to use grub_video_i386_vbeblit_info.
43236 (grub_video_i386_vbefill_R8G8B8): Likewise.
43237 (grub_video_i386_vbefill_index): Likewise.
43238 (grub_video_i386_vbefill): Added generic filler.
43239
43240 * video/i386/pc/vbefill.c: Updated to reflect changes on
43241 include/grub/i386/pc/vbefill.h.
43242
43243 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
43244 grub_video_i386_vbeblit_info.
43245 (grub_video_vbe_unmap_color): Likewise.
43246 (grub_video_vbe_blit_glyph): Likewise.
43247 (grub_video_vbe_scroll): Likewise.
43248 (grub_video_vbe_draw_pixel): Removed function.
43249 (grub_video_vbe_get_pixel): Likewise.
43250 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
43251 updated code to use it.
43252 (common_blitter): Added common blitter for render target and bitmap.
43253 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
43254 (grub_video_vbe_blit_render_target): Likewise.
43255
bc8c036d 432562006-07-30 Johan Rydberg <jrydberg@gnu.org>
43257
43258 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
43259 is in text mode if there is no console control protocol instance
43260 available.
43261
684a8eff 432622006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43263
43264 * include/grub/video.h: Code cleanup.
43265
43266 * include/grub/i386/pc/vbe.h: Likewise.
43267
43268 * video/i386/pc/vbe.c: Likewise.
43269
43270 * video/i386/pc/vbeblit.c: Likewise.
43271
43272 * video/i386/pc/vbefill.c: Likewise.
43273
43274 * video/video.c: Likewise. Also added more comments.
43275
5915059b 432762006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43277
43278 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
43279 (struct grub_biosdisk_dap): Likewise.
43280
43281 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
43282 linkage settings for all functions.
43283
90ce5d56 432842006-07-12 Marco Gerards <marco@gnu.org>
43285
43286 * configure.ac (--enable-mm-debug): Fix typo.
43287
43288 * genkernsyms.sh.in: Use proper quoting for `CC'.
43289
43e7f879 432902006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
43291
43292 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
43293 (normal_mod_ASFLAGS): Remove "-m32".
43294
4889bdec 432952006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
43296
43297 * util/misc.c: Include config.h.
43298 [!HAVE_MEMALIGN]: Do not include malloc.h.
43299 (grub_memalign): Use posix_memalign, if present. Then, use
43300 memalign, if present. Otherwise, emit an error.
43301
43302 * util/grub-emu.c: Do not include malloc.h.
43303
43304 * include/grub/util/misc.h: Include unistd.h. This is required for
43305 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
43306 D. Eades III <hde@foobar-qux.org>.
43307
43308 * configure.ac (AC_GNU_SOURCE): Added.
43309 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
43310 type.
43311
fd39d4da 433122006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
43313
43314 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
43315 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
43316
b786f3b5 433172006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
43318
43319 * include/grub/types.h (grub_host_addr_t): Rename to
43320 grub_target_addr_t.
43321 (grub_host_off_t): Rename to grub_target_off_t.
43322 (grub_host_size_t): Rename to grub_target_size_t.
43323 (grub_host_ssize_t): Rename to grub_target_ssize_t.
43324 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
43325
43326 * include/grub/kernel.h (struct grub_module_header): Change type
43327 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
43328 (grub_module_info): Likewise.
f19dbdb7 43329
051988bb 433302006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
43331
43332 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
43333 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
43334 Velazquez <jesus.velazquez@gmail.com>.
43335
deae281b 433362006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
43337
43338 Count partitions from 1 instead of 0 in the string representation
43339 of partitions. Still use 0-based internally.
f19dbdb7 43340
deae281b 43341 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
43342 (sun_partition_map_iterate): Use grub_partition_t instead of
43343 struct grub_partition *. Cast DESC->START_CYLINDER to
43344 grub_uint64_t after converting the endian.
43345 (sun_partition_map_probe): Subtract 1 for PARTNUM.
43346 (sun_partition_map_get_name): Add 1 to P->INDEX.
43347
43348 * partmap/pc.c (grub_partition_parse): Subtract 1 for
43349 PCDATA->DOS_PART.
43350 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
43351
43352 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
43353 zero instead of one.
43354 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
43355 (gpt_partition_map_get_name): Add 1 into P->INDEX.
43356
43357 * partmap/apple.c (apple_partition_map_iterate): Change the type
43358 of POS to unsigned.
43359 (apple_partition_map_probe): Subtract 1 for PARTNUM.
43360 (apple_partition_map_get_name): Add 1 into P->INDEX.
43361
43362 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
43363 of POS to unsigned.
43364 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
43365 calculate the offset of a partition.
43366 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
43367 (amiga_partition_map_get_name): Add 1 into P->INDEX.
43368
43369 * partmap/acorn.c (acorn_partition_map_find): Change the type of
43370 SECTOR to grub_disk_addr_t.
43371 (acorn_partition_map_iterate): Likewise.
43372 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
43373 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
43374 top.
43375 (acorn_partition_map_get_name): Add 1 into P->INDEX.
43376
43377 * kern/i386/pc/init.c (make_install_device): Add 1 into
43378 GRUB_INSTALL_DOS_PART.
43379
43380 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
43381 conditional.
43382
524a1e6a 433832006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
43384
43385 Clean up the code to support 64-bit addressing in disks and
43386 files. This change is not enough for filesystems yet.
f19dbdb7 43387
524a1e6a 43388 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
43389 type of "start" to grub_uint64_t.
43390 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
43391 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
43392 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
43393 convert addresses.
43394
43395 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
43396 to grub_disk_addr_t.
43397
43398 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
43399 string.
43400
43401 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43402
43403 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
43404 to char *.
43405
43406 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
43407
43408 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
43409
43410 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
43411
43412 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
43413 to grub_off_t, to detect an error from grub_file_seek.
43414 (grub_multiboot_load_elf32): Likewise.
43415
43416 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
43417 maximum unsigned long value when an overflow is detected.
43418 (grub_strtoull): New function.
43419 (grub_divmod64): Likewise.
43420 (grub_lltoa): use grub_divmod64.
43421
43422 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
43423 grub_disk_addr_t.
43424 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
43425 the pointer to next character. Use grub_strtoull instead of
43426 grub_strtoul.
43427 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
43428 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
43429 respectively.
43430
fe6b695a 43431 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 43432 return value is signed.
43433 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
43434 test if OFFSET is less than zero, as OFFSET is unsigned now.
43435
43436 * kern/disk.c (struct grub_disk_cache): Change the type of
43437 "sector" to grub_disk_addr_t.
43438 (grub_disk_cache_get_index): Change the type of SECTOR to
43439 grub_disk_addr_t. Calculate the hash with SECTOR casted to
43440 unsigned after shifting.
43441 (grub_disk_cache_invalidate): Change the type of SECTOR to
43442 grub_disk_addr_t.
43443 (grub_disk_cache_unlock): Likewise.
43444 (grub_disk_cache_store): Likewise.
43445 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
43446 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
43447 grub_disk_addr_t and grub_uint64_t, respectively.
43448 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
43449 body, as the value of OFFSET is tweaked by
43450 grub_disk_check_range. Change the types of START_SECTOR, LEN and
43451 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
43452 respectively.
43453 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
43454 body, as the value of OFFSET is tweaked by
43455 grub_disk_check_range. Change the types of LEN and N to
43456 grub_size_t.
43457
43458 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
43459 and "saved_offset" to grub_off_t.
43460 (test_header): Cast BUF to char *.
43461 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
43462 to char *.
43463 (grub_gzio_read): Change the types of OFFSET and SIZE to
43464 grub_off_t and grub_size_t, respectively.
43465
43466 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
43467 Removed.
43468 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
43469 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
43470 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
43471 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
43472 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
43473
43474 * include/grub/types.h (grub_off_t): Unconditionally set to
43475 grub_uint64_t.
43476 (grub_disk_addr_t): Changed to grub_uint64_t.
43477
43478 * include/grub/partition.h (struct grub_partition): Change the
43479 types of "start", "len" and "offset" to grub_disk_addr_t,
43480 grub_uint64_t and grub_disk_addr_t, respectively.
43481 (grub_partition_get_start): Return grub_disk_addr_t.
43482 (grub_partition_get_len): Return grub_uint64_t.
43483
43484 * include/grub/misc.h (grub_strtoull): New prototype.
43485 (grub_divmod64): Likewise.
43486
43487 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
43488 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
43489 grub_off_t, respectively.
43490 All callers and references changed.
43491
43492 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
43493 grub_size_t in "read".
43494 All callers and references changed.
43495
43496 * include/grub/file.h (struct grub_file): Change the types of
43497 "offset" and "size" to grub_off_t and grub_off_t,
43498 respectively. Change the type of SECTOR to grub_disk_addr_t in
43499 "read_hook".
43500 (grub_file_read): Change the type of LEN to grub_size_t.
43501 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
43502 grub_off_t.
43503 (grub_file_size): Return grub_off_t.
43504 (grub_file_tell): Likewise.
43505 All callers and references changed.
43506
43507 * include/grub/disk.h (struct grub_disk_dev): Change the types of
43508 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
43509 "write".
43510 (struct grub_disk): Change the type of "total_sectors" to
43511 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 43512 "read_hook".
524a1e6a 43513 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
43514 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
43515 (grub_disk_write): Likewise.
43516 All callers and references changed.
43517
43518 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
43519 char * for grub_strncmp to silence gcc.
43520 (grub_iso9660_mount): Likewise.
43521 (grub_iso9660_mount): Likewise.
43522 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
43523 return statement.
43524 (grub_iso9660_iterate_dir): Likewise.
43525 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
43526
43527 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
43528 LEN to grub_disk_addr_t and grub_size_t, respectively.
43529
43530 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43531
43532 * fs/jfs.c (grub_jfs_read_file): Likewise.
43533
43534 * fs/minix.c (grub_jfs_read_file): Likewise.
43535
43536 * fs/sfs.c (grub_jfs_read_file): Likewise.
43537
43538 * fs/ufs.c (grub_jfs_read_file): Likewise.
43539
43540 * fs/xfs.c (grub_jfs_read_file): Likewise.
43541
43542 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
43543 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
43544 respectively.
43545
43546 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
43547 BLKNR to -1 instead of returning GRUB_ERRNO.
43548 (grub_ext2_read_file): Change the types of SECTOR and
43549 LEN to grub_disk_addr_t and grub_size_t, respectively.
43550
43551 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
43552 LEN to grub_disk_addr_t and grub_size_t, respectively.
43553
43554 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
43555 grub_file_read.
43556
43557 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
43558 string. Do not cast SECTOR explicitly.
43559
43560 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
43561 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
43562 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
43563 grub_disk_addr_t and grub_size_t, respectively. If the sector is
43564 over 2TB and LBA mode is not supported, raise an error.
43565 (get_safe_sectors): New function.
43566 (grub_biosdisk_read): Use get_safe_sectors.
43567 (grub_biosdisk_write): Likewise.
43568
43569 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
43570 (grub_efidisk_write): Likewise.
43571
43572 * disk/loopback.c (delete_loopback): Cosmetic changes.
43573 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
43574 correctly.
43575 (grub_loopback_open): Likewise.
43576 (grub_loopback_read): Likewise. Also, change the type of POS to
43577 grub_off_t, and fix the usage of grub_memset.
43578
43579 * commands/i386/pc/play.c: Include grub/machine/time.h.
43580
43581 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
43582 print FILE->SIZE.
43583
43584 * commands/configfile.c: Include grub/env.h.
43585
43586 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
43587 GRUB_ERRNO directly instead. Change the type of POS to
43588 grub_off_t. Follow the coding standard.
43589
43590 * commands/blocklist.c: Include grub/partition.h.
43591 (grub_cmd_blocklist): Return an error if the underlying device is
43592 not a disk. Take the starting sector of a partition into account,
43593 if a partition is used.
43594
43595 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
43596 a length field.
43597 (lba_mode): Support 64-bit addresses.
43598 (chs_mode): Likewise.
43599 (copy_buffer): Adapted to the new offsets of a length field and a
43600 segment field.
43601 (blocklist_default_start): Allocate 64-bit space.
43602
43603 * boot/i386/pc/boot.S (force_lba): Removed.
43604 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 43605 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 43606 space.
43607 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
43608 is useless.
43609 (lba_mode): Refactored to support a 64-bit address. More size
43610 optimization.
43611 (setup_sectors): Likewise.
43612
53af98ad 436132006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
43614
43615 * DISTLIST: Added include/grub/i386/linux.h. Removed
43616 include/grub/i386/pc/linux.h
43617
43618 * configure.ac (AC_INIT): Bumped to 1.94.
43619
43620 * config.guess: Updated from gnulib.
43621 * config.sub: Likewise.
43622 * install-sh: Likewise.
43623 * mkinstalldirs: Likewise.
43624
b4c1940a 436252006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
43626
43627 * conf/common.rmk (grub_modules_init.lst): Depended on
43628 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
43629 MODSRCFILES.
43630
43631 * genmk.rb (PModule::rule): Reverted the previous change.
43632
cfca1cfd 436332006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
43634
43635 * conf/common.rmk (grub_modules_init.lst): Depends on
43636 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
43637 that the target does not exist before producing.
43638 (grub_modules_init.h): Remove the target before generating.
43639 (grub_emu_init.c): Likewise.
43640
43641 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
43642
aa6d7826 436432006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
43644
43645 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
43646 for the target-specific tests. Make sure that we also have the
43647 up-to-date target variables for those tests.
43648
26c607b9 436492006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
43650
43651 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
43652 (PModule::rule): Likewise.
43653
0162321a 436542006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
43655
43656 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
43657 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
43658 target-specific flags should be prefixed.
43659 (PModule::rule): Likewise.
43660
6c826348 436612006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
43662
43663 * configure.ac (CMP): Check if cmp is available explicitly.
43664
b977bf01 436652006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
43666
43667 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
43668 (target_cpu): New variable.
43669 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 43670
b977bf01 43671 * util/i386/pc/grub-install.in (host_cpu): Removed.
43672 (target_cpu): New variable.
43673 (pkglibdir): Use target_cpu instead of host_cpu.
43674
43675 * util/genmoddep.c: Removed.
f19dbdb7 43676
b977bf01 43677 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
43678 instead of GRUB_HOST_SIZEOF_VOID_P.
43679 * kern/dl.c: Likewise.
43680
43681 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
43682 ...
43683 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43684 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43685 (GRUB_TARGET_SIZEOF_LONG): ... this.
43686 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43687 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43688 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
43689 to ...
43690 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43691 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43692 (GRUB_TARGET_SIZEOF_LONG): ... this.
43693 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43694 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43695 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
43696 to ...
43697 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43698 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43699 (GRUB_TARGET_SIZEOF_LONG): ... this.
43700 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43701 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43702
43703 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
43704 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
43705 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
43706 instead of GRUB_HOST_SIZEOF_LONG.
43707 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
43708 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
43709 GRUB_CPU_WORDS_BIGENDIAN.
43710 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
43711 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
43712 grub_host_ssize_t.
43713
43714 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
43715 (genmoddep_SOURCES): Likewise.
43716 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
43717 (genmoddep_SOURCES): Likewise.
43718 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
43719 (genmoddep_SOURCES): Likewise.
43720 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
43721 Likewise.
43722 (genmoddep_SOURCES): Likewise.
43723
43724 * genmoddep.awk: New file.
43725
43726 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
43727 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
43728 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
43729 (PModule::rule): Likewise.
43730 (Program::rule): Likewise.
43731 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
43732 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
43733 respectively.
43734
43735 * configure.ac: Rewritten intensively to use host and target
43736 instead of build and host, respectively.
43737
43738 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
43739 (host_cpu): Removed.
43740 (target_cpu): New variable.
43741 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
43742 (BUILD_CC): Removed.
43743 (BUILD_CFLAGS): Likewise.
43744 (BUILD_CPPFLAGS): Likewise.
43745 (TARGET_CC): New variable.
43746 (TARGET_CFLAGS): Likewise.
43747 (TARGET_CPPFLAGS): Likewise.
43748 (TARGET_LDFLAGS): Likewise.
43749 (AWK): Likewise.
43750 (include): Use target_cpu instead of host_cpu.
43751 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 43752
b977bf01 43753 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
43754
f09771a1 437552006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
43756
43757 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
43758 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
43759 field 'false' to 'exec_on_false'.
43760 (grub_script_create_cmdif): Renamed argument names to reflect above
43761 changes.
43762
43763 * normal/execute.c (grub_script_execute_cmdif): Likewise.
43764
43765 * normal/script.c (grub_script_create_cmdif): Likewise.
43766
118f4fb3 437672006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
43768
43769 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
43770 top.
43771 (grub_hfsplus_btree_recptr): Likewise.
43772 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
43773 FILEBLOCK both to pass a block number and store next block
43774 number.
43775 (grub_hfsplus_read_block): Rewritten heavily to support an extent
43776 overflow file correctly. Specify errors appropriately, because
43777 fshelp expects that GRUB_ERRNO is set when fails. Reuse
43778 grub_hfsplus_btree_recptr to get the pointer to a found key.
43779 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
43780 is found.
43781
43782 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
43783 linux.mod.
43784 (_linux_mod_SOURCES): New variable.
43785 (_linux_mod_CFLAGS): Likewise.
43786 (_linux_mod_LDFLAGS): Likewise.
43787 (linux_mod_SOURCES): Likewise.
43788 (linux_mod_CFLAGS): Likewise.
43789 (linux_mod_LDFLAGS): Likewise.
43790
43791 * DISTLIST: Added loader/i386/efi/linux.c,
43792 loader/i386/efi/linux_normal.c and
43793 include/grub/i386/efi/loader.h.
43794
43795 * loader/i386/efi/linux.c: New file.
43796 * loader/i386/efi/linux_normal.c: Likewise.
43797 * include/grub/i386/efi/loader.h: Likewise.
43798
89a7d726 437992006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
43800
43801 * commands/blocklist.c: New file.
43802
43803 * DISTLIST: Added commands/blocklist.c.
43804
43805 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 43806 color for the background, and a darker color for the foreground.
89a7d726 43807 (grub_console_checkkey): Return READ_KEY.
43808 (grub_console_cls): Set the background to
43809 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
43810
43811 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
43812
43813 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
43814 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
43815
43816 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
43817 prototype.
43818
43819 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
43820 BG. The spec is wrong again.
43821
43822 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
43823 prototype.
43824 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
43825
43826 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43827 commands/blocklist.c.
43828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 43829
89a7d726 43830 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
43831 (blocklist_mod_SOURCES): New variable.
43832 (blocklist_mod_CFLAGS): Likewise.
43833 (blocklist_mod_LDFLAGS): Likewise.
43834
75c8f258 438352006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
43836
43837 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
43838 duplication.
43839 (lba_mode): Use %eax more intensively to reduce the code size.
43840
da2eb181 438412006-05-20 Marco Gerards <marco@gnu.org>
43842
43843 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
43844
43845 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
43846 for `menuentry'.
43847 (script): Accept leading newlines.
43848 (newlines): New rule to describe 0 or more newlines.
43849 (commands): Accept `command' with trailing newline. Fixed the
43850 order in which arguments were passed to `grub_script_add_cmd'.
43851 Accept commands separated by newlines.
43852 (function): Changed to accept newlines.
43853 (menuentry) Rewritten.
43854
43855 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
43856 front of the list, instead of to the end.
43857
577b4050 438582006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
43859
43860 * util/i386/pc/grub-install.in (bindir): New variable.
43861 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
43862 Shaver <lbgwjl@gmail.com>.
43863
0d6e1189 438642006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
43865
43866 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
43867 grub/machine/linux.h
43868 * loader/i386/pc/linux.c: Likewise.
43869
43870 * include/grub/i386/pc/linux.h: Moved to ...
43871 * include/grub/i386/linux.h: ... here.
43872
43873 * include/grub/i386/linux.h (struct linux_kernel_params): New
43874 struct.
f19dbdb7 43875
31b86e9f 438762006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
43877
43878 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
43879 checking.
43880 (grub_video_vbe_blit_glyph): Likewise.
43881 (grub_video_vbe_blit_bitmap): Likewise.
43882 (grub_video_vbe_blit_render_target): Likewise.
43883
83b984de 438842006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
43885
43886 * configure.ac (--with-platform): Properly quote the square
43887 brackets.
43888
5f0413bd 438892006-05-08 Marco Gerards <marco@gnu.org>
43890
43891 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
43892 this...
43893 (kernel_elf_HEADERS): ...to this. Updated all users.
43894 (grubof_symlist.c): Renamed from this...
43895 (kernel_elf_symlist.c): ...to this. Updated all users.
43896 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
43897 (grubof_SOURCES): Renamed from this...
43898 (kernel_elf_SOURCES): ...to this.
43899 (grubof_HEADERS): Renamed from this...
43900 (kernel_elf_HEADERS): ...to this.
43901 (grubof_CFLAGS): Renamed from this...
43902 (kernel_elf_CFLAGS): ...to this.
43903 (grubof_ASFLAGS): Renamed from this...
43904 (kernel_elf_ASFLAGS): ...to this.
43905 (grubof_LDFLAGS): Renamed from this...
43906 (kernel_elf_LDFLAGS): ...to this.
43907
43908 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
43909 this...
43910 (kernel_elf_HEADERS): ...to this. Updated all users.
43911 (grubof_symlist.c): Renamed from this...
43912 (kernel_elf_symlist.c): ...to this. Updated all users.
43913 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
43914 (grubof_SOURCES): Renamed from this...
43915 (kernel_elf_SOURCES): ...to this.
43916 (grubof_HEADERS): Renamed from this...
43917 (kernel_elf_HEADERS): ...to this.
43918 (grubof_CFLAGS): Renamed from this...
43919 (kernel_elf_CFLAGS): ...to this.
43920 (grubof_ASFLAGS): Renamed from this...
43921 (kernel_elf_ASFLAGS): ...to this.
43922 (grubof_LDFLAGS): Renamed from this...
43923 (kernel_elf_LDFLAGS): ...to this.
43924
43925 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
43926 `kernel.elf' instead of `grubof'.
43927
05568c2e 439282006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
43929
43930 Add --with-platform to configure. Use pkglibdir instead of
43931 pkgdatadir. This is reported by Roger Leigh.
43932
43933 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
43934 (host_vendor): Likewise.
43935 (host_os): Likewise.
43936 (pkgdatadir): Likewise.
43937 (platform): New variable.
43938 (pkglibdir): Likewise.
43939 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 43940
05568c2e 43941 * util/i386/pc/grub-install.in (datadir): Removed.
43942 (host_vendor): Likewise.
43943 (host_os): Likewise.
43944 (pkgdatadir): Likewise.
43945 (platform): New variable.
43946 (pkglibdir): Likewise.
43947 Use PKGLIBDIR instead of PKGDATADIR.
43948
43949 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
43950 instead of GRUB_DATADIR.
43951 (main): Likewise.
43952 * util/i386/pc/grub-mkimage.c (usage): Likewise.
43953 (main): Likewise.
43954 * util/i386/efi/grub-mkimage.c (usage): Likewise.
43955 (main): Likewise.
43956
43957 * configure.ac (--with-platform): New option.
43958 Use PLATFORM instead of HOST_VENDOR to specify a platform.
43959
43960 * Makefile.in: Include a makefile based on PLATFORM instead of
43961 HOST_VENDOR.
43962 (pkgdatadir): Not appended by the machine type.
43963 (pkglibdir): Appended by the machine type.
43964 (host_vendor): Removed.
43965 (platform): New variable.
43966 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
43967 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
43968 (uninstall): Likewise.
43969
4e93851c 439702006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
43971
43972 Use the environment context in the menu. Remove the commands
43973 "default" and "timeout", and use variables instead.
f19dbdb7 43974
4e93851c 43975 * normal/menu.c: Include grub/env.h.
43976 (print_entry): Cast TITLE to silence gcc.
43977 (get_timeout): New function.
43978 (set_timeout): Likewise.
43979 (get_entry_number): Likewise.
43980 (run_menu): Use a default entry, a fallback entry and a timeout
43981 in the environment variables "default", "fallback" and
43982 "timeout". Also, tweak the default entry if it is not within the
43983 current menu entries.
43984 (grub_menu_run): Use a fallback entry in the environment variable
43985 "fallback".
43986
43987 * normal/main.c (read_config_file): Do not initialize
43988 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
43989 NEWMENU->TIMEOUT.
43990 (grub_normal_execute): Use a data slot to store the menu.
43991
43992 * include/grub/normal.h (struct grub_menu): Removed default_entry,
43993 fallback_entry and timeout.
43994 (struct grub_menu_list): Removed.
43995 (grub_menu_list_t): Likewise.
43996 (struct grub_context): Likewise.
43997 (grub_context_t): Likewise.
43998 (grub_context_get): Likewise.
43999 (grub_context_get_current_menu): Likewise.
44000 (grub_context_push_menu): Likewise.
44001 (grub_context_pop_menu): Likewise.
44002 (grub_default_init): Likewise.
44003 (grub_default_fini): Likewise.
44004 (grub_timeout_init): Likewise.
44005 (grub_timeout_fini): Likewise.
44006
44007 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
44008 and timeout.mod.
44009 (normal_mod_SOURCES): Removed normal/context.c.
44010
44011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
44012 commands/default.c, commands/timeout.c and normal/context.c.
44013 (normal_mod_SOURCES): Removed normal/context.c.
44014
44015 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
44016 commands/timeout.c and normal/context.c.
44017 (normal_mod_SOURCES): Removed normal/context.c.
44018
44019 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
44020 commands/default.c, commands/timeout.c and normal/context.c.
44021 (normal_mod_SOURCES): Removed normal/context.c.
44022
44023 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
44024 timeout.mod.
44025 (default_mod_SOURCES): Removed.
44026 (default_mod_CFLAGS): Likewise.
44027 (default_mod_LDFLAGS): Likewise.
44028 (timeout_mod_SOURCES): Removed.
44029 (timeout_mod_CFLAGS): Likewise.
44030 (timeout_mod_LDFLAGS): Likewise.
44031
44032 * DISTLIST: Removed commands/default.c, commands/timeout.c and
44033 normal/context.c.
44034
44035 * commands/default.c: Removed.
44036 * commands/timeout.c: Likewise.
44037 * normal/context.c: Likewise.
44038
1eb9cc1d 440392006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
44040
44041 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
44042
385bd9c1 440432006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
44044
44045 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
44046 "next" to "prev" for readability.
44047 (struct grub_env_sorted_var): New struct.
44048 (grub_env_context): Renamed to ...
44049 (initial_context): ... this.
44050 (grub_env_var_context): Renamed to ...
44051 (current_context): ... this.
44052 (grub_env_find): Look only at CURRENT_CONTEXT.
44053 (grub_env_context_open): Rewritten to copy exported variables from
44054 previous context.
44055 (grub_env_context_close): Rewritten according to the new
44056 scheme. Also, add an assertion to prevent the initial context from
44057 removed.
44058 (grub_env_insert): Removed the code for the sorted list.
44059 (grub_env_remove): Likewise.
44060 (grub_env_export): Simply mark the variable with
44061 GRUB_ENV_VAR_GLOBAL.
44062 (grub_env_set): A cosmetic change for naming consistency.
44063 (grub_env_get): Likewise.
44064 (grub_env_unset): Likewise.
44065 (grub_env_iterate): Rewritten to sort variables within this
44066 function.
44067 (grub_register_variable_hook): Fixed for naming consistency. Call
44068 grub_env_find again, only if NAME is not found at the first time.
44069 (mangle_data_slot_name): New function.
44070 (grub_env_set_data_slot): Likewise.
44071 (grub_env_get_data_slot): Likewise.
44072 (grub_env_unset_data_slot): Likewise.
44073
44074 * include/grub/env.h (grub_env_var_type): New enum.
44075 (GRUB_ENV_VAR_LOCAL): New constant.
44076 (GRUB_ENV_VAR_GLOBAL): Likewise.
44077 (GRUB_ENV_VAR_DATA): Likewise.
44078 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
44079 "type".
44080 (grub_env_set): Replace VAR with NAME for consistency.
44081 (grub_register_variable_hook): Likewise.
44082 (grub_env_export): Specify the name of the argument.
44083 (grub_env_set_data_slot): New prototype.
44084 (grub_env_get_data_slot): Likewise.
44085 (grub_env_unset_data_slot): Likewise.
44086
7f362539 440872006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44088
44089 Extend the loader so that GRUB can accept a loader which comes
44090 back to GRUB when a loaded image exits. Also, this change adds
44091 support for a chainloader on EFI.
f19dbdb7 44092
7f362539 44093 * term/efi/console.c: Include grub/misc.h.
44094 (grub_console_checkkey): Display a scan code on the top for
44095 debugging. This will be removed once the EFI port gets stable.
44096 Correct the scan code mapping.
44097
44098 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
44099 allocate memory from larger regions, in order to reduce the number
44100 of allocated regions. Otherwise, the MacOSX loader panics.
44101 (filter_memory_map): Avoid less than 1MB for compatibility with
44102 other loaders.
44103 (add_memory_regions): Allocate from the tail of a region, if
44104 possible, to avoid allocating a region near to 1MB, for the MacOSX
44105 loader.
44106
44107 * kern/efi/init.c (grub_efi_set_prefix): Specify
44108 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
44109
44110 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
44111 argument IMAGE_HANDLE and specify it to get a loaded image.
44112 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
44113 grub_efi_get_loaded_image.
fe6b695a 44114 (grub_efi_get_filename): Divide the length by the size of
7f362539 44115 grub_efi_char16_t.
44116 (grub_efi_get_device_path): New function.
44117 (grub_efi_print_device_path): Print End Device Path nodes. Divide
44118 the length by the size of grub_efi_char16_t for a file path device
44119 path node.
44120
44121 * kern/loader.c (grub_loader_noreturn): New variable.
44122 (grub_loader_set): Accept a new argument NORETURN. Set
44123 GRUB_LOADER_NORETURN to NORETURN.
44124 All callers changed.
44125 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
44126 grub_machine_fini.
44127
44128 * include/grub/efi/efi.h (grub_efi_get_device_path): New
44129 prototype.
44130 (grub_efi_get_loaded_image): Take an argument to specify an image
44131 handle.
44132
44133 * include/grub/loader.h (grub_loader_set): Added one more argument
44134 NORETURN.
44135
44136 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
44137 instead of grub_efi_open_protocol.
44138 (grub_efidisk_get_device_name): Likewise.
44139 (grub_efidisk_close): Print a newline.
44140 (grub_efidisk_get_device_handle): Fixed to use
44141 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
44142 GRUB_EFI_DEVICE_PATH_TYPE.
44143
44144 * disk/efi/efidisk.c (device_path_guid): Moved to ...
44145 * kern/efi/efi.c (device_path_guid): ... here.
44146
44147 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
44148 chain.mod.
44149 (kernel_mod_HEADERS): Added efi/disk.h.
44150 (_chain_mod_SOURCES): New variable.
44151 (_chain_mod_CFLAGS): Likewise.
44152 (_chain_mod_LDFLAGS): Likewise.
44153 (chain_mod_SOURCES): Likewise.
44154 (chain_mod_CFLAGS): Likewise.
44155 (chain_mod_LDFLAGS): Likewise.
44156
44157 * DISTLIST: Added include/grub/efi/chainloader.h,
44158 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
44159
44160 * include/grub/efi/chainloader.h: New file.
44161 * loader/efi/chainloader.c: Likewise.
44162 * loader/efi/chainloader_normal.c: Likewise.
44163
c0111d6e 441642006-04-30 Marco Gerards <marco@gnu.org>
44165
44166 * commands/configfile.c (grub_cmd_source): New function.
44167 (GRUB_MOD_INIT): Register the commands `source' and `.'.
44168 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
44169
df5341da 441702006-04-30 Marco Gerards <marco@gnu.org>
44171
44172 * normal/execute.c (grub_script_execute_cmd): Change the return
44173 type to `grub_err_t'. Correctly return the error.
44174 (grub_script_execute_cmdline): In case a command line is not a
44175 command or a function, try to interpret it as an assignment.
44176
f85934bd 441772006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44178
44179 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
44180 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
44181 skip a node whose name is obviously invalid as UTF-16,
44182 i.e. contains a NUL character. Stop the iteration when the last
44183 directory entry is found. Instead of using the return value of
44184 grub_hfsplus_btree_iterate_node, store the value in RET and use
44185 it, because the iterator can be stopped by the last directory
44186 entry.
44187
8f8a2cf8 441882006-04-30 Marco Gerards <marco@gnu.org>
44189
44190 * include/grub/env.h (grub_env_export): New prototype. Reported
44191 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
44192
a27e84ce 441932006-04-30 Marco Gerards <marco@gnu.org>
44194
44195 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
44196 size of the extents in a catalog file record.
44197
eaef0553 441982006-04-29 Marco Gerards <marco@gnu.org>
44199
44200 * commands/configfile.c (grub_cmd_configfile): Execute the
44201 configfile within its own context.
44202
44203 * include/grub/env.h (grub_env_context_open): New prototype.
44204 (grub_env_context_close): Likewise.
44205
44206 * kern/env.c (grub_env): Removed.
44207 (grub_env_sorted): Likewise.
44208 (grub_env_context): New variable.
44209 (grub_env_var_context): Likewise.
44210 (grub_env_find): Search both the active context and the global
44211 context.
44212 (grub_env_context_open): New function.
44213 (grub_env_context_close): Likewise.
44214 (grub_env_insert): Likewise.
44215 (grub_env_remove): Likewise.
44216 (grub_env_export): Likewise.
44217 (grub_env_set): Changed to use helper functions to avoid code
44218 duplication.
44219 (grub_env_iterate): Rewritten so both the current context and the
44220 global context are being used.
44221
44222 * normal/command.c (export_command): New function.
44223 (grub_command_init): Register the `export' function.
44224
7b455f4d 442252006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
44226
44227 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
44228 explicitly to suppress gcc's warnings.
44229 * fs/fat.c (grub_fat_find_dir): Likewise.
44230 (grub_fat_label): Likewise.
44231 * fs/xfs.c (grub_xfs_read_inode): Likewise.
44232 (grub_xfs_mount): Likewise.
44233 (grub_xfs_label): Likewise.
44234 * fs/affs.c (grub_affs_mount): Likewise.
44235 (grub_affs_label): Likewise.
44236 (grub_affs_iterate_dir): Likewise.
44237 * fs/sfs.c (grub_sfs_mount): Likewise.
44238 (grub_sfs_iterate_dir): Likewise.
44239 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
44240 * fs/hfs.c (grub_hfs_mount): Likewise.
44241 (grub_hfs_cmp_catkeys): Likewise.
44242 (grub_hfs_find_dir): Likewise.
44243 (grub_hfs_dir): Likewise.
44244 (grub_hfs_label): Likewise.
44245 * fs/jfs.c (grub_jfs_mount): Likewise.
44246 (grub_jfs_opendir): Likewise.
44247 (grub_jfs_getent): Likewise.
44248 (grub_jfs_lookup_symlink): Likewise.
44249 (grub_jfs_label): Likewise.
44250 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
44251 (grub_hfsplus_iterate_dir): Likewise.
44252 (grub_hfsplus_btree_iterate_node): Made static.
44253
44254 * util/grub-emu.c (prefix): New variable.
44255 (grub_machine_set_prefix): New function.
44256 (main): Do not set the environment variable "prefix" here. Only
44257 set PREFIX, which is used later by grub_machine_set_prefix.
44258
44259 * include/grub/video.h: Do not include grub/symbol.h.
44260 (grub_video_register): Not exported. This symbol is not defined in
44261 the kernel.
44262 (grub_video_unregister): Likewise.
44263 (grub_video_iterate): Likewise.
44264 (grub_video_setup): Likewise.
44265 (grub_video_restore): Likewise.
44266 (grub_video_get_info): Likewise.
44267 (grub_video_get_blit_format): Likewise.
44268 (grub_video_set_palette): Likewise.
44269 (grub_video_get_palette): Likewise.
44270 (grub_video_set_viewport): Likewise.
44271 (grub_video_get_viewport): Likewise.
44272 (grub_video_map_color): Likewise.
44273 (grub_video_map_rgb): Likewise.
44274 (grub_video_map_rgba): Likewise.
44275 (grub_video_fill_rect): Likewise.
44276 (grub_video_blit_glyph): Likewise.
44277 (grub_video_blit_bitmap): Likewise.
44278 (grub_video_blit_render_target): Likewise.
44279 (grub_video_scroll): Likewise.
44280 (grub_video_swap_buffers): Likewise.
44281 (grub_video_create_render_target): Likewise.
44282 (grub_video_delete_render_target): Likewise.
44283 (grub_video_set_active_render_target): Likewise.
44284
44285 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
44286 Undefined.
44287 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
44288
44289 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
44290 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44291 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44292 instead of $(srcdir)/genkernsyms.sh.
44293
44294 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
44295 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44296 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44297 instead of $(srcdir)/genkernsyms.sh.
44298
44299 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
44300 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44301 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44302 instead of $(srcdir)/genkernsyms.sh.
44303
44304 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
44305 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44306 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44307 instead of $(srcdir)/genkernsyms.sh.
44308
44309 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
44310 genkernsyms.sh.
44311
44312 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
44313 genkernsyms.sh.
44314 (gensymlist.sh): New target.
44315 (genkernsyms.sh): Likewise.
44316
44317 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
44318 genkernsyms.sh.in and gensymlist.sh.in.
44319
44320 * genkernsyms.sh: Removed.
44321 * gensymlist.sh: Likewise.
f19dbdb7 44322
7b455f4d 44323 * genkernsyms.sh.in: New file.
44324 * gensymlist.sh.in: Likewise.
44325
1885bb27 443262006-04-25 Hollis Blanchard <hollis@penguinppc.org>
44327
44328 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
44329 clobber "prefix", since we may have already set it manually.
44330
71538dff 443312006-04-25 Hollis Blanchard <hollis@penguinppc.org>
44332
44333 * kern/misc.c (abort): New alias for grub_abort.
44334
2965c7cc 443352006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
44336
44337 A new machine-specific function "grub_machine_set_prefix" is
44338 defined. This is called after loading modules, so that a prefix
44339 initialization can use modules. Also, this change adds an
44340 intensive debugging feature for the memory manager via the
44341 configure option "--enable-mm-debug".
f19dbdb7 44342
2965c7cc 44343 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
44344 PART.LEN.
44345
44346 * kern/sparc64/ieee1275/init.c (abort): Removed.
44347 (grub_stop): Likewise.
44348 (grub_exit): New function.
44349 (grub_set_prefix): Renamed to ...
44350 (grub_machine_set_prefix): ... this.
44351 (grub_machine_init): Do not call grub_set_prefix.
44352
44353 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
44354 (grub_machine_set_prefix): ... this.
44355 (grub_machine_init): Do not call grub_set_prefix.
44356
44357 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
44358 (grub_machine_init): Do not set the prefix here.
44359
44360 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
44361
44362 * kern/efi/init.c: Include grub/mm.h.
44363 (grub_efi_set_prefix): New function.
44364
44365 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
44366 (grub_efi_get_filename): New function.
44367 (grub_print_device_path): Renamed to ...
44368 (grub_efi_print_device_path): ... this.
44369
44370 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
44371 [MM_DEBUG] (grub_realloc): Likewise.
44372 [MM_DEBUG] (grub_free): Likewise.
44373 [MM_DEBUG] (grub_memalign): Likewise.
44374 [MM_DEBUG] (grub_mm_debug): New variable.
44375 [MM_DEBUG] (grub_debug_malloc): New function.
44376 [MM_DEBUG] (grub_debug_free): New function.
44377 [MM_DEBUG] (grub_debug_realloc): New function.
44378 [MM_DEBUG] (grub_debug_memalign): New function.
44379
44380 * kern/misc.c (grub_abort): Print a newline to distinguish
44381 the message.
44382
44383 * kern/main.c (grub_main): Call grub_machine_set_prefix and
44384 grub_set_root_dev after loading modules. This is necessary when
44385 setting a prefix depends on modules.
44386
44387 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
44388 (grub_efi_print_device_path): ... this.
44389 (grub_efi_get_filename): New prototype.
44390 (grub_efi_set_prefix): Likewise.
44391
44392 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
44393 and grub/disk.h.
44394 (grub_efidisk_get_device_handle): New prototype.
44395 (grub_efidisk_get_device_name): Likewise.
44396
44397 * include/grub/mm.h: Include config.h.
44398 (MM_DEBUG): Removed.
44399 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
44400 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
44401 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
44402 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
44403 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
44404 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
44405 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
44406 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
44407 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
44408
44409 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
44410
44411 * disk/efi/efidisk.c: Include grub/partition.h.
44412 (iterate_child_devices): New function.
44413 (add_device): First, compare only last device path nodes, so that
44414 devices are sorted by the types.
44415 (grub_efidisk_get_device_handle): New function.
44416 (grub_efidisk_get_device_name): Likewise.
44417
44418 * configure.ac (--enable-mm-debug): New option to enable the
44419 memory manager debugging feature. This makes the binary much
44420 bigger, so is disabled by default.
44421
9cacaa17 444222006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
44423
44424 Use grub_abort instead of grub_stop, and grub_exit must be
44425 define in each architecture now. Also, this change adds support
44426 for EFI disks.
f19dbdb7 44427
9cacaa17 44428 * util/i386/pc/grub-probefs.c: Include grub/term.h.
44429 (grub_getkey): New function.
44430 (grub_term_get_current): Likewise.
44431
44432 * util/i386/pc/grub-setup.c: Include grub/term.h.
44433 (grub_getkey): New function.
44434 (grub_term_get_current): Likewise.
44435
44436 * util/misc.c (grub_stop): Renamed to ...
44437 (grub_exit): ... this.
44438
44439 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
44440 (grub_exit): ... this.
44441 (grub_machine_init): Use grub_abort instead of abort.
44442 (grub_stop): Removed.
44443
44444 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
44445 abort.
44446
44447 * kern/i386/pc/startup.S (grub_exit): New function.
44448 (cold_reboot): New label.
44449
44450 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
44451 (grub_efi_init): Call grub_efidisk_init.
44452 (grub_efi_fini): Call grub_efidisk_fini.
44453
44454 * kern/efi/efi.c: Include grub/mm.h.
44455 (grub_efi_console_control_guid): Renamed to ...
44456 (console_control_guid): ... this.
44457 (grub_efi_loaded_image_guid): Renamed to ...
44458 (loaded_image_guid): ... this.
44459 (grub_efi_locate_handle): New function.
44460 (grub_efi_open_protocol): Likewise.
44461 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
44462 GRUB_EFI_CONSOLE_CONTROL_GUID.
44463 (grub_efi_exit): Removed.
44464 (grub_stop): Likewise.
44465 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
44466 (grub_exit): New function.
44467 (grub_print_device_path): Likewise.
44468
44469 * kern/rescue.c (grub_rescue_cmd_exit): New function.
44470 (grub_enter_rescue_mode): Register "exit".
44471
44472 * kern/misc.c (grub_real_dprintf): A cosmetic change.
44473 (grub_abort): New function.
44474
44475 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
44476
44477 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
44478
44479 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
44480
44481 * include/grub/efi/efi.h (grub_efi_exit): Removed.
44482 (grub_print_device_path): New prototype.
44483 (grub_efi_locate_handle): Likewise.
44484 (grub_efi_open_protocol): Likewise.
44485
44486 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
44487 * disk/efi/efidisk.c: Likewise.
44488
44489 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
44490
44491 * include/grub/efi/console_control.h
44492 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
44493
44494 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
44495 last 8 bytes as an array.
44496 (GRUB_EFI_DISK_IO_GUID): New macro.
44497 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
44498 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
44499 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
44500 grub_uint8_t.
44501 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
44502 (struct grub_efi_device_path): Rename the member "sub_type" to
44503 "subtype".
44504 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
44505 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
44506 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
44507 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
44508 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
44509 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
44510 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
44511 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
44512 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
44513 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
44514 (struct grub_efi_pci_device_path): New structure.
44515 (grub_efi_pci_device_path_t): New type.
44516 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
44517 (struct grub_efi_pccard_device_path): New structure.
44518 (grub_efi_pccard_device_path_t): New type.
44519 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
44520 (struct grub_efi_memory_mapped_device_path): New structure.
44521 (grub_efi_memory_mapped_device_path_t): New type.
44522 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
44523 (struct grub_efi_vendor_device_path): New structure.
44524 (grub_efi_vendor_device_path_t): New type.
44525 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
44526 (struct grub_efi_controller_device_path): New structure.
44527 (grub_efi_controller_device_path_t): New type.
44528 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
44529 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
44530 (struct grub_efi_acpi_device_path): New structure.
44531 (grub_efi_acpi_device_path_t): New type.
44532 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
44533 (struct grub_efi_expanded_acpi_device_path): New structure.
44534 (grub_efi_expanded_acpi_device_path_t): New type.
44535 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
44536 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
44537 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
44538 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
44539 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
44540 (struct grub_efi_atapi_device_path): New structure.
44541 (grub_efi_atapi_device_path_t): New type.
44542 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
44543 (struct grub_efi_fibre_channel_device_path): New structure.
44544 (grub_efi_fibre_channel_device_path_t): New type.
44545 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
44546 (struct grub_efi_1394_device_path): New structure.
44547 (grub_efi_1394_device_path_t): New type.
44548 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
44549 (struct grub_efi_usb_device_path): New structure.
44550 (grub_efi_usb_device_path_t): New type.
44551 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
44552 (struct grub_efi_usb_class_device_path): New structure.
44553 (grub_efi_usb_class_device_path_t): New type.
44554 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
44555 (struct grub_efi_i2o_device_path): New structure.
44556 (grub_efi_i2o_device_path_t): New type.
44557 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
44558 (struct grub_efi_mac_address_device_path): New structure.
44559 (grub_efi_mac_address_device_path_t): New type.
44560 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
44561 (struct grub_efi_ipv4_device_path): New structure.
44562 (grub_efi_ipv4_device_path_t): New type.
44563 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
44564 (struct grub_efi_ipv6_device_path): New structure.
44565 (grub_efi_ipv6_device_path_t): New type.
44566 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
44567 (struct grub_efi_infiniband_device_path): New structure.
44568 (grub_efi_infiniband_device_path_t): New type.
44569 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
44570 (struct grub_efi_uart_device_path): New structure.
44571 (grub_efi_uart_device_path_t): New type.
44572 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
44573 (struct grub_efi_vendor_messaging_device_path): New structure.
44574 (grub_efi_vendor_messaging_device_path_t): New type.
44575 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
44576 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
44577 (struct grub_efi_hard_drive_device_path): New structure.
44578 (grub_efi_hard_drive_device_path_t): New type.
44579 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
44580 (struct grub_efi_cdrom_device_path): New structure.
44581 (grub_efi_cdrom_device_path_t): New type.
44582 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
44583 (struct grub_efi_vendor_media_device_path): New structure.
44584 (grub_efi_vendor_media_device_path_t): New type.
44585 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
44586 (struct grub_efi_file_path_device_path): New structure.
44587 (grub_efi_file_path_device_path_t): New type.
44588 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
44589 (struct grub_efi_protocol_device_path): New structure.
44590 (grub_efi_protocol_device_path_t): New type.
44591 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
44592 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
44593 (struct grub_efi_bios_device_path): New structure.
44594 (grub_efi_bios_device_path_t): New type.
44595 (struct grub_efi_disk_io): New structure.
44596 (grub_efi_disk_io_t): New type.
44597 (struct grub_efi_block_io_media): New structure.
44598 (grub_efi_block_io_media_t): New type.
44599 (struct grub_efi_block_io): New structure.
44600 (grub_efi_block_io_t): New type.
44601
44602 * include/grub/misc.h (grub_stop): Removed.
44603 (grub_exit): New prototype.
44604 (grub_abort): Likewise.
44605
44606 * include/grub/disk.h (enum grub_disk_dev_id): Added
44607 GRUB_DISK_DEVICE_EFIDISK_ID.
44608
44609 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
44610 disk/efi/efidisk.c.
44611 (kernel_syms.lst): Remove the target if an error occurs.
44612
49986a9f 446132006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
44614
44615 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
44616 as it was simply too buggy.
44617
970d3b8a 446182006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
44619
44620 * kern/misc.c (grub_lltoa): New function.
44621 (grub_vsprintf): Added support for the long long suffix,
44622 i.e. "ll".
44623
ff04ec24 446242006-04-20 Hollis Blanchard <hollis@penguinppc.org>
44625
44626 * Makefile.in (LDFLAGS): Add variable.
44627 (LD): Remove variable.
44628 * configure.ac: Add -m32 to LDFLAGS.
44629 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
44630 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
44631 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
44632 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
44633 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
44634 variables.
44635 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
44636 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
44637 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
44638
37e5e1a4 446392006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
44640
44641 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
44642 length for unknown glyph.
44643
c352d8dd 446442006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
44645
2eab1c0d 44646 Add support for pre-loaded modules into the EFI port.
f19dbdb7 44647
2eab1c0d 44648 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
44649 completely. Accept one more argument DIR. The caller has changed.
44650
44651 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
44652
44653 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
44654 (grub_efi_loaded_image_guid): New variable.
44655 (grub_efi_get_loaded_image): New function.
44656 (grub_arch_modules_addr): Likewise.
44657
44658 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
44659 prototype.
44660
44661 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
44662 (struct grub_efi_loaded_image): New structure.
44663 (grub_efi_loaded_image_t): New type.
44664
446652006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44666
c352d8dd 44667 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
44668 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
44669 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
44670
6d01d6b4 446712006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
44672
44673 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
44674
976a4ea0 446752006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
44676
44677 * DISTLIST: Added include/grub/efi/console.h,
44678 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
44679 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
44680
44681 * include/grub/efi/console.h: New file.
44682 * include/grub/efi/time.h: Likewise.
44683 * include/grub/i386/efi/kernel.h: Likewise.
44684 * kern/efi/init.c: Likewise.
44685 * kern/efi/mm.c: Likewise.
44686 * term/efi/console.c: Likewise.
f19dbdb7 44687
976a4ea0 44688 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
44689 (grub_stop): Removed.
44690 (grub_get_rtc): Likewise.
44691 (grub_machine_init): Simply call grub_efi_init.
44692 (grub_machine_fini): Call grub_efi_fini.
44693
44694 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
44695 (grub_efi_output_string): Removed.
44696 (grub_efi_stall): New function.
44697 (grub_stop): Likewise.
44698 (grub_get_rtc): Likewise.
44699
44700 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
44701 (grub_efi_stall): New prototype.
44702 (grub_efi_allocate_pages): Likewise.
44703 (grub_efi_free_pages): Likewise.
44704 (grub_efi_get_memory_map): Likewise.
44705 (grub_efi_mm_init): Likewise.
44706 (grub_efi_mm_fini): Likewise.
44707 (grub_efi_init): Likewise.
44708 (grub_efi_fini): Likewise.
44709
44710 * include/grub/i386/efi/time.h: Do not include
44711 grub/symbol.h. Include grub/efi/time.h.
44712 (GRUB_TICKS_PER_SECOND): Removed.
44713 (grub_get_rtc): Likewise.
44714
44715 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
44716 Added padding. The EFI spec is buggy.
44717 (GRUB_EFI_BLACK): New macro.
44718 (GRUB_EFI_BLUE): Likewise.
44719 (GRUB_EFI_GREEN): Likewise.
44720 (GRUB_EFI_CYAN): Likewise.
44721 (GRUB_EFI_RED): Likewise.
44722 (GRUB_EFI_MAGENTA): Likewise.
44723 (GRUB_EFI_BROWN): Likewise.
44724 (GRUB_EFI_LIGHTGRAY): Likewise.
44725 (GRUB_EFI_BRIGHT): Likewise.
44726 (GRUB_EFI_DARKGRAY): Likewise.
44727 (GRUB_EFI_LIGHTBLUE): Likewise.
44728 (GRUB_EFI_LIGHTGREEN): Likewise.
44729 (GRUB_EFI_LIGHTCYAN): Likewise.
44730 (GRUB_EFI_LIGHTRED): Likewise.
44731 (GRUB_EFI_LIGHTMAGENTA): Likewise.
44732 (GRUB_EFI_YELLOW): Likewise.
44733 (GRUB_EFI_WHITE): Likewise.
44734 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
44735 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
44736 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
44737 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
44738 (GRUB_EFI_BACKGROUND_RED): Likewise.
44739 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
44740 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
44741 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
44742 (GRUB_EFI_TEXT_ATTR): Likewise.
44743
44744 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
44745 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
44746 (kernel_mod_HEADERS): Added efi/time.h.
44747
83709125 447482006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
44749
44750 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
44751 include/grub/efi/api.h, include/grub/efi/console_control.h,
44752 include/grub/efi/efi.h, include/grub/efi/pe32.h,
44753 include/grub/i386/efi/time.h, kern/efi/efi.c,
44754 kern/i386/efi/init.c, kern/i386/efi/startup.S,
44755 and util/i386/efi/grub-mkimage.c.
44756
44757 * Makefile.in (RMKFILES): Added i386-efi.rmk.
44758
44759 * genmk.rb (PModule#rule): Do not export symbols if
44760 #{prefix}_EXPORTS is set to "no".
44761
44762 * conf/i386-efi.mk: New file.
44763 * conf/i386-efi.rmk: Likewise.
44764 * include/grub/efi/api.h: Likewise.
44765 * include/grub/efi/console_control.h: Likewise.
44766 * include/grub/efi/efi.h: Likewise.
44767 * include/grub/efi/pe32.h: Likewise.
44768 * include/grub/i386/efi/time.h: Likewise.
44769 * kern/efi/efi.c: Likewise.
44770 * kern/i386/efi/init.c: Likewise.
44771 * kern/i386/efi/startup.S: Likewise.
44772 * util/i386/efi/grub-mkimage.c: Likewise.
44773
447742006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 44775
44776 * include/grub/script.h: Include <grub/parser.h> and
44777 "grub_script.tab.h".
44778 (struct grub_lexer_param): New struct.
44779 (struct grub_parser_param): Likewise.
44780 (grub_script_create_arglist): Pass the state in an argument.
44781 (grub_script_add_arglist): Likewise.
44782 (grub_script_create_cmdline): Likewise.
44783 (grub_script_create_cmdblock): Likewise.
44784 (grub_script_create_cmdif): Likewise.
44785 (grub_script_create_cmdmenu): Likewise.
44786 (grub_script_add_cmd): Likewise.
44787 (grub_script_arg_add): Likewise.
44788 (grub_script_lexer_ref): Likewise.
44789 (grub_script_lexer_deref): Likewise.
44790 (grub_script_lexer_record_start): Likewise.
44791 (grub_script_lexer_record_stop): Likewise.
44792 (grub_script_mem_record): Likewise.
44793 (grub_script_mem_record_stop): Likewise.
44794 (grub_script_malloc): Likewise.
44795 (grub_script_yylex): Likewise.
44796 (grub_script_yyparse): Likewise.
44797 (grub_script_yyerror): Likewise.
44798 (grub_script_yylex): Likewise.
44799 (grub_script_lexer_init): Return the state.
44800
44801 * normal/lexer.c (grub_script_lexer_state): Removed variable.
44802 (grub_script_lexer_done): Likewise.
44803 (grub_script_lexer_getline): Likewise.
44804 (grub_script_lexer_refs): Likewise.
44805 (script): Likewise.
44806 (newscript): Likewise.
44807 (record): Likewise.
44808 (recording): Likewise.
44809 (recordpos): Likewise.
44810 (recordlen): Likewise.
44811 (grub_script_lexer_init): Return the state instead of setting
44812 global variables.
44813 (grub_script_lexer_ref): Use the newly added argument for state
44814 instead of globals.
44815 (grub_script_lexer_deref): Likewise.
44816 (grub_script_lexer_record_start): Likewise.
44817 (grub_script_lexer_record_stop): Likewise.
44818 (recordchar): Likewise.
44819 (nextchar): Likewise.
44820 (grub_script_yylex2): Likewise.
44821 (grub_script_yylex): Likewise.
44822 (grub_script_yyerror): Likewise.
44823
44824 * normal/parser.y (func_mem): Removed variable.
44825 (menu_entry): Likewise.
44826 (err): Likewise.
44827 (%lex-param): New parser option.
44828 (%parse-param): Likewise.
44829 (script): Always return the AST.
44830 (argument): Pass the state around.
44831 (arguments): Likewise.
44832 (grubcmd): Likewise.
44833 (commands): Likewise.
44834 (function): Likewise.
44835 (menuentry): Likewise.
44836 (if_statement): Likewise.
44837 (if): Likewise.
44838
44839 * normal/script.c (grub_script_memused): Removed variable.
44840 (grub_script_parsed): Likewise.
44841 (grub_script_malloc): Added a state argument. Use that instead of
44842 global variables.
44843 (grub_script_mem_record): Likewise.
44844 (grub_script_mem_record_stop): Likewise.
44845 (grub_script_arg_add): Likewise.
44846 (grub_script_add_arglist): Likewise.
44847 (grub_script_create_cmdline): Likewise.
44848 (grub_script_create_cmdif): Likewise.
44849 (grub_script_create_cmdmenu): Likewise.
44850 (grub_script_add_cmd): Likewise.
44851 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 44852
e2a8c904 448532006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 44854
44855 * normal/command.c (grub_command_init): Remove the title command.
44856
44857 * normal/lexer.c (grub_script_yylex): Renamed from this...
44858 (grub_script_yylex2): ... to this.
44859 (grub_script_yylex): New function. Temporary
44860 introduced to filter some tokens.
44861 (grub_script_yyerror): Print a newline.
44862
44863 * normal/main.c (read_config_file): Output information about the
44864 lines that contain errors. Wait for a key after all lines have
44865 been processed. Don't return an empty menu.
44866
44867 * normal/parser.y (func_mem): Don't initialize.
44868 (menu_entry): Likewise.
44869 (err): New variable.
44870 (script): Don't return anything when an error was encountered.
44871 (ws, returns): Removed rules.
44872 (argument): Disabled concatenated variable support.
44873 (arguments): Remove explicit separators.
44874 (grubcmd): Likewise.
44875 (function): Likewise.
44876 (menuentry): Likewise.
44877 (if): Likewise.
44878 (commands): Likewise. Add error handling.
44879
44880 * normal/script.c (grub_script_create_cmdline): If
44881 `grub_script_parsed' is 0, assume the parser encountered an error.
44882
c9a86192 448832006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
44884
44885 * configure.ac: Add support for EFI. Fix the typo
44886 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
44887
70f3b243 448882006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
44889
44890 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
44891 foreign multibyte characters should be shown correctly.
44892
65f201ad 448932006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
44894
44895 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
44896 calculation.
44897 (read_config_file): Made it to close file before returning.
44898
b4b93674 448992006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
44900
44901 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
44902 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
44903 video/i386/pc/vbefill.c.
44904
44905 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
44906 video/i386/pc/vbefill.c.
44907
44908 * include/grub/video.h (grub_video_blit_format): New enum.
44909 (grub_video_mode_info): Added new member blit_format.
44910 (grub_video_get_blit_format): New function prototype.
44911
44912 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
44913 function prototype.
44914 (grub_video_vbe_map_rgb): Likewise.
44915 (grub_video_vbe_unmap_color): Likewise.
44916
44917 * include/grub/i386/pc/vbeblit.h: New file.
44918
44919 * include/grub/i386/pc/vbefill.h: New file.
44920
44921 * video/video.c (grub_video_get_blit_format): New function.
44922 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
44923 (grub_video_vbe_map_rgb): Likewise.
44924 (grub_video_vbe_unmap_color): Likewise.
44925
44926 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
44927 optimized fills.
44928 (grub_video_vbe_blit_render_target): Changed to use more optimized
44929 blits.
44930 (grub_video_vbe_setup): Added detection for optimized settings.
44931 (grub_video_vbe_create_render_target): Likewise.
44932
44933 * video/i386/pc/vbeblit.c: New file.
44934
44935 * video/i386/pc/vbefill.c: New file.
44936
c2379b9c 449372006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
44938
44939 * font/manager.c (grub_font_get_glyph): Removed font fixup from
44940 here...
44941
44942 * util/unifont2pff.rb: ... and moved it to here. Improved argument
44943 parsing to support both hex and dec ranges. If filename was missing
44944 show usage information.
44945
bd0d7896 449462006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
44947
44948 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
44949 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
44950
44951 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
44952 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
44953 (video_mod_SOURCES): Added.
44954 (video_mod_CFLAGS): Likewise.
44955 (video_mod_LDFLAGS): Likewise.
44956 (gfxterm_mod_SOURCES): Likewise.
44957 (gfxterm_mod_CFLAGS): Likewise.
44958 (gfxterm_mod_LDFLAGS): Likewise.
44959 (videotest_mod_SOURCES): Likewise.
44960 (videotest_mod_CFLAGS): Likewise.
44961 (videotest_mod_LDFLAGS): Likewise.
44962 (vesafb_mod_SOURCES): Removed.
44963 (vesafb_mod_CFLAGS): Likewise.
44964 (vesafb_mod_LDFLAGS): Likewise.
44965 (vga_mod_SOURCES): Likewise.
44966 (vga_mod_CFLAGS): Likewise.
44967 (vga_mod_LDFLAGS): Likewise.
44968
44969 * commands/videotest.c: New file.
44970
44971 * font/manager.c (fill_with_default_glyph): Modified to use
44972 grub_font_glyph.
44973 (grub_font_get_glyph): Likewise.
44974 (fontmanager): Renamed from this...
44975 (font_manager): ... to this.
44976
44977 * include/grub/font.h (grub_font_glyph): Added new structure.
44978 (grub_font_get_glyph): Modified to use grub_font_glyph.
44979
44980 * include/grub/misc.h (grub_abs): Added as inline function.
44981
44982 * include/grub/video.h: New file.
44983
44984 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
44985 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
44986 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
44987 (grub_vbe_get_controller_info): Renamed from this...
44988 (grub_vbe_bios_get_controller_info): ... to this.
44989 (grub_vbe_get_mode_info): Renamed from this...
44990 (grub_vbe_bios_get_mode_info): ... to this.
44991 (grub_vbe_set_mode): Renamed from this...
44992 (grub_vbe_bios_set_mode): ... to this.
44993 (grub_vbe_get_mode): Renamed from this...
44994 (grub_vbe_bios_get_mode): ... to this.
44995 (grub_vbe_set_memory_window): Renamed from this...
44996 (grub_vbe_bios_set_memory_window): ... to this.
44997 (grub_vbe_get_memory_window): Renamed from this...
44998 (grub_vbe_bios_get_memory_window): ... to this.
44999 (grub_vbe_set_scanline_length): Renamed from this...
45000 (grub_vbe_set_scanline_length): ... to this.
45001 (grub_vbe_get_scanline_length): Renamed from this...
45002 (grub_vbe_bios_get_scanline_length): ... to this.
45003 (grub_vbe_set_display_start): Renamed from this...
45004 (grub_vbe_bios_set_display_start): ... to this.
45005 (grub_vbe_get_display_start): Renamed from this...
45006 (grub_vbe_bios_get_display_start): ... to this.
45007 (grub_vbe_set_palette_data): Renamed from this...
45008 (grub_vbe_bios_set_palette_data): ... to this.
45009 (grub_vbe_set_pixel_rgb): Removed.
45010 (grub_vbe_set_pixel_index): Likewise.
45011
45012 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
45013 from this...
45014 (grub_vbe_bios_get_controller_info): ... to this.
45015 (grub_vbe_get_mode_info): Renamed from this...
45016 (grub_vbe_bios_get_mode_info): ... to this.
45017 (grub_vbe_set_mode): Renamed from this...
45018 (grub_vbe_bios_set_mode): ... to this.
45019 (grub_vbe_get_mode): Renamed from this...
45020 (grub_vbe_bios_get_mode): ... to this.
45021 (grub_vbe_set_memory_window): Renamed from this...
45022 (grub_vbe_bios_set_memory_window): ... to this.
45023 (grub_vbe_get_memory_window): Renamed from this...
45024 (grub_vbe_bios_get_memory_window): ... to this.
45025 (grub_vbe_set_scanline_length): Renamed from this...
45026 (grub_vbe_set_scanline_length): ... to this.
45027 (grub_vbe_get_scanline_length): Renamed from this...
45028 (grub_vbe_bios_get_scanline_length): ... to this.
45029 (grub_vbe_set_display_start): Renamed from this...
45030 (grub_vbe_bios_set_display_start): ... to this.
45031 (grub_vbe_get_display_start): Renamed from this...
45032 (grub_vbe_bios_get_display_start): ... to this.
45033 (grub_vbe_set_palette_data): Renamed from this...
45034 (grub_vbe_bios_set_palette_data): ... to this.
45035 (grub_vbe_bios_get_controller_info): Fixed problem with registers
45036 getting corrupted after calling it. Added more pushes and pops.
45037 (grub_vbe_bios_set_mode): Likewise.
45038 (grub_vbe_bios_get_mode): Likewise.
45039 (grub_vbe_bios_get_memory_window): Likewise.
45040 (grub_vbe_bios_set_scanline_length): Likewise.
45041 (grub_vbe_bios_get_scanline_length): Likewise.
45042 (grub_vbe_bios_get_display_start): Likewise.
45043 (grub_vbe_bios_set_palette_data): Likewise.
45044
45045 * normal/cmdline.c (cl_set_pos): Refresh the screen.
45046 (cl_insert): Likewise.
45047 (cl_delete): Likewise.
45048
45049 * term/gfxterm.c: New file.
45050
45051 * term/i386/pc/vesafb.c: Removed file.
45052
45053 * video/video.c: New file.
45054
45055 * video/i386/pc/vbe.c (real2pm): Added new function.
45056 (grub_video_vbe_draw_pixel): Likewise.
45057 (grub_video_vbe_get_video_ptr): Likewise.
45058 (grub_video_vbe_get_pixel): Likewise
45059 (grub_video_vbe_init): Likewise.
45060 (grub_video_vbe_fini): Likewise.
45061 (grub_video_vbe_setup): Likewise.
45062 (grub_video_vbe_get_info): Likewise.
45063 (grub_video_vbe_set_palette): Likewise.
45064 (grub_video_vbe_get_palette): Likewise.
45065 (grub_video_vbe_set_viewport): Likewise.
45066 (grub_video_vbe_get_viewport): Likewise.
45067 (grub_video_vbe_map_color): Likewise.
45068 (grub_video_vbe_map_rgb): Likewise.
45069 (grub_video_vbe_map_rgba): Likewise.
45070 (grub_video_vbe_unmap_color): Likewise.
45071 (grub_video_vbe_fill_rect): Likewise.
45072 (grub_video_vbe_blit_glyph): Likewise.
45073 (grub_video_vbe_blit_bitmap): Likewise.
45074 (grub_video_vbe_blit_render_target): Likewise.
45075 (grub_video_vbe_scroll): Likewise.
45076 (grub_video_vbe_swap_buffers): Likewise.
45077 (grub_video_vbe_create_render_target): Likewise.
45078 (grub_video_vbe_delete_render_target): Likewise.
45079 (grub_video_vbe_set_active_render_target): Likewise.
45080 (grub_vbe_set_pixel_rgb): Remove function.
45081 (grub_vbe_set_pixel_index): Likewise.
45082 (index_color_mode): Remove static variable.
45083 (active_mode): Likewise.
45084 (framebuffer): Likewise.
45085 (bytes_per_scan_line): Likewise.
45086 (grub_video_vbe_adapter): Added new static variable.
45087 (framebuffer): Likewise.
45088 (render_target): Likewise.
45089 (initial_mode): Likewise.
45090 (mode_in_use): Likewise.
45091 (mode_list): Likewise.
45092
5f97350b 450932006-03-10 Marco Gerards <marco@gnu.org>
45094
45095 * configure.ac (AC_INIT): Bumped to 1.93.
45096
45097 * DISTLIST: Added `include/grub/hfs.h'.
45098
a3c5c6f8 450992006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
45100
45101 * boot/i386/pc/boot.S (general_error): Before looping, try INT
45102 18H, which might help the BIOS falling back to next boot media.
45103
6de53d26 451042006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
45105
45106 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
45107 Poe Chen <poe.poechen@gmail.com>.
45108
77c4a393 451092006-01-17 Marco Gerards <marco@gnu.org>
45110
45111 * include/grub/normal.h: Include <grub/script.h>.
45112 (grub_command_list): Removed struct.
45113 (grub_command_list_t): Removed type.
45114 (grub_menu_entry): Remove members `num' and `command_list'. Add
45115 members `commands' and `sourcecode'.
45116 * include/grub/script.h: Add inclusion guards.
45117 (grub_script_cmd_menuentry): New struct.
45118 (grub_script_execute_menuentry): New prototype.
45119 (grub_script_lexer_record_start): Likewise.
45120 (grub_script_lexer_record_stop): Likewise.
45121 * normal/execute.c (grub_script_execute_menuentry): New function.
45122 * normal/lexer.c (record, recording, recordpos, recordlen): New
45123 variables.
45124 (grub_script_lexer_record_start): New function.
45125 (grub_script_lexer_record_stop): Likewise.
45126 (recordchar): Likewise.
45127 (nextchar): Likewise.
45128 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
45129 2048 as the buffer size. Add the tokens `menuentry' and `@'.
45130 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
45131 (current_menu): New variable.
45132 (free_menu): Mainly rewritten.
45133 (grub_normal_menu_addentry): New function.
45134 (read_config_file): Rewritten.
45135 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 45136 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 45137 the menu entry.
45138 (run): Mainly rewritten.
45139 * normal/parser.y (menu_entry): New variable.
45140 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
45141 (menuentry): New rule.
45142 (command): Add `menuentry'.
45143 (if_statement): Allow additional returns before `fi'.
45144 * normal/script.c (grub_script_create_cmdmenu): New function.
45145
144f1f98 451462006-01-03 Marco Gerards <marco@gnu.org>
45147
45148 * INSTALL: GNU Bison is required.
45149 * configure.ac: Rewritten the test to detect Bison.
45150 * Makefile.in (YACC): New variable. Reported by Xun Sun
45151 <xun.sun.cn@gmail.com>.
45152
af4b2d89 451532006-01-03 Marco Gerards <marco@gnu.org>
45154
45155 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
45156 the HFS+ filesystem to filesystem blocks.
45157 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
45158 GCC warning is silenced.
45159
15643b71 451602006-01-03 Marco Gerards <marco@gnu.org>
45161
45162 * partmap/apple.c (apple_partition_map_iterate): Convert the data
45163 read from disk from big endian to host byte order.
45164
00905879 451652006-01-03 Hollis Blanchard <hollis@penguinppc.org>
45166
45167 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
45168 documentation.
45169 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
45170 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
45171 embedded HFS+ filesystem.
45172 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
45173 (grub_hfs_sblock): Move from here...
45174 * include/grub/hfs.h: To here... New file.
45175 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
45176 documentation.
45177 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
45178 New macros.
45179 (grub_hfsplus_volheader): Change type of member `magic' to
45180 `grub_uint16_t'.
45181 (grub_hfsplus_data): Add new member `embedded_offset'.
45182 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
45183 returned block.
45184 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
45185 Calculate the offset.
45186
8899bc3e 451872005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45188
45189 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
45190 Removed.
45191 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
45192
ae8c0277 451932005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45194
45195 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
45196 ENV->NAME is NULL after allocating ENV->VALUE.
45197
07084456 451982005-12-25 Marco Gerards <marco@gnu.org>
45199
45200 * kern/env.c (grub_env_set): Rewritten the error handling code.
45201
4750f5f1 452022005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45203
45204 * geninit.sh: Made more robust, and more portable.
45205
50214199 452062005-12-25 Marco Gerards <marco@gnu.org>
45207
45208 Add support for Apple HFS+ filesystems.
f19dbdb7 45209
50214199 45210 * fs/hfsplus.c: New file.
45211
45212 * DISTLIST: Added `fs/hfsplus.c'.
45213
45214 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
45215 (hfsplus_mod_SOURCES): New variable.
45216 (hfsplus_mod_CFLAGS): Likewise.
45217 (hfsplus_mod_LDFLAGS): Likewise.
45218 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
45219 (grub_setup_SOURCES): Likewise.
45220 (grub_mkdevicemap_SOURCES): Likewise.
45221 (grub_emu_SOURCES): Likewise.
45222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45223
45224 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
45225
45226 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
45227
befaed6c 452282005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45229
45230 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
45231 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
45232 include/grub/parser.h, include/grub/script.h, kern/parser.c,
45233 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
45234 normal/lexer.c, normal/parser.y, normal/script.c, and
45235 partmap/gpt.c.
45236 Removed kern/sparc64/cache.c.
45237
45238 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
45239 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
45240 grub_emu_init.c.
45241
45242 * configure.ac (AC_INIT): Bumped to 1.92.
45243
6a124103 452442005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
45245
45246 * kern/err.c (grub_error_push): Added new function to support error
45247 stacks.
45248 (grub_error_pop): Likewise.
45249 (grub_error_stack_items): New local variable to support error stacks.
45250 (grub_error_stack_pos): Likewise.
45251 (grub_error_stack_assert): Likewise.
45252 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
45253 stack depth.
45254 (grub_print_error): Added support to print errors from error stack.
45255
45256 * include/grub/err.h (grub_error_push): Added function prototype.
45257 (grub_error_pop): Likewise.
45258
be973c1b 452592005-12-09 Hollis Blanchard <hollis@penguinppc.org>
45260
45261 * configure.ac: Accept `powerpc64' as host_cpu.
45262 (amd64): Rename to `biarch32'.
45263
45264 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
45265 non-cacheline-aligned addresses.
45266
45267 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
45268 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
45269 if `size' is non-zero.
45270
b04216ab 452712005-12-03 Marco Gerards <mgerards@xs4all.nl>
45272
45273 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
45274 and `cd' to make sure the filename is not prefixed with a
45275 directory name.
45276 (pkgdata_MODULES): Add `gpt.mod'.
45277 (gpt_mod_SOURCES): New variable.
45278 (gpt_mod_CFLAGS): Likewise.
45279 (gpt_mod_LDFLAGS): Likewise.
45280
45281 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
45282
45283 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
45284 New macro.
45285
45286 * partmap/gpt.c: New file.
45287
45288 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
45289 GPT partition map is detected.
45290
41730ed9 452912005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
45292
45293 * commands/i386/pc/play.c: New file.
45294 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
45295 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
45296 macros.
f19dbdb7 45297
95dc3643 452982005-11-27 Marco Gerards <mgerards@xs4all.nl>
45299
45300 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
45301 ((unused))' to silence gcc warning.
45302
1569ec51 453032005-11-26 Hollis Blanchard <hollis@penguinppc.org>
45304
45305 * configure.ac: Correct `AC_PROG_YACC' test.
45306
9abde152 453072005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45308
45309 * util/powerpc/ieee1275/grub-install.in: Run the mount point
45310 check before installing files.
45311
44b83271 453122005-11-22 Mike Small <smallm@panix.com>
45313
45314 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
45315 number regex so multidigit numbers are recognized correctly.
45316
453172005-11-22 Mike Small <smallm@panix.com>
45318
45319 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
45320 debugging message before attempting to claim memory.
45321 (grub_rescue_cmd_initrd): Add a claim debugging message and try
45322 multiple addresses in case of failure.
45323
9c12956b 453242005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45325
45326 * term/tparm.c (get_space): Remove empty `if' statement.
45327
45328 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
45329
45330 * kern/parser.c (check_varstate): Rename `state' to 's'.
45331
aeaf81d9 453322005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45333
45334 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
45335 variable definitions to the beginning of each function. Sort stack
45336 variables by size.
45337 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
45338 `buf' argument to `char *'.
45339
79bbb63f 453402005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45341
45342 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
45343 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 45344 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 45345 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
45346 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
45347 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
45348 configfile.mod, search.mod, gzio.mod and test.mod.
45349 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
45350 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
45351 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
45352 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
45353 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
45354 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
45355 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
45356 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
45357 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
45358 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
45359 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45360 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45361 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
45362 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
45363 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
45364 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
45365 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45366 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
45367 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
45368 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
45369 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
45370 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
45371 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
45372
45373 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
45374 `grep --include'.
45375 (pkgdata_MODULES): Add test.mod.
45376
233b1628 453772005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45378
45379 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
45380 appending to variables with "+=".
45381 (PModule): Use full pathname to generate *.lst filenames.
45382
45383 * Makefile.in: Fixed list rules moved from genmk.rb.
45384 (.DELETE_ON_ERROR): New special target.
45385 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
45386
45387 * conf/i386-pc.rmk: Include conf/common.mk.
45388 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 45389 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 45390 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
45391 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
45392 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
45393 configfile.mod, search.mod, gzio.mod and test.mod.
45394 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
45395 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
45396 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
45397 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
45398 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
45399 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
45400 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
45401 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
45402 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
45403 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
45404 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45405 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45406 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
45407 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
45408 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
45409 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
45410 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45411 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
45412 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
45413 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
45414 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
45415 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
45416 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
45417 here...
45418 * conf/common.rmk: ... to here. New file.
45419
45420 * conf/common.mk: New file.
45421
16f820c8 454222005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
45423
45424 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
45425 (grub_script.tab.c): ... here.
45426
45427 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
45428 (grub_script.tab.c): ... here.
45429
45430 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
45431 (grub_script.tab.c): ... here.
45432
45433 * normal/command.c (grub_command_find): Fixed a memory leak of
45434 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
45435
63ba1554 454362005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45437
45438 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
45439 "@" which marks the start of a comment on ARM.
45440 (VARIABLE): Likewise.
45441
7f67dc13 454422005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45443
79bbb63f 45444 Add support for Linux/ADFS partition tables.
7f67dc13 45445
45446 * partmap/acorn.c: New file.
45447
45448 * include/grub/acorn_filecore.h: Likewise.
45449
45450 * DISTLIST: Added `partmap/acorn.c' and
45451 `include/grub/acorn_filecore.h'.
f19dbdb7 45452
7f67dc13 45453 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45454 `partmap/acorn.c'.
45455 (pkgdata_MODULES): Add `acorn.mod'.
45456 (acorn_mod_SOURCES): New variable.
45457 (acorn_mod_CFLAGS): Likewise.
45458
45459 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
45460 `partmap/acorn.c'.
45461 (pkgdata_MODULES): Add `acorn.mod'.
45462 (acorn_mod_SOURCES): New variable.
45463 (acorn_mod_CFLAGS): Likewise.
45464
45465 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
45466 (pkgdata_MODULES): Add `acorn.mod'.
45467 (acorn_mod_SOURCES): New variable.
45468 (acorn_mod_CFLAGS): Likewise.
45469 (acorn_mod_LDFLAGS): Likewise.
45470
45471 * include/types.h (grub_disk_addr_t): New typedef.
45472
6d099807 454732005-11-13 Marco Gerards <mgerards@xs4all.nl>
45474
45475 * geninit.sh: New file.
45476
45477 * geninitheader.sh: Likewise.
45478
45479 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
45480 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
45481 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
45482 * commands/configfile.c (grub_configfile_init)
45483 (grub_configfile_fini): Likewise.
45484 * commands/default.c (grub_default_init, grub_default_fini):
45485 Likewise.
45486 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
45487 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
45488 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
45489 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
45490 Likewise.
45491 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
45492 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
45493 Likewise.
45494 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 45495 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 45496 Likewise.
45497 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
45498 Likewise.
fe6b695a 45499 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 45500 Likewise.
45501 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
45502 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
45503 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
45504 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
45505 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
45506 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
45507 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
45508 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
45509 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
45510 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
45511 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
45512 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
45513 * partmap/amiga.c (grub_amiga_partition_map_init)
45514 (grub_amiga_partition_map_fini): Likewise.
45515 * partmap/apple.c (grub_apple_partition_map_init)
45516 (grub_apple_partition_map_fini): Likewise.
45517 * partmap/pc.c (grub_pc_partition_map_init)
45518 (grub_pc_partition_map_fini): Likewise.
45519 * partmap/sun.c (grub_sun_partition_map_init,
45520 grub_sun_partition_map_fini): Likewise.
45521 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
45522 Likewise.
45523
45524 * util/grub-emu.c: Include <grub_modules_init.h>.
45525 (main): Don't initialize and de-initialize any modules directly,
45526 use `grub_init_all' and `grub_fini_all' instead.
45527
45528 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
45529 `grub_vesafb_mod_init'.
45530 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
45531 all users.
45532 * term/i386/pc/vga.c (grub_vga_init): Renamed to
45533 `grub_vga_mod_init'. Updated all users.
45534 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 45535
6d099807 45536 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
45537 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
45538 rules.
45539
45540 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
45541 Generate a function to initialize the module in utilities.
45542 Updated all callers.
45543 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
45544 initialize the module in utilities. Updated all callers.
45545
9046bcf0 455462005-11-09 Hollis Blanchard <hollis@penguinppc.org>
45547
45548 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
45549 escape sequence and a literal ^L to clear the screen.
45550
45551 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
45552 when returning from Open Firmware.
45553
d13ea639 455542005-11-09 Hollis Blanchard <hollis@penguinppc.org>
45555
45556 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
45557 (grub_ofconsole_height): Likewise.
45558 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
45559 manually insert a '\n'.
45560 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
45561 `grub_ofconsole_height'. Return early if these are already set.
45562
a8fcf206 455632005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
45564
45565 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
45566 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
45567 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
45568 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
45569 and `normal/script.c'.
45570 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45571 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45572 (test_mod_SOURCES): New variable.
45573 (test_mod_CFLAGS): Likewise.
45574 (test_mod_LDFLAGS): Likewise.
45575 (pkgdata_MODULES): Add `test.mod'.
45576 (grub_script.tab.c): New rule.
45577 (grub_script.tab.h): Likewise.
45578
b6b32745 455792005-11-07 Marco Gerards <mgerards@xs4all.nl>
45580
45581 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45582 `commands/test.c', `normal/execute.c', `normal/lexer.c',
45583 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45584 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45585 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45586 (test_mod_SOURCES): New variable.
45587 (test_mod_CFLAGS): Likewise.
45588 (pkgdata_MODULES): Add `test.mod'.
45589 (grub_script.tab.c): New rule.
45590 (grub_script.tab.h): Likewise.
45591
daac212a 455922005-11-06 Marco Gerards <mgerards@xs4all.nl>
45593
45594 Add initial scripting support.
45595
45596 * commands/test.c: New file.
45597 * include/grub/script.h: Likewise.
45598 * normal/execute.c: Likewise.
45599 * normal/function.c: Likewise.
45600 * normal/lexer.c: Likewise.
45601 * normal/parser.y: Likewise.
45602 * normal/script.c: Likewise.
45603
45604 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 45605
daac212a 45606 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
45607 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
45608 `normal/function.c' and `normal/script.c'.
45609 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45610 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 45611 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
45612 variables.
daac212a 45613 (pkgdata_MODULES): Add `test.mod'.
45614 (grub_script.tab.c): New rule.
45615 (grub_script.tab.h): Likewise.
45616
45617 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
45618
45619 * include/grub/normal.h (grub_test_init): New prototype.
45620 (grub_test_fini): Likewise.
f19dbdb7 45621
daac212a 45622 * normal/command.c: Include <grub/script.h>.
45623 (grub_command_execute): Rewritten.
f19dbdb7 45624
daac212a 45625 * util/grub-emu.c (main): Call `grub_test_init' and
45626 `grub_test_fini'.
45627
77500b2b 456282005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45629
45630 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
45631 to 0.
45632 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
45633 there are no pending characters.
45634
e45deb9e 456352005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45636
45637 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
45638 `grub_strndup' to drop device arguments. Replace unnecessary
45639 `grub_strndup' with `grub_strdup'.
45640
4ce32619 456412005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45642
45643 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
45644 `debug' environment variable has been set.
45645
456462005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 45647
4ce32619 45648 * Makefile.in (install-local): Use $(DATA).
45649 (uninstall): Likewise.
45650 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
45651 (sbin_UTILITIES): ... to here.
45652 (sbin_SCRIPTS): New variable.
45653 (grub_install_SOURCES): New variable.
45654 * util/powerpc/ieee1275/grub-install.in: New file.
45655 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
45656 variable.
45657 (add_segments): Call `grub_util_get_path'.
45658
25fe6f03 456592005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
45660
45661 From Timothy Baldwin:
45662 * commands/ls.c (grub_ls_list_files): Close FILE with
45663 grub_file_close.
45664 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
45665
04ccf3ec 456662005-10-24 Marco Gerards <mgerards@xs4all.nl>
45667
45668 * include/grub/parser.h: New file.
45669
45670 * kern/parser.c: Likewise.
45671
45672 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
45673 (grub_setup_SOURCES): Likewise.
45674 (grub_probefs_SOURCES): Likewise.
45675 (grub_emu_SOURCES): Likewise.
45676 (kernel_img_HEADERS): Add `parser.h'.
45677
45678 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
45679 (grub_emu_SOURCES): Add `kern/parser.c'.
45680 (grubof_SOURCES): Likewise.
45681
45682 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
45683 (grubof_SOURCES): Add `kern/parser.c'.
45684
45685 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
45686
45687 * kern/misc.c (grub_split_cmdline): Removed function.
45688
45689 * kern/rescue.c: Include <grub/parser.h>.
45690 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
45691 of `grub_split_cmdline'.
45692
45693 * normal/command.c: Include <grub/parser.h>.
45694 (grub_command_execute): Use `grub_parser_split_cmdline' instead
45695 of `grub_split_cmdline'.
45696
45697 * normal/completion.c: Include <grub/parser.h>.
45698 (cmdline_state): New variable.
45699 (iterate_dir): End the filename with a quote depending on the
45700 command line state.
45701 (get_state): new function.
45702 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
45703 split the arguments and determine the current argument. When the
45704 argument string is not quoted, escape all spaces.
45705
6d8f4b0e 457062005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45707
45708 * normal/sparc64/setjmp.S: New file.
45709
15cf03ed 457102005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45711
45712 * include/grub/sparc64/libgcc.h: New file.
45713 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
45714 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
45715 normal/sparc64/setjmp.c.
45716
03e8661a 457172005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45718
45719 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
45720 * kern/sparc64/cache.S: New file.
45721 * kern/sparc64/cache.c: Removed.
45722 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
45723 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
45724 -mtune=ultrasparc.
45725 (COMMON_LDFLAGS): Add -melf64_sparc.
45726 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
45727 (grubof_SOURCES): Use cache.S instead of cache.c.
45728 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
45729 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
45730 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
45731 commented though.
45732 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
45733 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
45734 (linux_mod_CFLAGS): Commented out.
45735 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
45736 out because module isn't built.
45737 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
45738 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
45739 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
45740 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
45741 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
45742 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
45743 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
45744 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
45745 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
45746 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
45747 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45748 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45749 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
45750 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
45751
34eeec8a 457522005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
45753
45754 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
45755 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
45756 longer, because HFS should not be used on PC.
45757
708367a3 457582005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45759
45760 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
45761 consistently within the loop.
45762
6fa1251a 457632005-10-15 Marco Gerards <mgerards@xs4all.nl>
45764
45765 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
45766 directory can not be read.
45767
4801580b 457682005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45769
45770 * configure.ac (AC_INIT): Increase the version number to 1.91.
45771
45772 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
45773 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
45774 term/i386/pc/serial.c.
45775
219ad426 457762005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45777
45778 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
45779 file size must be permitted.
45780
45781 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
45782 between %ah and %al.
45783
688e5699 457842005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45785
45786 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
45787 grub_uint64_t.
45788 Call the hook with a NUL-terminated filename.
45789 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
45790 grub_cpu_to_be32.
45791
45792 * kern/term.c (cursor_state): New variable.
45793 (grub_term_set_current): Reset the cursor state on a new
45794 terminal.
45795 (grub_setcursor): Rewritten to use CURSOR_STATE.
45796 (grub_getcursor): New function.
45797
45798 * include/grub/term.h (grub_getcursor): New prototype.
45799
45800 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
45801 integers on ARM. Reported by Timothy Baldwin
45802 <T.E.Baldwin99@members.leeds.ac.uk>.
45803
bb34586c 458042005-10-11 Marco Gerards <mgerards@xs4all.nl>
45805
45806 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
45807 allocated.
45808 (grub_sfs_dir): Likewise.
45809
9a909877 458102005-10-09 Marco Gerards <mgerards@xs4all.nl>
45811
45812 Add support for the SFS filesystem.
45813
45814 * fs/sfs.c: New file.
45815
45816 * DISTLIST: Added `fs/sfs.c'.
45817
45818 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
45819 (grub_probefs_SOURCES): Likewise.
45820 (grub_emu_SOURCES): Likewise.
45821 (pkgdata_MODULES): Add `sfs.mod'.
45822 (sfs_mod_SOURCES): New variable.
45823 (sfs_mod_CFLAGS): Likewise.
45824 (sfs_mod_LDFLAGS): Likewise.
45825
45826 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
45827 (pkgdata_MODULES): Add `sfs.mod'.
45828 (sfs_mod_SOURCES): New variable.
45829 (sfs_mod_CFLAGS): Likewise.
45830
45831 * util/grub-emu.c (main): Call `grub_sfs_init' and
45832 `grub_sfs_fini'.
45833
45834 * include/grub/fs.h (grub_sfs_init): New prototype.
45835 (grub_sfs_fini): Likewise.
45836
57bdbde3 458372005-10-07 Marco Gerards <mgerards@xs4all.nl>
45838
45839 Add support for the AFFS filesystem.
45840
45841 * fs/affs.c: New file.
45842
45843 * DISTLIST: Added `fs/affs.c'.
45844
45845 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
45846 (grub_probefs_SOURCES): Likewise.
45847 (grub_emu_SOURCES): Likewise.
45848 (pkgdata_MODULES): Add `affs.mod'.
45849 (affs_mod_SOURCES): New variable.
45850 (affs_mod_CFLAGS): Likewise.
45851 (affs_mod_LDFLAGS): Likewise.
45852
45853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
45854 (pkgdata_MODULES): Add `affs.mod'.
45855 (affs_mod_SOURCES): New variable.
45856 (affs_mod_CFLAGS): Likewise.
45857
45858 * util/grub-emu.c (main): Call `grub_affs_init' and
45859 `grub_affs_fini'.
45860
45861 * include/grub/fs.h (grub_affs_init): New prototype.
45862 (grub_affs_fini): Likewise.
45863
047b67e0 458642005-10-01 Marco Gerards <mgerards@xs4all.nl>
45865
45866 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
45867
59b8208a 458682005-10-01 Marco Gerards <mgerards@xs4all.nl>
45869
45870 * configure.ac: Accept `x86_64' as host_cpu. In that case add
45871 `-m32' to CFLAGS.
45872
45873 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
45874 linking.
f19dbdb7 45875
59b8208a 45876 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
45877 (COMMON_LDFLAGS): New variable.
45878 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
45879 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
45880 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
45881 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
45882 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
45883 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
45884 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
45885 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
45886 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
45887 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
45888 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
45889 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
45890 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
45891 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
45892 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
45893 variables.
45894 (normal_mod_ASFLAGS): Add `-m32'.
45895
45896 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
45897 (grub_host_size_t, grub_host_ssize_t): New types.
45898 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 45899 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 45900 `GRUB_HOST_SIZEOF_VOID_P'.
45901
45902 * include/grub/kernel.h (struct grub_module_header): Type of
45903 member offset changed to `grub_host_off_t'. Type of member size
45904 changed to `grub_host_size_t'.
45905 (struct grub_module_info): Type of member offset changed to
45906 `grub_host_off_t'. Type of member size changed to
45907 `grub_host_size_t'.
45908
b4093103 459092005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
45910
45911 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 45912
b4093103 45913 * kern/i386/pc/startup.S (multiboot_header): New label.
45914 (multiboot_entry): Likewise.
45915 (multiboot_trampoline): Likewise.
45916
45917 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
45918 Increased to 0x4A0.
45919
45920 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
45921 put parentheses after a question mark.
45922 [!GRUB_UTIL] (my_mod): New variable.
45923
45924 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
45925
b2499b29 459262005-09-28 Marco Gerards <mgerards@xs4all.nl>
45927
45928 Adds support for the XFS filesystem. Btrees are not supported
45929 yet.
45930
45931 * fs/xfs.c: New file.
45932
45933 * DISTLIST: Added `fs/xfs.c'.
45934
45935 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
45936 (grub_probefs_SOURCES): Likewise.
45937 (grub_emu_SOURCES): Likewise.
45938 (pkgdata_MODULES): Add `xfs.mod'.
45939 (xfs_mod_SOURCES): New variable.
45940 (xfs_mod_CFLAGS): Likewise.
45941
45942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
45943 (pkgdata_MODULES): Add `xfs.mod'.
45944 (xfs_mod_SOURCES): New variable.
45945 (xfs_mod_CFLAGS): Likewise.
45946
45947 * util/grub-emu.c (main): Call `grub_xfs_init' and
45948 `grub_xfs_fini'.
45949
45950 * include/grub/fs.h (grub_xfs_init): New prototype.
45951 (grub_xfs_fini): Likewise.
45952
f19dbdb7 45953
83d37a62 459542005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
45955
45956 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
45957 color modes, allow greater than 16 colors to be configured as
45958 a default palette.
45959
47d2d65e 459602005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45961
45962 * normal/completion.c (complete_arguments): Add the qualifier
45963 const into OPTIONS.
45964
45965 From Omniflux <omniflux+lists@omniflux.com>:
45966 * include/grub/terminfo.h: New file.
45967 * include/grub/tparm.h: Likewise.
45968 * include/grub/i386/pc/serial.h: Likewise.
45969 * term/terminfo.c: Likewise.
45970 * term/tparm.c: Likewise.
45971 * term/i386/pc/serial.c: Likewise.
45972 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
45973 serial.mod.
45974 (terminfo_mod_SOURCES): New variable.
45975 (terminfo_mod_CFLAGS): Likewise.
45976 (serial_mod_SOURCES): Likewise.
45977 (serial_mod_CFLAGS): Likewise.
45978
48b671ff 459792005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
45980
45981 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
45982 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
45983 and kern/powerpc/ieee1275/cmain.c, respectively.
45984
45985 * boot/powerpc/ieee1275/crt0.S: Moved to ...
45986 * kern/powerpc/ieee1275/crt0.S: ... here.
45987
45988 * boot/powerpc/ieee1275/cmain.c: Moved to ...
45989 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 45990
48b671ff 45991 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
45992 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
45993 instead of boot/powerpc/ieee1275/crt0.S and
45994 boot/powerpc/ieee1275/cmain.c, respectively.
45995
45996 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
45997 sectors. It was not used anyway.
45998
09fc77a7 459992005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46000
46001 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
46002 `unused parameter' warning.
46003
003789c7 460042005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46005
46006 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
46007 function.
46008 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
46009 getcharwidth.
46010
67f44c86 460112005-08-28 Marco Gerards <metgerards@student.han.nl>
46012
46013 * include/grub/normal.h (enum grub_completion_type): Added
46014 `GRUB_COMPLETION_TYPE_ARGUMENT'.
46015
46016 * normal/cmdline.c (print_completion): Handle
46017 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
46018 * normal/menu_entry.c (store_completion): Likewise.
46019
46020 * normal/completion.c (complete_arguments): New function.
46021 (grub_normal_do_completion): Call `complete_arguments' when the
46022 current words start with a dash.
46023
0b5abe02 460242005-08-27 Marco Gerards <metgerards@student.han.nl>
46025
46026 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
46027 `gzio.mod' instead of `io.mod').
46028
d9864ee1 460292005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
46030
46031 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
46032 (DISTDIRS): Added io and video.
46033 Rewrite the search routine to make an output consistently.
46034
46035 * DISTLIST: Added conf/sparc64-ieee1275.mk,
46036 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
46037 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
46038 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
46039 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
46040 util/powerpc/ieee1275/misc.c.
f19dbdb7 46041
d9864ee1 46042 * include/grub/gzio.h: New file.
46043 * io/gzio.c: Likewise.
f19dbdb7 46044
d9864ee1 46045 * kern/file.c (grub_file_close): Call grub_device_close only if
46046 FILE->DEVICE is not NULL.
46047
46048 * include/grub/mm.h [!NULL] (NULL): New macro.
46049
46050 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
46051
46052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
46053 (pkgdata_MODULES): Added gzio.mod.
46054 (gzio_mod_SOURCES): New variable.
46055 (gzio_mod_CFLAGS): Likewise.
46056
46057 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
46058 (pkgdata_MODULES): Added gzio.mod.
46059 (gzio_mod_SOURCES): New variable.
46060 (gzio_mod_CFLAGS): Likewise.
46061
46062 * commands/cat.c: Include grub/gzio.h.
46063 (grub_cmd_cat): Use grub_gzfile_open instead of
46064 grub_file_open.
f19dbdb7 46065
d9864ee1 46066 * commands/cmp.c: Include grub/gzio.h.
46067 (grub_cmd_cmp): Use grub_gzfile_open instead of
46068 grub_file_open.
46069
46070 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
46071 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
46072 grub_file_open.
46073 (grub_rescue_cmd_module): Likewise.
46074
fa46f4b5 460752005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46076
46077 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
46078 kern/sparc64/ieee1275/init.c because it contains _start.
46079 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
46080
e9211b5d 460812005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46082
46083 * configure.ac: Add support for sparc64 host with ieee1275
46084 firmware.
46085 * configure: Generated from configure.ac.
46086 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
46087 instead of int.
46088 (grub_ofdisk_read): Likewise.
46089 (grub_ofdisk_open): Use %p to print pointer values, and cast the
46090 pointers as (void *) to remove a warning.
46091 (grub_ofdisk_close): Likewise.
46092 (grub_ofdisk_read): Likewise.
46093 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
46094 returns, so make it return void to remove a warning.
46095 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
46096 Corresponding prototype change.
46097 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
46098 values, and cast the pointers as (void *) to remove a warning.
46099 (grub_mm_dump): Likewise.
46100 * conf/sparc64-ieee1275.mk: New file.
46101 * conf/sparc64-ieee1275.rmk: Likewise.
46102 * include/grub/sparc64/setjmp.h: Likewise.
46103 * include/grub/sparc64/types.h: Likewise.
46104 * include/grub/sparc64/ieee1275/console.h: Likewise.
46105 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46106 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46107 * include/grub/sparc64/ieee1275/time.h: Likewise.
46108 * kern/sparc64/cache.c: Likewise.
46109 * kern/sparc64/dl.c: Likewise.
46110 * kern/sparc64/ieee1275/init.c: Likewise.
46111 * kern/sparc64/ieee1275/openfw.c: Likewise.
46112
385c6a92 461132005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46114
46115 * util/console.c (grub_ncurses_putchar): If C is greater than
46116 0x7f, set C to a question mark.
46117 (grub_ncurses_getcharwidth): New function.
46118 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
46119 getcharwidth.
46120
46121 * normal/menu.c (print_entry): Made aware of Unicode. First,
46122 convert TITLE to UCS-4, and predict the cursor position by
46123 grub_getcharwidth.
46124
46125 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
46126 const to SRC.
46127 * kern/misc.c (grub_utf16_to_utf8): Likewise.
46128
16ccb8b1 461292005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46130
46131 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
46132 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46133 grub_strcat.
46134
46135 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
46136 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46137 grub_strcpy and grub_strlen. Take it into account that a space
46138 character is inserted as a delimiter.
46139
6a85ce79 461402005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46141
46142 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 46143 invalid magic in the error.
6a85ce79 46144
46145 * commands/search.c: New file.
f19dbdb7 46146
6a85ce79 46147 * util/grub-emu.c (main): Call grub_search_init and
46148 grub_search_fini.
46149
46150 * kern/rescue.c (grub_rescue_print_disks): Removed.
46151 (grub_rescue_print_devices): New function.
46152 (grub_rescue_cmd_ls): Use grub_device_iterate with
46153 grub_rescue_print_devices instead of grub_disk_dev_iterate with
46154 grub_rescue_print_disks.
46155
46156 * kern/partition.c (grub_partition_iterate): Return the result of
46157 PARTMAP->ITERATE instead of GRUB_ERRNO.
46158
46159 * kern/device.c: Include grub/partition.h.
46160 (grub_device_iterate): New function.
46161
46162 * include/grub/partition.h (grub_partition_iterate): Return int
46163 instead of grub_err_t.
46164
46165 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
46166 prototype.
46167 [GRUB_UTIL] (grub_search_fini): Likewise.
46168
46169 * include/grub/device.h (grub_device_iterate): New prototype.
46170
46171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46172 commands/search.c.
46173 (pkgdata_MODULES): Added search.mod.
46174 (search_mod_SOURCES): New variable.
46175 (search_mod_CFLAGS): Likewise.
46176
46177 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
46178 (pkgdata_MODULES): Added search.mod.
46179 (search_mod_SOURCES): New variable.
46180 (search_mod_CFLAGS): Likewise.
46181
46182 * commands/ls.c (grub_ls_list_disks): Renamed to ...
46183 (grub_ls_list_devices): ... this, and use grub_device_iterate.
46184 All callers changed.
46185
46186 * DISTLIST: Added commands/search.c.
46187
ef095434 461882005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46189
46190 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
46191 conversion.
46192 (grub_getcharwidth): New function.
46193
46194 * kern/misc.c (grub_utf8_to_ucs4): New function.
46195
46196 * include/grub/term.h (struct grub_term): Added a new member
46197 "getcharwidth".
46198 (grub_getcharwidth): New prototype.
46199
46200 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
46201
46202 * term/i386/pc/console.c (map_char): New function. Segregated from
46203 grub_console_putchar.
46204 (grub_console_putchar): Use map_char.
46205 (grub_console_getcharwidth): New function.
46206 (grub_console_term): Specified grub_console_getcharwidth as
46207 getcharwidth.
46208
46209 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
46210 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
46211
46212 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
46213 GRUB_ERRNO.
46214 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
46215 on grub_strtoul completely.
46216 (write_char): Declare local variables in the beginning of the
46217 function.
46218 (grub_vesafb_getcharwidth): New function.
46219 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
46220 getcharwidth.
46221
1f0a95e4 462222005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
46223
46224 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
46225 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
46226 commands/i386/pc/vbetest.c.
46227
46228 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
46229 call grub_vbe_get_controller_info again, because the returned
46230 information is volatile.
46231 (grub_vbe_set_video_mode): Mostly rewritten.
46232 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
46233 grub_vbe_status_t correctly.
46234 (grub_vbe_get_video_mode_info): Likewise.
46235 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
46236 several if statements.
46237
46238 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
46239 * commands/i386/pc/vbeinfo.c: ... this.
46240
46241 * commands/i386/pc/vbe_test.c: Renamed to ...
46242 * commands/i386/pc/vbetest.c: ... this.
46243
46244 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
46245 ...
46246 (grub_cmd_vbeinfo): ... this. Save video modes before
46247 iterating. Skip a video mode, if it is not available, not enough
46248 information is given or it is monochrome. Show the memory
46249 model. Leave the interpretation of MODEVAR to grub_strtoul
46250 completely.
46251 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
46252 (GRUB_MOD_FINI): Likewise.
46253
46254 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
46255 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
46256 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
46257 duplicated grub_env_get. Leave the interpretation of MODEVAR to
46258 grub_strtoul completely.
46259 (real2pm): Removed.
46260 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
46261 (GRUB_MOD_FINI): Likewise.
46262
46263 * normal/misc.c: Include grub/mm.h.
46264
46265 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
46266 vbe_list_modes with vbetest.mod and vbeinfo.mod.
46267 (vbe_list_modes_mod_SOURCES): Removed.
46268 (vbe_list_modes_mod_CFLAGS): Likewise.
46269 (vbe_test_mod_SOURCES): Likewise.
46270 (vbe_test_mod_CFLAGS): Likewise.
46271 (vbeinfo_mod_SOURCES): New variable.
46272 (vbeinfo_mod_CFLAGS): Likewise.
46273 (vbetest_mod_SOURCES): Likewise.
46274 (vbetest_mod_CFLAGS): Likewise.
46275
992ffbbe 462762005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
46277
46278 * normal/misc.c: New file.
46279
46280 * DISTLIST: Added normal/misc.c.
f19dbdb7 46281
992ffbbe 46282 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
46283 DISK to HOOK. Call HOOK with DISK.
46284 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46285 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46286 * partmap/sun.c (sun_partition_map_iterate): Likewise.
46287
46288 * normal/menu_entry.c (struct screen): Added a new member
46289 "completion_shown".
46290 (completion_buffer): New global variable.
46291 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
46292 (store_completion): New function.
46293 (complete): Likewise.
46294 (clear_completions): Likewise.
46295 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
46296 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
46297 a tab, call complete.
46298
46299 * normal/completion.c (disk_dev): Removed.
46300 (print_simple_completion): Likewise.
46301 (print_partition_completion): Likewise.
46302 (print_func): New global variable.
46303 (add_completion): Do not take the arguments WHAT or PRINT any
46304 longer. Added a new argument TYPE. Instead of printing directly,
46305 call PRINT_FUNC if not NULL.
46306 All callers changed.
46307 (complete_device): Use a local variable DEV instead of
46308 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
46309 (grub_normal_do_completion): Take a new argument HOOK. Do not
46310 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
46311 empty string, return NULL instead.
46312 All callers changed.
46313
46314 * normal/cmdline.c (print_completion): New function.
46315
46316 * kern/partition.c (grub_partition_iterate): Add an argument DISK
46317 to HOOK.
46318 All callers changed.
46319
46320 * kern/disk.c (grub_print_partinfo): Removed.
46321
46322 * include/grub/partition.h (struct grub_partition_map): Add a new
46323 argument DISK into HOOK of ITERATE.
46324 (grub_partition_iterate): Add a new argument DISK to HOOK.
46325
46326 * include/grub/normal.h (enum grub_completion_type): New enum.
46327 (grub_completion_type_t): New type.
46328 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
46329 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
46330 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
46331 (GRUB_COMPLETION_TYPE_FILE): Likewise.
46332 (grub_normal_do_completion): Added a new argument HOOK.
46333 (grub_normal_print_device_info): New prototype.
46334
46335 * include/grub/disk.h (grub_print_partinfo): Removed.
46336
46337 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
46338 (normal_mod_SOURCES): Likewise.
46339 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46340 (normal_mod_SOURCES): Likewise.
46341
46342 * commands/ls.c (grub_ls_list_disks): Use
46343 grub_normal_print_device_info instead of grub_print_partinfo. Free
46344 PNAME.
46345 (grub_ls_list_files): Use grub_normal_print_device_info instead of
46346 duplicating the code.
46347
0bd41162 463482005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
46349
46350 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 46351 follow GCS more precisely.
46352 * commands/i386/pc/vbe_test.c: Likewise.
46353 * include/grub/i386/pc/vbe.h: Likewise.
46354 * term/i386/pc/vesafb.c: Likewise.
46355 * video/i386/pc/vbe.c: Likewise.
0bd41162 46356
6323696a 463572005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
46358
46359 * DISTLIST: Added term/i386/pc/vesafb.c
46360 DISTLIST: Added video/i386/pc/vbe.c
46361 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
46362 DISTLIST: Added commands/i386/pc/vbe_test.c.
46363 * commands/i386/pc/vbe_list_modes.c: New file.
46364 * commands/i386/pc/vbe_test.c: Likewise.
46365 * term/i386/pc/vesafb.c: Likewise.
46366 * video/i386/pc/vbe.c: Likewise.
46367 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
46368 (grub_vbe_probe) Added prototype.
46369 (grub_vbe_set_video_mode) Likewise.
46370 (grub_vbe_get_video_mode) Likewise.
46371 (grub_vbe_get_video_mode_info) Likewise.
46372 (grub_vbe_set_pixel_rgb) Likewise.
46373 (grub_vbe_set_pixel_index) Likewise.
46374 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
46375 (pkgdata_MODULES): Added vesafb.mod.
46376 (pkgdata_MODULES): Added vbe_list_modes.mod.
46377 (pkgdata_MODULES): Added vbe_test.mod.
46378 (vbe_mod_SOURCES): Added.
46379 (vbe_mod_CFLAGS): Likewise.
46380 (vesafb_mod_SOURCES): Likewise.
46381 (vesafb_mod_CFLAGS): Likewise.
46382 (vbe_list_modes_mod_SOURCES): Likewise.
46383 (vbe_list_modes_mod_CFLAGS): Likewise.
46384 (vbe_test_mod_SOURCES): Likewise.
46385 (vbe_test_mod_CFLAGS): Likewise.
46386
0a74e62f 463872005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
46388
0a74e62f 46389 * normal/command.c (grub_command_execute): If INTERACTIVE is
46390 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
46391 CMDLINE. Disable the pager if INTERACTIVE is true.
46392 All callers are changed.
46393
46394 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
46395 before reading a config file.
46396 * normal/main.c (read_config_file): Even if a command is not
46397 found, register it if it is within an entry.
46398
46399 * util/grub-emu.c: Include sys/types.h and unistd.h.
46400 (options): Added --hold.
46401 (struct arguments): Added a new member "hold".
46402 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
46403 missing.
46404 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
46405 cleared by a debugger, if it is not zero.
46406
46407 * include/grub/normal.h (grub_command_execute): Add an argument
46408 INTERACTIVE.
46409
e51f85ae 464102005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
46411
46412 * DISTLIST: Added include/grub/i386/pc/vbe.h.
46413
e9c6f39b 464142005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
46415
46416 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
46417 program with another one, because the old one didn't detect a bug
46418 in gcc-3.4. Always use regparm 2, because the new test is still
46419 not enough for gcc-4.0. Someone must investigate a simple test
46420 case which detects a bug in gcc-4.0.
46421
8de3495c 464222005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
46423
46424 * DISTLIST: Added normal/completion.c.
46425
46426 * normal/completion.c: New file.
f19dbdb7 46427
8de3495c 46428 * term/i386/pc/console.c (grub_console_getwh): New function.
46429 (grub_console_term): Assign grub_console_getwh to getwh.
46430
46431 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
46432 function is defined in normal/completion.c as
46433 grub_normal_do_completion.
46434 (grub_cmdline_get): Use grub_normal_do_completion instead of
46435 grub_tab_complete.
46436
46437 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
46438 returns non-zero, otherwise return 0.
46439 (grub_partition_iterate): First, probe the partition map. Then,
46440 call ITERATE only for this partition map.
46441
46442 * kern/misc.c (grub_strncmp): Rewritten.
46443
46444 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
46445 returns non-zero. Otherwise return 0.
46446
46447 * include/grub/partition.h (grub_partition_map_iterate): Return
46448 int instead of void.
46449
46450 * include/grub/normal.h (grub_normal_do_completion): New prototype.
46451
46452 * include/grub/misc.h (grub_strncmp): Change the type of N to
46453 grub_size_t.
46454
46455 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
46456 of void.
46457
46458 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 46459 unsigned explicitly before comparing it with I.
8de3495c 46460
46461 * kern/main.c (grub_env_write_root): Add the attribute unused into
46462 VAR.
46463
46464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46465 normal/completion.c.
46466 (normal_mod_SOURCES): Likewise.
46467 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46468 (normal_mod_SOURCES): Likewise.
46469
46470 * normal/command.c (grub_iterate_commands): If ITERATE returns
46471 non-zero, return one immediately.
46472
e85e144b 464732005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
46474
46475 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
46476 * kern/i386/pc/startup.S: Updated Global Descriptor table's
46477 descriptions.
46478 (grub_vbe_get_controller_info): New function.
46479 (grub_vbe_get_mode_info): Likewise.
46480 (grub_vbe_set_mode): Likewise.
46481 (grub_vbe_get_mode): Likewise.
46482 (grub_vbe_set_memory_window): Likewise.
46483 (grub_vbe_get_memory_window): Likewise.
46484 (grub_vbe_set_scanline_length): Likewise.
46485 (grub_vbe_get_scanline_length): Likewise.
46486 (grub_vbe_set_display_start): Likewise.
46487 (grub_vbe_get_display_start): Likewise.
46488 (grub_vbe_set_palette_data): Likewise.
46489 * include/grub/i386/pc/vbe.h: New file.
46490
c46153d2 464912005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46492
46493 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
46494 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
46495 * DISTLIST: Likewise.
46496 * kern/ieee1275/of.c: Moved to ...
46497 * kern/ieee1275/ieee1275.c: ... here.
46498
0cb90c45 464992005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46500
46501 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
46502 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
46503 Pass 0 as `end' parameter to grub_strtoul().
46504
a19fb360 465052005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46506
46507 * include/grub/powerpc/ieee1275/console.h: Do not include
46508 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
46509 ifdef.
46510 (grub_console_cur_color): Remove i386-specific prototype.
46511 (grub_console_real_putchar): Likewise.
46512 (grub_console_checkkey): Likewise.
46513 (grub_console_getkey): Likewise.
46514 (grub_console_getxy): Likewise.
46515 (grub_console_gotoxy): Likewise.
46516 (grub_console_cls): Likewise.
46517 (grub_console_setcursor): Likewise.
46518 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
46519 Include <grub/machine/console.h>.
46520 * term/ieee1275/ofconsole.c: Likewise.
46521
4ac9bd04 465222005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
46523
46524 * Makefile.in (LIBLZO): New variable.
46525
46526 * configure.ac: Check for LZO version 2.
46527
46528 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
46529 lzo/lzo1x.h instead of lzo1x.h.
46530
46531 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
46532 of -llzo.
46533
46534 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
46535 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
46536
46537 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
46538 copying the data from PARTITION to P.
46539
f4917dfd 465402005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46541
46542 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
46543 negative, unload the module.
46544
46545 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
46546 map is "pc_partition_map" but not "pc".
46547 (usage): Fix the description. The options are --boot-image and
46548 --core-image but not --boot-file or --core-file.
46549 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
46550 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
46551 DEFAULT_DIRECTORY.
46552
46553 * util/i386/pc/grub-install.in: Do not specify --boot-file or
46554 --core-file. Specify INSTALL_DEVICE as an argument.
46555
46556 * util/console.c: Include config.h.
46557 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
46558 [HAVE_NCURSES_H]: Include ncurses.h.
46559 [HAVE_CURSES_H]: Include curses.h.
46560 [!A_NORMAL] (A_NORMAL): Defined as zero.
46561 [!A_STANDOUT] (A_STANDOUT): Likewise.
46562
46563 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
46564 -lncurses.
46565 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
46566
46567 * configure.ac: Check for curses libraries and headers.
46568
46569 * Makefile.in (LIBCURSES): New variable.
46570
46571 * genmk.rb (Script::rule): Set the executable bits.
46572
46573 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
46574 name of the PC partition map is "pc_partition_map" but not "pc".
46575
0e143073 465762005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46577
46578 * util/i386/pc/grub-install.in (grub_probefs): New variable.
46579 (modules): Likewise.
46580 (usage): Added descriptions for --modules and --grub-probefs.
46581 Handle --modules and --grub-probefs. Save the arguments in MODULES
46582 and GRUB_PROBEFS, respectively.
46583 Auto-detect a filesystem module against GRUBDIR. If the result is
46584 empty and modules are not specified explicitly, abort the
46585 installation. Add the result to MODULES.
46586
46587 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
46588 disk/powerpc/ieee1275/ofdisk.c,
46589 include/grub/powerpc/ieee1275/init.h and
46590 term/powerpc/ieee1275/ofconsole.c.
46591 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
46592 term/ieee1275/ofconsole.c.
46593
46594 * include/grub/powerpc/ieee1275/console.h: Resurrected.
46595
46596 * COPYING: Upgraded to the latest version. Only the address of the
46597 FSF office has changed.
f19dbdb7 46598
efd6e6d5 465992005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46600
46601 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
46602 kern/ieee1275.c with kern/ieee1275/of.c.
46603
46604 * kern/ieee1275.c: Moved to ...
46605 * kern/ieee1275/of.c: ... here.
46606
8ceafda2 466072005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
46608
46609 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 46610 readability.
8ceafda2 46611
46612 * config.guess: Updated to the latest version from gnulib.
46613 * config.sub: Likewise.
46614 * install.sh: Likewise.
46615 * mkinstalldirs: Likewise.
46616
46617 * include/grub/console.h: Removed. This file is arch-specific. Do
46618 not put this in include/grub.
46619
46620 * include/grub/i386/pc/console.h: Resurrected.
46621
46622 * util/console.c: Include grub/machine/console.h instead of
46623 grub/console.h.
46624 * util/grub-emu.c: Likewise.
46625
267f6cd9 466262005-08-04 Marco Gerards <metgerards@student.han.nl>
46627
46628 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
46629 hardcoded value.
f19dbdb7 46630
267f6cd9 46631 From Vincent Pelletier <subdino2004@yahoo.fr>
46632 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
46633 Redefined to use grub_getwh.
46634 (grub_term): New member named getwh.
46635 (grub_getwh): New prototype.
46636 * kern/term.c (grub_getwh): New function.
46637 * term/i386/pc/console.c (grub_console_getwh): New function.
46638 (grub_console_term): New member `getwh'.
46639 * term/i386/pc/vga.c (grub_vga_getwh): New function.
46640 (grub_vga_term): New member `getwh'.
0b5abe02 46641 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 46642 grub_ssize_t.
46643 (grub_ofconsole_getw): New function.
46644 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
46645 (grub_ofconsole_term): New field named getwh and new initial
46646 value.
46647
3be7266d 466482005-08-03 Hollis Blanchard <hollis@penguinppc.org>
46649
46650 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
46651 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
46652 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
46653 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
46654 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
46655 of <grub/machine/ieee1275.h>.
46656 * commands/ieee1275/reboot.c: Likewise.
46657 * boot/powerpc/ieee1275/ieee1275.c: Move ...
46658 * kern/ieee1275.c: ... to here. All users updated. Change all
46659 parameter structs to use new type `grub_ieee1275_cell_t'.
46660 * term/powerpc/ieee1275/ofconsole.c: Move ...
46661 * term/ieee1275/ofconsole.c: ... to here. All users updated.
46662 * disk/powerpc/ieee1275/ofdisk.c: Move ...
46663 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
46664 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
46665 to return int.
46666 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
46667 Remove unused prototypes. All users updated.
46668 * include/grub/powerpc/ieee1275/console.h: Removed.
46669 * include/grub/powerpc/ieee1275/ieee1275.h: Define
46670 `grub_ieee1275_cell_t'.
46671 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
46672 Cast comparisons with -1 to the correct type.
46673 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
46674 type to match `grub_ieee1275_entry_fn'.
46675
8b5f3938 466762005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
46677
46678 * DISTLIST: Added util/i386/pc/grub-probefs.c.
46679
46680 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
46681 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
46682 partmap/sun.c.
46683 (grub_probefs_SOURCES): New variable.
46684
46685 * util/i386/pc/grub-probefs.c: New file.
46686
46687 * util/i386/pc/grub-setup.c (main): Call
46688 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
46689 grub_hfs_init and grub_jfs_init to initialize the system. Call
46690 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
46691 grub_pc_partition_map_fini to finish the system.
46692
ea409713 466932005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
46694
46695 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
46696 function.
46697 (grub_multiboot_load_elf32): Likewise.
46698 (grub_multiboot_is_elf64): Likewise.
46699 (grub_multiboot_load_elf64): Likewise.
46700 (grub_multiboot_load_elf): Likewise.
46701 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
46702 an ELF32 or ELF64 file.
46703 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
46704
46705 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
46706 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
46707 NULL before calling FS->LABEL.
46708 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
46709 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
46710 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
46711 before calling FS->LABEL.
46712
141a288b 467132005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
46714
46715 * util/i386/pc/grub-install.in (datadir): New variable.
46716 (libdir): Removed.
46717 (pkgdatadir): New variable.
46718 (pkglibdir): Removed.
46719
0d5f8a54 467202005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
46721
46722 * DISTLIST: Added util/i386/pc/grub-install.in.
46723
46724 * util/i386/pc/grub-install.in: New file.
46725
46726 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
46727 (grub_install_SOURCES): Likewise.
46728
46729 * genmk.rb: Added support for scripts.
46730 (Script): New class.
46731 (scripts): New variable.
46732
46733 * Makefile.in (install-local): Install sbin_SCRIPTS by
46734 INSTALL_SCRIPT.
46735 (uninstall): Remove sbin_SCRIPTS.
46736
46737 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
46738 device, try to get a GRUB device by
46739 grub_util_biosdisk_get_grub_dev.
46740 Free DEST_DEV.
46741
46742 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
46743 description for --device-map.
46744
5f968e1e 467452005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
46746
46747 Change the semantics of variable hooks. They now return strings
46748 instead of error values.
f19dbdb7 46749
5f968e1e 46750 * util/i386/pc/grub-setup.c: Include grub/env.h.
46751 (setup): Use grub_device_set_root instead of grub_env_set.
46752
46753 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
46754 grub_env_get instead of grub_device_set_root and
46755 grub_device_get_root, respectively.
46756
46757 * kern/main.c (grub_env_write_root): New function.
46758 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
46759 grub_env_set instead of grub_device_set_root.
46760
46761 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
46762 many variables.
46763 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
46764 rather than calling ENV->WRITE_HOOK afterwards.
46765 (grub_env_get): Return the result of ENV->READ_HOOK rather than
46766 passing a pointer of a pointer.
46767 (grub_register_variable_hook): Change the types of "read_hook" and
46768 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
46769 respectively.
46770 Allocate the default empty string on the heap, because this string
46771 may be freed later.
46772
46773 * kern/device.c: Include grub/env.h.
46774 (grub_device_set_root): Removed.
46775 (grub_device_get_root): Likewise.
46776 (grub_device_open): Use grub_env_get instead of
46777 grub_device_get_root.
46778
46779 * include/grub/env.h (grub_env_read_hook_t): New type.
46780 (grub_env_write_hook_t): Likewise.
46781 (grub_env_var): Change the types of "read_hook" and "write_hook"
46782 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
46783 (grub_register_variable_hook): Likewise.
46784
46785 * include/grub/device.h (grub_device_set_root): Removed.
46786 (grub_device_set_root): Likewise.
46787
46788 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
46789 make sure that DIRNAME terminates with '/', so that
46790 grub_fat_find_dir will fail if PATH is not a directory.
46791
46792 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
46793 from DIRNAME.
46794 Use the qualifier auto for print_files and print_files_long.
46795 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
46796 as a regular file.
46797 Put a newline only if there is no error.
46798 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
46799 used.
46800
896f0afd 468012005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
46802
46803 * kern/partition.c (grub_partition_probe): Initialize PART to
46804 NULL. Otherwise, when no partition map is registered, this returns
46805 a garbage.
46806
b28b81b2 468072005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
46808
46809 * partmap/apple.c (apple_partition_map_iterate): Check if POS
46810 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
46811 valid.
46812
5f3607e0 468132005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
46814
46815 * commands/ls.c (grub_ls_list_disks): Print the filesystem
46816 information on each device, if it does not have partitions. Print
46817 "Device" instead of "Disk", because this function is not specific
46818 to disk devices.
46819
46820 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
46821 static to ensure that it is put on the memory rather than a
46822 register.
46823
502c87e8 468242005-07-17 Yoshinori Okuji <okuji@enbug.org>
46825
46826 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
46827 (grub_cat_init): Likewise.
46828 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
46829 (options): Likewise.
46830 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
46831 (grub_configfile_init): Likewise.
46832 * font/manager.c (GRUB_MOD_INIT): Likewise.
46833 * commands/help.c (GRUB_MOD_INIT): Likewise.
46834 (grub_help_init): Likewise.
46835 * normal/command.c (grub_command_init): Likewise.
46836 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
46837 * disk/loopback.c (grub_loop_init): Likewise.
46838 (GRUB_MOD_INIT): Likewise.
46839 * commands/ls.c (grub_ls_init): Likewise.
46840 (GRUB_MOD_INIT): Likewise.
46841 (options): Likewise.
46842 * commands/boot.c (grub_boot_init): Likewise.
46843 (GRUB_MOD_INIT): Likewise.
46844 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
46845 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
46846 (GRUB_MOD_INIT): Likewise.
46847 * commands/cmp.c (grub_cmp_init): Likewise.
46848 (GRUB_MOD_INIT): Likewise.
46849
46850 * normal/arg.c: Use <> instead of "" to include header files.
46851 (SHORT_ARG_HELP): New macro.
46852 (SHORT_ARG_USAGE): Likewise.
46853 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
46854 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
46855 descriptions.
46856 (find_short): Check if C is 'h' or 'u' explicitly.
46857 (grub_arg_show_help): Use space characters instead of tabs. Treat
46858 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
46859 are shown with --help and --usage only if they are not used for
46860 the command itself.
46861 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
46862 'h' and 'u'.
46863
46864 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
46865 const into "longarg". Change the type of "shortarg" to int.
46866
f806d18e 468672005-07-17 Yoshinori Okuji <okuji@enbug.org>
46868
46869 * boot/i386/pc/boot.S (boot_drive_check): New label.
46870
46871 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
46872 macro.
46873
46874 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
46875 which do not pass a boot drive correctly. Copied from GRUB Legacy.
46876
e293232b 468772005-07-17 Yoshinori Okuji <okuji@enbug.org>
46878
46879 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
46880 When turning off Gate A20, skip the check and return immediately,
46881 because this is not fatal usually.
46882
ebedfd00 468832005-07-17 Yoshinori Okuji <okuji@enbug.org>
46884
46885 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
46886 be 0x7C00 instead of 0x8000.
46887
46888 * boot/i386/pc/pxeboot.S: Rewritten.
46889
46890 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
46891 EXT_C.
46892 (gate_a20_check_state): Read a byte from 0x108000. Invert the
46893 result.
46894
654fc59f 468952005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
46896
46897 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
46898 robustness. This routine now supports a BIOS call and System
46899 Control Port A to modify the gate A20.
46900
46901 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46902 Increased to 0x440.
46903
09f9923f 469042005-07-12 Hollis Blanchard <hollis@penguinppc.org>
46905
46906 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
46907 device path and resulting ihandle.
46908 (grub_ofdisk_close): dprintf the ihandle being closed.
46909 (grub_ofdisk_read): dprintf function parameters.
46910 * kern/mm.c (grub_mm_init_region): Likewise.
46911 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
46912 (grub_linux_boot): dprintf the Linux entry point, initrd address and
46913 size, and boot arguments.
46914 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
46915 before loading into memory.
46916 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
46917 before loading into memory.
46918
7ef504d8 469192005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
46920
46921 * kern/mm.c: Added much documentation.
46922 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
46923 8, set to 5 instead of 8.
46924
e0f050c2 469252005-07-10 Yoshinori Okuji <okuji@enbug.org>
46926
46927 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
46928
46929 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
46930 (grub_mkdevicemap_SOURCES): New variable.
46931
46932 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
46933 lib/device.c of GRUB Legacy.
46934
7224189a 469352005-07-10 Yoshinori Okuji <okuji@enbug.org>
46936
46937 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
46938 instead of PATH is NULL.
46939
68c864eb 469402005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
46941
46942 * commands/cmp.c (BUFFER_SIZE): New macro.
46943 (grub_cmd_cmp): Close the right file at the right time. Compare
46944 only data just read. Don't report files of different size as
46945 identical. Dynamically allocate buffers. Move variable
46946 declarations at the beginning of function.
46947
e6f3e614 469482005-07-09 Yoshinori Okuji <okuji@enbug.org>
46949
46950 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
46951 reverse.
46952
f8f1559a 469532004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
46954
46955 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
46956 when backspace is pressed at beginning of line.
46957
39c9d41d 469582005-07-03 Yoshinori Okuji <okuji@enbug.org>
46959
46960 * DISTLIST: Added genfslist.sh.
46961
46962 * normal/main.c (fs_module_list): New variable.
46963 (autoload_fs_module): New function.
46964 (read_fs_list): Likewise.
46965 (grub_normal_execute): Call read_fs_list.
46966
46967 * kern/fs.c (grub_fs_autoload_hook): New variable.
46968 (grub_fs_probe): Added support for auto-loading.
46969
46970 * include/grub/normal.h (struct grub_fs_module_list): New struct.
46971 (grub_fs_module_list_t): New type.
46972
46973 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
46974 (grub_fs_autoload_hook): New prototype.
46975
46976 * genfslist.sh: New file.
f19dbdb7 46977
39c9d41d 46978 * genmk.rb: Added a rule to generate a filesystem list.
46979
121c1d83 469802005-06-30 Marco Gerards <metgerards@student.han.nl>
46981
46982 * configure.ac: Fix the test for cross-compiling.
46983
46984 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
46985 define GRUB_UTIL anymore.
46986
46987 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
46988 so this function works on other systems than just big endian.
46989 (load_modules): Likewise.
46990 (add_segments): Likewise.
46991
e75d76e1 469922005-06-23 Hollis Blanchard <hollis@penguinppc.org>
46993
46994 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
46995 contains `l' modifier, get a long from va_arg().
46996
50b5a0a7 469972005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
46998
46999 * kern/mm.c (grub_free): If the next free block which is being
47000 merged is the first free block, set the first block to the block
47001 being freed.
47002 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
47003
89371b20 470042005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47005
47006 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
47007 `grub_ieee1275_chosen'.
47008
168d6e58 470092005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47010
47011 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
47012 (grub_ieee1275_chosen): New variable.
47013 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
47014 `chosen'.
47015 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
47016 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47017 Rename first argument to `phandle' for consistency.
47018 (grub_ieee1275_get_property_length): Likewise.
47019 (grub_ieee1275_next_property): Likewise. Change type of first argument
47020 to grub_ieee1275_phandle_t.
47021 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
47022 Move export next to declaration.
47023 (grub_ieee1275_chosen): New variable.
47024 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
47025 Correct cosmetic typo.
47026 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
47027 `grub_ieee1275_chosen'.
47028 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
47029 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
47030 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
47031 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
47032 `grub_ieee1275_chosen'.
47033
ca5baa3f 470342005-05-10 Hollis Blanchard <hollis@penguinppc.org>
47035
47036 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
47037 /chosen/bootargs.
47038 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
47039 /chosen/bootargs as "variable=value" pairs.
47040
708b345f 470412005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
47042
47043 * include/grub/misc.h (grub_dprintf): New macro.
47044 (grub_real_dprintf): New prototype.
47045 (grub_strword): Likewise.
47046 (grub_iswordseparator): Likewise.
47047 * kern/misc.c (grub_real_dprintf): New function.
47048 (grub_strword): Likewise.
47049 (grub_iswordseparator): Likewise.
47050
f4c5e67c 470512005-04-30 Hollis Blanchard <hollis@penguinppc.org>
47052
47053 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
47054 (roundup): Remove macro.
47055 (grub_ieee1275_flags): Make static.
47056 (grub_ieee1275_realmode): Remove.
47057 (grub_ieee1275_test_flag): New function.
47058 (grub_ieee1275_set_flag): Likewise.
47059 (find_options): Rename to `grub_ieee1275_find_options'; update
47060 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
47061 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
47062 (cmain): New prototype.
47063 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
47064 `grub_ieee1275_flags' directly.
47065 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
47066 machine/biosdisk.h.
47067 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
47068 Don't include grub/machine/init.h.
47069 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
47070 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47071 Remove prototype.
47072 (grub_ieee1275_realmode): Likewise.
47073 (grub_ieee1275_flag): New enum.
47074 (grub_ieee1275_test_flag): New prototype.
47075 (grub_ieee1275_set_flag): New prototype.
47076 * include/grub/powerpc/ieee1275/init.h: Remove file.
47077 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
47078 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
47079 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
47080 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
47081 comment.
47082 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
47083 `grub_ieee1275_test_flag'.
47084 (grub_ieee1275_encode_devname): Likewise.
47085
ed16607e 470862005-04-21 Hollis Blanchard <hollis@penguinppc.org>
47087
47088 * include/grub/powerpc/ieee1275/ieee1275.h
47089 (grub_ieee1275_encode_devname): New prototype.
47090 (grub_ieee1275_get_filename): Likewise.
47091 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
47092 function.
47093 (grub_set_prefix): Likewise.
47094 (grub_machine_init): Call grub_set_prefix.
47095 * kern/powerpc/ieee1275/openfw.c: Fix typos.
47096 (grub_parse_type): New enum.
47097 (grub_ieee1275_get_devargs): New function.
47098 (grub_ieee1275_get_devname): Likewise.
47099 (grub_ieee1275_parse_args): Likewise.
47100 (grub_ieee1275_get_filename): Likewise.
47101 (grub_ieee1275_encode_devname): Likewise.
47102
be369920 471032005-03-30 Marco Gerards <metgerards@student.han.nl>
47104
47105 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
47106 `grub_loader_unset'.
47107
a5ce3a4a 471082005-03-26 Hollis Blanchard <hollis@penguinppc.org>
47109
47110 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
47111 instead of grub_ieee1275_interpret.
47112 (grub_halt_init): New function.
47113 (grub_halt_fini): Likewise.
47114 (GRUB_MOD_INIT): Correct message grammar.
47115 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
47116 instead of grub_ieee1275_interpret.
47117 (grub_reboot_init): New function.
47118 (grub_reboot_fini): Likewise.
47119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
47120 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
47121 util/i386/pc/misc.c with commands/ieee1275/halt.c,
47122 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
47123 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
47124 function.
47125 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
47126 Add prototype.
47127 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
47128 prototype.
47129 (grub_halt): Likewise.
47130 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
47131 (cmain): Remove __attribute__((unused)).
47132 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
47133 (grub_heap_len): Likewise.
47134 (grub_machine_fini): New function.
47135 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
47136 (grub_halt): Likewise.
47137 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
47138 function.
47139 * util/powerpc/ieee1275/misc.c: New file.
47140
0058f771 471412005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47142
47143 * DISTLIST: New file.
47144 * gendistlist.sh: Likewise.
f19dbdb7 47145
0058f771 47146 * Makefile.in (COMMON_DISTFILES): Removed.
47147 (BOOT_DISTFILES): Likewise.
47148 (CONF_DISTFILES): Likewise.
47149 (DISK_DISTFILES): Likewise.
47150 (FS_DISTFILES): Likewise.
47151 (INCLUDE_DISTFILES): Likewise.
47152 (KERN_DISTFILES): Likewise.
47153 (LOADER_DISTFILES): Likewise.
47154 (TERM_DISTFILES): Likewise.
47155 (UTIL_DISTFILES): Likewise.
47156 (DISTFILES): Likewise.
47157 (uninstall): Uninstall files in $(pkgdata_DATA).
47158 (DISTLIST): New target.
47159 (distdir): Use the contents of the file DISTLIST to get a list of
47160 distributed files.
47161
46b3b8a5 471622005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47163
47164 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
47165 descriptor. This is ported from GRUB Legacy.
47166
47167 * gencmdlist.sh: Added an extra semicolon to make it work with
47168 old sed versions. Reported by Robert Bihlmeyer
47169 <robbe@orcus.priv.at>.
47170
5822ff87 471712005-03-08 Yoshinori Okuji <okuji@enbug.org>
47172
47173 Automatic loading of commands is supported.
f19dbdb7 47174
5822ff87 47175 * normal/main.c (read_command_list): New function.
47176 (grub_normal_execute): Call read_command_list.
47177
47178 * normal/command.c (grub_register_command): Return zero or CMD.
47179 Allocate CMD->NAME from the heap.
47180 Initialize CMD->MODULE_NAME to zero.
47181 Find the same name as well. If the same command is found and it is
47182 a dummy command, overwrite members. If it is not a dummy command,
47183 return zero.
47184 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
47185 (grub_command_find): If a dummy command is found, load a module
47186 and retry to find a command only once.
47187
47188 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
47189 make sure that each command is loaded.
47190
47191 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
47192 macro.
47193 (struct grub_command): Remove const from the member `name'.
47194 Add a new member `module_name'.
47195 (grub_register_command): Return grub_command_t.
47196
47197 * commands/help.c (grub_cmd_help): Call grub_command_find to make
47198 sure that each command is loaded.
47199
47200 * genmk.rb (PModule::rule): Specify a module name without the
47201 suffix ".mod" to gencmdlist.sh.
47202
7b1f4b57 472032005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47204
47205 * gencmdlist.sh: New file.
f19dbdb7 47206
7b1f4b57 47207 * genmk.rb (PModule::rule): Generate a rule for a command list.
47208 Clean command.lst.
47209 Generate command.lst from $(COMMANDFILES).
47210
47211 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
47212 (DATA): Added $(pkgdata_DATA).
47213 (install-local): Install files in $(pkgdata_DATA).
47214
062aaf39 472152005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47216
47217 * term/i386/pc/vga.c (debug_command): Removed.
47218 (GRUB_MOD_INIT): Do not register the command "debug".
47219
47220 From Hollis Blanchard:
47221 * commands/configfile.c: New file.
47222 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47223 commands/configfile.c.
47224 (pkgdata_MODULES): Added configfile.mod.
47225 (configfile_mod_SOURCES): New variable.
47226 (configfile_mod_CFLAGS): Likewise.
47227 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47228 commands/configfile.c.
47229 (pkgdata_MODULES): Added configfile.mod.
47230 (configfile_mod_SOURCES): New variable.
47231 (configfile_mod_CFLAGS): Likewise.
47232 * util/grub-emu.c (main): Call grub_configfile_init and
47233 grub_configfile_fini.
47234 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
47235 prototype.
47236 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 47237
cee01aa6 472382005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47239
47240 * normal/arg.c (grub_arg_show_help): Do not show the bug report
47241 address.
47242
47243 * commands/help.c (grub_cmd_help): Do not print newlines after
47244 the last command in print_command_help.
47245
93f3a1d8 472462005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47247
47248 * commands/default.h: New file.
47249 * commands/timeout.h: Likewise.
47250 * normal/context.c: Likewise.
f19dbdb7 47251
93f3a1d8 47252 * util/misc.c: Do not include sys/times.h.
47253 Include sys/time.h and grub/machine/time.h.
47254 (grub_get_rtc): Rewritten with gettimeofday.
47255
47256 * util/grub-emu.c (main): Call grub_default_init and
47257 grub_timeout_init before grub_normal_init, and call
47258 grub_timeout_fini and grub_default_fini after grub_main.
47259
47260 * util/console.c (grub_ncurses_checkkey): Return the read
47261 character or -1.
47262
47263 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
47264 timeouts.
47265
47266 * normal/main.c (read_config_file): Push MENU. If this fails,
47267 print an error and wait for a user input.
47268 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
47269 If a menu is empty or an error occurs, pop MENU.
47270 (grub_normal_execute): Pop and free MENU after grub_menu_run
47271 returns.
47272
47273 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
47274
47275 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
47276 include time.h.
47277 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47278 without GRUB_UTIL.
47279 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
47280 time.h.
47281 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47282 without GRUB_UTIL.
47283
47284 * include/grub/normal.h (struct grub_menu_list): New struct.
47285 (grub_menu_list_t): New type.
47286 (struct grub_context): New struct.
47287 (grub_context_t): New type.
47288 (grub_register_command): Got rid of EXPORT_FUNC.
47289 (grub_unregister_command): Likewise.
47290 (grub_context_get): New prototype.
47291 (grub_context_get_current_menu): Likewise.
47292 (grub_context_push_menu): Likewise.
47293 (grub_context_pop_menu): Likewise.
47294 [GRUB_UTIL] (grub_default_init): Likewise.
47295 [GRUB_UTIL] (grub_default_fini): Likewise.
47296 [GRUB_UTIL] (grub_timeout_init): Likewise.
47297 [GRUB_UTIL] (grub_timeout_fini): Likewise.
47298
47299 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
47300 commands/timeout.c and normal/context.c.
47301 (pkgdata_MODULES): Added default.mod and timeout.mod.
47302 (normal_mod_SOURCES): Added normal/context.c.
47303 (default_mod_SOURCES): New variable.
47304 (default_mod_CFLAGS): Likewise.
47305 (timeout_mod_SOURCES): Likewise.
47306 (timeout_mod_CFLAGS): Likewise.
47307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
47308 conf/i386-pc.rmk.
47309 (pkgdata_MODULES): Added default.mod and timeout.mod.
47310 (normal_mod_SOURCES): Added normal/context.c.
47311 (default_mod_SOURCES): New variable.
47312 (default_mod_CFLAGS): Likewise.
47313 (timeout_mod_SOURCES): Likewise.
47314 (timeout_mod_CFLAGS): Likewise.
47315
47316 * Makefile.in (all-local): Added $(MKFILES).
47317
4ed2e1dd 473182005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
47319
47320 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
47321 (grub_emu_SOURCES): Likewise.
47322 (pkgdata_MODULES): Add `sun.mod'.
47323 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
47324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47325 `partmap/sun.c'.
47326 (pkgdata_MODULES): Add `sun.mod'.
47327 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
47328 * include/grub/partition.h (grub_sun_partition_map_init): New
47329 prototype.
47330 (grub_sun_partition_map_fini): Likewise.
47331 * partmap/sun.c: New file.
47332 * util/grub-emu.c (main): Initialize and de-initialize the sun
47333 partitionmap support.
47334
4d4e372e 473352005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
47336
47337 This implements an Emacs-like menu entry editor.
f19dbdb7 47338
4d4e372e 47339 * normal/menu_entry.c: New file.
f19dbdb7 47340
4d4e372e 47341 * util/console.c (grub_ncurses_putchar): Translate some Unicode
47342 characters to ASCII.
47343 (saved_char): New variable.
47344 (grub_ncurses_checkkey): Rewritten completely.
47345 (grub_ncurses_getkey): Likewise.
47346 (grub_ncurses_init): Call raw instead of cbreak.
47347
47348 * normal/menu.c (print_entry): Do not put a space.
47349 (init_page): Renamed to ...
47350 (grub_menu_init_page): ... this. All callers changed.
47351 (edit_menu_entry): Removed.
47352 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
47353
47354 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
47355
47356 * kern/misc.c (grub_vprintf): Call grub_refresh.
47357
47358 * normal/menu.c (DISP_LEFT): Renamed to ...
47359 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
47360 * normal/menu.c (DISP_UP): Renamed to ...
47361 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
47362 * normal/menu.c (DISP_RIGHT): Renamed to ...
47363 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
47364 * normal/menu.c (DISP_DOWN): Renamed to ...
47365 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
47366 * normal/menu.c (DISP_HLINE): Renamed to ...
47367 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
47368 * normal/menu.c (DISP_VLINE): Renamed to ...
47369 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
47370 * normal/menu.c (DISP_UL): Renamed to ...
47371 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
47372 * normal/menu.c (DISP_UR): Renamed to ...
47373 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
47374 * normal/menu.c (DISP_LL): Renamed to ...
47375 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
47376 * normal/menu.c (DISP_LR): Renamed to ...
47377 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
47378 * normal/menu.c (TERM_WIDTH): Renamed to ...
47379 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
47380 * normal/menu.c (TERM_HEIGHT): Renamed to ...
47381 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
47382 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
47383 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
47384 * normal/menu.c (TERM_MARGIN): Renamed to ...
47385 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
47386 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
47387 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
47388 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
47389 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
47390 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
47391 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
47392 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
47393 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
47394 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
47395 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
47396 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
47397 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
47398 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
47399 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
47400 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
47401 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
47402 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
47403 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
47404 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
47405 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
47406 All callers changed.
47407
47408 * include/grub/normal.h: New prototype.
47409
47410 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47411 normal/menu_entry.c.
47412 (normal_mod_SOURCES): Likewise.
47413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47414 (normal_mod_SOURCES): Likewise.
47415
e6b92c8a 474162005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
47417
47418 * include/grub/normal.h (grub_halt_init): New prototype.
47419 (grub_halt_fini): Likewise.
47420 (grub_reboot_init): Likewise.
47421 (grub_reboot_fini): Likewise.
47422
47423 * util/grub-emu.c: Include signal.h.
47424 (main_env): New global variable.
47425 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
47426 catch C-c.
47427 (grub_machine_fini): New function.
47428 (main): Call grub_halt_init and grub_reboot_init before
47429 grub_main, and grub_reboot_fini and grub_halt_fini after it.
47430 Call setjmp with MAIN_ENV to go back afterwards.
47431 Call grub_machine_fini right before return.
47432
47433 * include/grub/util/misc.h: Include setjmp.h.
47434 (main_env): New prototype.
47435
47436 * include/grub/kernel.h (grub_machine_fini): New prototype.
47437 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
47438 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
47439
47440 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
47441 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
47442 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 47443
e6b92c8a 47444 * util/i386/pc/misc.c: New file.
f19dbdb7 47445
e6b92c8a 47446 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47447 util/i386/pc/misc.c, commands/i386/pc/halt.c and
47448 commands/i386/pc/reboot.c.
47449
c642636f 474502005-02-14 Guillem Jover <guillem@hadrons.org>
47451
47452 * include/grub/dl.h (grub_dl_check_header): New prototype.
47453 (grub_arch_dl_check_header): Change return type to grub_err_t,
47454 remove size parameter and export function. Update all callers.
47455 * kern/dl.c (grub_dl_check_header): New function.
47456 (grub_dl_load_core): Use `grub_dl_check_header' instead of
47457 `grub_arch_dl_check_header'. Check ELF type. Check if sections
47458 are inside the core.
47459 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
47460 independent ELF header checks.
47461 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
47462 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
47463 `grub_dl_check_header' instead of explicit checks. Check for the
47464 ELF type.
47465 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
47466 `grub_dl_check_header' instead of explicit checks. Remove arch
47467 specific ELF header checks.
47468
e6b92c8a 47469 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
47470 argument SIZE.
47471
5eabe94b 474722005-02-13 Hollis Blanchard <hollis@penguinppc.org>
47473
47474 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
47475 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
47476
1b14a681 474772005-02-12 Hollis Blanchard <hollis@penguinppc.org>
47478
47479 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 47480 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 47481 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 47482 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 47483 * partmap/amiga.c (amiga_partition_map_iterate): Return
47484 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
47485 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47486
aca108aa 474872005-02-01 Guillem Jover <guillem@hadrons.org>
47488
47489 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
47490 help info.
47491
c9f9c556 474922005-01-31 Marco Gerards <metgerards@student.han.nl>
47493
47494 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
47495 Removed prototype.
47496 (grub_rescue_cmd_linux): New prototype.
47497 (grub_rescue_cmd_initrd): Likewise.
47498 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
47499 `bi_rec'.
47500 (grub_linux_release_mem): Release the memory for the initrd.
47501 (grub_load_linux): Renamed from this...
47502 (grub_rescue_cmd_linux): ...To this. Changed all callers.
47503 Changed `entry' not to be static. Loop over memory regions to
47504 find another one when the default fails.
47505 (grub_rescue_cmd_initrd): New function.
47506 (grub_linux_init): Remove function.
47507 (grub_linux_fini): Likewise.
47508 (GRUB_MOD_INIT): Register `initrd'.
47509 (GRUB_MOD_FINI): Unregister `initrd'.
47510 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
47511 Function removed.
47512 (grub_linux_normal_fini): Likewise.
47513 (GRUB_MOD_INIT): Register `initrd'.
47514 (GRUB_MOD_FINI): Unregister `initrd'.
47515
990cf3aa 475162005-01-31 Marco Gerards <metgerards@student.han.nl>
47517
47518 * commands/help.c: New file.
47519 * normal/arg.c (show_help): Renamed to...
47520 (grub_arg_show_help): ... this.
47521 * commands/i386/pc/halt.c: New file.
47522 * commands/i386/pc/reboot.c: Likewise.
47523 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
47524 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
47525 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
47526 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
47527 variables.
47528 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47529 `commands/help.c'.
47530 (pkgdata_MODULES): Add `help.mod'.
47531 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
47532 * grub/i386/pc/init.h (grub_reboot): New prototype.
47533 (grub_halt): Likewise.
47534 * include/grub/normal.h (grub_arg_show_help): New prototype.
47535 (grub_help_init): Likewise.
47536 (grub_help_fini): Likewise.
47537 * util/grub-emu.c (main): Initialize and deinitialize the help
47538 command.
47539
47540 * normal/cmdline.c (grub_cmdline_get): Doc fix.
47541
47542 * normal/command.c (grub_command_init): Fixed the description of
47543 the `set' and `unset' commands.
47544
475452005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 47546
47547 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
47548 function.
47549 * commands/ieee1275/halt.c: New file.
47550 * commands/ieee1275/reboot.c: Likewise.
47551 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
47552 `__attribute__ ((unused))'. Some GCS related fixed.
47553 (grub_suspend_init) [GRUB_UTIL]: Function removed.
47554 (grub_suspend_fini): Likewise.
47555 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
47556 and `halt.mod'.
47557 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
47558 (halt_mod_CFLAGS): New variables.
47559 * include/grub/powerpc/ieee1275/ieee1275.h
47560 (grub_ieee1275_interpret): New prototype.
47561
1ab09cc7 475622005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
47563
47564 * include/grub/misc.h (memmove): New prototype.
47565 (memcpy): Likewise.
47566
8b8cbdb2 475672005-01-22 Hollis Blanchard <hollis@penguinppc.org>
47568
47569 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
47570 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
47571
e3741a27 475722005-01-22 Marco Gerards <metgerards@student.han.nl>
47573
47574 * kern/misc.c (grub_strndup): Function rewritten.
47575
776bd780 475762005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
47577
47578 * normal/menu.c (TERM_WIDTH): Macro redefined.
47579 (TERM_TOP_BORDER_Y): Likewise.
47580 (draw_border): Replaced while-loop by a for-loop. Make the number
47581 of lines consistent with the number of lines displayed in
47582 print_entries. Added a margin below the rectangle.
47583 (print_entry): Make the entry fit in the rectangle.
47584 (print_entries): Display the scroll arrows next to the right
47585 border.
47586
78026bce 475872005-01-21 Marco Gerards <metgerards@student.han.nl>
47588
47589 * fs/minix.c (grub_minix_find_file): Reserve more space for
47590 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
47591 `grub_strncpy' to copy `path' into it.
47592
67bbaf0f 475932005-01-21 Marco Gerards <metgerards@student.han.nl>
47594
47595 Add the loopback device, a device via which files can be accessed
47596 as devices.
f19dbdb7 47597
67bbaf0f 47598 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
47599 (pkgdata_MODULES): Add loopback.mod.
47600 (loopback_mod_SOURCES): New variable.
47601 (loopback_mod_CFLAGS): Likewise.
47602 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47603 `disk/loopback.c'.
47604 (pkgdata_MODULES): Add loopback.mod.
47605 (loopback_mod_SOURCES): New variable.
47606 (loopback_mod_CFLAGS): Likewise.
47607 * disk/loopback.c: new file.
47608 * include/grub/normal.h (grub_loop_init): New prototype.
47609 (grub_loop_fini): New prototype.
47610 * util/grub-emu.c (main): Initialize and de-initialize loopback
47611 support.
47612 * include/grub/disk.h (grub_disk_dev_id): Add
47613 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
47614
6f1c18bd 476152005-01-20 Hollis Blanchard <hollis@penguinppc.org>
47616
47617 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
47618 function.
47619 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
47620 (suspend_mod_SOURCES): New variable.
47621 (suspend_mod_CFLAGS): Likewise.
47622 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
47623 New prototype.
47624 * commands/ieee1275/suspend.c: New file.
47625
b38551da 476262005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47627
47628 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 47629 ((unused))' to `__attribute__ ((used))'.
b38551da 47630 (GRUB_MOD_FINI): Likewise.
47631 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
47632 * genmk.rb (PModule): Assign space to common symbols when linking
47633 modules.
47634
777aff39 476352005-01-20 Marco Gerards <metgerards@student.han.nl>
47636
47637 * include/grub/mm.h (grub_mm_init_region): Change the type of the
47638 `unsigned' arguments to `grub_size_t'.
47639 (grub_malloc): Likewise.
47640 (grub_realloc): Likewise.
47641 (grub_memalign): Likewise.
47642 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
47643 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
47644 * util/misc.c (grub_malloc): Likewise.
47645 (grub_realloc): Likewise.
47646 * kern/mm.c (get_header_from_pointer): Change the casts to
47647 `unsigned' into a cast to `grub_size_t'.
47648
47649 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
47650 point to `currnode' when `currnode' is changed.
47651
47652 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
47653 Schottelius <nico-linux@schottelius.org>.
47654
d0ff18e1 476552005-01-09 Hollis Blanchard <hollis@penguinppc.org>
47656
47657 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
47658 (note_path): Remove variable.
47659 (GRUB_IEEE1275_NOTE_NAME): New macro.
47660 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
47661 (grub_ieee1275_note_hdr): New structure.
47662 (grub_ieee1275_note_desc): Likewise.
47663 (grub_ieee1275_note): Likewise.
47664 (load_note): Remove `dir' argument. All callers updated. Remove
47665 `note_img' and `path'. Do not load a file from `note_path'.
47666 Initialize a struct grub_ieee1275_note and write that to `out'.
47667 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
47668
4ca7004c 476692005-01-05 Marco Gerards <metgerards@student.han.nl>
47670
47671 * util/misc.c (grub_util_read_image): Revert last change. It
47672 called `grub_util_read_at', which seeks from the beginning of the
47673 file.
47674
0b412211 476752005-01-04 Hollis Blanchard <hollis@penguinppc.org>
47676
47677 * TODO: Add note about endianness in grub-mkimage.
47678 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
47679 section.
47680 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
47681 (grub_mkimage_SOURCES): New target.
47682 * include/grub/kernel.h (grub_start_addr): Remove variable.
47683 (grub_end_addr): Likewise.
47684 (grub_total_module_size): Likewise.
47685 (grub_kernel_image_size): Likewise.
47686 (GRUB_MODULE_MAGIC): New constant.
47687 (grub_module_info): New structure.
47688 (grub_arch_modules_addr): New prototype.
47689 (grub_get_end_addr): Remove prototype.
47690 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
47691 * include/grub/powerpc/ieee1275/kernel.h: New file.
47692 * include/grub/util/misc.h (grub_util_get_fp_size): New
47693 prototype.
47694 (grub_util_read_at): Likewise.
47695 (grub_util_write_image_at): Likewise.
47696 * kern/main.c (grub_get_end_addr): Remove function.
47697 (grub_load_modules): Call grub_arch_modules_addr instead of using
47698 grub_end_addr. Look for a grub_module_info struct in memory. Use
47699 the grub_module_info fields instead of calling grub_get_end_addr
47700 as loop conditions. Move grub_add_unused_region code here.
47701 (grub_add_unused_region): Remove function.
47702 * kern/i386/pc/init.c: Include grub/cache.h.
47703 (grub_machine_init): Remove call to grub_get_end_addr. Remove
47704 one call to add_mem_region.
47705 (grub_arch_modules_addr): New function.
47706 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
47707 (grub_total_module_size): Likewise.
47708 Include grub/machine/kernel.h.
47709 (grub_arch_modules_addr): New function.
47710 * util/grub-emu.c (grub_end_addr): Remove variable.
47711 (grub_total_module_size): Likewise.
47712 (grub_arch_modules_addr): New function.
47713 * util/misc.c: Include unistd.h.
47714 (grub_util_get_fp_size): New function.
47715 (grub_util_read_at): Likewise.
47716 (grub_util_write_image_at): Likewise.
47717 (grub_util_read_image): Call grub_util_read_at.
47718 (grub_util_write_image): Call grub_util_write_image_at.
47719 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
47720 additional memory in kernel_img for a struct grub_module_info.
47721 Fill in that grub_module_info.
47722 * util/powerpc/ieee1275/grub-mkimage.c: New file.
47723
458786f8 477242005-01-03 Hollis Blanchard <hollis@penguinppc.org>
47725
47726 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
47727 New function.
47728 * include/grub/powerpc/ieee1275/ieee1275.h
47729 (grub_ieee1275_milliseconds): New prototype.
47730 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
47731 Change to 1000.
47732 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
47733 grub_ieee1275_milliseconds.
47734
ac507d1b 477352005-01-03 Hollis Blanchard <hollis@penguinppc.org>
47736
47737 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
47738 variable.
47739 (find_options): New function.
47740 (cmain): Call find_options.
47741 * include/grub/powerpc/ieee1275/ieee1275.h
47742 (grub_ieee1275_realmode): New extern variable.
47743 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
47744 grub_map if grub_ieee1275_realmode is false.
47745
6b8fd1c4 477462004-12-29 Marco Gerards <metgerards@student.han.nl>
47747
47748 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
47749 lines are inserted and make it work like readline. Reported by
47750 Vincent Pelletier <subdino2004@yahoo.fr>.
47751
8514a1e0 477522004-12-28 Marco Gerards <metgerards@student.han.nl>
47753
47754 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
47755
47756 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
47757 `kern/powerpc/cache.S'.
47758
924b6140 477592004-12-27 Marco Gerards <metgerards@student.han.nl>
47760
47761 * genmk.rb: Handle the `Program' class in the main loop. Written
47762 by Johan Rydberg <jrydberg@gnu.org>.
47763 (Program): New class.
47764 (programs): New variable.
47765 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
47766 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
47767 instead of "grub/kernel.h". Include <grub/machine/init.h>.
47768 (help_arch): Function removed.
47769 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
47770 `powerpc/libgcc.h' and `loader.h'.
47771 (pkgdata_PROGRAMS): New variable.
47772 (sbin_UTILITIES): Variable removed.
47773 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
47774 (grubof_SOURCES): Variable re-defined so it only includes the
47775 core functionality.
47776 (grubof_CFLAGS): Remove `-DGRUBOF'.
47777 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
47778 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
47779 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
47780 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
47781 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
47782 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
47783 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
47784 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
47785 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
47786 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
47787 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47788 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
47789 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
47790 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
47791 (pc_mod_CFLAGS): New variables.
47792 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
47793 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
47794 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
47795 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
47796 Moved from here...
47797 * include/grub/i386/pc/init.h (grub_os_area_addr)
47798 (rub_os_area_size): ... to here.
47799 * include/grub/powerpc/ieee1275/ieee1275.h
47800 (grub_ieee1275_entry_fn): Export symbol.
47801 * include/grub/powerpc/ieee1275/init.h: New file.
47802 * include/grub/powerpc/libgcc.h: Likewise.
47803 * include/grub/cache.h: Likewise.
47804 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
47805 <hollis@penguinppc.org>.
47806 * kern/dl.c: Include <grub/cache.h>.
47807 (grub_dl_flush_cache): New function.
47808 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
47809 for this module.
47810 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
47811 (grub_console_init): Removed prototypes.
47812 (grub_machine_init): Don't initialize the modules anymore.
47813 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
47814 static.
47815 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
47816 Macro undef removed.
47817 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
47818 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
47819 relocation `R_PPC_REL32'. Return an error when the relocation is
47820 unknown.
47821 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
47822 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
47823 * util/misc.c (grub_arch_sync_caches): Likewise.
47824
e4b47e0c 478252004-12-19 Marco Gerards <metgerards@student.han.nl>
47826
47827 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
47828 `symlist.c', add `grubof_symlist.c'.
47829 (symlist.c): Variable removed.
47830 (grubof_HEADERS): Variable added.
47831 (grubof_symlist.c): New target.
47832 (kernel_syms.lst): Use `grubof_HEADERS' instead of
47833 `kernel_img_HEADERS'.
47834 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
47835 * kern/powerpc/dl.c: New file.
47836 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
47837 Function removed.
47838 (grub_arch_dl_relocate_symbols): Likewise.
47839 (grub_register_exported_symbols): Likewise.
47840
4ceb3636 478412004-12-13 Marco Gerards <metgerards@student.han.nl>
47842
47843 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
47844 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
47845 to fail instead. Reported by Vincent Pelletier
47846 <subdino2004@yahoo.fr>.
47847
47848 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
47849 it is not allocated. Reported by Vincent Pelletier
47850 <subdino2004@yahoo.fr>.
47851
47852 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
47853 output so the output looks better.
f19dbdb7 47854
3f1578fe 478552004-12-04 Marco Gerards <metgerards@student.han.nl>
47856
47857 Modulize the partition map support and add support for the amiga
47858 partition map.
f19dbdb7 47859
3f1578fe 47860 * commands/ls.c: Include <grub/partition.h> instead of
47861 <grub/machine/partition.h>.
47862 * kern/disk.c: Likewise.
47863 * kern/rescue.c: Likewise.
47864 * loader/i386/pc/chainloader.c: Likewise.
47865 * normal/cmdline.c: Likewise.
47866 * kern/powerpc/ieee1275/init.c: Likewise.
47867 (grub_machine_init): Call `grub_pc_partition_map_init',
47868 `grub_amiga_partition_map_init' and
47869 `grub_apple_partition_map_init'.
47870 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
47871 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
47872 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
47873 `partition.h' and `pc_partition.h'.
47874 (grub_setup_SOURCES): Remove
47875 `disk/i386/pc/partition.c'. Add `kern/partition.c',
47876 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
47877 (grub_emu_SOURCES): Likewise.
47878 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
47879 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
47880 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
47881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
47882 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
47883 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
47884 (grubof_SOURCES): Likewise.
47885 * disk/i386/pc/partition.c: File removed.
47886 * disk/powerpc/ieee1275/partition.c: Likewise.
47887 * include/grub/powerpc/ieee1275/partition.h: Likewise.
47888 * include/grub/i386/pc/partition.h: Likewise.
47889 * kern/partition.c: New file.
47890 * partmap/amiga.c: Likewise.
47891 * partmap/apple.c: Likewise.
47892 * partmap/pc.c: Likewise.
47893 * include/grub/partition.h: Likewise..
47894 * include/grub/pc_partition.h: Likewise.
47895 * util/grub-emu.c: Include <grub/partition.h> instead of
47896 <grub/machine/partition.h>.
47897 (main): Call `grub_pc_partition_map_init',
47898 `grub_amiga_partition_map_init' and
47899 `grub_apple_partition_map_init' and deinitialize afterwards.
47900 * util/i386/pc/biosdisk.c: Include `#include
47901 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
47902 `<grub/machine/partition.h>'.
47903 * util/i386/pc/grub-setup.c: Likewise.
47904 * util/i386/pc/biosdisk.c: Likewise.
47905 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
47906 partition information in case of a PC partition.
47907 * util/i386/pc/grub-setup.c: Include `#include
47908 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
47909 `<grub/machine/partition.h>'.
47910 (setup): Only access the PC specific partition information in case
47911 of a PC partition.
47912
0ef4ced9 479132004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47914
0ef4ced9 47915 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
47916 (grub_longjmp): Likewise.
47917 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
47918 20.
47919 * normal/powerpc/setjmp.S: New file.
47920 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
47921 `normal/powerpc/setjmp.S'.
47922 (grubof_CFLAGS): Add `-DGRUBOF'.
47923 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
47924 [GRUB_UTIL && !GRUBOF].
f19dbdb7 47925
19950e29 479262004-11-16 Marco Gerards <metgerards@student.han.nl>
47927
47928 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
47929 property named `name'. Correctly handle the error returned by
47930 `grub_ieee1275_finddevice' if a device can not be opened.
47931
a2fea427 479322004-11-02 Hollis Blanchard <hollis@penguinppc.org>
47933
47934 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
47935 `actual' for negativity.
47936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
47937 kern/fshelp.c.
47938
41ea0ea3 479392004-11-01 Marco Gerards <metgerards@student.han.nl>
47940
47941 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
47942 (PAGE_OFFSET): New macro.
47943 (CRTC_ADDR_PORT): Likewise.
47944 (CRTC_DATA_PORT): Likewise.
47945 (START_ADDR_HIGH_REGISTER): Likewise.
47946 (START_ADDR_LOW_REGISTER): Likewise.
47947 (GRAPHICS_ADDR_PORT): Likewise.
47948 (GRAPHICS_DATA_PORT): Likewise.
47949 (READ_MAP_REGISTER): Likewise.
47950 (INPUT_STATUS1_REGISTER): Likewise.
47951 (INPUT_STATUS1_VERTR_BIT): Likewise.
47952 (page): New variable.
47953 (wait_vretrace): New function.
47954 (set_read_map): Likewise.
47955 (set_start_address): Likewise.
47956 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
47957 the right page.
47958 (check_vga_mem): Take the page into account.
47959 (write_char): Likewise.
47960 (write_cursor): Likewise.
47961 (scroll_up): Likewise. Copy the page to the page that is not
47962 shown and switch between both pages.
47963 (grub_vga_putchar): Fix off by one error.
47964 (grub_vga_cls): Wait for the vertical retrace. Take the page into
47965 account.
47966
ad0bd20b 479672004-11-01 Marco Gerards <metgerards@student.han.nl>
47968
47969 Add support for iso9660 (including rockridge).
f19dbdb7 47970
ad0bd20b 47971 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47972 (iso9660_mod_SOURCES): New variable.
47973 (iso9660_mod_CFLAGS): Likewise.
47974 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47975 * include/grub/fs.h (grub_iso9660_init): New prototype.
47976 * util/grub-emu.c (main): Call `grub_iso9660_init'.
47977 * fs/iso9660.c: New file.
47978
47979 * include/grub/misc.h (grub_strncat): New prototype.
47980 * kern/misc.c (grub_strncat): New function.
f19dbdb7 47981
ad0bd20b 47982 * fs/hfs.c (grub_hfs_mount): Translate the error
47983 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
47984 * fs/jfs.c (grub_jfs_mount): Likewise.
47985 * fs/ufs.c (grub_ufs_mount): Likewise.
47986
a5477a59 479872004-10-28 Hollis Blanchard <hollis@penguinppc.org>
47988
47989 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
47990 which initialized BAT registers.
47991 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
47992 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
47993 Move from here...
47994 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
47995 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
47996 ... to here.
47997 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
47998 (grub_mapclaim): Likewise.
47999 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
48000 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
48001 hand.
48002
9304c1f8 480032004-10-19 Hollis Blanchard <hollis@penguinppc.org>
48004
48005 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
48006 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
48007 -ffreestanding and -msoft-float.
48008
86f4ae25 480092004-10-15 Hollis Blanchard <hollis@penguinppc.org>
48010
48011 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
48012 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
48013 set in grub_ieee1275_flags.
48014
38912228 480152004-10-14 Hollis Blanchard <hollis@penguinppc.org>
48016
48017 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
48018 prototype.
48019 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
48020 grub_console_init first.
48021 Change the memory range used for grub_ieee1275_claim and
48022 grub_mm_init_region.
48023 Print an error message if the claim fails.
48024 Include <grub/misc.h>.
48025
d1923dc8 480262004-10-13 Hollis Blanchard <hollis@penguinppc.org>
48027
48028 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
48029 Call grub_children_iterate for device nodes of type `scsi',
48030 `ide', or `ata'.
48031 (grub_ofdisk_open): Remove manual device alias resolution.
48032 Fix memory leak when device cannot be opened.
f19dbdb7 48033 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 48034 (grub_children_iterate): New prototype.
48035 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
48036 New function.
48037 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48038 Return -1 if args.size was -1.
48039
4512e4f3 480402004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48041
48042 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
48043 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
48044 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
48045 Open Firmware's memory for it; claim memory from _start to _end.
48046 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
48047 (_end): New extern.
48048 (_start): Zero BSS from __bss_start to _end.
48049 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48050 New extern.
48051 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
48052
4d61feb0 480532004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48054
ad0bd20b 48055 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
48056 -1 if args.base was -1.
4d61feb0 48057
026fa2f9 480582004-10-08 Hollis Blanchard <hollis@penguinppc.org>
48059
48060 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
48061 escape sequence instead of a literal ^L. Also call
48062 grub_ofconsole_gotoxy.
48063
9f2220ef 480642004-10-03 Hollis Blanchard <hollis@penguinppc.org>
48065
48066 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
48067 void * arguments to grub_addr_t. All callers updated. Also make
48068 the `result' argument optional.
48069 (grub_ieee1275_release): change void * arguments to grub_addr_t.
48070 All callers updated.
48071
8a572cd7 480722004-09-22 Hollis Blanchard <hollis@penguinppc.org>
48073
48074 * commands/ls.c (grub_ls_list_files): Use the string following the
48075 initial ')', if present, as the filesystem path.
48076 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
48077
48078 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
48079
18aa81f2 480802004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
48081
48082 Make the source code of the menu interface more readable.
f19dbdb7 48083
18aa81f2 48084 * normal/menu.c: Include grub/mm.h.
48085 (TERM_WIDTH): New macro.
48086 (TERM_HEIGHT): Likewise.
48087 (TERM_INFO_HEIGHT): Likewise.
48088 (TERM_MARGIN): Likewise.
48089 (TERM_SCROLL_WIDTH): Likewise.
48090 (TERM_TOP_BORDER_Y): Likewise.
48091 (TERM_LEFT_BORDER_X): Likewise.
48092 (TERM_BORDER_WIDTH): Likewise.
48093 (TERM_MESSAGE_HEIGHT): Likewise.
48094 (TERM_BORDER_HEIGHT): Likewise.
48095 (TERM_NUM_ENTRIES): Likewise.
48096 (TERM_FIRST_ENTRY_Y): Likewise.
48097 (TERM_ENTRY_WIDTH): Likewise.
48098 (TERM_CURSOR_X): Likewise.
48099 (draw_border): Use macros instead of magic numbers.
48100 (print_entry): Likewise.
48101 (print_entries): Likewise.
48102 (run_menu): Likewise. Also, handle the key 'e'.
48103 (run_menu_entry): Ignore empty command lines.
48104 (print_message): Added a new argument EDIT. If EDIT is true,
48105 print a different message.
48106 (init_page): Likewise.
48107 (edit_menu_entry): New function. Not implemented yet.
48108
b47efe30 481092004-09-17 Marco Gerards <metgerards@student.han.nl>
48110
48111 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
48112 can be loaded from normal mode.
f19dbdb7 48113
b47efe30 48114 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
48115 `multiboot.mod'.
48116 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
48117 (multiboot_mod_CFLAGS): New variables.
48118 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 48119 * loader/i386/pc/multiboot_normal.c: Likewise.
48120
b47efe30 48121 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
48122 attribute `unused'.
f19dbdb7 48123
b47efe30 48124 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
48125 `fdiro' to read the mode information from instead of `diro'.
48126
48127 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
48128 looking up a symlink.
48129
48130 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
48131 macro.
48132 * normal/command.c (grub_command_execute): Don't parse the
48133 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
48134 flags of the command.
48135
48136 * normal/menu.c (grub_menu_run): Fix typo.
48137
da75ac71 481382004-09-14 Hollis Blanchard <hollis@penguinppc.org>
48139
48140 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
48141
48142 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
48143 `y + 1' instead of `y - 1'.
48144
48145 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 48146
062b24c2 481472004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
48148
48149 From Hollis Blanchard <hollis@penguinppc.org>:
48150 * kern/misc.c (memmove): New alias for grub_memmove.
48151 (memcmp): New alias for grub_memcmp.
48152 (memset): New alias for grub_memset.
f19dbdb7 48153 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 48154 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 48155 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 48156 (grub_ieee1275_get_property): Likewise.
f19dbdb7 48157
8ddad845 481582004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
48159
48160 Added normal mode command `chainloader' as module chain.mod, which
48161 depends on normal.mod and _chain.mod.
f19dbdb7 48162
8ddad845 48163 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
48164 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
48165 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
48166 Deleted prototype.
48167 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
48168 but arguments parsing moved to ...
48169 (grub_chainloader_cmd): ... here. New function.
48170 * include/grub/i386/pc/chainloader.h: New file.
48171 * loader/i386/pc/chainloader_normal.c: Likewise.
48172
2c1f4ce3 481732004-09-11 Marco Gerards <metgerards@student.han.nl>
48174
48175 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
48176 (grub_mkimage_LDFLAGS): Likewise.
48177 (grub_emu_SOURCES): Likewise.
48178 (kernel_img_HEADERS): Added fshelp.h.
48179 * fs/ext2.c: Include <grub/fshelp.h>.
48180 (FILETYPE_REG): New macro.
48181 (FILETYPE_INO_REG): Likewise.
48182 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
48183 Changed all users.
48184 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
48185 all users.
48186 (grub_fshelp_node): New struct.
48187 (grub_ext2_data): Added member `diropen'. Changed member `inode'
48188 to a pointer.
48189 (grub_ext2_get_file_block): Removed function.
48190 (grub_ext2_read_block): New function.
48191 (grub_ext2_read_file): Replaced parameter `data' by `node'.
48192 This function was written.
48193 (grub_ext2_mount): Read the root inode. Create a diropen struct.
48194 (grub_ext2_find_file): Removed function.
48195 (grub_ext2_read_symlink): New function.
48196 (grub_ext2_iterate_dir): Likewise.
48197 (grub_ext2_open): Rewritten.
48198 (grub_ext2_dir): Rewritten.
48199 * include/grub/fshelp.h: New file.
48200 * fs/fshelp.c: Likewise.
48201
3c52136a 482022004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
48203
48204 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
48205 (print_message): Add a missing newline.
48206 (run_menu): Added timeout support.
48207 (run_menu_entry): New local function.
48208 (grub_menu_run): Added support for booting.
48209
48210 * kern/loader.c (grub_loader_is_loaded): New function.
48211
48212 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
48213 (grub_get_rtc): Exported.
48214
48215 * include/grub/i386/pc/time.h: Include grub/symbol.h.
48216 (grub_get_rtc): Exported.
48217
48218 * include/grub/normal.h (struct grub_command_list): Remove
48219 constant from the member `command'.
48220
48221 * include/grub/loader.h (grub_loader_is_loaded): Declared.
48222
48223 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
48224
48225 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
48226
aa033560 482272004-08-28 Marco Gerards <metgerards@student.han.nl>
48228
48229 Add support for the JFS filesystem.
48230
48231 * fs/jfs.c: New file.
48232 * include/grub/fs.h (grub_jfs_init): New prototype.
48233 (grub_jfs_fini): New prototype.
48234 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
48235 (grub_emu_SOURCES): Likewise.
48236 (pkgdata_MODULES): Add jfs.mod.
48237 (jfs_mod_SOURCES): New variable.
48238 (jfs_mod_CFLAGS): Likewise.
48239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
48240 (grubof_SOURCES): Likewise.
48241 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
48242
48243 * fs/fat.c (grub_fat_find_dir): Convert the filename little
48244 endian to the host endian.
48245 (grub_fat_utf16_to_utf8): Move function from there...
48246 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 48247 the endianness of the source string anymore.
aa033560 48248 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
48249
94bc45af 482502004-08-24 Marco Gerards <metgerards@student.han.nl>
48251
48252 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
48253 (grub_boot_fini) [GRUB_UTIL]: Likewise.
48254 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
48255 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 48256
94bc45af 48257 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
48258 (grub_hfs_iterate_dir): Make the function static. Add prototypes
48259 for `node_found' and `it_dir'.
48260 (grub_hfs_dir): Add prototype for `dir_hook'.
48261
48262 * fs/minix.c (grub_minix_get_file_block): Add prototype for
48263 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
48264 and `indir32' to silence a gcc warning.
48265
48266 * include/grub/fs.h (grub_hfs_init): New prototype.
48267 (grub_hfs_fini): Likewise.
f19dbdb7 48268
48269
97543f08 482702004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48271
48272 Each disk device has its own id now. This is useful to make use
48273 of multiple disk devices.
f19dbdb7 48274
97543f08 48275 * include/grub/disk.h (grub_disk_dev_id): New enum.
48276 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
48277 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
48278
48279 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
48280 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48281
48282 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
48283 GRUB_DISK_DEVICE_OFDISK_ID as an id.
48284
48285 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
48286 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48287
48288 * include/grub/disk.h (struct grub_disk_dev): Added a new member
48289 "id" which is used by the cache manager.
48290
48291 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
48292 of just "GRUB".
48293
64372eb4 482942004-08-18 Marco Gerards <metgerards@student.han.nl>
48295
48296 * fs/hfs.c: New file.
48297 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
48298 (grub_emu_SOURCES): Likewise.
48299 (pkgdata_MODULES): Add hfs.mod.
48300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
48301 (grubof_SOURCES): Likewise.
48302 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
48303
48304 * include/grub/misc.h (grub_strncasecmp): Add prototype.
48305 * kern/misc.c (grub_strncasecmp): Add function.
48306
cc61b58f 483072004-08-14 Marco Gerards <metgerards@student.han.nl>
48308
48309 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
48310 with parentheses.
48311
48312 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
48313 (grub_ext2_dir): In case the directory entry type is unknown, read
48314 it from the inode.
48315
0ef123f6 483162004-08-02 Peter Bruin <pjbruin@dds.nl>
48317
48318 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
48319 grub_load_linux instead of grub_rescue_cmd_linux as second
48320 argument of grub_rescue_register_command.
48321
48322 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
48323
a447c5df 483242004-07-27 Marco Gerards <metgerards@student.han.nl>
48325
48326 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
48327 function.
48328 * commands/boot.c: Remove the check for `GRUB_UTIL'.
48329 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48330 `loader/powerpc/ieee1275/linux.c',
48331 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
48332 * include/grub/powerpc/ieee1275/ieee1275.h
48333 (grub_ieee1275_release): New prototype.
48334 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
48335 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
48336 normal, boot, linux and linux_normal.
48337 * loader/powerpc/ieee1275/linux.c: New file.
48338 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
48339
5a9e3546 483402004-07-12 Marco Gerards <metgerards@student.han.nl>
48341
48342 * normal/arg.c (grub_arg_parse): Correct error handling after
48343 reallocating the argumentlist (check if `argl' is not null instead
48344 of checking if `args' is not null).
48345 * kern/mm.c (grub_realloc): Return the same pointer when using the
48346 same region, instead of returning the header address.
48347
e15199cb 483482004-07-11 Marco Gerards <metgerards@student.han.nl>
48349
48350 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
48351 one block instead of two when looking for the initial partition.
48352 (grub_partition_probe): Initialize the local variable `p' with 0.
48353 Use base 10 for the grub_strtoul call.
48354 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
48355 need for one local variable.
48356 (grub_strtoul): Don't add the new value to `num', instead of that
48357 just assign it.
48358
020616c2 483592004-07-11 Marco Gerards <metgerards@student.han.nl>
48360
48361 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
48362 (pxeboot_img_SOURCES): New variable.
48363 (pxeboot_img_ASFLAGS): Likewise.
48364 (pxeboot_img_LDFLAGS): Likewise.
48365 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
48366 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
48367 <lode_leroy@hotmail.com>.
48368
6c51eb64 483692004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48370
48371 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
48372 there was no input.
48373
cfb12aff 483742004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48375
48376 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
48377 the history buffer logic.
48378
6eabba74 483792004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48380
48381 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
48382 (FILETYPE_INO_SYMLINK): New macros.
48383 (grub_ext2_find_file): Check if the node is a directory using the
48384 inode stat information instead of using the filetype in the
48385 dirent. Exclude the first character of an absolute symlink.
48386 (grub_ext2_dir): Mask out the filetype part of the mode member of
48387 the inode.
48388
66e19ef8 483892004-05-24 Marco Gerards <metgerards@student.han.nl>
48390
48391 Add support for UFS version 1 and 2. Add support for the minix
48392 filesystem version 1 and 2, both the variants with 14 and 30 long
48393 filenames.
f19dbdb7 48394
66e19ef8 48395 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
48396 fs/minix.c.
48397 (grub_emu_SOURCES): Likewise.
48398 (pkgdata_MODULES): Add ufs.mod and minix.mod.
48399 (ufs_mod_SOURCES): New variable.
48400 (ufs_mod_CFLAGS): Likewise.
48401 (minix_mod_SOURCES): Likewise.
48402 (minix_mod_CFLAGS): Likewise.
48403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
48404 fs/minix.c.
48405 (grubof_SOURCES): Likewise.
48406 * fs/ufs.c: New file.
48407 * fs/minix.c: New file.
48408 * include/grub/fs.h (grub_ufs_init): New prototype.
48409 (grub_ufs_fini): Likewise.
48410 (grub_minix_init): Likewise.
48411 (grub_minix_fini): Likewise.
48412 * util/grub-emu.c (main): Initialize and deinitialize UFS and
48413 minix fs.
48414
cc2e748a 484152004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
48416
48417 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
48418 commands/ls.c, commands/terminal.c, commands/boot.c,
48419 commands/cmp.c and commands/cat.c.
48420 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
48421
48422 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
48423 "env.h"
48424
4b13b216 484252004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
48426
48427 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
48428 and grub_, respectively. Because the conversion is trivial and
48429 mechanical, I omit the details here. Please refer to the CVS
48430 if you need more information.
48431
6a142551 484322004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
48433
48434 * include/pupa: Renamed to ...
48435 * include/grub: ... this.
48436 * util/i386/pc/pupa-mkimage.c: Renamed to ...
48437 * util/i386/pc/grub-mkimage.c: ... this.
48438 * util/i386/pc/pupa-setup.c: Renamed to ...
48439 * util/i386/pc/grub-setup.c: ... this.
48440 * util/pupa-emu.c: Renamed to ...
48441 * util/grub-emu.c: ... this.
48442
e56cdf21 484432004-03-29 Marco Gerards <metgerards@student.han.nl>
48444
48445 Add support for the newworld apple macintosh (PPC). This has been
48446 tested on the powerbook 2000 only. It only adds support for
48447 generic ieee1275 functions, console and disk support. This should
48448 be easy to port to other architectures with support for Open
48449 Firmware.
f19dbdb7 48450
e56cdf21 48451 * configure.ac: Accept the powerpc as host_cpu. In the case of
48452 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
48453 specific tests are only executed while building for the i386.
48454 Inverse test for crosscompile.
48455 * genmk.rb (Utility): Allow assembler files.
48456 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
48457 * conf/powerpc-ieee1275.rmk: New file.
48458 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
48459 * disk/powerpc/ieee1275/partition.c: Likewise.
48460 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
48461 * include/pupa/powerpc/ieee1275/console.h: Likewise.
48462 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
48463 * include/pupa/powerpc/ieee1275/time.h: Likewise.
48464 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
48465 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
48466 * include/pupa/powerpc/ieee1275/loader.h
48467 * include/pupa/powerpc/setjmp.h: Likewise.
48468 * include/pupa/powerpc/types.h: Likewise.
48469 * kern/powerpc/ieee1275/init.c: Likewise.
48470 * kern/powerpc/ieee1275/openfw.c: Likewise.
48471 * term/powerpc/ieee1275/ofconsole.c: Likewise.
48472
48473 These files were written by Johan Rydberg
48474 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 48475
e56cdf21 48476 * boot/powerpc/ieee1275/cmain.c: New file.
48477 * boot/powerpc/ieee1275/crt0.S: Likewise.
48478 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
48479 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
48480
8c8cc205 484812004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
48482
48483 * Makefile.in: Update copyright.
48484 * genmodsrc.sh: Likewise.
48485 * gensymlist.sh: Likewise.
48486 * term/i386/pc/vga.c: Indent correctly.
48487
48488 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
48489 bugreporting address.
48490 * util/i386/pc/pupa-setup.c (usage): Likewise,
48491 (main): Call pupa_ext2_init and pupa_ext2_fini.
48492
f19dbdb7 48493 * fs/fat.c (log2): Renamed to ...
8c8cc205 48494 (fat_log2): ... this.
48495 All callers changed.
48496 * kern/misc.c (memcpy): Alias to pupa_memmove.
48497 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
48498 lvalue cast.
48499 * util/console.c (pupa_ncurses_fini): Return 0.
48500
48501 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
48502 Move fail label here.
48503 [__GNU__]: Don't warn when using stat.
48504 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
48505 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
48506 long int. Use strtol instead of strtoul.
f19dbdb7 48507
db1771cf 485082004-03-14 Marco Gerards <metgerards@student.han.nl>
48509
48510 * commands/boot.c: New file.
48511 * commands/cat.c: Likewise.
48512 * commands/cmp.c: Likewise.
48513 * commands/ls.c: Likewise.
48514 * commands/terminal.c: Likewise.
48515 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
48516 (pupa_register_command): Changed interface to match the new
48517 argument parser.
48518 (pupa_command_execute): Changed (almost rewritten) so it uses
48519 pupa_split_command. Added support for setting variables using the
48520 syntax `foo=bar'.
48521 (rescue_command): Changed to work with the new argument parser.
48522 (terminal_command): Moved from here to commands/terminal.c.
48523 (set_command): New function.
48524 (unset_command): New function.
48525 (insmod_command): New function.
48526 (rmmod_command): New function.
48527 (lsmod_command): New function.
48528 (pupa_command_init): Don't initialize the command terminal
48529 anymore. Initialize the commands set, unset, insmod, rmmod and
48530 lsmod.
48531 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
48532 (kernel_img_HEADERS): Add arg.h and env.h.
48533 (pupa_mkimage_LDFLAGS): Add kern/env.c.
48534 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
48535 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
48536 normal/arg.c.
48537 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
48538 terminal.mod.
48539 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
48540 (boot_mod_SOURCES): New variable.
48541 (terminal_mod_SOURCES): Likewise.
48542 (ls_mod_SOURCES): Likewise.
48543 (cmp_mod_SOURCES): Likewise.
48544 (cat_mod_SOURCES): Likewise.
48545
48546 * normal/arg.c: New file.
48547 * kern/env.c: Likewise.
48548 * include/pupa/arg.h: Likewise.
48549 * include/pupa/env.h: Likewise.
48550 * font/manager.c (font_command): Changed to match argument parsing
48551 interface changes.
48552 (PUPA_MOD_INIT): Likewise.
48553 * hello/hello.c (pupa_cmd_hello): Likewise.
48554 (PUPA_MOD_INIT): Likewise.
48555 * include/pupa/disk.h: Include <pupa/device.h>.
48556 (pupa_print_partinfo): New prototype.
48557 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
48558 (pupa_dl_get_prefix): Likewise.
48559 * include/pupa/misc.h: Include <pupa/err.h>.
48560 (pupa_isgraph): New prototype.
48561 (pupa_isdigit): Likewise.
48562 (pupa_split_cmdline): Likewise.
48563 * include/pupa/normal.h: Include <pupa/arg.h>.
48564 (pupa_command): Changed the prototype of the member `func' to
48565 match the argument parsing interface. Added member `options'.
48566 (pupa_register_command): Updated to match function.
48567 (pupa_arg_parse): New prototype.
48568 (pupa_hello_init) [PUPA_UTIL]: New prototype.
48569 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
48570 (pupa_ls_init) [PUPA_UTIL]: Likewise.
48571 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
48572 (pupa_cat_init) [PUPA_UTIL]: Likewise.
48573 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
48574 (pupa_boot_init) [PUPA_UTIL]: Likewise.
48575 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
48576 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
48577 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
48578 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
48579 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
48580 * kern/disk.c: Include <pupa/file.h>.
48581 (pupa_print_partinfo): New function.
48582 * kern/dl.c: Include <pupa/env.h>.
48583 (pupa_dl_dir): Variable removed.
48584 (pupa_dl_load): Use the environment variable `prefix' instead of
48585 the variable pupa_dl_dir.
48586 (pupa_dl_set_prefix): Function removed.
48587 (pupa_dl_get_prefix): Likewise.
48588 * kern/i386/pc/init.c: Include <pupa/env.h>.
48589 (pupa_machine_init): Use the environment variable `prefix' instead of
48590 using pupa_dl_set_prefix to set the prefix.
48591 * kern/main.c: Include <pupa/env.h>.
48592 (pupa_set_root_dev): Use the environment variable `prefix' instead of
48593 using pupa_dl_get_prefix to get the prefix.
48594 * kern/misc.c: Include <pupa/env.h>.
48595 (pupa_isdigit): New function.
48596 (pupa_isgraph): Likewise.
48597 (pupa_ftoa): Likewise.
48598 (pupa_vsprintf): Added support for printing values of the type
48599 `double'. Make it possible to format variable output when using
48600 formatting like `%1.2%f'.
48601 (pupa_split_cmdline): New function.
48602 * kern/rescue.c: Include <pupa/env.h>.
48603 (next_word): Removed function.
48604 (pupa_rescue_cmd_prefix): Likewise.
48605 (pupa_rescue_cmd_set): New function.
48606 (pupa_rescue_cmd_unset): New function.
48607 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
48608 split the command line instead of splitting it here. Added
48609 support for setting variables using the syntax `foo=bar'. Don't
48610 initialize the prefix command anymore. Initialized the set and
48611 unset commands.
48612 * normal/cmdline.c: Include <pupa/env.h>.
48613 (pupa_tab_complete): Added prototypes for print_simple_completion,
48614 print_partition_completion, add_completion, iterate_commands,
48615 iterate_dev, iterate_part and iterate_dir. Moved code to print
48616 partition information from here to kern/disk.c.
fe6b695a 48617 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 48618 * normal/main.c: Include <pupa/env.h>.
48619 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
48620 instead of using pupa_dl_get_prefix to get the prefix.
48621 * term/i386/pc/vga.c: Include <pupa/arg.h>.
48622 (check_vga_mem): Cast pointers to `void *' to silence a gcc
48623 warning.
48624 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
48625 (pupa_vga_setcolor): Declare unused variables with `__attribute__
48626 ((unused))' to silence a gcc warning.
48627 (pupa_vga_setcolor): Likewise.
48628 (debug_command): Changed to match argument parsing
48629 interface changes.
48630 * util/pupa-emu.c: Include <pupa/env.h>.
48631 (options): Added 0's for unused fields to silence a gcc warning.
48632 (argp): Likewise.
48633 (main): Use the environment variable `prefix' instead of using
48634 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
48635 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
48636 and terminal.
48637
48638 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
48639 * util/misc.c: Include <malloc.h>.
48640 (pupa_malloc): Rewritten so errors are correctly reported.
48641 (pupa_realloc): Likewise.
48642 (pupa_memalign): Likewise.
48643 (pupa_mm_init_region): Declare unused variables with
48644 `__attribute__ ((unused))' to silence a gcc warning.
48645 * normal/i386/setjmp.S: Remove tab at the end of the file to
48646 silence a gcc warning.
48647 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
48648 variables with `__attribute__ ((unused))' to silence a gcc
48649 warning.
48650 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
48651 local variable i unsigned to silence a gcc warning.
48652
48653 * kern/term.c: Include <pupa/misc.h>.
48654 (pupa_more_lines): New variable.
48655 (pupa_more): Likewise.
48656 (pupa_putcode): When the pager is active pause at the end of every
48657 screen.
48658 (pupa_set_more): New function.
48659 * include/pupa/term.h (pupa_set_more): New prototype.
48660
48661
3b1139cb 486622004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
48663
48664 Now this project is GRUB 2 rather than PUPA. The location of
48665 the CVS repository was moved to GRUB's.
f19dbdb7 48666
3b1139cb 48667 * configure.ac: Use bug-grub as the reporting address.
48668 Use GRUB instead of PUPA.
48669 Change the version number to 1.90.
48670
8367695c 486712004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
48672
48673 * genkernsyms.sh: Updated copyright information.
48674 * genmk.rb: Likewise.
48675 * genmodsrc.sh: Likewise.
48676 * gensymlist.sh: Likewise.
48677 * boot/i386/pc/boot.S: Likewise.
48678 * boot/i386/pc/diskboot.S: Likewise.
48679 * disk/i386/pc/biosdisk.c: Likewise.
48680 * disk/i386/pc/partition.c: Likewise.
48681 * font/manager.c: Likewise.
48682 * fs/ext2.c: Likewise.
48683 * fs/fat.c: Likewise.
48684 * include/pupa/boot.h: Likewise.
48685 * include/pupa/device.h: Likewise.
48686 * include/pupa/disk.h: Likewise.
48687 * include/pupa/dl.h: Likewise.
48688 * include/pupa/elf.h: Likewise.
48689 * include/pupa/err.h: Likewise.
48690 * include/pupa/file.h: Likewise.
48691 * include/pupa/font.h: Likewise.
48692 * include/pupa/fs.h: Likewise.
48693 * include/pupa/kernel.h: Likewise.
48694 * include/pupa/loader.h: Likewise.
48695 * include/pupa/misc.h: Likewise.
48696 * include/pupa/mm.h: Likewise.
48697 * include/pupa/net.h: Likewise.
48698 * include/pupa/normal.h: Likewise.
48699 * include/pupa/rescue.h: Likewise.
48700 * include/pupa/setjmp.h: Likewise.
48701 * include/pupa/symbol.h: Likewise.
48702 * include/pupa/term.h: Likewise.
48703 * include/pupa/types.h: Likewise.
48704 * include/pupa/i386/setjmp.h: Likewise.
48705 * include/pupa/i386/types.h: Likewise.
48706 * include/pupa/i386/pc/biosdisk.h: Likewise.
48707 * include/pupa/i386/pc/boot.h: Likewise.
48708 * include/pupa/i386/pc/console.h: Likewise.
48709 * include/pupa/i386/pc/init.h: Likewise.
48710 * include/pupa/i386/pc/kernel.h: Likewise.
48711 * include/pupa/i386/pc/linux.h: Likewise.
48712 * include/pupa/i386/pc/loader.h: Likewise.
48713 * include/pupa/i386/pc/memory.h: Likewise.
48714 * include/pupa/i386/pc/multiboot.h: Likewise.
48715 * include/pupa/i386/pc/partition.h: Likewise.
48716 * include/pupa/i386/pc/time.h: Likewise.
48717 * include/pupa/i386/pc/vga.h: Likewise.
48718 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
48719 * include/pupa/util/getroot.h: Likewise.
48720 * include/pupa/util/misc.h: Likewise.
48721 * include/pupa/util/resolve.h: Likewise.
48722 * kern/device.c: Likewise.
48723 * kern/disk.c: Likewise.
48724 * kern/dl.c: Likewise.
48725 * kern/err.c: Likewise.
48726 * kern/file.c: Likewise.
48727 * kern/fs.c: Likewise.
48728 * kern/loader.c: Likewise.
48729 * kern/main.c: Likewise.
48730 * kern/misc.c: Likewise.
48731 * kern/mm.c: Likewise.
48732 * kern/rescue.c: Likewise.
48733 * kern/term.c: Likewise.
48734 * kern/i386/dl.c: Likewise.
48735 * kern/i386/pc/init.c: Likewise.
48736 * kern/i386/pc/lzo1x.S: Likewise.
48737 * kern/i386/pc/startup.S: Likewise.
48738 * loader/i386/pc/chainloader.c: Likewise.
48739 * loader/i386/pc/linux.c: Likewise.
48740 * loader/i386/pc/multiboot.c: Likewise.
48741 * normal/cmdline.c: Likewise.
48742 * normal/command.c: Likewise.
48743 * normal/main.c: Likewise.
48744 * normal/menu.c: Likewise.
48745 * normal/i386/setjmp.S: Likewise.
48746 * term/i386/pc/console.c: Likewise.
48747 * term/i386/pc/vga.c: Likewise.
48748 * util/console.c: Likewise.
48749 * util/genmoddep.c: Likewise.
48750 * util/misc.c: Likewise.
48751 * util/pupa-emu.c: Likewise.
48752 * util/resolve.c: Likewise.
48753 * util/unifont2pff.rb: Likewise.
48754 * util/i386/pc/biosdisk.c: Likewise.
48755 * util/i386/pc/getroot.c: Likewise.
48756 * util/i386/pc/pupa-mkimage.c: Likewise.
48757 * util/i386/pc/pupa-setup.c: Likewise.
48758
e6eced71 487592004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
48760
48761 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
48762 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
48763 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
48764 reading and reset it after reading.
48765 (pupa_ext2_close): Return PUPA_ERR_NONE.
48766
48767 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
48768 Correct value.
48769 (struct linux_kernel_header): Add kernel_version and
48770 initrd_addr_max.
48771 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
48772 pupa_file_read succeeds.
48773 (pupa_rescue_cmd_initrd): Implement.
48774
5aded270 487752003-12-03 Marco Gerards <metgerards@student.han.nl>
48776
48777 * fs/ext2.c (pupa_ext2_label): New function.
48778 (pupa_ext2_fs): Added label.
48779 * fs/fat.c (pupa_fat_label): New function.
48780 (pupa_fat_fs): Added label.
48781 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
48782
48783 * kern/misc.c (pupa_strndup): New function.
48784 * include/pupa/misc.h (pupa_strndup): New prototype.
48785
48786 * include/pupa/normal.h: Include <pupa/err.h>.
48787 (pupa_set_history): New prototype.
48788 (pupa_iterate_commands): New prototype.
48789 * normal/cmdline.c: Include <pupa/machine/partition.h>,
48790 <pupa/disk.h>, <pupa/file.h>.
48791 (hist_size): New variable.
48792 (hist_lines): Likewise.
48793 (hist_end): Likewise.
48794 (hist_used): Likewise.
48795 (pupa_set_history): New function.
48796 (pupa_history_get): Likewise.
48797 (pupa_history_add): Likewise.
48798 (pupa_history_replace): Likewise.
48799 (pupa_tab_complete): Likewise.
48800 (pupa_cmdline_run): Added tab completion and history buffer. Tab
48801 completion shows partitionnames while completing partitions, this
48802 feature was suggested by Jeff Bailey.
48803 * normal/command.c (pupa_iterate_commands): New function.
48804 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
48805 (pupa_normal_init): Initialize history buffer.
48806 (PUPA_MOD_INIT): Likewise.
48807 (pupa_normal_fini): Free the history buffer.
48808 (PUPA_MOD_FINI): Likewise.
48809
48810 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
48811 key.
48812
48813 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
48814 * configure.ac [i386]: Check for regparam bug.
48815 (NESTED_FUNC_ATTR) [! i386]: Defined.
48816
1f7315a3 488172003-11-17 Marco Gerards <metgerards@student.han.nl>
48818
48819 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
48820 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
48821 (pupa_emu_SOURCES): New variable.
48822 (pupa_emu_LDFLAGS): Likewise.
48823 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
48824 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
48825 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
48826 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
48827 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
48828 (pupa_jmp_buf): New typedef.
48829 (pupa_setjmp) [PUPA_UTIL]: New macro.
48830 (pupa_longjmp) [PUPA_UTIL]: Likewise.
48831 * include/pupa/term.h (struct pupa_term): New member `refresh'.
48832 (pupa_refresh): New prototype.
48833 * include/pupa/util/getroot.h: New file.
48834 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
48835 it.
48836 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
48837 (pupa_rescue_cmd_cat): Likewise.
48838 (pupa_rescue_cmd_ls): Likewise.
48839 (pupa_rescue_cmd_testload): Likewise.
48840 (pupa_rescue_cmd_lsmod): Likewise.
48841 * normal/cmdline.c (pupa_cmdline_get): Likewise.
48842 * normal/menu.c (run_menu): Likewise.
48843 * kern/term.c (pupa_cls): Likewise.
48844 (pupa_refresh): New function.
48845 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
48846 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
48847 * util/console.c: New file.
f19dbdb7 48848
1f7315a3 48849 * util/i386/pc/getroot.c: New file.
48850 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
48851 (pupa_putchar): New function.
48852 (pupa_refresh): Likewise.
48853 (xgetcwd): Function moved to ...
48854 (strip_extra_slashes): Likewise.
48855 (get_prefix): Likewise.
f19dbdb7 48856 * util/i386/pc/getroot.c: ... here.
1f7315a3 48857 (find_root_device): Function moved and renamed to...
48858 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
48859 Changed all callers.
48860 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
48861 and renamed to...
48862 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
48863 Changed all callers.
48864 * util/misc.c (pupa_memalign): New function.
48865 (pupa_mm_init_region): Likewise.
48866 (pupa_register_exported_symbols): Likewise.
48867 (pupa_putchar): Function removed.
48868 * util/pupa-emu.c: New file.
48869
9a5c1ade 488702003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
48871
48872 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
48873 (_multiboot_mod_SOURCES): New variable.
48874 (_multiboot_mod_CFLAGS): Likewise.
48875 * loader/i386/pc/multiboot.c: New file.
48876 * include/pupa/i386/pc/multiboot.h: Likewise.
48877 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
48878 (pupa_multiboot_real_boot): New function.
48879 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
48880 (pupa_multiboot_real_boot): New prototype.
48881 (pupa_rescue_cmd_multiboot): Likewise
48882 (pupa_rescue_cmd_module): Likewise.
48883
48884 * kern/loader.c (pupa_loader_set): Continue when
48885 pupa_loader_unload_func() fails.
48886 (pupa_loader_unset): New function.
48887 * include/pupa/loader.h (pupa_loader_unset): New prototype.
48888
48889 * kern/misc.c (pupa_stpcpy): New function.
48890 * include/pupa/misc.h (pupa_stpcpy): New prototype.
48891
8e72a9c0 488922003-11-12 Marco Gerards <metgerards@student.han.nl>
48893
48894 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
48895 for available extensions.
48896
48897 * include/pupa/i386/pc/time.h: New file.
48898 * kern/disk.c: Include <pupa/machine/time.h>.
48899 (PUPA_CACHE_TIMEOUT): New macro.
48900 (pupa_last_time): New variable.
48901 (pupa_disk_open): Flush the cache when there was a timeout.
48902 (pupa_disk_close): Reset the timer.
48903 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
48904 pupa_currticks.
48905 * util/misc.c: Include <sys/times.h>
48906 (pupa_get_rtc): New function.
48907
c4adbd32 489082003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48909
48910 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
48911 as blocks.
48912 (pupa_ext2_get_file_block): Use blocks member.
48913
48914 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
48915 first block. Return -1 instead of pupa_errno on error.
48916
bfd30f06 489172003-10-27 Marco Gerards <metgerards@student.han.nl>
48918
48919 * README: In the pupa-mkimage example use _chain instead of chain
48920 and ext2 instead of fat.
48921 * TODO: Replace ext2fs with jfs as an example. Add an item for
48922 adding journal playback for ext2fs.
48923 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
48924 (pkgdata_MODULES): Added ext2.mod.
48925 (ext2_mod_SOURCES): New variable.
48926 (ext2_mod_CFLAGS): Likewise.
48927 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
48928 * include/pupa/misc.h (pupa_strncpy): New prototype.
48929 (pupa_strcat): Likewise.
48930 (pupa_strncmp): Likewise.
48931 * kern/misc.c (pupa_strcat): Enable function.
48932 (pupa_strncpy): New function.
48933 (pupa_strncmp): Likewise.
48934 * fs/ext2.c: New file.
f19dbdb7 48935
bfd30f06 48936 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
48937 when the read failed before retrying.
48938 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
48939 (_FILE_OFFSET_BITS): Likewise.
48940 * configure.ac: Added AC_SYS_LARGEFILE.
48941
98d15063 489422003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48943
48944 * genmk.rb (PModule#rule): Make sure to get only symbol names
48945 from the output of nm.
59cad637 48946 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 48947
18d9c7cd 489482003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48949
48950 I forgot to check in these changes for a long time. This adds
48951 incomplete support for VGA console, and this is still very
48952 buggy. Also, a lot of consideration is required for I18N,
48953 UNICODE, and VGA font issues. Therefore, assume that this is
48954 such that "better than nothing".
f19dbdb7 48955
18d9c7cd 48956 * font/manager.c: New file.
48957 * include/pupa/font.h: Likewise.
48958 * include/pupa/i386/pc/vga.h: Likewise.
48959 * term/i386/pc/vga.c: Likewise.
48960 * util/unifont2pff.rb: Likewise.
48961
48962 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
48963 (pkgdata_MODULES): Added vga.mod and font.mod.
48964 (vga_mod_SOURCES): New variables.
48965 (vga_mod_CFLAGS): Likewise.
48966 (font_mod_SOURCES): Likewise.
48967 (font_mod_CFLAGS): Likewise.
48968
48969 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
48970
48971 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 48972 (struct pupa_term): Added init and fini.
18d9c7cd 48973 Changed the argument of putchar to pupa_uint32_t.
48974
48975 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
48976 (pupa_console_real_putchar): New prototype.
48977 (pupa_console_putchar): Removed.
48978 (pupa_console_checkkey): Exported.
48979 (pupa_console_getkey): Likewise.
48980
48981 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
48982 characters.
48983
48984 * kern/term.c (pupa_term_set_current): Rewritten.
48985 (pupa_putchar): Likewise.
48986 (pupa_putcode): New function.
48987
48988 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
48989 (pupa_console_real_putchar): ... this.
48990 (pupa_vga_set_mode): New function.
48991 (pupa_vga_get_font): Likewise.
48992
48993 * normal/command.c: Include pupa/term.h.
48994 (terminal_command): New function.
48995 (pupa_command_init): Register the command "terminal".
48996
48997 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
48998 (DISP_UP): Likewise.
48999 (DISP_RIGHT): Likewise.
49000 (DISP_DOWN): Likewise.
49001 (DISP_HLINE): Likewise.
49002 (DISP_VLINE): Likewise.
49003 (DISP_UL): Likewise.
49004 (DISP_UR): Likewise.
49005 (DISP_LL): Likewise.
49006 (DISP_LR): Likewise.
49007
49008 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 49009
977329f5 490102003-02-08 NIIBE Yutaka <gniibe@m17n.org>
49011
49012 * util/resolve.c (pupa_util_resolve_dependencies): BUG
49013 FIX. Reverse the path_list.
49014
49015 * include/pupa/normal.h: Export pupa_register_command and
49016 pupa_unregister_command.
49017
49018 * hello/hello.c (pupa_cmd_hello): New module.
49019 * conf/i386-pc.rmk: Added hello.mod.
49020
1f5ab428 490212003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
49022
49023 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 49024
1f5ab428 49025 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
49026 (compress_kernel): New variable.
49027 (generate_image): Heavily modified to support compressing a
49028 large part of the core image.
49029
49030 * util/misc.c (pupa_util_read_image): Fix a file descriptor
49031 leak.
49032 (pupa_util_load_image): New function.
49033
49034 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
49035 (pupa_compressed_size): New variable.
49036 (codestart): Enable Gate A20 here.
49037 Decompress the compressed part of the core image.
49038 Rearrange the code to put functions and variables which are
49039 required for initialization in the non-compressed part.
49040 Include lzo1x.S.
49041
49042 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
49043 here.
49044
49045 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
49046
f19dbdb7 49047 * include/pupa/i386/pc/kernel.h
1f5ab428 49048 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
49049 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
49050 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49051 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49052 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
49053
49054 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
49055
49056 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
49057 (Utility#rule): Likewise.
49058
49059 * configure.ac: Check if LZO is available.
49060
ce5bf700 490612003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
49062
49063 * include/pupa/normal.h: New file.
49064 * include/pupa/setjmp.h: Likewise.
49065 * include/pupa/i386/setjmp.h: Likewise.
49066 * normal/cmdline.c: Likewise.
49067 * normal/command.c: Likewise.
49068 * normal/main.c: Likewise.
49069 * normal/menu.c: Likewise.
49070 * normal/i386/setjmp.S: Likewise.
f19dbdb7 49071
ce5bf700 49072 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
49073 (pupa_rescue_cmd_initrd): Likewise.
49074
49075 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
49076 Likewise.
49077
49078 * kern/i386/pc/startup.S (translation_table): New variable.
49079 (translate_keycode): New function.
49080 (pupa_console_getkey): Call translate_keycode.
49081
49082 * kern/rescue.c (attempt_normal_mode): New function.
49083 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
49084 it failed, print a message.
49085
49086 * kern/mm.c (pupa_real_malloc): Print more information when a
49087 free magic is broken.
49088 (pupa_free): If the first free header is not free actually, set
49089 it to P.
49090
49091 * kern/main.c (pupa_load_normal_mode): Just load the module
49092 "normal".
49093 (pupa_main): Don't print the message
49094 "Entering into rescue mode..." here.
49095
49096 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
49097 Declared.
49098 (pupa_rescue_cmd_initrd): Likewise.
49099 (pupa_rescue_cmd_initrd): Likewise.
49100
49101 * include/pupa/symbol.h (FUNCTION): Specify the type.
49102 (VARIABLE): Likewise.
49103
49104 * include/pupa/err.h (pupa_err_t): Added
49105 PUPA_ERR_UNKNOWN_COMMAND.
49106
49107 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
49108 (pupa_dl_get_prefix): Likewise.
49109
49110 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
49111 Added _chain.mod and _linux.mod instead of chain.mod and
49112 linux.mod.
49113 (chain_mod_SOURCES): Renamed to ...
49114 (_chain_mod_SOURCES): ... this.
49115 (chain_mod_CFLAGS): Renamed to ...
49116 (_chain_mod_CFLAGS): ... this.
49117 (linux_mod_SOURCES): Renamed to ...
49118 (_linux_mod_SOURCES): ... this.
49119 (linux_mod_CFLAGS): Renamed to ...
49120 (_linux_mod_CFLAGS): ... this.
49121 (normal_mod_SOURCES): New variable.
49122 (normal_mod_CFLAGS): Likewise.
49123 (normal_mod_ASFLAGS): Likewise.
49124
491252003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
49126
49127 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
49128 possible.
49129
fe6b695a 49130 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 49131 recursively.
49132 (pupa_dl_unref): Unrefer depending modules recursively.
49133 Don't call pupa_dl_unload implicitly, because PUPA can crash if
49134 a module is unloaded before one depending on that module is
49135 unloaded.
49136 (pupa_dl_unload): Unload depending modules explicitly,
49137 if possible.
49138
c04da074 491392003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
49140
49141 * include/pupa/i386/pc/linux.h: New file.
49142 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 49143
c04da074 49144 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
49145 Removed.
49146 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
49147 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
49148 of PUPA_CHAINLOADER_BOOT_SECTOR.
49149
49150 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
49151 (pupa_linux_prot_size): New variable.
49152 (pupa_linux_tmp_addr): Likewise.
49153 (pupa_linux_real_addr): Likewise.
49154 (pupa_linux_boot_zimage): New function.
49155 (pupa_linux_boot_bzimage): Likewise.
49156
49157 * kern/i386/pc/init.c (struct mem_region): New structure.
49158 (MAX_REGIONS): New macro.
49159 (mem_regions): New variable.
49160 (num_regions): Likewise.
49161 (pupa_os_area_addr): Likewise.
49162 (pupa_os_area_size): Likewise.
49163 (pupa_lower_mem): Likewise.
49164 (pupa_upper_mem): Likewise.
49165 (add_mem_region): New function.
49166 (compact_mem_regions): Likewise.
49167 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
49168 the size of the conventional memory and that of so-called upper
49169 memory (before the first memory hole).
49170 Instead of adding each found region to free memory, use
49171 add_mem_region and add them after removing overlaps.
49172 Also, add only 1/4 of the upper memory to free memory. The rest
49173 is used for loading OS images. Maybe this is ad hoc, but this
49174 makes it much easier to relocate OS images when booting.
49175
49176 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
49177 (pupa_enter_rescue_mode): Don't register initrd and module.
49178
49179 * kern/mm.c: Include pupa/dl.h.
49180
49181 * kern/main.c: Include pupa/file.h and pupa/device.h.
49182
49183 * kern/loader.c (pupa_loader_load_module_func): Removed.
49184 (pupa_loader_load_module): Likewise.
49185
49186 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
49187 ``.o''.
49188
49189 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
49190 (pupa_linux_tmp_addr): Likewise.
49191 (pupa_linux_real_addr): Likewise.
49192 (pupa_linux_boot_zimage): Likewise.
49193 (pupa_linux_boot_bzimage): Likewise.
49194
49195 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
49196 (pupa_upper_mem): Likewise.
49197 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
49198 module is too dangerous.
49199
49200 * include/pupa/loader.h (pupa_os_area_addr): Declared.
49201 (pupa_os_area_size): Likewise.
49202 (pupa_loader_set): Remove the first argument. Loader doesn't
49203 manage modules or initrd any longer.
49204 (pupa_loader_load_module): Removed.
49205
49206 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
49207 (linux_mod_SOURCES): New variable.
49208 (linux_mod_CFLAGS): Likewise.
49209
a13f9237 492102003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
49211
49212 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
49213 the length of a blocklist correctly.
49214
49215 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
49216 Use ioctl only if the OS file is a block device.
49217 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
49218 not very useful for normal files.
49219
49220 * kern/main.c (pupa_set_root_dev): New function.
49221 (pupa_load_normal_mode): Likewise.
49222 (pupa_main): Call those above.
49223
49224 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
49225 pupa_uint16_t.
49226
49227 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
49228
a5ffe966 492292003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
49230
49231 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
49232 (setup): Configure the installed partition information and the
49233 dl prefix.
49234
49235 * loader/i386/pc/chainloader.c (my_mod): New variable.
49236 (pupa_chainloader_unload): New function.
49237 (pupa_rescue_cmd_chainloader): Refer itself.
49238 (PUPA_MOD_INIT): Save its own module in MY_MOD.
49239
49240 * kern/i386/pc/startup.S (install_partition): Removed.
49241 (version_string): Likewise.
49242 (config_file): Likewise.
49243 (pupa_install_dos_part): New variable.
49244 (pupa_install_bsd_part): Likewise.
49245 (pupa_prefix): Likewise.
49246 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
49247
49248 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
49249 and pupa/misc.h.
49250 (make_install_device): New function.
49251 (pupa_machine_init): Set the dl prefix.
49252
49253 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
49254 (buf): Renamed to ...
49255 (linebuf): ... this.
49256 (pupa_rescue_cmd_prefix): New function.
49257 (pupa_rescue_cmd_insmod): Likewise.
49258 (pupa_rescue_cmd_rmmod): Likewise.
49259 (pupa_rescue_cmd_lsmod): Likewise.
49260 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
49261 rmmod and lsmod.
49262
49263 * kern/mm.c (pupa_memalign): If failed even after invalidating
49264 disk caches, unload unneeded modules and retry.
49265
49266 * kern/misc.c (pupa_memmove): New function.
49267 (pupa_memcpy): Removed.
49268 (pupa_strcpy): New function.
49269 (pupa_itoa): Made static.
49270
49271 * kern/dl.c (pupa_dl_iterate): New function.
49272 (pupa_dl_ref): Likewise.
49273 (pupa_dl_unref): Likewise.
49274 (pupa_dl_unload): Return if succeeded or not.
49275 (pupa_dl_unload_unneeded): New function.
49276 (pupa_dl_unload_all): Likewise.
49277 (pupa_dl_init): Renamed to ...
49278 (pupa_dl_set_prefix): ... this.
49279 (pupa_dl_get_prefix): New function.
49280
49281 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
49282 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
49283 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49284 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49285 (pupa_install_dos_part): Declared.
49286 (pupa_install_bsd_part): Likewise.
49287 (pupa_prefix): Likewise.
49288 (pupa_boot_drive): Likewise.
49289
49290 * include/pupa/types.h: Fix a typo.
49291
49292 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
49293 pupa_memmove.
49294 (pupa_memmove): Declared.
49295 (pupa_strcpy): Likewise.
49296
49297 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
49298 pupa_mod_init takes one argument, its own module.
49299 (pupa_dl_unload_unneeded): Declared.
49300 (pupa_dl_unload_all): Likewise.
49301 (pupa_dl_ref): Likewise.
49302 (pupa_dl_unref): Likewise.
49303 (pupa_dl_iterate): Likewise.
49304 (pupa_dl_init): Renamed to ...
49305 (pupa_dl_set_prefix): ... this.
49306 (pupa_dl_get_prefix): Declared.
49307
49308 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 49309 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 49310 unloaded.
49311 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
49312 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
49313
49314 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
49315 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
49316
012d7999 493172003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
49318
49319 * util/i386/pc/pupa-setup.c (setup): Define the internal
49320 function find_first_partition_start at the top level, because GCC
49321 3.0.x cannot compile internal functions in deeper scopes
49322 correctly.
49323 (find_root_device): Use lstat instead of stat.
49324 Don't follow symbolic links.
49325 Fix the path-constructing code.
49326
49327 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
49328 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
49329 by a BLKGETSIZE ioctl first, because block devices don't fill
49330 the member st_mode of the structure stat on Linux.
49331 [__linux__] (linux_find_partition): Use a temporary buffer
49332 REAL_DEV for the working space. Copy it to DEV before returning.
49333 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
49334 buffer cache consistent.
49335 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
49336 strncmp. The previous value was merely wrong.
49337 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
49338
49339 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
49340 FAT size is 12. The previous value was merely wrong.
49341
49342 * kern/main.c (pupa_main): Don't split the starting message from
49343 newlines.
49344
49345 * kern/term.c (pupa_putchar): Put CR after LF instead of before
49346 LF, because BIOS goes crazy about character attributes in this
49347 case.
49348
1cc73a62 493492003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
49350
49351 * include/i386/pc/util/biosdisk.h: New file.
49352 * util/i386/pc/biosdisk.c: Likewise.
49353 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 49354
1cc73a62 49355 * Makefile.in (INCLUDE_DISTFILES): Added
49356 include/pupa/i386/pc/util/biosdisk.h.
49357 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
49358 directory util/i386/pc.
49359 (install-local): Added a rule for sbin_UTILITIES.
49360 (uninstall): Likewise.
49361
49362 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
49363
49364 * util/misc.c (xrealloc): New function.
49365 (pupa_malloc): Likewise.
49366 (pupa_free): Likewise.
49367 (pupa_realloc): Likewise.
49368 (pupa_stop): Likewise.
49369 (pupa_putchar): Likewise.
49370
49371 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
49372
49373 * include/pupa/util/misc.h (xrealloc): Declared.
49374
49375 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
49376 macro.
49377 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
49378 (PUPA_BOOT_MACHINE_BPB_END): ... this.
49379
49380 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
49381 [PUPA_UTIL] (pupa_fat_fini): Likewise.
49382
49383 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
49384 way should be implemented.
49385 [PUPA_UTIL] (pupa_fat_fini): Likewise.
49386
49387 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
49388 the size of NAME for safety.
49389 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
49390 0x88.
49391
49392 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
49393 (pupa_setup_SOURCES): Likewise.
49394
49395 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
49396
08b70fe8 493972002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
49398
49399 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
49400 bunch of pushl's from pusha, because this destroys the return
49401 value.
49402
62ddcc8f 494032002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
49404
49405 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
49406 This means that any missing prototypes could be fatal. Also, you
49407 must take care when writing assembly code. See the comments at
49408 the beginning of startup.S, for more details.
f19dbdb7 49409
62ddcc8f 49410 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
49411 compilation mechanism.
49412 (pupa_chainloader_real_boot): Likewise.
49413 (pupa_biosdisk_rw_int13_extensions): Likewise.
49414 (pupa_biosdisk_rw_standard): Likewise.
49415 (pupa_biosdisk_check_int13_extensions): Likewise.
49416 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
49417 (pupa_biosdisk_get_diskinfo_standard): Likewise.
49418 (pupa_get_memsize): Likewise.
49419 (pupa_get_mmap_entry): Likewise.
49420 (pupa_console_putchar): Likewise.
49421 (pupa_console_setcursor): Likewise.
49422 (pupa_getrtsecs): Use pushl instead of push.
49423
49424 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
49425 memory instead of the stack for a mmap entry, because some
49426 BIOSes may ignore the maximum size and overflow.
49427
49428 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
49429
49430 * genmk.rb (PModule#rule): Compile automatically generated
49431 sources with module-specific CFLAGS as well as other sources.
49432
9962ed99 494332002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49434
49435 * configure.ac: Check ld.
49436 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
49437 respectively, before checking endianness and sizes.
49438
49439 * Makefile.in (LD): New variable.
f19dbdb7 49440
abdfc3c5 494412002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49442
49443 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
49444
6a161fa9 494452002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49446
49447 * Changelog: New file.
49448