]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/zfs/zfs_lz4.c: New file.
[grub2.git] / ChangeLog
CommitLineData
038016f4
MM
12013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2
3 * grub-core/fs/zfs/zfs_lz4.c: New file.
4 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
5
776bdce2
MM
62013-07-14 Massimo Maggi <me@massimo-maggi.eu>
7
8 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
9
c71dbd40
MM
102013-07-14 Massimo Maggi <me@massimo-maggi.eu>
11
12 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
13 (check_pool_label): Likewise.
14 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
15
162013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
17
18 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
19
8e67b50f
AB
202013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
21
22 * docs/grub.texi (Commands): Document postition parameters
23 for menuentry command.
24
f5ae3717
AB
252013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
26
27 * util/grub-mknetdir.in: Remove stray line from help output.
28
9c28da2a
VS
292013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
30
31 Remove early sm712 init as there is no reason for it (the "watchdog"
32 effect was due to wrong GPIO map).
33
139072b8
VS
342013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * grub-core/commands/pcidump.c: Remove static variables.
37
c6a61bda
VS
382013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/commands/sleep.c: Refresh screen before sleeping.
41
51369614
VS
422013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * configure.ac: Move delimiter after the infos.
45
efa8640a
VS
462013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
49
6f80a7b2
VS
502013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
53 not filling whole 8x16 space.
54
a2371e19
VS
552013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
58
64fce2d8
VS
592013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * configure.ac: Indicate which liblzma is used if any.
62
eb272d84
PW
632013-06-21 Paul Wise <pabs3@bonedaddy.net>
642013-06-21 Craig Sanders <savannah@taz.net.au>
65
66 * util/grub-reboot.in: Document submenu usage.
67
a9e5abee
CW
682013-06-25 Colin Watson <cjwatson@ubuntu.com>
69
70 * .bzrignore: Update with a number of new test-related files.
71
e639c204
CW
722013-06-25 Colin Watson <cjwatson@ubuntu.com>
73
74 * util/grub-script-check.c: Fail on scripts containing no
75 commands, to guard against corrupted grub-mkconfig setups that
76 produce no useful output.
77 * tests/grub_script_no_commands.in: New test.
78 * Makefile.util.def (grub_script_no_commands): Add.
79 Reported by Hans Putter. Fixes Debian bug #713886.
80
a4c89b17
AB
812013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
82
83 * grub-core/disk/diskfilter.c: Forgot to remove comment
84 from previous commit.
85
5b06b53c
AB
862013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
87
88 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
89 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
90
702da5c9
AB
912013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
92
93 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
94
aa62a5b7
AB
952013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
96
97 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
98 rescan diskfilter devices until nothing new is found.
99
4aa237c8
VS
1002013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
101
102 Fix casts when compiling coreboot-specific code for 64-bit EFI.
103
93d8479b
VS
1042013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
105
106 Don't try to detect cbfs on *-emu.
107
837222cc
VS
1082013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * grub-core/term/gfxterm.c: USe right background color when scrolling.
111
99c971af
VS
1122013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
113
114 Add support for processed coreboot payload chainloading.
115
e6930a45
VS
1162013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
117
118 Enable coreboot information commands even when not loaded as
119 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
120
5027af38
VS
1212013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
122
123 Support for cbfs. Also factor out the part which is common
124 for all archives to a separate module. This splits tar from cpio
125 as they are very different but keeps cpio, cpio_be, odc and newc
126 together since they're very similar.
127
a5b55c4b
DM
1282013-06-15 David Michael <fedora.dm0@gmail.com>
129
130 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
131 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
132
0301a8b3
VS
1332013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * tests/grub_script_eval.in: Really add the eval test.
136
3d84cb17
VS
1372013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
138
139 Move flavour-specific parts out of common cpio.c file and
140 rename remaining to cpio_common.c
141
593e430c
AB
1422013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
143
144 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
145 off new function grub_script_execute_new_scope. Change callers to use
146 either of them as appropriate.
147 * grub-core/commands/eval.c: New command eval.
148 * docs/grub.texi (Commands): Document it.
149
63c29849
AB
1502013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
151
152 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
153 to fetch values when listing.
154
cc284112
AB
1552013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
156
157 Fix make dist on non-pc.
158
1592013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
160
161 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
162 without a device name.
163
69544d1e
VS
1642013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
165
166 Remove enable_executable_check as it's not needed anymore.
167 Reported by: dougray.
168
96dbe648
VS
1692013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
172 ambigouos RAID before discovering RAIDs on top of it.
173 Reported by: bodom.
174
ccfc0bdb
VS
1752013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
176
177 Fix typo (failback vs fallback).
178
f2587088
AB
1792013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
180
181 * util/grub.d/30_os-prober.in: Add support for probing EFI
182 System Partition (as of os-prober 1.58).
183
cec5cf0c
VS
1842013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * configure.ac: Add yet another path to unifont. For parabola.
187
e40b4596
JT
1882013-05-30 Josh Triplett <josh@joshtriplett.org>
189
190 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
191 handling to copy the killed characters to the kill buffer as
192 UCS4 stored as grub_uint32_t rather than as 8-bit characters
193 stored as char. Eliminates UCS4 truncation and corruption
194 observed when killing characters with Ctrl-u and yanking them
195 back with Ctrl-y.
196
fc4c4fdd
VS
1972013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
198
199 Detach optional parts of gfxterm and integrate in with coreboot init.
200
6570b205
VS
2012013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
202
203 Move blit and fill dispatcher to appropriate files to decrease export
204 and relocation overhead.
205
b8323067
VS
2062013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/font/font.c, include/grub/font.h: Inline simple font
209 functions.
210
3cc1878f
VS
2112013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * grub-core/Makefile.am: Fix compilation problem with some
214 automake versions.
215
4b80e43c
VS
2162013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
217
218 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
219
57e0c20c
VS
2202013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
223 automake versions.
224
4fd42c53
VS
2252013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
228 SSDT.
229
1e908b34
RS
2302013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
231
232 * grub-core/partmap/dfly.c: New partition map.
233
1359e474
VS
2342013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
237 checking.
238 Reported by: Francesco Lavra.
239
17806392
AB
2402013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
241
242 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
243 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
244 false conditions.
245 * conf/Makefile.common: define dist_grubconf_DATA
246
cdce14fa
VS
2472013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
248
249 Progressively skip menu elements on small terminals rather
250 than crashing.
251
c8d6cc3c
VS
2522013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
255 to avoid losing last column.
256
a73b31ce
VS
2572013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * po/exclude.pot: Add missing string "%C".
260
1202c764
VS
2612013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
264 after the test.
265
50268344
VS
2662013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * util/grub-install.in: Gettextize "Not found" message.
269
62b15edf
VS
2702013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
271
272 Fix distfiles list.
273 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
274
2752013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
276
277 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
278 present.
279 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
280
709ad61b
VS
2812013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
284
d128901a
VS
2852013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
286
287 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
288 attribute since structure is not necessarily aligned.
289
34b22f5c
AB
2902013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
291
292 * docs/grub.texi (Device syntax): Clarify description of network
293 drives.
294
0f7e980b
VS
2952013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
296
297 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
298 for vasprintf presence.
299
30b03dc2
VS
3002013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * util/grub-install.in: Handle efibootmgr presence check.
303 Reported by: Leif Lindholm.
304
0dc11c08
VS
3052013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
308 new strings to translate.
309
f8024c3f
VS
3102013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
313 yet another string (pun intended) to translate.
314
b4c1da62
VS
3152013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * po/POTFILES-shell.in: Autogenerate it.
318
0ef7478b
VS
3192013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
322
8200fa15
VS
3232013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
326 misnomer.
327
091945b2
AB
3282013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
329
330 * docs/grub.texi (Network): Add description of net_default_interface,
331 net_default_ip and net_default_mac. Rewrite variables description
332 to emphasize that they are per-interface.
333
0e7b2e32
VS
3342013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
335
336 New test: cmdline and cat.
337
16f7c8f6
VS
3382013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/commands/cat.c: Show UTF-8 characters.
341
3e912fda
VS
3422013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * conf/Makefile.common: Poison float and double on non-emu.
345
ee0220bc
VS
3462013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * configure.ac: Don't disable extended registers on emu.
349
89e0240c
VS
3502013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * configure.ac: Don't use extended registers on x86_64.
353 Reported by: Peter Jones.
354
e56d9637
VS
3552013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/term/efi/console.c: Fix compile error.
358
8098f655
VS
3592013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
360
361 Compressed HFS+ support.
362
16940e07
VS
3632013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
366 pixel".
367
c5dbc13d
VS
3682013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
369
370 Menu color test.
371
011f8ae8
VS
3722013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/tests/setjmp_test.c: New test.
375
2aa072d7
VS
3762013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
377
378 New variables 'net_default_*' to determine MAC/IP of default interface.
379
43fe02cb
VS
3802013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * tests/gettext_strings_test.in: A test to check for strings not
383 marked for translation.
384
bed06142
VS
3852013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
386
387 * autogen.sh: Exclude unused libgcrypt files from translation.
388
fb2666b5
VS
3892013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
390
391 Simplify few strings.
392
d22840ec
VS
3932013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
394
395 Mark few forgotten strings for translation.
396
e34092fd
VS
3972013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
400 rather than printf.
401
47cf82b4
VS
4022013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
405 rather than printf.
406 * grub-core/video/readers/tga.c: Likewise.
407
1eed0e6e
VS
4082013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * tests/priority_queue_unit_test.cc: New test.
411
c5b7697b
VS
4122013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
415 than printf.
416
5945c2f8
AB
4172013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
418
419 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
420 variable for one time boot menu entry.
421
fa292343
B
4222013-05-05 Bean <bean123ch@gmail.com>
423
424 * grub-core/commands/testspeed.c: New command testspeed.
425
310d4214
VS
4262013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
427
428 Factor-out human-size printing.
429
85002bf3
VS
4302013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
431
432 Agglomerate more mallocs to speed-up gfxterm.
433
22b06e96
VS
4342013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
435
436 Speed-up gfxterm by slightly agglomerating mallocs.
437
b7c036bc
VS
4382013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
439
440 More video checks.
441
92323d1f
VS
4422013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
443
444 Speed-up gfxterm by saving intermediate results in index+alpha
445 format.
446
0fb356a3
VS
4472013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
448
449 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
450 test.
451
44dea3f9
VS
4522013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
455 line of timeout as it may contain the rest of long line.
456
14af86e4
VS
4572013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/normal/main.c: Fix freed memory dereference.
460
03f7c8c3
VS
4612013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
462
463 Fix several memory leaks.
464
c686014c
VS
4652013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
468
0788a695
VS
4692013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
472
daf01d61
VS
4732013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
474
475 Fix test -a and -o precedence.
476 Reported by: adrian15.
477
82ae74d7
VS
4782013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
481
8cec7bd4
AB
4822013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
483
484 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
485 and add it as source to functional_test module.
486
aa73d688
VS
4872013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
488
489 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
490
c104b6f9
VS
4912013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
492
493 New series of tests for gfxterm and gfxmenu.
494
7391c4d5
VS
4952013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
498 the theme path relative to $prefix/themes.
499
cff50118
VS
5002013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
503 Fix order bug.
504 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
505
7c332bdc
VS
5062013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
509 descriptor.
510
a4f9a5ff
VS
5112013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
514 grub_gfxmenu_timeout_notifications.
515 (grub_gfxmenu_view_destroy): Likewise.
516
b5a2114d
VS
5172013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
520
a8905e8a
VS
5212013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
522
523 Several fixes to ieee1275 and big-endian video.
524
813c1622
VS
5252013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
526
527 Add missing exports on mips.
528
3f3e7326
VS
5292013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
532 if no unifont is found.
533 Restore original keyboard.
534
095accd1
VS
5352013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
538 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
539
50361660
VS
5402013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
541
542 First automated video test (running videotest and comparing results)
543
cd0f6eec
VS
5442013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
547 instead of 2 to have full RGB/CMY test pattern.
548
3f9634e5
VS
5492013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
550
551 Add few more tests.
552
583e5b64
VS
5532013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * include/grub/arc/arc.h: Account for missing "other" peripheral on
556 ARCS. All users updated.
557
aa7bcb99
VS
5582013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
561
95ef1a54
VS
5622013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * grub-core/partmap/amiga.c: Fix size of checksummed block.
565
46546fc5
VS
5662013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
569 Reported by: qwertial.
570
3476e0ef
VT
5712013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
572
573 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
574 with syntax "XXX deg"/"XXX °".
575
96f33fed
VS
5762013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
577
578 Make PCI init in i386-qemu port more robust.
579
5802013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
581
582 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
583 cached view is reused.
584 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
585 open boot menus.
586
c53b4e67
VS
5872013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
588
589 Unify more code in grub-install_header.
590
f7457fb2
VS
5912013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
592
593 Add few new tests.
594
e2f27a8c
VS
5952013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
596
597 Enforce disabling of firmware disk drivers when native drivers kick in.
598
ef9d8cd5
VS
5992013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
600
601 * grub-core/commands/nativedisk.c: Customize the list of modules on
602 platform. Don't try to search for disks already using native drivers.
603
f7bf6c31
VS
6042013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
605
606 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
607 platforms.
608
bdc4add8
VS
6092013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
612 handling of variables containing backslash.
613
e9e46c9a
VS
6142013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
617 dereference.
618 Reported by: qwertial.
619
0e90dee8
VS
6202013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
623
e0aacf24
VS
6242013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
627 dereference.
628 Reported by: qwertial.
629
3c0003c3
VS
6302013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * docs/grub.texi: Add a comment about usefullness of nativedisk.
633
adb7d667
VS
6342013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
637
7cd0df84
VS
6382013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
639
640 New command `nativedisk'.
641
02adbb93
VS
6422013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
645 * grub-core/loader/i386/bsd.c: Likewise.
646
9fb0fd4f
VS
6472013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
648
649 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
650
bd69257a
VS
6512013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
654 grub_get_unaligned16 rather than shifts.
655
178c2764
VS
6562013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/kern/file.c: Use const char * rather than casting to
659 non-const.
660
eadfad24
VS
6612013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * grub-core/commands/probe.c: Add missing grub_device_close.
664
9f73ebd4
VS
6652013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * INSTALL: Document linguas.sh.
668
965fa829
VS
6692013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
670
671 Remove POTFILES.in and regenerate it in autogen.sh.
672
d417ddc4
VS
6732013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
674
675 Move --directory/--override-directorry to grub-install_header and unify.
676
f97ec546
VS
6772013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/term/morse.c: Macroify dih and dah.
680
b2d7470c
PFS
6812013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
682
683 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
684
141e2a78
VS
6852013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * grub-core/term/ns8250.c: Systematically probe ports by writing
688 to SR before using them.
689
1dd70ebd
PFS
6902013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
691
692 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
693 disks.
694 (check_sas): Get sas_adress info.
695
c796a107
VS
6962013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
699 ports.
700
43168646
LD
7012013-04-27 Leon Drugi <eyak>
702
703 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
704 BSS clearing.
705
e7b8fd08
VS
7062013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
707
708 Core compression test.
709
17f9fd29
VS
7102013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
711
712 Implement grub_machine_get_bootlocation for ARC.
713
dc2a6c8b
VS
7142013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
715
716 Improve AHCI detection and command issuing.
717
f25a2ba6
VS
7182013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
719
720 Fix pseries test.
721
a6393224
VS
7222013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
723
724 Make 'make check' work on emu.
725
db99fbe8
VS
7262013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
727
728 Replace libcurses with our own vt100 handling for the ease of testing
729 and decreasing prerequisites.
730
b24ca7cd
VS
7312013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
734
63314aa4
VS
7352013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
738 compile when not needed.
739
c1b00fff
VS
7402013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * tests/pseries_test.in: New test.
743
f93e89ef
VS
7442013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
745
746 Add test to check that different boot mediums work.
747
c4b456d3
VS
7482013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
751 ofw limited ISO support.
752
5fe67f39
VS
7532013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * configure.ac: Fix loongson conditional.
756
7f63a64f
VS
7572013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
758
759 Enable mipsel-arc.
760
b04b5990
VS
7612013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
762
763 Add serial on ARC platform.
764
88d2f302
VS
7652013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
768 commit.
769
86eb23bc
VS
7702013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * tests/partmap_test.in: Add missing double semicolon.
773
eec3bb75
VS
7742013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * util/grub-mkrescue.in: Fix loongson filename.
777
e0810df3
VS
7782013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * util/grub-mkrescue.in: Move all files that don't have a location
781 set in stone under /boot/grub. Use ISO hard links rather than copies
782 to save some space.
783
65a6b30b
VS
7842013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
787 bogus SLOF values.
788
6aff0107
VS
7892013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
790
791 Make check work on mips-arc.
792
5e013e56
VS
7932013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * util/grub-mkrescue.in: Alias sashARCS as sash.
796
d1989e2e
VS
7972013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
800 it's serial.
801
1a25e72c
VS
8022013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * util/grub-install.in: Fix target fo qemu_mips.
805 Fix extension on EFI.
806
a59a9826
VS
8072013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
810 in front of chosen entry to mark it even if highlighting is lost.
811
1a40f80c
VS
8122013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
815 gfxpayload=keep if cbfb is active.
816
e343549c
VS
8172013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
820
45fbd9a2
VS
8212013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
822
823 Add missing video ids to coreboot and ieee1275 video.
824
ab1440bd
VS
8252013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * util/grub-mkrescue.in: Add mips-arc support.
828
cdeb8324
VS
8292013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
832
8528c879
VS
8332013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
834
835 Move mips-arc link address. Previous link address was chosen
836 in belief that RAM on SGI platforms grows down while in fact it
837 grows up from an unusual base.
838
17fca573
VS
8392013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
842 Fix a type which prevented CD-ROM and floppy boot.
843
d178788e
VS
8442013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
845
846 Support coreboot framebuffer.
847
848 * grub-core/video/i386/coreboot/cbfb.c: New file.
849
fe4c3e7e
VS
8502013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
853 detecting too small regions.
854
ec2dd179
VS
8552013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
856
857 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
858
872dac83
VS
8592013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
862 Remove dprintf.
863 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
864
90ec4b7f
VS
8652013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
868 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
869 * grub-core/loader/powerpc/ieee1275/linux.c
870 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
871
f32555dd
VS
8722013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
875 Look for /boot-rom as well as /rom/boot-rom.
876
38649799
VS
8772013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
880 handling when creating text_layer failed.
881 * grub-core/video/video.c (grub_video_create_render_target):
882 Set result to 0 on error.
883 (grub_video_delete_render_target): Do not dereference NULL.
884
aeace7f7
VS
8852013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
888 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
889 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
890 (grub_linux_load64): Mask out 2 high bits.
891
4eafa175
AB
8922013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
893
894 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
895 more place.
896
daaa64bd
VS
8972013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
898
899 Add support for pseries and other bootinfo machines to grub-mkrescue.
900
901 Tested by: Paulo Flabiano Smorigo.
902
d0d2daa6
VS
9032013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * util/grub-mkrescue.in: Add GPT for EFI boot.
906
b193e100
VS
9072013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
910 It improves performance in qemu.
911
a0f8f3ac
VS
9122013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * build-aux/snippet: Add missing gnulib files.
915
284df0e2
AB
9162013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
917
918 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
919
740201f3
AB
9202013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
921
922 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
923
a7e03923
PJ
9242013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
9252013-04-15 Peter Jones <pjones@redhat.com>
926
927 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
928 sectors.
929 Based on patch by Peter Jones.
930
25fc51a8
VS
9312013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
932
933 Fix DMRAID partition handling.
934
88017d47
VS
9352013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * tests/grub_cmd_date.in: Skip on sparc64.
938
fa7d914e
VS
9392013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
942 firmware error messages.
943
cbe57a48
VS
9442013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
947 source and destination differ.
948
21aecce0
VS
9492013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
952 detection.
953
25092d29
VS
9542013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
957 match config-util.h to avoid warnings and increase compatibility.
958
79451522 9592013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 9602013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
961
962 Add option to compress files on install/image creation.
963
78b7d77b
VS
9642013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * docs/grub-dev.texi: Rearrange menu to match the section order.
967 Reported by: Bryan Hundven.
968
cc2fa5ec
VS
9692013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
972
b49fe879
VS
9732013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
974
975 Move GRUB out of system area when using xorriso 1.2.9 or later.
976
5351da81
VS
9772013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * tests/grub_cmd_date.in: Add missing exit 1.
980
c9d586ea
VS
9812013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * tests/partmap_test.in: Skip on sparc64.
984
3f729741
VS
9852013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
986
987 Support grub-shell on sparc64.
988
8ca86b3a
VS
9892013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
990
991 Support mkrescue on sparc64.
992
aa1af9bb
VS
9932013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
994
995 Allow IEEE1275 ports on path even if it wasn't detected automatically.
996 Needed on OpenBIOS due to incomplete device tree.
997
ac4fea79
VS
9982013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
1001 would be otherwise excluded.
1002
10032013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
1004
1005 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1006 Inline name defines used only once.
1007
fe22b071
VS
10082013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 Fix memory leaks in ofnet.
1011 Reported by: Francesco Lavra.
1012
9d21381b
VS
10132013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 * docs/man/grub-glue-efi.h2m: Add missing file.
1016
07aec23c
VS
10172013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
1020
67ab8353
VS
10212013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 Better support Apple Intel Macs on CD.
1024
ba44ca6d
VS
10252013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 Replace stpcpy with grub_stpcpy in tools.
1028
bbdd6305
VS
10292013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 Handle Japanese special keys.
1032 Reported by: Hiroyuki YAMAMORI.
1033 Codes supplied by: Hiroyuki YAMAMORI.
1034
8573d302
VS
10352013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * util/grub-mkimage.c: Document memdisk implying --prefix.
1038
d70dbab7
VS
10392013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
1042 much we can do about it anyway.
1043
51a4c3e3
AN
10442013-04-12 Aleš Nesrsta <starous@volny.cz>
1045
1046 Fix handling of split transfers.
1047
92c8f58d
VS
10482013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * grub-core/net/http.c: Fix bad free.
1051
b7d17a49
VS
10522013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
1055 than buffer size.
1056
a3d566d4
VS
10572013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 Disable partmap check on i386-ieee1275 due to openfirmware issues.
1060
a936af56
VS
10612013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * tests/util/grub-shell.in: Fix it on powerpc.
1064
51212234
VS
10652013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 Turn off QEMU ACPI-way since new releases don't have shutdown port
1068 anymore.
1069
a21eec9e
VS
10702013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 * docs/grub.texi: Update coreboot status info.
1073
e3734b84
VS
10742013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 * tests/grub_cmd_date.in: New test for datetime.
1077
f9d40055
VS
10782013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 * tests/partmap_test.in: Fix missing qemudisk setting.
1081
dbc56d8f
VS
10822013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 Support i386-ieee1275 grub-mkrescue and make check on it.
1085
a79b8a15
VS
10862013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
1089 feature for it.
1090
48f39bb4
VS
10912013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
1094 GRUB_CMDLINE_XEN_DEFAULT.
1095 Reported by: Marc Warne (GigaTux) <gigatux>
1096
053cfcdd
VS
10972013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 Import new gnulib.
1100
93cd84df
VS
11012013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 Use ACPI shutdown intests as traditional port was removed.
1104
f4b1fa4f
AB
11052013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
1106
1107 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
1108 distinction.
1109
49818a59
VS
11102013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
1113 Fix few warining messages and leaks while on it.
1114
9277a306
AB
11152013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
1116
1117 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
1118 links under grub-core/lib/libgcrypt-grub/mpi.
1119
d5e2a158
VS
11202013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 Fix ia64-efi image generation on big-endian machines. Deduplicate
1123 some code while on it.
1124 Reported by: Leif Lindholm.
1125
18866643
AB
11262013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1127
1128 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
1129 as extra_dist.
1130
ca53deb8
AB
11312013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1132
1133 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
1134
d4c4b8e1
BH
11352013-04-08 Bryan Hundven <bryanhundven@gmail.com>
1136
1137 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
1138 texinfo-5.1.
1139
47043f95
VS
11402013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * grub-core/normal/term.c: Few more fixes for menu entry editor
1143 rendering.
1144 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1145
a3216068
VS
11462013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * grub-core/normal/term.c: Few more fixes for menu entry editor
1149 rendering.
1150 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1151
21026747
AB
11522013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1153
1154 * conf/Makefile.extra-dist (EXTRA_DIST): Add
1155 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
1156
59624ca8
AB
11572013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1158
1159 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
1160 instead of hardcoding grub.mo.
1161
1f44478c
FN
11622013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
1163
1164 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
1165
eeada7b1
VS
11662013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
1169 grub-core/disk/geli.c.
1170
132867de
VS
11712013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * util/grub-mkfont.c: Prefer enum to #define.
1174
de73de17
VS
11752013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
1178
1865baa7
VS
11792013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
1182
ce7d92a9
VS
11832013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
1186
52eab656
VS
11872013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
1190
98b23b95
VS
11912013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 * include/grub/bsdlabel.h: Use enums.
1194
0467a5dd
VS
11952013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 Move GRUB_CHAR_BIT to types.h.
1198
16cc9f03
AB
11992013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1200
1201 * docs/grub.texi: Document more user commands.
1202
3152aecb
AB
12032013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1204
1205 * docs/grub.texi: Document menuentry --id option.
1206
c506fc30
FL
12072013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
1208
1209 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
1210
aa428238
VS
12112013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 Unify file copying setup across different install scripts. Add
1214 options for performing partial install.
1215
efe0cdda
PJ
12162013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12172013-04-04 Peter Jones <pjones@redhat.com>
1218
1219 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
1220
f75835bd
VS
12212013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 Use TSC as a possible time source on i386-ieee1275.
1224
2cd5ce6c
VS
12252013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
1228 Init err.
1229
c9625630
VS
12302013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * util/grub-setup.c (setup): Handle some corner cases.
1233
be008941
VS
12342013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
1237
1a78d573
VS
12382013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/commands/verify.c: Save verified file to avoid it being
1241 tampered with after verification was done.
1242
db8ff59f
VS
12432013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
1246 reported width by one to compensate for curesor algorithm problem.
1247
91bf46b1
VS
12482013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 Fix screen corruption in menu entry editor and simplify the code
1251 flow while on it.
1252
a7b1d693
AB
12532013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
1254
1255 * util/grub-mount.c (fuse_init): Return error if fuse_main
1256 failed.
1257
31df9ad8
FL
12582013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
1259
1260 * include/grub/elf.h: Add missing ARM relocation codes and fix
1261 existing ones.
1262
07f392eb
VT
12632013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1264
1265 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
1266
9efd73ec 12672013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
12682013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
1271 into account when calculating radius.
1272
12732013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
1274
1275 * grub-core/gfxmenu/view.c: Fix off-by-one error.
1276
4985ddaa
VT
12772013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1278
1279 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
1280
8c3635ff
RS
12812013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
1282
1283 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
1284 missing closing bracket.
1285
74a35e69
RS
12862013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
1287
1288 * INSTALL: Mention xorriso requirement.
1289
40f1c000
AB
12902013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
1291
1292 * grub-core/commands/verify.c: Fix hash algorithms values for
1293 the first three hashes - they start with 1, not with 0.
1294
e75fdee4
VS
12952013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
1298 Try terminating EFI services several times due to quirks in some
1299 implementations.
1300
33028f4c
CW
13012013-03-26 Colin Watson <cjwatson@ubuntu.com>
1302
1303 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
1304 skipping Event, Device, Processor, PowerRes, ThermalZone, and
1305 BankField extended opcodes.
1306 (get_sleep_type): Add minimal scope handling (just enough to
1307 handle setting the scope to the root path).
1308 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
1309 * include/grub/acpi.h: Add enumeration values for Event, Device,
1310 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
1311
33871a10
VT
13122013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
1313
1314 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
1315 memory leak.
1316
8990963a
VS
13172013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * grub-core/disk/ahci.c: Give more time for AHCI request.
1320
daae8f9e
VS
13212013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
1324 command.
1325
6a7fb94b
VS
13262013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 Replace the region at 0 from coreboot tables to available in BSD
1329 memory map.
1330
ff99babd
VS
13312013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
1334 non-BIOS platforms.
1335
30d6b1b2
VS
13362013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
1339 platforms.
1340
6ccd0b31
VS
13412013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
1344 handling of multi-device filesystems.
1345
23c9cc04
VS
13462013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
1349 platforms.
1350
ce50dbd7
VS
13512013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 Add new 'proc' filesystem framework and put luks_script into it.
1354
d975e8d5
VS
13552013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
1358 and qemu.
1359
e73ba5e8
VS
13602013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
1363
92750e4c
VS
13642013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 Add ability to generate newc additions on runtime.
1367
0ec45a68
VS
13682013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
1371 description.
1372
320abd43
VS
13732013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * po/POTFILES.in: Regenerate.
1376
d7a6506e
VS
13772013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * grub-core/commands/verify.c (hashes): Add several hashes
1380 from the spec.
1381
8fe05def
VS
13822013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 Slight improve in USB-related boot-time checkpoints.
1385
524e2766
VS
13862013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * grub-core/commands/boottime.c: Fix copyright header.
1389
cc19857a
VS
13902013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
1393 coreboot tables content. Support for cbmemc.
1394
ef8810e9
VS
13952013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 Fix a conflict between ports structures with 2 controllers of
1398 same kind.
1399
e9dabdfa
VS
14002013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * include/grub/boottime.h: Add missing file.
1403
f6df57d2
VS
14042013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 Initialize USB ports in parallel to speed-up boot.
1407
d745dda7
VS
14082013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 Fix USB devices not being detected when requested
1411 due to delayed attach.
1412
e5a2dd7b
VS
14132013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1414
e744219b
VS
1415 Implement boot time analysis framework.
1416
14172013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
1420 descriptor to just receive it as argument rather than endpoint
1421 address.
1422
5dd6f587
VS
14232013-03-19 Aleš Nesrsta <starous@volny.cz>
1424
1425 Better estimate the maximum USB transfer size.
1426
2f1071d5
VS
14272013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 Resend a packet if we got the wrong buffer in status.
1430
46ecfc49
VS
14312013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
1434 multiplication rather than division.
1435
ea811130
VS
14362013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
1439 than divisions.
1440
d2789cf0
VS
14412013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
1444 operations to have intended shifts and not divisions.
1445
a9c94590
VS
14462013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
1449 intended shifts rather than division.
1450
84cfe81b
VS
14512013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
1454 computation for some years before epoch. Avode confusing division
1455 while on it.
1456
21344ef6
VS
14572013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * grub-core/video/i386/pc/vbe.c
1460 (grub_video_vbe_print_adapter_specific_info): Replace division by
1461 shifts.
1462
3f2b4d1a
VS
14632013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 Adjust types in gdb module to have intended unsigned shifts rather than
1466 signed divisions.
1467
3dac5878
VS
14682013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
1471 maximum size is 4G - 1 on hfs
1472
5341c0fb
VS
14732013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
1476
fc3ff2a2
VS
14772013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
1480 function.
1481
81455e8e
AB
14822013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
1483
1484 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
1485 causing gcc error with gcc 4.7.1.
1486
efd4f117
NZ
14872013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
1488
1489 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
1490 dereference null pointer. While the code is technically correct, gcc
1491 may eliminate a null check if pointer is already dereferenced.
1492
e11645f4
NZ
14932013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
1494
1495 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
1496 OOM check.
1497 * grub-core/normal/term.c (read_terminal_list): Likewise.
1498
77468368
VS
14992013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 Lift up core size limits on some platforms. Fix potential memory
1502 corruption with big core on small memory systems. Document remaining
1503 limits.
1504
f6b58fe5
VS
15052013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
1508 gotoxy to 0,0.
1509
19ce697d
VS
15102013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 Remove all trampoline support. Add -Wtrampolines when
1513 present. Remove symbols used for trampolines to make
1514 link fail if trampolines are present.
1515
73b5d90f
VS
15162013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
1519 append out of its parent.
1520
cb758e96
VS
15212013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
1524 parent.
1525
3188131f
VS
15262013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
1529 all vars to a macro. All users updated.
1530
e42b2514
VS
15312013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * grub-core/disk/ieee1275/nand.c: Fix compilation on
1534 i386-ieee1275.
1535
83e1a1a1
VS
15362013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
1539
1d5a880f
VS
15402013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
1543
6e4146c4
VS
15442013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 Move to more hookless approach in IEEE1275 devices handling.
1547
99fcda8a
VS
15482013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/kern/term.c (grub_term_normal_color),
1551 (grub_term_highlight_color): Add back lost defaults.
1552
73bf57e2
VS
15532013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 Make elfload not use hooks. Opt for flags and iterators instead.
1556
7f8c105f
VS
15572013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
1560 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
1561
396d4091
VS
15622013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/script/execute.c (gettext_append): Remove nested functions.
1565
15662013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
1569 hook pass-through parameter. All users updated and unnested.
1570
74a27421
VS
15712013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
1574 out of its parent.
1575
b46d4213
VS
15762013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * grub-core/fs/hfs.c: Remove nested functions.
1579
e114c3cc
VS
15802013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
1583 the context through.
1584 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
1585
f9b7d780
VS
15862013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * util/grub-editenv.c (list_variables): Move print_var out of its
1589 parent.
1590
ca9c2608
VS
15912013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
1594 function.
1595
5d983f5f
VS
15962013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 * grub-core/gentrigtables.c: Make tables const.
1599
3056d3e7
VS
16002013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 Remove nested functions from videoinfo iterators.
1603
e2303774
VS
16042013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1605
1606 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
1607 for 64-bit platforms.
1608
f42e3a2f
VS
16092013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
1612 a FOR_CHILDREN macro.
1613
be174e5e
VS
16142013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
1617 platform from firmware path.
1618
0789b672
VS
16192013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 Enable linux16 on non-BIOS systems for i.a. memtest.
1622
1623 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
1624 correctly.
1625 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
1626
005a9c32
VS
16272013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
1630 Fix end of table condition.
1631
ff2b3cd9
VS
16322013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
1635 out of its parent.
1636
4fc40ff8
VS
16372013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * grub-core/fs/jfs.c: Remove nested functions.
1640
be42d97a
VS
16412013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * grub-core/fs/minix.c: Remove nested functions.
1644
99373ce4
VS
16452013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 * grub-core/fs/iso9660.c: Remove nested functions.
1648
5aec2afe
VS
16492013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
1652 of parent function.
1653
6c69e691
VS
16542013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * util/grub-fstest.c: Remove nested functions.
1657
43c91882
VS
16582013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * grub-core/loader/machoXX.c: Remove nested functions.
1661
4eb8b756
CW
16622013-02-27 Colin Watson <cjwatson@ubuntu.com>
1663
1664 Remove nested functions from disk and file read hooks.
1665
1666 * include/grub/disk.h (grub_disk_read_hook_t): New type.
1667 (struct grub_disk): Add read_hook_data member.
1668 * include/grub/file.h (struct grub_file): Likewise.
1669 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
1670 argument.
1671
1672 Update all callers.
1673
df6da5a5
AB
16742012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
1675
1676 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
1677 Fix off by one error in enumerating extended partitions.
1678
21aecde5
AB
16792013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
1680
1681 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
1682 memory leak if device name is not found.
1683
f1a19118
AB
16842013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
1685
1686 * grub-core/normal/menu_entry.c (update_screen): remove
1687 unused variable `off' which caused scroll down arrow to be always shown.
1688
958bfd20
AB
16892013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
1690
1691 * grub-core/normal/menu_entry.c (insert_string): fix off by one
1692 access to unallocated memory.
1693
b7b78edb
AB
16942013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
1695
1696 * Makefile.util.def: Add partmap/msdos.c to common library.
1697 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
1698 * grub-core/disk/ldm.c: Check for existence of
1699 GRUB_PC_PARTITION_TYPE_LDM.
1700
28d468d6
VS
17012013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
1704 sizes and display sector size.
1705
d55ffb02
VS
17062013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 Implement new command cmosdump.
1709
b5ea6ce0
VS
17102013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1711
1712 Support Openfirmware disks with non-512B sectors.
1713
1714 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
1715 size of the disk.
1716 * (grub_ofdisk_get_block_size): New function.
1717 * (grub_ofdisk_prepare): Use the correct block size.
1718 * (grub_ofdisk_read): Likewise.
1719 * (grub_ofdisk_write): Likewise.
1720 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
1721 New proto.
1722
cc0e476f
VS
17232013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
1726
c5dbdc33
VS
17272013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
1730 on first error.
1731
3f078c0f
VS
17322013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
1735 freeing it.
1736
66a93674
VS
17372013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 Implement USBDebug (full USB stack variant).
1740
c9f0c134
VS
17412013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
1744 unless they have unexpected values.
1745
cfe1288b
VS
17462013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
1749 grub_print_error.
1750
e42b9969
VS
17512013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
1754 zero-out of port structure.
1755
cf94fd62
VS
17562013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
1759 of extended attributes.
1760
f81ef4b5
AB
17612013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
1762
1763 * util/grub-install.in: change misleading comment about
1764 device.map creation
1765
af18fdb4
VS
17662013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
1769 when menu highlight color isn't set.
1770
08bcec50
M
17712013-01-27 C. Masloch <pushbx@38.de>
1772
1773 Improve FreeDOS direct loading support compatibility.
1774
1775 * include/grub/i386/relocator.h (grub_relocator16_state):
1776 New member ebp.
1777 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
1778 variable.
1779 (grub_relocator16_boot): Handle %ebp.
1780 * grub-core/lib/i386/relocator16.S: Likewise.
1781 * grub-core/loader/i386/pc/freedos.c:
1782 Load BPB to pass kernel which partition to load from.
1783 Check that kernel file is not too large.
1784 Set register dl to BIOS unit number as well.
1785
7782b8a6
CW
17862013-01-22 Colin Watson <cjwatson@ubuntu.com>
1787
1788 * util/grub-reboot.in (usage): Document the need for
1789 GRUB_DEFAULT=saved.
1790 * util/grub-set-default.in (usage): Likewise.
1791 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
1792
e661c180
VS
17932013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
1796 than defining WORDS_BIGENDIAN manually.
1797
1c22ca9a
VS
17982013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
1801 invariants.
1802
d44892fe
CW
18032013-01-21 Colin Watson <cjwatson@ubuntu.com>
1804
1805 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
1806 nested.
1807 (blit_comb: add_device_width): Likewise.
1808
5fdbaed1
CW
18092013-01-21 Colin Watson <cjwatson@ubuntu.com>
1810
1811 Remove nested functions from USB iterators.
1812
1813 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
1814 (grub_usb_controller_iterate_hook_t): Likewise.
1815 (grub_usb_iterate): Add hook_data argument.
1816 (grub_usb_controller_iterate): Likewise.
1817 (struct grub_usb_controller_dev.iterate): Likewise.
1818
1819 Update all implementations and callers.
1820
4250985a
VS
18212013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
1824 margin when not needed.
1825
7d8848f3
VS
18262013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1827
bc136973 1828 Make color variables global instead of it being per-terminal.
7d8848f3
VS
1829
18302013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1831
bc136973
VS
1832 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
1833 asterisk.
7d8848f3 1834
ed12a003
CW
18352013-01-21 Colin Watson <cjwatson@ubuntu.com>
1836
1837 Fix powerpc and sparc64 build failures caused by un-nesting memory
1838 map iterators.
1839
6a0db449
CW
18402013-01-21 Colin Watson <cjwatson@ubuntu.com>
1841
1842 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
1843 parameter declarations.
1844
ccd86b21
VS
18452013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
1848
822b726b
VS
18492013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 Improve spkmomdem reliability by adding a separator between bytes.
1852
115c2cc1
CW
18532013-01-21 Colin Watson <cjwatson@ubuntu.com>
1854
1855 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
1856 an Acer registration utility with several sightings in the wild.
1857 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
1858
fc524edf
CW
18592013-01-21 Colin Watson <cjwatson@ubuntu.com>
1860
1861 Remove nested functions from filesystem directory iterators.
1862
1863 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
1864 (struct grub_fs.dir): Add hook_data argument.
1865
1866 Update all implementations and callers.
1867
53d3e4e3
CW
18682013-01-21 Colin Watson <cjwatson@ubuntu.com>
1869
1870 * docs/grub.texi (Multi-boot manual config): Fix typo for
1871 "recommended".
1872
c821711f
LL
18732013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1874
1875 * util/grub-mkimage.c (main): Postpone freeing arguments.output
1876 until after its use in generate_image.
1877
6a0debbd
CW
18782013-01-20 Colin Watson <cjwatson@ubuntu.com>
1879
1880 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
1881 initrd size to addr_min, since the initrd will be allocated after
1882 this address.
1883
f41e08db
AB
18842013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
1885
1886 * conf/Makefile.common: Fix autogen rules to pass definition
1887 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
1888
77529e0f
LL
18892013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1890
1891 * include/grub/elf.h: Update ARM definitions based on binutils.
1892
b879aa7b
VS
18932013-01-20 Aleš Nesrsta <starous@volny.cz>
1894
1895 Split long USB transfers into short ones.
1896
8eb8284d
AB
18972013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
1898
1899 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
1900 is interrupted by ESC.
1901
08dad2dc
VS
19022013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * util/grub-script-check.c (main): Uniform the error message.
1905
6c724b85
CW
19062013-01-20 Colin Watson <cjwatson@ubuntu.com>
1907
1908 Remove nested functions from ELF iterators.
1909
25239370
CW
19102013-01-20 Colin Watson <cjwatson@ubuntu.com>
1911
1912 Remove nested functions from device iterators.
1913
1914 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
1915 (grub_arc_iterate_devs): Add hook_data argument.
1916 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
1917 (struct grub_ata_dev.iterate): Add hook_data argument.
1918 * include/grub/device.h (grub_device_iterate_hook_t): New type.
1919 (grub_device_iterate): Add hook_data argument.
1920 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
1921 (struct grub_disk_dev.iterate): Add hook_data argument.
1922 (grub_disk_dev_iterate): Likewise.
1923 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
1924 Likewise.
1925 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
1926 Likewise.
1927 * include/grub/partition.h (grub_partition_iterate_hook_t): New
1928 type.
1929 (struct grub_partition_map.iterate): Add hook_data argument.
1930 (grub_partition_iterate): Likewise.
1931 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
1932 (struct grub_scsi_dev.iterate): Add hook_data argument.
1933
1934 Update all callers.
1935
6c0314d6
CW
19362013-01-20 Colin Watson <cjwatson@ubuntu.com>
1937
1938 Fix typos for "developer" and "development".
1939
600dc5f1
VS
19402013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 Add license header to spkmodem-recv.c.
1943
17334a6b
VS
19442013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 Rewrite spkmodem to use PIT for timing. Double the speed.
1947
7d462559
VS
19482013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 Add new command pcidump.
1951
b78d6c32
VS
19522013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 New terminal outputs using serial: morse and spkmodem.
1955
34f71cb8
VS
19562013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 Improve bidi handling in entry editor.
1959
4542e71b
VS
19602013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
1963 argument to prevent name collision.
1964
09fd6d82
CW
19652013-01-15 Colin Watson <cjwatson@ubuntu.com>
1966
1967 Remove nested functions from script reading and parsing.
1968
1969 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
1970 getline_data argument, passed to getline.
1971 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
1972 getline_data argument, passed to grub_parser_split_cmdline.
1973 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
1974 lexerstate->getline_data to lexerstate->getline.
1975 (grub_script_lexer_init): Add getline_data argument, saved in
1976 lexerstate->getline_data.
1977 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
1978 argument, passed to grub_script_parse.
1979 * grub-core/script/script.c (grub_script_parse): Add getline_data
1980 argument, passed to grub_script_lexer_init.
1981 * include/grub/parser.h (grub_parser_split_cmdline): Update
1982 prototype. Update all callers to pass appropriate getline data.
1983 (struct grub_parser.parse_line): Likewise.
1984 (grub_rescue_parse_line): Likewise.
1985 * include/grub/reader.h (grub_reader_getline_t): Add void *
1986 argument.
1987 * include/grub/script_sh.h (struct grub_lexer_param): Add
1988 getline_data member.
1989 (grub_script_parse): Update prototype. Update all callers to pass
1990 appropriate getline data.
1991 (grub_script_lexer_init): Likewise.
1992 (grub_normal_parse_line): Likewise.
1993
1994 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
1995 data argument.
1996 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
1997 static instead of nested. Rename to ...
1998 (grub_parser_execute_getline): ... this.
1999 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
2000 data argument.
2001 * grub-core/normal/main.c (read_config_file: getline): Make static
2002 instead of nested. Rename to ...
2003 (read_config_file_getline): ... this.
2004 (grub_normal_read_line): Add unused data argument.
2005 * grub-core/script/execute.c (grub_script_execute_sourcecode:
2006 getline): Make static instead of nested. Rename to ...
2007 (grub_script_execute_sourcecode_getline): ... this.
2008 * util/grub-script-check.c (main: get_config_line): Make static
2009 instead of nested.
2010
d0d4b8a0
CW
20112013-01-15 Colin Watson <cjwatson@ubuntu.com>
2012
2013 Remove nested functions from memory map iterators.
2014
2015 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
2016 argument, passed to hook.
2017 * grub-core/kern/i386/coreboot/mmap.c
2018 (grub_linuxbios_table_iterate): Likewise.
2019 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
2020 instead of nested.
2021 (grub_machine_mmap_iterate): Add hook_data argument.
2022 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
2023 Add hook_data argument, passed to hook.
2024 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
2025 Likewise.
2026 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2027 Likewise.
2028 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
2029 Likewise.
2030 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
2031 Likewise.
2032 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
2033 Likewise.
2034 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
2035 Likewise.
2036 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
2037 (grub_machine_mmap_iterate): Likewise.
2038 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
2039 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
2040 prototype.
2041 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
2042 Remove NESTED_FUNC_ATTR from here and from all users.
2043 (grub_mmap_iterate): Update prototype.
2044 (grub_efi_mmap_iterate): Update prototype. Update all callers to
2045 pass appropriate hook data.
2046 (grub_machine_mmap_iterate): Likewise.
2047
2048 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
2049 static instead of nested.
2050 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
2051 Rename to ...
2052 (lsmmap_hook): ... this.
2053 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
2054 Likewise.
2055 (grub_efiemu_mmap_fill: fill_hook): Likewise.
2056 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
2057 heap_init): Likewise.
2058 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
2059 Rename to ...
2060 (mmap_iterate_hook): ... this.
2061 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
2062 Likewise.
2063 * grub-core/lib/ieee1275/relocator.c
2064 (grub_relocator_firmware_get_max_events: count): Likewise.
2065 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
2066 to ...
2067 (grub_relocator_firmware_fill_events_iter): ... this.
2068 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
2069 hook): Likewise. Rename to ...
2070 (grub_relocator_alloc_chunk_align_iter): ... this.
2071 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
2072 Rename to ...
2073 (generate_e820_mmap_iter): ... this.
2074 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
2075 Rename to ...
2076 (count_hook): ... this.
2077 (grub_linux_boot: hook): Likewise. Rename to ...
2078 (grub_linux_boot_mmap_find): ... this.
2079 (grub_linux_boot: hook_fill): Likewise. Rename to ...
2080 (grub_linux_boot_mmap_fill): ... this.
2081 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
2082 hook): Likewise. Rename to ...
2083 (grub_fill_multiboot_mmap_iter): ... this.
2084 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
2085 hook): Likewise. Rename to ...
2086 (count_hook): ... this.
2087 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
2088 hook): Likewise. Rename to ...
2089 (grub_fill_multiboot_mmap_iter): ... this.
2090 * grub-core/loader/powerpc/ieee1275/linux.c
2091 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
2092 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
2093 Likewise. Rename to ...
2094 (alloc_phys_choose): ... this.
2095 (determine_phys_base: get_physbase): Likewise.
2096 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
2097 find_hook): Likewise.
2098 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
2099 (malloc_hook: count_hook): Likewise.
2100 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
2101 Likewise. Rename to ...
2102 (lower_hook): ... this.
2103 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2104 (upper_hook): ... this.
2105 (grub_mmap_get_post64: hook): Likewise. Rename to ...
2106 (post64_hook): ... this.
2107 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
2108 Likewise. Rename to ...
2109 (lower_hook): ... this.
2110 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2111 (upper_hook): ... this.
2112 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
2113 (grub_mmap_iterate: fill_hook): Likewise.
2114 (fill_mask): Pass addr and mask within a single struct.
2115 (grub_cmd_badram: hook): Make static instead of nested. Rename
2116 to ...
2117 (badram_iter): ... this.
2118 (grub_cmd_cutmem: hook): Likewise. Rename to ...
2119 (cutmem_iter): ... this.
2120
22099030
VS
21212013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
2124 delimit path in strings using quotes.
2125 * util/getroot.c (grub_guess_root_devices): Likewise.
2126 (grub_make_system_path_relative_to_its_root): Likewise.
2127 * util/grub-probe.c (probe): Likewise.
2128 * util/ieee1275/ofpath.c (find_obppath): Likewise.
2129 (xrealpath): Likewise.
2130
4a9950ec
VS
21312013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 Fix compilation with older compilers.
2134
2135 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
2136 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
2137 declarations.
2138 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
2139 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
2140 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
2141 identifier with b.
2142 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
2143 * include/grub/crypto.h: Add type defines.
2144 * util/import_gcrypth.sed: Remove duplicate type defines.
2145
adcc6020
VS
21462013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 New command list_trusted.
2149
2150 * grub-core/commands/verify.c (grub_cmd_list): New function.
2151
a4528937
CW
21522013-01-13 Colin Watson <cjwatson@ubuntu.com>
2153
2154 * util/grub-mkimage.c (generate_image): Fix "size of public key"
2155 info message.
2156
ca3a7446
CW
21572013-01-13 Colin Watson <cjwatson@ubuntu.com>
2158
2159 Remove nested functions from PCI iterators.
2160
2161 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
2162 passed to hook. Update all callers to pass appropriate hook data.
2163 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
2164 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
2165 Remove NESTED_FUNC_ATTR from here and from all users.
2166 (grub_pci_iterate): Update prototype.
2167 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
2168 instead of nested. Rename to ...
2169 (grub_cs5536_find_iter): ... this.
2170 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
2171 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
2172 Likewise.
2173 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
2174 Likewise.
2175 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
2176 Likewise.
2177 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
2178 Likewise.
2179 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
2180 * grub-core/video/radeon_fuloong2e.c
2181 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
2182 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
2183 find_card): Likewise.
2184 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
2185 Likewise.
2186
f8e98fee
VS
21872013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * grub-core/commands/verify.c: Mark messages for translating.
2190
055b36b6
VS
21912013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
2194 fatal.
2195
f7ff879b
VS
21962013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
2199 fatal.
2200
22012013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
2202
2203 * autogen.sh: Do not try to delete nonexistant files.
2204 * util/import_gcrypth.sed: Add some missing header removals.
2205
01323d49
CW
22062013-01-12 Colin Watson <cjwatson@ubuntu.com>
2207
2208 Clean up dangling references to grub-setup.
2209 Fixes Ubuntu bug #1082045.
2210
2211 * docs/grub.texi (Images): Refer generally to grub-install rather
2212 than directly to grub-setup.
2213 (Installing GRUB using grub-install): Remove direct reference to
2214 grub-setup.
2215 (Device map) Likewise.
2216 (Invoking grub-install): Likewise.
2217 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2218 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2219 * util/grub-install.in (usage): Likewise.
2220
2221 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
2222 Apply to grub-bios-setup and grub-sparc64-setup rather than to
2223 grub-setup.
2224 * configure.ac: Remove grub_setup output variable.
2225
2226 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
2227 to grub-bios-setup.
2228 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
2229 grub-setup to grub-sparc64-setup.
2230
5e3b8dcb
VS
22312013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 Import gcrypt public-key cryptography and implement signature checking.
2234
535714bd
VS
22352013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * grub-core/fs/ntfs.c: Ue more appropriate types.
2238 * grub-core/fs/ntfscomp.c: Likewise.
2239 * include/grub/ntfs.h: Likewise.
2240
3e4f3566
VS
22412013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 Support Apple FAT binaries on non-Apple platforms.
2244
2245 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
2246 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
2247 Likewise.
2248 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
2249 Apple FAT binaries.
2250
4dedb13f
VS
22512013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
2254 sector devices.
2255
f8861eaf
CW
22562013-01-07 Colin Watson <cjwatson@ubuntu.com>
2257
2258 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
2259 explicitly zeroing elements.
2260 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
2261 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
2262 of elements in a structure already allocated using grub_zalloc.
2263 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
2264
86065b0a
CW
22652013-01-07 Colin Watson <cjwatson@ubuntu.com>
2266
2267 * docs/grub.texi (grub_cpu): New subsection.
2268 (grub_platform): Likewise.
2269
c6f1e92f
VS
22702013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
2273
f797ec85
VS
22742013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
2277 divisions.
2278
033d0b4b
VS
22792013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
2282 * grub-core/fs/ntfscomp.c: Likewise.
2283 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
2284 (grub_ntfs_comp): Likewise.
2285
21d1b9a0
VS
22862013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
2289 Rename to ...
2290 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
2291 of groups_per_block. All users updated.
2292
10ca8645
VS
22932013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
2296 grub_error properly.
2297 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
2298 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
2299
a4c3ed4c
VS
23002013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
2303 always in /boot/zfs.
2304 Reported by: Yuta Satoh.
2305
0b716507
YS
23062013-01-03 Yuta Satoh <nigoro>
2307
2308 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
2309 ${grub_probe}
2310
00c05e22
VS
23112013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * configure.ac: Extend -Wno-trampolines to host.
2314
dadddb76
VS
23152013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
2318 entry->len = 0.
2319
54ce53ca
CW
23202013-01-03 Colin Watson <cjwatson@ubuntu.com>
2321
2322 * docs/grub.texi (Invoking grub-mkrelpath): New section.
2323 (Invoking grub-script-check): Likewise.
2324
8912efca
CW
23252013-01-03 Colin Watson <cjwatson@ubuntu.com>
2326
2327 * docs/grub.texi (Invoking grub-mount): New section.
2328 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
2329
c3fc8394
CW
23302013-01-02 Colin Watson <cjwatson@ubuntu.com>
2331
2332 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
2333 test failures, so that a failing unit test correctly causes 'make
2334 check' to fail.
2335
45d26abb
CW
23362013-01-02 Colin Watson <cjwatson@ubuntu.com>
2337
2338 Fix failing printf test.
2339
2340 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
2341 '$' in the correct order when collecting type information.
2342
971dd2c6
CW
23432013-01-02 Colin Watson <cjwatson@ubuntu.com>
2344
2345 * docs/grub.texi (configfile): Explain environment variable
2346 handling.
2347 (source): New section.
2348 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
2349
5c67ea6c
CW
23502012-12-31 Colin Watson <cjwatson@ubuntu.com>
2351
2352 Remove several trivially-unnecessary uses of nested functions.
2353
2354 * grub-core/commands/i386/pc/sendkey.c
2355 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
2356 instead of nested.
2357 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
2358 Rename to ...
2359 (legacy_file_getline): ... this.
2360 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
2361 Likewise.
2362 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
2363 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
2364 to ...
2365 (probe_dummy_iter): ... this.
2366 * grub-core/kern/i386/coreboot/mmap.c
2367 (grub_linuxbios_table_iterate: check_signature): Likewise.
2368 * grub-core/kern/parser.c (grub_parser_split_cmdline:
2369 check_varstate): Likewise. Mark inline.
2370 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
2371 an additional parameter.
2372 (find_long: fnd_long): Likewise. Pass two additional parameters.
2373 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
2374 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
2375 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
2376 Likewise. Rename to ...
2377 (grub_cmos_find_port_iter): ... this.
2378 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
2379 Rename to ...
2380 (find_rtc_iter): ... this.
2381
2382 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
2383 function directly into the function body, since it is only called
2384 once.
2385
33a68ac6
CW
23862012-12-30 Colin Watson <cjwatson@ubuntu.com>
2387
2388 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
2389 __attribute__ ((unused)).
2390 * grub-core/video/bochs.c (find_card): Likewise.
2391 * grub-core/video/cirrus.c (find_card): Likewise.
2392 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
2393 * grub-core/video/sis315pro.c (find_card): Likewise.
2394 * grub-core/video/sm712.c (find_card): Likewise.
2395
608b647a
CW
23962012-12-28 Colin Watson <cjwatson@ubuntu.com>
2397
2398 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
2399 Fixes Savannah bug #37821.
2400
fd49ceb3
CW
24012012-12-28 Colin Watson <cjwatson@ubuntu.com>
2402
2403 Apply program name transformations at build-time rather than at
2404 run-time. Fixes Debian bug #696465.
2405
2406 * acinclude.m4 (grub_TRANSFORM): New macro.
2407 * configure.ac: Create output variables with transformed names for
2408 most programs.
2409 * util/bash-completion.d/grub-completion.bash.in: Use
2410 pre-transformed variables for program names.
2411 * util/grub-install.in: Likewise.
2412 * util/grub-kbdcomp.in: Likewise.
2413 * util/grub-mkconfig.in: Likewise.
2414 * util/grub-mkconfig_lib.in: Likewise.
2415 * util/grub-mknetdir.in: Likewise.
2416 * util/grub-mkrescue.in: Likewise.
2417 * util/grub-mkstandalone.in: Likewise.
2418 * util/grub-reboot.in: Likewise.
2419 * util/grub-set-default.in: Likewise.
2420 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2421 * tests/util/grub-shell-tester.in: Remove unused assignment.
2422 * tests/util/grub-shell.in: Likewise.
2423 * util/grub.d/00_header.in: Likewise.
2424
7024b3c0
CW
24252012-12-28 Colin Watson <cjwatson@ubuntu.com>
2426
2427 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
2428
2429 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
2430 HAVE_RAW_DECL_GETS.
2431 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
2432
e3501b13
VS
24332012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
2436 Reported by: Eriks Latosheks <foresterlv>.
2437
b40c88a9
VS
24382012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * docs/grub.texi (Network): Update instructions on generating netboot
2441 image.
2442
ce96d01c
VS
24432012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
2446 around device name if necessarry.
2447
0f596201
PFS
24482012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2449
2450 * util/grub-install.in: Follow the symbolic link parameter added
2451 to the file command.
2452
600d5bdb
AB
24532012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
2454
2455 * util/grub-install.in: Remove stale TODO.
2456
64ebd2f4
PFS
24572012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2458
2459 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
2460 dynamic allocation for the bootpath buffer.
2461
74b2fe3e
DTB
24622012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
2463
2464 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
2465 window too small.
2466
969b804f
VS
24672012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
2470 argument rather than font name. All users updated.
2471 (grub_gfxterm_set_window): Likewise.
2472
b9f5ebd6
VT
24732012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2474
2475 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
2476 from working.
2477
258f43b7
VS
24782012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * util/getroot.c (convert_system_partition_to_system_disk): Support
2481 nbd disks.
2482
cc1ce5f9
VS
24832012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
2486 infinite loop on corrupted FS.
2487
e77a16ca
VS
24882012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 Fix big-endian mtime.
2491
2492 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
2493 together sec and usec.
2494 (grub_ufs_dir): Use correct byteswapping for UFS time.
2495
d9c48c7b
VS
24962012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 Support big-endian UFS1.
2499
2500 * Makefile.util.def (libgrubmods): Add ufs_be.c
2501 * grub-core/Makefile.core.def (ufs1_be): New module.
2502 * grub-core/fs/ufs_be.c: New file.
2503 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
2504 the file.
2505
2f9f40ba
LL
25062012-11-28 Leif Lindholm <leif.lindholm@arm.com>
2507
2508 * include/grub/types.h: Fix functionality unaffecting typo in
2509 GRUB_TARGET_WORDSIZE conditional macro.
2510
48ff0889
PFS
25112012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2512
2513 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
2514
03711240
GS
25152012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
2516
2517 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
2518 that /netbsd appears first (when it exists).
2519
a31b11bd
CJ
25202012-10-12 Christoph Junghans <ottxor@gentoo.org>
2521
2522 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
2523 Fixes Savannah bug #37558.
2524
e8a5d5d4
CW
25252012-10-12 Colin Watson <cjwatson@ubuntu.com>
2526
2527 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
2528 description of extract_entries_configfile.
2529
25302012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
2531
2532 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
2533 preferred_address.
2534 (grub_cmd_linux): Likewise.
2535 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
2536 preferred_lifetime. Update all users.
2537
288c757d
CW
25382012-09-26 Colin Watson <cjwatson@ubuntu.com>
2539
2540 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
2541 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
2542
0d35da3f
CW
25432012-09-26 Colin Watson <cjwatson@ubuntu.com>
2544
2545 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
2546 errors from grub-probe to /dev/null, not stdout.
2547
b78c3127
VS
25482012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
2551 sector 1.
2552
473959f0
CW
25532012-09-24 Colin Watson <cjwatson@ubuntu.com>
2554
2555 * util/grub-install.in: Make the error message if $source_dir
2556 doesn't exist more useful.
2557
794c8c33
CW
25582012-09-22 Colin Watson <cjwatson@ubuntu.com>
2559
2560 Fix grub-emu build on FreeBSD.
2561
2562 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
2563 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
2564 headers on Linux.
2565 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
2566 implementation is currently Linux-specific.
2567 * util/getroot.c (exec_pipe): Define only on Linux or when either
2568 libzfs or libnvpair is unavailable.
2569 (find_root_devices_from_poolname): Remove unused path variable.
2570
86d08fdb
CW
25712012-09-19 Colin Watson <cjwatson@ubuntu.com>
2572
2573 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
2574 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
2575 should fit before end == 63.
2576
735abf54
CW
25772012-09-19 Colin Watson <cjwatson@ubuntu.com>
2578
2579 * util/grub-setup.c (write_rootdev): Remove unused core_img
2580 parameter. Update all callers.
2581 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
2582 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
2583 GRUB_SETUP_BIOS.
2584
140acd3c
VS
25852012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2586
2587 * util/grub-mkconfig_lib.in (grub_tab): New variable.
2588 (grub_add_tab): New function.
2589 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
2590 * util/grub.d/10_illumos.in: Likewise.
2591 * util/grub.d/10_kfreebsd.in: Likewise.
2592 * util/grub.d/10_linux.in: Likewise.
2593 * util/grub.d/10_netbsd.in: Likewise.
2594 * util/grub.d/10_windows.in: Likewise.
2595 * util/grub.d/10_xnu.in: Likewise.
2596 * util/grub.d/20_linux_xen.in: Likewise.
2597 * util/grub.d/30_os-prober.in: Likewise.
2598
7ddffdad
VS
25992012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2602 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
2603 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
2604 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
2605 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
2606 ieee1275-nocursor.
2607 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2608 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
2609
4e092454
VS
26102012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
2613 le-conversion.
2614 Reported by: BURETTE, Bernard.
2615
735abf54 26162012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
2617
2618 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
2619 from comment.
2620
dfd39dbd
CW
26212012-09-14 Colin Watson <cjwatson@ubuntu.com>
2622
2623 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
2624 IEEE1275 machines. Fixes powerpc-emu compilation.
2625 * include/grub/terminfo.h: Likewise.
2626
3bfa763c
VS
26272012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
2630 a const pointer.
2631 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
2632 const pointer.
2633 (efiemu_set_variable): Make vendor_guid a const pointer.
2634
250e475b
VS
26352012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 Don't require grub-mkconfig_lib to generate manpages for programs.
2638
2639 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
2640 dependencies, don't add grub-mkconfig_lib.
2641 (program): Pass empty adddeps.
2642 (script): Pass grub-mkconfig_lib as adddeps.
2643
592fd0e4
VS
26442012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
2647 * util/getroot.c (grub_find_device): Likewise.
2648 (get_mdadm_uuid): Likewise.
2649 (grub_util_is_imsm): Likewise.
2650 (grub_util_pull_device): Likewise.
2651 * util/grub-probe.c (probe): Likewise.
2652
801a3027
BG
26532012-09-10 Benoit Gschwind <gschwind>
2654
2655 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
2656 (devs): Add devpath_8.
2657
c5052c81
PJ
26582012-09-08 Peter Jones <pjones@redhat.com>
2659
2660 * grub-core/Makefile.core.def (efifwsetup): New module.
2661 * grub-core/commands/efi/efifwsetup.c: New file.
2662 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
2663 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
2664 New define.
2665 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
2666
8e832f71
JS
26672012-09-05 Jiri Slaby <jslaby@suse.cz>
2668
2669 * configure.ac: Add SuSe path.
2670
f0f55752
CW
26712012-09-05 Colin Watson <cjwatson@ubuntu.com>
2672
2673 * NEWS: Fix typo.
2674
ecadc4c2
CW
26752012-09-05 Colin Watson <cjwatson@ubuntu.com>
2676
2677 * util/import_gcry.py: Sort cipher_files, to make build system
2678 generation more deterministic.
2679
64498f25
VS
26802012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
2683 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
2684 (grub_set_datetime): Likewise.
2685
9cc836a2
VS
26862012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
2689 warnings.
2690
bcfcea01
VS
26912012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
2694
a4099485
VS
26952012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
2698
265c162a
CW
26992012-09-04 Colin Watson <cjwatson@ubuntu.com>
2700
2701 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
2702 required for checkouts from bzr, but it may be useful for users or
2703 distributors wishing to update translations against a tarball
2704 distribution, and it can be helpful for the tarball to be a superset
2705 of what's in bzr.
2706
3d171e95
CW
27072012-09-04 Colin Watson <cjwatson@ubuntu.com>
2708
2709 * Makefile.am (EXTRA_DIST): Add
2710 grub-core/tests/boot/linux.init-mips.S,
2711 grub-core/tests/boot/linux.init-ppc.S, and
2712 grub-core/tests/boot/linux-ppc.cfg.
2713
f2c2503e
CW
27142012-09-04 Colin Watson <cjwatson@ubuntu.com>
2715
2716 * grub-core/mmap/mips/loongson: Remove empty directory.
2717
27182012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
2719
2720 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
2721 gone.
2722
ab2163d5
CW
27232012-09-04 Colin Watson <cjwatson@ubuntu.com>
2724
2725 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
2726 grub-sparc64-setup.
2727
ce938140
GS
27282012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2729
2730 * configure.ac: Strengthen the test for working -nostdinc -isystem.
2731
529f58a5
GS
27322012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
2733
2734 * po/POTFILES.in: Regenerated.
2735
16cf79e9
GS
27362012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
2737
2738 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
2739 (NetBSD): New subsection.
2740
39b27f1e 27412012-07-22 Ales Nesrsta <starous@volny.cz>
2742
2743 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
2744 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
2745
a885261b
VS
27462012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
2749 * util/grub.d/10_hurd.in: Add missing quoting.
2750 * util/grub.d/10_illumos.in: Likewise.
2751 * util/grub.d/10_kfreebsd.in: Likewise.
2752 * util/grub.d/10_linux.in: Likewise.
2753 * util/grub.d/20_linux_xen.in: Likewise.
2754
7bd29c01
VS
27552012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 New command `lsefi'.
2758
2759 * grub-core/Makefile.core.def (lsefi): New module.
2760 * grub-core/commands/efi/lsefi.c: New file.
2761 * include/grub/efi/api.h: Add more GUIDs.
2762
ac625d8f
VS
27632012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
2766 (grub_bsd_elf32_hook): Likewise.
2767 (grub_bsd_elf64_size_hook): Likewise.
2768 (grub_bsd_elf64_hook): Likewise.
2769 (grub_bsd_load_elf): Likewise.
2770
e73bb801
VS
27712012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
2774 if hash function is unavailable.
2775 (dec_stream_header): Likewise.
2776
e81db8b5
VS
27772012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
2780 filter state.
2781
d187a1c3
VS
27822012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 Fix coreboot compilation.
2785
2786 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
2787 (grub_vga_text_init_real): ... this.
2788 (grub_vga_text_fini): Rename to ...
2789 (grub_vga_text_fini_real): ... this.
2790
91a05f64
VS
27912012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
2794
6af96df7
VS
27952012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 * grub-core/lib/legacy_parse.c: Support clear and testload.
2798
4d569e12
VS
27992012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
2802
073b57bb
VS
28032012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * grub-core/fs/ext2.c: Experimental support for 64-bit.
2806
a706f4cc
VS
28072012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * grub-core/net/tftp.c (ack): Fix endianness problem.
2810 (tftp_receive): Likewise.
2811 Reported by: Michael Davidsaver.
2812
e7850aa9
VS
28132012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * gentpl.py: Make mans depend on grub-mkconfig_lib.
2816
28172012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
2820 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
2821 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
2822
35692881
VS
28232012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
2826 efi_mmap_size.
2827 Reported by: Stuart Hayes.
2828
c35fc5bd
VS
28292012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
2832
2833 * grub-core/Makefile.core.def (mda_text): New module.
2834 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
2835 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
2836 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
2837 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
2838 here.
2839 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
2840 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
2841 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
2842 here.
2843 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
2844 to ..
2845 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
2846 ... here
2847 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
2848 here.
2849 * grub-core/term/i386/vga_common.c: Removed.
2850 * include/grub/i386/vga_common.h: Likewise.
2851 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
2852 (grub_vga_cr_bw_read): Likewise.
2853 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
2854 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
2855 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
2856 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
2857 grub_vga_cr_read/grub_vga_cr_write.
2858 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
2859
5f91f701
VS
28602012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * configure.ac: Bump version to 2.00.
2863 * grub-core/normal/main.c (features): Add feature_200_final.
2864
0c4f85f6
VS
28652012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
28662012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
2867
2868 * NEWS: Fix unclarity and language mistakes.
2869
f923ad22
VS
28702012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
2873 additional size to 3 pages.
2874 Reported by: Stuart Hayes.
2875
d22029ba
VS
28762012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * NEWS: Add 2.00 entry.
2879
58eee08f
VS
28802012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
2883 put explicit "/" for empty path.
2884 (wildcard_expand): Improve dprintf.
2885
c59bdff7
VS
28862012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
2889 it's equal to currnode. This can happen with "" symlink.
2890
5e6a440a
YB
28912012-06-27 Yves Blusseau <blusseau@zetam.org>
2892
2893 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
2894 echo shell command by printf command.
2895
73a68bcb
VS
28962012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
2899 the value returned by firmware is the maximal position, not diumension.
2900 (grub_terminfo_output_state): Use a more sane fallback.
2901
392a603b
VS
29022012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
2905
42d0867f
VS
29062012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
2909 frequency to 150 MHz.
2910
489509f4
VS
29112012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 Apple fixes.
2914
2915 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
2916 __APPLE_
2917 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
2918 definition.
2919 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
2920
9f3fc883
VS
29212012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 Handle slash in HFS label.
2924
2925 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
2926 (grub_hfs_dir): Tanslate slash.
2927 (grub_hfs_label): Don't translate slash.
2928
54853fd7
VS
29292012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
2932 network protocol listing since it introduces problematic dependency on
2933 net module.
2934
4dc02ddf
VS
29352012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
2938
c50c867d
VS
29392012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 Init video early on yeeloong to avoid being rebooted by watchdog.
2942
2943 * grub-core/Makefile.am (gensm712): New target.
2944 (sm712_start.S): Likewise.
2945 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
2946 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
2947 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
2948 description.
2949 * include/grub/vga.h: Move registry definitions to...
2950 * include/grub/vgaregs.h: ... here.
2951
5f92c8a1
VS
29522012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
2955 signedness.
2956
e9e6f111
VS
29572012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
2960 platforms with firmware disk drivers in the core.
2961
754ad9eb
VS
29622012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
2965 informative verbose message.
2966 (read_lv): Handle 64-bit segment size.
2967
315654c2
VS
29682012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
2971
fb022c79
VS
29722012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
2975 character but still remove trainling spaces.
2976 (grub_fat_label): Ignore archive flag.
2977
8645f72c
VS
29782012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
2981 cast between linux_kernel_header and linux_kernel_params.
2982
36498496
VS
29832012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
2986 type for size.
2987 (grub_raid6_recover_func_t): Likewise.
2988 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
2989 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
2990
0b5ea6b8
VS
29912012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
2994
650cfcfe
GS
29952012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
2996
2997 Fix overflow.
2998
2999 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
3000 [__NetBSD__]: Add explicit cast before bitshift.
3001
8a4d6a44
VS
30022012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * configure.ac: Bump to 2.00~rc1.
3005
2fb97ed3
VS
30062012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
3009 half of $a0.
3010
1fa097dc
VS
30112012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
30122012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
3013
3014 * docs/grub.texi: Fix search syntax.
3015 (Multi-boot manual config): Put msdos rather than GPT example.
3016 Grammar corrections.
3017
c890ba78
VS
30182012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
3021
0f92dca7
VS
30222012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
3025
3988c4a0
VS
30262012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
3029 message on double free. Put the value of magic in case of mismatch.
3030
9e86d4c5
VS
30312012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 Speed-up video on yeeloong.
3034
3035 * grub-core/video/sm712.c (framebuffer): Remove render_target and
3036 add cached_ptr.
3037 (grub_video_sm712_video_fini): Unmap cached_ptr.
3038 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
3039 (grub_video_sm712_set_active_render_target): Removed.
3040 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3041 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
3042 sync caches.
3043
ed24c312
VS
30442012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 Avoid flushing the same line multiple times on loongson.
3047
3048 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
3049 Step in 32 bytes and not 1 byte.
3050 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
3051 Likewise.
3052
d1718e7d
VS
30532012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
3056 subvolumes.
3057
982f1909
VS
30582012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 Implement flow control for http.
3061
3062 * grub-core/net/http.c (parse_line): Handle response 206.
3063 (http_receive): Stall if too many packets are in the queue.
3064 (http_establish): Fix range header.
3065 (http_seek): Fix double free.
3066 (http_close): Likewise.
3067 (http_packets_pulled): New function.
3068 (grub_http_protocol): Set http_seek
3069 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
3070 (ack_real): Set window depending on i_stall.
3071 (grub_net_send_tcp_packet): Likewise.
3072 (grub_net_tcp_stall): New function.
3073 (grub_net_tcp_unstall): Likewise.
3074 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
3075 (grub_net_tcp_unstall): Likewise.
3076
bd407d6e
VS
30772012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/net/tftp.c: Decrease stall to 50 packets.
3080
c7564b8e
VS
30812012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
3084
a3706162
VS
30852012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 * tests/util/grub-shell.in: Fix a typo.
3088
b27069e0
VS
30892012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 Implement flow control for tftp.
3092
3093 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
3094 packets but stop only if stop condition is satisfied.
3095 (grub_net_fs_read_real): Call packets_pulled after real read. Use
3096 `stall' instead of `eof' as stop condition.
3097 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
3098 (http_err): Likewise.
3099 * grub-core/net/tftp.c (ack): Replace the first argument with data
3100 instead of socket.
3101 (tftp_receive): Stall if too many packets are in wait queue.
3102 (tftp_packets_pulled): New function.
3103 (grub_tftp_protocol): Set packets_pulled.
3104 * include/grub/net.h (grub_net_packets): New field count.
3105 (grub_net_put_packet): Increment count.
3106 (grub_net_remove_packet): Likewise.
3107 (grub_net_app_protocol): New field `packets_pulled'.
3108 (grub_net): New field `stall'.
3109
6b9cfac6
VS
31102012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
3113 sync part to handle them.
3114
f35abd81
VS
31152012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
3118 * grub-core/net/drivers/ieee1275/ofnet.c
3119 (grub_ieee1275_net_config_real): Likewise.
3120
0e7ec820
VS
31212012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
3124 the direct route for server/gateway.
3125
9d611a31
VS
31262012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
3129 IP address to server name since we may not hame the DNS.
3130
418f45ab
VS
31312012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
3134 freeing random buffer on failure.
3135 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
3136
44a0efc1
VS
31372012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
3140
531e2241
VS
31412012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
3144 reserved bytes.
3145 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
3146 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
3147 Handle malloc error correctly.
3148
cde393c9
VS
31492012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
3152 blocks.
3153
538478d0
VS
31542012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
3157 increment.
3158
9b55efe0
VS
31592012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
3162 none is explicitly specified.
3163
9eb832c3
VS
31642012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3165
3166 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
3167 while reallocating.
3168
d6b7c7c9
VS
31692012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 Respect netmask from bootp/dhcp.
3172
3173 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
3174 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
3175 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
3176 into ...
3177 (grub_net_add_ipv4_local): ... this.
3178 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
3179 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
3180 (grub_net_add_ipv4_local): New proto.
3181
67caf9eb
VS
31822012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
3185 determining EFI memory map size.
3186
43657558
VS
31872012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
3190
eb6d0dd3
VS
31912012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
3194 when looking for partition separator.
3195
31230544
VS
31962012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3199 Escape commas.
3200
918a2517
VS
32012012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 Restructure FAT driver to avoid hook in label reading as it hits a
3204 GCC bug.
3205
3206 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
3207 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
3208 (grub_fat_iterate_dir): Split into ...
3209 (grub_fat_iterate_init): ... this, ...
3210 (grub_fat_iterate_fini): ... this, ...
3211 (grub_fat_iterate_dir_next): ... and this. All users updated.
3212
9f1d654e
VS
32132012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3216 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
3217 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3218 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
3219 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
3220 New fields last_key and last_key_time.
3221 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
3222 extended key-esc into extended key-extended key.
3223
52f0f643
VS
32242012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 Avoid unnecessary memcpy of whole video buffer.
3227
3228 * grub-core/video/fb/video_fb.c (dirty): New struct.
3229 (framebuffer): Add members current_dirty and previous_dirty.
3230 (dirty): New function.
3231 (grub_video_fb_fill_rect): Update dirty.
3232 (common_blitter): Likewise.
3233 (grub_video_fb_scroll): Likewise.
3234 (doublebuf_blit_update_screen): Copy only dirty part.
3235 (doublebuf_pageflipping_update_screen): Likewise.
3236 (grub_video_fb_doublebuf_blit_init): Init dirty.
3237 (doublebuf_pageflipping_init): Likewise.
3238 (grub_video_fb_setup): Likewise.
3239
e169a180
VS
32402012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
3243 poll rate.
3244
48556879
VS
32452012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 Fix wildcard regexp dot and other special characters handling.
3248 Reported by: Robert Mabee.
3249
3250 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
3251 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
3252 (split_path): Trigger expansion on '?'.
3253 (unescape): New function.
3254 (wildcard_expand): Unescape parts copied without globbing.
3255 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
3256 (grub_script_arglist_to_argv): Don't unescape expansions.
3257
0494408e
VS
32582012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * include/grub/net.h (grub_net_card): New member txbufsize.
3261 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
3262 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
3263 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
3264 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
3265 txbufsize.
3266 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
3267 compatible property to check for macs. Set
3268 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
3269 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
3270 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
3271 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
3272 (send_card_buffer): Use txbuf.
3273 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
3274 nested function out of the parent while on it.
3275
cc35fe8f
VS
32762012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
3279 presence check.
3280 (grub_ieee1275_net_config_real): Fix config pointer.
3281
970a0a09
VS
32822012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
3285 filename parsing to non-block devices.
3286
3e19bf87
VS
32872012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * grub-core/kern/device.c (grub_device_open): Remove dead code.
3290
c62d1a0c
VS
32912012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
3294 All users updated.
3295
ef76bec3
VS
32962012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
3299 UUID search command even if hints probing failed.
3300
33012012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
3302
3303 * po/POTFILES.in: Regenerated.
3304
70aaf305
VS
33052012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 Speed-up video on fuloong.
3308
3309 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
3310 New function.
3311 (grub_pci_device_unmap_range): Handle non-cached address.
3312 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
3313 add direct_ptr.
3314 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
3315 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
3316 (grub_video_sis315pro_set_active_render_target): Removed.
3317 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
3318 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3319 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
3320 sync caches.
3321 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
3322 New proto.
3323
10400f0b
VS
33242012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3325
3326 * docs/grub.texi (Multi-boot manual config): New section.
3327
ba67e2c6
VS
33282012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 Avoid slow read-back from VRAM.
3331
3332 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
3333 Move from here ...
3334 * grub-core/video/fb/video_fb.c
3335 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
3336 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
3337 (front_target): Remove front_target. Add pages.
3338 (grub_video_fb_init): Skip setting front_pages.
3339 (grub_video_fb_fini): Likewise.
3340 (doublebuf_blit_update_screen): Use pages.
3341 (grub_video_fb_doublebuf_blit_init): Likewise.
3342 (doublebuf_pageflipping_init): Allocate offscreen buffer.
3343 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
3344 (grub_video_fb_setup): Prefer doublebuffing.
3345
377c98cb
VS
33462012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
3349 gzio.
3350
eac49cff
VS
33512012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 Add loongson tests.
3354
3355 * tests/util/grub-shell.in: Handle loongson.
3356 * tests/partmap_test.in: Add loongson to the list of platform using ATA
3357 drivers.
3358 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
3359 Reboot instead of shutdown if REBOOT is defined.
3360
0321415e
VS
33612012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
3364 sized ports since unlike on real hardware qemu supports only 32-bit
3365 regs.
3366
3f2bdd8f
VS
33672012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * Makefile.util.def (grub-mkrescue): Enable on loongson.
3370 * util/grub-mkrescue.in: Handle loongson.
3371
29a049c9
VS
33722012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
3375 Set is_part appropriately.
3376 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
3377 names. Canonicalize partition without full disk.
3378
4abde346
VS
33792012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 Revert usb-quiesce since it's wrong.
3382
3383 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
3384 (grub_ofdisk_init): Don't do quiesce.
3385
61f1d93b
VS
33862012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
3389 PowerMac workaround to Xserves as well.
3390 Information supplied by: Benjamin Herrenschmidt.
3391
a09eb541
VS
33922012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 Don't assume that beginning address is also the entry point on ppc.
3395
3396 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
3397 (grub_linux_boot): Use linux_entry.
3398 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
3399 (grub_linux_load64): Likewise.
3400
505b3c9b
VS
34012012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
3404
cbe0b4ef
VS
34052012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
3408 needlessly lose the console.
3409
3006e981
VS
34102012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
3413 space.
3414
4e5a96b0
VS
34152012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3416
7da036bb
VS
3417 Remove non-functional EFI grub_get_rtc. Put a better fatal message
3418 than current grub_get_rtc() not implemented when booted with
3419 coreboot without TSC.
3420
3421 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
3422 Add machine/time.h to kernel headers on loongson.
3423 * grub-core/Makefile.core.def (kernel): Remove
3424 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
3425 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
3426 (grub_get_rtc): Likewise.
3427 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
3428 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
3429 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
3430 * grub-core/kern/i386/tsc.c (grub_tsc_init)
3431 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
3432 rather than installing known non-working time source.
3433 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
3434 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
3435 * include/grub/time.h: Don't include machine/time.h.
3436 * include/grub/efi/time.h: Removed.
3437 * include/grub/i386/efi/time.h: Likewise.
3438 * include/grub/i386/ieee1275/time.h: Likewise.
3439 * include/grub/powerpc/ieee1275/time.h: Likewise.
3440 * include/grub/sparc64/ieee1275/time.h: Likewise.
3441 * include/grub/x86_64/efi/time.h: Likewise.
3442
34432012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
3446
3447 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
3448 value.
3449 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
3450 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
3451 with dotless variants when any combining above is present.
3452
5561c22d
VS
34532012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
3456 text and not binary.
3457
96f7e60e
VS
34582012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 Stop polling as soon as we have the packet we were waiting for.
3461
3462 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
3463 All users updated.
3464 * grub-core/net/arp.c (have_pending): New var.
3465 (pending_req): Likewise.
3466 (grub_net_arp_send_request): Fill pending_req and use have_pending as
3467 stop indicator.
3468 (grub_net_arp_receive): Set have_pending.
3469 * grub-core/net/dns.c (recv_data): New field stop.
3470 (recv_hook): Set stop.
3471 (grub_net_dns_lookup): Init stop and use as stop condition.
3472 * grub-core/net/http.c (http_establish): Use headers_recv as stop
3473 condition.
3474 * grub-core/net/net.c (grub_net_poll_cards): New argument
3475 stop_condition. Stop when it goes true.
3476 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
3477 indicator.
3478 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
3479
3e747239
VS
34802012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 Keep TX and RX buffers on EFI rather than always allocate new ones.
3483
3484 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
3485 card. All users updated.
3486 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
3487 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
3488 (get_card_packet): Likewise.
3489 (grub_efinet_findcards): Init new fields.
3490
f695e99a
VS
34912012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
3494 compilation error on sparc64.
3495
9e5e66d1
VS
34962012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 Use ITC on IA64 rather than broken routine based on daytime.
3499
3500 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
3501 ia64.
3502 (grub_get_rtc) [__ia64__]: Likewise.
3503 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
3504 (get_itc): New function.
3505 (grub_rtc_get_time_ms): Likewise.
3506 (grub_machine_init): Calibrate ITC.
3507 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
3508 Keep only on non-ia64. Don't export since it's broken and used only
3509 if TSC is unavailable.
3510
a1767404
VS
35112012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
3514 even if it's used.
3515 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
3516 Skip if parent is unused.
3517
34b2bced
VS
35182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
3521
5e619f40
VS
35222012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 Fix wildcard escaping.
3525
3526 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
3527 * grub-core/script/execute.c (wildcard_escape): .. to here.
3528 Don't escape dot.
3529 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
3530 * grub-core/script/execute.c (wildcard_unescape): .. to here.
3531 Don't escape dot.
3532 * grub-core/script/execute.c (gettext_append): Always escape.
3533 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
3534 * grub-core/script/yylex.l: Don't cut away the escaping.
3535 * tests/grub_script_echo1.in: Add tests with wildcard.
3536
c8ca5855
VS
35372012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
3540 (ftdi_hw_configure): Likewise.
3541 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
3542 define.
3543 (real_config): Handle 1.5 stop bits.
3544 (pl2303_hw_configure): Likewise.
3545
7183452c
VS
35462012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 * Makefile.am: Add ppc linux bootcheck.
3549 * grub-core/tests/boot/linux-ppc.cfg: New file.
3550 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
3551
f57c84cd
VS
35522012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * tests/grub_script_expansion.in: Skip network protocols.
3555
ecfc6207
VS
35562012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
3559
8d03d284
VS
35602012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
3563 --rom-directory.
3564 Add -graft-points.
3565
61c42af0
VS
35662012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 ESCC serial driver for conducting sautomated tests in qemu.
3569 Not tested on real hardware.
3570
3571 * include/grub/serial.h (grub_serial_port): New field escc_desc.
3572 * grub-core/term/ieee1275/escc.c: New file.
3573 * grub-core/Makefile.core.def (escc): New module.
3574
08fd1291
VS
35752012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
3578 invalid on error.
3579 (serial_hw_fetch): Don't read invalid handle.
3580 (serial_hw_put): Don't write into invalid handle.
3581
08dafeea
VS
35822012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 Add a 1.5 stop bits value.
3585
3586 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
3587 * include/grub/serial.h (grub_serial_stop_bits_t): Add
3588 GRUB_SERIAL_STOP_BITS_1_5.
3589
9068fdcf
VS
35902012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
3593 value rather than let it uninited.
3594
f4d5820f
VS
35952012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/commands/wildcard.c (+check_file): New function.
3598 (wildcard_expand): Don't expand to non-existing files, expand with
3599 suffix and not attempt to expand if not needed.
3600
3d2de9a7
VS
36012012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
3604 out of partitions containing other partitions.
3605
c5c81ff9
VS
36062012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
3609 on some qemu versions with GRUB.
3610
3611 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
3612 define.
3613 (grub_openbsd_bootarg_pcibios): New struct.
3614 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
3615 Add PCIINFO.
3616
08a14e0b
VS
36172012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * tests/util/grub-shell.in: Trim firmware output on EFI.
3620
cede3ca3
VS
36212012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
3624 and coreboot since it's already in kernel.
3625
558d3a60
VS
36262012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
3629 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3630 to here. New return value start. All users updated.
3631 Recursively scan linear mappings.
3632 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
3633 proto.
3634 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3635 Use grub_util_get_dm_node_linear_info.
3636 * util/getroot.c (convert_system_partition_to_system_disk): Use
3637 grub_util_info rather than grub_dprintf.
3638 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
3639
60fde14d
VS
36402012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
3643
3644 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
3645 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
3646
24bd8838
VS
36472012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 * include/grub/types.h (grub_set_unaligned64): New function.
3650 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
3651 (setup): Likewise.
3652
7bc06a49
VS
36532012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
3656 (grub_ofdisk_fini): Quiesce USB devices.
3657
49cea015
VS
36582012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
3661 caches.
3662
8dcbe03b
VS
36632012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
3666
5b258735
VS
36672012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * grub-core/disk/pata.c (grub_pata_pio_read)
3670 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
3671 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
3672
37ba07eb
VS
36732012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 Extend automated tests to qemu-mips.
3676
3677 * Makefile.am: reorganise tests and enable qemu-mips.
3678 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
3679 * grub-core/tests/boot/linux.init-mips.S: New file.
3680 * tests/partmap_test.in: Handle ata0 disks.
3681 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
3682 non-pc i386.
3683
070038f8
VS
36842012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3685
3686 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
3687 ia64.
3688 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
3689 quotes while on it.
3690
004be2cd
VS
36912012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
3694 (grub_halt): Likewise.
3695 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
3696
b1622487
VS
36972012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3698
3699 * grub-core/term/serial.c (grub_serial_register)
3700 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
3701 the behaviour in line with x86 platforms.
3702
b7b4ab33
VS
37032012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
3706 (grub_ata_strncpy): Likewise.
3707 (grub_ata_identify): Add missing byteswaps.
3708
5e3535ae
VS
37092012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
3712 byte-swap.
3713 (screen_read_char): Likewise.
3714 (grub_vga_text_cls): Likewise.
3715
c21b17e6
VS
37162012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
3719 filenames.
3720 (make_file_path): Likewise.
3721
bf293dec
VS
37222012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
3725 machines.
3726 Tested by: Paulo Flabiano Smorigo.
3727 Crucial information about API supplied by: Coleen <Last name unknown>.
3728 Reviewed by: Coleen <Last name unknown>.
3729
81f6ef0e
VS
37302012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 * util/grub-mkimage.c: Disable -Wcast-align.
3733
7284143a
VS
37342012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
3737 as they are fatal.
3738
b99f3e00
VS
37392012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
3742
944f752d
VS
37432012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 * util/grub-probe.c (escape_of_path): Fix double free.
3746
6cce6f38
VS
37472012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * grub-core/commands/videoinfo.c (hook): Show pitch.
3750
1e1eb50e
VS
37512012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 * util/grub.d/20_linux_xen.in: Skip xen-syms.
3754
1c715b5a
VS
37552012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
3758 (probe): Add ieee1275 to OFW devices.
3759
007ae52d
VS
37602012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
3763
4557a36d
VS
37642012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 Handle IBM OFW path.
3767
3768 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
3769 available.
3770 (of_path_of_scsi): Handle vdevice.
3771
efbeefe9
VS
37722012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
3775 Allocate in multiples of 16 to avoid adding a few bytes free region the
3776 windows bugs upon.
3777
15a940bb
VS
37782012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
3781 Allocate in multiples of 16 to avoid adding a few bytes free region the
3782 windows bugs upon.
3783 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
3784
6e5efd60
VS
37852012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
3788 resolutions.
3789 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
3790 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
3791
0d3d137e
IS
37922012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
3793
3794 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
3795
45dbe300
VS
37962012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
3799 resulted in \\ at the end of the line.
3800
6d8db947
VS
38012012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3802
3803 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
3804 (grub_parser_cmdline_state): Likewise.
3805 (grub_parser_split_cmdline): Likewise.
3806
de89d338
VS
38072012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
3810 /dev/root and /dev/dm-*.
3811
00d41dee
VS
38122012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
3815 fix partially stale display.
3816
f95d1f11
VS
38172012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * grub-core/normal/menu_entry.c (backward_char): Use right line for
3820 substraction.
3821
6297e197
VS
38222012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
3825 Fix MBR remapping workaround.
3826 (grub_util_biosdisk_read) [__linux__]: Likewise.
3827
8a7ecad3
VS
38282012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * util/grub-install.in: Check for ieee1275 and not ieee1276.
3831
2b34f944
VS
38322012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * configure.ac: Bump to beta6.
3835
684aef11
CW
38362012-05-31 Christer Weinigel <christer@weinigel.se>
3837
3838 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
3839
05b0bb91
VS
38402012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
3843 (grub_cmd_linux): Likewise.
3844
bda36bfa
CW
38452012-05-31 Christer Weinigel <christer@weinigel.se>
3846
3847 Fix EHCI low-speed.
3848
3849 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
3850 (GRUB_EHCI_MULT_TWO): Likewise.
3851 (GRUB_EHCI_MULT_THREE): Likewise.
3852 (GRUB_EHCI_CMASK_MASK): New enum value.
3853 (GRUB_EHCI_SMASK_MASK): Likewise.
3854 (GRUB_EHCI_CMASK_OFF): Likewise.
3855 (GRUB_EHCI_SMASK_OFF): Likewise.
3856 (grub_ehci_pci_iter): Enable periodic schedule.
3857 (grub_ehci_parse_notrun): Likewise.
3858 (grub_ehci_restore_hw): Likewise.
3859 (grub_ehci_setup_qh): Set flags for low speed transfers.
3860 (grub_ehci_find_qh): Use periodic list for low speed.
3861 (grub_ehci_setup_transfer): Check periodic queue as well.
3862 (grub_ehci_check_transfer): Likewise.
3863 (grub_ehci_cancel_transfer): Cancel periodic transfer.
3864
e12bcb1c
PFS
38652012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3866
3867 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
3868 parameter is used.
3869
bcc75fb3
PJ
38702012-05-31 Peter Jones <pjones@redhat.com>
3871
3872 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
3873 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
3874 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
3875
f19cb95e
VS
38762012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
3879 uninited variable. Allocate at least setup_sects.
3880
a4e5ca80
VS
38812012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 Fix handling of EFI with big memory maps.
3884
3885 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
3886 (real_mode_mem): Likewise.
3887 (real_mode_target): Likewise.
3888 (real_mode_pages): Likewise.
3889 (prot_mode_pages): Likewise.
3890 (linux_params): New var.
3891 (linux_cmdline): Likewise.
3892 (free_pages): Don't set real mode variables.
3893 (allocate_pages): Don't allocate real mode memory.
3894 (grub_e820_add_region): Remove the limit.
3895 (grub_linux_boot): Allocate and copy real mode memory.
3896 (grub_linux_unload): Free linux_cmdline.
3897 (grub_cmd_linux): Use temporary storage for parameters.
3898 (grub_cmd_initrd): Likewise.
3899 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
3900 (linux_kernel_params): Make it 1K big.
3901
ddb73558
VS
39022012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * Makefile.util.def: Remove -Wno-format.
3905 * grub-core/Makefile.core.def: Likewise.
3906
1c4afb60
VS
39072012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * tests/cmp_unit_test.c: Add missing failure message.
3910 * tests/example_unit_test.c: Likewise.
3911 * tests/printf_unit_test.c: Likewise.
3912
941e3a6d
VS
39132012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
3916 relaxation of protective MBR requirements.
3917
b105df76
VS
39182012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * configure.ac: Add condition for COND_HOST_XNU.
3921 * Makefile.util.def (10_xnu): New script.
3922 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
3923
84e1569e
VS
39242012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
3927 objconv bug.
3928
130c0f77
VS
39292012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
3932 Binary on other platforms stays identical.
3933
6fd0b143
VS
39342012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
3937 Apple.
3938
0af1751d
VS
39392012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
3942
176d5f7d
VS
39432012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
3946 rather than defining size_t ourselves to avoid conflict.
3947
7de5e20a
VS
39482012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
3951 initialisation to avoid __bzero reference.
3952
f7143efe
VS
39532012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
3956 version.
3957 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
3958 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
3959 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
3960 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
3961 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
3962
e6ad0555
VS
39632012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
3966 * grub-core/kern/misc.c: Likewise.
3967 * grub-core/loader/i386/xnu.c: Likewise.
3968 * include/grub/i386/tsc.h: Likewise.
3969 * include/grub/symbol.h: Likewise.
3970
4a5a3c4a
VS
39712012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
3974 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
3975 on older compiler.
3976
037f6d90
VS
39772012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
3980 Implement Apple flavour.
3981 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
3982
f7194551
VS
39832012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
3986 (memmove) [__APPLE__]: Likewise.
3987 (memcpy) [__APPLE__]: Likewise.
3988 (memset) [__APPLE__]: Likewise.
3989 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
3990 (memmove) [__APPLE__]: Likewise.
3991 (memcpy) [__APPLE__]: Likewise.
3992 (memset) [__APPLE__]: Likewise.
3993
85a730ca
VS
39942012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
3997 dependency discard.
3998
40e80b94
VS
39992012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/normal/main.c (read_config_file): Provide config_file and
4002 config_directory.
4003 * util/grub.d/41_custom.in: Use config_directoy when available.
4004
9da59c32
VS
40052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
4008 (grub_bfs_dir): Likewise.
4009
2787ae53
PJ
40102012-05-27 Peter Jones <pjones@redhat.com>
4011
4012 The old code gives arguments to a printf function which can't work
4013 correctly, and the compiler complains.
4014
4015 * grub-core/tests/example_functional_test.c (example_test): Add
4016 missing text.
4017 * grub-core/tests/lib/test.c (add_failure): Rewrite.
4018 * include/grub/test.h (grub_test_assert_helper): New declaration.
4019 (grub_test_assert): Use grub_test_assert_helper.
4020
526ef13d
VS
40212012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
4024 (exfctest): ... this to avoid overlong filenames.
4025 All users updated.
4026
20dd511c
VS
40272012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 Handle "." and ".." on squashfs.
4030
4031 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
4032 Make inode numbers into stack.
4033 (grub_squash_read_symlink): Use stack.
4034 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
4035 (make_root_node): Fill stack.
4036 (grub_squash_open): Use stack.
4037
1d80c62a
VS
40382012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
4041 freeing.
4042
d336f652
VS
40432012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
4046 stderr on test calls.
4047
8b43f587
VS
40482012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
4051
80a3dc3f
VS
40522012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
4055
47e297d4
VS
40562012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
4059 "..".
4060
df042ccb
VS
40612012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
4064 (grub_hfsplus_iterate_dir): Add "." and "..".
4065
fc977f48
VS
40662012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * grub-core/fs/cpio.c (canonicalize): Handle "..".
4069 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
4070
f3250e5f
VS
40712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
4074 (find_path): Handle "." and "..".
4075
fd8ed4c5
VS
40762012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
4079 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
4080 (grub_affs_iterate_dir): Handle hardlinks.
4081
4ce776d2
MG
40822012-05-26 Matthew Garrett <mjg@redhat.com>
4083
4084 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
4085 (grub_efi_console_fini): Likewise.
4086 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
4087 (grub_video_gop_fill_mode_info): Rename to ...
4088 (grub_video_gop_fill_real_mode_info): ... this.
4089 (grub_video_gop_fill_mode_info): New function.
4090 (grub_video_gop_setup): Setup double framebuffer.
4091 (grub_video_gop_get_info_and_fini): Use original framebuffer.
4092 Free offscreen.
4093 (grub_video_gop_swap_buffers): Copy framebuffer.
4094 (grub_video_gop_fini): Free offscreen buffer.
4095 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
4096 New enum.
4097 (grub_efi_gop_blt_pixel): New struct.
4098
683031ba
VS
40992012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * gentpl.py: Remove error disabling for objconv.
4102
c2deb798
VS
41032012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 * configure.ac: Remove -Wunitialized as it's not available on older
4106 compilers.
4107
41082012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
4109
4110 Fix extent overflow comparator.
4111
4112 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
4113 (grub_hfsplus_read_block): Set type.
4114 (grub_hfsplus_cmp_extkey): Compare type.
4115
d6b1fd36
VS
41162012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
4119
0a9aa0f6
VS
41202012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
4123 than 0.
4124
8360e159
VS
41252012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
4128 (dejavu_bold_14.pf2): New target.
4129
501b9e4b
VS
41302012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * configure.ac: Fix djvu font detection.
4133
7026b0e2
VS
41342012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
4137 ext* instead of ext2.
4138
c2a51ade
VS
41392012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
4142 name with \0.
4143
8f803a5d
JU
41442012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
4145
4146 * docs/grub-dev.texi: Remove dot from .png.
4147
13c6353f
VS
41482012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
4151 protective entry in any slot.
4152 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
4153 if protective entry is found in any slot.
4154
4155 Protective entry in non-first slot make no sense but is a widespread
4156 brain damage.
4157
4cf6be1b
VS
41582012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
4161
937d1c44
VS
41622012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
4165 with old reiserfs.
4166 (grub_reiserfs_open): Don't free root.
4167
021d90ec
VS
41682012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
4171 after freeing for safety.
4172
967b2b64
VS
41732012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
4176 Reported by: Jordan Uggla.
4177
34274d02
JU
41782012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
4179
967b2b64
VS
4180 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
4181 actual implementation. Specifically, clarify that the grub menu will
4182 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
4183 passed.
34274d02 4184
dcaaae9d
BH
41852012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
4186
4187 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
4188 of r0.
4189
7086ad52
VS
41902012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 Remove unjustified hard dependency of normal.mod on gfxterm.
4193
4194 * include/grub/term.h (grub_term_output): New member fullscreen.
4195 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
4196 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
4197 (grub_gfxterm): Set .fullscreen.
4198 * grub-core/normal/menu.c (menu_init): Use fullscreen.
4199 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
4200
37ed2c9b
VS
42012012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
4204 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 4205 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 4206
a4469c88
VS
42072012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
4210
4e461486
VS
42112012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4214 a bad FS.
4215
aa78f5c4
VS
42162012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
4219 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
4220
197626b5
VS
42212012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
4224 (grub_jfs_mount): Fill caseins.
4225 (grub_jfs_find_file): Respect caseins.
4226
8ad3f28c
VS
42272012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
4230 through UTF-16.
4231
0c6c324e
VS
42322012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
4235 New argument origpath. All users updated.
4236
c6666ba6
VS
42372012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
4240 (read_attr): Ensure that we read start of possibly compressed block.
4241
e28e5fe5
VS
42422012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
4245 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
4246 All users updated.
4247
5fc23ab2
VS
42482012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4249
4250 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
4251 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
4252 (dejavu.pf2): Replace with ...
4253 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
4254 this.
4255
79dbc21c
VS
42562012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * util/grub.d/20_linux_xen.in: Add missing line.
4259
d2fcfb0c
VS
42602012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
4263 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
4264 (grub_utf16_to_utf8): Likewise.
4265
5560e9d6
VS
42662012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
4269 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
4270 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4271 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
4272 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4273 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
4274
42752012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
4276
4277 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4278 a bad FS.
4279
5560e9d6 42802012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
4281
4282 * grub-core/fs/udf.c (read_string): Bail out on size=0.
4283 (grub_udf_read_symlink): Handle read_string failure.
4284
5eae3175
VS
42852012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
4288 comment.
4289
c1ad82db
VS
42902012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 Fix handling of UDF symlinks.
4293
4294 * grub-core/fs/udf.c (read_string): New argument outbuf.
4295 All users updated.
4296 (grub_ufs_read_symlink): Rename to ...
4297 (grub_udf_read_symlink): ... this. All users updated.
4298 Handle symlinks with more than one component.
4299
33eca6e0
VS
43002012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
4303 symlinks. Replace leading colon with a slash.
4304
57f4a70b
VS
43052012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
4308 filename.
4309
38c8ee20
VS
43102012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
4313 match in inner node.
4314
2e57f28f
VS
43152012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
4318 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
4319 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
4320 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
4321 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
4322 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
4323 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
4324 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
4325 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
4326
fe8c2f11
VS
43272012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 Use grub-probe and not cmp to check that disk is empty.
4330
4331 * util/grub-install.in: Use grub-probe for zero-check.
4332 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
4333 (probe): Handle PRINT_ZERO_CHECK.
4334 (argp_parser): Handle -t zero_check.
4335
43362012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
4337
4338 Flush block cache on adding disk to device map.
4339
4340 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
4341 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
4342 adding.
4343 (read_device_map): Likewise.
4344 (open_device): Flush on opening.
4345
690434e8
VS
43462012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
4349 (handle_symlink): Fix off-by-one error.
4350 Canonicalize the target.
4351 (grub_cpio_dir): Canonicalize the name.
4352 Fix memory leak.
4353 Set directory.
4354 (grub_cpio_open): Canonicalize the name.
4355
742d2be6
VS
43562012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
4359 handling.
4360
3244fe96
VS
43612012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
4364 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
4365
8aeb1837
VS
43662012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
4369 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 4370 All users updated.
8aeb1837 4371
9133fd05
VS
43722012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
4375 counterpart.
4376
6d521c5b
VS
43772012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 Fix UFS1 big file support.
4380
4381 * grub-core/fs/ufs.c (INODE): Removed.
4382 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
4383 64-bit.
4384 (INODE_MODE): Simplify.
4385 (grub_ufs_inode): Use uint64_t for size and not int64_t.
4386 (grub_ufs_lookup_symlink): Don't use INODE.
4387
21b82e17
VS
43882012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 Fix minixfs with non-power-of-two blocks since it's supported by minix.
4391
4392 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
4393 (grub_minix_data): Replace log_block_size with block_size.
4394 (grub_minix_read_file): Use block_size but avoid 64-bit division.
4395 (grub_minix_mount): Fill block_size.
4396
43972012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
4398
4399 * configure.ac: Bump to beta5.
4400
f417ed04
VS
44012012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 Fix wrapped HFS+ handling.
4404
4405 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
4406 blocks_start. All users updated.
4407 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
4408 wrapping offset.
4409 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
4410
607d282b
VS
44112012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 Fix long symlinks on reiserfs.
4414
4415 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
4416 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
4417 (grub_reiserfs_iterate_dir): Save size for non-directories.
4418 (grub_reiserfs_open): Don't reread stat block as we already know the
4419 size.
4420 (grub_reiserfs_read): Split into...
4421 (grub_reiserfs_read_real): ... and ...
4422 (grub_reiserfs_read): ...this.
4423
ae16024d
VS
44242012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 Fix non-indexed JFS.
4427
4428 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
4429 (grub_jfs_data): New field namecomponentlen.
4430 (grub_jfs_mount): Fill namecomponentlen.
4431 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
4432
eea1e26e
VS
44332012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
4436 * tests/grub_script_echo1.in: Add tests.
4437
df760f77
VS
44382012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * util/grub-install.in: Ignore empty devicetree directory.
4441
5efb817d
B
44422012-05-08 Bean <bean123ch@gmail.com>
4443
4444 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
4445 All users updated.
4446 (free_rsm): Free header as well.
4447 (free_old_fragments): Fix memory leak.
4448 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
4449 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
4450 (destroy_pq): Likewise.
4451 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
4452
668ea6d2
VS
44532012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
4456 resulting hash as a precaution.
4457
1739b1fe
VS
44582012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
4461 '_' in variable names.
4462 * grub-core/net/net.c (grub_net_network_level_interface_register):
4463 Likewise.
4464
6ae485aa
VS
44652012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 Fix AFFS with non-512B blocks.
4468
4469 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
4470 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
4471 (grub_affs_data): Replace blocksize with log_blocksize.
4472 (grub_affs_read_block): Fix non-512B blocks.
4473 (grub_affs_read_symlink): Likewise.
4474 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
4475 (grub_affs_read): Fix non-512B blocks.
4476 (grub_affs_label): Likewise.
4477 (grub_affs_mtime): Likewise.
4478 (grub_affs_mount): Fix block detection routine.
4479
d20fab84
VS
44802012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 Add filesystem mtime to AFFS.
4483
4484 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
4485 (aftime2ctime): New function.
4486 (grub_affs_dir): Use aftime2ctime.
4487 (grub_affs_label): Fix return value.
4488 (grub_affs_mtime): New function.
4489 (grub_affs_fs): Add mtime.
4490
e87b10f5
VS
44912012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
4494 UTF-8.
4495
7dceec9b
VS
44962012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
4499 UTF-8.
4500
2f48221f
VS
45012012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
4504
dacd85cf
VS
45052012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
4508 flags.
4509 (FLAGS_CASE_SENSITIVE): New enum value.
4510 (cache_entry): New struct.
4511 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
4512 cache_size and cache.
4513 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
4514 Add log_blocksize and fshelp_flags.
4515 (grub_sfs_read_extent): Handle non-512 blocks.
4516 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
4517 (grub_sfs_read_file): Handle non-512 blocks.
4518 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
4519 fshelp_flags.
4520 (grub_sfs_read_symlink): Handle non-512 blocks.
4521 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
4522 (grub_sfs_dir): Free cache.
4523 (grub_sfs_close): Likewise.
4524
24e9a854
VS
45252012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
4528 filesystems.
4529
62ace64d
VS
45302012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
4533
83b2e89c
VS
45342012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
4537
75ccaea3
VS
45382012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
4541 (grub_sfs_read_extent): Likewise.
4542 (grub_sfs_read_block): Likewise.
4543 (grub_sfs_mount): Likewise.
4544 (grub_sfs_iterate_dir): Likewise.
4545 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
4546 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
4547
1b8463f2
VS
45482012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 Fix errors on compressed NTFS with 512B clusters.
4551
4552 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
4553 types.
4554 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
4555 not 0.
4556 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
4557 Relax check for inline extents.
4558 (ntfscomp): Return correct -1 on error and not 0.
4559
4f8e368f
VS
45602012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 * util/grub-install.in: Fix handling of prefix containing spaces.
4563
6f5d5ee8
VS
45642012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
4567 (grub_squash_read_data): Fix offset byte-swapping.
4568
ce41ab7a
VS
45692012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
4572 per common usage and preffered in several parts of code.
4573 (grub_memcmp): Likewise.
4574 (grub_strncmp): Likewise.
4575 * include/grub/misc.h (grub_strcasecmp): Likewise.
4576 (grub_strncasecmp): Likewise.
4577 * Makefile.util.def (cmp_test): New test.
4578 (grub_script_strcmp): Likewise.
4579 * tests/cmp_unit_test.c: New file.
4580 * tests/grub_script_strcmp.in: Likewise.
4581 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
4582
49717bf4
VS
45832012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 * include/grub/pci.h: Move enums into no-asm part.
4586
0a308f64
VS
45872012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
4590
1796965f
ST
45912012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4592
4593 * util/getroot.c (find_hurd_root_device): Try to make error message
4594 and comments to translators clearer.
4595
4e9b2819
VS
45962012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
4599
076aeb50
VS
46002012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
4603 btrfs.
4604
19424d94
VS
46052012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * docs/grub.cfg: Update.
4608
ebb73076
VS
46092012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 * docs/grub.texi (PXE): Remove not present variables.
4612
9a1b669c
VS
46132012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * grub-core/net/net.c (defserver_set_env): New function.
4616 (defserver_get_env): Likewise.
4617 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
4618
d38bf7d3
VS
46192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
4622 entries.
4623
46242012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
4625
4626 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
4627 * grub-core/kern/emu/hostdisk.c: Likewise.
4628
e5e4ca48
ST
46292012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
4630
4631 Handle hurd userspace partitions.
4632
4633 * util/getroot.c (find_hurd_root_device): New function.
4634 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
4635
56bb5dd5
VS
46362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
4639 names.
4640 Reported by: Bastian Blank.
4641
9e8bc27a
VS
46422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
4645 crossing page boundary.
4646
aa01499d
VS
46472012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 Fix B-tree search in BFS, especially in presence of non-ASCII
4650 characters.
4651
4652 * grub-core/fs/bfs.c (bfs_strcmp): New function.
4653 (find_in_b_tree): Use standard bsearch + btree algorithm.
4654
57006035
VS
46552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
4658 and so on.
4659
9d34bb85
MG
46602012-05-03 Matthew Garrett <mjg@redhat.com>
46612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 Suspend broadcom cards in order to stop their DMA.
4664
4665 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
4666 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
4667 (pci): Don't build on x86 EFI.
4668 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
4669 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
4670 New function.
4671 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
4672 stop_broadcom if running on EFI.
4673 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
4674 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
4675 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
4676 (grub_pci_find_capability): New proto.
4677
01aab997
VS
46782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * docs/grub.texi: Remove dot from the extension as it apparently
4681 doesn't work with some makeinfo versions.
4682
fbd8dca6
VS
46832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
4686 with GRUB expectance.
4687
dab797f4
VS
46882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
4691
1516bfb4
VS
46922012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
4695 zero after directory block since last entry may be not 0-terminated if
4696 it ends on block boundary. Use continue instead of if spanning whole
4697 loop.
4698
a3a0eace
VS
46992012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 Support 4K sectors UDF inline files.
4702
4703 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
4704 (grub_udf_extended_file_entry): Likewise.
4705 (grub_fshelp_node): Name the anonymous union. Put block at the end.
4706 All users updated.
4707 (get_fshelp_size): New function.
4708 (grub_udf_read_icb): Read whole block.
4709 (grub_udf_iterate_dir): Likewise.
4710 (grub_udf_dir): Likewise.
4711 (grub_udf_open): Likewise.
4712
c82f16c1
VS
47132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
4716
59fd2aac
VS
47172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
4720 inline symlinks in addition to workaround.
4721
3b4afb4d
VS
47222012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
4725
f45c794a
VS
47262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
4729
f25cecbd
VS
47302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
4733
bb9a34e8
VS
47342012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 Fix reiserfs big seek times.
4737
4738 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
4739 exact. All users updated.
4740 (grub_reiserfs_read): Use nearest btree search for seeking.
4741 Fix return value on error.
4742
dc478aea
VS
47432012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
4746 entries.
4747 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
4748 * docs/grub.texi: Update menuentry description.
4749
8db10f47
VS
47502012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
4753 crash when embedding onto filesystem.
4754
bcb288ed
VS
47552012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
4758 name.
4759
a626fdd7
VS
47602012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
4763
b2f68477
VS
47642012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
4767 commit.
4768
ba15b2af
B
47692012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
47702012-05-01 Bean <bean123ch@gmail.com>
4771
4772 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
4773
a188012e
VS
47742012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
4777 Special behaviour for len = 0 to read whole file isn't used anywhere and
4778 can cause buffer ovewrflows in several places.
4779
f0a53ed2
VS
47802012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
4783
5ed554f0
VS
47842012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 Handle RAIDZ on non-512B sectors.
4787
4788 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
4789 max_children_ashift.
4790 (fill_vdev_info_real): Fill max_children_ashift.
4791 (read_device): Use max_children_ashift.
4792
ddc58357
VS
47932012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
4796
e3282399
VS
47972012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
4800 disk names.
4801 * docs/grub.texi: Update device.map parts.
4802
ee618bd4
VS
48032012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 Don't scan into non-diskfilter devices having diskfilter names.
4806
4807 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
4808 (scan_disk): New argument accept_diskfilter. Fix recursion depth
4809 handling.
4810 (scan_disk_hook): New function.
4811
bdf88864
B
48122012-04-29 Bean <bean123ch@gmail.com>
4813
4814 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
4815 allocation.
4816
32745f51
MK
48172012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
4818
4819 * configure.ac: Detect starfield theme font path
4820 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
4821
bc95c8c0
VS
48222012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
4825 geometry on serial consoles.
4826
147fbcab
VS
48272012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
4830 because of network consoles.
4831
0f42c889
VS
48322012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4833
4834 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
4835 handling.
4836
4a3594c9
VS
48372012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
4840 falls on Q syndrom.
4841
5cb53879
VS
48422012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
4845 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
4846
b282dfe5
VS
48472012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
4850 Allocate at lest 8192 for temporary buffer as required for lzo.
4851
daa59f47
VS
48522012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4853
4854 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
4855 to cluster_bits, since it's already added in.
4856 (grub_fat_read_data): Likewise.
4857
986748ce
VS
48582012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
4861 as long as cluster size is multiple of 512 bytes.
4862
a20f6ad0
VS
48632012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * util/grub-mkrescue.in: Fix locale directory.
4866
385f9abb
VS
48672012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * grub-core/kern/emu/hostdisk.c (map): Make static.
4870
1c557d30
B
48712012-04-23 Bean <bean123ch@gmail.com>
4872
4873 * util/grub-fstest.c (fstest): Add missing break.
4874
524b5d3a
ST
48752012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
4876
4877 Fix hurd build.
4878
4879 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
4880 not define nr variable.
fe4824e9 4881 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
4882 find_root_devices_from_poolname, find_root_devices_from_libzfs,
4883 grub_find_device): Do not define.
524b5d3a 4884
9a06490c
VS
48852012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 Fix kfreebsd compile and behaviour.
4888
4889 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
4890 format-security.
4891 * util/getroot.c: Fix wait.h include.
4892 (grub_guess_root_devices): Error if grub_find_device fails.
4893 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
4894 (grub_util_get_dev_abstraction): Likewise.
4895 (grub_util_pull_device): Likewise.
4896 (grub_util_get_grub_dev): Likewise.
4897 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
4898
48143d96
VS
48992012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 Fix and unify wholedisk detection.
4902
4903 * util/getroot.c (convert_system_partition_to_system_disk): New argument
4904 is_part. All users updated.
4905 (device_is_wholedisk): Removed.
4906 (grub_util_biosdisk_get_grub_dev): Use is_part.
4907
ebbd24f3
VS
49082012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
4911 mode.
4912
56f7aa1e
VS
49132012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * configure.ac: Bump to beta4.
4916
9c815e01
VS
49172012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
4920 --fs-uuid --set UUID syntax.
4921
59e2651a
VS
49222012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
4925 disunification.
4926
54e03cfc
VS
49272012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
4930
81092a75
MK
49312012-04-18 Mads Kiilerich <mads@kiilerich.com>
4932
4933 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
4934
f8315e14
MG
49352012-04-18 Mike Gilbert <floppym@gentoo.org>
4936
4937 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
4938
1501ac21
B
49392012-04-18 Bean <bean123ch@gmail.com>
4940
4941 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
4942 place.
4943
cb7f944e
VS
49442012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
4947 users updated.
4948 (grub_util_biosdisk_read): Handle Linux partitions not exactly
4949 corresponding to GRUB partitions.
4950 (grub_util_biosdisk_write): Likewise.
4951
b72d44a1
VS
49522012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 Scan mdraid before LVM.
4955
4956 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
4957 (grub_diskfilter_register_front): ... this.
4958 (grub_diskfilter_register_back): New function.
4959 All users of grub_diskfilter_register updated.
4960
33d918b8
VS
49612012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * util/grub-install.in: Fix an automatic target detection bug.
4964
c6ca973d
VS
49652012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * util/grub-install.in: New option --efi-directory.
4968
b41be562
VS
49692012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
4972 boot services if we have no other choice.
4973
49742012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * util/grub-mknetdir.in: Rename --override-directory to --directory and
4977 document it.
4978 * tests/util/grub-shell.in: Update to --directory.
4979
e0595a73
VS
49802012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
4983
4ed80652
VS
49842012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
4987 (grub_minix_read_file): Likewise.
4988 (grub_minix_read_inode): Likewise.
4989 (grub_minix_find_file): Likewise.
4990 (grub_minix_dir): Likewise.
4991
56008077
VS
49922012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4993
4994 * util/grub-setup.c (setup): Fix partition handling and blocklist
4995 check.
4996
ee520775
VS
49972012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
5000 redundant buggy overlap check.
5001
16fc9293
VS
50022012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
5005 and grub-mknetdir.
5006
9bab65c4
VS
50072012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5008
5009 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
5010 kh.loadflags on pre-2.00 kernels.
5011
3c491b47
VS
50122012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 Terminate UNDI and PXE before launching the payload to avoid problems
5015 with DMA.
5016
5017 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
5018 (grub_loader_flags): ... this. All users updated.
5019 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
5020 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
5021 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
5022 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
5023 function.
5024 (grub_pxe_restore): Likewise.
5025 (fini_hnd): New var.
5026 (GRUB_MOD_INIT): Register shutdown hook.
5027 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
5028 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
5029 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
5030 (grub_loader_set): Rename second argument to flags.
5031
851ffada
VS
50322012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
5035 written bytes.
5036 (grub_get_num_of_utf8_bytes): New function.
5037 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
5038 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
5039 executing it.
5040 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
5041 (grub_ucs4_to_utf8): Change return type.
5042
491c57a8
VS
50432012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5044
5045 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
5046 warning.
851ffada
VS
5047 * grub-core/fs/bfs.c (hop_level): Likewise.
5048 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 5049
756773df
VS
50502012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 * grub-core/lib/adler32.c: Recode due to license unclearness.
5053
fd556a96
VS
50542012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5055
5056 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
5057 (test_header): Likewise.
5058
9f9d3f69
VS
50592012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 Fix --help formatting.
5062
5063 * util/grub-mkconfig_lib.in (print_option_help): New function.
5064 (grub_fmt): Likewise.
5065 * util/grub-install.in: Use print_option_help and grub_fmt.
5066 * util/grub-kbdcomp.in: Likewise.
5067 * util/grub-mkconfig.in: Likewise.
5068 * util/grub-mknetdir.in: Likewise.
5069 * util/grub-mkrescue.in: Likewise.
5070 * util/grub-mkstandalone.in: Likewise.
5071 * util/grub-reboot.in: Likewise.
5072 * util/grub-set-default.in: Likewise.
5073 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5074
561ec77e
VS
50752012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * linguas.sh: Remove autogenerated *.po.
5078
7ec2b021
VS
50792012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * po/README: Move language fetcing to ...
5082 * linguas.sh: ... here.
5083 * po/README: Point to linguas.sh.
5084
a88f3270
VS
50852012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * po/README: Exclude ko.po due to disclaimer problems.
5088
d61357ce
VS
50892012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
5092 len = 0.
5093 (grub_gettext_translate_real): Handle 0th string.
5094 (grub_gettext_translate): Ensure that "" isn't translated.
5095
505e41dc
VS
50962012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
5099 TRANSLATORS comment.
5100 (grub_diskfilter_print_partmap): Propagate changing of error into
5101 warning.
5102
e44092db
VS
51032012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
5106 to uint64_t to prevent overflow.
5107 (grub_diskfilter_lv): Increase start_extent and extent_count
5108 to uint64_t to prevent overflow.
5109
9b83956a
VS
51102012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * configure.ac: Increase version.
5113
da0d5b3f
VS
51142012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
5117
5118 * po/Rules-translit: New file.
5119 * po/arabic.sed: Likewise.
5120 * po/cyrillic.sed: Likewise.
5121 * po/greek.sed: Likewise.
5122 * po/hebrew.sed: Likewise.
5123 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
5124 * po/Makefile.in.in: Add extra_dist4.
5125
ac66b453
VS
51262012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 Handle big-endian minixfs (fixes minixfs tests on bigendian).
5129
5130 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
5131 modify names. Introduce MODE_BIGENDIAN.
5132 * grub-core/fs/minix_be.c: New file.
5133 * grub-core/fs/minix2_be.c: Likewise
5134 * grub-core/fs/minix3_be.c: Likewise.
5135 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
5136 minix3_be.
5137 * grub-core/Makefile.core.def (minix_be): New module.
5138 (minix2_be): Likewise.
5139 (minix3_be): Likewise.
5140
51412012-04-01 Felix <email@hamburg.de>
5142
5143 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
5144 (devs): Add MBP 2011.
5145
0a2d5a82
VS
51462012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5147
5148 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
5149
d1625889
VS
51502012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 * grub-core/normal/cmdline.c (print_completion): New field
5153 prompt_len.
5154 (grub_cmdline_get): Handle width properly.
5155
6d36a236
VS
51562012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 * grub-core/commands/lsacpi.c (options): Add missing terminator.
5159
9576977e
VS
51602012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 5163 after 29th of February.
9576977e 5164
d73ff15d
VS
51652012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 Fix exfat endianness handling.
5168
5169 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
5170 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
5171 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
5172 Byte-swap utf16 when necessary.
5173 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
5174
bbb39a45
AB
51752012-03-31 Anton Blanchard <anton@samba.org>
51762012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 Fix btrfs endianness handling.
5179
5180 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
5181 (lower_bound): Make root uint64_t. Use root in le.
5182 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
5183 (find_path): Fix template key init.
5184 (grub_btrfs_dir): Fix mtime byteswap.
5185 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
5186
354e0af7
VS
51872012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
5190 recursion_depth. Break infinite resursions. All users updated.
5191
4e75f21c
VS
51922012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
5195 after free.
5196 Reported by: Peter Jones.
5197
25581802
AB
51982012-03-31 Anton Blanchard <anton@samba.org>
5199
5200 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
5201 8 bit values.
5202
08fbf92e
VS
52032012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 * util/grub-install.in: Fix nvram call for PreP.
5206
5d1182a6
VS
52072012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
5210 the error when some elements are missing into a warning.
5211
3f8cdd90
VS
52122012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
5215
51006716
CW
52162012-03-28 Colin Watson <cjwatson@ubuntu.com>
5217
5218 * docs/grub.texi (Invoking grub-probe): New section.
5219 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
5220
e1bd676b
VS
52212012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 Fix tab and wide character handling in editor and menu.
5224
5225 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
5226 agglomerate control characters with combining marks.
5227 (bidi_line_wrap): Allow break on tab.
5228 (grub_unicode_get_comb_start): New function.
5229 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
5230 and tab correctly.
5231 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
5232 with a space.
5233 * grub-core/normal/term.c (print_ucs4_terminal): New argument
5234 fixed_tab_size. All users updated.
5235 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
5236 (grub_term_getcharwidth): Handle \t.
5237 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
5238 and copy.
5239
22e6a774
VS
52402012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 Handle big-endian mdraid.
5243
5244 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
5245 * grub-core/Makefile.core.def (mdraid09_be): New module.
5246 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
5247 rather than grub_le_to_cpu* and grub_cpu_to_le*.
5248 * grub-core/disk/mdraid_linux_be.c: New file.
5249
3c0eae66
VS
52502012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
5253
b6cf74c9
VS
52542012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
5257 missing quotes which caused confusion among translators.
5258
83c93b9c
VS
52592012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * util/grub-mkconfig_lib.in: Fix typo.
5262
ac6fd218
VS
52632012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
5266 spaces.
5267 * tests/grub_script_leading_whitespace.in: New file.
5268 * Makefile.util.def (grub_script_leading_whitespace): New test.
5269
ba287dd8
VS
52702012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
5273 to work.
5274
d2d58d0a
VS
52752012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
5278 starts with control character.
5279
0382d9bb
VS
52802012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
5283 overflow.
5284 (grub_gdb_outbuf): Likewise.
5285
d83ff9f9
VS
52862012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
5289 zero terminator. Fixes a crash.
5290
2282da4a
VS
52912012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
5294 beyond 4 GiB.
5295 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
5296 images independently of preffered adderss field.
5297
0ae4f0bd
VS
52982012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
5301 * grub-core/commands/regexp.c: Likewise.
5302 * grub-core/loader/i386/linux.c: Likewise.
5303 * grub-core/partmap/msdos.c: Likewise.
5304 * grub-core/script/execute.c: Likewise.
5305 * grub-core/term/gfxterm.c: Likewise.
5306
546fbe9b
VS
53072012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 Add variable parsing in $"..." and fix several mismatches with bash.
5310
5311 * Makefile.util.def (grub_script_gettext): New test.
5312 * grub-core/script/execute.c (parse_string): New function.
5313 (gettext_append): Likewise.
5314 (grub_script_arglist_to_argv): Use gettext_append.
5315 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
5316 * tests/grub_script_gettext.in: New file.
5317
9fdb2d7b
VS
53182012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 Fix handling of leading spaces in scripts.
5321
5322 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
5323 spaces.
5324 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
5325 other than skipping \r. All users updated.
5326 * tests/grub_script_echo1.in: Add space-related tests.
5327 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
5328
1a1ac4f6
VS
53292012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
5332
b63d89b6
VS
53332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * configure.ac: Bump up the version to beta2.
5336
17f38c0f
VS
53372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 Fix gettext reload bugs (e.g. inability to disable gettext
5340 once enabled).
5341
5342 * grub-core/gettext/gettext.c: Encapsulate all static variables in
5343 main_context and secondary_context. All functions updated.
5344 (grub_gettext_translate): Rename to ...
5345 (grub_gettext_translate_real): ... this. Return NULL on failed
5346 translate.
5347 (grub_gettext_translate): Handle secondary context.
5348 (grub_gettext_delete_list): Close file and zero-out the context.
5349 (grub_mofile_open): Don't call grub_gettext_delete_list.
5350 Don't close file.
5351 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
5352 if locale="" to avoid pointless error message.
5353 (grub_gettext_env_write_lang): Update lang even if load fails.
5354 Handle secondary context.
5355 (grub_gettext_reread_prefix): New function.
5356 (read_main): Likewise.
5357 (read_secondary): Likewise.
5358 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
5359 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
5360 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
5361 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
5362
8e56f870
VS
53632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * configure.ac: Decrease warning level to avoid spurious warnings and
5366 to be able to compile with GCC 4.2.
5367 * Makefile.util.def: Remove -Wno-error=logical-op.
5368
82f6d455
WB
53692012-03-10 William Bittner <william.bittner@gmail.com>
5370
5371 * util/import_unicode.py: Add missing brackets around string for
5372 python 3 support.
5373
1ecd61a4
VS
53742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 Fix efi chainloader on network root.
5377
5378 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
5379 network devices.
5380 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
5381 New function.
5382
14361ee8
VS
53832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
5386 unused show_text member.
5387 * docs/grub.texi: Document "text" property.
5388
922aabf3
VS
53892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
5392 in dprintf.
5393
ec316771
VS
53942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 Fix IMSM handling on Fedora.
5397
5398 * util/getroot.c (grub_util_is_imsm): New function.
5399 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
5400
0f021838
VS
54012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * Makefile.am: Strip gold section.
5404 * conf/Makefile.common: Likewise.
5405 * gentpl.py: Likewise.
5406 * grub-core/Makefile.core.def: Likewise.
5407 * grub-core/genmod.sh.in: Likewise.
5408
1039c8eb
VS
54092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
5412 * util/grub.d/20_linux_xen.in: Likewise.
5413 Based on Debian patch.
5414
6dd412cd
VS
54152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * util/grub.d/10_linux.in: Fix syntax error resulting in
5418 Richard Laager's patch.
5419 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
5420
3fd8bae5
VS
54212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
5424 dependencies.
5425
7eea1671
RL
54262012-03-10 Richard Laager <rlaager@wiktel.com>
5427
5428 * util/grub.d/10_linux.in: Fix ZFS root passing.
5429
e8e0566b
VS
54302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
5433 * grub-core/commands/xnu_uuid.c: Likewise.
5434 * grub-core/loader/efi/appleloader.c: Likewise.
5435 * grub-core/script/execute.c: Likewise.
5436 * grub-core/script/main.c: Likewise.
5437 * util/grub-mkfont.c: Likewise.
5438
1acc5b1f
VS
54392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 * util/grub-mkfont.c (options): Use more appropriate "select" that
5442 "set" for face index.
5443
35d70620
VS
54442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 * util/grub-editenv.c (options): Gettextize command summaries.
5447
c9eb96b5
VS
54482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
5451 "out of memory" error messagge.
5452
1f493136
VS
54532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
5456 of diskfilter for diskfilter on diskfilter support.
5457
6d790129
VS
54582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
5461
005f46c9
VS
54622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * util/grub-install.in: Check for themes/starfield/theme.txt and not
5465 themes/starfield.
5466
c8f778a0
VS
54672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
5470
de1e64eb
VS
54712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
5474
c6d54211
VS
54752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
5478 of error message.
5479
dd390777
VS
54802012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
5483
5fd1c522
VS
54842012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
5487 message.
c6d54211 5488 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 5489
fae01f6c
VS
54902012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
5493 Gettextize.
5494 * util/grub-mount.c (options): Likewise.
5495
292fdaff
VS
54962012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
5499 gettextize.
5500 * grub-core/commands/search_wrap.c (options): Likewise.
5501
ecdbae77
VS
55022012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
5505
52bfedfa
VS
55062012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
5509 size calculation.
5510 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
5511 none is known.
5512
55b20e58
VS
55132012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
5516 "temporary" since it's used in identifier and is limited in space.
5517
fda9d101
VS
55182012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * po/POTFILES.in: Regenerate. Include *.h since they contain
5521 translatable strings as well.
5522
6a0295e2
VS
55232012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
5526 byte-swap on big-endian.
5527 Reported by: Lennart Sorensen
5528
807fb77c
VS
55292012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
5532 (allocate_pages): Improve dprintf.
5533 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
5534 code32_start. Fill code32_start and kernel_alignment in params.
5535 (grub_cmd_initrd): Use prot_init_space.
5536
61ac50ba
VS
55372012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
5540
abdd26dd
VS
55412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 * util/grub-install.in: Add missing dot at the end of sentence.
5544
6e69da9c
VS
55452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
5548 * grub-core/commands/videotest.c: Likewise.
5549 * grub-core/loader/i386/linux.c: Likewise.
5550
4a929343
VS
55512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
5554 sentence.
5555 Reported by: Milo Casagrande.
5556
bb51c6c6
VS
55572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
5560 * grub-core/commands/gptsync.c: Likewise.
5561 * grub-core/commands/hashsum.c: Likewise.
5562 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5563 * grub-core/commands/legacycfg.c: Likewise.
5564 * grub-core/io/gzio.c: Likewise.
5565 * grub-core/net/net.c: Likewise.
5566 * grub-core/term/gfxterm.c: Likewise.
5567 * grub-core/term/terminfo.c: Likewise.
5568 * grub-core/tests/test_blockarg.c: Likewise.
5569 * grub-core/video/video.c: Likewise.
5570 * util/grub-install.in: Likewise.
5571 * util/grub-mkfont.c: Likewise.
5572
b2b149cb
VS
55732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5574
5575 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
5576
c7c080ad
VS
55772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 5580 Reported by: David Prévot.
c7c080ad 5581
f2e243c0
VS
55822012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
5585 description.
5586
09963c76
VS
55872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * util/grub-script-check.c (main): Fix a syntax error message which was
5590 unclear.
5591
a50514a8
VS
55922012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
5595
4650daec
VS
55962012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5597
5598 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
5599 messages.
5600
56012012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
5602
5603 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
5604 without argument.
5605 * util/grub-mount.c (options): Likewise.
5606
bbc5a342
VS
56072012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
5610
ef292a87
VS
56112012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 * grub-core/net/http.c: Add TRANSLATORS comments.
5614 * grub-core/normal/cmdline.c: Likewise.
5615 * grub-core/normal/misc.c: Likewise.
5616 * grub-core/partmap/msdos.c: Likewise.
5617 * grub-core/parttool/msdospart.c: Likewise.
5618 * grub-core/script/execute.c: Likewise.
5619 * grub-core/script/main.c: Likewise.
5620 * grub-core/term/terminfo.c: Likewise.
5621 * grub-core/video/bitmap.c: Likewise.
5622 * util/grub-install.in: Likewise.
5623 * util/grub-mkimage.c: Likewise.
5624 * util/grub-mklayout.c: Likewise.
5625 * util/grub-setup.c: Likewise.
5626
0fc19bd0
VS
56272012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
5630 with similar messages in grub-fstest.
5631
d95862ef
VS
56322012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * util/grub-install.in: Unify "option requires an argument" message
5635 with similar messages in other files.
5636 * util/grub-mkconfig.in: Likewise.
5637
b7308f90
VS
56382012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * util/grub-set-default.in: Replace printf with gettext_printf (the
5641 string in in question is already translated from grub-reboot)
5642
559dc587
VS
56432012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 * configure.ac: Bump up the version to beta1.
5646
1a11761f
VS
56472012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5648
5649 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
5650 case when min_align = 0.
5651
24539abd
VS
56522012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
5655 and fix a case when line_start overflows.
5656
32bd735b
VS
56572012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 * util/grub-reboot.in (usage): Mention id posibility.
5660 * util/grub-set-default.in (usage): Likewise.
5661
1a2fd1e6
VS
56622012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
5665 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
5666 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
5667 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
5668 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5669 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5670 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5671
90eeab76
VS
56722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 * grub-core/commands/menuentry.c (options): Remove
5675 GRUB_ARG_OPTION_REPEATABLE.
5676 Reported by: Andreas Vogel
5677
5ad1be82
AV
56782012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
5679
5680 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
5681
cb055286
HE
56822012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
5683
5684 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
5685 error.
5686
93b1cd79
VS
56872012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 Use sort -V by the idea of Georgi Georgiev.
5690
5691 * util/grub-mkconfig_lib.in (version_sort): New function.
5692 (version_test_numeric): Use version_sort.
5693
0cdc126c
VS
56942012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 Use submenus in grub-mkconfig.
5697
5698 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
5699 * util/grub-mkconfig_lib.in (grub_quote): New function.
5700 (gettext_printf): Use gettext and not gettext_quoted to fix several
5701 messages.
5702 * util/grub.d/10_hurd.in: Use submenus.
5703 * util/grub.d/10_kfreebsd.in: Likewise.
5704 * util/grub.d/10_linux.in: Likewise.
5705 * util/grub.d/10_netbsd.in: Likewise.
5706 * util/grub.d/20_linux_xen.in: Likewise.
5707 * util/grub.d/30_os-prober.in: Likewise.
5708 * util/grub.d/10_illumos.in: Add missing quoting.
5709 * util/grub.d/10_windows.in: Likewise.
5710
d9bef9bc
VS
57112012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 Fix menu title instability bug.
5714
5715 * grub-core/commands/menuentry.c (options): New option --id.
5716 (grub_normal_add_menu_entry): New argument id. All users updated.
5717 (grub_cmd_menuentry): Handle --id.
5718 (grub_menu_init): Accept unknown arguments.
5719 * grub-core/normal/main.c (features): Add feature_menuentry_id and
5720 feature_menuentry_options.
5721 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
5722 saved_entry.
5723 (get_entry_number): Match with id as well.
5724 * include/grub/menu.h (grub_menu_entry): New member id.
5725 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
5726 * util/grub.d/00_header.in: Define menuentry_id_option.
5727 * util/grub.d/10_hurd.in: Define id.
5728 * util/grub.d/10_illumos.in: Likewise.
5729 * util/grub.d/10_kfreebsd.in: Likewise.
5730 * util/grub.d/10_linux.in: Likewise.
5731 * util/grub.d/10_netbsd.in: Likewise.
5732 * util/grub.d/10_windows.in: Likewise.
5733 * util/grub.d/20_linux_xen.in: Likewise.
5734 * util/grub.d/30_os-prober.in: Likewise.
5735
57362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
5737
5738 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
5739 "scope" with "body".
5740
7c8d0ce7
VS
57412012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
5744 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
5745 prot_size and prot_file_size.
5746
49de079b
VS
57472012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
5750 All users updated. If easily=1 require raid-5/-6 to be full.
5751 (is_node_readable): Likewise.
5752 (scan_devices): Scan incomplete but readable LVs at the end.
5753 (grub_diskfilter_memberlist): Pull missing devices.
5754 (insert_array): Skip scanning until device is complete or scan is
5755 done otherwise.
5756 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
5757 check.
5758 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
5759 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
5760
aff05d45
MG
57612012-03-03 Matthew Garrett <mjg@redhat.com>
57622012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 Avoid EFI boot services when loading Linux.
5765
5766 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
5767 avoid_efi_bootservices. All users updated.
5768 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
5769 argument avoid_efi_bootservices. All users updated.
5770 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
5771 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
5772 align, min_align, relocatable, prefered_address. All users updated.
5773 Allocate avoiding boot services if kernel is relocatable.
5774 (grub_cmd_linux): Check if kernel is relocatable.
5775 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
5776 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
5777 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
5778 avoid_efi_boot_services.
5779 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
5780 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
5781 (linux_kernel_params): Likewise.
5782
3935dde2
MG
57832012-03-03 Matthew Garrett <mjg@redhat.com>
57842012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 Use EDID on EFI.
5787
5788 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
5789 datasize_out.
5790 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
5791 modes. Set gop_handle.
5792 (grub_video_gop_get_edid): New function.
5793 (grub_gop_get_preferred_mode): Likewise.
5794 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
5795 (grub_video_efi_gop_adapter): Set .get_edid.
5796 * include/grub/efi/edid.h: New file.
5797 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
5798
32107ec0
VS
57992012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * util/grub-install.in: Load efivars unconditionally.
5802
e70a2c50
VS
58032012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * po/Rules-piglatin: Change suffix from .po-update-en to
5806 .po-update-en-piglatin.
5807
8f9cace1
VS
58082012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 Add a pig farm.
5811
5812 * po/piglatin.sed: New file.
5813 * po/en@piglatin.header: Likewise.
5814 * po/Rules-piglatin: Likewise.
5815 * po/README: Add en@piglatin to autogenerated languages.
5816
8f95d002
VS
58172012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
5820 "Command for ...".
5821 * grub-core/commands/hdparm.c (options): Use "Display" rather than
5822 "Check" since we don't check anything.
5823 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
5824 is 64-bit one.
5825 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
5826 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
5827 (grub_md_sha512_real): Likewise.
5828
805a8dcc
VS
58292012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 * grub-core/commands/gptsync.c: Fix typographic quoting.
5832 * grub-core/commands/ieee1275/suspend.c: Likewise.
5833 * grub-core/commands/parttool.c: Likewise.
5834 * grub-core/commands/search_wrap.c: Likewise.
5835 * grub-core/commands/videoinfo.c: Likewise.
5836 * grub-core/gfxmenu/gui_label.c: Likewise.
5837 * grub-core/hello/hello.c: Likewise.
5838 * grub-core/kern/emu/main.c: Likewise.
5839 * grub-core/net/net.c: Likewise.
5840 * grub-core/normal/menu.c: Likewise.
5841 * grub-core/normal/menu_text.c: Likewise.
5842 * grub-core/normal/misc.c: Likewise.
5843 * util/grub-editenv.c: Likewise.
5844 * util/grub-install.in: Likewise.
5845 * util/grub-kbdcomp.in: Likewise.
5846 * util/grub-mkconfig.in: Likewise.
5847 * util/grub-mknetdir.in: Likewise.
5848 * util/grub-mkrescue.in: Likewise.
5849 * util/grub-mkstandalone.in: Likewise.
5850 * util/grub-reboot.in: Likewise.
5851 * util/grub-set-default.in: Likewise.
5852 * util/grub-setup.c: Likewise.
5853 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5854
40211ab8
VS
58552012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5856
5857 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
5858 * grub-core/commands/keystatus.c: Likewise.
5859 * grub-core/commands/loadenv.c: Likewise.
5860 * grub-core/commands/probe.c: Likewise.
5861 * grub-core/commands/regexp.c: Likewise.
5862 * grub-core/commands/true.c: Likewise.
5863 * grub-core/commands/videoinfo.c: Likewise.
5864 * grub-core/disk/cryptodisk.c: Likewise.
5865 * grub-core/disk/ldm.c: Likewise.
5866 * grub-core/disk/loopback.c: Likewise.
5867 * grub-core/disk/luks.c: Likewise.
5868 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5869 * grub-core/kern/disk.c: Likewise.
5870 * grub-core/kern/emu/hostdisk.c: Likewise.
5871
0c7d99c7
VS
58722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
5875 * util/grub-install.in: Add missing quote in the comment.
5876
e7d2559b
VS
58772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5878
5879 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
5880 * grub-core/commands/lsmmap.c: Likewise.
5881 * grub-core/commands/minicmd.c: Likewise.
5882 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5883 * grub-core/commands/regexp.c: Likewise.
5884 * grub-core/gdb/gdb.c: Likewise.
5885 * grub-core/term/gfxterm.c: Likewise.
5886 * util/grub-mkconfig.in: Likewise.
5887 * util/grub-mkfont.c: Likewise.
5888 * util/grub-mklayout.c: Likewise.
5889 * util/grub-mknetdir.in: Likewise.
5890 * util/grub-mkrescue.in: Likewise.
5891 * util/grub.d/30_os-prober.in: Likewise.
5892
49ce9e50
VS
58932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
5896 with "Direct color" and "Packed" with "Packed pixel".
5897 (grub_cmd_videoinfo): Simplify legend.
5898
e4b791fa
VS
58992012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
5902 absolutely unclear error message.
5903
fd1265cb
VS
59042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * util/grub-mkstandalone.in: Remove confusing leftover print.
5907
8822a8a0
VS
59082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
5911 comments.
5912 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
5913 (GRUB_MOD_INIT): Likewise.
5914 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
5915 VGA mode.
5916 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
5917 comments.
5918 * util/grub-install.in (usage): Likewise.
5919 Spell ID in whole letters.
5920 Add missing ending dot.
5921 Quote variables.
5922 * util/grub-reboot.in: Fix capitalisation.
5923 * util/grub-set-default.in: Likewise.
5924
937fd0cc
VS
59252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
5928 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
5929 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
5930 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
5931 Disable -Werror for -Wdeprecated-declarations.
5932 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
5933 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
5934 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
5935 (grub_util_get_grub_dev): Make luks handling dependent on
5936 HAVE_DEVICE_MAPPER and not __linux__.
5937 (get_win32_path): Fix format security.
5938 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
5939 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
5940 Don't try grub_find_zpool_from_dir.
5941 (grub_make_system_path_relative_to_its_root) [!__linux__]:
5942 #ifdef-out paresdir.
5943
1bab1ae3
VS
59442012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * util/grub-pe2elf.c (usage): Add missing noreturn.
5947 (write_section_data): Rename name to shname to avoid shadowing.
5948 (write_symbol_table): Rename name to symname to avoid shadowing.
5949 Fix write_reloc_section call.
5950
ef023e42
VS
59512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
5954 to ensure that it's after the last byte of .text.
5955
48afcb75
VS
59562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 * util/ieee1275/ofpath.c (my_isdigit): New function.
5959 (trailing_digits): Use my_isdigit.
5960 (strip_trailing_digits): Likewise.
5961
88d51eff
VS
59622012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
5965 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
5966
17edc2ba
VS
59672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * grub-core/kern/i386/pc/startup.S: Define __start.
5970
ad5518d7
VS
59712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
5974 strip already transforms he format.
5975
9e95e1bf
VS
59762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
5979
9cc3ee5c
VS
59802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * util/grub-install.in: Add missing gettext init.
5983 * util/grub-kbdcomp.in: Likewise.
5984 * util/grub-mkconfig.in: Likewise.
5985 * util/grub-mknetdir.in: Likewise.
5986 * util/grub-mkrescue.in: Likewise.
5987 * util/grub-mkstandalone.in: Likewise.
5988 * util/grub-reboot.in: Likewise.
5989 * util/grub-set-default.in: Likewise.
5990 * util/grub.d/00_header.in: Likewise.
5991 * util/grub.d/10_hurd.in: Likewise.
5992 * util/grub.d/10_windows.in: Likewise.
5993 * util/grub.d/30_os-prober.in: Likewise.
5994 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5995
49e08a06
VS
59962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 * po/Rules-swiss: Fix header comment.
5999
3809cb41
AV
60002012-02-29 Andreas Vogel <anvoit>
6001
6002 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
6003 resulted in leak of arguments.
6004
fa6ec573
VS
60052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * grub-core/boot/i386/pc/startup_raw.S: Use separate
6008 reed_solomon_size const definition instead of computing it since
6009 Apple assembler doesn't support the later.
6010
22899b9c
VS
60112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * gentpl.py (kernel): Rewrite Apple part.
6014
a132afc3
VS
60152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * include/grub/kernel.h (FOR_MODULES): Check module magic.
6018
9d742bd4
VS
60192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * util/grub-mkimagexx.c (locate_sections): Support non-standard
6022 ELF section gap.
6023 (load_image): Likewise.
6024
f04a9a21
VS
60252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 * configure.ac: Fix a typo in previous commit.
6028
46cf439c
VS
60292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 Don't add -Wl,-N on Apple platform.
6032
6033 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
6034 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
6035
c4c48c54
VS
60362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * grub-core/Makefile.core.def (lzma_decompress): Use
6039 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
6040
31a12124
VS
60412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * grub-core/genmod.sh.in: Rewrite the Apple part.
6044
4f3aa1af
VS
60452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
6048 comparison.
6049
7bd8b0c7
VS
60502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * acinclude.m4 (grub_CHECK_PIC): New test.
6053 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
6054
97304d7c
VS
60552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
6058 to avoid the warning.
6059
fb883812
VS
60602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
6063 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
6064 after. All users updated.
6065
a121c964
VS
60662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 Use the common size routine in hostfs so we can read disks as well.
6069
6070 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
6071 (grub_util_get_fd_size): ... this. Return size in bytes.
6072 All users updated.
6073 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
6074 grub_util_get_fd_size.
6075
c66d6410
VS
60762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
6079 Add blocksize retrieval.
6080
dfc8aeb0
VS
60812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * configure.ac: Restore CFLAGS after efiemu check.
6084
403e25a5
VS
60852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
6088 Apple bug.
6089
382775d1
VS
60902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6091
6092 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
6093
6fd4e6e4
VS
60942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
6097 (grub_cmd_halt): Likewise.
6098
bea359d6
VS
60992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
6102 for local arithmetics.
6103 Break %sp init into 2 instructions.
6104 Add 0 byte at the end.
6105
32eb6ee1
VS
61062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * grub-core/disk/diskfilter.c (read_segment): Initialise err
6109 before loops.
6110
e8377389
VS
61112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
6114 for context.
6115
8cb17de7
VS
61162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 * grub-core/disk/ldm.c (make_vg): Init part.name.
6119 (grub_ldm_detect): Silence spurious warning.
6120 (grub_util_is_ldm): Likewise.
6121
595717e6
VS
61222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6123
6124 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
6125 sane value to avoid a spurious warning.
6126
c4b7e588
VS
61272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
6130 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
6131
59824957
VS
61322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
6135 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
6136
70115b99
VS
61372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
6140 hardcoding the relevant info.
6141
56733740
VS
61422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
6145 missing const qualifiers.
6146 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
6147
43481481
VS
61482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * util/getroot.c [__APPLE__]: Add missing includes.
6151 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
6152
3cb38f01
VS
61532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 * util/grub-mkimage.c (generate_image): Silence spurious warning.
6156
d9dbf11e
VS
61572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
6160 avoid conflicts.
6161
0c42a45d
VS
61622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
6165
46c34eb0
VS
61662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
6169 and grub_file_close call.
6170
99ce1597
VS
61712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 Add LZSS Mach-O support (needed for new xnu kernelcache).
6174
6175 * grub-core/Makefile.core.def (xnu): Add file lzss.c
6176 * grub-core/loader/lzss.c: New file.
6177 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
6178 on Mach-O open failure.
6179 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
6180 Don't free cmdsXX in uncompressedXX is set.
6181 (grub_macho_file): Init new fields.
6182 New argument is_64bit. All users updated.
6183 Handle compressed. Error out if no suitable architecture is found.
6184 Don't close file.
6185 (grub_macho_open): New argument is_64bit. All users updated.
6186 * grub-core/loader/macho32.c: Add defines for new fields.
6187 * grub-core/loader/macho64.c: Likewise.
6188 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
6189 (grub_macho_parse): Handle compressed.
6190 Defer actual processing if compressed.
6191 (grub_macho_cmds_iterate): Decompress if compressed. New argument
6192 "filename". All users updated.
6193 (grub_macho_size): New argument "filename". All users updated.
6194 (grub_macho_get_entry_point): Likewise.
6195 (grub_macho_load): Handle compressed.
6196 * include/grub/macho.h (grub_macho_lzss_header): New struct.
6197 (GRUB_MACHO_LZSS_OFFSET): New define.
6198 (grub_decompress_lzss): New proto.
6199 * include/grub/machoload.h (grub_macho_file): New fields to handle
6200 compressed.
6201 (grub_macho_contains_macho64): Remove proto.
6202 (grub_macho_contains_macho32): Likewise.
6203 * util/grub.d/30_os-prober.in: Use kernel cache if available.
6204
ebd17d6f
VS
62052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
6208
2702b4e4
VS
62092012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 Fix make dist.
6212
6213 * Makefile.am (starfield_theme_files): New var.
6214 (starfield_DATA): Use starfield_theme_files.
6215 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
6216 Add bootcheck-related files.
6217 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
6218 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
6219 and font_char_metrics.txt.
6220 * grub-core/Makefile.core.def (kernel): Update extra_dist.
6221 (setjmp): Add lib/ia64/longjmp.S.
6222 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
6223 * po/POTFILES.in: Regenerate.
6224 * po/Rules-swiss: use DISTFILES.common.extra2 and not
6225 DISTFILES.common.extra1.
6226 * util/devicemap.c: Removed.
6227 * grub-core/lib/i386/relocator_backward.S: Likewise.
6228 * util/import_gcry.py: Remove unused files. Add extra_dist for
6229 ChangeLog.
6230
cf1adfdf
VS
62312012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 * grub-core/gettext/gettext.c (grub_mofile_open): Call
6234 grub_gettext_delete_list before changing grub_gettext_max to avoid
6235 running out of array bounds.
6236
62372012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
6238
6239 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
6240 grub_vga_text_init/grub_vga_text_fini.
6241
cf1adfdf 62422012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
6243
6244 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
6245
541d92e9
VS
62462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6247
6248 * configure.ac: Bump to 2.00~beta0.
6249
7931dddf
VS
62502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
6253 missing initialisation.
6254
f1b16fa3
VS
62552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
6258
83ddae23
VS
62592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 Support v2 xnu boot arguments.
6262
6263 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
6264 New argument fsbfreq_out.
6265 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
6266 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
6267 be used.
6268 * grub-core/loader/machoXX.c (grub_macho_load): New argument
6269 darwin_version.
6270 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
6271 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
6272 (grub_xnu_boot_params): Rename to ...
6273 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
6274 (grub_xnu_boot_params_v2): New struct.
6275
dc693fe6
VS
62762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
6279 zeroing of CRC field before computing CRC.
6280
5a6e39c2
VS
62812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
6284 Change order of allocations to decrease fragmentation.
6285
6c21f5d7
VS
62862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
6289
cfe456dc
CW
62902012-02-27 Colin Watson <cjwatson@ubuntu.com>
6291
6292 Use write-combining MTRR to speed up video with buggy BIOSes.
6293
6294 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
6295 (cpuid): New define.
6296 (rdmsr): Likewise.
6297 (wrmsr): Likewise.
6298 (mtrr_base): Likewise.
6299 (mtrr_mask): Likewise.
6300 (grub_vbe_enable_mtrr_entry): New function.
6301 (grub_vbe_enable_mtrr): Likewise.
6302 (grub_vbe_disable_mtrr): Likewise.
6303 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
6304 control off to BIOS.
6305 (grub_video_vbe_init): Fill mtrr.
6306 (grub_video_vbe_fini): Disable mtrr.
6307 (grub_video_vbe_get_info_and_fini): Likewise.
6308 (grub_video_vbe_setup): Enable mtrr.
6309
e3c78337
CW
63102012-02-27 Colin Watson <cjwatson@ubuntu.com>
6311
6312 * include/grub/partition.h (grub_partition_map): Change prototype of
6313 embed to take a maximum value for nsectors.
6314 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
6315 * include/grub/fs.h (grub_fs): Likewise.
6316 * grub-core/partmap/msdos.c (embed_signatures): New array.
6317 (pc_partition_map_embed): Check for and avoid sectors matching any
6318 of the signatures in embed_signatures, up to max_nsectors.
6319 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
6320 returned sector map to max_nsectors.
6321 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
6322 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
6323 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
6324 * util/grub-setup.c (setup): Allow for the embedding area being
6325 split into multiple blocklists. Tell dest_partmap->embed the
6326 maximum number of sectors we care about.
6327
63282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
6331 Specify blocklist_install and reserver_first_sector for all fs.
6332 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
6333 blocklists.
6334
984b973f
VS
63352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 * util/grub-install.in: Clarify strings.
6338 Fix source dir check.
6339
f122e0d6
RL
63402012-02-27 Richard Laager <rlaager@wiktel.com>
6341
6342 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
6343 "zfs" and "fuse.zfs" as synonyms.
6344
071114bb
VS
63452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * configure.ac: Put platform and target_cpu substitutions back since
6348 they are used for directories.
6349
817e6abc
RL
63502012-02-27 Richard Laager <rlaager@wiktel.com>
63512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6352
6353 * util/grub.d/10_linux.in: Add ZFS-related arguments.
6354 * util/grub.d/20_linux_xen.in: Likewise.
6355
897b7419
RL
63562012-02-27 Richard Laager <rlaager@wiktel.com>
6357
6358 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
6359 with full paths.
6360
a414bd15
RL
63612012-02-27 Richard Laager <rlaager@wiktel.com>
6362
6363 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
6364 unescape.
6365
30ac48c4
VS
63662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 Don't use insecure popen in getroot.
6369
6370 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
6371 (exec_pipe): ... here.
6372 (find_root_devices_from_poolname): Use exec_pipe.
6373
53f13848
VS
63742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 Remove platform and target_cpu replacement.
6377
6378 * configure.ac: Remove platform and target_cpu substitutions.
6379 * tests/util/grub-shell.in: Use modinfo.
6380 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
6381 explicitly.
6382
90cb2803
VS
63832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 Autodetect platform in grub-install but allow override.
6386
6387 * util/grub-install.in: Autodetect platform. Support --target and
6388 --directory. Read platform from modinfo.sh.
6389
b9136427
VS
63902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6391
6392 Support btrfs multi-volume probe.
6393
6394 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
6395 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
6396 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
6397 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
6398 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
6399 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
6400 grub_find_root_devices_from_btrfs if on btrfs.
6401
c36e5cd1
VS
64022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 Remove any awareness of *.c util files about target.
6405
6406 * Makefile.util.def (grub-setup): Split to ...
6407 (grub-bios-setup): ... and this.
6408 (grub-sparc64-setup): ... and this.
6409 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
6410 * docs/man/grub-setup.h2m: Split into ...
6411 * docs/man/grub-sparc64-setup.h2m: ... this.
6412 * docs/man/grub-bios-setup.h2m: ... and this.
6413 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
6414 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
6415 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
6416 (grub_target_addr_t): Remove.
6417 (grub_target_size_t): Remove.
6418 (grub_target_ssize_t): Remove.
6419 * util/grub-install.in: Use new grub-*-setup.
6420 * util/grub-mkimagexx.c (Elf_Word): New define.
6421 (Elf_Half): Likewise.
6422 (Elf_Section): Likewise.
6423 (ELF_ST_TYPE): Likewise.
6424 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
6425 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
6426
584b2f8a
VS
64272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 Replace grub_target_addr with more appropriate types.
6430
6431 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
6432 grub_target_addr with grub_addr.
6433 * grub-core/commands/iorw.c (grub_cmd_read): Replace
6434 grub_target_addr with grub_port.
6435 (grub_cmd_write): Likewise.
6436 * grub-core/commands/memrw.c (grub_cmd_read): Replace
6437 grub_target_addr with grub_addr.
6438 (grub_cmd_write): Likewise.
6439 * grub-core/video/efi_uga.c (find_line_len): Likewise.
6440
5a0dc6fb
VS
64412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
6444 const qualifier for vendor_guid.
6445
786aff6e
VS
64462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
6449 const qualifier.
6450 (efiemu_memequal): Likewise.
6451 (find_variable): Likewise.
6452
49017b17
VS
64532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 Fix missing console prototype on qemu-mips.
6456
6457 * include/grub/mips/qemu_mips/console.h: New file.
6458
c5988629
MG
64592012-02-27 Matthew Garrett <mjg@redhat.com>
64602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
6463 * include/grub/efi/efi.h: Likewise.
6464 * include/grub/efi/api.h: Add guid for EFI-specified variables.
6465 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
6466 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
6467 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
6468 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
6469 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
6470
e33f8d69
MG
64712012-02-27 Matthew Garrett <mjg@redhat.com>
6472
6473 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
6474
fb312cd9
VS
64752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
6478 error.
6479
7134247c
VS
64802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 * configure.ac: Remove inappropriate use of program_transform_name
6483 on grubdir and bootdir but allow explicit specification of those
6484 variables.
6485
6a313124
VS
64862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 * util/grub-mknetdir.in (grub_prefix): Removed.
6489 (subdir): Use @bootdirname@ and @grubdirname@.
6490
2311c5ca
VS
64912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
6494
7d5d60f7
VS
64952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * po/POTFILES.in: Regenerated.
6498
8151bc82
VS
64992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 Remove improper use of program_transform_name on pkglibrootdir.
6502
6503 * configure.ac (pkglibrootdir): Removed.
6504 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
6505 * util/grub-mkimage.c: Likewise.
6506
b4a6a533
VS
65072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
6510 warning.
6511
668f304f
VS
65122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 * util/grub-install.in: Use file identifier if no UUID is available
6515 or user explicitly prompted for it.
6516
665f2341
NP
65172012-02-27 Navdeep Parhar <nparhar@gmail.com>
6518
6519 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
6520 (freebsd_get_zfs): New function.
6521 (grub_freebsd_boot): Pass zfs UUID.
6522 (grub_cmd_freebsd): Set zfs UUID.
6523
8151bc82 65242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
6525
6526 * conf/Makefile.common (platformdir): Base on pkglibdir and not
6527 pkglibrootdir.
6528
e4c498a1
MG
65292012-02-27 Mike Gilbert <floppym@gentoo.org>
6530
6531 Add configure flag to control libzfs integration.
6532
6533 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
6534
1e9a9a3f
VS
65352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
6538 device.
6539 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
6540 small devices.
6541
036985b8
VS
65422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 Remove grub_{modname}_init and grub_{modname}_fini. They should never
6545 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
6546 be used on non-modules.
6547
6548 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
6549 Rename to grub_boot_init.
6550 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
6551 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
6552 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
6553 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
6554 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
6555 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
6556 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
6557 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
6558 includes.
6559 (grub_machine_init): Remove empty inits.
6560 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
6561 includes.
6562 (grub_machine_init): Remove empty inits.
6563 * grub-core/term/arc/console.c: Remove explicit proto.
6564 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
6565 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
6566 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6567 grub_at_keyboard_fini.
6568 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
6569 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
6570 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6571 grub_gfxterm_fini.
6572 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
6573 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
6574 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6575 grub_vgatext_fini.
6576 * grub-core/term/ieee1275/console.c: Remove explicit proto.
6577 * grub-core/term/serial.c (GRUB_MOD_INIT)
6578 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
6579 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6580 grub_serial_fini.
6581 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
6582 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
6583 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6584 grub_terminfo_fini.
6585 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
6586 (GRUB_MOD_FINI): Likewise.
6587 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
6588 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
6589 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6590 grub_video_radeon_fuloong2e_fini.
6591 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
6592 [LOONGSON]: Rename to grub_video_sis315pro_init.
6593 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6594 grub_video_sis315pro_fini.
6595 * grub-core/video/sm712.c (GRUB_MOD_INIT)
6596 [LOONGSON]: Rename to grub_video_sm712_init.
6597 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6598 grub_video_sm712_fini.
6599 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
6600 (grub_at_keyboard_fini): Likewise.
6601 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
6602 Don't declare grub_{modname}_init.
6603 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
6604 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
6605 New proto.
6606 (grub_keylayouts_fini) [!EMU]: Likewise.
6607 * include/grub/serial.h (grub_serial_init) [!EMU]:
6608 New proto.
6609 (grub_serial_fini) [!EMU]: Likewise.
6610 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
6611 New proto.
6612 (grub_terminfo_fini) [!EMU]: Likewise.
6613 * include/grub/video.h (grub_font_init) [!EMU]:
6614 New proto.
6615 (grub_font_fini) [!EMU]: Likewise.
6616 (grub_gfxterm_init) [!EMU]: Likewise.
6617 (grub_gfxterm_fini) [!EMU]: Likewise.
6618 (grub_video_sm712_init) [!EMU]: Likewise.
6619 (grub_video_sm712_fini) [!EMU]: Likewise.
6620 (grub_video_sis315pro_init) [!EMU]: Likewise.
6621 (grub_video_sis315pro_fini) [!EMU]: Likewise.
6622 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
6623 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
6624
d5534665
VS
66252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 Make nand a prefix for nand devices.
6628
6629 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
6630
10133b5f
VS
66312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6632
6633 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
6634 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
6635
8e307a62
VS
66362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 * include/grub/env.h (grub_env_find): Remove prototype.
6639 * grub-core/kern/env.c (grub_env_find): Make static.
6640 (grub_env_set): Remove useless set.
6641
a4c65f34
VS
66422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 * grub-core/kern/i386/realmode.S: Remove useless align.
6645
d87893d5
VS
66462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 * include/grub/dl.h (grub_dl_load_file): Don't export.
6649
50159add
VS
66502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
6653 grub_dprintf.
6654
b2582b84
VS
66552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
6658 grub_errors.
6659 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
6660 not reloading whole superblock but only the part which is really needed.
6661 Remove useless grub_errors.
6662 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
6663 grub_errors.
6664
e2a83395
VS
66652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 Don't export grub_get_rtc.
6668
6669 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
6670 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
6671
e7d2a906
VS
66722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6673
6674 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
6675
6cf1363b
VS
66762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 6679 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 6680
eece3349
VS
66812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6682
6683 Remove prio_list.
6684
6685 * include/grub/list.h (grub_prio_list): Removed.
6686 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
6687 GRUB_COMMAND_PRIO_MASK.
6688 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
6689 GRUB_COMMAND_FLAG_ACTIVE.
6690 (grub_prio_list_insert): Removed.
6691 (grub_prio_list_remove): Likewise.
6692 (GRUB_AS_PRIO_LIST): Likewise.
6693 (GRUB_AS_PRIO_LIST_P): Likewise.
6694 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
6695 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
6696 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
6697 * grub-core/kern/command.c (grub_register_command_prio): Inline
6698 the prio_list code.
6699 (grub_unregister_command): Likewise.
6700
94f064b4
VS
67012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 Fix interrupt mixup from previous commit.
6704
6705 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
6706 (grub_realidt): New var.
6707 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
6708 Load idt.
6709 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
6710 New declaration.
6711 (grub_relocator16_boot): Set grub_relocator16_idt.
6712 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
6713 (LOCAL(realidt)): ... this.
6714 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
6715 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
6716 (grub_realidt): New variable.
6717
27317084
VS
67182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
6721 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
6722 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
6723 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
6724 Gettextize.
6725 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
6726 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
6727 * po/POTFILES.in: Regenerate.
6728
47b40053
VS
67292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
6732 errors.
6733
2b343101
VS
67342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
6737 \0.
6738 (add_length): Likewise.
6739
ff27c3dd
LK
67402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67412012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
6742
6743 GDB serial and backtrace support.
6744
6745 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
6746 (prot_to_real): Likewise.
6747 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
6748 * grub-core/Makefile.core.def (backtrace): New module.
6749 (gdb): Likewise.
6750 * grub-core/gdb/cstub.c: New file.
6751 * grub-core/gdb/gdb.c: Likewise.
6752 * grub-core/gdb/i386/idt.c: Likewise.
6753 * grub-core/gdb/i386/machdep.S: Likewise.
6754 * grub-core/gdb/i386/signal.c: Likewise.
6755 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 6756 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
6757 * include/grub/backtrace.h: Likewise.
6758 * include/grub/gdb.h: Likewise.
6759 * include/grub/i386/gdb.h: Likewise.
6760
67612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
6762
6763 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
6764 New function.
6765 (add_length): Likewise.
6766 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
6767 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
6768 proto.
6769 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
6770 __argp_get_display_len.
6771
ff27c3dd 67722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
6773
6774 $"..." support in scripts.
6775
6776 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
6777 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
6778 * grub-core/script/yylex.l: Likewise.
6779 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
6780 value.
6781
ff27c3dd 67822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
6783
6784 * gentpl.py: Remove obsolete pkglib_DATA handling.
6785
ff27c3dd 67862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
6787
6788 Don't transform PACKAGE_TARNAME following a discussion on autoconf
6789 mailing list.
6790
6791 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
6792 * util/grub-kbdcomp.in: Likewise.
6793 * util/grub-mkconfig.in: Likewise.
6794 * util/grub-mkconfig_lib.in: Likewise.
6795 * util/grub-mknetdir.in: Likewise.
6796 * util/grub-mkrescue.in: Likewise.
6797 * util/grub-mkstandalone.in: Likewise.
6798 * util/grub-reboot.in: Likewise.
6799 * util/grub-set-default.in: Likewise.
6800 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6801
ff27c3dd 68022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
6803
6804 Remove GRUB_PREFIX.
6805
6806 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
6807 * util/grub.d/00_header.in: Compute prefix in the only place it's still
6808 used for backward compatibility.
6809
ff27c3dd 68102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
6811
6812 Add new all_video module.
6813
6814 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
6815 * grub-core/Makefile.core.def (all_video): New module.
6816 * grub-core/genmoddep.awk: Generate dependency of all_video from
6817 video.lst.
6818 * grub-core/lib/fake_module.c: New file.
6819 * grub-core/normal/main.c (features): Add feature_all_video_module.
6820 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
6821 don't do explicit search again.
47454da5 6822 insmod all_video in load_video if available.
22c7ce85 6823
ff27c3dd 68242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
6825
6826 Another round of string clarification and adding TRANSLATORS comments.
6827
ff27c3dd 68282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
6829
6830 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
6831
ff27c3dd 68322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
6833
6834 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
6835 to grub_ssize_t.
6836 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
6837 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
6838
ff27c3dd 68392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
6840
6841 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
6842 trailing newline implicitly. All users updated.
6843
ff27c3dd 68442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
6845
6846 Implement serial on IEEE1275 and EFI.
6847
6848 * docs/grub.texi (Platform-specific limitations): Fix the columen video
6849 on emu. Mention arc and emu as the only platforms without serial
6850 support.
6851 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
6852 ieee1275 platforms.
6853 * grub-core/term/efi/serial.c: New file.
6854 * grub-core/term/ieee1275/serial.c: Likewise.
6855 * grub-core/term/serial.c (grub_serial_find): Disable direct port
6856 specification if no ns8250 driver is available.
6857 (grub_cmd_serial): Likewise.
6858 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
6859 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
6860 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
6861 (grub_efi_parity_type_t): New type.
6862 (grub_efi_stop_bits_t): Likewise.
6863 (grub_efi_serial_io_interface): New struct.
6864 * include/grub/serial.h (grub_serial_port): Make 'broken' field
6865 available for all interfaces.
6866 Add EFI and IEEE1275 fields.
6867 (grub_ofserial_init): New proto.
6868 (grub_efiserial_init): Likeiwse.
6869 * util/grub.d/00_header.in: Don't check for the presence of serial
6870 module.
6871
ff27c3dd 68722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
6873
6874 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
6875 name as if it was an alias.
6876
114076ef
VS
68772012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 * grub-core/commands/lsacpi.c (options): Fix typo.
6880
6a656b0e
VS
68812012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 Convert grub-emu to argp.
6884
6885 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
6886 emu.
6887 * util/argp_common.c: Rename to ...
6888 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
6889 Add missing includes.
6890 * grub-core/kern/emu/main.c: Convert to argp.
6891 * po/POTFILES.in: Regenerate.
6892 * util/grub-install.in (usage): Make first letter lowcase in messages
6893 for uniformity.
6894 * util/grub-setup.c (options): Likewise.
6895
1e3f8ae8
VS
68962012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
6899 Put back accidently commented-out code.
6900
ed167a80
VS
69012012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
6904 loop check using Brent algorithm.
6905 (grub_hfsplus_btree_search): Likewise.
6906
6753c0ec
VS
69072012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 * util/grub-install.in: Fix usage of wrong device for PreP install.
6910
4e27343f
VS
69112012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6912
6913 * conf/Makefile.common (CFLAGS_GNULIB): Add
6914 -Wno-unsafe-loop-optimizations.
6915 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
6916 on tools.
6917 * grub-core/commands/legacycfg.c: Add pragma to skip
6918 -Wunsafe-loop-optimizations.
6919 (check_password_md5_real): Fix loop counter type.
6920 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
6921 reading.
6922 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
6923 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
6924 loop condition.
6925 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
6926 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
6927 * grub-core/net/net.c (grub_net_route_address): Add safety loop
6928 condition.
6929 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
6930 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
6931 avoid possible infinite loops.
6932 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
6933 and -Wunsafe-loop-optimizations.
6934 * grub-core/script/yylex.l: Likewise.
6935 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
6936 (print_glyphs): Avoid infinite loops.
6937 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
6938
697f18b0
GS
69392012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
6940
6941 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
6942 to avoid infinite loop.
6943 (disp_acpi_rsdt_table): Likewise.
6944
274416e8
VS
69452012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 * grub-core/font/font.c (grub_font_load): Add support for default
6948 path for fonts ($prefix/fonts).
6949 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
6950 for checking if string is a path.
6951 * grub-core/normal/main.c (features): Add feature_default_font_path.
6952 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
6953 * util/grub.d/00_header.in: Use default directory if possible.
6954 * util/grub-install.in: Install unicode.pf2.
6955
b3e08622
VS
69562012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
6959 * po/Rules-swiss: New file.
6960 * po/swiss.sed: Likewise.
6961
fe42ce09
VS
69622012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * grub-core/fs/btrfs.c (find_device): Fix typos.
6965 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
6966 * util/grub-mkrelpath.c (argp_parser): Likewise.
6967 Reported by: Yuri Chornoivan.
6968
72f1d065
DO
69692012-02-23 Dalet Omega <daletomega@gmail.com>
6970
6971 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
6972 for usual informative messages.
6973
c5884973
DO
69742012-02-23 Dalet Omega <daletomega@gmail.com>
6975
6976 Starfield theme.
6977
6978 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
6979 * conf/Makefile.common: Define starfielddir.
6980 * configure.ac: Configure starfield.
6981 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
6982 * themes/starfield/README: Likewise.
6983 * themes/starfield/blob_w.png: Likewise.
6984 * themes/starfield/boot_menu_c.png: Likewise.
6985 * themes/starfield/boot_menu_e.png: Likewise.
6986 * themes/starfield/boot_menu_n.png: Likewise.
6987 * themes/starfield/boot_menu_ne.png: Likewise.
6988 * themes/starfield/boot_menu_nw.png: Likewise.
6989 * themes/starfield/boot_menu_s.png: Likewise.
6990 * themes/starfield/boot_menu_se.png: Likewise.
6991 * themes/starfield/boot_menu_sw.png: Likewise.
6992 * themes/starfield/boot_menu_w.png: Likewise.
6993 * themes/starfield/slider_c.png: Likewise.
6994 * themes/starfield/slider_n.png: Likewise.
6995 * themes/starfield/slider_s.png: Likewise.
6996 * themes/starfield/src/blob_nw.xcf: Likewise.
6997 * themes/starfield/src/bootmenu/: Likewise.
6998 * themes/starfield/src/bootmenu/center.xcf: Likewise.
6999 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
7000 * themes/starfield/src/bootmenu/side.xcf: Likewise.
7001 * themes/starfield/src/slider_c.xcf: Likewise.
7002 * themes/starfield/src/slider_n.xcf: Likewise.
7003 * themes/starfield/src/slider_s.xcf: Likewise.
7004 * themes/starfield/src/terminalbox/: Likewise.
7005 * themes/starfield/src/terminalbox/center.xcf: Likewise.
7006 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
7007 * themes/starfield/src/terminalbox/side.xcf: Likewise.
7008 * themes/starfield/starfield.png: Likewise.
7009 * themes/starfield/terminal_box_c.png: Likewise.
7010 * themes/starfield/terminal_box_e.png: Likewise.
7011 * themes/starfield/terminal_box_n.png: Likewise.
7012 * themes/starfield/terminal_box_ne.png: Likewise.
7013 * themes/starfield/terminal_box_nw.png: Likewise.
7014 * themes/starfield/terminal_box_s.png: Likewise.
7015 * themes/starfield/terminal_box_se.png: Likewise.
7016 * themes/starfield/terminal_box_sw.png: Likewise.
7017 * themes/starfield/terminal_box_w.png: Likewise.
7018 * themes/starfield/theme.txt: Likewise.
7019
17d73325
VS
70202012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * util/grub.d/00_header.in: Add missing export theme.
7023
dbebaf92
VS
70242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
7027 already included.
7028 Reported by: Eren D.
7029
3d68bffb
VS
70302012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 * conf/Makefile.common (grubdatadir): Removed.
7033 (Makefile.am): Move eveything grubdata to pkgdata.
7034
4b59234d
VS
70352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 * grub-core/commands/acpihalt.c (get_sleep_type):
7038 Remove unused variable.
7039
463dcadc
VS
70402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7041
7042 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
7043 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
7044 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
7045 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
7046 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
7047 i18n with gettext no-op.
7048 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
7049 GRUB_ACPI_OPCODE_STRING_CONST.
7050 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
7051 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
7052
e5b90c82
VS
70532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 * po/POTFILES.in: Regenerate.
7056
2a704ca9
VS
70572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7058
7059 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
7060 -Wno-error=missing-noreturn.
7061
84f9d341
VS
70622012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7063
7064 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
7065 condition to avoid possibly infinite loops.
7066 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
7067 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
7068
d46683f9
VS
70692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
7072 condition to avoid possibly infinite loops.
7073
c44866b2
VS
70742012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
7077 on show_error.
7078
96790539
VS
70792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
7082
1ba7e295
VS
70832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
7086
21ffe8f1
VS
70872012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 * util/bin2h.c (usage): Add missing attribute noreturn.
7090
0ccb6b3c
VS
70912012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
7094 if the size isn't divisible by 512.
7095
b00d7fb6
VS
70962012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7097
7098 Make list_push and list_remove functions rather than inline functions
7099 to decrease size and avoid aliasing violations.
7100
7101 * include/grub/list.h (grub_list_push): Move to ...
7102 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
7103 * include/grub/list.h (grub_list_remove): Move to ...
7104 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
7105
9d369087
VS
71062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
7109 and -Wunused-result.
7110
af0250d9
VS
71112012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
7114 Reported by: Seth Goldberg
7115
aad32b14
VS
71162012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
7119
ac96441c
ST
71202012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
7121
7122 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
7123 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
7124 command line.
7125 * docs/grub.texi (Simple configuration): Document
7126 GRUB_CMDLINE_GNUMACH.
7127
71282012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
7129
7130 * conf/Makefile.common (platform_SCRIPTS): New variable.
7131 (platform_PROGRAMS): Likewise.
7132 * gentpl.py: Mark *,module and *.image for install.
7133 * grub-core/gdb_grub.in: Add a notice of expected environment.
7134 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
7135 (gmodule.pl): Likewise.
7136
ac96441c 71372012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
7138
7139 Replace grub_checkkey with grub_getkey_noblock.
7140
7141 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
7142 (grub_getkey_noblock): ... this. All users updated.
7143
ac96441c 71442012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
7145
7146 * grub-core/kern/emu/console.c: Move to ...
7147 * grub-core/term/emu/console.c: ...here.
7148 (grub_ncurses_getkey): Fix return value if no key is detected.
7149
e51b5666
VS
71502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
7153 (grub_unit_test_fini): Likewise.
7154 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
7155
71562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 * include/grub/test.h (GRUB_UNIT_TEST)
7159
d9a62292
VS
71602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 * grub-core/script/execute.c (grub_script_break): Clarify logic.
7163 Better error handling.
7164 (grub_script_return): Likewise.
7165 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7166
77c9182f
VS
71672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7168
7169 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
7170 rimplicit redifinition.
7171
edb13cf9
VS
71722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
7175 GRUB.
7176
a9e9dc7c
VS
71772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7178
7179 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
7180 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
7181 prompt here.
7182
b4ba8e02
VS
71832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
7186 as GRUB_ERR_BUG. Don't malloc if no device is available.
7187
dded5540
VS
71882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
7191 Mark calling with invalid term as GRUB_ERR_BUG.
7192
0cf69874
VS
71932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
7196 packets rather than raising an error.
7197
59bfe502
VS
71982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
7201 in if.
7202
db5fc596
VS
72032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
7206 diagnostic to dprintf.
7207 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7208
e4b7f404
VS
72092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
7212 device name.
7213
e7b02f9e
VS
72142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
7217 (grub_ntfs_iterate_dir): Likewise.
7218
0331e102
VS
72192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 Efiemu stylistic fixes and gettext.
7222
7223 * grub-core/efiemu/i386/loadcore32.c
7224 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
7225 * grub-core/efiemu/i386/loadcore64.c
7226 (grub_arch_efiemu_relocate_symbols64): Likewise.
7227 * grub-core/efiemu/i386/pc/cfgtables.c
7228 (grub_machine_efiemu_init_tables): Likewise.
7229 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
7230 (grub_efiemu_loadcore_initXX): Add a filename argument.
7231 All users updated.
7232 Improved error message.
7233 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
7234 Add a filename argument.
7235 All users updated.
7236 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
7237 Reclassify double relocation as GRUB_ERR_BUG.
7238
306fc074
VS
72392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
7242 handling.
7243
794d8ef2
VS
72442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7245
7246 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
7247 on partition.
7248
72492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
7250
7251 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
7252
794d8ef2 72532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
7254
7255 Improve string. Gettextize.
7256
78dde88e
VS
72572012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7258
7259 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
7260 utils.
7261 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
7262
4786a90f
VS
72632012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
7266 [GRUB_UTIL]: New function.
7267 (insert_array) [GRUB_UTIL]: Store partmaps.
7268 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
7269 partmaps.
7270 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
7271 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
7272 (probe_abstraction): Print diskfilter and not raid.
7273 Reported by: Lennart Sorensen
7274
0b6225bd
VS
72752012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
7278 * util/grub-mkimagexx.c (MASK3): New define.
7279 (add_value_to_slot_20b): Use MASK3.
7280 (add_value_to_slot_21): Likewise.
7281 (relocate_addresses): Fix format specification.
7282 (load_image): Explicitly init symtab_section.
7283
b055f8f6
VS
72842012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
7287 (grub_util_biosdisk_get_grub_dev): Fix format specification.
7288
b77c2fb7
VS
72892012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
7292 on powerpc.
7293 Reported by: Lennart Sorensen
7294
e3ec28ab
VS
72952012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7296
7297 * gentpl.py: Add missing license header.
7298 * docs/grub.texi: Update copyright year.
7299
c8d9ead6
GS
73002012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
7301
7302 Source grub-mkconfig_lib from the build directory at build time.
7303 Suggested by: Vladimir Serbinenko.
7304
7305 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
7306 * util/grub-install.in: Define pkgdatadir if not already set, and source
7307 grub-mkconfig_lib from there.
7308 * util/grub-kbdcomp.in: Likewise.
7309 * util/grub-mkconfig.in: Likewise.
7310 * util/grub-mknetdir.in: Likewise.
7311 * util/grub-mkrescue.in: Likewise.
7312 * util/grub-mkstandalone.in: Likewise.
7313 * util/grub-reboot.in: Likewise.
7314 * util/grub-set-default.in: Likewise.
7315 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7316
ebcecdf1
VS
73172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 Increase warning level.
7320
7321 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
7322 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
7323 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
7324 (TARGET_CFLAGS): Likewise.
7325 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
7326 * grub-core/Makefile.core.def (decompressor_xz): Add
7327 -Wno-unreachable-code.
7328 (normal): Add -Wno-redundant-decls.
7329 (xzio): Add -Wno-unreachable-code.
7330 (lzopio): Add -Wno-redundant-decls -Wno-error.
7331 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
7332 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
7333 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
7334 * grub-core/kern/dl.c: Add exception to -Wcast-align.
7335 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
7336 * grub-core/kern/i386/coreboot/init.c: Add exception to
7337 -Wsuggest-attribute=noreturn.
7338 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
7339 * grub-core/kern/ia64/dl_helper.c: Likewise.
7340 * grub-core/kern/mips/dl.c: Likewise.
7341 * grub-core/kern/sparc64/dl.c: Likewise.
7342 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
7343 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
7344 (memcmp): Likewise.
7345 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
7346 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
7347 * grub-core/loader/mips/linux.c: Likewise.
7348 * grub-core/loader/multiboot_elfxx.c: Likewise.
7349 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
7350 * grub-core/video/sm712.c: Add exception to -Wcast-align.
7351 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
7352 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
7353 fixme.
7354 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
7355 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
7356 Fix prototype.
7357
37bb97fe
VS
73582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
7361 address.
7362
29a3550b
VS
73632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7366 Avoid improper use of strings.
7367 (grub_cmd_legacy_initrdnounzip): Likewise.
7368
dfdffd0d
VS
73692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 * include/grub/emu/misc.h (grub_util_warn): Add missing format
7372 attribute.
7373 (grub_util_info): Likewise.
7374 (grub_util_error): Likewise.
7375
102fae4a
VS
73762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7377
7378 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
7379 * util/grub-fstest.c (fstest): Likewise.
7380
7e94d044
VS
73812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
7384 (grub_md_sha512_real): Likewise.
7385 (grub_util_get_geli_uuid): Likewise.
7386 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
7387 (grub_util_biosdisk_open): Fix format specification.
7388 Respect format security.
7389 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
7390 (xrealloc): Likewise.
7391 (xasprintf): Likewise.
7392
5ebd9769
VS
73932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * util/import_gcry.py: Include grub/crypto.h in init.c.
7396
495fc8c1
VS
73972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
7400 (generate_image): Make prefix a const char *.
7401 Fix format specifications. Respect format security.
7402 Avoid void * arithmetics.
7403 Avoid shadowing.
7404 (argp_parser): Remove unused variable. Respect format security.
7405 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
7406 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
7407 (count_funcs): Remove unused variable.
7408 (relocate_addresses): Fix format specification.
7409 Disable x86-64 with elf32. Remove unused variables.
7410 (add_fixup_entry): Avoid shadowing.
7411 (make_reloc_section): Fix format specification.
7412 Use assert.
7413 (locate_sections): Fix format specifications.
7414 (load_image): Avoid shadowing.
7415
043c2ea3
VS
74162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
7419 Fix format specifications. Respect format security.
7420 Don't translate already translated grub_errmsg.
7421 (argp_parser): Remove unused variable
7422
3ec65a81
VS
74232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
7426
a4d9fe4a
VS
74272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
7430 (main): Likewise. Use xmalloc. Respect format security.
7431
15b81d49
VS
74322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7433
7434 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
7435 a const char *.
7436 (argp_parser): Remove unused variable.
7437
31731fc0
VS
74382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
7441 (add_pixel): Make static.
7442 (add_font): Likewise.
7443 (write_string_section): Make name and str a const char *.
7444 (write_be16_section): Make name a const char *.
7445 (print_glyphs): Make static.
7446 (write_font_ascii_bitmap): Likewise.
7447 (write_font_width_spec): Likewise.
7448 (write_font_pf2): Likewise.
7449 (argp_parser): Remove unused variable.
7450 Respect format security.
7451 (main): Avoid shadowing. Respect format security.
7452
0809527b
VS
74532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * util/grub-editenv.c (argp_parser): Make static.
7456 (create_envblk_file): Use xmalloc.
7457 (open_envblk_file): Likewise.
7458 Resepect format security.
7459 (set_variables): Respect format security.
7460
45b0c8b7
VS
74612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * util/getroot.c (grub_find_device): Respect format security.
7464 (get_mdadm_uuid): Remove unused variable.
7465 (grub_util_pull_device): Dont call gettext on already translated
7466 grub_errmsg.
7467 (find_system_device): Remove unused variable.
7468 (grub_util_get_grub_dev): Likewise.
7469 (grub_make_system_path_relative_to_its_root): Respect format security.
7470
1b024b4e
VS
74712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * util/grub-fstest.c (execute_command): Make first argument
7474 a const char *.
7475 (read_file): Avoid shadowing.
7476 Reuse underlying error message if device open fails.
7477 (cmd_cmp): Respect format security.
7478 (root): Make const char *.
7479 (fstest): Remove args argument and use global copy.
7480 Respect format security.
7481 (argp_parser): Make static.
7482 (main): Make default_root const char *.
7483
5d1d4e28
VS
74842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * util/grub-mount.c (root): Make const char *.
7487 (execute_command): Make first argument a const char *.
7488 (fuse_init): Respect format security.
7489 (argp_parser): Make static. Remove unused variable.
7490 (main): Make default_root a const char *.
7491 Respect format security.
7492
36eb7379
VS
74932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * util/grub-probe.c (probe): Don't call gettext on already translated
7496 grub_errmsg.
7497 Remove unused variables.
7498 (argp_parser): Remove unused variable.
7499
76fb2ea9
VS
75002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * util/grub-script-check.c (argp_parser): Remove unused variable.
7503 (main): Rename read to curread to avoid shadowing.
7504
56c98584
VS
75052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 * util/misc.c (grub_util_write_image_at): Fix format specification.
7508 (grub_util_write_image): Likewise.
7509 (grub_script_execute_argument_to_string): Removed (unused).
7510 (grub_script_execute_menuentry): Likewise.
7511 (grub_putchar): Likewise.
7512
164ebb48
VS
75132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
7516 (FUNCTION) [GRUB_UTIL]: Likewise.
7517 (VARIABLE) [GRUB_UTIL]: Likewise.
7518
44318d61
VS
75192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7520
7521 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
7522 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
7523
31a26002
VS
75242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
7527 buffer.
7528
75292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
7532 (LzmaEnc_SaveState): Removed (unused).
7533 (LzmaEnc_RestoreState): Likewise.
7534 (LzmaEnc_InitPriceTables): Made static.
7535 (LzmaEnc_Construct): Likewise.
7536 (LzmaEnc_FreeLits): Likewise.
7537 (LzmaEnc_Destruct): Likewise.
7538 (LzmaEnc_Init): Likewise.
7539 (LzmaEnc_InitPrices): Likewise.
7540 (LzmaEnc_Finish): Likewise.
7541 (LzmaEnc_PrepareForLzma2): Removed (unused).
7542 (LzmaEnc_MemPrepare): Likewise.
7543 (LzmaEnc_GetNumAvailableBytes): Likewise.
7544 (LzmaEnc_GetCurBuf): Likewise.
7545 (LzmaEnc_CodeOneMemBlock): Likewise.
7546
6fa67967
VS
75472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
7550 (grub_util_ldm_embed): Likewise.
7551
9a7428e6
VS
75522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * util/grub-editenv.c (print_var): Rename name to varname to
7555 avoid shadowing.
7556 (main): Rename index to curindex to avoid shadowing.
31a26002 7557 Make filename a const char *.
9a7428e6 7558
4f96abd1
VS
75592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7562 to arg_getline to avoid shadowing.
7563
44d10dad
VS
75642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7565
7566 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
7567 disk_ to avoid shadowing.
7568
340ba63e
VS
75692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
7572 curindex to avoid shadowing.
7573 Make static.
7574 (MatchFinder_GetNumAvailableBytes): Make static.
7575
22965bce
VS
75762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
7579 avoid shadowing.
7580
7b5784d4
VS
75812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
7584 argument from encrypt to do_encrypt to avoid shadowing.
7585
6f48ca01
VS
75862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
7589 incorrect nesting of #if's.
7590
a4ea2dff
VS
75912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
7594 checks which are always false on some platforms.
7595 (grub_cmd_lsacpi): Likewise.
7596 * grub-core/kern/misc.c (grub_strtoul): Likewise.
7597 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
7598 Likewise.
7599
def9fc1b
VS
76002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
7603 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
7604
a67b2a04
VS
76052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7606
7607 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
7608 re_dfa_t to avoid breaking alignment invariants.
7609 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
7610 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
7611
44c6828d
VS
76122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
7615 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
7616
bebe0dd0
VS
76172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
7620 Fix declaration.
7621
a9cdb3cf
VS
76222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
7625 conserve alignment invariants.
7626 (grub_ehci_ehcc_read16): Likewise.
7627 (grub_ehci_oper_read32): Likewise.
7628 (grub_ehci_oper_write32): Likewise.
7629 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7630 Conserve alignment invariants.
7631
ccc3b1b8
VS
76322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
7635 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
7636 declarations.
7637
987fbd95
VS
76382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7639
7640 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
7641 Remove unused variable.
7642
0df363f3
VS
76432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
7646 Remove set in if.
7647
b2c0c4a6
VS
76482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * include/grub/net.h: Remove double declarations.
7651
690c531f
VS
76522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 Remove "payload" command in ia64 Linux loader since I couldn't
7655 find any evidence of it being used for anything.
7656 Replace "relocate" command with an environment variable
7657
7658 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
7659 fields.
7660 (ia64_boot_payload): Removed.
7661 (last_payload): Likewise.
7662 (RELOCATE_OFF): Likewise.
7663 (RELOCATE_ON): Likewise.
7664 (RELOCATE_FORCE): Likewise.
7665 (relocate): Likewise.
7666 (free_pages): Don't free payloads.
7667 (grub_load_elf64): Use common error messages.
7668 Use "linux_relocate" variable.
7669 Increase the space after boot_params.
7670 (grub_cmd_payload): Removed.
7671 (grub_cmd_relocate): Likewise.
7672 (grub_cmd_fpswa): Improve messages.
7673 (cmd_payload): Removed.
7674 (cmd_relocate): Likewise.
7675 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
7676 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
7677
01783768
VS
76782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 Convert UHCI to DMA framework.
7681
7682 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
7683 (grub_uhci_pci_iter): Fill new members
7684 (grub_alloc_td): Use P2V and V2P functions.
7685 (grub_free_queue): Likewise.
7686 (grub_alloc_qh): Likewise.
7687 (grub_uhci_setup_transfer): Likewise.
7688 (grub_uhci_check_transfer): Likewise.
7689
43206939
VS
76902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
7693 Remove assignment in if while on it.
7694
571e140e
VS
76952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * util/grub-mkstandalone.in: Fix modules directory.
7698
a9d96eeb
VS
76992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7700
7701 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
7702 on i386-pc target.
7703 (argp_parser): Accept "auto" as compression specification.
7704
e4e37e8d
VS
77052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 Fix `help' with unloaded modules.
7708
7709 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
7710 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
7711 (grub_dyncmd_dispatcher): Small stylistic fix.
7712 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
7713 explicit help is requested.
7714
e1ea3ade
VS
77152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7716
7717 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
7718 Explicitly init restart while on it.
7719
27556881
VS
77202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7721
7722 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
7723 uninited variable.
7724
d65f6b36
VS
77252012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 * util/grub-mknetdir.in: Use . rather than source for POSIX
7728 compatibility.
7729
0a1e473c
VS
77302012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
7733
ce6647c8
VS
77342012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
7737 variable.
7738
66747894
VS
77392012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7740
7741 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
7742 without quotes.
7743
71645f6e
VS
77442012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
7747
0e1c1f61
VS
77482012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
7751 iteration of partitions.
7752
9c4b5c13
VS
77532012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 Improve gettext support. Stylistic fixes and error handling fixes while
7756 on it.
7757
215c90cb
VS
77582012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
7761 part. Instead setup the correct stack in RM.
7762 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
7763 for stack.
7764 * include/grub/i386/relocator_private.h: New file.
7765
b5c1f9bf
VS
77662012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7767
7768 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
7769 argument.
7770 * util/grub-fstest.c (options): Add missing DEVICE part.
7771
b525fd83
VS
77722012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 Clarify and unify messages.
7775
7776 * grub-core/commands/hashsum.c (options): Unify messages.
7777 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
7778 literal-only message as translatable.
7779 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
7780 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
7781 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
7782 commands.
7783 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
7784 key, not the key used to unlock. Clarify what it's used for.
7785 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
7786 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
7787 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
7788 * util/grub-editenv.c (options): Unify "verbose" message.
7789 * util/grub-fstest.c (read_file): Unify error message.
7790 (fstest): Add quotes around commands.
7791 (options): Unify "verbose" message.
7792 * util/grub-install.in: Add quotes around variable name.
7793 * util/grub-kbdcomp.in: Unify error message.
7794 * util/grub-mkfont.c (main): Likewise.
7795 * util/grub-mkrescue.in: Likewise.
7796 * util/grub-mklayout.c (options): Unify "verbose" message.
7797 * util/grub-mkstandalone.in: Unify help and verbose messages.
7798 * util/grub-mount.c (options): Unify "verbose" message.
7799 * util/grub-probe.c (options): Likewise.
7800 * util/grub-script-check.c (options): Likewise.
7801 * util/grub-setup.c (setup): Unify no-terminator message.
7802 (options): Use DEVICE and not DEV.
7803 Unify "verbose" message.
7804 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
7805
0ae70393
VS
78062012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7807
7808 Improve and unify messages.
7809
7810 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
7811 name. All users updated.
7812 Print filename in error.
7813 (read_device_map): Print filename in error.
7814 * util/getroot.c (grub_guess_root_devices): Print filename in error.
7815 (grub_util_get_os_disk): Likewise.
7816 (grub_util_biosdisk_get_grub_dev): Likewise.
7817 (grub_util_check_block_device): Likewise.
7818 (grub_util_check_char_device): Likewise.
7819 (grub_make_system_path_relative_to_its_root): Likewise.
7820 * util/grub-editenv.c (create_envblk_file): Likewise.
7821 (open_envblk_file): Likewise.
7822 (write_envblk): Likewise.
7823 * util/grub-fstest.c (cmd_cp): Likewise.
7824 (cmd_cat): Likewise.
7825 (cmd_cmp): Likewise.
7826 * util/grub-menulst2cfg.c (main): Likewise.
7827 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
7828 (write_font_width_spec): Likewise.
7829 (write_font_pf2): Likewise.
7830 * util/grub-mkimage.c (generate_image): New argument outname.
7831 All users updated.
7832 Remove unreacheable message.
7833 (options): Unify messages.
7834 (help_filter): Likewise.
7835 * util/grub-mklayout.c (usage): Removed (unused).
7836 (main): Print filename in error.
7837 * util/grub-mkrescue.in: Fix wrong quoting.
7838 * util/grub-setup.c (setup): Print filename in error.
7839 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
7840 (check_sas): Likewise.
7841 * util/misc.c (grub_util_get_fp_size): Removed.
7842 (grub_util_get_image_size): Print filename in error.
7843 (grub_util_read_at): Removed.
7844 (grub_util_read_image): Print filename in error.
7845 (grub_util_load_image): Likewise.
7846 (grub_util_write_image_at): New argument filename. All users updated.
7847 Print filename in error.
7848 (grub_util_write_image): New argument filename. All users updated.
7849 Print filename in error.
7850 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
7851 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
7852
0a96117d
VS
78532012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/Makefile.core.def (pxechain): New module.
7856 * grub-core/loader/i386/pc/pxechainloader.c: New file.
7857 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
7858 function.
7859 (grub_pc_net_config_real): Use grub_pxe_get_cached.
7860 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
7861
aca002f7
VS
78622012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
7865 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
7866 * include/grub/err.h (grub_error_saved): New struct.
7867 (grub_errmsg): Make array size explicit.
7868 * include/grub/misc.h (grub_error_save): New function.
7869 (grub_error_load): Likewise.
7870 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
7871 (grub_error_push): Update `errno' member name.
7872 (grub_error_pop): Likewise
7873 * grub-core/net/tftp.c (tftp_data): New member save_err.
7874 (tftp_receive): Save error.
7875 (tftp_open): Restore error.
7876
a51dab13
VS
78772012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
7880 to real mode down to execute A20-related code in protected mode as
7881 intended.
7882
eb6e6649
GS
78832012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7884
7885 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
7886 NULL when the argument `level' has an unexpected value.
7887
92cd0f6e
VS
78882012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 Move platform-dependent files from $prefix to $prefix/$platform.
7891
7892 * config.h.in (GRUB_TARGET_CPU): New definition.
7893 (GRUB_PLATFORM): Likewise.
7894 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
7895 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
7896 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7897 * grub-core/kern/dl.c (grub_dl_load): Likewise.
7898 * grub-core/normal/autofs.c (read_fs_list): Likewise.
7899 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
7900 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
7901 * grub-core/normal/term.c (read_terminal_list): Likewise.
7902 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
7903 $prefix/locale.
7904 (grub_gettext_init_ext): Likewise.
7905 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
7906 grub_platform.
7907 * util/grub-install.in: Update directories.
7908 * util/grub-mknetdir.in: Likewise.
7909 * util/grub-mkrescue.in: Likewise.
7910
db606889
VS
79112012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7912
7913 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
7914 grub_error framework. All users updated.
7915
c39992a4
VS
79162012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
7919 lists (by always binsearching), improve caching (cache strings
7920 used for binsearch, not only results), improve
7921 maintainability (by using more structured binary search) and correct
7922 error handling.
7923
1e5ec32f
VS
79242012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * grub-core/script/execute.c (grub_script_return): Fix warning.
7927
ac576cde
VS
79282012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 * grub-core/script/execute.c (grub_script_return): Fix potential
7931 NULL-dereference.
7932 Reported by: Jim Meyering.
7933
498453f6
VS
79342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * po/POTFILES.in: Regenerate.
7937 * util/grub-install.in: Gettextize the strings missed in first pass.
7938
8be63f2e
VS
79392012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * Makefile.util.def (grub-mkdevicemap): Removed.
7942 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
7943 * include/grub/util/deviceiter.h: Removed.
7944 * util/deviceiter.c: Likewise.
7945 * util/getroot.c (grub_util_get_os_disk): New function.
7946 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
7947 replacement for EFI.
7948 * util/grub-mkdevicemap.c: Removed.
7949 * util/grub-probe.c (probe): Handle PRINT_DISK.
7950 (argp_parser): Handle -t disk.
7951
8e1e4e39
VS
79522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * util/grub-mkfont.c: Migrate to argp.
7955 * util/grub-mklayout.c: Likewise.
7956 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7957 * util/grub-mkrelpath.c: Likewise.
7958 * util/grub-probe.c: Likewise.
7959 * util/grub-script-check.c: Likewise.
7960
4459819a
VS
79612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7962
7963 * util/grub-reboot.in: Add missing datarootdir.
7964 Add missing newline.
7965 * util/grub-set-default.in: Add missing datarootdir.
7966 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
7967 * util/grub-mkrescue.in: Likewise.
7968
f65741c7
VS
79692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
7972
c1a33466
VS
79732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7974
7975 * util/grub-kbdcomp.in: Add decent help and gettextize.
7976 * docs/man/grub-kbdcomp.h2m: New file.
7977
c76899a0
VS
79782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 Migrate grub-mkimage.c to argp.
7981
7982 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
7983 (grub-setup): Likewise.
7984 * util/grub-setup.c (print_version): Move to ...
7985 * util/argp_common.c (print_version): ... here.
7986 * util/grub-setup.c (argp_program_version_hook): Move to ...
7987 * util/argp_common.c (argp_program_version_hook): ... here.
7988 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
7989 safety.
7990 * util/grub-mkimage.c (main): Migrate to argp.
7991
57db0757
VS
79922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7993
7994 * util/grub-mkrescue.in: Use same message as
7995 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
7996 for better translations.
7997
18534ad9
VS
79982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
8001 options with generic grub-mkrescue.in with the goal of future
8002 merge.
8003
c84ba308
VS
80042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8005
8006 * grub-core/kern/mm.c: Add missing include of i18n.h
8007 * grub-core/lib/relocator.c: Likewise.
8008
347998c2
VS
80092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8010
8011 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
8012 error.
8013 (allocate_pages): Check return value.
8014 Replace fatal with error.
8015 (grub_linux_boot): Replace printf with dprintf.
8016 Check find_mmap_size return value.
8017 Replace fatal with error.
8018 Don't call grub_machine_fini.
8019 (grub_load_elf64): Replace printf with dprintf.
8020 (grub_cmd_linux): Likewise.
8021 (grub_cmd_initrd): Likewise.
8022 (grub_cmd_payload): Likewise.
8023
c779226e
VS
80242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8025
8026 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
8027 message.
8028 * grub-core/video/radeon_fuloong2e.c
8029 (grub_video_radeon_fuloong2e_setup): Likewise.
8030 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
8031 * grub-core/video/video.c (grub_video_set_mode): Don't override
8032 standard out of memory message.
8033
dc87d45a
GS
80342012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8035
8036 NetBSD disk wedge support.
8037
8038 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
8039 [__NetBSD__]: Handle NetBSD disk wedges.
8040 * util/getroot.c (convert_system_partition_to_system_disk)
8041 [__NetBSD__]: Likewise.
8042
055f856f
MW
80432012-02-03 Mark Wooding <mdw@distorted.org.uk>
8044
8045 * util/grub-mkconfig.in: Use umask rather than chmod to create
8046 grub.cfg.new to avoid insecure grub.cfg.
8047
4a9f8346
VS
80482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 * grub-core/commands/ls.c: Gettextize.
8051 * grub-core/commands/setpci.c: Likewise.
8052 * grub-core/commands/videotest.c: Likewise.
8053 * grub-core/disk/geli.c: Likewise.
8054 * grub-core/kern/mm.c: Likewise.
8055 * grub-core/lib/relocator.c: Likewise.
8056 * grub-core/loader/efi/appleloader.c: Likewise.
8057 * grub-core/loader/i386/xnu.c: Likewise.
8058 * grub-core/loader/ia64/efi/linux.c: Likewise.
8059 * grub-core/loader/xnu.c: Likewise.
8060 * grub-core/net/dns.c: Likewise.
8061 * grub-core/net/net.c: Likewise.
8062 * grub-core/script/lexer.c: Likewise.
8063 * grub-core/script/parser.y: Likewise.
8064 * grub-core/script/yylex.l: Likewise.
8065 * util/getroot.c: Likewise.
8066 * util/grub-setup.c: Likewise.
8067
a646a366
VS
80682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
8071 number.
8072
54e2be26
VS
80732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
8076
f7c71e68
VS
80772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
8080 macro.
8081 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
8082 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
8083
a32d5c71
VS
80842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
8087 * util/grub-install.in: Gettextize.
8088 * util/grub-mkconfig.in: Likewise.
8089 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
8090 if not available.
8091 (grub_warn): Gettextize.
8092 * util/grub-mknetdir.in: Gettextize.
8093 * util/grub-mkrescue.in: Likewise.
8094 * util/grub-mkstandalone.in: Likewise.
8095 * util/grub-reboot.in: Likewise.
8096 * util/grub-set-default.in: Likewise.
8097 * util/grub.d/00_header.in: Likewise.
8098 * util/grub.d/10_hurd.in: Likewise.
8099 * util/grub.d/10_kfreebsd.in: Likewise.
8100 * util/grub.d/10_linux.in: Likewise.
8101 * util/grub.d/10_netbsd.in: Likewise.
8102 * util/grub.d/10_windows.in: Likewise.
8103 * util/grub.d/20_linux_xen.in: Likewise.
8104 * util/grub.d/30_os-prober.in: Likewise.
8105 * po/POTFILES-shell.in: Regenerate.
8106
69edd81a
RL
81072012-02-03 Richard Laager <rlaager@wiktel.com>
8108
8109 * util/grub-mkimage.c (main): Fix format-security warning.
8110 * util/grub-mkrelpath.c (main): Likewise.
8111 * util/grub-probe.c (main): Likewise.
8112
65f08dbf
RL
81132012-02-03 Richard Laager <rlaager@wiktel.com>
8114
8115 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
8116 failure.
8117 Put back lost PRINT_DRIVE.
8118
e9084abe
RL
81192012-02-03 Richard Laager <rlaager@wiktel.com>
8120
8121 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
8122 (grub_guess_root_devices): Replace strlen with sizeof.
8123 Avoid crash.
8124 (find_root_devices_from_poolname): Remove unused variable.
8125 Handle raidzN.
8126
cf5f7ee7
VS
81272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 Support install on multi-device filesystems.
8130
8131 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
8132 (grub_guess_root_devices): ...this. Return char **. All users updated.
8133 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
8134 Removed.
8135 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
8136 (find_root_devices_from_poolname): ... here.
8137 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
8138 Support zfs-fuse.
8139 (grub_guess_root_device): Rename to ...
8140 (grub_guess_root_devices): ... this. Return char **. All users updated.
8141 * util/grub-install.in: Handle multi-device filesystems.
8142 * util/grub-probe.c (probe). Make device_names a char **. Add delim
8143 argument. All users updated.
8144 Handle multi-device filesystems.
8145 Use 'delim' as separator.
8146 Remove device check to allow filesystems on file.
8147 (main): Support -0 argument. Handle multi-device.
8148 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
8149 Fix a cross-device check while on it.
8150 (arguments): Remove root_dev.
8151 (argp_parser): Remove -r.
8152 (main): Remove root_dev.
8153
2f53a9ed
VS
81542012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
8157
17e1d934
VS
81582012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
8161 symbol.
8162 Reported by: NODA, Kai <nodakai>.
8163
d3e3fab5
VS
81642012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 Fix ehci on amd64.
8167
8168 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
8169 pointers.
8170 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
8171 (grub_ehci_setup_qh): Likewise.
8172 (grub_ehci_find_qh): Likewise.
8173 (grub_ehci_transaction): Likewise.
8174 (grub_ehci_setup_transfer): Likewise.
8175 (grub_ehci_check_transfer): Likewise.
8176 (grub_ehci_portstatus): Likewise.
8177 (grub_ehci_detect_dev): Likewise.
8178 (grub_ehci_transfer_controller_data): New field td_last_phys.
8179 (grub_ehci_setup_transfer): Fill td_last_phys.
8180 (grub_ehci_check_transfer): Use td_last_phys.
8181
3008675b
SG
81822012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
8183
8184 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
8185 if no submenu is present.
8186
fc9b5652
AN
81872012-02-01 Aleš Nesrsta <starous@volny.cz>
8188
8189 CBI support.
8190
8191 * include/grub/usb.h (grub_usbms_protocol_t): New values
8192 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
8193 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
8194 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
8195 (grub_usbms_dev): Add subclass, protocol and intrpt.
8196 Remove in_maxsz and out_maxsz.
8197 (grub_usbms_reset): Rename to ...
8198 (grub_usbms_bo_reset): .. this.
8199 (grub_usbms_cbi_cmd): New function.
8200 (grub_usbms_cbi_reset): Likewise.
8201 (grub_usbms_reset): Likewise.
8202 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
8203 (grub_usbms_transfer): Rename to ...
8204 (grub_usbms_transfer_bo): ... this.
8205 (grub_usbms_transfer_cbi): Likewise.
8206 (grub_usbms_transfer): Likewise.
8207
a2b81d53
AN
82082012-02-01 Aleš Nesrsta <starous@volny.cz>
82092012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
8212 the support for the CS5536 modification thereos and few bugfixes.
8213
8214 * grub-core/Makefile.core.def (ehci): New module.
8215 * grub-core/bus/usb/ehci.c: New file.
8216 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
8217 port and hubaddr. All users updated.
8218 Save port and hubaddr into dev structure.
8219 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
8220 define.
8221 * include/grub/pci.h (grub_dma_phys2virt): New function.
8222 (grub_dma_virt2phys): Likewise.
8223 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
8224
b1d51f02
VS
82252012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
8228 check as some mkfs implementations omit it.
8229
fc694106
VS
82302012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 * docs/grub.texi (Unicode): Mention identifier and space limitations.
8233
6c0920e3
VS
82342012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
8237 Add new member volname2.
8238 (grub_jfs_label): Use volname2 if available.
8239
d1a46f9a
VS
82402012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8241
8242 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
8243 over last_mounted as seen in image generated by mkfs.nilfs2.
8244 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
8245
dec8ed14
VS
82462012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8247
8248 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
8249 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
8250 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
8251
7397c69b
VS
82522012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
8255 over the sector.
8256
b3fe42ad
VS
82572012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
8260 subvolume name (by removing a bogus and useless check).
8261
10476bb0
VS
82622012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
8265 sizeof while on it.
8266
9c08ad87
VS
82672012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8268
8269 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
8270 (grub_scsi_read_capacity10): ... this.
8271 (grub_scsi_read_capacity16): New function.
8272 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
8273 0xffffffff.
8274 Fix off-by-one error.
8275 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
8276 64-bit unsigned.
8277 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
8278 (grub_scsi_read_capacity10): ... this.
8279 (grub_scsi_read_capacity_data): Rename to ...
8280 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
8281 (grub_scsi_read_capacity16): New struct.
8282 (grub_scsi_read_capacity16_data): Likewise.
8283 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
8284 grub_scsi_cmd_read_capacity10.
8285 New command grub_scsi_cmd_read_capacity16.
8286
bc8d0f45
VS
82872012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 SCSI >2TiB support.
8290
8291 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
8292 (grub_scsi_write16): Likewise.
8293 (grub_scsi_read): Use read16 when necessary.
8294 (grub_scsi_write): Likewise.
8295 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
8296 (grub_scsi_write16): Likewise.
8297 (grub_scsi_cmd_t): Add READ16 and WRITE16.
8298
cc774926
VS
82992012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8300
8301 SCSI write support (for usbms mainly).
8302
8303 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
8304 a const pointer.
8305 (grub_scsi_write): Implement.
8306 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
8307
67639fd7
VS
83082012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
8311 variable.
8312
9079d3ed
VS
83132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * grub-core/lib/posix_wrap/string.h (memchr): New function.
8316
c6a6f204
VS
83172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8318
8319 * po/POTFILES.in: Regenerate.
8320
ecbf8cd1
VS
83212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
8324 with grub_printf to avoid unnecessary fatal failure.
8325
0b3b3b38
VS
83262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
8329 (INT_MAX): Likewise.
8330 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
8331 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
8332 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
8333 (strcpy): Likewise.
8334 (strstr): Likewise.
8335 (strchr): Likewise.
8336 (strncpy): Likewise.
8337 (strcat): Likewise.
8338 (strncat): Likewise.
8339 (strcoll): Likewise.
8340 * include/grub/types.h (GRUB_SHRT_MAX): New define.
8341 (GRUB_INT_MAX): Likewise.
8342
db7337a3
VS
83432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
8346 unexpected error.
8347 (optimize_utf8): Likewise.
8348 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
8349
f37c87e1
VS
83502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 * grub-core/boot/i386/pc/lnxboot.S: Use
8353 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
8354 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
8355 location.
8356 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
8357 definition.
8358 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
8359
63fe43f3
VS
83602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
8363 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
8364 now to avoid double free.
8365 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
8366 hostdisk.
8367 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
8368 * util/grub-probe.c (escape_of_path): Always return a new copy.
8369 (print_full_name): Escape path.
8370 (probe): Don't call grub_util_devname_to_ofpath on NULL.
8371 Fix hints on abstractions.
8372
ebe2c961
VS
83732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
8376 Don't add "root" line if no compatibility hont is available.
8377 Suggested by: Seth Goldberg.
8378
2b5336a2
VS
83792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
8382 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
8383 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
8384 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
8385
74310bd8
VS
83862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
8389
c30582ba
VS
83902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8391
8392 * util/grub-pe2elf.c (ehdr): Make static.
8393 (shdr): Likewise.
8394 (num_sections): Likewise.
8395 (offset): Likewise.
8396
5f47782c
VS
83972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 Eliminate ofpath limits and possible overflows.
8400
8401 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
8402 (OF_PATH_MAX): Removed.
8403 (MAX_DISK_CAT): New const.
8404 (find_obppath): Use allocated rather than preallocated buffer.
8405 Return result. Argument of_path removed. All users updated.
8406 Add missing fdstat.
8407 (xrealpath): New function.
8408 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
8409 Allocate rather than use preallocated buffer. All users updated.
8410 (__of_path_common): Use allocated rather than preallocatecd buffer.
8411 Return result. Argument of_path removed. All users updated.
8412 (vendor_is_ATA): Read only needed part form the file.
8413 (check_sas): Allocate depending on contents rather than fixed.
8414 (main) [STANDALONE]: Handle NULL result.
8415
f990cbf9
VS
84162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 * grub-core/normal/completion.c (iterate_dev): Close the disk.
8419
9c6e84b8
VS
84202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 Cryptodisk write support.
8423
8424 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
8425 (grub_cryptodisk_decrypt): Moved logic to ...
8426 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
8427 (grub_cryptodisk_write): Implement.
8428 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
8429 (grub_util_fd_write): ... this. Make global.
8430 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
8431
87cf9744
VS
84322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8433
8434 * include/grub/list.h (grub_list_remove): Don't crash if element is
8435 removed twice.
8436
ca8c0baf
VS
84372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8438
8439 Rename ofconsole to console.
8440
8441 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
8442 as sysnonym to console.
8443 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
8444 * grub-core/term/ieee1275/console.c: ... this. All users updated.
8445 Rename grub_ofconsole_ to grub_console_. All users updated
8446 (grub_console_term_output): Rename "ofconsole" to "console".
8447 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
8448 as "console".
8449
64c8b8f6
VS
84502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
8453 handling.
8454 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
8455 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
8456 GRUB_DISK_DEVICE_FILE_ID.
8457
f6c434d5
VS
84582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
8461 and improve performance.
8462
5858b42d
VS
84632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
8466 missing ieee1275/ prefix on whole disk.
8467
4ed3c26b
VS
84682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
8471 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
8472
df71143e
VS
84732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
8476
076e7c0f
VS
84772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 Merge common RAID and LVM logic to an abstract diskfilter.
8480 Add LDM support using the same framework.
8481
8482 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
8483 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
8484 (libgrubmods): Remove grub-core/disk/raid.c and
8485 grub-core/partmap/gpt.c.
8486 * grub-core/Makefile.core.def (ldm): New module.
8487 (raid): Renamed to diskfilter. All users updated.
8488 * grub-core/disk/raid.c: Moved to ...
8489 * grub-core/disk/diskfilter.c: ... here.
8490 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
8491 (lv_num): New var.
8492 (find_array): Renamed to ...
8493 (find_lv): ... this. Support multi-LV. Skip nameless LVs
8494 (grub_is_array_readable): Renamed to ...
8495 (grub_is_lv_readable): ... this. Support multinode hierarchy.
8496 (insert_array): New argument id.
8497 (is_node_readable): New function.
8498 (scan_device): Rename to ...
8499 (scan_disk): .. this. Restrict to one disk.
8500 (scan_devices): New function.
8501 (grub_diskfilter_iterate): Support multi-LV.
8502 Skip invisible and nameless LVs.
8503 (grub_diskfilter_memberlist): Support multi-LV.
8504 (grub_diskfilter_read_node): New function.
8505 (grub_raid_read): Most of logic moved to ...
8506 (read_segment): ... here
8507 (read_lv): New function.
8508 (grub_diskfilter_get_vg_by_uuid): New function.
8509 (grub_diskfilter_make_raid): Likewise.
8510 * grub-core/disk/ldm.c: New file.
8511 * grub-core/disk/lvm.c (vg_list): Removed.
8512 (lv_count): Likewise.
8513 (scan_depth): Likewise.
8514 (is_lv_readable): Likewise.
8515 (grub_lvm_getvalue): Advance pointer past the number.
8516 (find_lv): Removed.
8517 (do_lvm_scan): Refactored into ...
8518 (grub_lvm_detect): ... this. Support raid.
8519 (grub_lvm_iterate): Removed.
8520 (grub_lvm_memberlist): Likewise.
8521 (grub_lvm_open): Likewise.
8522 (grub_lvm_close): Likewise.
8523 (read_lv): Likewise.
8524 (read_node): Likewise.
8525 (is_node_readable): Likewise.
8526 (is_lv_readable): Likewise.
8527 (grub_lvm_read): Likewise.
8528 (grub_lvm_write): Likewise.
8529 (grub_lvm_dev): Use diskfilter
8530 (GRUB_MOD_INIT): Likewise.
8531 (GRUB_MOD_FINI): Likewise.
8532 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
8533 new interface.
8534 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
8535 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8536 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
8537 grub_diskfilter_read_node.
8538 Fix a bug with xor.
8539 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
8540 grub_diskfilter_read_node.
8541 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
8542 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
8543 (grub_disk_dev_iterate): Move from here...
8544 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
8545 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8546 Make global.
8547 (grub_hostdisk_find_partition_start): Likewise.
8548 (grub_hostdisk_os_dev_to_grub_drive): New function.
8549 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
8550 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
8551 * util/getroot.c (make_device_name): ... here.
8552 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8553 Move to ...
8554 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
8555 * grub-core/kern/emu/hostdisk.c
8556 (convert_system_partition_to_system_disk): Move to ...
8557 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
8558 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
8559 * util/getroot.c (device_is_wholedisk): ... here.
8560 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
8561 * util/getroot.c (find_system_device): ... here.
8562 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
8563 Move to ...
8564 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
8565 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8566 Move to ...
8567 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
8568 Handle LDM.
8569 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
8570 Move to ...
8571 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
8572 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
8573 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
8574 DISKFILTER.
8575 * include/grub/raid.h: Renamed to ...
8576 * include/grub/diskfilter.h: ... this.
8577 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
8578 (GRUB_RAID_LAYOUT_*): Make into array.
8579 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
8580 (grub_diskfilter_vg): New struct.
8581 (grub_diskfilter_pv_id): Likewise.
8582 (grub_raid_member): Removed.
8583 (grub_raid_array): Likewise.
8584 (grub_diskfilter_pv): New struct.
8585 (grub_diskfilter_lv): Likewise.
8586 (grub_diskfilter_segment): Likewise.
8587 (grub_diskfilter_node): Likewise.
8588 (grub_diskfilter_get_vg_by_uuid): New proto.
8589 (grub_raid_register): Inline.
8590 (grub_diskfilter_unregister): Likewise.
8591 (grub_diskfilter_make_raid): New proto.
8592 (grub_diskfilter_vg_register): Likewise.
8593 (grub_diskfilter_read_node): Likewise.
8594 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
8595 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
8596 (grub_util_is_ldm): Likewise.
8597 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
8598 (grub_hostdisk_find_partition_start): Likewise.
8599 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
8600 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
8601 New definition.
8602 (grub_gpt_partition_map_iterate): New proto.
8603 * include/grub/lvm.h (grub_lvm_vg): Removed.
8604 (grub_lvm_pv): Likewise.
8605 (grub_lvm_lv): Likewise.
8606 (grub_lvm_segment): Likewise.
8607 (grub_lvm_node): Likewise.
8608 * util/getroot.c [...]
8609 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
8610 (probe_abstraction): Likewise.
8611 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
8612 (main): Remove dead logic.
8613
8a7f9b9c
VS
86142012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
8615
8616 Simplify root device discover and don't fail when trying to open
8617 incorrect devices.
8618
8619 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
8620 function.
8621 (get_diskname_from_path): Likewise.
8622 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
8623 of iterating.
8624
30545b85
VS
86252012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
8628
28ea58cf
VS
86292012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8630
8631 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
8632 pastthe end.
8633
692dabca
VS
86342012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8635
8636 * util/grub-install.in: Add missing \.
8637 Reported by: gentoofan
8638
f6e4ea70
VS
86392012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
8642 (direct_read): Use correct compressed size.
8643 (grub_squash_read_data): Likewise.
8644
86452012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
8646
8647 * docs/grub.texi (Platform limitations): New section.
8648 (Platform-specific operations): Likewise.
8649 * docs/grub-dev.texi (Porting): Likewise.
8650
76261110
VS
86512012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 IEEE1275 disk write support.
8654
8655 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
8656 const void *.
8657 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
8658 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
8659 and seek loginc to ...
8660 (grub_ofdisk_prepare): ... here.
8661 (grub_ofdisk_write): Implement.
8662
fc36d603
VS
86632012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 ARC disk write support.
8666
8667 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
8668 (reopen): New argument writable. All users updated.
8669 Handle required access mode.
8670 (grub_arcdisk_write): Implement.
8671 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
8672 (grub_arc_firmware_vector): Make buffer to write a const buffer.
8673
e06c2e7a
VS
86742012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8675
8676 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
8677 (read_sblock): Don't attempt to read superblocks outside the disk size.
8678
ff447958
VS
86792012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8680
8681 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
8682 first superblock to find the second one when possible.
8683
9e88df39
VS
86842012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8685
8686 * util/grub-install.in: Fix an ARC bug.
8687 Print a warning if no platform-specific setup is available.
8688
bb26e4ff
VS
86892012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 Use static allocation rather than scratch pointer in reed_solomon.
8692 It decreases its size significantly and avoids a variable in .text.
8693
8694 * grub-core/lib/reed_solomon.c (scratch): Removed.
8695 (chosenstat): New const or static array.
8696 (sigma): Likewise.
8697 (errpot): Likewise.
8698 (errpos): Likewise.
8699 (sy): Likewise.
8700 (mstat): Likewise.
8701 (errvals): Likewise.
8702 (eqstat): Likewise.
8703 (pol_evaluate): Replace x with log_x argument. All users updated.
8704 (syndroms): Removed.
8705 (gauss_solve): Use statically allocated arrays.
8706 (rs_recover): Likewise.
8707 Calculate syndroms directly.
8708 (decode_block): Use statically allocated arrays.
8709 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
8710 (main) [TEST]: Allow -DTEST -DSTANDALONE.
8711
2e13ede5
VS
87122012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 Eliminate fixed limit on reed solomon decoder length.
8715
8716 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
8717 rather than hardcoding the address.
8718 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
8719 no_reed_solomon_length.
8720 Move gate_a20 to no-reed-solomon part.
8721 Don't force a particular size of no reed-solomon part.
8722 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
8723 Removed.
8724 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
8725 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
8726
f8a9ab12
VS
87272012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * grub-core/commands/wildcard.c (match_files): Handle filenames
8730 without explicit device.
8731 (wildcard_expand): Don't add explicit device if not already present.
8732 * tests/grub_script_echo1.in: Add a new expansion test.
8733
87edb894
VS
87342012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 Replace single-linked with double-linked lists. It results in more
8737 compact and more efficient code.
8738
8739 * grub-core/kern/list.c (grub_list_push): Moved from here ...
8740 * include/grub/list.h (grub_list_push): ... to here. Set prev.
8741 (grub_list_remove): Moved from here ...
8742 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
8743 (grub_prio_list_insert): Set prev.
8744 * include/grub/list.h (grub_list): Add prev. All users updated.
8745
48b391e9
VS
87462012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 Handle newer autotools. Add some missing quotes while on it.
8749
8750 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
8751 (pkglib_DATA): Move grub-mkconfig_lib from here ...
8752 (pkgdata_DATA): ... here.
8753 * Makefile.util.def (update-grub_lib): Removed.
8754 * conf/Makefile.common (pkglib_DATA): Removed.
8755 (pkglib_SCRIPTS): Likewise.
8756 (pkgdata_DATA): New variable.
8757 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
8758 needed.
8759 Add missing quotes.
8760 Remove unused variable while on it.
8761 * tests/util/grub-shell.in: Likewise.
8762 * util/grub-install.in: Likewise.
8763 * util/grub-mkconfig.in: Likewise.
8764 * util/grub-mknetdir.in: Likewise.
8765 * util/grub-mkrescue.in: Likewise.
8766 * util/grub-mkstandalone.in: Likewise.
8767 * util/grub.d/00_header.in: Likewise.
8768 * util/grub.d/10_hurd.in: Likewise.
8769 * util/grub.d/10_illumos.in: Likewise.
8770 * util/grub.d/10_kfreebsd.in: Likewise.
8771 * util/grub.d/10_linux.in: Likewise.
8772 * util/grub.d/10_netbsd.in: Likewise.
8773 * util/grub.d/10_windows.in: Likewise.
8774 * util/grub.d/20_linux_xen.in: Likewise.
8775 * util/grub.d/30_os-prober.in: Likewise.
8776 * util/update-grub_lib.in: Removed.
8777
87782012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
8779
8780 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
8781 a workaround for intel problem.
8782
66832792
PRP
87832012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
87842012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
87852012-01-23 pfsmorigo
8786
8787 * util/grub-install.in: Support dd'in into PreP partition.
8788 * util/grub-probe.c (probe): Support discovering partition type.
8789 (main): Support -t msdos_parttype.
8790
7816a17e
VS
87912012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
8794 infinite recursion using counter.
8795 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
8796 init to skip it if the magic check fails.
8797 (dec_stream_header): Init s->crc32.
8798
8f9d3a8c
ZB
87992012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
88002012-01-22 Zachary Bedell <pendorbound@gmail.com>
88012012-01-22 Richard Laager <rlaager@wiktel.com>
8802
8803 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
8804 All users updated.
8805 (find_bestub): Determine correct size.
8806 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
8807 (scan_disk): Align the size down.
8808 Call check pool before find_bestub to have ashift.
8809
b055dd32
VS
88102012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
8813 dprintf in no-malloc zone.
8814
d779e9bd
ML
88152012-01-22 Mario Limonciello <mario_limonciello@dell.com>
8816
8817 * configure.ac: Add back in test for limits.h.
8818
b508af69
VS
88192012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8820
8821 Support 4K-sector NTFS.
8822
8823 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
8824 (grub_ntfs_data): Remove blocksize.
8825 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
8826 Remove data argument. All users updated.
8827
dad9c8b5
VS
88282012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
8831 being in .text to avoid dprel references.
8832 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
8833 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
8834 (grub_arch_highmemsize): Likewise.
8835 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
8836 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
8837 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
8838
d43a777e
VS
88392012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
8842
8843 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
8844 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
8845
34e4208f
VS
88462012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
8849 GRUB_UTIL.
8850 (grub_set_datetime_cmos): Likewise.
8851
3ec0fc1c
VS
88522012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 Make XZ compression parameters dependent on target and not host CPU.
8855
8856 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
8857 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
8858
22489834
VS
88592012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
8862 set but not used variable.
8863
8502fbca
VS
88642012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
8867 created when no uuid support is compiled into mkfs.reiser.
8868
76df2068
VS
88692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
8872 (utf8_to_macroman): Do the opposite.
8873 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
8874
64e3f8f6
VS
88752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8876
8877 * configure.ac: Refise build qemu_mips w/o unifont.
8878
9c271078
VS
88792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 Eliminate grub_min/grub_max prone to overflow usage.
8882
8883 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
8884 (poll_nonroot_hub): Likewise.
8885 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
8886 (grub_affs_label): Likewise.
8887 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
8888 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
8889 (grub_hfs_label): Likewise.
8890 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
8891 * grub-core/fs/zfs/zfs.c (MIN): Remove.
8892 (zap_leaf_array_equal): Use grub_size. Remove MIN.
8893 (zap_leaf_array_get): Likewise.
8894 (dnode_get_path): Likewise.
8895 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
8896 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
8897 * grub-core/script/execute.c (grub_script_break): Likewise.
8898 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
8899 grub_max.
8900 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
8901 * include/grub/misc.h (grub_min): Removed.
8902 (grub_max): Likewise.
8903
80662dbc
VS
89042012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8905
8906 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
8907 direct.inode = 0.
8908
e6da1467
VS
89092012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
8912
b1ac4cb1
VS
89132012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
8916
b4bf7c3b
VS
89172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
8920 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
8921
8ee1101a
VS
89222012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
8925 rather than a hack for grub_strncasemap.
8926
89272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 Support multiple initrds
8930 Note: part of this was accidently committed in r3739.
8931
8932 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
8933 initrd.
8934 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
8935 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
8936 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8937 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8938 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8939
4d1e2bc9
VS
89402012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
8943 disks with unknown size.
8944 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
8945
75b49ebe
VS
89462012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 Remove defines pertaining to arbitrary limits not affecting GRUB
8949 anymore.
8950
8951 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
8952 (EXT2_MAX_SYMLINKCNT): Likewise.
8953 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
8954 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
8955 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
8956 (GRUB_PXE_MAX_BLKSIZE): Likewise.
8957 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
8958 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
8959 (DN_MAX_OBJECT_SHIFT): Likewise.
8960 (DN_MAX_OFFSET_SHIFT): Likewise.
8961 (DN_MAX_OBJECT): Likewise.
8962 (DNODES_PER_LEVEL_SHIFT): Likewise.
8963 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
8964 (SPA_MAXBLOCKSIZE): Likewise.
8965 (SPA_BLOCKSIZES): Likewise.
8966 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
8967 (MZAP_MAX_BLKSZ): Likewise.
8968
74a1dce7
VS
89692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
8972 handle NULL appropriately.
8973 Remove MIN.
8974
30c7d3ce
VS
89752012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8976
8977 Fix efiemu.
8978
8979 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
8980 cpu/types.h.
8981 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
8982 * configure.ac: Fix efiemu check.
8983
3c76ea0c
VS
89842012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
8987 grub_probe.
8988 Reported by: adamwill
8989
7e532280
SG
89902012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
8991
8992 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
8993
30492374
VS
89942012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 Fix handling of wide characters in gfxterm.
8997
8998 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
8999 (clear_char): Likewise.
9000 (paint_char): Skip code == NULL chars.
9001 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
9002
e70cb72f
VS
90032012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * grub-core/normal/charset.c: Move comment to right place.
9006
5c827cf9
VS
90072012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
9010 (GRUB_AFFS_FLAG_FFS): Put back where it was.
9011 (grub_affs_mount): Revert the correct version checking.
9012
53603892
VS
90132012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * docs/grub.texi (Unicode): Mention several other unsupported features.
9016
ff094b9b
VS
90172011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
9020 case statements as compile-time one.
9021 (direct_read): Prevent spurious warnings.
9022 (grub_squash_read_data): Likewise.
9023
c029da8a
VS
90242011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 Various squash4 fixes and LZO and XZ support.
9027
9028 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
9029 Add xzembed source files.
9030 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
9031 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
9032 (grub_squash_inode): New subtype long_dir.
9033 (SQUASH_TYPE_LONG_DIR): New inode type.
9034 (COMPRESSION): New enum.
9035 (XZBUFSIZ): New const.
9036 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
9037 (read_chunk): Use data->decompress.
9038 (zlib_decompress): New function.
9039 (lzo_decompress): Likewise.
9040 (xz_decompress): Likewise.
9041 (squash_mount): Set new data fields.
9042 (grub_squash_iterate_dir): Handle long dir.
9043 (squash_unmount): Free xzdec and xzbuf.
9044 (grub_squash_open): Check ino type.
9045 (direct_read): Stylistic fixes. Use data->decompress.
9046 (grub_squash_read_data): Likewise.
9047 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
9048 (get_byte): Likewise.
9049 (grub_zlib_disk_read): Removed.
9050 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
9051 (GRUB_POSIX_BOOL_DEFINED): New define.
9052 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
9053 * grub-core/lib/xzembed/xz.h: Addmissing includes.
9054 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
9055 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
9056
7a45a539
VS
90572011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 Don't override more informative errors.
9060
9061 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
9062 * grub-core/font/font.c (open_section): Likewise.
9063 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
9064 filename. Don't override errors.
9065 (grub_cmd_openbsd_ramdisk): Don't override errors.
9066 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
9067 (grub_cmd_initrd): Likewise.
9068 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9069 (grub_cmd_initrd): Likewise.
9070 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
9071 (grub_cmd_linux): Likewise.
9072 (grub_cmd_initrd): Likewise.
9073 (grub_cmd_payload): Likewise.
9074 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9075 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
9076 (grub_cmd_module): Likewise.
9077 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9078 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9079 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
9080 (grub_cmd_xnu_mkext): Likewise.
9081 (grub_cmd_xnu_ramdisk): Likewise.
9082 (grub_xnu_check_os_bundle_required): Likewise.
9083 (grub_xnu_load_kext_from_dir): Likewise.
9084 (grub_cmd_xnu_kextdir): Likewise.
9085 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
9086
b2d004db
VS
90872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
9090 as 1024 in block size field. Found on one of my test images.
9091 Small optimisation while on it.
9092
ec000eac
VS
90932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
9096 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
9097 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
9098 performance fixes while on it.
9099 (grub_sfs_close): Fix memory leak while on it.
9100 (grub_sfs_label): Convert Latin1 to UTF-8.
9101
f50e1165
VS
91022011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9103
9104 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
9105 space to avoid overflows.
9106 (grub_hfs_label): Convert from macroman to UTF-8.
9107
2ae254de
VS
91082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
9111
0108f491
VS
91122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
9115
f45f5f89
VS
91162011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * unicode: Import Unicode 6.0 data.
9119
4d8c4765
VS
91202011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9121
63fa8ef9
VS
9122 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
9123 outside of range.
9124
91252011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
9128
9129 * include/grub/charset.h (grub_getend): New function.
9130 * grub-core/script/function.c (grub_script_function_find): Use
9131 grub_getend.
9132 * grub-core/normal/completion.c (add_completion): Likewise.
9133
f3cb4a4e
VS
91342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
9137 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
9138 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
9139 (GRUB_UNICODE_TAG_END): Likewise.
9140 (GRUB_UNICODE_LAST_VALID): Likewise.
9141
5da8dbc5
VS
91422011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
9145 len and make it smaller. All users updated.
9146 * util/import_unicode.py: Put length and not end character.
9147 Check length.
9148
8569f13d
VS
91492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9150
9151 Make better Unicode-compliant and unify some UTF-8 code pathes.
9152
9153 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
9154 valid character.
9155 (grub_is_valid_utf8): Use grub_utf8_process.
9156 Check resulting code range.
9157 (grub_utf8_to_ucs4): Use grub_utf8_process.
9158 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
9159 valid character.
9160
cc4fddf5
VS
91612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
9164
bbc47747
VS
91652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 * docs/grub.texi (Filesystems): Mention AFS.
9168
f63d6bf4
VS
91692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * docs/grub.texi (Filesystems): Clarify restrictions.
9172 (Regexp): Mention non-Unicode regexp behaviour.
9173 (Other): Mention non-Unicode matching behaviour.
9174
74bbf0db
VS
91752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9176
f63d6bf4 9177 Make HFS implementation use MacRoman.
74bbf0db
VS
9178
9179 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
9180 (macroman): New const array.
9181 (macroman_to_utf8): New function.
9182 (utf8_to_macroman): Likewise.
9183 (grub_hfs_find_dir): Use utf8_to_macroman.
9184 (grub_hfs_dir): Use macroman_to_utf8.
9185 Set case_insensitive.
9186
4ea0316e
VS
91872011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
9190
d3c13cbd
VS
91912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 Integrate hints into autogeneration scripts.
9194
9195 * docs/grub.texi (Filesystems): Add a hostdisk example.
9196 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
9197 (grub-probe): Add ofpath.
9198 * gentpl.py: Remove group nosparc64.
9199 * grub-core/commands/search.c (cache_entry): New struct.
9200 (cache): New var.
9201 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
9202 * grub-core/commands/search_wrap.c (options): Add platform-specific
9203 hint options.
9204 (grub_cmd_search): Handle platform-specific hints.
9205 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
9206 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
9207 (grub_util_biosdisk_data): Likewise.
9208 (grub_util_biosdisk_open): Set device_map.
9209 (read_device_map): Handle "" as indication of no map.
9210 Set device_map.
9211 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
9212 (grub_util_biosdisk_get_compatibility_hint): New function.
9213 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
9214 * include/grub/emu/hostdisk.h
9215 (grub_util_biosdisk_get_compatibility_hint): New proto.
9216 * util/grub-install.in: Don't call grub-mkdevicemap.
9217 Add platform-specific hint to load.cfg.
9218 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
9219 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9220 hints. Set root preliminary to compatibility hint, not to OS name.
9221 * util/grub-probe.c (PRINT_*): Add hints.
9222 (print): Make static.
9223 (escape_of_path): New function.
9224 (guess_bios_drive): Likewise.
9225 (guess_efi_drive): Likewise.
9226 (guess_baremetal_drive): Likewise.
9227 (print_full_name): Likewise.
9228 (probe): Handle hints.
9229 (main): Likewise.
9230 * util/ieee1275/devicemap.c: Removed.
9231 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
9232 updated.
9233 (grub_util_devname_to_ofpath): Return NULL on failure.
9234
9235 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
9236 resource leak.
9237 * util/getroot.c (grub_util_pull_device): Fix memory leak.
9238
9239 * po/POTFILES.in: Regenerated.
9240
9241 Allow purely long options
9242
9243 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
9244 (SHORT_ARG_USAGE): Likewise.
9245 (grub_arg_show_help): Compare opt with help_options.
9246 (parse_option): Receive opt as argument. If makes big simplificatons.
9247 All users updated
9248
00ce2df3
VS
92492011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
9252 Restructure to avoid warning.
9253
e77e325f
VS
92542011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 * util/grub-install.in: Account for possible escaped comma in device
9257 name.
9258
165099ea
VS
92592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
9262 channel.
9263
ce4a999d
VS
92642011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
9267 allocation and zero-setting.
9268 (grub_ieee1275_get_devname): Check that alias is complete.
9269
379586ad
VS
92702011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9271
9272 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
9273 unaligned segments.
9274
9197b0ad
VS
92752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
9278 prefix.
9279 (grub_ofdisk_open): Check and discard ieee1275 prefix.
9280 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9281 Add ieee1275 prefix.
9282
edddb7f9
VS
92832011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * docs/grub.texi (Filesystems): Update.
9286
a1a8b1b9
VS
92872011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9288
9289 Support odc, newc and bigendian cpio formats.
9290
9291 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
9292 * grub-core/Makefile.core.def (newc): New module.
9293 (odc): Likewise.
9294 (cpio_be): Likewise.
9295 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
9296 (MAGIC): Likewise.
9297 (MAGIC2): Likewise.
9298 (head) [MODE_ODC]: Adapt for the format.
9299 (head) [MODE_NEWC]: Likewise.
9300 (head) [!MODE_*]: Write fields of interest as arrays.
9301 (MAGIC_USTAR): Removed.
9302 (read_number) [MODE_NEWC]: Change to hex.
9303 (read_number) [!MODE_*]: Parse binary arrays.
9304 (grub_cpio_find_file): Factor out the code for better structure and
9305 always use read_number.
9306 (grub_cpio_mount): Use MAGIC and MAGIC2.
9307 (grub_cpio_dir): Exit on first hook non-0 return.
9308 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
9309 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
9310 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
9311 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
9312 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
9313 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
9314 * grub-core/fs/newc.c: New file.
9315 * grub-core/fs/odc.c: Likewise.
9316 * grub-core/fs/cpio_be.c: Likewise.
9317
58eba9ee
VS
93182011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 Fix handling of tar numbers occupying the whole field.
9321
9322 * grub-core/fs/cpio.c (read_number): New function.
9323 (grub_cpio_find_file): Use read_number instead of strtoull.
9324
a54a0e12
VS
93252011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9326
9327 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
9328 occupying the whole field size.
9329
a6120aca
LA
93302011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
9331
9332 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
9333
a93964ce
VS
93342011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9335
9336 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
9337
3ea1ca46
SG
93382011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
9339
9340 * grub-core/Makefile.core.def (lzma_decompress): Add missing
9341 TARGET_IMG_LDFLAGS.
9342
b87f7ef2
VS
93432011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * util/getroot.c (ESCAPED_PATH_MAX): New define.
9346 (mountinfo_entry): Increase the field size to take escaping into
9347 account.
9348 (find_root_device_from_libzfs): Add one byte to size of strings for
9349 security.
9350
62092395
VS
93512011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
9354 an assert.
9355 * util/grub-setup.c (setup): Likewise.
9356
1f0b1a77
VS
93572011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
9360 _LzmaDecodeA.
9361
8eba9997
VS
93622011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * docs/grub.texi (Internationalisation): New section.
9365
dd0c91e9
VS
93662011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * docs/grub.texi (Loopback booting): New section.
9369
93702011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
9371
9372 * util/grub-mkstandalone.in: Fix minor typo errors.
9373
198e150a
VS
93742011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
9377
9378 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
9379 net/icmp.c and net/icmp6.c.
9380 (http): New module.
9381 (priority_queue): Likewise.
9382 * grub-core/io/bufio.c: Rewritten.
9383 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
9384 TYPE_WITH_CONFIGFILE_OPTION.
9385 (legacy_commands): Add bootp and dhcp.
9386 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
9387 (grub_legacy_parse): Likewise.
9388 * grub-core/lib/priority_queue.c: New file.
9389 * grub-core/net/arp.c: Add missing license header.
9390 (arp_find_entry): Removed.
9391 (arp_find_entry): Likewise.
9392 (grub_net_arp_resolve): Rename to ...
9393 (grub_net_arp_send_request): ...this.
9394 (grub_net_arp_receive): New card argument.
9395 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
9396 Set router and DNS server.
9397 (grub_net_configure_by_dhcp_ack): Handle routing information.
9398 (grub_cmd_bootp): Set checksum.
9399 (grub_bootp_init): Remove net_dhcp.
9400 * grub-core/net/dns.c: New file.
9401 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
9402 completion.
9403 (get_card_packet): Handle allocation.
9404 (grub_efinet_findcards): Set mtu.
9405 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
9406 (get_card_packet): Handle allocation.
9407 (emucard): Set mtu.
9408 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
9409 (GRUB_MOD_INIT): Set mtu.
9410 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
9411 mtu.
9412 (get_card_packet): Handle allocation.
9413 (grub_ofnet_findcards): Set mtu.
9414 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
9415 assert.
9416 (grub_net_recv_ethernet_packet): Handle IPv6.
9417 * grub-core/net/http.c: New file.
9418 * grub-core/net/icmp.c: Likewise.
9419 * grub-core/net/icmp6.c: Likewise.
9420 * grub-core/net/ip.c (ip6addr): New type.
9421 (ip6hdr): Likewise.
9422 (reassemble): Likewise.
9423 (cmp): New function.
9424 (reassembles): New variable.
9425 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
9426 (id): New variable.
9427 (send_fragmented): New function.
9428 (grub_net_send_ip_packet): Rename to ...
9429 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
9430 Handle non-UDP.
9431 (grub_net_recv_ip_packets): Rename to ...
9432 (handle_dgram): ... this. Check checksum. Handle non-UDP.
9433 (free_rsm): New function.
9434 (free_old_fragments): Likewise.
9435 (grub_net_recv_ip4_packets): New function.
9436 (grub_net_send_ip6_packet): Likewise.
9437 (grub_net_send_ip_packet): Likewise.
9438 (grub_net_recv_ip6_packets): Likewise.
9439 (grub_net_recv_ip_packets): Likewise.
9440 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
9441 (LINK_LAYER_CACHE_SIZE): New const.
9442 (link_layer_find_entry): New function.
9443 (grub_net_link_layer_add_address): Likewise.
9444 (grub_net_link_layer_resolve_check): Likewise.
9445 (grub_net_link_layer_resolve): Likewise.
9446 (grub_net_ipv6_get_slaac): Likewise.
9447 (grub_net_ipv6_get_link_local): Likewise.
9448 (grub_cmd_ipv6_autoconf): Likewise.
9449 (parse_ip): Handle one number representation.
9450 (parse_ip6): New functoion.
9451 (match_net): Handle IPv6.
9452 (grub_net_resolve_address): Handle IPv6 and DNS.
9453 (grub_net_resolve_net_address): Handle IPv6.
9454 (route_cmp): New function.
9455 (grub_net_route_address): Find best route.
9456 (grub_net_addr_to_str): Handle IPv6.
9457 (grub_net_addr_cmp): New function.
9458 (grub_net_add_addr): Register local route.
9459 (print_net_address): Handle net address.
9460 (grub_net_poll_cards): Retransmit TCP.
9461 (grub_net_poll_cards_idle_real): Likewise.
9462 (have_ahead): New function.
9463 (grub_net_seek_real): Use underlying seek.
9464 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
9465 * grub-core/net/tcp.c: New file.
9466 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
9467 (cmp): New function.
9468 (ack): Likewise.
9469 (tftp_receive): Handle unordered input.
9470 (destroy_pq): New function.
9471 (tftp_close): Close pq.
9472 * grub-core/net/udp.c: Put missing license header.
9473 (grub_net_udp_socket): New function.
9474 (udp_socket_register): Likewise.
9475 (grub_net_udp_close): Likewise.
9476 (grub_net_recv_udp_packet): Check checksum.
9477 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
9478 * include/grub/misc.h (grub_memchr): New function.
9479 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
9480 (grub_net_card_driver): Return buf in recv.
9481 (grub_net_slaac_mac_list): New struct.
9482 (grub_network_level_protocol_id): Add ipv6.
9483 (grub_net_network_level_addr): Likewise.
9484 (grub_net_network_level_net_addr): Likewise.
9485 (grub_net_app_protocol): Add seek.
9486 (grub_net_socket): Removed.
9487 (grub_net_sockets): Likewise.
9488 (grub_net_socket_register): Likewise.
9489 (grub_net_socket_unregister): Likewise.
9490 (FOR_NET_SOCKETS): Likewise.
9491 (grub_net_add_addr): Add const.
9492 (GRUB_NET_BOOTP_*): New enum.
9493 (grub_net_addr_cmp): New proto.
9494 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
9495 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
9496 (grub_net_hwaddr_to_str): NEw proto.
9497 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
9498 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
9499 (grub_dns_init): New proto.
9500 (grub_dns_fini): Likewise.
9501 (grub_net_tcp_retransmit): Likewise.
9502 (grub_net_link_layer_add_address): Likewise.
9503 (grub_net_link_layer_resolve_check): Likewise.
9504 (grub_net_link_layer_resolve): Likewise.
9505 (grub_net_dns_lookup): Likewise.
9506 (grub_net_add_dns_server): Likewise.
9507 (grub_net_remove_dns_server): Likewise.
9508 (GRUB_NET_TRIES): New const.
9509 (GRUB_NET_INTERVAL): Likewise.
9510 * include/grub/net/arp.h: Mostly rewritten.
9511 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
9512 * include/grub/net/ip.h: Mostly rewritten.
9513 * include/grub/net/netbuff.h: Indent.
9514 * include/grub/net/tcp.h: New file.
9515 * include/grub/net/udp.h: Mostly rewritten.
9516 * include/grub/priority_queue.h: New file.
9517 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
9518 (grub_swap_bytes64_compile_time): Likewise.
9519 (grub_cpu_to_be16_compile_time): Likewise.
9520 (grub_cpu_to_be32_compile_time): Likewise.
9521 (grub_cpu_to_be64_compile_time): Likewise.
9522 (grub_be_to_cpu64_compile_time): Likewise.
9523
215c1800
VS
95242011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
9525
9526 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
9527 UINT_TO_PTR with cast.
9528
c17e546c
VS
95292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
9532 don't use them.
9533
ff6b18b6
VS
95342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
9537 already there.
9538
70ffcc93
VS
95392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
9542 confusing ipxe.
9543
e5f4d260
VS
95442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
9547 Add missing const attribute.
9548 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
9549 Likewise.
9550 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
9551 Likewise.
9552
8e54b4b7
VS
95532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
9556 misaligned access.
9557 (serpent_setkey): Likewise.
9558 (serpent_encrypt_internal): Likewise.
9559 (serpent_decrypt_internal): Likewise.
9560 (serpent_encrypt): Don't put an alignment-increasing cast.
9561 (serpent_decrypt): Likewise.
9562 (serpent_test): Likewise.
9563
813c0a2b
VS
95642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9565
9566 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
9567
f2b60fbd
VS
95682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
9571
9572 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
9573 grub_addr_t casts.
9574 (PTR_TO_UINT64): Likewise.
9575 (PTR_TO_UINT32): Likewise.
9576
5ef5c511
VS
95772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * util/grub-mkimage.c (generate_image): Decrease the higher limit
9580 because of stack.
9581 * util/grub-setup.c (setup): Don't add redundancy past the higher load
9582 limit.
9583
c476e6df
VS
95842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9585
9586 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
9587 text_width > available width a bit more gracefully.
9588
384ad7cc
VS
95892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
9592 current address calculation.
9593
96f8caf8
VS
95942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9595
9596 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
9597 stack.
9598 (encode_block): Likewise.
9599
276b7a8b
VS
96002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
9603 certainety.
9604
e3fd394a
VS
96052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9606
9607 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
9608 non-RS part to avoid RS messing with GDT.
9609 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9610 Increase to suit in realmode routines.
9611
96122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 * grub-core/kern/i386/realmode.S: Increase alignment.
9615 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
9616
ee9c2e7a
VS
96172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9618
9619 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
9620 be deterministic.
9621 (syndroms): Compute 0 syndrom.
9622 (rs_recover): Use 0 syndrom.
9623
7a7f7cc9
VS
96242011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
9627
a14b16d1
VS
96282011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
9631 brackets.
9632
9f59e9fc
VS
96332011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9634
ca1b552c
VS
9635 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
9636 account.
9637 (get_top_pad): Likewise.
9638 (get_right_pad): Likewise.
9639 (get_bottom_pad): Likewise.
9640
96412011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 9644
e739d698
VS
96452011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
9648 attribute as the structure isn't guaranteed to be properly aligned.
9649 (grub_efi_pci_device_path): Likewise.
9650 (grub_efi_pccard_device_path): Likewise.
9651 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
9652 specify the size of `memory_type'.
9653 (grub_efi_vendor_device_path): Likewise.
9654 (grub_efi_controller_device_path): Likewise.
9655 (grub_efi_acpi_device_path): Likewise.
9656 (grub_efi_expanded_acpi_device_path): Likewise.
9657 (grub_efi_atapi_device_path): Likewise.
9658 (grub_efi_scsi_device_path): Likewise.
9659 (grub_efi_fibre_channel_device_path): Likewise.
9660 (grub_efi_1394_device_path): Likewise.
9661 (grub_efi_usb_device_path): Likewise.
9662 (grub_efi_usb_class_device_path): Likewise.
9663 (grub_efi_i2o_device_path): Likewise.
9664 (grub_efi_mac_address_device_path): Likewise.
9665 (grub_efi_ipv4_device_path): Likewise.
9666 (grub_efi_ipv6_device_path): Likewise.
9667 (grub_efi_infiniband_device_path): Likewise.
9668 (grub_efi_uart_device_path): Likewise.
9669 (grub_efi_vendor_messaging_device_path): Likewise.
9670 (grub_efi_hard_drive_device_path): Likewise.
9671 (grub_efi_cdrom_device_path): Likewise.
9672 (grub_efi_vendor_media_device_path): Likewise.
9673 (grub_efi_file_path_device_path): Likewise.
9674 (grub_efi_protocol_device_path): Likewise.
9675 (grub_efi_piwg_device_path): Likewise.
9676 (grub_efi_bios_device_path): Likewise.
9677
cb8f88ea
VS
96782011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9679
9680 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
9681 (grub_ucs4_to_utf8_alloc): Likewise.
9682 (grub_ucs4_to_utf8): Likewise.
9683 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
9684 (grub_ucs4_to_utf8_alloc): Likewise.
9685
309e5352
VS
96862011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9687
9688 AFFS never uses unicode.
9689
9690 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
9691 (grub_latin1_to_utf8): New inline function.
9692 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
9693
e7987e1b
VS
96942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
9697 overflow.
9698
efc2616e
VS
96992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
9702 (grub_squash_dirent_header): Likewise.
9703 (read_chunk): Don't double swap.
9704 (grub_squash_iterate_dir): Fix swap sizes.
9705
3c349f5a
VS
97062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
9709
b453412d
VS
97102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9711
9712 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
9713 (grub_hfs_iterate_dir): Likewise.
9714
12e9d4d1
VS
97152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 Fix video on platforms where unaligned access is forbidden.
9718 Make several optimisations while on it.
9719
9720 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
9721 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9722 (grub_video_fbblit_replace_32bit_1bit): Likewise.
9723 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
9724 Disable.
9725 (grub_video_fbblit_replace_16bit_1bit):
9726 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9727 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9728 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
9729 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
9730 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
9731 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
9732 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
9733 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
9734 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
9735 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
9736 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
9737 (grub_video_fbblit_replace_index_RGB888): Likewise.
9738 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
9739 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
9740 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
9741 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
9742 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
9743 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9744 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
9745 Disable.
9746 (grub_video_fbblit_blend_XXX565_1bit):
9747 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9748 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
9749 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
9750 void *.
9751 * grub-core/video/fb/video_fb.c (common_blitter)
9752 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
9753 (grub_video_fb_create_render_target_from_pointer)
9754 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9755 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
9756 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
9757 definition.
9758 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
9759
ace96609
VS
97602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9761
9762 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
9763 HH22 and HM10 relocations.
9764
fd261d73
VS
97652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9766
9767 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
9768
e59b7857
VS
97692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9770
9771 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
9772 allocation succeeded.
9773
9b4baaa4
VS
97742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
9777 argument a u8 pointer. All users updated.
9778 Handle unaligned buffers.
9779
dc713193
VS
97802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
9783 add_part to workaround compiler bug.
9784
30dd48c2
VS
97852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
9788
0c6087a8
VS
97892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
9792 Reserve alignment invariants.
9793 (grub_multiboot_load): Likewise.
9794 (retrieve_video_parameters): Likewise.
9795 (grub_multiboot_make_mbi): Likewise.
9796
c2e77777
VS
97972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
9800 incorrect pointer.
9801
b70b6d11
VS
98022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
9805 (grub_pata_pio_write): Likewise.
9806
02a2bf83
VS
98072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9808
9809 Add noreturn attributes and remove unreachable code.
9810
9811 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
9812 code.
9813 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
9814 code. Mark as noreturn.
9815 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
9816 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
9817 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
9818 unreachable code.
9819 * grub-core/kern/main.c (grub_main): Mark as noreturn.
9820 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
9821 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
9822 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
9823 * include/grub/kernel.h (grub_main): Mark as noreturn.
9824 * include/grub/reader.h (grub_rescue_run): Likewise.
9825
2019d09e
VS
98262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
9829 redundant declaration.
9830
d1c501ee
VS
98312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9832
9833 * include/grub/net.h (grub_net_network_level_interfaces): Remove
9834 redundant declaration.
9835 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
9836
61664420
VS
98372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9838
9839 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
9840 to ensure alignment.
9841 (grub_hdparm_print_identify): Make argument uint16 * to ensure
9842 alignment. Ensure tmp alignment.
9843 (grub_cmd_hdparm): Ensure buf alignment.
9844 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
9845 to ensure alignment.
9846 (grub_ata_dumpinfo): Ensure text alignment.
9847 (grub_atapi_identify): Preserve alignment invariant.
9848 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
9849
0d51ee20
VS
98502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
9853 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
9854 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
9855 * include/grub/misc.h (grub_reboot)
9856 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
9857 (grub_halt) [__mips__]: Likewise.
9858
753ef8c1
VS
98592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9860
9861 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
9862 Remove redundant declaration.
9863 (grub_mmap_get_post64): Likewise.
9864 (grub_mmap_get_upper): Likewise.
9865 (grub_mmap_get_lower): Likewise.
9866
85c85365
VS
98672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
9870 uint32_t * to ensure alignment.
9871 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
9872
a23f2cc4
VS
98732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9874
93018f64
VS
9875 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
9876 uint16_t * to ensure alignment.
9877 (sun_pc_partition_map_iterate): Make `block' a union to ensure
9878 alignment.
9879
98802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
9883 to ensure alignment.
9884 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
9885
58acccd6
VS
98862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 * grub-core/fs/ntfs.c (u16at): Make into inline function.
9889 Handle unaligned pointers.
9890 (u32at): Likewise.
9891 (u64at): Likewise.
9892 (fixup): Use byte access instead of v16at.
9893 (find_attr): Fix imporper usage of v32at.
9894 (read_data): Likewise.
9895 (list_file): Handle byte-swapping and unaligned strings.
9896 (grub_ntfs_label): Likewise.
9897
9b05cad7
VS
98982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
9901 as it's not necessarily aligned.
9902
b3950b84
VS
99032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
9906 redundant declaration.
9907 (grub_serial_init): Likewise.
9908 (grub_terminfo_init): Likewise.
9909
fcd232b7
VS
99102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
9913 function.
9914 (ZAP_HASH_IDX): Likewise.
9915 (ZAP_LEAF_HASH_SHIFT): Likewise.
9916 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
9917 (LEAF_HASH): Likewise.
9918 (ZAP_LEAF_NUMCHUNKS): Likewise.
9919 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
9920 alignment invariants. Return pointer. All users updated.
9921 (ZAP_LEAF_ENTRY): Make into inline function.
9922 (NBBY): Removed.
9923 (xor): LIkewise.
9924 (xor_out): Use grub_crypto_xor.
9925 (dnode_get_path): Use grub_get_unaligned.
9926 (nvlist_find_value): Likewise.
9927 (grub_zfs_nvlist_lookup_uint64): Likewise.
9928 (grub_zfs_nvlist_lookup_string): Likewise.
9929 (get_nvlist_size): Likewise.
9930 (grub_zfs_open): Likewise.
9931 (fill_fs_info): Likewise.
9932 (grub_zfs_dir): Likewise.
9933 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
9934 alignment invariants.
9935 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
9936 necessarily aligned.
9937
f138623a
VS
99382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9939
9940 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
9941
564840dc
VS
99422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
9945 arithmetic to conserve alignment invariants.
9946
9b40df20
VS
99472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
9950 redundant declaration.
9951 (grub_efiemu_mm_obtain_request): Likewise.
9952 (grub_efiemu_prepare): Likewise.
9953
d1c930f9
VS
99542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
9957 to match types.
9958
4c5f3056
VS
99592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
9962 case of aunaligned recptr.
9963 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
9964 alignment.
9965 (grub_hfsplus_btree_search): Handle unaligned index.
9966
728cba91
VS
99672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
9970 to get freetag and skip.
9971
eb561f31
VS
99722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9973
9974 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
9975 array.
9976 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
9977 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
9978
20993fbb
VS
99792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
9982 name for checksum and fix allocation algorithm.
9983
1f313b94
VS
99842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9985
9986 * include/grub/types.h (grub_properly_aligned_t): New type.
9987 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
9988 (grub_get_unaligned16): Add explicit casts.
9989 (grub_get_unaligned32): Likewise.
9990 (grub_get_unaligned64): Likewise.
9991 (grub_set_unaligned16): New function.
9992 (grub_set_unaligned32): Likewise.
9993
47ae27ec
VS
99942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
9997
78c2cd1c
VS
99982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
10001 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
10002 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
10003
53072f9b
VS
100042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
10007 conditionals.
10008
055dc239
VS
100092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10010
10011 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
10012 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
10013
496bd074
VS
100142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 Unify and improve RAID and crypto xor.
10017
10018 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
10019 changed to grub_crypto_xor
10020 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
10021 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
10022 Use bigger types when possible.
10023
ef6e4335
VS
100242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * grub-core/disk/raid.c (scan_devices): Fix condition.
10027
5d048bf2
VS
100282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
10031 Make name a const ptr.
10032
ee533335
VS
100332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10034
10035 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
10036 first argument a const pointer.
10037 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10038 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
10039 proto.
10040 (grub_children_iterate): Likewise.
10041 (grub_machine_mmap_iterate): Remove redundant declaration.
10042
cc8f3668
VS
100432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
10046 (grub_cmd_acpi) [!x86]: Disable EBDA.
10047
c5fc563a
VS
100482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 Enable UTF8 in gnulib regexp.
10051
10052 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
10053 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
10054 (isupper): Use grub_isupper.
10055 (isascii): New inline function.
10056 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
10057 * grub-core/lib/posix_wrap/wctype.h: Likewise.
10058 * grub-core/normal/charset.c (grub_utf8_process): New function.
10059 (grub_utf8_to_utf16): Use grub_utf8_process.
10060 (grub_encode_utf8_character): New function.
10061 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
10062 * include/grub/charset.h (grub_utf8_process): New declaration.
10063 (grub_encode_utf8_character): Likewise.
10064 * include/grub/misc.h (grub_islower): New inline function.
10065 (grub_isupper): Likewise.
10066 (grub_strchrsub): Moved down to fix the definitions.
10067
0af2346f
VS
100682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10069
10070 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
10071 specification.
10072
74dbd244
VS
100732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 * include/grub/loader.h (grub_loader_register_preboot_hook):
10076 Use struct preboot * and not void * for handle. All users updated.
10077 (grub_loader_unregister_preboot_hook): Likewise.
10078
1bc8f60d
VS
100792011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
10082 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
10083 UTF-16-BE. All users updated.
10084 (grub_hfsplus_cmp_catkey): Fix unicode handling.
10085 (grub_hfsplus_iterate_dir): Likewise.
10086 (grub_hfsplus_label): Likewise.
10087
48d6e456
VS
100882011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
10091
bf3a3857
VS
100922011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 Add missing const qualifiers.
10095
10096 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
10097 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
10098 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
10099 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
10100 (grub_lvm_check_flag): Likewise.
10101 * grub-core/efiemu/i386/coredetect.c
10102 (grub_efiemu_get_default_core_name): Likewise
10103 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10104 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
10105 * grub-core/fs/ntfs.c (fixup): Likewise.
10106 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
10107 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
10108 (fzap_lookup): Likewise.
10109 (zap_lookup): Likewise.
10110 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
10111 * grub-core/lib/legacy_parse.c (check_option): Likewise.
10112 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
10113 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
10114 (grub_freebsd_add_meta_module): Likewise.
10115 (grub_cmd_freebsd_module): Likewise.
10116 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
10117 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
10118 (grub_xnu_writetree_get_size): Likewise.
10119 (grub_xnu_writetree_toheap_real): Likewise.
10120 (grub_xnu_find_key): Likewise.
10121 (grub_xnu_create_key): Likewise.
10122 (grub_xnu_create_value): Likewise.
10123 (grub_xnu_register_memory): Likewise.
10124 (grub_xnu_check_os_bundle_required): Likewise.
10125 (grub_xnu_scan_dir_for_kexts): Likewise.
10126 (grub_xnu_load_kext_from_dir): Likewise.
10127 * grub-core/normal/color.c (color_list): Likewise.
10128 * grub-core/normal/completion.c (current_word): Likewise.
10129 * grub-core/normal/menu_entry.c (insert_string): Likewise.
10130 * grub-core/term/serial.c (grub_serial_find): Likewise.
10131 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
10132 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
10133 Likewise.
10134 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
10135 (grub_freebsd_add_meta_module): Likewise.
10136 * include/grub/lib/arg.h (grub_arg_option): Likewise.
10137 * include/grub/net.h (grub_net_card_driver): Likewise.
10138 (grub_net_card): Likewise.
10139 (grub_net_app_protocol): Likewise.
10140 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
10141 * include/grub/serial.h (grub_serial_find): Likewise.
10142 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
10143 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
10144 (grub_xnu_create_value): Likewise.
10145 (grub_xnu_find_key): Likewise.
10146 (grub_xnu_scan_dir_for_kexts): Likewise.
10147 (grub_xnu_load_kext_from_dir): Likewise.
10148
10149 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
10150 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
10151 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
10152 Moved from here ...
10153 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
10154
112b4837
CW
101552011-11-28 Colin Watson <cjwatson@ubuntu.com>
10156
10157 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
10158
49e891ac
VS
101592011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
10162 (read_device): Fix size calculation.
10163
fd258e5c
RM
101642011-11-25 Robert Millan <rmh@gnu.org>
10165
10166 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
10167 (find_root_device_from_libzfs): Add zpool output parser to be used
10168 as fallback when libzfs isn't available.
10169
78845dc2
SG
101702011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
10171
10172 * po/Makefile.in.in: Add missing escape-continuation.
10173
adac5211
VS
101742011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
10177
10b64f1c
VS
101782011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
10181
bb416954
VS
101822011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10183
10184 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
10185
bdfe9eeb
VS
101862011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
10189
581ffa8a
VS
101902011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * grub-core/lib/adler32.c: Add missing license specification.
10193 * grub-core/lib/crc64.c: Likewise.
10194 * grub-core/loader/i386/pc/plan9.c: Likewise.
10195 * grub-core/partmap/plan.c: Likewise.
10196
2536cf64
LK
101972011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
10198
10199 Add facility to debug GRUB with gdb under qemu.
10200
10201 * grub-core/gdb_grub.in: New file.
10202 * grub-core/gmodule.pl.in: Likewise.
10203 * grub-core/Makefile.core.def (gmodule.pl): New script.
10204 (gdb_grub): Likewise.
10205
bc108a4a
VS
102062011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 * util/grub-mount.c (argp_parser): Accept relative pathes.
10209 * util/grub-fstest.c (argp_parser): Likewise.
10210
111c1778
VS
102112011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10212
10213 Plan9 support.
10214
10215 * Makefile.util.def (libgrubmods): Add
10216 grub-core/partmap/plan.c.
10217 * docs/grub.texi: Notice Plan9 support.
10218 * grub-core/Makefile.core.def (plan9): New module.
10219 (part_plan): Likewise.
10220 * grub-core/loader/i386/pc/plan9.c: New file.
10221 * grub-core/partmap/plan.c: Likewise.
10222 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
10223 define.
10224 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
10225 * include/grub/mm.h (grub_extend_alloc): New inline function.
10226
c30be3b6
VS
102272011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10228
10229 Make Reed-Solomon faster by using power of generator representation of
10230 GF(256)*.
10231
10232 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
10233 (gf_double_t): Likewise.
10234 (gf_invert): Removed.
10235 (gf_powx): New array.
10236 (gf_powx_inv): Likewise.
10237 (scratch): Move higher.
10238 (gf_reduce): Removed.
10239 (gf_mul): Use powx.
10240 (gf_invert): Likewise.
10241 (init_inverts): Replaced with ...
10242 (init_powx): ...this. All users updated.
10243 (pol_evaluate): Replace multiplications with additions.
10244 (rs_encode): Likewise.
10245 (gauss_eliminate): Call gf_invert.
10246 (grub_reed_solomon_add_redundancy): Call init_powx.
10247 (grub_reed_solomon_recover): Call init_powx unconditionally.
10248
fa5aeffc
VS
102492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
10252
a346b81c
VS
102532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10254
10255 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
10256 disk->partiton for safety.
10257
d89ee414
VS
102582011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10259
10260 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10261 Fix a memory leak.
10262 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
10263
91ee7b6d
VS
102642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
10267
91e5a33d
VS
102682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10269
10270 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
10271
9edd7be2
VS
102722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10273
10274 Fix spaces handling in proc/self/mountinfo.
10275
10276 * util/getroot.c (unescape): New function.
10277 (grub_find_root_device_from_mountinfo): Use unescape.
10278
ba102053
VS
102792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10280
10281 Support ZFS embedding.
10282
10283 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
10284 (grub_zfs_fs): Register grub_zfs_embed.
10285
aa94b870
VS
102862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10287
10288 Fix MIPS compilation.
10289
10290 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
10291 * include/grub/offsets.h: Rename decompressor fields from
10292 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
10293 * util/grub-mkimage.c (image_targets): Use new names.
10294
5fbdac14
VS
102952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 Defer multiboot device parsing until we're in compressed part.
10298
10299 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
10300 bsd_part. setdevice has fallen into disuse.
10301 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
10302 (bsd_part): Likewise.
10303 (boot_dev): New variable.
10304 (multiboot_trampoline): Don't parse multiboot device.
10305 Pass multiboot device in %edx.
10306 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
10307 grub_boot_device.
10308 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
10309 Likewise.
10310 * grub-core/kern/i386/pc/startup.S: Save edx.
10311 (grub_boot_drive): Removed.
10312 (grub_install_dos_part): Likewise.
10313 (grub_install_bsd_part): Likewise.
10314 (grub_boot_device): New variable.
10315 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
10316 (grub_install_bsd_part): Likewise.
10317 (grub_boot_drive): Likewise.
10318 (grub_boot_device): New variable.
10319 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
10320 Removed.
10321 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
10322 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
10323 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
10324 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
10325 * util/grub-install.in: Remove redundant condition.
10326
691cbb58
VS
103272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 Fix bug introduced by previous commit.
10330
10331 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
10332
60240b8b
VS
103332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 Use decompressors framework on i386-pc. It increases core size
10336 by 46 bytes but improves compatibility and maintainability.
10337
10338 * grub-core/Makefile.core.def (lzma_decompress): New image.
10339 (kernel): Add i386_pc_ldflags.
10340 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
10341 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
10342 to real_to_prot, prot_to_real and device info.
10343 * include/grub/offsets.h: Renamed decompressor offsets.
10344 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
10345 (image_target_desc): Remove raw_size and rename decompressor fields.
10346 (compress_kernel): Handle lzma.
10347 (generate_image): Handle decompressors on i386-pc.
10348
e9d3421c
VS
103492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * configure.ac: Add -fno-asynchronous-unwind-tables.
10352
2b23074a
VS
103532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 Move assembly code to C by using intwrap. It increases core size
10356 by 88 bytes but improves compatibility and maintainability.
10357
10358 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
10359 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
10360 ... here. Translated to C.
10361 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
10362 * grub-core/term/i386/pc/console.c (grub_console_getkey):
10363 ... here. Translated to C.
10364 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
10365 * grub-core/term/i386/pc/console.c (grub_console_getxy):
10366 ... here. Translated to C.
10367 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
10368 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
10369 ... here. Translated to C.
10370 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
10371 * grub-core/term/i386/pc/console.c (grub_console_cls):
10372 ... here. Translated to C.
10373 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
10374 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
10375 ... here. Translated to C.
10376 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
10377 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
10378 Translated to C.
10379 * grub-core/term/i386/pc/console.c (int10_9): New function.
10380 (grub_console_putchar): Likewise.
10381 * include/grub/i386/pc/console.h: Removed the not anymore shared
10382 functions.
10383
678f4b67
VS
103842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 Move grub_chainloader_real_boot out of the kernel.
10387
10388 * grub-core/Makefile.am: Remove machine/loader.h.
10389 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10390 Removed.
10391 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
10392 variable.
10393 (grub_relocator16_keep_a20_enabled): Likewise.
10394 (grub_relocator16_boot): Fill new variables.
10395 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
10396 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
10397 relocator.
10398 (grub_chainloader_unload): Likewise.
10399 (grub_chainloader_cmd): Likewise.
10400 * include/grub/i386/pc/loader.h: Removed.
10401 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
10402 and esi. All initialisers updated.
10403
4626edf6
VS
104042011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
104052011-11-12 Colin Watson <cjwatson@ubuntu.com>
10406
10407 * Makefile.util.def (grub-mount): New util.
10408 * .bzrignore: Add grub-mount.
10409 * configure.ac: Check for fuse and enable grub-mount if available.
10410 * docs/man/grub-mount.h2m: New file.
10411 * util/grub-mount.c: Likewise.
10412
10f0117b
VS
104132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 * grub-core/commands/efi/fixvideo.c: Gettextize.
10416 * grub-core/commands/hashsum.c: Likewise.
10417 * grub-core/commands/i386/cmostest.c: Likewise.
10418 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10419 * grub-core/commands/i386/pc/lsapm.c: Likewise.
10420 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10421 * grub-core/commands/lsmmap.c: Likewise.
10422 * grub-core/commands/menuentry.c: Likewise.
10423 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10424 * grub-core/commands/setpci.c: Likewise.
10425 * grub-core/loader/i386/bsd.c: Likewise.
10426 * grub-core/loader/i386/linux.c: Likewise.
10427 * util/getroot.c: Likewise.
10428 * util/grub-editenv.c: Likewise.
10429 * util/grub-fstest.c: Likewise.
10430 * util/grub-mkfont.c: Likewise.
10431 * util/grub-mkimage.c: Likewise.
10432 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10433 * util/grub-pe2elf.c: Likewise.
10434 * util/grub-probe.c: Likewise.
10435 * util/grub-setup.c: Likewise.
10436 * util/ieee1275/ofpath.c: Likewise.
10437 * util/misc.c: Likewise.
10438 * util/raid.c: Likewise.
10439
566f779b
RM
104402011-11-11 Robert Millan <rmh@gnu.org>
10441
10442 * util/getroot.c (grub_util_get_geom_abstraction): Remove
10443 __attribute__((unused)) from `os_dev', which *is* being used.
10444
b50787de
VS
104452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
10448 forgotten define.
10449 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
10450 GRUB_IA64_DL_GOT_ALIGN.
10451 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
10452 GRUB_IA64_DL_TRAMP_ALIGN.
10453
119d11c8
VS
104542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 Replace grub_fatal with normal errors in i386 linux loader.
10457
10458 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
10459 (allocate_pages): Check find_efi_mmap_size return value.
10460 (grub_e820_add_region): Return error.
10461 (grub_linux_boot): Check mmap return value.
10462
6e0632e2
VS
104632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * grub-core/commands/acpihalt.c: Gettextized.
10466 * grub-core/commands/cacheinfo.c: Likewise.
10467 * grub-core/commands/cmp.c: Likewise.
10468 * grub-core/commands/efi/loadbios.c: Likewise.
10469 * grub-core/commands/gptsync.c: Likewise.
10470 * grub-core/commands/ieee1275/suspend.c: Likewise.
10471 * grub-core/commands/legacycfg.c: Likewise.
10472 * grub-core/commands/memrw.c: Likewise.
10473 * grub-core/commands/minicmd.c: Likewise.
10474 * grub-core/commands/parttool.c: Likewise.
10475 * grub-core/commands/time.c: Likewise.
10476 * grub-core/commands/videoinfo.c: Likewise.
10477 * grub-core/disk/geli.c: Likewise.
10478 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
10479 * grub-core/disk/luks.c: Likewise.
10480 * grub-core/disk/lvm.c: Likewise.
10481 * grub-core/font/font_cmd.c: Likewise.
10482 * grub-core/fs/zfs/zfscrypt.c: Likewise.
10483 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10484 * grub-core/gfxmenu/view.c: Likewise.
10485 * grub-core/kern/emu/hostdisk.c: Likewise.
10486 * grub-core/kern/emu/main.c: Likewise.
10487 * grub-core/kern/emu/misc.c: Likewise.
10488 * grub-core/kern/emu/mm.c: Likewise.
10489 * grub-core/kern/mips/arc/init.c: Likewise.
10490 * grub-core/kern/mips/loongson/init.c: Likewise.
10491 * grub-core/kern/partition.c: Likewise.
10492 * grub-core/lib/i386/halt.c: Likewise.
10493 * grub-core/lib/mips/arc/reboot.c: Likewise.
10494 * grub-core/lib/mips/loongson/reboot.c: Likewise.
10495 * grub-core/loader/i386/pc/chainloader.c: Likewise.
10496 * grub-core/loader/i386/xnu.c: Likewise.
10497 * grub-core/loader/multiboot.c: Likewise.
10498 * grub-core/net/bootp.c: Likewise.
10499 * grub-core/net/net.c: Likewise.
10500 * grub-core/normal/term.c: Likewise.
10501 * grub-core/partmap/bsdlabel.c: Likewise.
10502 * grub-core/parttool/msdospart.c: Likewise.
10503 * grub-core/term/gfxterm.c: Likewise.
10504 * grub-core/term/terminfo.c: Likewise.
10505 * grub-core/video/i386/pc/vbe.c: Likewise.
10506 * util/grub-menulst2cfg.c: Likewise.
10507 * util/grub-mkdevicemap.c: Likewise.
10508 * util/grub-mklayout.c: Likewise.
10509 * util/grub-mkrelpath.c: Likewise.
10510 * util/grub-script-check.c: Likewise.
10511 * util/ieee1275/grub-ofpathname.c: Likewise.
10512 * util/resolve.c: Likewise.
10513
073aa7a9
VS
105142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10515
10516 Support %1$d syntax.
10517
10518 * tests/printf_unit_test.c: New file.
10519 * Makefile.util.def (printf_test): New test.
10520 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
10521
c76b5417
VS
105222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
10525 fix.
10526
df067ad1
VS
105272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
10530 dprintf.
10531 * grub-core/font/font.c (grub_font_load): Likewise.
10532
5b289bc5
VS
105332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10534
10535 * util/grub-macho2img.c: Add comment concerning gettext.
10536 * grub-core/lib/legacy_parse.c: Likewise.
10537
c1860f87
VS
105382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10539
10540 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
10541 (grub_xvasprintf): Likewise.
10542
d35d0d37
VS
105432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10544
10545 Add const keyword to grub_env_get and gettextize week days.
10546
10547 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
10548 (grub_read_hook_datetime): Return const char *.
10549 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
10550 updated.
10551 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10552 Mark for gettext.
10553 (grub_get_weekday_name): Return const char *. Call gettext.
10554 * grub-core/script/argv.c (grub_script_argv_append): Receive const
10555 char * and len as the argument. All users updated.
10556 (grub_script_argv_split_append): Receive const char *.
10557 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
10558 * include/grub/env.h (grub_env_get): Likewise.
10559 (grub_env_read_hook_t): Return const char *.
10560 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
10561 (grub_script_argv_split_append): Likewise.
10562
9aed8a71
VS
105632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10564
10565 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
10566
067fdf00
VS
105672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
10570 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
10571
a8bd9d39
VS
105722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
10575 Fix prototype.
10576
f7ce5baf
VS
105772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10578
10579 Fix mips compilation.
10580
10581 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
10582 normal decoder.
10583 (hashes): Use in embed decoder as well (for sizes).
10584 (dec_stream_header): Fix embed decompressor logic.
10585 (dec_stream_footer): Likewise.
10586
9bb182f3
VS
105872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10588
10589 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
10590 an error and not a fatal on unrecognised relocation types.
10591
63a9e6f6
VS
105922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10593
10594 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10595 Issue error rather than printf on unknown arguments.
10596
4c458569
VS
105972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10598
10599 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
10600 Make buf a const.
10601
e2d22baf
VS
106022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10603
10604 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
10605 Fix module name.
10606
53dc8590
VS
106072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10608
10609 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
10610 leftover debug printf.
10611
6c189294
VS
106122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
10615
f7688369
VS
106162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10617
10618 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
10619 A stylistic fix.
10620
11a775a3
VS
106212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10622
10623 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
10624
33f784e8
SL
106252011-11-10 Shea Levy <slevy@tieronedesign.com>
10626
10627 Allow all modules to perform serial IO
10628
10629 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
10630 * include/grub/serial.h (grub_serial_port_configure): New inline
10631 function.
10632 (grub_serial_port_fetch): Likewise.
10633 (grub_serial_port_put): Likewise.
10634 (grub_serial_port_fini): Likewise.
10635 (grub_serial_find): New proto.
10636
f6276525
VS
106372011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 Put symlink at the end of the node and fix a potential
10640 memory corruption.
10641
10642 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
10643 Make symlink into an array.
10644 (set_rockridge): Set have_symlink and alloc_dirents.
10645 (grub_iso9660_read_symlink): Use new layout.
10646 (grub_iso9660_iterate_dir): Fix memory corruption.
10647 Use new layout.
10648 (grub_iso9660_dir): Set have_symlink.
10649 (grub_iso9660_open): Likewise.
10650
c3591189
VS
106512011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 Remove local keyword.
10654
10655 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
10656 (version_test_gt): Likewise.
10657 (version_find_latest): Likewise.
10658 (gettext_printf): Likewise.
10659 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
10660
cb544caa
VS
106612011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
10664
45bd824d
VS
106652011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10666
10667 Fix ZFS memory and resource leaks.
10668
10669 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
10670 All users updated.
10671 Free type on exit.
10672 (fill_vdev_info): New parameter inserted. All users updated.
10673 (check_pool_label): Likewise.
10674 (scan_disk): Likewise.
10675 (scan_devices): Close non-inserted disks.
10676 (fzap_iterate): Free l.
10677 (unmount_device): Free children descripto memory.
10678
ad9a2f44
VS
106792011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
10682 argument (access out of bounds).
10683
6b68db81
VS
106842011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
10687 >= 6 drives.
10688
28840fda
VS
106892011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10690
10691 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
10692 Fix declaration.
10693
8a5a3a5b
VS
106942011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 Fix several memory leaks.
10697
10698 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
10699 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
10700 (grub_cpio_dir): Likewise.
10701 * grub-core/fs/fat.c (grub_fat_label): Likewise.
10702 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
10703 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
10704 (grub_romfs_label): Likewise.
10705 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
10706 (squash_unmount): New function.
10707 (grub_squash_dir): Fix memory leak.
10708 (grub_squash_open): Likewise.
10709 (grub_squash_read): Likewise.
10710 (grub_squash_mtime): Likewise.
10711 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
10712 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
10713 * util/grub-fstest.c (fstest): Likewise.
10714
57b01250
VS
107152011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
10718 avoid accessing beyond the array.
10719
19e81ba7
VS
107202011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10721
10722 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
10723
52b656c0
VS
107242011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10725
10726 Several AFFS fixes.
10727
10728 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
10729 (GRUB_AFFS_FLAG_FFS): Removed.
10730 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
10731 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
10732 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
10733 (grub_fshelp_node): Make block 32-bit.
10734 Add block_cache and last_block_cache.
10735 (grub_affs_read_block): Fill and use block cache.
10736 (grub_affs_read_file): Removed.
10737 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
10738 boot block.
10739 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
10740 safety.
10741 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
10742 space.
10743 (grub_affs_close): Free block cache.
10744 (grub_affs_read): Use grub_fshelp_read_file directly.
10745
438a746a
VS
107462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
10749 with no error set.
10750
49a45021
VS
107512011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
10754 used variable.
10755 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10756 Likewise.
10757
3ae17eb8
VS
107582011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
10761
10762 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
10763 byteswap when needed.
10764
27610c38
VS
107652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10766
10767 Fix FreeBSD compilation.
10768
10769 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
10770 to avoid circular dependency.
10771 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
10772 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
10773 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
10774
4a19b601
VS
107752011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 Fix ZFS crypto error types.
10778
10779 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
10780 (grub_gcm_decrypt): Likewise.
10781 (grub_zfs_load_key_real): Fix error code type. Handle possible error
10782 from PBKDF2.
10783
958ee221
VS
107842011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 Illumos support.
10787
10788 * Makefile.util.def (10_illumos): New script.
10789 * configure.ac: Set COND_HOST_ILLUMOS.
10790 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
10791 Support Illumos calls.
10792 (find_partition_start) [__sun__]: Likewise.
10793 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
10794 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
10795 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
10796 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
10797 device.
10798 * util/grub-probe.c (probe) [__sun__]: Do character check.
10799 * util/grub.d/10_illumos.in: New file.
10800
cac14fb6
VS
108012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 Support escaped commas in hostdisk.
10804
10805 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
10806 (find_grub_drive): Use unescape_cmp.
10807 (make_device_name): Escape commas.
10808
78e08dc3
VS
108092011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
10812
9f421dd1
VS
108132011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10814
10815 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
10816 variable.
10817
ed64e9e2
VS
108182011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10819
10820 Support trampoline jumps on powerpc.
10821
10822 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
10823 __ia64__ path.
10824 (grub_dl_load_segments): Set mod->sz.
10825 (grub_dl_flush_cache): Flush whole space occupied by module, not just
10826 segments.
10827 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
10828 (jump): Likewise.
10829 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
10830 function.
10831 (trampoline): New struct.
10832 (trampoline_template): New const.
10833 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
10834 * include/grub/dl.h (grub_dl): Add sz element.
10835 [__powerpc__]: Follow __ia64__.
10836 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
10837 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
10838 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
10839 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
10840
3084ede4
VS
108412011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 ZFS crypto support.
10844
10845 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
10846 * grub-core/Makefile.core.def (zfscrypt): New module.
10847 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
10848 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
10849 it. All users updated.
10850 (grub_zfs_decrypt): New var.
10851 (grub_zfs_load_key): Likewise.
10852 (zio_checksum_functions): Add SHA256+MAC.
10853 (zio_checksum_verify): Handle incomplete comparison due to MAC.
10854 (zio_read): Handle encrypted blocks.
10855 (zap_verify): Remove incorrect check.
10856 (fzap_iterate): Handle non-standard fzap.
10857 (zap_iterate): Likewise.
10858 (zap_iterate_u64): New function.
10859 (dnode_get_fullpath): Load keys.
10860 * grub-core/fs/zfs/zfscrypt.c: New file.
10861 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
10862 (grub_crypto_ecb_encrypt): Make input const.
10863 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
10864 (grub_crypto_ecb_encrypt): Make input const.
10865 (GRUB_CIPHER_AES): New macro.
10866 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
10867 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
10868 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
10869 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
10870 prefix. All users updated.
10871 (grub_zfs_add_key): New proto.
10872 (grub_zfs_decrypt): Likewise.
10873 (grub_zfs_load_key): Likewise.
10874 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
10875 * util/grub-fstest.c (options): Add -K option.
10876 (argp_parser): Likewise.
10877
b632b404
VS
108782011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 Support zle compression on ZFS.
10881
10882 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
10883 (decomp_table): Add zle.
10884 * include/grub/zfs/zio.h (zio_compress): Add zle.
10885
c7ba4f69
VS
108862011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10887
10888 Support BtrFS embedding.
10889
10890 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
10891 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
10892 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
10893 * util/grub-setup.c (setup): Use fs embedding if available.
10894 Add additional sanity check.
10895
455377d9
VS
108962011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10897
10898 * util/grub-install.in: Fix condition for config_opt.
10899
c2fd16ca
VS
109002011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 Support third redundancy strip on raidz3.
10903
10904 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
10905 Return error on singularity. All users updated.
10906 (read_device): Don't stop on 3rd failure on raidz3.
10907
8622923b
VS
109082011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10909
10910 Support case-insensitive ZFS subvolumes.
10911
10912 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
10913 All users updated.
10914 (zap_hash): Likewise.
10915 (name_cmp): New function.
10916 (zap_leaf_array_equal): New parameter case_insensitive.
10917 All users updated.
10918 (zap_leaf_lookup): Likewise.
10919 (fzap_lookup): Likewise.
10920 (zap_lookup): Likewise.
10921 (dnode_get_path): New parameter case_insensitive. Retrieve case
10922 sensitiviness of a volume. All users updated.
10923 (dnode_get_fullpath): New parameter case_insensitive.
10924 All users updated.
10925 (grub_zfs_dir): Set info.case_insensitiveness.
10926
95f2e860
VS
109272011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10928
10929 Support second redundancy strip on raidz(2,3).
10930
10931 * grub-core/fs/zfs/zfs.c (powx): New array.
10932 (powx_inv): Likewise.
10933 (poly): New const.
10934 (xor_out): New function.
10935 (gf_mul): Likewise.
10936 (recovery): Likewise.
10937 (read_device): Use second redundancy strip.
10938
11ee4389
VS
109392011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 Use a power of generator representation of GF(256) multiplication group
10942 to save space time and complexity.
10943
10944 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
10945 (raid6_table2): Likewise.
10946 (powx): New array.
10947 (powx_inv): Likewise.
10948 (poly): New const.
10949 (grub_raid_block_mul): Replace with ...
10950 (grub_raid_block_mulx): ...this.
10951 (grub_raid6_init_table): Rewritten.
10952 (grub_raid6_recover): Use power of generator representation.
10953
09e2763f
VS
109542011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
10957 for the right device.
10958
8bec9a28
VS
109592011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10960
10961 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
10962 expected by grub-mkimage and it's more clear since there is no implicit
10963 padding.
10964
dbd3a32e
VS
109652011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
10968 disk.
10969 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
10970
182c872a
PMH
109712011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
10972
10973 * util/grub-mkrescue.in: Fix handling xorriso option.
10974
1e51cabd
VS
109752011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10976
10977 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
10978 NULL.
10979
9cc3581d 109802011-11-03 crocket <crockabiscuit@gmail.com>
10981
10982 * util/grub.d/10_linux.in: Add Slackware initrd naming.
10983
158dc1ea
VS
109842011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 XZ CRC64 and SHA256 support.
10987
10988 * Makefile.util.def (libgrubmods): Add crc64.c.
10989 * grub-core/Makefile.core.def (crc64): New module.
10990 * grub-core/lib/crc64.c: New file.
10991 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
10992 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
10993 Fix the type.
10994 (MAX_HASH_SIZE): New define.
10995 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
10996 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
10997 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
10998 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
10999 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
11000 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
11001 Handle non-crc32 hashes.
11002 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
11003 (dec_stream_header): Handle non-crc32 hashes.
11004 (dec_stream_footer): Likewise.
11005 (dec_block_header): Likewise.
11006 (dec_main): Likewise.
11007 (xz_dec_init): Likewise.
11008 (xz_dec_reset): Likewise.
11009 (xz_dec_end): Likewise.
11010 * util/import_gcry.py: Add CRC64 line.
11011
9d9b3d2f
VS
110122011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
11015 as well.
11016
7d0ac931
VS
110172011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11018
11019 Make reiserfs label retrieval similar to other *_label functions.
11020
11021 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
11022 (REISERFS_MAX_LABEL_LENGTH): Removed.
11023 (REISERFS_LABEL_OFFSET): Likewise.
11024 (grub_reiserfs_label): Rewritten.
11025
110262011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11027
11028 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
11029 field.
11030
cf5ba824
VS
110312011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
11034
17744004
VS
110352011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
11038 drive failure on both raidz and raidz2.
11039
aca5aefc
VS
110402011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 Fix RAIDZ(2) for >= 5 devices.
11043
11044 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
11045 asize argument. All users updated.
11046
ce8ca56e
VS
110472011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 Fix RAIDZ(2).
11050
11051 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
11052 (fill_vdev_info_real): Set ashift.
11053 (read_device): Rewrite RAIDZ part based on reverse engineering.
11054
7c01e783
VS
110552011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11056
11057 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
11058 don't report potentially unavialiable fields in debug output.
11059 (find_path): Fix double-free and memory leak.
11060
ce109e84
VS
110612011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 Read label on UFS1.
11064
11065 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
11066 (grub_ufs_fs): Always set .label.
11067
87661123
VS
110682011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 Use shifts in UFS.
11071
11072 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
11073 (grub_ufs_data): New field log2_blksz.
11074 (grub_ufs_read_file): Use shifts.
11075 (grub_ufs_mount): Check block size and logarithm it.
11076
46bc1dc2
VS
110772011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11078
11079 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
11080 long symlinks.
11081
19ee2987
VS
110822011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11083
11084 Handle symlinks and long names on tar and cpio.
11085
11086 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
11087 (ATTR_FILE): Likewise.
11088 (ATTR_DIR): Likewise.
11089 (ATTR_LNK): Likewise.
11090 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
11091 (grub_cpio_find_file): Fill mode, handle linkname field as well as
11092 L and K entries.
11093 (grub_cpio_mount): Zero-fill data.
11094 (handle_symlink): New function.
46bc1dc2
VS
11095 (grub_cpio_dir): Handle symlinks.
11096 (grub_cpio_open): Likewise.
11097 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 11098
c83a08d8
VS
110992011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 Fix iso9660 filename limitations and fix memory leaks.
11102
11103 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
11104 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
11105
45cdd3ea
VS
111062011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 Fix JFS file name length limitations.
11109
11110 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
11111 (grub_jfs_diropen): Fix maximum filename length.
11112 (grub_jfs_getent): Fix filename length.
11113 (grub_jfs_lookup_symlink): Fix size checks.
11114
94ef05c2
VS
111152011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11116
11117 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
11118 string.
11119
785ab8c7
VS
111202011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11121
eb0b6b45
VS
11122 Leverage BFS implementation to read AFS.
11123
11124 * Makefile.util.def (libgrubmods): Add afs.c.
11125 * grub-core/Makefile.core.def (afs): New module
11126 * grub-core/fs/afs.c: New file.
11127 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
11128
111292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 11132
c4a1628f
VS
111332011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11134
11135 * grub-core/fs/bfs.c: Run indent.
11136
5825b379
VS
111372011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 BFS implementation based on the specification.
11140
11141 * grub-core/fs/bfs.c: New file.
11142 * Makefile.util.def (libgrubmods): Add bfs.c.
11143 * grub-core/Makefile.core.def (bfs): New module.
11144
42b2a706
VS
111452011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 * util/grub-fstest.c (cmd_cp): Clarify error message.
11148 (cmd_cmp): Likewise.
11149
61b99bfc
YB
111502011-10-30 Yves Blusseau <blusseau@zetam.org>
11151
11152 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
11153 and befs_be.
11154
faba3d16
VS
111552011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 Remove afs and befs because of copyright problem.
11158
11159 * grub-core/fs/afs.c: Removed.
11160 * grub-core/fs/afs_be.c: Removed.
11161 * grub-core/fs/befs.c: Removed.
11162 * grub-core/fs/befs_be.c: Removed.
11163 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
11164 * grub-core/Makefile.core.def (afs): Removed.
11165 (afs_be): Likewise.
11166 (befs): Likewise.
11167 (befs_be): Likewise.
11168
c39224b0
VS
111692011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 Prefer rockridge over Joliet.
11172
11173 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
11174 to ...
11175 (set_rockridge): ... here.
11176 (grub_iso9660_mount): Check rockridge on the primary label when
11177 discovering. Ignore Joliet if Rockridge is present.
11178
e551115a
VS
111792011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 Use shifts in nilfs2.
11182
11183 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
11184 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
11185 (grub_nilfs2_palloc_entries_per_group): Replace with ...
11186 (grub_nilfs2_log_palloc_entries_per_group): ... this.
11187 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
11188 (grub_nilfs2_entries_per_block): Replaced with ...
11189 (grub_nilfs2_log_entries_per_block_log): ... this.
11190 (grub_nilfs2_blocks_per_group): Replaced with ...
11191 (grub_nilfs2_blocks_per_group_log): ... this.
11192 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
11193 (grub_nilfs2_blocks_per_desc_block_log): ... this.
11194 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
11195 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
11196 (grub_nilfs2_palloc_entry_offset): Replaced ...
11197 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
11198 (grub_nilfs2_dat_translate): Use shifts.
11199 (grub_nilfs2_read_inode): Likewise.
11200 (GRUB_MOD_INIT): Ensure that logs are correct.
11201
564dd58c
VS
112022011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 Use shifts in minix filesystem.
11205
11206 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
11207 (GRUB_MINIX_ZONE2SECT): Likewise.
11208 (grub_minix_data): Replace block_size with log_block_size.
11209 (grub_minix_read_file): Use shifts.
11210 (grub_minix_mount): Check block size and take a logarithm.
11211
ed9ba06d
VS
112122011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 Use shifts in squash4.
11215
11216 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
11217 (squash_mount): Check block size and take logarithm.
11218 (direct_read): Use shifts.
11219
ad03fe76
VS
112202011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 Correct befs block counting logic.
11223
11224 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
11225 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
11226 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
11227 (grub_afs_read_inode): Use block_shift.
11228 (RANGE_SHIFT): New definition.
11229 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
11230 unexpected conditions, use shifts and appropriate types.
11231 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
11232
6563f63d
VS
112332011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 * grub-core/disk/raid.c (scan_devices): Check partition.
11236 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11237
5b1ae25f
VS
112382011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
11239
11240 Support BFS (befs) UUID.
11241
11242 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
11243 (grub_afs_small_data_element_header): New struct.
11244 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
11245 (grub_afs_read_attribute) [MODE_BFS]: New function.
11246 (grub_afs_iterate_dir): Allocate for complete inode.
11247 (grub_afs_mount): Likewise.
11248 (grub_afs_uuid) [MODE_BFS]: New function.
11249 (grub_afs_fs) [MODE_BFS]: Add .uuid.
11250
f8d82408
VS
112512011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
11254 (zfs_unmount): Fix memory leak.
11255
5773fb64
VS
112562011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11257
11258 Support NTFS reparse points.
11259
11260 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
11261 (symlink_descriptor): New struct.
11262 (grub_ntfs_read_symlink): New function.
11263 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
11264 (grub_ntfs_open): Likewise.
11265
91c3fdde
VS
112662011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
11269
3be82e10
VS
112702011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11271
11272 fstest xnu_uuid subcommand.
11273
11274 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
11275 grub-core/commands/xnu_uuid.c.
11276 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
11277 (fstest): Handle xnu_uuid.
11278 (options): Document xnu_uuid.
11279 (argp_parser): Parse xnu_uuid.
11280
8e32442e
VS
112812011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11282
11283 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
11284 -l argument. Add newline at the end if printing.
11285 (GRUB_MOD_INIT): Document -l.
11286
52a05075
VS
112872011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
11290
1869edb5
VS
112912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 ZFS multi-device and version 33 support.
11294
11295 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
11296 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
11297 (grub_zfs_data): Add multidev-ice-related fields.
11298 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
11299 (dva_get_offset): Make dva const.
11300 (zfs_fetch_nvlist): New function.
11301 (fill_vdev_info_real): Likewise.
11302 (fill_vdev_info): Likewise.
11303 (check_pool_label): Likewise.
11304 (scan_disk): Likewise.
11305 (scan_devices): Likewise.
11306 (read_device): Likewise.
11307 (read_dva): Likewise.
11308 (zio_read_gang): Use read_dva.
11309 (zio_read_data): Likewise.
11310 (zap_leaf_lookup): Add missing endian conversion.
11311 (zap_verify): Add missing endian conversion. All users updated.
11312 (fzap_lookup): Likewise.
11313 (fzap_iterate): Likewise.
11314 (dnode_get_path): Handle SA bonus.
11315 (nvlist_find_value): Make input const. All users updated.
11316 (unmount_device): New function.
11317 (zfs_unmount): Use unmount_device.
11318 (zfs_mount): Use scan_disk.
11319 (zfs_mtime): New function.
11320 (grub_zfs_open): Handle system attributes.
11321 (fill_fs_info): Likewise.
11322 (grub_zfs_dir): Likewise.
11323 (grub_zfs_fs): Add mtime.
11324 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
11325 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
11326 (SA_MTIME_OFFSET): Likewise.
11327 (SA_SYMLINK_OFFSET): Likewise.
11328 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
11329 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
11330 (fstest): Support zfsinfo.
11331 (argp_parser): Likewise.
11332
186b4028
VS
113332011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
11336 error.
11337
113382011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
11339
11340 ZFS fixes.
11341
11342 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
11343 sharing the same block. Iterate over correct number of indices.
11344 (dnode_get_path): Handle symlinks correctly.
11345
c0584900
VS
113462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
11349
67e2bd71
VS
113502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 Read label on HFS+.
11353
11354 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
11355 (grub_hfsplus_btree_search): Fix types.
11356 (grub_hfsplus_label): Implement.
11357
e9cc6b7b
VS
113582011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
11361
19832ddb
VS
113622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
11365
66b40850
VS
113662011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 Fix symlink handling on iso9660.
11369
11370 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
11371 All users updated.
11372 (grub_iso9660_susp_iterate): Accept zero-size iterate.
11373 (grub_iso9660_read_symlink): Moved most of code ...
11374 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
11375
db821363
VS
113762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11377
11378 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
11379 Use union to avoid breaking strict-aliasing rules.
11380
e1211949
VS
113812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11382
11383 Support multi-extent iso files.
11384
11385 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
11386 Add node.
11387 (grub_fshelp_node): Revamp. All users updated.
11388 (FLAG_*): New enum.
11389 (read_node): New function.
11390 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
11391 All users updated.
11392 (grub_iso9660_mount): Don't attempt to read sua when there is none.
11393 (get_node_size): New function.
11394 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
11395 entries.
11396 Fix memory leak on . and ..
11397 (grub_iso9660_read): Use read_node.
11398 (grub_iso9660_close): Free node.
11399
d4888031
VS
114002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11401
11402 Fix tar 4G limit and handle paths containing dot.
11403
11404 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
11405 (canonicalize): New function.
11406 (grub_cpio_find_file): Use canonicalize. Store offs in
11407 grub_disk_addr_t.
11408 (grub_cpio_dir): Use grub_disk_addr_t.
11409 (grub_cpio_open): Likewise.
11410
9f12e664
VS
114112011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11412
11413 Fix handling of uncompressed blocks on squashfs and break 4G limit.
11414
11415 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
11416 unused flags.
11417 (grub_squash_inode): Add long_file and block_size.
11418 (grub_squash_cache_inode): New struct.
11419 (grub_squash_dirent): Make types into enum.
11420 (SQUASH_TYPE_LONG_REGULAR): New type.
11421 (grub_squash_frag_desc): Add field size.
11422 (SQUASH_BLOCK_FLAGS): New enum.
11423 (grub_squash_data): Use grub_squash_cache_inode.
11424 (grub_fshelp_node): Make ino_chunk 64-bit.
11425 (read_chunk): Minor argument change. All users updated.
11426 (squash_mount): Use correct le_to_cpu.
11427 (grub_squash_open): Handle LONG_REGULAR.
11428 (direct_read): New function.
11429 (grub_squash_read_data): Handle blocks correctly.
11430
9f326fba
VS
114312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11432
11433 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
11434
f4d9b64b
VS
114352011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
11438
5bbd28b8
VS
114392011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11440
11441 Fix 2G limit on ZFS.
11442
11443 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
11444 types.
11445 (uberblock_verify): Likewise.
11446 (dmu_read): Likewise.
11447 (grub_zfs_read): Likewise. Remove invalid cast.
11448
68c72069
VS
114492011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
11452 (grub_jfs_blkno): Fix incorrect shift.
11453 (grub_jfs_read_file): Use more appropriate types.
11454
6e536dc8
VS
114552011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 Support triple indirect on minix2 and minix3.
11458
11459 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
11460 Declare triple_indir_zone.
11461 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
11462 indirect.
11463
e0864e7a
VS
114642011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11465
11466 Minix FS fixes.
11467
11468 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
11469 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
11470 Rename ctime to mtime. All users updated.
11471 (grub_minix_get_file_block): Fix types and double indirect computations.
11472
89481cab
VS
114732011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11474
11475 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
11476 if no label is found.
11477 (grub_fat_iterate_dir): Fix file size type.
11478 (grub_fat_iterate_dir): Likewise.
11479
f646e143
VS
114802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
11483 save some space.
11484 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
11485 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11486
534d769e
VS
114872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11488
11489 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
11490
e084ba18
VS
114912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11492
11493 * util/import_gcry.py: Accept space between # and include.
11494
3471ecdf
VS
114952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11496
11497 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
11498
124df5f6
VS
114992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 Fine grainely disable warnings on lexer. Remove Wno-error on it.
11502
11503 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
11504 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
11505 yylex_strncpy.
11506 * grub-core/script/yylex.l: Add fine-grained #pragma.
11507
4defb8d5
VS
115082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11509
11510 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
11511 New inline function.
11512 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
11513 Likewise.
11514 (memset) [GRUB_UTIL]: Likewise.
11515 (memcmp) [GRUB_UTIL]: Likewise.
11516
4e94ae65
VS
115172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11518
11519 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
11520 inline function rather than a define.
11521
18c575e5
VS
115222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11523
11524 * util/grub-setup.c: Add missing include.
11525
f8bc22a8
VS
115262011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11527
11528 * util/ieee1275/grub-ofpathname.c: Add missing include.
11529
3ce69fc9
VS
115302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
11533 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
11534 Likewise.
11535
d1e293bb
VS
115362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
11539 grub_memcmp usage.
11540
7a5c54a4
VS
115412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11542
11543 * util/grub-install.in: Add datarootdir as per automake manual
11544 suggestion.
11545 * util/grub-mknetdir.in: Likewise.
11546
115472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
11548
11549 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
11550 suggestion.
11551 * util/grub.d/10_kfreebsd.in: Likewise.
11552 * util/grub.d/10_linux.in: Likewise.
11553 * util/grub.d/10_netbsd.in: Likewise.
11554 * util/grub.d/10_windows.in: Likewise.
11555 * util/grub.d/20_linux_xen.in: Likewise.
11556
766f7d08
VS
115572011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
11558
11559 Remove redundant grub_kernel_image_size.
11560
11561 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
11562 _edata and _start.
11563 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
11564 the small code. It moves it only by few bytes but simplifies the code.
11565 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
11566 _start.
11567 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
11568 (grub_kernel_image_size): Removed.
11569 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
11570 (grub_kernel_image_size): Removed.
11571 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
11572 compiled with Apple toolchain.
11573 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
11574 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
11575 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
11576 (grub_total_module_size): Likewise.
11577 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
11578 Removed.
11579 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
11580 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
11581 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11582 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
11583 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
11584 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
11585 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
11586 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
11587 Removed.
11588 (grub_total_module_size): Removed.
11589 * util/grub-mkimage.c (image_target_desc): Remove image_size.
11590 (image_targets): Likewise.
11591 Set .compressed_size to no field on sparc.
11592 (generate_image): Remove kernel_image_size handling.
11593
fcf1d672
SJ
115942011-10-19 Szymon Janc <szymon@janc.net.pl>
11595
11596 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
11597 NULL pointer dereference.
11598
de9c615e
VS
115992011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11600
11601 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
11602 done with a dedicated section.
11603
11604 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
11605 Ensure the correct position of boot_path.
11606 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
11607 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
11608 other fields.
11609 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
11610 * include/grub/boot.h: Removed. All references removed.
11611 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
11612 Removed.
11613 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
11614
e55599dc
VS
116152011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11616
11617 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
11618 name.
11619
36dd20ad
VS
116202011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11621
11622 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
11623
f8f72eb8
VS
116242011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11625
11626 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11627 Don't add the bogus brackets.
11628
a374751b
VS
116292011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 ExFAT support.
11632
11633 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
11634 * grub-core/Makefile.core.def (exfat): New module.
11635 * grub-core/fs/exfat.c: New file.
11636 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
11637 (GRUB_FAT_ATTR_*): Make into an enum.
11638 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
11639 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
11640 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
11641 (GRUB_FAT_MAXFILE): Removed.
11642 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
11643 (grub_current_fat_bpb_t): New type.
11644 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
11645 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
11646 (grub_fat_dir_node_t): New type.
11647 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
11648 (fat_log2) [MODE_EXFAT]: Removed.
11649 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
11650 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
11651 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
11652 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
11653 (grub_fat_label) [MODE_EXFAT]: New function.
11654 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
11655 reserved_first_sector to 0.
11656
544c2487
VS
116572011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 Move grub_reboot out of the kernel.
11660
11661 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
11662 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
11663 * grub-core/lib/efi/reboot.c: ... here.
11664 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
11665 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
11666 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
11667 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
11668 * grub-core/lib/i386/reboot_trampoline.S: ... here.
11669 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
11670 * grub-core/lib/ieee1275/reboot.c: ... here.
11671 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
11672 * grub-core/lib/mips/arc/reboot.c: ... here.
11673 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
11674 * grub-core/lib/mips/loongson/reboot.c: ...here.
11675 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
11676 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
11677 * include/grub/emu/misc.h (grub_reboot): New function declaration.
11678 * include/grub/i386/reboot.h: New file.
11679 * include/grub/mips/loongson/ec.h: Fix includes.
11680 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
11681 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
11682 * grub-core/lib/i386/reboot.c: New file.
11683
a97501d2
VS
116842011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
11685
11686 Make grub_prefix into module to fix the arbitrary limit and save
11687 some space.
11688
11689 * grub-core/kern/emu/main.c (grub_prefix): Removed.
11690 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
11691 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
11692 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
11693 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
11694 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
11695 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
11696 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
11697 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11698 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
11699 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
11700 * include/grub/ia64/efi/kernel.h: Removed.
11701 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
11702 (grub_prefix): Removed.
11703 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
11704 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
11705 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
11706 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
11707 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
11708 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
11709 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
11710 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
11711 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
11712 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
11713 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11714 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11715 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11716 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11717 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
11718 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
11719 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
11720 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11721 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
11722 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
11723 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
11724 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
11725 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
11726 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
11727 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
11728 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
11729 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
11730 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
11731 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
11732 from module.
11733 * util/grub-mkimage.c (image_target_desc): Removed prefix and
11734 prefix_end.
11735 (image_targets): Likewise.
11736 (generate_image): Put prefix as a module.
11737
39705fad
VS
117382011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11739
11740 Replace grub_module_iterate with FOR_MODULES.
11741
11742 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
11743 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
11744 (grub_efi_modules_addr): ...this.
11745 * grub-core/kern/efi/init.c (grub_modbase): New variable.
11746 (grub_efi_init): Set grub_modbase.
11747 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
11748 (grub_modbase): New variable.
11749 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
11750 (grub_modbase): New variable.
11751 (grub_machine_init): Set grub_modbase.
11752 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
11753 (grub_modbase): New variable.
11754 (grub_machine_init): Set grub_modbase.
11755 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
11756 (grub_modbase): New variable.
11757 (grub_machine_init): Set grub_modbase.
11758 * grub-core/kern/main.c (grub_module_iterate): Remove.
11759 (grub_modules_get_end): Use grub_modbase.
11760 (grub_load_modules): Use FOR_MODULES.
11761 (grub_load_config): Likewise.
11762 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
11763 (grub_modbase): New variable.
11764 (grub_machine_init): Set grub_modbase.
11765 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
11766 (grub_modbase): New variable.
11767 (grub_machine_init): Set grub_modbase.
11768 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
11769 Removed.
11770 (grub_modbase): New variable.
11771 (grub_machine_init): Set grub_modbase.
11772 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
11773 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
11774 (grub_module_iterate): Likewise.
11775 (grub_modbase): New variable declaration.
11776 (FOR_MODULES): New macro.
11777
2afb7f6c
VS
117782011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 * configure.ac: Check for __ctzdi2 and __ctzsi2.
11781 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
11782
366e34fa
VS
117832011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11784
11785 Fix few obvious type discrepancies.
11786
11787 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
11788 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
11789 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
11790 variable.
11791 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
11792 and connected types.
11793 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
11794 offset.
11795 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
11796 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
11797 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
11798 and connected types.
11799
177b960e
VS
118002011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 Fix python 3.x incompatibilities.
11803
11804 * gentpl.py: Put brackets around print strings.
11805 * util/import_gcry.py: Open explicitly as utf-8.
11806 Use in instead of has_key.
11807
3b619ae1
VS
118082011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11809
11810 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
11811 (GRUB_XFS_INO_AGBITS): Make into inline function.
11812 (GRUB_XFS_INO_INOINAG): Likewise.
11813 (GRUB_XFS_INO_AG): Likewise.
11814 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
11815 (GRUB_XFS_EXTENT_OFFSET): Likewise.
11816 (GRUB_XFS_EXTENT_BLOCK): Likewise.
11817 (GRUB_XFS_EXTENT_SIZE): Likewise.
11818 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
11819 (GRUB_XFS_NEXT_DIRENT): Likewise.
11820 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
11821 (grub_xfs_read_file): Fix offset type.
11822
8bcebcb8
RM
118232011-10-15 Robert Millan <rmh@gnu.org>
11824
11825 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
11826
0017e5ef
RM
118272011-10-15 Robert Millan <rmh@gnu.org>
11828
11829 Fix build problem on FreeBSD and GNU/kFreeBSD.
11830
11831 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
11832
d8919552
VS
118332011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
11836
11837 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
11838 types.
11839 (grub_hfsplus_btree_recoffset): Likewise.
11840 (grub_hfsplus_btree_recptr): Likewise.
11841 (grub_hfsplus_find_block): Likewise.
11842 (grub_hfsplus_btree_search): Likewise.
11843 (grub_hfsplus_read_block): Likewise.
11844 (grub_hfsplus_read_file): Likewise.
11845 (grub_hfsplus_mount): Likewise.
11846 (grub_hfsplus_btree_iterate_node): Likewise.
11847 (grub_hfsplus_btree_search): Likewise.
11848 (grub_hfsplus_iterate_dir): Likewise.
11849 (grub_hfsplus_read): A small code simplification.
11850
c81296b6
VS
118512011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 * grub-core/kern/emu/hostdisk.c
11854 (convert_system_partition_to_system_disk): Don't assume that children
11855 of mapper nodes are mapper nodes.
11856
0eb8ffb1
VS
118572011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
11860 * include/grub/misc.h (grub_isxdigit): New function.
11861 * grub-core/video/colors.c (my_isxdigit): Removed. All users
11862 switched to grub_isxdigit.
11863 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
11864 number starting with a letter.
11865
a98f4a08
RM
118662011-10-09 Robert Millan <rmh@gnu.org>
11867
11868 LVM support for FreeBSD and GNU/kFreeBSD.
11869
11870 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
11871 GNU/kFreeBSD.
11872 (LVM_DEV_MAPPER_STRING): Move from here ...
11873 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
11874 * util/getroot.c: Include `<grub/util/lvm.h>'.
11875 (grub_util_get_dev_abstraction): Enable
11876 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
11877 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
11878 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
11879 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
11880 support it.
11881 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
11882 GNU/kFreeBSD.
11883 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
11884 when LVM abstraction is required for ${GRUB_DEVICE}.
11885
050e8e90
SJ
118862011-10-06 Szymon Janc <szymon@janc.net.pl>
11887
11888 Add support for LZO compression in GRUB:
11889 - import of minilzo library,
11890 - LZO decompression for btrfs,
11891 - lzop files decompression.
11892
11893 * grub-core/io/lzopio.c: New file.
11894 * grub-core/lib/adler32.c: Likewise.
11895 * grub-core/lib/minilzo/lzoconf.h: Likewise.
11896 * grub-core/lib/minilzo/lzodefs.h: Likewise.
11897 * grub-core/lib/minilzo/minilzo.c: Likewise.
11898 * grub-core/lib/minilzo/minilzo.h: Likewise.
11899 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
11900 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
11901 grub-core/lib/minilzo/minilzo.c to common.
11902 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
11903 cflags in cppflags.
11904 * grub-core/Makefile.core.def (btrfs): Likewise.
11905 * grub-core/Makefile.core.def (lzopio): New module.
11906 (adler32): Likewise.
11907 * grub-core/fs/btrfs.c: Include minilzo.h.
11908 (GRUB_BTRFS_COMPRESSION_LZO): New define.
11909 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
11910 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
11911 (grub_btrfs_lzo_decompress): New function.
11912 (grub_btrfs_extent_read): Add support for LZO compression type.
11913 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
11914 (GRUB_USHRT_MAX): Likewise.
11915 (GRUB_UINT_MAX): Likewise.
11916 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
11917 (UINT_MAX): Likewise.
11918 (CHAR_BIT): Likewise.
11919 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
11920 grub-core/lib/posix_wrap/limits.h
11921 (UCHAR_MAX): Likewise.
11922 * include/grub/file.h (grub_file_filter_id): New compression filter
11923 GRUB_FILE_FILTER_LZOPIO.
11924 * include/grub/file.h (grub_file_filter_id): Set
11925 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
11926 * include/grub/types.h (grub_get_unaligned16): New function.
11927 (grub_get_unaligned32): Likewise.
11928 (grub_get_unaligned64): Likewise.
11929 * util/import_gcry.py (cryptolist): Add adler32.
11930
0eb8ffb1
VS
119312011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
11934 in perspective decreases the complexity of build system and fixes
11935 compilation right now.
11936
ce79cc99 119372011-10-01 Ales Nesrsta <starous@volny.cz>
11938
11939 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
11940 (fixed problem related to using UHCI with coreboot).
11941
8667a314
BC
119422011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
11943
11944 * gentpl.py: Use Autogen macros so that the output template file
11945 (Makefile.tpl) size is reduced.
11946
fc5efcc0
MK
119472011-09-29 Mads Kiilerich <mads@kiilerich.com>
11948
11949 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
11950 extra_dist.
11951
d1ab689d
ML
119522011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11953
11954 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
11955 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
11956
c05de032
ML
119572011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11958
11959 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
11960 _fullpath.
11961
cca7ccd8
ML
119622011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11963
11964 Remove extra declaration of sleep for mingw32.
11965
11966 * util/misc.c (sleep) [__MINGW32__]: Removed.
11967 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
11968
e0b0dc83
GS
119692011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
11970
11971 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
11972 type and packname.
11973 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
11974 Resurrected.
11975 (NETBSD_BTINFO_BOOTWEDGE): New definition.
11976 (grub_netbsd_btinfo_bootwedge): New struct.
11977 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
11978 New function.
11979 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
11980
91a1a164
TH
119812011-09-28 Thomas Haller <thomas.haller@fen-net.de>
11982
11983 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
11984 loader.
11985
2ded951e
AB
119862011-09-28 Andreas Born <futur.andy@googlemail.com>
11987
11988 Fix incorrect identifiers in bash-completion.
11989
11990 * util/bash-completion.d/grub-completion.bash.in
11991 (_grub_mkpasswd-pbkdf2): Rename to ...
11992 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
11993 (_grub_script-check): Rename to ...
11994 (_grub_script_check): ... this. All users updated.
11995
69915030
VS
119962011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
11999 Return 0 if disk isn't biosdisk.
12000
20fd15f9
GS
120012011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12002
12003 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
12004 on NetBSD.
12005 * Makefile.util.def (grub-fstest): Likewise.
12006
1a7d7db9
GS
120072011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12008
12009 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
12010 Get sector size from disk label.
12011
2221ab6c
CW
120122011-09-05 Colin Watson <cjwatson@ubuntu.com>
12013
12014 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
12015 */README* as well as README*.
12016 Reported by: Axel Beckert.
12017
ca51c4a0
VS
120182011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12019
12020 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
12021 case of less than 256 MiB of RAM.
12022
ab80f326
VS
120232011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 * grub-core/commands/wildcard.c (make_regex): Handle @.
12026
4155e697
VS
120272011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12028
12029 * util/grub-install.in: Move cryptodisk logic to appropriate place.
12030
ab178c08
SJ
120312011-08-21 Szymon Janc <szymon@janc.net.pl>
12032
12033 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
12034 AC_LANG_CONFTEST macros.
12035
7dc3c686
SJ
120362011-08-20 Szymon Janc <szymon@janc.net.pl>
12037
12038 Add grub-fstest option to uncompress data for commands.
12039
12040 * util/grub-fstest.c (uncompress): New var.
12041 (options): New option -u.
12042
fe8d4a7b
SJ
120432011-08-20 Szymon Janc <szymon@janc.net.pl>
12044
12045 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
12046 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
12047
a5219af1
SJ
120482011-08-20 Szymon Janc <szymon@janc.net.pl>
12049
12050 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
12051 file type was not recognized correctly (not gzip or corrupted).
12052
f87abff5
VS
120532011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
12056 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
12057
d94497ea
VS
120582011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
12061 loongson.
12062 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12063 video_radeon_fuloong2e.
12064 * grub-core/video/radeon_fuloong2e.c: New file.
12065 * include/grub/video.h (grub_video_id_t): Add new ID
12066 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
12067
0d1fd011
VS
120682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
12071 define.
12072 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
12073 that PRID matches the detected subplatform and reset the subplatform
12074 if it doesn't.
12075
84beb0ee
VS
120762011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12077
12078 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
12079
1227c133
VS
120802011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 Fix PCI iterating on functions >= 4.
12083
12084 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
12085 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
12086 Removed.
12087 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
12088 (grub_pci_read): Fix bitmask.
12089 (grub_pci_read_word): Likewise.
12090 (grub_pci_read_byte): Likewise.
12091 (grub_pci_write): Likewise.
12092 (grub_pci_write_word): Likewise.
12093 (grub_pci_write_byte): Likewise.
12094
9594c689
VS
120952011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12096
12097 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
12098 can still be specified in TARGET_CFLAGS)
12099
14a2562c
VS
121002011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12101
12102 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
12103
12104 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
12105 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
12106 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
12107 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
12108 (FULOONG): Rename to ...
12109 (FULOONG2F): ... this. All users updated.
12110 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
12111 (machtype_fuloong2f_str): ... this.
12112 (machtype_fuloong2e_str): New string.
12113 Check for machtype_fuloong2e_str.
12114 * grub-core/loader/mips/linux.c (loongson_machtypes)
12115 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
12116 * grub-core/term/serial.c (loongson_defserial)
12117 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
12118 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
12119 loongson_defserial.
12120 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
12121 Rename to ...
12122 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
12123 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
12124 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
12125 to IMAGE_FULOONG2F_FLASH. All users updated.
12126 (image_targets): Rename images.
12127 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
12128
b526cbb6
SJ
121292011-08-19 Szymon Janc <szymon@janc.net.pl>
12130
12131 Make enable of disk cache statistics code configurable.
12132
12133 * configure.ac: --enable-cache-stats added.
12134 * config.h.in (DISK_CACHE_STATS): New define.
12135 * grub-core/Makefile.core.def (cacheinfo): New command.
12136 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
12137 * grub-core/commands/cacheinfo.c: New file.
12138 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
12139 moved to cacheinfo.c.
12140 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
12141 debug code.
12142 * include/grub/disk.h: Likewise.
12143
fb739ccd
SJ
121442011-08-19 Szymon Janc <szymon@janc.net.pl>
12145
12146 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
12147 * grub-core/Makefile.am: Likewise.
12148
2bba8cfd
VS
121492011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12150
12151 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
12152 non-zero pull.
12153
43526629
VS
121542011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12155
12156 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
12157 All users updated.
12158 (grub_jfs_lookup_symlink): Use correct starting inode.
12159
5c144cc8
VS
121602011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 * util/grub-setup.c (main): Add missing gcry initialisation.
12163
b1257f65
VS
121642011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12165
12166 Don't accept text modes on EFI when booting Linux.
12167
12168 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
12169 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
12170
828bc390
ML
121712011-08-15 Mario Limonciello <mario_limonciello@dell.com>
121722011-08-15 Colin Watson <cjwatson@ubuntu.com>
12173
12174 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
12175 use of "/path/.." as in grub-install for EFI as well as handling
12176 symlinks correctly.
12177 Fixes Debian bug #637768.
12178
5f60ccac
CW
121792011-08-15 Colin Watson <cjwatson@ubuntu.com>
12180
12181 * util/grub-probe.c: Remove duplicate #include.
12182
6dc212f9
RM
121832011-08-10 Robert Millan <rmh@gnu.org>
12184
12185 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
12186
12187 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
12188 function.
12189 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
12190 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
12191
66816d85
RM
121922011-08-03 Robert Millan <rmh@gnu.org>
12193
12194 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
12195 la_array as packed.
12196 Reported by: Zachary Bedell
12197
20168fca
CW
121982011-07-26 Colin Watson <cjwatson@ubuntu.com>
12199
12200 * configure.ac: The Loongson port requires grub-mkfont due to its
12201 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
12202 be built.
12203
303b6246
CW
122042011-07-26 Colin Watson <cjwatson@ubuntu.com>
12205
12206 * util/grub-install.in: Don't source grub-mkconfig_lib until after
12207 processing arguments (otherwise help2man fails when GRUB has not yet
12208 been installed).
12209
6795300e
VS
122102011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12211
41aa28ea
VS
12212 New script grub-mkstandalone.
12213
12214 * Makefile.util.def (grub-mkstandalone): New script.
12215 * docs/man/grub-mkstandalone.h2m: New file.
12216 * util/grub-mkstandalone.in: Likewise.
12217
122182011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12219
12220 Support ATA disks with 4K sectors.
6795300e
VS
12221
12222 * include/grub/ata.h (grub_ata): New member log_sector_size.
12223 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
12224 (grub_ata_identify): Read sector size.
12225 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
12226
92227597
VS
122272011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12228
12229 * util/grub-install.in: Don't use uhci outside of x86.
12230
c77069f5
VS
122312011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * util/grub-mkrescue.in: Add missing quotes.
12234
122352011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
12236
12237 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
12238 dereference.
12239
583168a2
VS
122402011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12241
12242 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
12243
6be1c01f
VS
122442011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12245
12246 * include/grub/video.h: add missing EXPORT_FUND on
12247 grub_video_edid_checksum and grub_video_edid_preferred_mode.
12248
a1167439
VS
122492011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * include/grub/mips/kernel.h: Fix define conflict.
12252
bf66054f
VS
122532011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12254
12255 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
12256 all four ways.
12257
8fc4fa45
CW
122582011-07-21 Colin Watson <cjwatson@ubuntu.com>
12259
12260 Preferred resolution detection for VBE.
12261
12262 * grub-core/video/video.c (grub_video_edid_checksum): New function.
12263 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
12264 the Flat Panel extension, in line with the X.org VESA driver.
12265 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
12266 New function.
12267 (grub_vbe_bios_get_ddc_capabilities): Likewise.
12268 (grub_vbe_bios_read_edid): Likewise.
12269 (grub_vbe_get_preferred_mode): Likewise.
12270 (grub_video_vbe_setup): When the mode is "auto", try to get the
12271 preferred mode from VBE, and use the largest mode that is no larger
12272 than the preferred mode (some BIOSes expose a preferred mode that is
12273 not in their mode list!). If this fails, fall back to 640x480 as a
12274 safe conservative choice.
12275 (grub_video_vbe_get_edid): New function.
12276 (grub_video_vbe_adapter): Add get_edid.
12277 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
12278 (struct grub_video_adapter): Add get_edid.
12279 (grub_video_edid_checksum): Add prototype.
12280 (grub_video_edid_preferred_mode): Likewise.
12281 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
12282 structure.
12283
12284 * grub-core/commands/videoinfo.c (print_edid): New function.
12285 (grub_cmd_videoinfo): Print EDID if available.
12286
12287 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
12288 is more appropriate on a wider range of platforms than 640x480.
12289 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
12290 documentation.
12291
ca5572a9
VS
122922011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
12295
e4bcf625
VS
122962011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12297
12298 * po/POTFILES.in: Regenerate.
12299
c4edd548
VS
123002011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
12303 incorrect memory usage.
12304
16a2bab0
VS
123052011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12306
12307 * util/grub-install.in: Source grub-mkconfig_lib.
12308
2e418de6
VS
123092011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 Remove getroot.c from core on emu platform.
12312
12313 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
12314 kern/emu/raid.c.
12315 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
12316 useless.
12317 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
12318 * util/getroot.c (get_win32_path): ... here.
12319 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
12320 * util/getroot.c (fini_libzfs): ... here.
12321 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
12322 * util/getroot.c (grub_get_libzfs_handle): ... here.
12323 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
12324 Moved from here...
12325 * util/getroot.c (grub_find_zpool_from_dir): ... here.
12326 * grub-core/kern/emu/misc.c
12327 (grub_make_system_path_relative_to_its_root): Moved from here...
12328 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
12329 * grub-core/kern/emu/getroot.c: Moved from here ...
12330 * util/getroot.c: ... here. All users updated.
12331 * grub-core/kern/emu/raid.c: Moved from here ...
12332 * util/raid.c: ... here. All users updated.
12333
def9832a
VS
123342011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
12335
12336 * po/POTFILES.in: Regenerate.
12337
cd8fe79a
VS
123382011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12339
12340 Fix compilation on GNU/Linux.
12341
12342 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
12343 Disable geli.
12344 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
12345 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
12346 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
12347
a251b719
VS
123482011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
123492011-07-07 Michael Gorven <michael@gorven.za.net>
123502011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
12351
12352 LUKS and GELI support.
12353
12354 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
12355 grub-core/disk/luks.c, grub-core/disk/geli.c,
12356 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
12357 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
12358 grub-core/lib/arg.c.
12359 (libgrubmods.a): Remove gcrypts cflags and cppflags.
12360 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
12361 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
12362 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
12363 (grub-bin2h): Add libgcry.a.
12364 (grub-mkimage): Likewise.
12365 (grub-mkrelpath): Likewise.
12366 (grub-script-check): Likewise.
12367 (grub-editenv): Likewise.
12368 (grub-mkpasswd-pbkdf2): Likewise.
12369 (grub-pe2elf): Likewise.
12370 (grub-fstest): Likewise.
12371 (grub-mkfont): Likewise.
12372 (grub-mkdevicemap): Likewise.
12373 (grub-probe): Likewise.
12374 (grub-ofpath): Likewise.
12375 (grub-mklayout): Likewise.
12376 (example_unit_test): Likewise.
12377 (grub-menulst2cfg): Likewise.
12378 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
12379 * grub-core/Makefile.core.def (cryptodisk): New module.
12380 (luks): Likewise.
12381 (geli): Likewise.
12382 * grub-core/disk/AFSplitter.c: New file.
12383 * grub-core/disk/cryptodisk.c: Likewise.
12384 * grub-core/disk/geli.c: Likewise.
12385 * grub-core/disk/luks.c: Likewise.
12386 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
12387 grub_util_is_lvm.
12388 (grub_util_get_dm_abstraction): New function.
12389 (grub_util_follow_gpart_up): Likewise.
12390 (grub_util_get_geom_abstraction): Likewise.
12391 (grub_util_get_dev_abstraction): Use new functions.
12392 (grub_util_pull_device): Pull GELI and LUKS.
12393 (grub_util_get_grub_dev): Handle LUKS and GELI.
12394 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
12395 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
12396 (follow_geom_up): Removed.
12397 (grub_util_fd_seek): New function.
12398 (open_device): Use grub_util_fd_seek.
12399 (nread): Rename to ..
12400 (grub_util_fd_read): ... this. All users updated.
12401 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
12402 (grub_crypto_cbc_decrypt): Likewise.
12403 (grub_crypto_hmac_write): Likewise.
12404 (grub_crypto_hmac_buffer): Likewise.
12405 (grub_password_get): Extend to util.
12406 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
12407 New member modname.
12408 (gcry_md_spec) [GRUB_UTIL]: Likewise.
12409 * include/grub/cryptodisk.h: New file.
12410 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
12411 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
12412 LUKS and GELI.
12413 (grub_util_follow_gpart_up): New proto.
12414 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
12415 (grub_util_fd_read): Likewise.
12416 (grub_cryptodisk_cheat_mount): Likewise.
12417 (grub_util_cryptodisk_print_uuid): Likewise.
12418 (grub_util_get_fd_sectors): Likewise.
12419 * util/grub-fstest.c (mount_crypt): New var.
12420 (fstest): Mount crypto if requested.
12421 (options): New option -C.
12422 (argp_parser): Parse -C.
12423 (main): Init and fini gcry.
12424 * util/grub-install.in: Support cryptodisk install.
12425 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
12426 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
12427 cryptodisk.
12428 (prepare_grub_to_access_device): Likewise.
12429 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
12430 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
12431 (probe_cryptodisk_uuid): New function.
12432 (probe_abstraction): Likewise.
12433 (probe): Use new functions.
12434 * util/import_gcry.py: Create Makefile.utilgcry.def.
12435 Add modname member.
12436
9bfdcbbc
VS
124372011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12438
12439 Lazy device scanning.
12440
12441 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
12442 (grub-setup): Remove util/raid.c.
12443 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
12444 * grub-core/disk/lvm.c (scan_depth): New variable.
12445 (grub_lvm_iterate): Rescan if necessary.
12446 (find_lv): New function based on grub_lvm_open.
12447 (grub_lvm_open): Use find_lv. Rescan on error.
12448 (is_node_readable): New function.
12449 (is_lv_readable): Likewise.
12450 (grub_lvm_scan_device): Skip already found disks.
12451 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
12452 Stop if searched device is found and readable.
12453 * grub-core/disk/raid.c (inscnt): New variable.
12454 (scan_depth): Likewise.
12455 (scan_devices): New function based on grub_raid_register. Abort if
12456 looked for device is found.
12457 (grub_raid_iterate): Rescan if needed.
12458 (find_array): NEw function based on -grub_raid_open.
12459 (grub_raid_open): Use find_array and rescan.
12460 (insert_array): Set became_readable_at.
12461 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
12462 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
12463 New function.
12464 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
12465 (grub_util_pull_device): New function.
12466 (grub_util_get_grub_dev): Call grub_util_pull_device.
12467 * util/raid.c: Moved to ..
12468 * grub-core/kern/emu/raid.c: ... here.
12469 (grub_util_raid_getmembers): New parameter "bootable".
12470 All users updated. Support 1.x.
12471 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
12472 All users updated.
12473 * include/grub/disk.h (grub_disk_pull_t): New enum.
12474 (grub_disk_dev): Change iterate prototype.
12475 All users updated.
12476 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
12477 New proto.
12478 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
12479 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
12480 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
12481 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
12482 All users updated.
12483 * include/grub/util/raid.h: Removed.
12484
1c358e59
VS
124852011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
12486
12487 * po/POTFILES.in: Regenerate.
12488
abee94ed
VS
124892011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 Unify sparc init with other ieee1275.
12492
12493 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
12494 instead of kern/sparc64/ieee1275/init.c.
12495 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
12496 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
12497 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
12498 grub/machine/kernel.h.
12499 (grub_ieee1275_original_stack) [__sparc__]: New variable.
12500 (grub_claim_heap) [__sparc__]: Use sparc version.
12501 (grub_machine_init): Moved args parsing to
12502 (grub_parse_cmdline): ...this.
12503 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
12504 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
12505 New definition.
12506 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
12507
12508 Move BOOTP to separate file.
12509
12510 * grub-core/Makefile.core.def (net): Add net/bootp.c.
12511 * grub-core/net/net.c: Move all BOOTP functions to
12512 * grub-core/net/bootp.c: ... here.
12513
12514 Use frame interface on PXE.
12515
12516 * grub-core/Makefile.core.def (pxecmd): Removed.
12517 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
12518 * grub-core/commands/i386/pc/pxecmd.c: Removed.
12519 * grub-core/i386/pc/pxe.c: Moved from here ...
12520 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
12521 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
12522 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
12523
12524 EFI network support.
12525
12526 * grub-core/Makefile.core.def (efinet): New module.
12527 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
12528 here...
12529 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
12530 All users updated.
12531 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
12532 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
12533 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
12534 * grub-core/net/drivers/efi/efinet.c: New file.
12535 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
12536 (grub_efi_net_config): New extern var.
12537
12538 Various cleanups and bugfixes.
12539
12540 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
12541 error.
12542 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
12543 disk declared as partition.
12544 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
12545 leak on failure.
12546 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
12547 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
12548 (grub_debug_zalloc): Likewise.
12549 (grub_debug_realloc): Likewise.
12550 (grub_debug_memalign): Likewise.
12551 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
12552 Check that target is IPv4.
12553 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
12554 local-mac-address as fallback.
12555 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
12556 memory leak.
12557 * grub-core/net/ip.c (ipchksum): Rename to ...
12558 (grub_net_ip_chksum): ... this. All users updated.
12559 (grub_net_recv_ip_packets): Special handling for DHCP.
12560 * util/grub-mkimage.c (generate_image): Zero-out aout header.
12561
12562 Unify prefix handling
12563
12564 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
12565 (grub_machine_get_bootlocation): ... this.
12566 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
12567 (grub_machine_get_bootlocation): ... this.
12568 (grub_prefix): New variable.
12569 (prefix): Removed.
12570 (root_dev): New variable.
12571 (dir): Likewise.
12572 (main): Use new variables.
12573 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
12574 Revamped into ...
12575 (grub_machine_get_bootlocation): ... this.
12576 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
12577 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
12578 (grub_machine_get_bootlocation): ... this.
12579 (grub_machine_set_prefix): Removed.
12580 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
12581 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
12582 Revamped into ...
12583 (grub_machine_get_bootlocation): ... this.
12584 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
12585 (grub_set_prefix_and_root): ... this. All users updated.
12586 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
12587 Revamped into ...
12588 (grub_machine_get_bootlocation): ... this.
12589 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
12590 (grub_machine_get_bootlocation): New proto.
12591 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
12592
12593 Less intrusive and more reliable seek on network implementation.
12594
12595 * grub-core/kern/file.c (grub_file_net_seek): Removed.
12596 (grub_file_seek): Don't call grub_file_net_seek.
12597 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
12598 (grub_net_fs_read_real): .. this.
12599 (grub_net_seek_real): Use net->offset.
12600 (grub_net_fs_read): Seek if necessary.
12601
12602 Unify IEEE1275 netwotk config with the other platforms.
12603
12604 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
12605 New variable.
12606 (grub_machine_get_bootlocation): Support network.
12607 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12608 Support type and device parsing.
12609 (grub_ieee1275_get_device_type): New function.
12610 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
12611 into ...
12612 (grub_ieee1275_net_config_real): ... this.
12613 (grub_ofnet_probecards): Removed.
12614 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
12615 * include/grub/ieee1275/ofnet.h: Removed.
12616 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
12617 extern var.
12618 (grub_ieee1275_get_device_type): New function.
12619
12620 Unify network device closing across platforms and make more robust.
12621
12622 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
12623 grub_grubnet_fini.
12624 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
12625 already.
12626 * grub-core/net/net.c (grub_net_network_level_interface_register):
12627 Update num_ifaces.
12628 (grub_net_card_unregister): Close all interfaces.
12629 (receive_packets): Don't poll if no iterfaces are registered.
12630 Open if necessary.
12631 (grub_net_fini_hw): New function.
12632 (grub_net_restore_hw): Likewise.
12633 (fini_hnd): New variable.
12634 (GRUB_MOD_INIT): Register preboot hook.
12635 (GRUB_MOD_FINI): Run and unregister preboot hook.
12636
12637 Poll network cards when idle.
12638
12639 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
12640 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
12641 * grub-core/net/net.c (receive_packets): Save last poll time.
12642 (grub_net_poll_cards_idle_real): New function.
12643 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
12644 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
12645 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
12646
12647 Rename ofnet interfaces.
12648
12649 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
12650 (grub_ofnet_findcards): Use ofnet_%s names.
12651
12652 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
12653
12654 Cleanup socket opening.
12655
12656 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
12657 (grub_net_fs_close): Likewise.
12658 (grub_net_fs_read_real): Use eof member.
12659 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
12660 (+grub_net_udp_close): New inline function.
12661
12662 * include/grub/net/tftp.h: Moved to the top of ...
12663 * grub-core/net/tftp.c: ... here.
12664 * include/grub/net/ip.h: Moved mostly to the top of ...
12665 * grub-core/net/ip.c: ... here.
12666 * include/grub/net/ethernet.h: Moved mostly to the top of ...
12667 * grub-core/net/ethernet.c: ... here.
12668
12669 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
12670
12671 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
12672 FS name.
12673
12674 * include/grub/net/ip.h (ipv4_ini): Removed.
12675 (ipv4_fini): Likewise.
12676
12677 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
12678 (grub_net_send_ip_packets): Likewise.
12679
cf1337aa
VS
126802011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12681
12682 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
12683 grub_read_cmos prototype.
12684
93c06ff9
VS
126852011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12686
12687 VGA text support in qemu-mips
12688
12689 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
12690 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
12691 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
12692 text.
12693 * grub-core/kern/i386/qemu/init.c: Renamed to ...
12694 * grub-core/kern/vga_init.c: ... this.
12695 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
12696 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
12697 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
12698 Adjust.
12699 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
12700 GRUB_MACHINE_PCI_IO_BASE.
12701
748ccabe
VS
127022011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12703
12704 MIPS qemu flash support.
12705
12706 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
12707 magic.
12708 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
12709 (grub_machine_init): Probe memory if its size isn't known.
12710 * util/grub-mkimage.c (image_targets): Add flash targets.
12711 (generate_image): Handle flash targets.
12712
d7345994
VS
127132011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 MIPS qemu at_keyboard support.
12716
12717 * gentpl.py (videoinkernel): Add qemu-mips.
12718 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
12719 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
12720 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
12721 modules.
12722 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
12723 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
12724 * grub-core/term/serial.c (grub_serial_register)
12725 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
12726
a07a81b3
VS
127272011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 CMOS support on sparc.
12730
12731 * gentpl.py (cmos): Add powerpc and sparc.
12732 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
12733 powerpc and sparc.
12734 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
12735 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
12736 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
12737 grub_set_datetime_cmos.
12738 * grub-core/lib/ieee1275/cmos.c: New file.
12739 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
12740 (find_rtc): Set no_ieee1275_rtc on error.
12741 (grub_get_datetime): Call grub_get_datetime_cmos on error.
12742 (grub_set_datetime): Call grub_set_datetime_cmos on error.
12743 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
12744 fail. Move value to argument. All users updated
12745 (grub_cmos_write): Likewise.
12746 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
12747 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
12748 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
12749 grub_get_datetime_cmos and grub_set_datetime_cmos.
12750
77546584
GS
127512011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
12752
12753 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
12754 sourcing grub-mkconfig_lib.
12755 * util/update-grub_lib.in: Likewise.
12756 * util/grub.d/00_header.in: Likewise.
12757 * util/grub.d/10_hurd.in: Likewise.
12758 * util/grub.d/10_kfreebsd.in: Likewise.
12759 * util/grub.d/10_linux.in: Likewise.
12760 * util/grub.d/10_netbsd.in: Likewise.
12761 * util/grub.d/10_windows.in: Likewise.
12762 * util/grub.d/20_linux_xen.in: Likewise.
12763 * util/grub.d/30_os-prober.in: Likewise.
12764
54894791
CW
127652011-06-28 Colin Watson <cjwatson@ubuntu.com>
12766
12767 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
12768 default_bg_color rather than black.
12769 (grub_gfxterm_fullscreen): Likewise.
12770 (grub_gfxterm_background_color_cmd): Save new background color in
12771 default_bg_color.
12772
8d5d8444
VS
127732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12774
12775 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
12776
5afeb5bd
VS
127772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
12780 mismerge.
12781
ba7df45e
VS
127822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12783
12784 Chainloading on coreboot support.
12785
12786 * grub-core/Makefile.core.def (chain): Add coreboot.
12787 * grub-core/loader/i386/coreboot/chainloader.c: New file.
12788
d0b526b2
VS
127892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12790
12791 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
12792 if it happens.
12793
5ff1d945
VS
127942011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12795
12796 Implement time command.
12797
12798 * grub-core/Makefile.core.def (time): New module.
12799 * grub-core/commands/time.c: New file.
12800 * grub-core/script/parser.y: Remove "time" keyword.
12801 * grub-core/script/yylex.l: Likewise.
12802
5ebaad7e
VS
128032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12804
12805 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
12806
bdea3798
VS
128072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12808
12809 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
12810 when handling leftovers.
12811
b28c5655
VS
128122011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
12815 so that help2man doesn't fail.
12816
b6f945dc
VS
128172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12818
12819 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
12820 type in pointers on sparc64.
12821 (get_card_packet): Likewise.
12822
f9b75e8a
CW
128232011-06-27 Colin Watson <cjwatson@ubuntu.com>
12824
12825 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
12826 with `*'.
12827 (grub_cmd_videoinfo): Fetch current video mode.
12828
1e3d9b86
VS
128292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
12832 because of underlying system restrictions.
12833
efff4b1c
VS
128342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12835
12836 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
12837 necessary.
12838
9fc9ce37
VS
128392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 Coreboot video support.
12842
12843 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
12844 (vbe): Likewise.
12845 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
12846 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
12847 here ...
12848 * grub-core/kern/i386/int.S: ... here.
12849 * grub-core/video/i386/pc/vbe.c: Updated includes.
12850 * grub-core/video/i386/pc/vga.c: Likewise.
12851 * include/grub/i386/coreboot/memory.h
12852 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
12853 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
12854 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
12855 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
12856 Disable interrupts.
12857 * include/grub/i386/pc/vga.h: Removed. All users updated.
12858
41bec7fe
VS
128592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12860
12861 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
12862 definitions for dprintf.
12863 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
12864
ca80309d
VS
128652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
12868 prototype.
12869 (get_card_packet): Likewise.
12870
9e322ce8
YB
128712011-06-26 Yves Blusseau <blusseau@zetam.org>
12872
12873 Display the path of the file when file is not found
12874
12875 * grub-core/fs/fat.c: Display the filename when file is not found.
12876 * grub-core/fs/fshelp.c: Likewise.
12877 * grub-core/fs/hfs.c: Likewise.
12878 * grub-core/fs/jfs.c: Likewise.
12879 * grub-core/fs/minix.c: Likewise.
12880 * grub-core/fs/ufs.c: Likewise.
12881 * grub-core/fs/btrfs.c: Likewise.
12882 * grub-core/commands/i386/pc/play.c: Likewise.
12883
cbf597af
SJ
128842011-06-26 Szymon Janc <szymon@janc.net.pl>
12885
12886 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
12887 pointer checks before calling grub_free().
12888 * grub-core/commands/wildcard.c (match_devices): Likewise.
12889 * grub-core/commands/wildcard.c (match_files): Likewise.
12890 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
12891 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
12892 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
12893 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
12894 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
12895 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
12896 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
12897 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
12898 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
12899
6295b32f
P
129002011-06-25 Patrick <p55@mailinator.com>
12901
12902 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
12903
77c0840b
VS
129042011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
12905
12906 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
12907 (grub_pxe_send): Likewise.
12908 (GRUB_MOD_INIT): Fix types.
12909
40ea05de
SJ
129102011-06-24 Szymon Janc <szymon@janc.net.pl>
12911
12912 * grub-core/io/xzio.c: Fix code style issues
12913
90162423
MRA
129142011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
129152011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
12916
12917 Network infrastructure.
12918 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
12919
12920 * include/grub/net/arp.h: New file.
90162423
MRA
12921 * include/grub/net/device.h: Likewise.
12922 * include/grub/net/ethernet.h: Likewise.
12923 * include/grub/net/ip.h: Likewise.
12924 * include/grub/net/netbuff.h: Likewise.
12925 * include/grub/net/tftp.h: Likewise.
12926 * include/grub/net/udp.h: Likewise.
12927 * include/grub/ieee1275/ofnet.h: Likewise.
12928 * include/grub/emu/export.h: Likewise.
12929 * include/grub/net.h: Likewise.
12930 * grub-core/net/arp.c: Likewise.
12931 * grub-core/net/ethernet.c: Likewise.
12932 * grub-core/net/ip.c: Likewise.
12933 * grub-core/net/udp.c: Likewise.
12934 * grub-core/net/tftp.c: Likewise.
12935 * grub-core/net/netbuff.c: Likewise.
12936 * grub-core/net/net.c: Likewise.
12937 * grub-core/net/drivers/emu/emunet.c: Likewise.
12938 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
12939 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
12940 export.h.
12941 * grub-core/Makefile.core.def (net): New module.
12942 (tftp): Likewise.
12943 (ofnet): Likewise.
12944 (emunet): Likewise.
12945 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
12946 network protocols.
12947 * grub-core/kern/device.c (grub_net_open) : New variable.
12948 (grub_device_open): Handle network device.
12949 (grub_device_close): Likewise.
12950 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
12951 (grub_grubnet_fini): Likewise.
12952 (grub_file_seek): Seek in network device.
12953 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
12954 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
12955 network root.
12956 (grub_machine_fini): Call grub_grubnet_fini.
12957 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
12958 network.
12959 (grub_ieee1275_get_aliasdevname): New function.
12960 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12961 Add unofficial Solaris network info.
12962 (grub_multiboot_make_mbi): Likewise.
12963 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
12964 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
12965 * include/grub/device.h (grub_fs): Removed.
12966 * include/grub/err.h (grub_err_t): Add network-related values.
12967 * include/grub/i386/pc/pxe.h: Removed bootp parts.
12968 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
12969 (grub_ieee1275_get_aliasdevname): New proto.
12970 * include/grub/net.h: Rewritten.
423a1849 12971
031f22a0
VS
129722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12973
12974 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
12975 names.
12976
4388ca72
VS
129772011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12978
12979 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
12980 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
12981 it truncates the output.
12982 Reported by: Ximin Luo.
12983
98e2f506
VS
129842011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
12987
2a5e94d8
VS
129882011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
12991 partmap before abstraction.
12992
535c1910
AK
129932011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
12994
12995 * util/grub-mkconfig_lib.in: Add missing quotes.
12996
bc09e1a2
VS
129972011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
13000 old method if mountinfo would return /dev/root and /dev/root doesn't
13001 exist.
13002
290766fb
VS
130032011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13004
13005 ZFS zlib support
13006
13007 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
13008 (decomp_table): Add zlib entries.
13009 (zio_read): USe 8 bits for compression function rather than 3.
13010 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
13011
130122011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13013
13014 * grub-core/disk/ahci.c: Add missing license statements.
13015 * grub-core/fs/romfs.c: Likewise.
13016 * grub-core/lib/ia64/setjmp.S: Likewise.
13017 * grub-core/loader/i386/pc/freedos.c: Likewise.
13018 * grub-core/loader/ia64/efi/linux.c: Likewise.
13019 * grub-core/video/colors.c: Likewise.
13020 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
13021
5ab3f48a
VS
130222011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13023
13024 AHCI support.
13025
13026 * grub-core/Makefile.core.def (ata_pthru): Removed.
13027 (ahci): New module.
13028 (pata): Likewise.
13029 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
13030 on unload.
13031 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
13032 readwrite.
13033 (grub_hdparm_do_check_powermode_cmd): Likewise.
13034 (grub_hdparm_do_smart_cmd): Likewise.
13035 (grub_hdparm_set_val_cmd): Likewise.
13036 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
13037 * grub-core/disk/ahci.c: New file.
13038 * grub-core/disk/ata.c: Factor out the low-level part into ...
13039 * grub-core/disk/pata.c: ... here.
13040 * grub-core/disk/ata_pthru.c: Contents moved to ...
13041 * grub-core/disk/pata.c: ... here.
13042 * grub-core/disk/scsi.c (grub_scsi_names): New array.
13043 (grub_scsi_iterate): Use grub_scsi_names.
13044 (grub_scsi_open): Likewise.
13045 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
13046 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
13047 (grub_ata_regs_t): New struct.
13048 (grub_disk_ata_pass_through_parms): Likewise.
13049 (grub_ata_device): Renamed to ...
13050 (grub_ata): ... this.
13051 (grub_ata_dev): New struct.
13052 Removed all low-level inline functions.
13053 * include/grub/scsi.h: Add PATA and AHCI subsystems.
13054 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
13055 iterate hooks and open. All users updated.
13056 * util/grub-install.in: Handle AHCI disk module.
13057
c31dc5f5
SJ
130582011-06-23 Szymon Janc <szymon@janc.net.pl>
13059
13060 Add support for DRI and RSTn markers in JPEG files.
13061
13062 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
13063 (JPEG_MARKER_RST0): Likewise.
13064 (JPEG_MARKER_RST1): Likewise.
13065 (JPEG_MARKER_RST2): Likewise.
13066 (JPEG_MARKER_RST3): Likewise.
13067 (JPEG_MARKER_RST4): Likewise.
13068 (JPEG_MARKER_RST5): Likewise.
13069 (JPEG_MARKER_RST6): Likewise.
13070 (JPEG_MARKER_RST7): Likewise.
13071 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
13072 (grub_jpeg_decode_dri): New function.
13073 (grub_jpeg_decode_sos): Move image data related part into
13074 grub_jpeg_decode_data function.
13075 (grub_jpeg_decode_data): New function.
13076 (grub_jpeg_reset): New function.
13077 (grub_jpeg_decode_jpeg): Handle new markers.
13078
fe12fd5b
VS
130792011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 * util/ieee1275/ofpath.c (check_sas): Close fd.
13082 (main): Free of_path.
13083 Reported by: David Volgyes <dvolgyes>.
13084
03147f46
VS
130852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13086
13087 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
13088 Reported by: David Volgyes <dvolgyes>.
13089
cad3237f
VS
130902011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
13093 file after stat.
13094 Reported by: David Volgyes <dvolgyes>.
13095
13548d26
VS
130962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13097
13098 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
13099
13100 Reported by: David Volgyes <dvolgyes>.
13101
e061a1b5
VS
131022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
13105 Prevent memory leak.
13106
1abe47dc
VS
131072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
13110 (main): Close file.
e061a1b5 13111 Reported by: David Volgyes <dvolgyes>.
1abe47dc 13112
fbc62666
VS
131132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13114
13115 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
13116 to continue if allocation is failed.
13117
13118 Reported by: David Volgyes <dvolgyes>.
13119
e98c83e9
DV
131202011-06-23 David Volgyes <dvolgyes>
13121
13122 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
13123 dereference.
13124
a199a8cd
VS
131252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13126
13127 Fix spurious warning.
13128
13129 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
13130 (acorn_partition_map_find): Use .bin member.
13131
e2d1dba0
VS
131322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13133
13134 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
13135 /dev/root as a valid device.
13136
8a5d6919
JM
131372011-06-23 Jim Meyering <meyering@redhat.com>
13138
e2d1dba0
VS
13139 Avoid NULL deref in grub_device_open.
13140
8a5d6919
JM
13141 * grub-core/kern/device.c (grub_device_open): Don't dereference
13142 a NULL pointer upon failed grub_env_get.
13143
f7db6f4a
VS
131442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13145
13146 Support non-512B sectors and agglomerate reads.
13147
13148 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
13149 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
13150 (disk_io_guid): Removed.
13151 (make_devices): Locate solely by BlockIO.
13152 (grub_efidisk_open): Fill log_sector_size and total_sectors.
13153 (grub_efidisk_read): Use read_blocks.
13154 (grub_efidisk_write): Use write_blocks.
13155 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
13156 log_sector_size.
13157 (get_safe_sectors): Handle non-512B sectors.
13158 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
13159 sectors.
13160 (grub_biosdisk_write): Handle non-512B sectors.
13161 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
13162 (grub_scsi_read): Remove special non-512B block handling (now handled
13163 one level up).
13164 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
13165 and do sanity checks.
13166 (grub_disk_adjust_range): Handle non-512B sectors.
13167 (transform_sector): New function.
13168 (grub_disk_read_small): Likewise.
13169 (grub_disk_read): Rewritten.
13170 (grub_disk_write): Handle non-512B sectors.
13171 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
13172 log_sector_size.
13173 (open_device): Use log_sector_size.
13174 (grub_util_biosdisk_read): Likewise.
13175 (grub_util_biosdisk_write): Likewise.
13176 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
13177 non-512B sectors.
13178 (pc_partition_map_embed): Likewise.
13179 * include/grub/disk.h (grub_disk): New field log_sector_size.
13180 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
13181 (GRUB_DISK_CACHE_BITS): Increased to 6.
13182 * util/grub-fstest.c (fstest): New command testload.
13183 (argp_parser): Likewise.
13184
881ac815
RM
131852011-06-16 Robert Millan <rmh@gnu.org>
13186
13187 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
13188 `ata' driver on kernel of FreeBSD 9.
13189
13190 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
13191 (get_ataraid_disk_name): New functions.
13192 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
13193 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
13194 get_ataraid_disk_name() and get_ada_disk_name().
13195
1e9aef7d
CW
131962011-06-13 Colin Watson <cjwatson@ubuntu.com>
13197
13198 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
13199 input format.
13200
351c7c8a
CW
132012011-05-29 Colin Watson <cjwatson@ubuntu.com>
13202
13203 * docs/grub.texi (Obtaining and Building GRUB): Substitute
13204 `ftp.gnu.org' for `alpha.gnu.org'.
13205
6b4e6430
CW
132062011-05-27 Colin Watson <cjwatson@ubuntu.com>
13207
13208 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
13209 partitions under /dev/disk/by-id/.
13210
c64db050
CW
132112011-05-27 Colin Watson <cjwatson@ubuntu.com>
13212
13213 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
13214 after ten consecutive open failures. Scanning all the way up to
13215 10000 is excessive and can cause serious performance problems in
13216 some configurations.
13217 Fixes Ubuntu bug #787461.
13218
245f4aba
VS
132192011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13220
13221 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
13222 opening new one.
13223
f767c929
VS
132242011-05-21 Colin Watson <cjwatson@ubuntu.com>
132252011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13226
13227 Don't stat devices unless we have to.
13228
13229 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
13230 dir == /dev/mapper.
13231 (grub_guess_root_device): Use already known os_dev if possible.
13232 * grub-core/kern/emu/hostdisk.c
13233 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
13234 if device is known to be a dm one.
13235
f35fa3a6
CW
132362011-05-20 Colin Watson <cjwatson@ubuntu.com>
13237
13238 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
13239 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
13240 Reported by: Pawel Tecza.
13241
9a79fcf2
VS
132422011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
13243
13244 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
13245 (lsefisystab): Likewise.
13246 (lssal): Likewise.
13247 (lsefimmap): Likewise.
13248 (hdparm): Enable on qemu-mips.
13249 (setjmp): Add ia64 nodist.
13250 (serial): Simplify tags.
13251
63e3eea9
CW
132522011-05-18 Colin Watson <cjwatson@ubuntu.com>
13253
13254 * Makefile.util.def (grub-ofpathname): Install manual page.
13255
09728256
CW
132562011-05-18 Colin Watson <cjwatson@ubuntu.com>
13257
13258 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
13259
8b63a142
CW
132602011-05-18 Colin Watson <cjwatson@ubuntu.com>
13261
13262 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
13263
e775d8ed
VS
132642011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
13267 into dprintf.
13268
bf947d36
VS
132692011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13270
13271 Use full 64-bit division.
13272
13273 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
13274 (grub_divmod64): ... this.
13275 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
13276 version.
13277
b84f26c5
CW
132782011-05-18 Colin Watson <cjwatson@ubuntu.com>
13279
13280 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
13281 `source'.
13282
5626056f
CW
132832011-05-18 Colin Watson <cjwatson@ubuntu.com>
13284
13285 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
13286 to avoid accidents when debugging with 'sh -x'.
13287 * grub-core/gensyminfo.sh.in: Likewise.
13288 * tests/example_scripted_test.in: Likewise.
13289 * tests/grub_cmd_regexp.in: Likewise.
13290 * tests/grub_script_blanklines.in: Likewise.
13291 * tests/grub_script_dollar.in: Likewise.
13292 * tests/grub_script_expansion.in: Likewise.
13293 * tests/grub_script_final_semicolon.in: Likewise.
13294 * tests/partmap_test.in: Likewise.
13295 * tests/util/grub-shell-tester.in: Likewise.
13296 * tests/util/grub-shell.in: Likewise.
13297
e2965f4a
CW
132982011-05-18 Colin Watson <cjwatson@ubuntu.com>
13299
13300 Move gfxmenu color handling to video, so that gfxterm can use it
13301 too.
13302
13303 * grub-core/gfxmenu/named_colors.c: Move to ...
13304 * grub-core/video/colors.c: ... here. Rename
13305 grub_gui_get_named_color to grub_video_get_named_color.
13306 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
13307 * grub-core/video/colors.c (my_isxdigit): ... here.
13308 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
13309 Move to ...
13310 * grub-core/video/colors.c (parse_hex_color_component): ... here.
13311 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
13312 to ...
13313 * grub-core/video/colors.c (grub_video_parse_color): ... here.
13314
13315 * include/grub/gui.h (grub_gui_color_t): Move to ...
13316 * include/grub/video.h (grub_video_rgba_color_t): ... here.
13317 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
13318 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
13319 * include/grub/gui.h (grub_gui_map_color): Move to ...
13320 * include/grub/video.h (grub_video_map_rgba_color): ... here.
13321 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
13322 to ...
13323 * include/grub/video.h (grub_video_get_named_color): ... here.
13324 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
13325 * include/grub/video.h (grub_video_parse_color): ... here.
13326
13327 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
13328 video/colors.c.
13329 (gfxmenu): Remove gfxmenu/named_colors.c.
13330 (video) [videomodules]: Add video/colors.c.
13331
13332 Add a background_color command.
13333
13334 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
13335 function.
13336 (GRUB_MOD_INIT): Register background_color command.
13337 (GRUB_MOD_FINI): Unregister background_color command.
13338 (redraw_screen_rect): Allow blend/replace of text layer to be
13339 controlled independently from whether there is a background bitmap.
13340 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
13341 changing bitmap.
13342
1e4b4390
VS
133432011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13344
26618ff0
VS
13345 Patch BPB in ntldr and chainloader --bpb.
13346
1e4b4390
VS
13347 * grub-core/fs/fat.c: Include grub/fat.h.
13348 (grub_fat_bpb): Moved to ...
13349 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
13350 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
13351 grub/ntfs.h.
13352 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
13353 Moved from here...
13354 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
13355 here.
13356 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
13357 New function.
13358 (grub_chainloader_cmd): Patch BPB if --bpb is given.
13359 (GRUB_MOD_INIT): Show --bpb.
13360 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
13361 * grub-core/normal/main.c (features): New variable.
13362 (GRUB_MOD_INIT): Set feature_* variables.
13363 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
13364 proto.
13365 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
13366
cf02731e
VS
133672011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13368
13369 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
13370 for cleanness.
13371
e3a1073f
VS
133722011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13373
13374 FreeDOS direct loading support.
13375
13376 * docs/grub.texi (Supported OS): Add FreeDOS.
13377 * grub-core/Makefile.core.def (freedos): New module.
13378 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
13379 variable.
13380 (grub_relocator16_boot): Handle %ebx.
13381 * grub-core/lib/i386/relocator16.S: Likewise.
13382 * grub-core/loader/i386/pc/freedos.c: New file.
13383
05caa461
VS
133842011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 Long Linux command line support.
13387
13388 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
13389 (maximal_cmdline_size): New variable.
13390 (allocate_pages): Use maximal_cmdline_size.
13391 (grub_cmd_linux): Set and use maximal_cmdline_size.
13392 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
13393 (allocate_pages): Use maximal_cmdline_size.
13394 (grub_cmd_linux): Set and use maximal_cmdline_size.
13395 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
13396 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
13397 and cmdline_size.
13398
a2491e23
VS
133992011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
134002011-05-18 Colin Watson <cjwatson@ubuntu.com>
13401
13402 Improve devmapper support
13403
13404 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
13405 (grub_util_is_lvm): New function.
13406 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
13407 than lvm if not dmraid.
13408 Handle mapped md nodes.
13409 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
13410 (grub_util_device_is_mapped): ... this. Make always available. All users
13411 updated.
13412 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
13413 (convert_system_partition_to_system_disk): Handle lvm, mpath and
13414 dmraid nodes.
13415 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
13416
6ad6223e
VS
134172011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
13420
13421 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
13422 * grub-core/modinfo.sh.in: New file.
13423 * grub-core/Makefile.core.def (modinfo.sh): New script.
13424 * util/grub-mknetdir.in: Use modinfo.sh.
13425 * util/grub-mkrescue.in: Likewise.
13426
543a8f6e
VS
134272011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
13430 Fix potential usage of Elf32 instead of Elf64 when compiling on
13431 32-bit architecture. Add endianness macros while on it.
13432
4959e111
VS
134332011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13434
13435 Use mipsel- rather than mips- in directories involving mipsel ports to
13436 allow both endiannesses coexist.
13437
13438 * configure.ac: proparate target_cpu=mipsel rather than resetting to
13439 mips. All conditions adjusted.
13440 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
13441 variable.
13442 * util/grub-install.in: Adjust conditions to take renaming into account.
13443 * util/grub-mkimage.c (image_targets): Likewise. New target
13444 mips-qemu_mips-elf for bigendian mips.
13445
35341bbc
VS
134462011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13447
13448 Avoid unnecessary copying on MIPS.
13449
13450 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
13451 early if src == dest.
13452 * util/grub-mkimage.c (generate_image): Arange for src == dest if
13453 compression is none.
13454
b772baed
VS
134552011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13456
13457 Reduce memory footprint on SGI by putting modules before the kernel
13458 as opposed to after.
13459
13460 * grub-core/Makefile.core.def (kernel): Increase linking address.
13461 (none_decompress): Likewise.
13462 (xz_decompress): Likewise.
13463 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
13464 address.
13465 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
13466 layout change.
13467 (grub_arch_modules_addr): New function.
13468 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
13469 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
13470 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
13471 here.
13472 * grub-core/kern/mips/startup.S (total_size): Rename to ...
13473 (grub_total_modules_size): ... this. Make global.
13474 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
13475 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
13476 New definition.
13477 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
13478 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
13479 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
13480 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
13481 * util/grub-mkimage.c (image_target_desc): New flag
13482 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
13483 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
13484 (generate_image): Handle images with modules before kernel.
13485
566a1917
VS
134862011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 Prevent potential loss of memory map by overwrite on qemu-mips.
13489
13490 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
13491 Save ram size in $s4.
13492 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
13493 All users changed to grub_arch_memsize.
13494 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
13495 Loongson.
13496 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
13497 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
13498 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
13499 external variable.
13500
5d420cd9
CW
135012011-05-17 Colin Watson <cjwatson@ubuntu.com>
13502
13503 * .bzrignore: Remove grub-dumpbios.
13504
d064b830
CW
135052011-05-17 Colin Watson <cjwatson@ubuntu.com>
13506
13507 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
13508 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
13509 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
13510 existing options which append).
13511 * docs/grub.texi (Simple configuration): Document new options.
13512 Reported by: Ian Jackson. Fixes Debian bug #617538.
13513
3ca2b466
CW
135142011-05-17 Colin Watson <cjwatson@ubuntu.com>
13515
13516 * util/grub-fstest.c (cmd_cat): New function.
13517 (fstest): Handle CMD_CAT.
13518 (options): Add cat.
13519 (argp_parser): Handle cat.
13520
24c9143a
CW
135212011-05-17 Colin Watson <cjwatson@ubuntu.com>
13522
13523 * Makefile.util.def (grub-bin2h): Don't install.
13524 * docs/man/grub-bin2h.h2m: Remove.
13525
90f7ac19
VS
135262011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13527
13528 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
13529 place.
13530
8d4a5178
VS
135312011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13532
13533 Reenable qemu-mips port.
13534
13535 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
13536 Fix small arc bug while on it.
13537 * gentpl.py: Handle qemu_mips.
13538 * grub-core/Makefile.am: Likewise.
13539 * grub-core/Makefile.core.def: Likewise.
13540 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
13541 inappropriate includes.
13542 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
13543 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
13544 * grub-core/kern/main.c (grub_modules_get_end)
13545 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
13546 * grub-core/kern/mips/qemu-mips: Moved to ..
13547 * grub-core/kern/mips/qemu_mips: ... this.
13548 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
13549 (grub_machine_init): Call terminfo_init and serial_init.
13550 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
13551 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
13552 New variable.
13553 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
13554 parameter passing.
13555 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
13556 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
13557 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
13558 * include/grub/mips/qemu_mips/cmos.h: New file.
13559 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
13560 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
13561 Removed.
13562 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
13563 Use correct mips-style address.
13564 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
13565 (GRUB_TICKS_PER_SECOND): Removed.
13566 (grub_get_rtc): Likewise.
13567 (grub_cpu_idle): Likewise.
13568 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
13569 New definition.
13570 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
13571 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
13572 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
13573 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
13574 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13575 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13576 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
13577 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
13578
400b9371
VS
135792011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13580
13581 SGI ARCS port.
13582
13583 * Makefile.util.def (libgrubmods.a): Add dvh.c.
13584 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
13585 platforms.
13586 * configure.ac: New target mips-arc.
13587 * gentpl.py: Likewise.
13588 * grub-core/Makefile.am: Likewise.
13589 * grub-core/Makefile.core.def: Likewise.
13590 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
13591 (none_decompress): Likewise.
13592 (lsdev): New module.
13593 (datetime): Use lib/arc/datetime.c on ARC.
13594 (part_dvh): New module.
13595 * grub-core/commands/arc/lsdev.c: New file.
13596 * grub-core/disk/arc/arcdisk.c: Likewise.
13597 * grub-core/kern/mips/arc/init.c: Likewise.
13598 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
13599 aligned addresses.
13600 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
13601 support.
13602 (grub_arch_dl_relocate_symbols): Likewise.
13603 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
13604 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
13605 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
13606 platforms.
13607 * grub-core/lib/arc/datetime.c: New file.
13608 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
13609 pci.h on non-loongson.
13610 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
13611 (grub_linux_boot): Set unused registers to 0.
13612 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
13613 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
13614 * grub-core/mmap/mips/uppermem.c: ...here.
13615 * grub-core/partmap/dvh.c: New file.
13616 * grub-core/term/arc/console.c: Likewise.
13617 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
13618 (grub_terminfo_set_current): Add terminal "arc".
13619 (grub_terminfo_readkey): Support ARC sequences.
13620 * include/grub/arc/arc.h: New file.
13621 * include/grub/arc/console.h: Likewise.
13622 * include/grub/disk.h (grub_disk_dev_id): Add
13623 GRUB_DISK_DEVICE_ARCDISK_ID.
13624 * include/grub/mips/arc/kernel.h: New file.
13625 * include/grub/mips/arc/memory.h: Likewise.
13626 * include/grub/mips/arc/time.h: Likewise.
13627 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
13628 * include/grub/mips/kernel.h (grub_halt): ... here.
13629 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
13630 here...
13631 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
13632 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
13633 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
13634 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
13635 proto.
13636 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
13637 from here ...
13638 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
13639 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
13640 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
13641 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
13642 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
13643 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
13644 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
13645 (grub_phys_addr_t): Moved from here ...
13646 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
13647 (grub_vtop): Moved from here ...
13648 * include/grub/mips/memory.h (grub_vtop): ... here.
13649 (grub_map_memory): Moved from here ...
13650 * include/grub/mips/memory.h (grub_map_memory): ... here.
13651 (grub_unmap_memory): Moved from here ...
13652 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
13653 (grub_machine_mmap_iterate): Moved from here ...
13654 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
13655 (grub_mmap_get_lower): Moved from here ...
13656 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
13657 (grub_mmap_get_upper): Moved from here ...
13658 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
13659 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
13660 here ...
13661 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
13662 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
13663 here ...
13664 * include/grub/mips/time.h (grub_get_rtc): ... here.
13665 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
13666 here ...
13667 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
13668 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
13669 here ...
13670 * include/grub/mips/time.h (grub_cpu_idle): ... here.
13671 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
13672 definition.
13673 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
13674 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
13675 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
13676 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
13677 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13678 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13679 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
13680 (GRUB_MACHINE_LINK_ADDR): Likewise.
13681 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
13682 to 6.
13683 * util/grub-install.in: Run dvhtool on ARC.
13684 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 13685 (generate_image): Handle ECOFF output for mips-arc.
400b9371 13686
c8ecc840
VS
136872011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
13690 blocks.
13691
153a4b55
VS
136922011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13693
13694 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
13695 after enabling port.
13696
ff44d107
VS
136972011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13698
13699 Skip incorrect USB devices.
13700
13701 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
13702 configcnt == 0.
13703 * include/grub/usb.h (grub_usb_err_t): New enum value
13704 GRUB_USB_ERR_BADDEVICE.
13705
638dbe4f
VS
137062011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13707
13708 Fuloong video init support.
13709
13710 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
13711 well.
13712 (grub_vga_read_arx): New function.
13713 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
13714 definition.
13715 (framebuffer): New members io, mmioptr and mmiobase.
13716 (read_sis_cmd): New function.
13717 (write_sis_cmd): Likewise.
13718 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
13719 rather than 640x400.
13720 * grub-core/video/sis315_init.c: New file.
13721
c3fc520c
VS
137222011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13723
13724 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
13725 non-loongson.
13726 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
13727 to grub_dl_register_symbol.
13728
67b1e5c9
VS
137292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13730
13731 Fix compilation errors.
13732
13733 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
13734 potentially unused.
13735 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
13736 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
13737 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
13738 to loongson machines.
13739
b756f75f
VS
137402011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 Several FS mtime support.
13743
13744 * grub-core/fs/affs.c (grub_affs_time): New struct.
13745 (grub_affs_file): New field mtime.
13746 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
13747 type. Removed 'size'. New field 'di'. All users updated.
13748 (grub_affs_mount): Simplify checsum checking.
13749 (grub_affs_iterate_dir): New helper grub_affs_create_node.
13750 (grub_affs_dir): Handle mtime.
13751 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
13752 (grub_cpio_dir): Likewise.
13753 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
13754 (grub_hfs_filerec): New field mtime.
13755 (grub_hfs_dir): Handle mtime.
13756 (grub_hfs_mtime): New function.
13757 (grub_hfs_fs): Register grub_hfs_mtime.
13758 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
13759 (grub_iso9660_dir): New field mtime.
13760 (grub_fshelp_node): New field dirent.
13761 (iso9660_to_unixtime): New function.
13762 (iso9660_to_unixtime2): Likewise.
13763 (grub_iso9660_read_symlink): Use node->dirent.
13764 (grub_iso9660_iterate_dir): Likewise.
13765 (grub_iso9660_dir): Set mtime.
13766 (grub_iso9660_mtime): New function.
13767 (grub_iso9660_fs): Register grub_iso9660_mtime.
13768 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
13769 (grub_jfs_inode): New fields atime, ctime and mtime.
13770 (grub_jfs_dir): Set mtime.
13771 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13772 * grub-core/fs/ntfs.c (list_file): Set mtime.
13773 (grub_ntfs_dir): Likewise.
13774 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
13775 (grub_reiserfs_iterate_dir): Set mtime.
13776 (grub_reiserfs_dir): Likewise.
13777 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
13778 (grub_fshelp_node): Likewise.
13779 (grub_sfs_iterate_dir): Set mtime.
13780 (grub_sfs_dir): Likewise.
13781 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
13782 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
13783 (grub_xfs_inode): New fields atime, mtime, ctime.
13784 (grub_xfs_dir): Set mtime.
13785 * include/grub/datetime.h (grub_datetime2unixtime): New function.
13786 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
13787 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
13788
13789 Support UDF symlinks.
13790
13791 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
13792 (grub_ufs_read_symlink): New function. All users updated.
13793
13794 Check amiga partmap checksum.
13795
13796 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
13797 (grub_amiga_partition): Likewise.
13798 (amiga_partition_map_checksum): New function.
13799 (amiga_partition_map_iterate): Check checksum.
13800
5470225d
VS
138012011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 ROMFS support.
13804
13805 * Makefile.util.def (libgrubmods.a): Add romfs.
13806 * grub-core/Makefile.core.def (romfs): New module.
13807 * grub-core/fs/romfs.c: New file.
13808
d4680a35
VS
138092011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13810
13811 Squashfs v4 support.
13812
13813 * Makefile.util.def (libgrubmods.a): Add squash4.
13814 * grub-core/Makefile.core.def (squash4): New module.
13815 * grub-core/fs/squash4.c: New file.
13816 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
13817 disk_input_start, disk_input.
13818 (get_byte): Handle disk_input.
13819 (grub_zlib_disk_read): New function.
13820 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
13821
bcb18e74
FZ
138222011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
138232011-05-15 Feiran Zheng <famcool@gmail.com>
13824
13825 * Makefile.util.def (libgrubmods.a): Add minix3.
13826 * grub-core/Makefile.core.def (minix3): New module.
13827 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
13828 (GRUB_MINIX_BSIZE): Removed.
13829 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
13830 (grub_minix_ino_t): New type.
13831 (grub_minix_le_to_cpu_ino): New macro.
13832 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
13833 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
13834 (grub_minix_data): New field block_size.
13835 (grub_minix_read_file): Handle 64-bit correctly.
13836 * grub-core/fs/minix3.c: New file.
13837
32297d5f
TG
138382011-05-15 Tristan Gingold <gingold@free.fr>
138392011-05-15 Robert Millan <rmh.grub@aybabtu.com>
138402011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13841
13842 IA64 support.
13843
13844 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
13845 * configure.ac: Add ia64-efi target.
13846 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
13847 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
13848 * gentpl.py: Add ia64_efi platform.
13849 Rename x86_efi to efi and Add ia64-efi. All users updated.
13850 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
13851 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
13852 Remove kern/generic/rtc_get_time_ms.c on EFI.
13853 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
13854 kern/ia64/dl_helper.c on ia64-efi.
13855 Add kern/emu/cache.c on emu.
13856 (linux): Use on loader/ia64/efi/linux.c on ia64.
13857 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
13858 whether symbol is a function.
13859 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
13860 (grub_symbol): New field 'isfunc'.
13861 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
13862 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
13863 (grub_dl_load_segments): Place all sections into the same region.
13864 [__ia64__]: Create trampolines and got.
13865 [GRUB_MACHINE_EMU]: Call mprotect.
13866 (grub_dl_resolve_symbols): Resolve symbol type as well.
13867 [__ia64__]: Create function descriptors.
13868 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
13869 (grub_rtc_get_time_ms): ... this. Expressions simplified.
13870 (grub_get_rtc): New function.
13871 * grub-core/kern/emu/cache.c [__ia64__]: New file.
13872 * grub-core/kern/emu/cache.S: Renamed to ...
13873 * grub-core/kern/emu/cache_s.S: ... this.
13874 [__ia64__]: Add a nop.
13875 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
13876 [__ia64__]: New function.
13877 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
13878 * grub-core/kern/ia64/dl.c: New file.
13879 * grub-core/kern/ia64/dl_helper.c: Likewise.
13880 * grub-core/kern/ia64/efi/init.c: New file.
13881 * grub-core/kern/ia64/efi/startup.S: Likewise.
13882 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
13883 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
13884 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
13885 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
13886 * grub-core/loader/ia64/efi/linux.c: New file.
13887 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
13888 (GRUB_MOD_DEP): Likewise.
13889 (grub_dl) [__ia64__]: New fields got and tramp.
13890 (grub_dl): New field 'base'.
13891 (grub_dl_register_symbol): New argument isfunc. All users updated.
13892 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
13893 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
13894 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
13895 (grub_ia64_dl_get_tramp_got_size): New proto.
13896 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
13897 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
13898 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
13899 * include/grub/efi/api.h: Skip call wrappers on ia64.
13900 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
13901 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
13902 * include/grub/elf.h (ELF_ST_INFO): New definition.
13903 * include/grub/ia64/efi/kernel.h: New file.
13904 * include/grub/ia64/efi/memory.h: Likewise.
13905 * include/grub/ia64/efi/time.h: Likewise.
13906 * include/grub/ia64/kernel.h: Likewise.
13907 * include/grub/ia64/setjmp.h: Likewise (from glibc).
13908 * include/grub/ia64/time.h: New file.
13909 * include/grub/ia64/types.h: Likewise.
13910 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
13911 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
13912 New protos.
13913 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
13914 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13915 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
13916 * util/grub-mkimage.c (image_target_desc): New field pe_target.
13917 All users updated.
13918 (EFI64_HEADER_SIZE): New definition. All users updated.
13919 (image_targets): Add ia64-efi.
13920 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
13921 jumpers_addr. All users updated.
13922 Create function descriptors.
13923 (count_funcs): New function.
13924 (unaligned_uint32): New struct.
13925 (MASK20): New definition.
13926 (MASK19): Likewise.
13927 (MASKF21): Likewise.
13928 (add_value_to_slot_20b): New function.
13929 (add_value_to_slot_21_real): Likewise.
13930 (add_value_to_slot_21): Likewise.
13931 (ia64_kernel_trampoline): New struct.
13932 (nopm): New variable.
13933 (jump): Likewise.
13934 (make_trampoline): New function.
13935 (relocate_addresses): Handle ia64.
13936 (make_reloc_section): Likewise.
13937 (load_image): Likewise.
13938
983b414d
VS
139392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13940
13941 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
13942 warning. Move variables before code while on it.
13943
5d063cdc
VS
139442011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13945
13946 Fuloong support.
13947
13948 * configure.ac: Rename yeeloong platform to loongson. All users updated.
13949 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
13950 * grub-core/boot/mips/loongson/fuloong.S: New file.
13951 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
13952 Explicitly init CS5536.
13953 [FULOONG]: Don't use serial until CS5536 is available.
13954 Set GPIO based on dumps.
13955 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
13956 [FULOONG]: Handle GPIO and memory controller differences.
13957 Parse machine type in $a2.
13958 * grub-core/boot/mips/startup_raw.S: Determine and save the
13959 architecture.
13960 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
13961 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
13962 init on architecture type.
13963 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13964 SIS315E. Don't init at_keyboard on fuloong.
13965 (grub_halt): Support Fuloong.
13966 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
13967 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
13968 (loongson_machtypes): New array.
13969 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
13970 type.
13971 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
13972 config. All users updated. Handle CS5536 serial.
13973 * grub-core/term/serial.c (grub_serial_register): Conditionalise
13974 default port on machine type. Register serial as inactive.
13975 * grub-core/video/sis315pro.c: New file.
13976 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
13977 definition.
13978 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
13979 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
13980 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
13981 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
13982 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
13983 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
13984 to ...
13985 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
13986 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
13987 definition.
13988 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
13989 (grub_arch_machine): New extern var.
13990 * include/grub/mips/loongson/serial.h
13991 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
13992 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
13993 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
13994 (GRUB_MACHINE_SERIAL_PORT0): ... this.
13995 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
13996 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
13997 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
13998 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
13999 * include/grub/term.h (grub_term_register_input_inactive): New inline
14000 function.
14001 (grub_term_register_output_inactive): Likewise.
14002 * include/grub/video.h (grub_video_driver_id): New value
14003 GRUB_VIDEO_DRIVER_SIS315PRO.
14004 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
14005 New field "names". All users updated.
14006 New field value IMAGE_FULOONG_FLASH.
14007 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
14008
6ada82d1
JU
140092011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
14010
14011 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
14012 and add some clarification.
14013
90c571a4
VS
140142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14015
14016 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
14017 platforms if kernel is compressed.
14018
de04eecf
VS
140192011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14020
14021 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
14022 unused modules since currently referrence counter isn't reliable and
14023 there isn't much memory to recover there anyway.
14024
57688121
VS
140252011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14026
14027 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
14028 rather than resetting it to allow modules to reference themselves
14029 in init.
14030
3d2c7e35
VS
140312011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
14034 counter on dependencies since grub_dl_unref already handles this.
14035
b25db218
VS
140362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14037
14038 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
14039 on error if not already done.
14040
25a45338
VS
140412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14042
14043 Fix few potential memory misusage.
14044
14045 * grub-core/font/font.c (load_font_index): Don't free char_index to
14046 avoid double free.
b25db218
VS
14047 (grub_font_load): Zero-fill font at alloc for safety.
14048 Close file on error.
14049 (free_font): Free bmp_idx.
25a45338 14050
0cac83df
VS
140512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14052
14053 * docs/grub.texi (Installation): Fix several outdated claims.
14054
2217a143
VS
140552011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14056
14057 Handle module_license on windows.
14058
14059 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
14060 sections shifted.
14061 (insert_string): Make argument const char * instead of char *.
14062 (write_section_data): Handle long section names.
14063 Handle module_license.
14064
d4de6b01
VS
140652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14066
14067 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
14068 handle class-free menuentries.
14069 (grub_normal_add_menu_entry): Add a check to be sure.
14070
4c2a3b43
VS
140712011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
14074 PgUp and PgDown.
14075
85c6210f
VS
140762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14077
14078 * configure.ac: Bump version to 1.99.
14079
36084912
VS
140802011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 Give ATA device a bit more time on first try in order to allow disks
14083 to spin up.
14084
14085 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
14086 if dev->present is 1. Reset dev->present on failure.
14087 (grub_ata_device_initialize): Set dev->present to 1.
14088 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
14089 (grub_ata_device): New member 'present'.
14090
bda0e219
VS
140912011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 * util/grub-mkimage.c (generate_image): Update hash.
14094
19e1c41b
VS
140952011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14096
14097 Flush caches on DMA memory.
14098
14099 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
14100 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
14101 (grub_dma_free): Likewise.
14102 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
14103
91bbcc0c
VS
141042011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14105
14106 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
14107 to avoid asm treating ld and sd as macros.
14108
60ddfad3
VS
141092011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14110
14111 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
14112 decompressor.
14113
a298aa04
VS
141142011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
14117 grub_decompress_core since later would fail if grub_decompress_core
14118 is too far.
14119
9b44feca
VS
141202011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
14123 R_MIPS_JALR since it's used by newer compiler.
14124
56dbe7b4
VS
141252011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
14126
14127 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
14128
52856af2
VS
141292011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14130
14131 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
14132 file_path to 0 for surety.
14133 (grub_chainloader_boot): Set exit_data to NULL.
14134 Unset the loader once done.
14135 (grub_cmd_chainloader): Fix confusing error message if file is empty.
14136
9c9bfc6d
VS
141372011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14138
14139 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
14140 unknown key into a dprintf.
14141
dd94a3df
VS
141422011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14143
14144 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
14145 on first non-existant partition.
14146
fa68d99c
VS
141472011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14148
14149 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
14150 openning fails.
14151 Reported by: Mark Korenberg.
14152
157effb7
VS
141532011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14154
14155 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
14156 overflow.
14157
ea75312f
VS
141582011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14159
14160 * util/grub-mkimage.c (main): Explicitely flush and sync the output
14161 before closing to ensure that it will be readable by grub-setup.
14162
072b5d31
VS
141632011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14164
14165 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
14166 (devpath_1): Use MAKE_PIWG_PATH.
14167 (devpath_2): Likewise.
14168 (devpath_3): Likewise.
14169 (devpath_4): Likewise.
14170 (devpath_5): Likewise.
14171 (devpath_6): Likewise.
14172
14173 The appleldr.mod was checked that to be binary identical to previous
14174 version.
14175
7fae0051
Z
141762011-05-05 Zach <mikezackles>
14177
14178 Support 2010 Macbooks.
14179
14180 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
14181 (devs): Add devpath_6.
14182
7c515bee
VS
141832011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14184
14185 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
14186 /dev/random. /dev/urandom is good enough for our purposes (salting).
14187
ed660bd8
VS
141882011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14189
14190 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
14191
ee5614b7
VS
141922011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14193
14194 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
14195 hexadecimal.
14196
664889a6
VS
141972011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14198
14199 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
14200 and not 0 on failure.
14201
bd405bbc
CW
142022011-05-03 Colin Watson <cjwatson@ubuntu.com>
14203
14204 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
14205 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
14206 disk; otherwise grub_fs_probe will not fall back to the next
14207 filesystem.
14208 (grub_pxefs_open): Likewise, for consistency.
14209 Reported and tested by: Ezekiel Grave.
14210
4ebff753
CW
142112011-05-03 Colin Watson <cjwatson@ubuntu.com>
14212
14213 * tests/partmap_test.in: Don't hardcode path to parted.
14214 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
14215
8f942553
CW
142162011-05-01 Colin Watson <cjwatson@ubuntu.com>
14217
14218 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
14219 of `ls' to find out which devices are available.
14220
3c62402d
VS
142212011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14222
14223 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
14224 than source address for efi mmap buffer.
14225
723f63f2
VS
142262011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14227
14228 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
14229 wrong action on non-detecting the magic.
14230
68797f92
VS
142312011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14232
14233 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
14234 already supplied by another part of the module (fixes compilation on
14235 FreeBSD).
14236
6be8715d
VS
142372011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14238
14239 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
14240 match the one used by mdadm.
14241
e91dba5b
CW
142422011-04-21 Colin Watson <cjwatson@ubuntu.com>
14243
14244 * po/README: Add instructions for creating po/LINGUAS.
14245
c85140b3
CW
142462011-04-21 Colin Watson <cjwatson@ubuntu.com>
14247
14248 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
14249 #551428.
14250
14251 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
14252 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
14253 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
14254 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
14255 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
14256 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
14257 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
14258 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
14259 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
14260 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
14261 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
14262 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
14263 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
14264 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
14265 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
14266 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
14267 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
14268 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
14269 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
14270 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
14271 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
14272 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
14273
92051871
CW
142742011-04-21 Colin Watson <cjwatson@ubuntu.com>
14275
14276 * grub-core/kern/emu/getroot.c
14277 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
14278 test that was incorrectly reintroduced in r3214.
14279 Reported by: Ian Dall. Fixes Savannah bug #33133.
14280
b13f79a4
CW
142812011-04-21 Colin Watson <cjwatson@ubuntu.com>
14282
14283 Fix stack pointer handling in 16-bit relocator.
14284
14285 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
14286 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
14287 Fixes Ubuntu bug #683904.
14288
9b710a88
VS
142892011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14290
14291 * configure.ac: Bump version to 1.99~rc2.
14292
d97e7b59
VS
142932011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14294
14295 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
14296 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
14297 * grub-core/lib/x86_64/setjmp.S: Likewise.
14298 * grub-core/lib/mips/setjmp.S: Likewise.
14299 * grub-core/lib/powerpc/setjmp.S: Likewise.
14300 * grub-core/lib/sparc64/setjmp.S: Likewise.
14301
0624551c
VS
143022011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14303
14304 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
14305 * grub-core/lib/efi/datetime.c: Likewise.
14306
e8f28d4c
VS
143072011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14308
14309 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
14310 New function.
14311 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
14312 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
14313 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
14314
bba79a15
VS
143152011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14316
14317 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
14318 bitmap.
14319 (grub_gfxterm_term_init): Likewise.
14320
abc474ef
VS
143212011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14322
14323 Take into account the decorations the computing menu entry width.
14324
14325 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
14326 (grub_gfxmenu_create_box): Register get_border_width.
14327 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
14328 if available.
14329 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
14330 get_border_width.
14331
e74b3947
EP
143322011-04-18 Endres Puschner <code@e7p.de>
14333
14334 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
14335 Don't skip first class.
14336
34faa595
VS
143372011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
14340 chunks.
14341 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
14342
93a777e3
VS
143432011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14344
14345 Complete 64-bit division support.
14346
14347 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
14348 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
14349 * include/grub/misc.h (grub_divmod64): Rename to ...
14350 (grub_divmod64_full): ... this.
14351 (grub_divmod64): New inline function.
14352
a5102d94
VS
143532011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 * util/grub-mkimage.c (generate_image): Add forgotten comma.
14356
f3fb7b36
VS
143572011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14358
14359 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
14360 performing the necessary test.
14361
9ac718b0
VS
143622011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14363
14364 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
14365 (kfreebsd.elf): Likewise.
14366 (pc-chainloader.elf): Likewise.
14367 (ntldr.elf): Likewise.
14368
50d2cc5a
VS
143692011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 Identify RAID by its UUID rather than (guessed) name.
14372
14373 * grub-core/disk/raid.c (ascii2hex): New function.
14374 (grub_raid_open): Accept mduuid/%s specification.
14375 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
14376 (get_mdadm_uuid): ... this.
14377 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
14378
e03f7bea
VS
143792011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
14380
14381 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
14382 to negative size.
14383
e74c3112
CW
143842011-04-13 Colin Watson <cjwatson@ubuntu.com>
14385
14386 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
14387 btrfs subvolume.
14388 * util/grub.d/20_linux_xen.in: Likewise.
14389
78fa584f
CW
143902011-04-13 Colin Watson <cjwatson@ubuntu.com>
14391
14392 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
14393 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
14394
14395 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
14396 Build a list of relevant visible mounts using the mnt_id and
14397 parent_mnt_id fields, and then scan that list at the end.
14398
9d5f8162
CW
143992011-04-12 Colin Watson <cjwatson@ubuntu.com>
14400
14401 * docs/grub.texi (normal): New section.
14402 (normal_exit): New section.
14403 (Embedded configuration): Add reference to normal.
14404 (GRUB only offers a rescue shell): Likewise.
14405 * docs/grub-dev.texi (Error Handling): Fix typo.
14406
09a9d66f
CW
144072011-04-12 Colin Watson <cjwatson@ubuntu.com>
14408
14409 * NEWS: Drop obsolete entry about probe-only btrfs support.
14410
0c676933
CW
144112011-04-12 Colin Watson <cjwatson@ubuntu.com>
14412
14413 * util/import_gcry.py: Fix typo.
14414
ec9f5e0d
VS
144152011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14416
14417 * NEWS: Add btrfs support.
14418
fe6b2cba
VS
144192011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
144202011-04-11 Colin Watson <cjwatson@ubuntu.com>
14421
14422 BtrFS support. Written by me (Vladimir) with important bugfixes and
14423 even more important testing by Colin.
14424
14425 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
14426 * grub-core/Makefile.core.def (btrfs): Add crc.c.
14427 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
14428 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
14429 mem_input_off and mem_input. All users updated to accept in-RAM input.
14430 (gzio_seek): New function.
14431 (test_zlib_header): Likewise.
14432 (grub_gzio_read): Likewise.
14433 (grub_zlib_decompress): Likewise.
14434 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
14435 Accept partial and non-virtual mounts.
14436 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
14437 avoid receiving /dev/dm-X as device.
14438 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
14439 Handle bind and partial mounts.
14440 * grub-core/lib/crc.c: New file.
14441 * include/grub/deflate.h: Likewise.
14442 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
14443 proto.
14444 * include/grub/lib/crc.h: New file.
14445
e745cf0c
VS
144462011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14447
14448 Implement automatic module license checking according to new GNU
14449 guidelines.
14450
14451 * grub-core/kern/dl.c (grub_dl_check_license): New function.
14452 (grub_dl_load_core): Use grub_dl_check_license.
14453 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
14454 (GRUB_MOD_LICENSE): Likewise.
14455 (GRUB_MOD_DUAL_LICENSE): Likewise.
14456 All modules updated.
14457
2a9bc016
CW
144582011-04-11 Colin Watson <cjwatson@ubuntu.com>
14459
14460 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
14461 reserved_first_sector to 1. btrfs reserves plenty of space for boot
14462 loaders.
14463 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
14464
8a3bc88e
VS
144652011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14466
14467 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
14468
af869a4a
VS
144692011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14470
14471 * util/grub-fstest.c (read_file): Report GRUB error if file opening
14472 failed.
14473
9ee8d94f
VS
144742011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14475
14476 * grub-core/kern/file.c (grub_file_open): Don't take into account the
14477 parenthesis in the middle of the filename.
14478
b01abe3e
VS
144792011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14480
14481 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
14482 rather than trying to put initrd way too high.
14483 Reported by: Ryan Lortie <desrt@desrt.ca>
14484
335bda1e
VS
144852011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14486
14487 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
14488 improperly removed string.
14489
5ca1a64d
VS
144902011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14491
14492 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
14493 is_disk.
14494 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
14495 (open_device) Likewise.
14496 (grub_util_biosdisk_close): Likewise.
d8ce9995 14497 Reported by: Mark Korenberg.
5ca1a64d 14498
cbac5b1e
AK
144992011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
14500
14501 * util/grub-mkconfig_lib.in: Add missing quotes.
14502
088cdb65
CW
145032011-04-10 Colin Watson <cjwatson@ubuntu.com>
14504
14505 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
14506 is NULL.
14507
8b8a81fa
VS
145082011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 Dynamically count the number of lines for the lower banner.
14511
14512 * grub-core/normal/menu_entry.c (per_term_screen): New member
14513 num_entries.
14514 (print_down): Use num_entries.
14515 (update_screen): Likewise.
14516 (grub_menu_entry_run): Set num_entries.
14517 * grub-core/normal/menu_text.c (menu_viewer_data): New member
14518 num_entries.
14519 (grub_print_message_indented): Move real part to ...
14520 (grub_print_message_indented_real): ... here. Additional argument
14521 dry_run.
14522 (draw_border): Additional argument num_entries.
14523 (print_message): Additional argument dry_run.
14524 (print_entries): Receive menu viewer data.
14525 (grub_menu_init_page): New argment num_entries.
14526 (menu_text_set_chosen_entry): Use num_entries.
14527 (grub_menu_try_text): Likewise.
14528 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
14529 All users updated.
14530 (grub_ucs4_count_lines): New function.
14531 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
14532 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
14533 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
14534 (grub_term_border_height): Likewise.
14535 (grub_term_num_entries): Likewise.
14536
277f955b
VS
145372011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
14540 Remove now unused string.
14541
536ce85a
CW
145422011-04-09 Colin Watson <cjwatson@ubuntu.com>
14543
14544 * docs/grub-dev.texi (Finding your way around): Update for 1.99
14545 build system.
14546 (Getting started): GRUB is developed in Bazaar now, not Subversion.
14547
14548 (Comment): Fix typo.
14549 (Getting started): General copy-editing.
14550 (Typical Development Experience): Likewise.
14551 (Error Handling): Likewise.
14552 (Video API): Likewise.
14553
2cf09e32
CW
145542011-04-09 Colin Watson <cjwatson@ubuntu.com>
14555
14556 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
14557 throughout.
14558
1ec652f4
VS
145592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14560
14561 * util/grub-mkimage.c (main): Handle special naming of yeeloong
14562 directory.
14563
2c583728
CW
145642011-04-08 Colin Watson <cjwatson@ubuntu.com>
14565
14566 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
14567 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
14568 "development".
14569
d7a565e9
VS
145702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
14573 grub_strcpy since the lines aren't necessarily 0-terminated.
14574
7c2e4909
VS
145752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
14578 root on legacy.
14579
34c09785
VS
145802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14581
14582 * grub-core/commands/probe.c (options): Argument to set isn't optional.
14583 (GRUB_MOD_INIT): DEVICE isn't optional.
14584
6a6f8058
VS
145852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14586
14587 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
14588 word on new line if it's too long anyway. Fixes a hang.
14589
2e335e90
VS
145902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14591
14592 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
14593 const.
14594 * util/grub-setup.c (main): Reuse md device name if available.
14595 * util/raid.c (grub_util_raid_getmembers): Receive device name and
14596 not GRUB name as argument.
14597 Based on patch by: Florian Wagner <fwagner>.
14598
10a7a867
VS
145992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14600
14601 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14602 Place mbi on low memory for better compatibility.
14603
7a3d6cd9
VS
146042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14605
14606 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
14607
18dd6b47
VS
146082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
146092011-04-08 Colin Watson <cjwatson@ubuntu.com>
14610
14611 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 14612 * conf/Makefile.common: Likewise.
18dd6b47 14613
3c0e3f14
VS
146142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14615
f7148863
VS
14616 * grub-core/normal/menu.c: Add missing include.
14617
146182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14619
14620 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 14621
6d1fa41f
MZ
146222011-04-08 Martin Zuther <mzuther@mzuther.de>
14623
14624 * util/grub-mkconfig.in: Ignore emacsen backup.
14625
478182a8
VS
146262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14627
14628 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
14629 on open.
14630 (grub_util_biosdisk_close): Likewise.
14631
72a89a54
VS
146322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
14635 const attribute and use grub_isdigit.
14636
b5ebecfa
A
146372011-04-06 Andrey <dev_null@ukr.net>
14638
14639 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
14640 gcc warning.
14641
7755f66e
VS
146422011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14643
14644 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
14645 useful grub_dprintf's.
14646
461121ff
VS
146472011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14648
14649 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
14650
2a961775
VS
146512011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14652
14653 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
14654
adf594cc
VS
146552011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14656
14657 Output errors if theme loading failed.
14658
14659 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
14660 grub_gfxterm_fullscreen on error paths to ...
14661 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
14662 theme loading error.
14663
665900a3
VS
146642011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14665
14666 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
14667 space for older compilers.
14668 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14669
a562b479
VS
146702011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14671
14672 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
14673 and report them as not RAID members since they are useless for GRUB.
14674 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14675
850e9373
VS
146762011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 Increase LVM implementation robustness in order not to crash on
14679 configurations like pvmove. Previously code assumed that in some places
14680 only lvs or only pvs are used whereas it seems that they are used
14681 interchangeably.
14682
14683 * grub-core/disk/lvm.c (read_node): New function.
14684 (read_lv): Use read_node.
14685 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
14686 Match volumes only at the end when all lvs are found. Take both
14687 pvs (first) and lvs (second) into account.
14688 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
14689 mirror_* into node_*. All users updated.
14690 (grub_lvm_stripe): Merge this ...
14691 (grub_lvm_mirror): ... and this ...
14692 (grub_lvm_node): ... into this. All users updated.
14693
6f332153
VS
146942011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
14697 of function to allow further scanning for LVMs.
14698
829ea451
VS
146992011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14700
14701 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
14702 on failed seek as it breaks open fd reusage.
14703
09ceb9a5
VS
147042011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14705
14706 * util/grub-install.in: Add a recommendation to use --recheck before
14707 reporting bugs.
14708
67e11623
VS
147092011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14710
14711 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
14712 are obtained.
14713
caee5efd
VS
147142011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14715
14716 GRUB developper manual based on existing Internals section and
14717 contributions by the various authors with active copyright assignment.
14718
14719 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
14720 * docs/font_char_metrics.png: New file.
14721 * docs/font_char_metrics.txt: Likewise.
14722 * docs/grub-dev.texi: Likewise.
14723 * docs/grub.texi (Internals): Move from here ...
14724 * docs/grub-dev.texi: ... here.
14725
2cccc747
CW
147262011-04-01 Colin Watson <cjwatson@ubuntu.com>
14727
14728 Store the loopback device as data on loopback grub_disk structures,
14729 rather than the file it points to. This fixes use of freed memory
14730 if an existing loopback device is replaced.
14731
14732 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
14733 disk->data, not dev->file.
14734 (grub_loopback_read): Adjust file assignment to match.
14735 Fixes Ubuntu bug #742967.
14736
186ae367
CW
147372011-04-01 Colin Watson <cjwatson@ubuntu.com>
14738
14739 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
14740 when replacing an existing device.
14741
cfed2ad0
VS
147422011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
14745 memory corruptions.
14746
14747 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
14748 unsigned.
14749 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
14750 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
14751 (grub_jfs_read_inode): Likewise.
14752 (grub_jfs_opendir): Likewise. Remove now useless casts.
14753 (grub_jfs_getent): Likewise.
14754 Make ino a grub_uint32_t rather than int.
14755 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
14756 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
14757 division and module with bit operations.
14758 (grub_jfs_find_file): Make ino a grub_uint32_t.
14759 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
14760
05d2ed32
CW
147612011-04-01 Colin Watson <cjwatson@ubuntu.com>
14762
14763 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
14764 warning. (This was in fact always initialised before use, but GCC
14765 wasn't smart enough to prove that.)
14766 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
14767
91dc6073
VS
147682011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14769
14770 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
14771 stack alignment.
14772 (efi_wrap_1): Likewise.
14773 (efi_wrap_2): Likewise.
14774 (efi_wrap_3): Likewise.
14775 (efi_wrap_4): Likewise.
14776 (efi_wrap_5): Likewise.
14777 (efi_wrap_6): Likewise.
14778 (efi_wrap_10): Likewise.
14779 Based on information by: Red Hat/Peter Jones.
14780
a8afc1d1
CW
147812011-03-31 Colin Watson <cjwatson@ubuntu.com>
14782
14783 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
14784 set-but-not-used variable.
14785
a826cc7d
CW
147862011-03-31 Colin Watson <cjwatson@ubuntu.com>
14787
14788 * docs/grub.texi (Simple configuration): Be more explicit about
14789 GRUB_DEFAULT, and add an example.
14790 Reported by: Leslie Rhorer.
14791
875b67ba
CW
147922011-03-30 Colin Watson <cjwatson@ubuntu.com>
14793
14794 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
14795 shell".
14796
fd7cd914
AS
147972011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
14798
14799 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
14800 * util/grub.d/20_linux_xen.in: Likewise.
14801
090b1b6a
VS
148022011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14803
14804 * util/grub.d/10_linux.in: Try alternative config filenames where
14805 we parse config file.
14806 * util/grub.d/20_linux_xen.in: Likewise.
14807
baad885c
AS
148082011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
14809
14810 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
14811 * util/grub.d/20_linux_xen.in: Likewise.
14812
241e41f5
VS
148132011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 * grub-core/disk/raid.c (insert_array): Add few potentially
14816 useful grub_util_info.
14817 (grub_raid_register): Likewise.
14818
56445fb2
VS
148192011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14820
14821 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
14822 Preserve partition number in mdadm code path.
14823
c871b1c6
VS
148242011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
14827 few potentially useful grub_util_info.
14828
5e631b4f
CW
148292011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14830
14831 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
14832
2d5d0333
CW
148332011-03-30 Colin Watson <cjwatson@ubuntu.com>
14834
14835 * docs/grub.texi (default): Use @example rather than nested
14836 itemized lists to avoid breaking gendocs.
14837
3d7ed04e
CW
148382011-03-30 Colin Watson <cjwatson@ubuntu.com>
14839
14840 * docs/grub.texi (Future): Update.
14841
abf04200 148422011-03-30 Colin Watson <cjwatson@ubuntu.com>
14843
14844 * docs/grub.texi (Environment): New chapter.
14845 (Changes from GRUB Legacy): Link to "Environment block" section for
14846 details of limitations.
14847 (Simple configuration): Likewise. Link to documentation of gfxmode
14848 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
14849 respectively.
14850 (Shell-like scripting): Note that normal variables are stored in the
14851 environment.
14852 (gettext): Link to documentation of lang and locale_dir.
14853 (list_env): New section.
14854 (load_env): New section.
14855 (save_env): New section.
14856
14857 (Reporting bugs): Fix typo.
14858
e1ad0edd
VS
148592011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14860
14861 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
14862 the example.
14863
5d803174
VS
148642011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14865
14866 * grub-core/term/at_keyboard.c (set_scancodes)
14867 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
14868
2a2da1d0
CW
148692011-03-30 Colin Watson <cjwatson@ubuntu.com>
14870
14871 * docs/grub.texi (Menu-specific commands): Remove some semantics
14872 that were true in GRUB Legacy but not in GRUB 2.
14873 (submenu): New section.
14874 (false): New section.
14875 (read): New section.
14876 (true): New section.
14877
a7527639
CW
148782011-03-30 Colin Watson <cjwatson@ubuntu.com>
14879
14880 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
14881
148822011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
14883
14884 * docs/grub.texi (Simple configuration): Explain some of the
14885 current limitations of grub-mkconfig.
8a748df2 14886 Reported by: Leslie Rhorer.
e30af029 14887
fc858482
VS
148882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14889
14890 Old macs search for boot.efi rather than for bootia32.efi.
14891
14892 * util/grub-install.in: Copy bootia32.efi to boot.efi.
14893 * util/grub-mkrescue.in: Likewise.
14894 Suggested by: Peter Jones.
14895
e1eb511d
VS
148962011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14897
14898 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
14899
70e75364
VS
149002011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14901
14902 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
14903 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
14904 (grub_lvm_mirror): New struct.
14905 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
14906 (grub_lvm_iterate): Iterate only visible volumes.
14907 (grub_lvm_read): Factor out to ..
14908 (read_lv): ... this. Support mirrors.
14909 (grub_lvm_read): New wrapper function.
14910 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
14911 stripped or mirrored.
14912
fc18f6a3
VS
149132011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14914
14915 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
14916
5c650f4c
CW
149172011-03-29 Colin Watson <cjwatson@ubuntu.com>
14918
14919 * docs/grub.texi (loopback): New section.
14920
61d7156b
CW
149212011-03-29 Colin Watson <cjwatson@ubuntu.com>
14922
14923 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
14924 removed -p option.
14925
994b8264
CW
149262011-03-29 Colin Watson <cjwatson@ubuntu.com>
14927
14928 * docs/grub.texi (BIOS installation): New section, partly based on
14929 previous text in other sections.
14930 (Installing GRUB using grub-install): Replace BIOS discussion with a
14931 cross-reference.
14932 (Images): Likewise.
14933
9e4d19e0
VS
149342011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14935
14936 * grub-core/kern/emu/hostdisk.c (find_partition_start)
14937 [HAVE_DIOCGDINFO]: Add safety checks.
14938
a307c0b2
VS
149392011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14940
14941 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
14942 per default compiled in kernel and prior to 8.0 isn't shipped at all.
14943
b4db4f39
CW
149442011-03-29 Colin Watson <cjwatson@ubuntu.com>
14945
14946 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
14947 real_sb->size is zero (e.g. RAID-0), get the disk size from
14948 real_sb->data_size instead.
14949 Fixes Ubuntu bug #743136.
14950
35e5f84c
VS
149512011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14952
14953 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
14954 printf clauses for printing size and start.
14955
d2e29d81
VS
149562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14957
14958 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
14959 Reported and tested by: Timothy Nikkel.
14960
ed5587af
VS
149612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14962
14963 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
14964 (dirty_region_add_real): ... this.
14965 (dirty_region_add): Don't discard margin refresh when performing
14966 scheduled repaint.
14967
a1dc717c
VS
149682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14969
14970 * grub-core/lib/relocator.c (allocate_regstart)
14971 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
14972 terminals are capabple of malloc-free operation.
14973 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
14974 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
14975
9f3677d3
VS
149762011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
14977
14978 * util/grub-setup.c: Copy the partition table zone if floppy support
14979 is disabled, even if no partition table is found.
14980
14981 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
14982 during POST if an invalid partition table is contained in the PBR
14983 of the active partition when GRUB is installed to a partition.
14984
24148725
CW
149852011-03-28 Colin Watson <cjwatson@debian.org>
14986
14987 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
14988 comment.
14989
f329eda7
CW
149902011-03-28 Colin Watson <cjwatson@debian.org>
14991
14992 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
14993 to be specific about what kind of RAID device we're scanning for.
14994
c482ad98
SG
149952011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
14996
14997 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
14998 return freed string.
14999
5ee04984
VS
150002011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15001
15002 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
15003
f4727da9
VS
150042011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15005
15006 Use libgeom on FreeBSD to detect partitions.
15007
15008 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
15009 (grub-mkrelpath): Likewise.
15010 (grub-script-check): Likewise.
15011 (grub-editenv): Likewise.
15012 (grub-mkpasswd-pbkdf2): Likewise.
15013 (grub-fstest): Likewise.
15014 (grub-mkfont): Likewise.
15015 (grub-mkdevicemap): Likewise.
15016 (grub-probe): Likewise.
15017 (grub-setup): Likewise.
15018 (grub-ofpathname): Likewise.
15019 (grub-mklayout): Likewise.
15020 (example_unit_test): Likewise.
15021 (grub-menulst2cfg): Likewise.
15022 * grub-core/Makefile.core.def (grub-emu): Likewise.
15023 (grub-emu-lite): Likewise.
15024 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
15025 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
15026 define HAVE_DIOCGDINFO.
15027 (follow_geom_up) [FreeBSD]: New function.
15028 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
15029 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
15030 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
15031 unconditionally of HAVE_DIOCGDINFO.
15032
82fe6c75
VS
150332011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15034
15035 Fix FreeBSD compilation problem.
15036
15037 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
15038 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
15039
4c6c9431
CW
150402011-03-24 Colin Watson <cjwatson@ubuntu.com>
15041
15042 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
15043 Switch back to page zero before loading a kernel, since some kernel
15044 drivers expect that.
15045 Thanks to: Felix Kuehling.
15046
c7064d94
VS
150472011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15048
15049 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
15050 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
15051 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
15052
3f71cded
VS
150532011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
15056 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
15057
ef6de21a
VS
150582011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15059
15060 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
15061 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
15062 malloc is disabled.
15063
8bc66a2c
VS
150642011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15065
15066 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
15067 for modules headers when counting the needed allocation size.
15068
5657722c
VS
150692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15070
15071 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
15072 if no ASCII character is found to prevent crash.
15073
41a85f55
AK
150742011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
15075
15076 * grub-core/video/bitmap.c (match_extension): Ignore case.
15077
59e1e5f1
VS
150782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
15081
bd4d051a
VS
150822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 * grub-core/script/parser.y: Declare "time" as valid argument.
15085
bae7fcc1
PJ
150862011-03-23 Peter Jones <pjones@redhat.com>
15087
15088 Fix incorrect assert failure reporting.
15089
15090 * grub-core/tests/example_functional_test.c (example_test): Add
15091 a failure comment.
15092 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
15093 (failure_start): ...this. Check that malloc succeeded.
15094 Don't call xvasprintf. Return failure struct.
15095 (failure_append_vtext): New function.
15096 (failure_append_text): Likewise.
15097 (add_failure): Likewise.
15098 (grub_test_assert_helper): Likewise.
15099 * include/grub/test.h (grub_test_assert_helper): New declaration.
15100 (grub_test_assert): Macro rewritten.
15101
537dc9be
VS
151022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
15105
fa3e01bf
VS
151062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15107
15108 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
15109
b1d28404
VS
151102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15111
15112 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
15113 into GRUB-style one.
15114
2e3e2e09
VS
151152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15116
15117 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
15118 error and not grub_errno.
15119 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
15120
ed57e557
VS
151212011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15122
15123 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
15124 GRUB_USB_SPEED_NONE in case of failure and not the error code.
15125
d1611f01
VS
151262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15127
15128 * grub-core/efiemu/i386/pc/cfgtables.c
15129 (grub_machine_efiemu_init_tables): Make declaration a prototype.
15130 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
15131 (grub_xnu_unlock): Likewise.
15132 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
15133
7d4e39d6
VS
151342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
15137 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
15138 * grub-core/commands/hashsum.c (aliases): Likewise.
15139 * grub-core/commands/setpci.c (pci_registers): Likewise.
15140 * grub-core/disk/usbms.c (attach_hook): Likewise.
15141 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
15142 (zio_checksum_table): Likewise.
15143 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
15144 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
15145 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
15146 * grub-core/lib/relocator.c (leftovers): Likewise.
15147 (extra_blocks): Likewise.
15148 * grub-core/loader/i386/bsd.c (relocator): Likewise.
15149 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
15150 (modules_last): Likewise.
15151 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
15152 (devices): Likewise.
15153 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
15154 (modules_last): Likewise.
15155 * grub-core/normal/auth.c (users): Likewise.
15156 * grub-core/normal/context.c (initial_menu): Likewise.
15157 (current_menu): Likewise.
15158 * grub-core/normal/crypto.c (crypto_specs): Likewise.
15159 * grub-core/term/serial.c (grub_serial_ports): Likewise.
15160 (grub_serial_terminfo_input_template): Likewise.
15161 (grub_serial_terminfo_output_template): Likewise.
15162 (grub_serial_terminfo_input): Likewise.
15163 (grub_serial_terminfo_output): Likewise.
15164 (registered): Likewise.
15165 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
15166
40fc4659
VS
151672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15168
15169 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
15170 grub_video_mode_type_t.
15171 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
15172 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
15173 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
15174
2da48d28
VS
151752011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15176
15177 * util/grub-install.in: Correct the x86-64 name as x86_64.
15178
9b43bf39
CW
151792011-03-11 Colin Watson <cjwatson@ubuntu.com>
15180
15181 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
15182 initial chunk read from the kernel always includes GRUB's multiboot
15183 header, which is now outside the first sector.
15184
be1a7ce0
CW
151852011-03-09 Colin Watson <cjwatson@ubuntu.com>
15186
15187 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
15188 cached mmap_size, so that this works correctly when called multiple
15189 times.
15190 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
15191
83a3c48d
CW
151922011-03-09 Colin Watson <cjwatson@ubuntu.com>
15193
15194 * docs/grub.texi (Simple configuration): Tidy up formatting.
15195
57d75699
SJ
151962011-03-07 Szymon Janc <szymon@janc.net.pl>
15197
15198 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
15199 Set-but-not-used variable removed.
15200
028501a0
VS
152012011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15202
15203 Workaround yet another IEEE1275 bug.
15204
15205 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
15206 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
15207 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
15208 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
15209 is set.
15210 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15211 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
15212
d998657d
VS
152132011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15214
15215 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
15216 error.
15217
fee7cdd4
CW
152182011-02-11 Colin Watson <cjwatson@ubuntu.com>
15219
15220 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
15221 empty, since in that case we can only generate either nothing or a
15222 syntactically invalid configuration file.
15223 Reported by: Michal Suchanek. Fixes Debian bug #612898.
15224
97286eb5
CW
152252011-02-09 Colin Watson <cjwatson@ubuntu.com>
15226
15227 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
15228 (Making a GRUB bootable CD-ROM): Likewise.
15229 (Invoking grub-mkrescue): New section.
15230 Reported by: Yann Dirson. Fixes Debian bug #612585.
15231
22b28eb3
CW
152322011-02-09 Colin Watson <cjwatson@ubuntu.com>
15233
15234 * util/grub-install.in: Remove unnecessary brackets from tr
15235 arguments.
15236 * util/grub.d/10_hurd.in: Likewise.
15237 * util/grub.d/10_kfreebsd.in: Likewise.
15238 * util/grub.d/10_linux.in: Likewise.
15239 * util/grub.d/20_linux_xen.in: Likewise.
15240 Reported by: Jamie Heilman. Fixes Debian bug #612564.
15241
7e735e43
CW
152422011-02-08 Colin Watson <cjwatson@ubuntu.com>
15243
15244 * include/grub/file.h (not_easly_seekable): Rename to ...
15245 (not_easily_seekable): ... this. Update all users.
15246
800f1881
CW
152472011-01-28 Colin Watson <cjwatson@ubuntu.com>
15248
15249 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
15250 grub-mkrescue.
15251
3281d3d6
VS
152522011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
15253
15254 * util/grub-mkimage.c (generate_image): Refuse to create the images
15255 bigger than the actual flash (512K) in Loongson machines. 512K is also
15256 the biggest chip supported by them.
15257
3533413c
VS
152582011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15259
15260 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
15261
73ae4f4f
VS
152622011-01-22 Anthony DeRobertis <anthony@derobert.net>
15263
15264 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
15265 super_offset field.
15266
37f4f608
VS
152672011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15268
15269 * util/grub-install.in: Ignore install device on platforms
15270 where it doesn't make sense. Always use UUIDs except on pc, efi and
15271 sparc64.
15272 Reported by: Daniel Kahn Gillmor.
15273
03a4ccb5
VS
152742011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15275
15276 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
15277
ffc8f4d8
VS
152782011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15279
15280 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
15281 (iterate_real): Don't rely on partition being non-NULL.
15282
80f23be7
VS
152832011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
15286 supported platforms. Put a compile time assert for this rather than
15287 generate a warning with 32-bit shift.
15288
5d4f4dd5
VS
152892011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
15292 logical expression more readable.
15293
e489601a
VS
152942011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15295
15296 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
15297 even if some elements have a name.
15298 Reported by: Alexander GQ Gerasiov.
15299
96e0a6ea
CW
153002011-01-22 Colin Watson <cjwatson@ubuntu.com>
15301
15302 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
15303 path unreadable if `grub-probe -t abstraction' fails, for example if
15304 memberlist fails on an LVM volume group.
15305 Reported by: Darius Jahandarie.
15306
81431e2b
CW
153072011-01-22 Colin Watson <cjwatson@ubuntu.com>
15308
15309 * docs/grub.texi (Simple configuration): Document
15310 GRUB_PRELOAD_MODULES.
15311
5e79d66a
CW
153122011-01-17 Colin Watson <cjwatson@ubuntu.com>
15313
15314 * .bzrignore: Remove nonexistent grub-pbkdf2.
15315
646ada34
VS
153162011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
15317
15318 * configure.ac: Bump version to 1.99~rc1.
15319
04360337
VS
153202011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15321
15322 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
15323 for safety.
15324
46c9db88
VS
153252011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15326
15327 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
15328 module.
15329
153302011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
15331
15332 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
15333
4fbf1852
VS
153342011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
15337 diskdevid.
15338
f1632d4d
VS
153392011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15340
15341 Fix compilation on cygwin.
15342
15343 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
15344 -R .drectve on cygwin.
15345 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
15346 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
15347 (COND_CYGWIN): New condition.
15348 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
15349 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
15350 not @TARGET_OBJ2ELF@.
15351 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
15352 type to determine whether aux is to be used.
15353
0b5e127b
VS
153542011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
15357 realpath'ed device string.
15358 Handle floppy (somewhat).
15359 Issue error in unknown case rather than garbage.
15360 Reported by: Axel Beckert.
15361
173b71e9
VS
153622011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15363
15364 * util/grub.d/00_header.in (load_video): Handle the case when no video
15365 drivers available.
15366 Thanks to: Axel Beckert.
15367
f8f479db
VS
153682011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15369
15370 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
15371 variable. Fixes problem on big endian platforms.
15372
8fc0a245
VS
153732011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15374
15375 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
15376 It doesn't work well there.
15377
b8494fbe
VS
153782011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15379
15380 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
15381 warning.
15382 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
15383 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
15384 counter.
15385
b44a558c
VS
153862011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15387
15388 Use alias->path rather than buggy "canon".
15389
15390 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
15391 (ofdisk_hash_add): New argument curcan. All users updated.
15392
51fa856c
CW
153932011-01-11 Colin Watson <cjwatson@ubuntu.com>
15394
15395 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
15396
9da068a5
VS
153972011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15398
15399 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
15400 loadmask before doing any calculations. Use correct type for offset.
15401 (grub_linux_load64): Likewise.
15402
86205c94
CW
154032011-01-11 Colin Watson <cjwatson@ubuntu.com>
15404
15405 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
15406 with NULL.
15407 (console_grub_equivalences_unshift): Likewise.
15408 Reported by: Daniel Dehennin.
15409
4531a206
VS
154102011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15411
15412 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
15413 (set_env_limn_ro): Likewise.
15414 (GRUB_MOD_INIT): Likewise.
15415 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
15416 ARRAY_SIZE while on it.
15417 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
15418 * grub-core/normal/context.c (grub_env_export): Move from here ...
15419 * grub-core/kern/env.c (grub_env_export): ... here.
15420 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
15421 prefix.
15422 * grub-core/kern/main.c (grub_main): Export root and prefix.
15423 * include/grub/env.h (grub_env_export): Export.
15424 Reported by: Seth Goldberg.
15425
45146057
VS
154262011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15427
15428 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15429 Take into account space used by ELF sections and multiboot palette.
15430 Reported by: Grégoire Sutre.
15431
f093110b
VS
154322011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15433
15434 * BUGS: New file.
15435
3395fe52
VS
154362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 Pass more appropriate video id to Linux.
15439
15440 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
15441 grub_video_get_driver_id and variable gfxpayloadforcelfb to
15442 fill have_vga.
15443 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
15444 shift params->lfb_size.
15445 * include/grub/i386/linux.h: Make an enume out of have_vga values.
15446
c2fa6cbb
VS
154472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15448
15449 * util/grub-menulst2cfg.c: Add missing include of misc.h.
15450
b3ff6ff0
VS
154512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15452
15453 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
15454 separator and pass bootpath/devid even if only one of them is available.
15455 Reported by: Seth Goldberg.
15456
ae67942e
VS
154572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15458
15459 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
15460 implementations bug on them.
15461
15462 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
15463 memory.
15464 (filter_memory_map): Likewise.
15465
d570097a
VS
154662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15467
15468 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
15469 Reported by: nebuchadnezzar.
15470
a508e776
VS
154712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15472
15473 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
15474 Reported by: nebuchadnezzar.
15475
dcb883b1
VS
154762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15477
15478 Submenu default support.
15479
15480 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
15481 auto_boot. All users updated.
15482 Declared static.
15483 Handle chosen and default with submenus.
15484 (grub_menu_execute_with_fallback): Declared static.
15485 Don't notify failure if autobooted. Upper level does it.
15486 (menuentry_eq): New function.
15487 (get_entry_number): Use menuentry_eq.
15488 (show_menu): New parameter "autobooted". All users updated.
15489 (grub_show_menu): Likewise.
15490 * include/grub/normal.h (grub_show_menu): Likewise.
15491 * include/grub/menu.h (grub_menu_execute_entry): Removed.
15492 (grub_menu_execute_with_fallback): Likewise.
15493
6fef99b4
VS
154942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15495
15496 * util/grub-mklayout.c (usage): Update help text.
15497
47a77af5
VS
154982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15499
15500 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
15501
ce6bb3ee
VS
155022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 * util/grub-menulst2cfg.c (main): Trim the line.
15505
db87be2a
VS
155062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15507
15508 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
15509 (grub_machine_init): Don't check amount of low memory as reportedly
15510 INT 12h can be broken and if low memory is too low we wouldn't have
15511 gotten into grub_machine_init anyway.
15512
c49849cc
VS
155132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15514
15515 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
15516 (grub_machine_mmap_iterate): Take low memory into account
15517
b1969b30
VS
155182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15519
15520 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
15521 badfs.
15522 Reported by: TiCPU.
15523
cf0eaf13
VS
155242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15525
15526 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
15527 members errors.
15528
1f060f39
GS
155292011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
15530
15531 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
15532 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
15533
a21e5672
GS
155342011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
15535
15536 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
15537 openbsd and netbsd types being in part_bsd module.
15538
c88172fa
VS
155392011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15540
15541 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
15542 (_FILE_OFFSET_BITS): Likewise.
15543 Reported by: Seth Goldberg.
15544
53798c4b
GS
155452011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15546
15547 * configure.ac: Check for libdevmapper header.
15548
e7121b69
VS
155492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15550
15551 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
15552 avoid aliasing.
15553 (fzap_lookup): Likewise.
15554 (dnode_get): Likewise.
15555 (make_mdn): Likewise.
15556 (zfs_mount): Likewise.
15557 (fzap_iterate): Use temporary pointer to avoid aliasing.
15558 (grub_zfs_read): Likewise.
15559 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
15560 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
15561 pointers to avoid aliasing.
15562 (grub_cmd_xnu_kernel64): Likewise.
15563 (grub_xnu_load_driver): Likewise.
15564
fc836af9
VS
155652011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15566
15567 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
15568 aliasing warning.
15569 (grub_cmd_terminal_output): Likewise.
15570 Reported and tested by: Grégoire Sutre.
15571
f9f37648
VS
155722011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15573
15574 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
15575 warning.
15576 Reported and tested by: Grégoire Sutre.
15577
ec1dfd63
VS
155782011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15579
15580 * configure.ac: Do CPU substitution even if it's specified explicitly.
15581 Reported and tested by: Alain Greppin.
15582
9462775a
VS
155832011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15584
15585 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
15586 Reported and tested by: Alain Greppin.
15587
0fd48e35
VS
155882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15589
15590 Satisfy some bison versions need for inttypes.h.
15591
15592 * grub-core/lib/posix_wrap/inttypes.h: New file.
15593 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
15594 (int16_t): Likewise.
15595 (int32_t): Likewise.
15596 (int64_t): Likewise.
15597 Reported and tested by: Alain Greppin.
15598
43f1bc83
VS
155992011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15600
15601 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
15602 Silence spurious warning.
15603 Reported and tested by: Alain Greppin.
15604
64d1f041
SJ
156052011-01-07 Szymon Janc <szymon@janc.net.pl>
15606
15607 * docs/grub.texi (Support automatic decompression): Update with xz
15608 decompression support.
15609
25953e10
SJ
156102011-01-07 Szymon Janc <szymon@janc.net.pl>
15611
15612 Improve loaders' kernel command line handling.
15613
15614 * grub-core/lib/cmdline.c: New file.
15615 * include/grub/lib/cmdline.h: Likewise.
15616 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
15617 grub_create_loader_cmdline to create kernel command line.
15618 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15619 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
15620 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
15621 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
15622 (linux): Add lib/cmdline.c on common.
15623
e72d259f
VS
156242011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15625
15626 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
15627 inopos might be unaligned.
15628
c0cf26da
VS
156292011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15630
15631 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
15632 endian transformations.
15633 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15634 Based on report by: Doug Nazar.
15635
0ca09e6c
DN
156362011-01-07 Doug Nazar <nazard.michi@gmail.com>
15637
15638 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
15639 array->members[i].start_sector.
15640 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
15641
014b6806
VS
156422011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15643
15644 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
15645 Reported and tested by: Grégoire Sutre.
15646
415502c2
CW
156472011-01-06 Colin Watson <cjwatson@ubuntu.com>
15648
15649 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
15650 avoid causing test failures by clearing the screen.
15651
71b6a2b7
CW
156522011-01-06 Colin Watson <cjwatson@ubuntu.com>
15653
15654 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15655 Fix prefix check to handle the case where dir ends with a slash
15656 (most significantly, "/" itself).
15657 Reported by: Michael Vogt.
15658
b3f8d28a
VS
156592011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15660
15661 Run terminfo_cls on initing terminfo output to clear the screen and
15662 move the cursor to (0,0).
15663
15664 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
15665 Call grub_terminfo_output_init.
15666 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
15667 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
15668 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
15669
4c3e4f37
VS
156702011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15671
15672 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
15673 only when needed.
15674
488f71f1
VS
156752011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15676
15677 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
15678 CTRL.
15679
18a38098
VS
156802011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15681
15682 The E820 type 5 is BADRAM, not EXEC_CODE.
15683
15684 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
15685 (GRUB_E820_BADRAM): New define.
15686 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
15687 into reserved. Propagate BADRAM.
15688 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
15689 (GRUB_E820_BADRAM): New define.
15690
9eae2084
VS
156912011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15692
15693 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
15694 Ignore the memory post-4G.
15695 (grub_relocator_firmware_alloc_region): Additional debug statement.
15696
ebc71d28
VS
156972011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15698
15699 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
15700 names.
15701 Reported by: David Pravec.
15702
446fa400
VS
157032011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
15706 BIOSes.
15707
a0159f37
VS
157082011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
15711 Prevent overflow.
15712 (grub_reed_solomon_recover): Likewise.
15713
e5146ca1
VS
157142011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15715
15716 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
15717
157182011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
15719
15720 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
15721 variable.
15722
5b1bdf12
CW
157232011-01-04 Colin Watson <cjwatson@ubuntu.com>
15724
15725 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
15726 descriptions of extract_legacy_entries_source and
15727 extract_legacy_entries_configfile.
15728 Reported by: Seung Soo, Ha.
15729
99d925aa
CW
157302011-01-03 Colin Watson <cjwatson@ubuntu.com>
15731
15732 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
15733 on devices that do not implement function 0.
15734
4af0504b
DV
157352011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
15736
15737 * grub-core/fs/hfsplus.c: Make parent unsigned.
15738 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
15739 overflows.
15740 (grub_hfsplus_cmp_extkey): Likewise
15741
469ee10a
VS
157422011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
15743
15744 * util/grub-install.in: Correctly use bootloader_id and not
15745 GRUB_DISTRIBUTOR on efibootmgr line.
15746
323a8e9c
VS
157472011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
15750
1b394975
IC
157512010-12-31 Ian Campbell <ijc@hellion.org.uk>
15752
15753 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
15754 Xen and reorder menu item wording to make it clearer that this entry
15755 will launch Xen. Print separate messages when loading Xen and
15756 Linux.
15757
275bff5f
VS
157582010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
15761 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
15762 loop in case of incorrect amiga partmap.
15763
307806cb
VS
157642010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15765
15766 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
15767 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
15768 Reported by:EHeM.
15769
b12b923e
VS
157702010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15771
15772 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
15773 spurious warning.
15774 Reported by: crocket
15775
14b48a19
VS
157762010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
15779 Preload EFIemu.
15780 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
15781
693db2df
VS
157822010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15783
15784 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
15785 is loaded
15786 (grub_cmd_xnu_kextdir): Likewise.
15787 (grub_cmd_xnu_splash): Likewise.
15788
c7638645
VS
157892010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 Avoid using Reed-Solomon with 0 redundancy.
15792
15793 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
15794 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
15795 or 0 redundancy.
15796 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
15797 (grub_reed_solomon_recover): Likewise.
15798
25dd4780
VS
157992010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15800
15801 Don't use disk subsystem in freebsd_boot.
15802
15803 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
15804 (freebsd_biosdev): Likewise.
15805 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
15806 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
15807
0b2db943
VS
158082010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15809
15810 Handling of files of unknown size is currently limited. They can't be
15811 used e.g. for initrd or modules. Moreover gzip handling of not
15812 easily seekable files is buggy. Disable unknown file size for now. May
15813 be inefficient but works.
15814
15815 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
15816 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
15817
5c408d0f
MP
158182010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
15819
15820 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
15821 floppy probe.
15822
190a011a
JD
158232010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
15824
15825 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
15826
022d01b8
SL
158272010-12-25 Shea Levy <shlevy>
15828
15829 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
15830
c4855fdc
VS
158312010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15832
15833 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
15834 Windows Server 2008.
15835 Reported by: Devin Giddings.
15836
0354b867
VS
158372010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15838
15839 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
15840 writing an error message because of async power management.
15841 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
15842 (grub_reboot): Likewise.
15843
ab66c69f
JU
158442010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
15845
15846 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
15847 keep unit tests from failing when they shouldn't.
15848
1426ef35
CW
158492010-12-21 Colin Watson <cjwatson@ubuntu.com>
15850
15851 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
15852 previous patch increased the size of the RS code by 20 bytes (at
15853 least with gcc-4.4), so increase this by 20 bytes to match.
15854 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15855
20641b6b
CW
158562010-12-21 Colin Watson <cjwatson@ubuntu.com>
15857
15858 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
15859 scratch area. Make sure to initialise chosen in standalone mode as
15860 well as non-standalone.
15861 Reported by: Robert Hooker and Andy Whitcroft.
15862 Tested by: Andy Whitcroft.
15863
d060ad60
CW
158642010-12-21 Colin Watson <cjwatson@ubuntu.com>
15865
15866 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
15867 constructing a new unescaped string and passing it to grub_xputs in
15868 one go, rather than passing characters to grub_printf one at a time.
15869
b889cfad
CW
158702010-12-21 Colin Watson <cjwatson@ubuntu.com>
15871
15872 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
15873 initialising utf16.
15874
4e01b6c8
CW
158752010-12-21 Colin Watson <cjwatson@ubuntu.com>
15876
15877 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
15878 comment. Add an extra layer of quotation, requiring the output of
15879 this function to be used in a printf format string.
15880 (gettext_printf): New function.
15881 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
15882 Extract translatable strings from here-documents and use a temporary
15883 variable instead, so that xgettext can find them.
15884 * util/grub.d/10_kfreebsd.in: Likewise.
15885 * util/grub.d/10_linux.in: Likewise.
15886 * util/grub.d/20_linux_xen.in: Likewise.
15887
15888 * po/grub.d.sed: New file.
15889 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
15890 arguments. Set c-format flags on all strings extracted from
15891 util/grub.d/ (xgettext refuses to include these itself for strings
15892 it extracted from a shell file, but these really are c-format).
15893
5318fe98
VS
158942010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15895
15896 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
15897 Avoid next pointing to nowhere.
15898
6c85b743
VS
158992010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15900
15901 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
15902 rather than assuming than rootblock is exactly in the middle.
15903 (grub_affs_label): Likewise.
15904
a2a08a35
VS
159052010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15906
15907 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
15908 reserved_first_sector to 0.
15909 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
15910 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
15911 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
15912
7059d1ec
VS
159132010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 Fix handling of UTF-16 UDF labels.
15916
15917 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
15918 (read_string): .. here.
15919 (grub_udf_label): Use read_string.
15920
30aff4cb
BC
159212010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
15922
15923 * grub-core/normal/menu_entry.c (run): Execute commands from menu
15924 editor under argument scope.
15925 Reported by: Jordan Uggla
15926
5cf86f4b
VS
159272010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
15930
32570200
CW
159312010-12-18 Colin Watson <cjwatson@ubuntu.com>
15932
15933 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
15934 line, and other keys scroll an entire page (previous handling was
15935 for \r and \n to scroll a page and other keys to scroll two lines).
15936
e1dffcf2
VS
159372010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15938
15939 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15940 Set ptrdest to correct get_physical_target_address rather than
15941 incorrect get_virtual_current_address.
15942
b04298cf 159432010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
15944
15945 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
15946 correct cat to grub_uint8_t * rather than grub_uint32_t *.
15947
5367ecd3
CW
159482010-12-10 Colin Watson <cjwatson@ubuntu.com>
15949
15950 * .bzrignore: Ignore grub-core/rs_decoder.S.
15951
1fb430f8
CW
159522010-12-10 Colin Watson <cjwatson@ubuntu.com>
15953
15954 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
15955 .mo/.mo.gz opening sequence to ...
15956 (grub_mofile_open_lang): ... here.
15957 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
15958 * util/grub.d/00_header.in (grub_lang): Include country part of
15959 locale.
15960 Reported by: Mario Limonciello.
15961
a94a6671
RM
159622010-12-09 Robert Millan <rmh@gnu.org>
15963
15964 * NEWS: Document addition of ZFS support.
15965
24b7938b
CW
159662010-12-04 Colin Watson <cjwatson@ubuntu.com>
15967
15968 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
15969 rather than `/ 2', as the latter requires -Wa,--divide which would
15970 require bumping our minimum binutils version.
15971
bddc3ef6
BC
159722010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
15973
15974 * util/grub-script-check.c (main): Print script line number on
15975 error.
15976
bf78d5b2
RM
159772010-12-01 Robert Millan <rmh@gnu.org>
15978
15979 * grub-core/fs/zfs/zfs.c: New file.
15980 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
15981 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
15982 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
15983 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15984
15985 * include/grub/zfs/dmu.h: Likewise.
15986 * include/grub/zfs/dmu_objset.h: Likewise.
15987 * include/grub/zfs/dnode.h: Likewise.
15988 * include/grub/zfs/dsl_dataset.h: Likewise.
15989 * include/grub/zfs/dsl_dir.h: Likewise.
15990 * include/grub/zfs/sa_impl.h: Likewise.
15991 * include/grub/zfs/spa.h: Likewise.
15992 * include/grub/zfs/uberblock_impl.h: Likewise.
15993 * include/grub/zfs/vdev_impl.h: Likewise.
15994 * include/grub/zfs/zap_impl.h: Likewise.
15995 * include/grub/zfs/zap_leaf.h: Likewise.
15996 * include/grub/zfs/zfs.h: Likewise.
15997 * include/grub/zfs/zfs_acl.h: Likewise.
15998 * include/grub/zfs/zfs_znode.h: Likewise.
15999 * include/grub/zfs/zil.h: Likewise.
16000 * include/grub/zfs/zio.h: Likewise.
16001 * include/grub/zfs/zio_checksum.h: Likewise.
16002
16003 * Makefile.util.def: Build ZFS into libgrubmods.
16004 * grub-core/Makefile.core.def: Build zfs.mod.
16005
3f0f3831
SJ
160062010-11-30 Szymon Janc <szymon@janc.net.pl>
16007
16008 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
16009 variable.
16010 * grub-core/commands/wildcard.c (match_files): Likewise.
16011
3a4253b2
RM
160122010-11-30 Robert Millan <rmh@gnu.org>
16013
16014 * grub-core/loader/i386/bsd.c
16015 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
16016 whether kernel is loaded using grub_loader_is_loaded(), rather
16017 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
16018 certain error conditions.
16019
8c317b27
RM
160202010-11-30 Robert Millan <rmh@gnu.org>
16021
c5c9cd3e
RM
16022 * grub-core/commands/echo.c: Include `<grub/term.h>'.
16023 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 16024
49d3ab46
VS
160252010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16026
16027 Avoid using tricks for initialising endian variables.
16028
16029 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
16030 Make const.
16031 (GRUB_MOD_INIT): Don't byte-swap.
16032 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16033 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
16034 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
16035 (grub_swap_bytes32_compile_time): Likewise.
16036 (grub_cpu_to_le32_compile_time): Likewise.
16037 (grub_cpu_to_le16_compile_time): Likewise.
16038
f420a804
VS
160392010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16040
16041 * util/grub-setup.c (setup): Stop recommending --force. People who
16042 understand the dangers of blocklists are able to find this option
16043 anyway and the ones who don't shouldn't use it anyway.
16044
4e7db17b
RM
160452010-11-26 Robert Millan <rmh@gnu.org>
16046
16047 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
16048 Update all users.
16049
9be57a0d
CW
160502010-11-26 Colin Watson <cjwatson@ubuntu.com>
16051
16052 Fix LVM-on-RAID probing.
16053
16054 * util/grub-probe.c (probe): Remember which disk was detected as
16055 RAID (perhaps an LVM physical volume). Use that disk's raidname
16056 rather than that of the top-level disk.
16057
2c7859b3 160582010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 16059
d7647bb6
BC
16060 Fix cmdline argument quotes for setparams command of menuentry
16061 definitions.
7e623b0d
BC
16062
16063 * grub-core/commands/menuentry.c (setparams_prefix): Use single
16064 quotes for arguments.
f866fe80 16065 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 16066 grub_strchrsub function instead.
f866fe80 16067
7955bea0 16068 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 16069
74f72a64
CW
160702010-11-24 Colin Watson <cjwatson@ubuntu.com>
16071
16072 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
16073 effort by skipping "." and ".." entries up-front.
16074 Suggested by: Michael Lazarev.
16075
5a407278
CW
160762010-11-24 Colin Watson <cjwatson@ubuntu.com>
16077
16078 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
16079 ldflags to ldadd, to fix link line ordering.
16080 (none_decompress): Likewise.
16081
3030d8ec
CW
160822010-11-24 Colin Watson <cjwatson@ubuntu.com>
16083
16084 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
16085 platforms.
16086 (grub-emu-lite): Remove kern/emu/cache.S.
16087
b7fbac12
CW
160882010-11-23 Colin Watson <cjwatson@ubuntu.com>
16089
16090 * util/deviceiter.c (compare_devices): If the by-id link for a
16091 device couldn't be resolved, fall back to sorting by the by-id link
16092 rather than segfaulting.
16093 Reported and tested by: Daniel Mierswa.
16094
5225f328
CW
160952010-11-23 Colin Watson <cjwatson@ubuntu.com>
16096
16097 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
16098 ldflags, to fix link line ordering.
16099
038b3ce8
CW
161002010-11-23 Colin Watson <cjwatson@ubuntu.com>
16101
16102 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
16103 linkers are picky about this.
16104
bf16e98e
CW
161052010-11-23 Colin Watson <cjwatson@ubuntu.com>
16106
16107 * grub-core/Makefile.am (command.lst): Adjust sed expression
16108 ordering so that extended and priority commands aren't treated as
16109 ordinary commands.
16110
7242bab6
CW
161112010-11-23 Colin Watson <cjwatson@ubuntu.com>
16112
16113 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16114 Remove byte-swapping function calls, which are not valid in
16115 structure initialisers.
16116 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
16117 non-const.
16118 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
16119 grub_gpt_partition_type_bios_boot.
16120
14e8b279
CW
161212010-11-22 Colin Watson <cjwatson@ubuntu.com>
16122
16123 Fix test program build on GNU/kFreeBSD.
16124
16125 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
16126 $(LIBNVPAIR)' library dependencies.
16127
e6f63338 161282010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
16129
16130 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
16131
cf8ffc38
CW
161322010-11-22 Colin Watson <cjwatson@ubuntu.com>
16133
16134 * util/grub-install.in: Remove excessive quoting that broke
16135 installations to RAID devices.
16136
7f8b0fd7
VS
161372010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16138
16139 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
16140 bootloader version instead of 0.
16141
dfd240b1
VS
161422010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16143
16144 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
16145 warning.
16146
7b61e609
VS
161472010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16148
16149 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
16150 retrieve the metadat sector if size isn't known.
16151 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16152
9dfe92d0
RM
161532010-11-18 Robert Millan <rmh@gnu.org>
16154
16155 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
16156 with grub_memcmp().
16157
41cc919e
VS
161582010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
16161 arrow.
16162 Reported by: Jordan Uggla.
16163
1afcc914
VS
161642010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 Make better UTF compliant.
16167
16168 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
16169 sequences as incorrect.
16170 (grub_is_valid_utf8): Likewise.
16171 (grub_utf8_to_ucs4): Likewise.
16172 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
16173 (grub_ucs4_to_utf8_alloc): Likewise.
16174 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
16175
f1808884
VS
161762010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16177
16178 Make legacy_source behave like source.
16179
16180 * grub-core/commands/legacycfg.c (legacy_file): Don't call
16181 grub_show_menu.
16182 (grub_cmd_legacy_source): Call grub_show_menu if needed.
16183
24ec575b
CW
161842010-11-16 Colin Watson <cjwatson@debian.org>
16185
16186 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
16187 (-Wunused implies -Wunused-parameter, but not vice versa).
16188
72b7c7aa
CW
161892010-11-16 Colin Watson <cjwatson@ubuntu.com>
16190
16191 * configure.ac: Make error messages less confusing by testing for
16192 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
16193 accepted, but produces a diagnostic if something else is wrong).
16194
e98937aa
VS
161952010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16196
16197 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
16198 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
16199 (now unused).
16200 (grub_keyboard_controller_init)
16201 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
16202 read the initial state since controller isn't inited yet.
16203
f6bbabc3
VS
162042010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16205
16206 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
16207 allocate_regbeg may need to create new chunk header.
16208
22e7dbb2
VS
162092010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 Fix quoting in legacy parser.
16212
16213 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
16214 single quotes.
16215 (grub_legacy_parse): Likewise.
16216 Reported by: Jordan Uggla.
16217 Tested by: Jordan Uggla.
16218
03f80960
VS
162192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16220
16221 Don't add -lgcc on i386 and x86_64.
16222
16223 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
16224 * conf/Makefile.common (LDADD_KERNEL): Likewise.
16225 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
16226
779dc15b
VS
162272010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16228
16229 * configure.ac: Add -Wno-trampolines when supported.
16230
d20a3b37
MV
162312010-11-14 Modestas Vainius <modax@debian.org>
16232
16233 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
16234 fakeraid.
16235
e5360933
GC
162362010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16237
16238 Add generic logical block size support for UDF.
16239
16240 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
16241 (GRUB_UDF_BLKSZ): Removed.
16242 (struct grub_udf_data): New field "lbshift" to hold the logical block
16243 size of the file system in log2 format. All users updated.
16244 (sblocklist): Change type to unsigned.
16245 (grub_udf_mount): Change type of "sblklist" to unsigned.
16246 Move AVDP search before VRS recognition, because the latter requires
16247 knowledge of the logical block size, which is detected during the
16248 former.
16249 Detect and validate logical block size during AVDP search, adding
16250 support for block sizes 512, 1024 and 4096.
16251 Make VRS recognition independent of block size.
16252
cb0229c5
GC
162532010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16254
16255 Properly handle deleted files on UDF.
16256
16257 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
16258 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
16259 set.
16260
406858a8
GC
162612010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16262
16263 Support reading files larger than 2 GiB.
16264
16265 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
16266 "offset" to grub_off_t.
16267 (grub_udf_read_file): Likewise for parameter "pos".
16268
130da6a7
VS
162692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
16272 unavailable.
16273 (Simple configuration): Refer to Changes from GRUB Legacy about
16274 save_env availability.
16275
65e93f6b
VS
162762010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16277
16278 * util/grub-install.in: Ignore empty partition table detection
16279 instead of trying to include part_ module.
16280
1fd08bf1
VS
162812010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16282
16283 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
16284 LVM on RAID support.
16285
de1a024f
VS
162862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16287
16288 Properly define WORDS_BIGENDIAN in wrapped environments.
16289
16290 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
16291 definition.
16292 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
16293
16294 Reported by: Manoel Rebelo Abranches.
16295 Tested by: Manoel Rebelo Abranches.
16296
bc5dd0b9
VS
162972010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16298
16299 * util/grub-mkconfig.in: Fix quoting.
16300
58c184be
VS
163012010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16302
16303 Support big ext2 files.
16304
16305 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
16306 (grub_ext2_read_block): Support triple indirect blocks.
16307 (grub_ext2_read_file): Use 64-bit types and read size_high.
16308 (grub_ext2_open): Read size_high.
16309 Reported by: Ximin Luo.
16310 Tested by: Manoel Rebelo Abranches.
16311
5f0c02b3
VS
163122010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16313
16314 * util/grub-install.in: Handle filenames containing spaces.
16315 Reported by: Jordan Uggla.
16316 Tested by: Jordan Uggla.
16317
4417aae6
VS
163182010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 * util/grub-mkconfig.in (grub_script_check): New variable.
16321 Use grub_script_check instead of grub-script-check.
16322 Reported by: Barry Jackson.
16323
7625a68e
VS
163242010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16325
16326 * docs/grub.texi (menu): Correct the order.
16327 Reported by: D. Hugh Redelmeier.
16328
10001ac5
VS
163292010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16330
16331 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
16332 jump.
16333
9c4cf53b
MRA
163342010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
16335
10001ac5
VS
16336 * include/grub/elfload.h (grub_elf32_size): New parameter.
16337 All users updated.
9c4cf53b
MRA
16338 Return maximum segments alignment.
16339 (grub_elf64_size): Likewise.
16340 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
16341 Return maximum segments alignment.
16342 (grub_elf64_size): Likewise.
16343 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
16344 (grub_linux_claimmap_iterate): New function. Uses the
16345 "available" property in the "memory" node for memory allocation
16346 for kernel in the PowerPC loader.
9c4cf53b
MRA
16347 (grub_linux_load32): Correctly find linux entry point offset.
16348 (grub_linux_load64): Likewise.
16349
d2bf06bf
RM
163502010-11-07 Robert Millan <rmh@gnu.org>
16351
16352 On mips-yeeloong, build with -march=loongson2f when this flag is
16353 available (GCC >= 4.4).
16354 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
16355 `-march=mips3'.
16356 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
16357 or otherwise add -march=mips3.
16358
898c99a2
BC
163592010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
16360
87220a68
BC
16361 Suppress shell expansion on echo '*' and echo "*" like cases.
16362 Reported by: Jordan Uggla.
898c99a2
BC
16363
16364 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
16365 string arguments before shell expansion.
16366 * tests/grub_cmd_echo.in: New testcases.
16367
4f9b406a
RM
163682010-11-07 Robert Millan <rmh@gnu.org>
16369
16370 * conf/mips-qemu-mips.rmk: Remove stale file from previous
16371 transition.
16372
80c6d25e
VS
163732010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
16374
16375 * grub-core/kern/emu/hostdisk.c
16376 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
16377
4a1a0153
VS
163782010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16379
16380 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
16381 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
16382 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
16383
34706ddc
VS
163842010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16385
16386 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
16387
6972dea9
VS
163882010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16389
16390 * util/grub-install.in: Replace useless recomendation to pass
16391 --modules with a recomendation to report a bug.
16392
9c693bd6
VS
163932010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16394
16395 Properly register serial terminfo.
16396 Reported by: Jordan Uggla
16397
16398 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
16399 const.
16400 (grub_serial_terminfo_output_template): Likewise.
16401 (grub_cmd_serial): Register "serial" with terminfo.
16402 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
16403 grub_serial_terminfo_output.
16404
6c9e4c0c
RM
164052010-11-05 Robert Millan <rmh@gnu.org>
16406
16407 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
16408 needed).
16409
b9b3839f
RM
164102010-11-05 Robert Millan <rmh@gnu.org>
16411
16412 On Yeeloong, pass machine type information to Linux.
16413
16414 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
16415 (LOONGSON_MACHTYPE): New macro, set to
16416 "machtype=lemote-yeeloong-2f-8.9inches".
16417 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
16418 additional argument to Linux.
16419
1a3aaff4
RM
164202010-11-04 Robert Millan <rmh@gnu.org>
16421
16422 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
16423 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
16424 (its SATA disks are detected as slaveless IDE master drives on
16425 kFreeBSD).
16426 Reported by Carsten Aulbert.
16427
a75f4f62
CW
164282010-11-02 Colin Watson <cjwatson@ubuntu.com>
16429
16430 * util/bin2h.c (main): Fix spelling error in generated output.
16431
33b4b0c6
GS
164322010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
16433
16434 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
16435
2b36fbf4
VS
164362010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16437
16438 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
16439 vga= option is supplied.
16440
74aaf558
VS
164412010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16442
16443 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
16444 * util/grub.d/10_kfreebsd.in: Likewise.
16445 * util/grub.d/10_linux.in: Likewise.
16446 * util/grub.d/20_linux_xen.in: Likewise.
16447
6428dec3
VS
164482010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16449
16450 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
16451 argument as an argument to no-argument option.
16452
f8729d98
VS
164532010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16454
16455 * util/grub.d/10_linux.in: Add missing load_video with explicit
16456 GRUB_GFXPAYLOAD_LINUX.
16457
89d68fa6
VS
164582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16459
16460 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
16461
3a1197cd
VS
164622010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16463
16464 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
16465 elements with invlid index.
16466 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16467 * grub-core/disk/raid.c (insert_array): Automatically reallocate
16468 members.
16469 * include/grub/raid.h (grub_raid_member): New struct.
16470 (grub_raid_array): Transform devices and start_sector into usage of
16471 grub_raid_member. All users updated
16472 (allocated_devs): New member.
16473
71574288
VS
164742010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16475
16476 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
16477 is modified
16478
8d40ec65
BC
164792010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
16480
16481 NetBSD build fix for getline function conflict from gnulib.
16482
16483 * Makefile.util.def (libgrubkern.a): New library for grub kernel
16484 components that depend on gnulib headers.
16485 (libgrubmods.a): Renamed from earlier libgrub.a.
16486 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
16487
95b9257e
VS
164882010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16489
16490 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
16491 install rather than creating a broken install.
16492
26c53dc6
VS
164932010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16494
16495 * util/grub-setup.c (argp): Remove misleading example of installing to
16496 a partition.
16497
4171b3c5
VS
164982010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16499
16500 * util/grub-setup.c (setup): Clarify the error message.
16501
18568d18
VS
165022010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16503
16504 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
16505
4f6a2e21
VS
165062010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16507
16508 * grub-core/kern/emu/misc.c
16509 (grub_make_system_path_relative_to_its_root)
16510 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
16511
165122010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
16513
16514 * grub-core/kern/emu/misc.c
16515 (grub_make_system_path_relative_to_its_root): Revert r2882.
16516
e138c458
VS
165172010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
16518
16519 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
16520 useless field head. All users updated.
16521 (free_subchunk): Correct handling of IN_REGION subchunk.
16522
0cbcdf0e
CW
165232010-10-22 Colin Watson <cjwatson@ubuntu.com>
16524
16525 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
16526 (Supported kernels): Likewise.
16527
b65ea155
GS
165282010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16529
16530 Make mktemp invocations portable.
16531
16532 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
16533 exit if mktemp fails.
16534 * tests/grub_script_blockarg.in: Likewise.
16535 * tests/partmap_test.in: Likewise.
16536 * tests/util/grub-shell-tester.in: Likewise.
16537 * tests/util/grub-shell.in: Likewise.
16538 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16539 * Makefile.am: Likewise, and chain shell commands with `&&'
16540 instead of ';'.
16541 * util/grub-mkrescue.in: Use the same explicit template as above, and
16542 exit if mktemp fails.
16543
05f43cdd
BC
165442010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
16545
16546 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
16547 Linux kernel, reported by Dennis Schridde.
16548
800e6a9b
SJ
165492010-10-17 Szymon Janc <szymon@janc.net.pl>
16550
16551 * grub-core/normal/auth.c (grub_auth_check_authentication):
16552 Set-but-not-used variable removed.
16553
d82df574
VS
165542010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16555
16556 * docs/grub.texi (GNU/Linux): Document APM unavailability with
16557 32-bit linux protocol.
16558
7bced458
VS
165592010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16560
16561 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
16562 cursor shape for sanity.
16563
5b027690
VS
165642010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16565
16566 * docs/grub.texi (Installation): Document buggy BIOS install.
16567
ba5f65cf
VS
165682010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16569
16570 * docs/grub.texi (Installation): Indent.
16571
fdf2ec9c
VS
165722010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16573
16574 * util/grub-setup.c (setup): New parameter allow_floppy.
16575 (arguments): New member allow_floppy.
16576 (argp_parser): Handle --allow-floppy.
16577 (main): Pass allow_floppy.
16578 * util/grub-install.in: New option --allow-floppy passed though to
16579 grub-setup.
16580
861dfd4c
VS
165812010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16582
16583 * util/grub-install.in: Handle partitionless disks.
16584
f77a8c24
VS
165852010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16586
16587 * util/grub-setup.c (setup): Don't clean blocklists before readability
16588 verfification.
16589
27d9ee32
VS
165902010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16591
16592 * docs/grub.texi (Installation): Document embedding zone. Remove
16593 obsolete grub-install example.
16594
6bdda8f8
SJ
165952010-10-16 Szymon Janc <szymon@janc.net.pl>
16596
16597 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
16598 Set-but-not-used variable ifdef'ed.
16599 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
16600 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
16601 variable removed.
16602 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
16603 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
16604 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
16605 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
16606 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
16607 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
16608 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
16609 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
16610 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
16611 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
16612 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
16613 Likewise.
16614
e19b016b
VS
166152010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
16618 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
16619 enum value.
16620
6c8d3002
VS
166212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16622
16623 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
16624 synonym to _S5_. Needed for some DSDTs.
16625
c32b51c9
VS
166262010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16627
16628 Userspace ACPI parser debugging.
16629
16630 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
16631 headers and add relevant defines. Don't include standard headers.
16632 (main) [GRUB_DSDT_TEST]: New function.
16633 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
16634 Don't declare functions.
16635
fbfbeb39
VS
166362010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16637
16638 Remove dead grub_efi_mm_fini.
16639
16640 * grub-core/kern/efi/mm.c (allocated_page): Removed.
16641 (ALLOCATED_PAGES_SIZE): Likewise.
16642 (MAX_ALLOCATED_PAGES): Likewise.
16643 (allocated_pages): Likewise.
16644 (grub_efi_allocate_pages): Don't record allocated pages.
16645 (grub_efi_free_pages): Likewise.
16646 (grub_efi_mm_init): Likewise.
16647 (grub_efi_mm_fini): Removed.
16648
65f7ed7c
VS
166492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16650
16651 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
16652 (grub_efi_mm_init): Take into account the memory map size increase.
16653
24977b44
VS
166542010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16655
16656 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
16657 (serial_hw_put): Wait based on real time rather than port reads. Don't
16658 roken ports.
16659 * include/grub/serial.h (grub_serial_port): New field broken.
16660
1eb01cd2
RM
166612010-10-16 Robert Millan <rmh@gnu.org>
16662
16663 * grub-core/kern/emu/misc.c
16664 (grub_make_system_path_relative_to_its_root): Fix premature return
16665 when processing non-root ZFS filesystems.
5f8b440b 16666 Reported by Sergio Talens-Oliag.
1eb01cd2 16667
2d5fed60
RM
166682010-10-15 Robert Millan <rmh@gnu.org>
16669
16670 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
16671 guarantee compressed ones are processed first.
16672
d0f4c1ea
VS
166732010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16674
16675 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
16676 grub_efiemu_autocore.
16677
d87c681f
VS
166782010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16679
16680 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
16681 rather than 0x1b.
16682 (grub_console_getkey): Use correct jae opcode rather than ja.
16683
219b3564
RM
166842010-10-12 Robert Millan <rmh@gnu.org>
16685
16686 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
16687 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
16688 variable. All references updated.
16689
16690 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
16691
20c6bb7e
VS
166922010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
16693
16694 Correctly distinguish mdraid flavours.
16695
16696 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
16697 (insert_array): New argument raid.
16698 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
16699 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
16700 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
16701
74baff84
VS
167022010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
16703
16704 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
16705 handling of special keys.
16706
3ef068df 167072010-10-02 Aleš Nesrsta <starous@volny.cz>
16708
c7980ad9
VS
16709 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
16710 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 16711
a9455194 167122010-10-02 Aleš Nesrsta <starous@volny.cz>
16713
c7980ad9
VS
16714 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
16715 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
16716 users updated.
a9455194 16717 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 16718 Use right endpoint when querying descriptor.
a9455194 16719
441cfe65
VS
167202010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
16721
16722 Clear out 0x80 color bit on EFI.
16723 Tested by: decoder
16724 Reported by: decoder and meta tech.
16725
16726 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
16727 (grub_console_setcolorstate): Clear out 0x80 bit.
16728 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
16729 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
16730 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
16731
bf26bcc4
VS
167322010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
16733
16734 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
16735 Set to "auto".
16736
6e3c515d
VS
167372010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16738
16739 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
16740 mo_file after freeing.
16741
e6d983ba
VS
167422010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16743
16744 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
16745
74ccb5b5
VS
167462010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16747
16748 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
16749 flags.
16750
17821956
VS
167512010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16752
16753 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
16754 usage.
16755
ee74fa48
VS
167562010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16757
16758 Put terminfo into core on ieee1275 and yeeloong (needed for console).
16759
16760 * gentpl.py: New groups terminfoinkernel and terminfomodule.
16761 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
16762 and terminfo.h when needed.
16763 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
16764 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
16765 (terminfo): Enable only on terminfokernel.
16766 (extcmd): Likewise.
16767 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
16768 * include/grub/lib/arg.h: Likewise.
16769 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
16770 incorrect usage of ->.
16771
aa438e68
VS
167722010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16773
16774 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
16775 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
16776
57994012
VS
167772010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16778
16779 Fix coreboot compilation.
16780
16781 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16782 Take VBE info into account even if only text is supported.
16783 (fill_vbe_info): Take into account the case when only VGA text
16784 is supported.
16785 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
16786 on coreboot, multiboot and qemu.
16787
2a406611
VS
167882010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16789
16790 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
16791 debug messages.
16792 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
16793
d33613fc
VS
167942010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16795
16796 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
16797 parameters.
16798
44a1b432
VS
167992010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16800
16801 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
16802 if they were BSD-style.
16803
edde54e6
VS
168042010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 * grub-core/boot/i386/pc/lnxboot.S: Replace
16807 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
16808 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
16809
b65830fa
VS
168102010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16811
16812 Write embedding zone using Reed-Solomon.
16813
16814 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
16815 * grub-core/Makefile.am (rs_decoder.S): New target.
16816 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
16817 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
16818 (multiboot): Move to RS part.
16819 (post_reed_solomon): New label.
16820 (grub_boot_drive): Move to non-RS part since it's modified in memory
16821 on boot.
16822 Include rs_decoder.S.
16823 * grub-core/lib/reed_solomon.c: New file.
16824 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
16825 New definition.
16826 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
16827 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
16828 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
16829 * include/grub/partition.h (grub_partition_map): Change prototype of
16830 embed to allow returning additional sectors.
16831 * include/grub/reed_solomon.h: New file.
16832 * util/grub-setup.c (setup): Handle Reed-Solomon.
16833
0b4b227f
CW
168342010-09-28 Colin Watson <cjwatson@ubuntu.com>
16835
16836 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
16837 i386 and x86-64 definedness tests.
16838
f772623b
YB
168392010-09-27 Yves Blusseau <blusseau@zetam.org>
16840
16841 Fix generation of kernel_syms.lst
16842
16843 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
16844 ASM_PREFIX
16845
8e57a6ca
RM
168462010-09-26 Robert Millan <rmh@gnu.org>
16847
16848 Support degraded ZFS arrays in "grub-probe -t device" resolution.
16849
16850 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
16851 the pool is an array of devices, iterate through it and return the
16852 first device that passes a stat() test (instead of blindly returning
16853 the first one).
16854
f9130836
RM
168552010-09-26 Robert Millan <rmh@gnu.org>
16856
16857 Build fixes for GNU/kFreeBSD.
16858
16859 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
16860 to programs that require ZFS conversion.
16861 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
16862 kernels that don't have FLOPPY_MAJOR.
16863
96510faf
BC
168642010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16865
16866 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
16867
449333eb
BC
168682010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16869
16870 Fix grub-emu build.
16871
16872 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
16873 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
16874 mdraid09 and mdraid1x.
16875
e1fd1939
CW
168762010-09-24 Colin Watson <cjwatson@ubuntu.com>
16877
16878 Re-enable grub-extras.
16879
16880 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
16881 avoid confusing Automake. Run autogen only twice, once for the top
16882 level and once for grub-core. Add Makefile.util.def and
16883 Makefile.core.def from extra modules to the appropriate autogen
16884 invocations. If Makefile.common exists in an extra module, include
16885 it in both Makefile.util.am and grub-core/Makefile.core.am;
16886 similarly, include any Makefile.util.common file in Makefile.util.am
16887 and any Makefile.core.common file in grub-core/Makefile.core.am.
16888 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
16889 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
16890 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
16891 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
16892
16893 * gentpl.py (gvar_add): Turn GVARS into a set.
16894 (global_variable_initializers): Sort global variables on output.
16895 (vars_init): New function.
16896 (first_time): Likewise.
16897 (library): Ensure that non-global variable initialisations are
16898 emitted before the first time we emit code for a library block.
16899 Append to variables rather than setting them. Only emit
16900 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
16901 each conditional path.
16902 (program): installdir() emits an Autogen macro, so must be passed to
16903 var_add rather than gvar_add.
16904 (data): Likewise.
16905 (script): Likewise.
16906 (rules): New function, centralising handling for different target
16907 types. Set up Guile association lists for first_time and vars_init,
16908 and send most output to a diversion so that variable initialisations
16909 can be emitted first.
16910 (module_rules): Use new rules function.
16911 (kernel_rules): Likewise.
16912 (image_rules): Likewise.
16913 (library_rules): Likewise.
16914 (program_rules): Likewise.
16915 (script_rules): Likewise.
16916 (data_rules): Likewise.
16917
16918 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
16919
16920 * .bzrignore: Add contrib and grub-core/contrib. Remove
16921 grub-core/Makefile.gcry.am.
16922
1d12cf29
YB
169232010-09-24 Yves Blusseau <blusseau@zetam.org>
16924
16925 * grub-core/lib/LzFind.c: Add missing include.
16926 * grub-core/lib/LzmaEnc.c: Likewise.
16927 * grub-core/script/lexer.c: Likewise.
16928 * grub-core/script/yylex.l: Likewise.
16929 * util/grub-macho2img.c: Likewise.
16930 * util/grub-menulst2cfg.c: Likewise.
16931 * util/grub-mklayout.c: Likewise.
16932 * util/grub-mkpasswd-pbkdf2.c
16933 * util/grub-mkrelpath.c: Likewise.
16934 * util/resolve.c: Likewise.
16935
dd363028
BC
169362010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
16937
16938 * Makefile.util.def (example_unit_test): Add
16939 grub-core/gnulib/libgnu.a.
16940
f5a109e2
GS
169412010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
16942
16943 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
16944
6d0fa83c
VS
169452010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
16946
16947 Support xz compression on yeeloong.
16948
16949 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
16950 * configure.ac: Check for LZMA.
16951 * grub-core/Makefile.core.def (xz_decompress): New target.
16952 (none_decompress): Likewise.
16953 * grub-core/boot/decompressor/minilib.c: New file.
16954 * grub-core/boot/decompressor/none.c: Likewise.
16955 * grub-core/boot/decompressor/xz.c: Likewise.
16956 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
16957 * grub-core/kern/mips/cache_flush.S: Likewise.
16958 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
16959 * grub-core/kern/mips/startup.S: Move first stage to ...
16960 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
16961 nomacro.
16962 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
16963 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
16964 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
16965 Allocate statically.
16966 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
16967 Allocate statically or use scratch. Don't check CRC32.
16968 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
16969 Allocate statically. Don't check CRC32.
16970 * include/grub/decompressor.h: New file.
16971 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
16972 Removed.
16973 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
16974 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
16975 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
16976 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
16977 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
16978 * util/grub-mkimage.c (grub_compression_t): New type.
16979 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
16980 (image_target_desc): New field default_compression.
16981 (image_targets): Adjust yeeloong targets.
16982 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
16983 (compress_kernel): New parameter comp.
16984 (generate_image): Likewise. Handle new compression case.
16985 (options): New option --compression
16986 (help): Likewise.
16987 (main): Handle new option.
16988
1b655af6
GS
169892010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
16990
16991 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
16992
8f03f0b5
CW
169932010-09-22 Colin Watson <cjwatson@ubuntu.com>
16994
16995 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
16996 typo in __i386__ conditional.
16997
7835dfd3
VS
169982010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
16999
17000 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
17001 include.
17002
e255597e
VS
170032010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17004
6d0fa83c 17005 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
17006
17007 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
17008 new tags as supported.
17009 (acpiv2_size): New function.
17010 (grub_multiboot_get_mbi_size): Take new tags into account.
17011 (grub_multiboot_make_mbi): Add new tags.
17012 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 17013
6cc14051 170142010-09-21 Aleš Nesrsta <starous@volny.cz>
17015
17016 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
17017 Added missing configuration of USB device.
17018
df7769d8
CW
170192010-09-21 Colin Watson <cjwatson@ubuntu.com>
17020
17021 * grub-core/normal/menu_entry.c (run): Make sure we always return
17022 a value.
17023
b031012d
CW
170242010-09-21 Colin Watson <cjwatson@ubuntu.com>
17025
17026 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
17027 NumberOfPages is UINT64 according to the UEFI specification, not
17028 UINTN. Fix printf format.
17029
174de8f3
CW
170302010-09-21 Colin Watson <cjwatson@ubuntu.com>
17031
17032 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
17033 `err' to grub_usb_err_t.
17034 Reported and tested by: KESHAV P.R.
17035
d7dbe923
CW
170362010-09-21 Colin Watson <cjwatson@ubuntu.com>
17037
17038 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
17039 tpart non-const, so that we can assign to it. (Since this is a
17040 typedef, the constness refers to the pointer rather than what it
17041 points to.)
17042
8d5e2af3
CW
170432010-09-21 Colin Watson <cjwatson@ubuntu.com>
17044
17045 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
17046 $(top_srcdir)/grub-core/gnulib as well as
17047 $(top_builddir)/grub-core/gnulib.
17048 Reported by: KESHAV P.R.
17049
5c527783
CW
170502010-09-21 Colin Watson <cjwatson@ubuntu.com>
17051
17052 * util/grub-install.in: Fix the bootloader ID option to be
17053 consistently --bootloader-id, not --bootloader_id.
17054 Reported by: KESHAV P.R.
17055
d309a16e
CW
170562010-09-21 Colin Watson <cjwatson@ubuntu.com>
17057
17058 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
17059 check hash checksum." consistently translatable.
17060
b830cd16
YB
170612010-09-21 Yves Blusseau <blusseau@zetam.org>
17062
17063 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
17064 $(top_builddir).
17065
c4fe27a8
CW
170662010-09-21 Colin Watson <cjwatson@ubuntu.com>
17067
17068 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
17069 (GRUB_MOD_INIT): Register sha1sum command.
17070 (GRUB_MOD_FINI): Unregister sha1sum command.
17071
a4c1d277
YB
170722010-09-21 Yves Blusseau <blusseau@zetam.org>
17073
17074 Keep boot and grub directory names in sync with utils scripts
17075
17076 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
17077 * config.h.in: Add previous macros.
17078 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
17079 * util/grub-install.in: Use $bootdir and $grubdir variables.
17080
4eff79d2
CW
170812010-09-21 Colin Watson <cjwatson@ubuntu.com>
17082
17083 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
17084 convert partition names to disk names if the new `convert' parameter
17085 is set.
17086 (grub_util_biosdisk_get_grub_dev): If opening the disk device
17087 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
17088 disk in its own right. This can happen with Xen disk images.
17089
934d7e44
YB
170902010-09-21 Yves Blusseau <blusseau@zetam.org>
17091
17092 * util/grub-editenv.c: Update strings to avoid warnings when generating
17093 grub.pot file.
17094 * util/grub-setup.c: Likewise.
934d7e44 17095
df3367cc
VS
170962010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17097
17098 * configure.ac: Change version to 1.99~beta0.
17099
77a94e98
VS
171002010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17101
17102 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17103 Add BADRAM.
17104 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
17105 Likewise.
17106 * include/multiboot.h: Resynced with specification.
17107 * include/multiboot2.h: Likewise.
17108
269004c1
CW
171092010-09-21 Colin Watson <cjwatson@ubuntu.com>
17110
17111 Fix po directory handling.
17112
17113 * configure.ac: Create po/Makefile.in rather than po/Makefile.
17114 * grub-core/gnulib/Makefile.am: Import gettext module.
17115 * m4/gnulib-cache.m4: Likewise.
17116 * m4/gnulib-comp.m4: Likewise.
17117 * m4/gettext.m4: New file, from gnulib.
17118 * m4/glibc2.m4: Likewise.
17119 * m4/iconv.m4: Likewise.
17120 * m4/intdiv0.m4: Likewise.
17121 * m4/intl.m4: Likewise.
17122 * m4/intldir.m4: Likewise.
17123 * m4/intlmacosx.m4: Likewise.
17124 * m4/intmax.m4: Likewise.
17125 * m4/inttypes-pri.m4: Likewise.
17126 * m4/lcmessage.m4: Likewise.
17127 * m4/lib-ld.m4: Likewise.
17128 * m4/lib-link.m4: Likewise.
17129 * m4/lib-prefix.m4: Likewise.
17130 * m4/lock.m4: Likewise.
17131 * m4/nls.m4: Likewise.
17132 * m4/po.m4: Likewise.
17133 * m4/printf-posix.m4: Likewise.
17134 * m4/progtest.m4: Likewise.
17135 * m4/threadlib.m4: Likewise.
17136 * m4/uintmax_t.m4: Likewise.
17137 * m4/visibility.m4: Likewise.
17138 * po/Makefile.am: Remove.
17139 * po/Makefile.in.in: New file, from gettext.
17140 ($(DOMAIN).pot-update): Support POTFILES-shell.
17141 * po/Makevars: New file.
17142 * po/POTFILES-shell: Rename to ...
17143 * po/POTFILES-shell.in: ... this. Update.
17144 * po/POTFILES: Rename to ...
17145 * po/POTFILES.in: ... this. Update.
17146 * po/Rules-quot: New file, from gettext.
17147 * po/boldquot.sed: Likewise.
17148 * po/en@boldquot.header: Likewise.
17149 * po/en@quot.header: Likewise.
17150 * po/insert-header.sin: Likewise.
17151 * po/quot.sed: Likewise.
17152 * po/remove-potcdate.sin: Likewise.
17153
3e0fa5d0
VS
171542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17155
17156 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
17157
ade9bd66
VS
171582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17159
17160 * util/grub.d/20_linux_xen.in: Use submenus.
17161
fc55cc4c
VS
171622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17163
17164 Support submenus.
17165
17166 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
17167 parameter submenu. All users updated.
17168 * grub-core/normal/main.c (free_menu): Rename to ...
17169 (grub_normal_free_menu): ... this. Made global.
17170 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
17171 if requested.
17172 * grub-core/normal/menu_entry.c (screen): New field submenu.
17173 (make_screen): Set submenu.
17174 (run): Open new context if requested.
17175 * include/grub/menu.h (grub_menu_entry): New field submenu.
17176 * include/grub/normal.h (grub_normal_free_menu): New proto.
17177
600cedf7
VS
171782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17179
17180 Menu entries extractor.
17181
17182 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
17183 variants.
17184 (GRUB_MOD_INIT): Register new variants.
17185 (GRUB_MOD_FINI): Unregister new variants.
17186 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
17187 into grub_cmd_legacy_source.
17188 (grub_cmd_legacy_source): Implement extractor variants.
17189 (GRUB_MOD_INIT): Register new variants.
17190 (GRUB_MOD_FINI): Unregister new variants.
17191 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
17192 as an extractor.
17193 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
17194 search as an extractor.
17195 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
17196 test as an extractor.
17197 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
17198 as an extractor.
17199 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
17200 (grub_env_new_context): New function.
17201 (grub_env_context_open): Likewise.
17202 (grub_env_extractor_open): Likewise.
17203 (grub_env_extractor_close): Likewise.
17204 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17205 grub_extractor_level.
17206 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
17207 * include/grub/env.h (grub_env_extractor_open): New proto.
17208 (grub_env_extractor_close): Likewise.
17209 * include/grub/normal.h (grub_extractor_level): New external variable.
17210
7bda3a87
VS
172112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17212
17213 Make cutmem accept a region specification.
17214 Suggested by: Samuel Thibault
17215
17216 * grub-core/mmap/mmap.c (parsemem): New function.
17217 (grub_cmd_cutmem): Handle new arguments.
17218
2ea57f88
VS
172192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17220
17221 New command cutmem.
17222
17223 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
17224 (GRUB_MOD_INIT): Register new command.
17225 (GRUB_MOD_FINI): Unregister new command.
17226
74342e31
VS
172272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17228
17229 Support some annoying BSD and Minix subpartitions.
17230
17231 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
17232 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
17233 Properly handle concatenation.
17234 * grub-core/kern/device.c (grub_device_iterate): Likewise.
17235 * grub-core/normal/completion.c (iterate_partition): Likewise.
17236 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
17237 contain partition. All users updated.
17238 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
17239 struct.
17240 (grub_openbsdlabel_partition_map): Likewise.
17241 (bsdlabel_partition_map_iterate): Rename to ..
17242 (iterate_real): ... this. New arguments sector, freebsd and pmap.
17243 (bsdlabel_partition_map_iterate): New function.
17244 (netopenbsdlabel_partition_map_iterate): Likewise.
17245 (netbsdlabel_partition_map_iterate): Likewise.
17246 (openbsdlabel_partition_map_iterate): Likewise.
17247 (GRUB_MOD_INIT): Register new partmaps.
17248 (GRUB_MOD_FINI): Unregister new partmaps.
17249 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
17250 (grub_partition_msdos_iterate): ... this. All users updated.
17251 Don't support embedding other than in a minix partition.
17252 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
17253 proto.
17254 * include/grub/partition.h (grub_partition): New field msdostype.
17255 * util/grub-install.in: Handle openbsd and netbsd types being in
17256 part_bsd module.
17257
1e8d555b
VS
172582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17259
17260 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
17261
17262 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
17263 * grub-core/Makefile.core.def (mdraid): Renamed to ...
17264 (mdraid09): ... this.
17265 (mdraid1x): New module.
17266 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
17267 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
17268
899d8af4
VS
172692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17270
17271 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
17272 vsprintf.
17273
40901acd
CW
172742010-09-20 Colin Watson <cjwatson@ubuntu.com>
17275
17276 * grub-core/commands/efi/lsefimmap.c: Correct header.
17277 * NEWS: Update.
17278
dfe3b247
CW
172792010-09-20 Colin Watson <cjwatson@ubuntu.com>
17280
17281 * util/grub-editenv.c (argp_parser): Don't pass translated strings
17282 as printf format strings; the translations might contain '%' which
17283 could cause a crash.
17284 (main): Likewise.
17285 * util/grub-fstest.c (argp_parser): Likewise.
17286 * util/grub-setup.c (argp_parser): Likewise.
17287 (main): Likewise.
17288
3286a4b4
VS
172892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17290
17291 Use argp in grub-fstest.
17292
17293 * util/grub-fstest.c: Don't include getopt.h.
17294 Include argp.h.
17295 (root): New variable.
17296 (args_count): Likewise.
17297 (nparm): Likewise.
17298 (num_disks): Likewise.
17299 (images): Likewise.
17300 (cmd): Likewise.
17301 (debug_str): Likewise.
17302 (args): Likewise.
17303 (options): Transformed to argp.
17304 (usage): Removed.
17305 (main): Split argument parsing into ...
17306 (argp_parser): ... this. Changed to argp format.
17307 (argp): New variable.
17308 (main): Use argp_parse.
17309
3dccbe4b
TG
173102010-09-20 Tristan Gingold <gingold@free.fr>
173112010-09-20 Robert Millan <rmh.grub@aybabtu.com>
173122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17313
17314 * grub-core/commands/efi/lsefimmap.c: New file.
17315 * grub-core/Makefile.core.def (lsefimmap): New module.
17316 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
17317
38c259a7
VS
173182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17319
17320 Pause the execution (10s max) if any errors are displayed so the user
17321 has a chance to see them.
17322
17323 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
17324 (grub_print_error): Increment grub_err_printed_errors.
17325 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
17326 execution if any errors were displayed.
17327 (show_menu): Remove old code for pause.
17328 * grub-core/normal/menu_entry.c (run): Likewise.
17329 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
17330 users updated.
17331 (grub_normal_get_char_counter): Likewise.
17332 * include/grub/err.h (grub_err_printed_errors): New external variable.
17333 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
17334
f218b09c
VS
173352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17336
17337 Support multiboot VBE info.
17338
17339 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17340 Take VBE info into account.
17341 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
17342 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
17343 Call fill_vbe_info when appropriate.
17344 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
17345 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
17346 as supported.
17347 (grub_multiboot_get_mbi_size): Take new tags into account.
17348 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
17349 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
17350 Call fill_vbe_tag when appropriate.
17351 (grub_multiboot_make_mbi): Properly align tags.
17352 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
17353 function.
17354 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
17355 proto.
17356 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
17357
a9cc5438
VS
173582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17359
17360 Suport manual terminal geometry specification.
17361
17362 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
17363 Save state in grub_ofconsole_terminfo_output.
17364 (grub_ofconsole_term): Use grub_terminfo_getwh.
17365 (grub_ofconsole_getwh): Removed.
17366 * grub-core/term/serial.c (grub_serial_getwh): Removed.
17367 (grub_serial_term): Use grub_terminfo_getwh.
17368 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
17369 (options): New struct.
17370 (OPTION_*): New enum.
17371 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
17372 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
17373 width and height.
17374 (grub_terminfo_getwh): New proto.
17375 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
17376
1a8fed20
VS
173772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17378
17379 Handle legacy "terminal" command.
17380
17381 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
17382 and FLAG_TERMINAL.
17383 (legacy_commands): Add terminal and title.
17384 (grub_legacy_parse): Handle terminal. Simplify title handling.
17385
41e9c57d
VS
173862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17387
17388 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
17389 parameters overflow.
17390
61c874c5
CW
173912010-09-20 Colin Watson <cjwatson@ubuntu.com>
17392
17393 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
17394 widthspec.h.
17395
17396 * docs/grub.texi (Shell-like scripting): Document `!'.
17397 (Network): Simplify using new i386-pc-pxe format. Mention
17398 grub-mknetdir.
17399
17400 * NEWS: Update.
17401
943682b4
CW
174022010-09-20 Colin Watson <cjwatson@ubuntu.com>
17403
17404 * Makefile.am (SUBDIRS): Restore "."; it's important to force
17405 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
17406 when needed.
17407
6d3d698d
CW
174082010-09-20 Colin Watson <cjwatson@ubuntu.com>
17409
17410 * grub-core/commands/efi/lsefisystab.c: Correct header.
17411 * grub-core/commands/efi/lssal.c: Likewise.
17412 * grub-core/commands/testload.c: Likewise.
17413
c982589f
CW
174142010-09-20 Colin Watson <cjwatson@ubuntu.com>
17415
17416 * util/grub-mkrescue.in: Add explicit root argument to --set to
17417 prevent the UUID being interpreted as an argument to --set (matches
17418 previous change to prepare_grub_to_access_device).
17419
a63c31b6
CW
174202010-09-20 Colin Watson <cjwatson@ubuntu.com>
17421
17422 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
17423 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
17424 the verbosity of later #ifs.
17425 (find_partition_start): Define this function on FreeBSD too.
17426 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
17427 function.
17428 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
17429 on FreeBSD.
17430
6439b8ee
YB
174312010-09-20 Yves Blusseau <blusseau@zetam.org>
17432
17433 * util/grub-editenv.c: Use argp instead of getopt.
17434
c5930ec8
YB
174352010-09-20 Yves Blusseau <blusseau@zetam.org>
17436
17437 * util/grub-setup.c: Use argp instead of getopt.
17438
15c69261
YB
174392010-09-20 Yves Blusseau <blusseau@zetam.org>
17440
17441 Use gnulib-tool to create gnulib source files.
17442
17443 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
17444 grub-core/gnulib directories
17445 * .bzignore: Add **/.deps and autogenerated gnulib files
17446 * configure.ac: Assign auxiliary directory to build-aux, add invocation
17447 of gnulib macros, add grub-core/gnulib/Makefile
17448 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
17449 include m4 directory to aclocal.
17450 * Makefile.util.def: Remove direct compilation of gnulib source files
17451 and use the new grub-core/gnulib/libgnu.a.
17452 * build-aux/config.rpath: move config.rpath from top directory to
17453 build-aux
17454 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
17455 in gnulib headers
17456 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
17457 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
17458 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
17459 header.
17460 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
17461 string.
17462
e511c9f5
YB
174632010-09-20 Yves Blusseau <blusseau@zetam.org>
17464
17465 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
17466 grub-core/genmod.sh and grub-core/gensyminfo.sh
17467
c2dede05
BC
174682010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
17469
17470 Add a test for echo command options.
17471
17472 * tests/grub_cmd_echo.in: New test.
17473 * Makefile.util.def: Rules for new test.
17474
c55f5018
SJ
174752010-09-20 Szymon Janc <szymon@janc.net.pl>
17476
17477 Remove crc.mod and move crc command to hashsum.mod.
17478 Remove lib/crc.c - users updated to use gcrypt implementation.
17479
17480 * grub-core/commands/crc.c: Removed.
17481 * grub-core/Makefile.core.def (crc): Module removed.
17482 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
17483 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
17484 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
17485 * grub-core/lib/crc.c: Removed.
17486 * include/grub/lib/crc.h: Removed.
17487 * Makefile.util.def (crc): Remove lib/crc.c
17488 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
17489 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
17490 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
17491 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
17492 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
17493 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
17494
e0337366
VS
174952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17496
17497 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
17498
742f9232
VS
174992010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17500
17501 Split config.h for util and core.
17502
17503 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
17504 (ADDR32): Likewise.
17505 (DATA32): Likewise.
17506 (BSS_START_SYMBOL): Likewise.
17507 (END_SYMBOL): Likewise.
17508 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
17509 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
17510 * config.h.in: New file.
17511 * configure.ac: Use config-util.h as config define file.
17512 Rename MACHINE into GRUB_MACHINE. All users updated.
17513 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
17514 updated.
17515 (NESTED_FUNC_ATTR): Likewise.
17516 Substitue new variables.
17517 (COND_HAVE_ASM_USCORE): New conditional.
17518 * grub-core/Makefile.am (ASM_PREFIX): New variable.
17519 (kernel_syms.lst): Use ASM_PREFIX.
17520 * grub-core/kern/emu/console.c: Include config-util.h.
17521 * grub-core/kern/emu/misc.c: Likewise.
17522 * grub-core/kern/emu/mm.c: Likewise.
17523 * include/grub/emu/misc.h: Likewise.
17524 * include/grub/libgcc.h: Likewise.
17525
39feb0e8
VS
175262010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17527
17528 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
17529 constants usage.
17530 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
17531 Fix GRUB_TERM_KEY_* constants usage.
17532 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
17533
9af6dac3
VS
175342010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17535
17536 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
17537 print pointer.
17538 * grub-core/bus/usb/uhci.c: Remove empty define.
17539 (grub_uhci_check_transfer): Add missing cast.
17540 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
17541 print pointer.
17542 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
17543 PRIuGRUB_SIZE.
17544 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
17545
d6d94820
VS
175462010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17547
17548 * grub-core/Makefile.core.def (legacycfg): Add
17549 lib/i386/pc/vesa_modes_table.c on emu.
17550
3572f2b6
BC
175512010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
17552
17553 Reduce number of temporary files generated by build system.
17554
17555 * grub-core/gencmdlist.sh: Removed.
17556 * grub-core/genfslist.sh: Removed.
17557 * grub-core/genhandlerlist.sh: Removed.
17558 * grub-core/genmodsrc.sh: Removed.
17559 * grub-core/genpartmaplist.sh: Removed.
17560 * grub-core/genparttoollist.sh: Removed.
17561 * grub-core/gentermiinallist.sh: Removed.
17562 * grub-core/genvideolist.sh: Removed.
17563
17564 * grub-core/genmod.sh.in: New file.
17565 * grub-core/gensyminfo.sh.in: New file.
17566
17567 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
17568 * conf/Makefile.extra-dist: Update with new files.
17569 * gentpl.py: Remove rules related to unnecessary temporary files.
17570 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
17571 and und-* files.
17572 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
17573 genmod.sh scripts.
17574 * grub-core/bus/usb/uhci.c: Remove empty #define.
17575 * grub-core/genmoddep.awk: Updated with new syminfo format.
17576 * util/bash-completion.d/Makefile.am: Add config.log to
17577 CLEANFILES.
17578
c836b030
YB
175792010-09-19 Yves Blusseau <blusseau@zetam.org>
17580
17581 * Makefile.util.def: Add forgotten $(LIBINTL) library.
17582
2f4e8053
BC
175832010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
17584
17585 * util/grub-mkconfig.in: Check the config script for syntax errors
17586 before saving.
17587
75831c34
CW
175882010-09-19 Colin Watson <cjwatson@ubuntu.com>
175892010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17590
17591 * Makefile.util.def (grub-install): Use util/grub-install.in on all
17592 platforms.
17593 * util/grub-install.in: Add EFI and IEEE1275 support.
17594 * util/i386/efi/grub-install.in: Removed.
17595 * util/ieee1275/grub-install.in: Likewise.
17596
eaf41b25
VS
175972010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17598
17599 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
17600 (grub_cmd_cmosclean): Likewise.
17601 (GRUB_MOD_INIT): Register command cmosclean.
17602 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
17603 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
17604
1a9130dd
CPE
176052010-09-18 Carles Pina i Estany <carles@pina.cat>
176062010-09-18 Aleš Nesrsta <starous@volny.cz>
176072010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17608
17609 Add keyboard layouts support.
17610
17611 * Makefile.util.def (grub-mklayout): New file.
17612 (grub-kbdcomp): New script.
17613 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
17614 Add keyboard_layouts.h.
17615 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
17616 commands/boot.c on yeeloong.
17617 (keylayouts): New module.
17618 * grub-core/bus/usb/ohci.c
17619 * grub-core/bus/usb/uhci.c
17620 * grub-core/bus/usb/usbhub.c (rescan): New variable.
17621 (grub_usb_add_hub): Poll interrupt pipe for device handling.
17622 (attach_root_port): Likewise.
17623 (poll_nonroot_hub): Likewise.
17624 (grub_usb_poll_devices): Likewise.
17625 (detach_device): Close transfer.
17626 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
17627 function.
17628 (grub_usb_bulk_setup_readwrite): Likewise.
17629 (grub_usb_bulk_finish_readwrite): Likewise.
17630 * grub-core/commands/keylayouts.c: New file.
17631 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
17632 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
17633 aliases.
17634 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
17635 support scancode 2.
17636 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
17637 * include/grub/keyboard_layouts.h: New file.
17638 * util/grub-mklayout.c: New file.
17639 * util/grub-kbdcomp.in: Likewise.
17640
a1d84a5e
VS
176412010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17642
17643 Unify memory types.
17644
17645 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
17646 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
17647 types.
17648 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
17649 (grub_upper_mem): Likewise.
17650 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
17651 * include/grub/memory.h (grub_memory_type_t): New enum.
17652 All users updated.
17653
9696382e
VS
176542010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17655
17656 * grub-core/Makefile.core.def (lsapm): New module.
17657 * grub-core/commands/i386/pc/lsapm.c: New file.
17658 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
17659 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
17660 Likewise.
17661 * include/grub/i386/pc/apm.h: New file.
17662 * include/multiboot.h (multiboot_apm_info): New struct.
17663
176642010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17665
17666 GRUB-legacy configuration file support.
17667
17668 * Makefile.util.def (grub-menulst2cfg): New util.
17669 * docs/man/grub-menulst2cfg.h2m: New file.
17670 * grub-core/Makefile.core.def (legacycfg): New module.
17671 * grub-core/commands/legacycfg.c: New file.
17672 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
17673 (grub_normal_add_menu_entry): ... this.
17674 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
17675 (grub_normal_set_password): ...this.
17676 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
17677 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
17678 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
17679 * grub-core/lib/legacy_parse.c: New file.
17680 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
17681 * include/grub/i386/pc/vesa_modes_table.h: New file.
17682 * include/grub/legacy_parse.h: Likewise.
17683 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
17684 * util/grub-menulst2cfg.c: New file.
17685
bf8d1338
CW
176862010-09-17 Colin Watson <cjwatson@ubuntu.com>
17687
17688 * grub-core/kern/emu/hostdisk.c
17689 (convert_system_partition_to_system_disk): Initialise node.
17690
9c0bad2e
CW
176912010-09-17 Colin Watson <cjwatson@ubuntu.com>
17692
17693 * grub-core/kern/emu/hostdisk.c
17694 (convert_system_partition_to_system_disk): Fix devmapper memory pool
17695 leak.
17696 Reported and based on patch by: Modestas Vainius.
17697
a939d135
CW
176982010-09-17 Colin Watson <cjwatson@ubuntu.com>
17699
17700 Fix DM-RAID probing with recent versions of device-mapper udev
17701 rules.
17702
17703 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
17704 canonicalise device paths under /dev/mapper/.
17705 (convert_system_partition_to_system_disk): Compare the
17706 uncanonicalised path to /dev/mapper/ rather than the canonicalised
17707 path, since device nodes under /dev/mapper/ are often symlinks.
17708
0f7ee3c9
YB
177092010-09-17 Yves Blusseau <blusseau@zetam.org>
17710
17711 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
17712
10854d0d
YB
177132010-09-16 Yves Blusseau <blusseau@zetam.org>
17714
17715 * configure.ac: Avoid some annoying error messages if freetype-config
17716 program is not found.
17717
108538d8
CW
177182010-09-16 Colin Watson <cjwatson@ubuntu.com>
17719
17720 Support RAID on virtio devices, and others.
17721
17722 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
17723 Rename to ...
17724 [__MINGW32__] (grub_find_device): ... this.
17725 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
17726 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
17727 reasonable default if dir is NULL.
17728 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
17729 ...
17730 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
17731 (grub_guess_root_device): Update callers.
17732 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
17733
17734 * util/raid.c (grub_util_getdiskname): Remove.
17735 (grub_util_raid_getmembers): Use grub_find_device rather than
17736 grub_util_getdiskname.
17737
e5bfc130
CW
177382010-09-16 Colin Watson <cjwatson@ubuntu.com>
17739
17740 * docs/grub.texi (serial): Remove obsolete comment about GRUB
17741 needing to be compiled with serial support.
17742 (ls): Indicate that multiple files are accepted.
17743 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
17744 indicate that multiple files are accepted.
17745
be458ae2
CW
177462010-09-16 Colin Watson <cjwatson@ubuntu.com>
17747
17748 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
17749 libgrub_a_init.c, and util/bash-completion.d/grub.
17750
cb731b5e
VS
177512010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17752
17753 * util/grub-setup.c (setup): Fix incorrect container semantics.
17754
35139e8a
VS
177552010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17756
17757 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
17758 misusage.
17759 Reported by: J. Nick Terry
17760
e50fca4a
VS
177612010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17762
17763 Move embedding routines to partmap sources files.
17764
17765 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
17766 [GRUB_UTIL]: New variable.
17767 (gpt_partition_map_iterate): Set part.parent.
17768 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
17769 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
17770 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
17771 New function.
17772 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
17773 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
17774 (grub_partition_map) [GRUB_UTIL]: New field embed.
17775 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
17776 (setup): Use ->embed.
17777
f00478b7
VS
177782010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17779
17780 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
17781 function.
17782 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
17783 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
17784
2b94e3ff
YB
177852010-09-15 Yves Blusseau <blusseau@zetam.org>
17786
17787 Add function to get completions from usage.
17788
17789 * util/bash-completion.d/grub-completion.bash.in: Add function to get
17790 completions from usage. Use LC_ALL=C to get options properly.
17791
2e04a006
VS
177922010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17793
17794 * grub-core/gnulib/basename-lgpl.c: Imported.
17795 * grub-core/gnulib/basename.c: Likewise.
17796 * grub-core/gnulib/dirname-lgpl.c: Likewise.
17797 * grub-core/gnulib/dirname.c: Likewise.
17798 * grub-core/gnulib/dirname.h: Likewise.
17799 * grub-core/gnulib/stripslash.c: Likewise.
17800
5dcdf93a
VS
178012010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17802
17803 * grub-core/gnulib/error.c: Resynced.
17804 * grub-core/gnulib/getopt.c: Likewise.
17805 * grub-core/gnulib/getopt_int.h: Likewise.
17806 * grub-core/gnulib/regex.h: Likewise.
17807 * grub-core/gnulib/regex_internal.c: Likewise.
17808 * grub-core/gnulib/regex_internal.h: Likewise.
17809
014f47b7
SJ
178102010-09-15 Szymon Janc <szymon@janc.net.pl>
17811
17812 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
17813 CRC calculations and validity checks.
17814 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
17815 calculations.
17816
dd521a4a
SJ
178172010-09-15 Szymon Janc <szymon@janc.net.pl>
17818
17819 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
17820
79c4eeb9
VS
178212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17822
17823 Fix incorrect echo options handling.
17824 Reported by: Yves Blusseau.
17825
17826 * include/grub/command.h (grub_command_flags_t): New flags
17827 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
17828 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
17829 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
17830
ed80f7d5
VS
178312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17832
17833 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
17834 users updated.
17835 (GRUB_COMMAND_FLAG_MENU): Likewise.
17836 (GRUB_COMMAND_FLAG_BOTH): Likewise.
17837 (GRUB_COMMAND_FLAG_TITLE): Removed.
17838 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
17839 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
17840 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
17841 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
17842 (grub_command_flags_t): New enum. All users updated.
17843
5fe7620a
SG
178442010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
17845
17846 Fix solaris compilation.
17847
17848 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
17849 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
17850 (grub-emu-list): Likewise.
17851
545b752f
VS
178522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17853
17854 Remove deprecated root command.
17855
17856 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
17857 updated.
17858
6c1a338c
VS
178592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17860
17861 * util/i386/pc/grub-setup.c: Merge this ...
17862 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
17863 * util/grub-setup.c: ... into this.
17864 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
17865 New struct.
17866
178672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17868
17869 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
17870 possible.
17871
d2ea4551
VS
178722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17873
17874 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
17875 allocate p.
17876
3c3b5040
VS
178772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17878
17879 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
17880 explicit root argument to set to prevent UUID to be interpreted as
17881 argument to set.
17882
b71c3fae
VS
178832010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17884
17885 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
17886
275433e6
VS
178872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17888
17889 Don't export grub_gate_a20.
17890
17891 * grub-core/kern/i386/pc/init.c: Remove leftovers.
17892 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
17893 to ...
17894 (grub_gate_a20): ... this. All users updated.
17895 * include/grub/i386/pc/init.h: Removed. All users updated.
17896
a5dbb1f1
VS
178972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17898
17899 Create euro.pf2 which supports most European languages.
17900
17901 * Makefile.am (grubdata_DATA): Add euro.pf2.
17902 (euro.pf2): New target.
17903 (CLEANFILES): Add euro.pf2.
17904
62a747cb
VS
179052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17906
17907 * configure.ac: Disable emu-usb by default to prevent inadvertent
17908 device takeover.
17909
608e43b1
VS
179102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 Disable usbserial on grub-emu since our libusb code isn't good enough
17913 yet.
17914
17915 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
17916 (usbserial_pl2303): Likewise.
17917 (usbserial_ftdi): Likewise.
17918
94564f81
VS
179192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17920
17921 * include/grub/disk.h (grub_disk): Remove has_partitions.
17922 All users updated.
17923 * disk/loopback.c (grub_loopback): Remove has_partitions.
17924 All users updated.
17925 (options): Remove partitions. All users updated.
17926 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
17927 * util/i386/pc/grub-setup.c (setup): copy partition table only when
17928 actual partition table is found.
17929
3352800b
VS
179302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17931
17932 Remove readability checks (too many false negatives).
17933
17934 * util/grub-install.in: Remove readability checks.
17935 * util/grub-mkconfig.in: Likewise.
17936 * util/grub.d/10_hurd.in: Likewise.
17937 * util/grub.d/10_kfreebsd.in: Likewise.
17938 * util/grub.d/10_linux.in: Likewise.
17939 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
17940 way.
17941
2419f17a
VS
179422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17943
17944 Enable acpi shutdown on all ACPI platforms.
17945
17946 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
17947 on coreboo, multiboot and EFI.
17948 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
17949 (grub_acpi_halt): Likewise.
17950 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
17951 (grub_cmd_halt): Don't call grub_acpi_halt directly.
17952 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
17953 * grub-core/lib/i386/halt.c (grub_halt)
17954 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
17955
0575c7c3
VS
179562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17957
17958 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
17959 context.
17960
54ac3cd1
VS
179612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17962
17963 * grub-core/video/efi_gop.c: Fix over-80-chars line.
17964 * grub-core/video/efi_uga.c: Likewise.
17965
b2a30ac5
VS
179662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17967
17968 Filter devaliases and never open same device twice.
17969
17970 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
17971 (last_ihandle): Likewise.
17972 (ofdisk_hash_ent): New member shortest.
17973 (ofdisk_hash_add): Add canonical path too.
17974 (scan): New function.
17975 (grub_ofdisk_iterate): Iterate over hashed entries.
17976 (compute_dev_path): Don't add :0.
17977 (grub_ofdisk_open): Don't really open the disk.
17978 (grub_ofdisk_close): Avoid closing unrelated disk.
17979 (grub_ofdisk_read): Implement reopen logic.
17980 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
17981 New function.
17982 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
17983 New proto.
17984
fb53b340
VS
179852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 Fix sparc64.
17988
17989 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
17990 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
17991 right address. Add sparc64_ieee1275_ldflags.
17992 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
17993 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
17994 to grub_host_to_target_addr
17995 (load_image): Likewise.
17996
f452b040
VS
179972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17998
17999 * grub-core/normal/completion.c (complete_file): Handle device
18000 containing slash.
18001 Fix based on patch by Doug Nazar.
18002
9b5b2541
VS
180032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18004
18005 grub-mknetdir script.
18006
18007 * Makefile.util.def (grub-mknetdir): New module.
18008 * tests/util/grub-shell.in: Support boot=net
18009 * util/grub-mknetdir.in: New file.
18010
9d2be652
VS
180112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18012
18013 videoinfo on non-vbe.
18014
18015 * grub-core/Makefile.core.def (vbeinfo): Removed.
18016 (vbetest): Removed.
18017 (videoinfo): New module.
18018 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
18019 * grub-core/commands/i386/pc/vbetest.c: Removed.
18020 * grub-core/commands/videoinfo.c: New file.
18021 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
18022 specification.
18023 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
18024 as vbetest.
18025 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
18026 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
18027 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
18028 mode_number. New parameter mode. All users updated.
18029 (grub_video_gop_iterate): New function.
18030 (grub_video_efi_gop): New member iterate.
18031 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
18032 (grub_vbe_set_video_mode): Remove setting useless fields.
18033 (vbe2videoinfo): New function.
18034 (grub_video_vbe_iterate): Likewise.
18035 (grub_video_vbe_setup): Use vbe2videoinfo.
18036 (grub_video_vbe_print_adapter_specific_info): New function.
18037 (grub_video_vbe_adapter): New fields iterate and
18038 print_adapter_specific_info.
18039 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
18040 All users updated.
18041 (grub_video_mode_info): New field mode_number.
18042 (grub_video_adapter): New fields iterate and
18043 print_adapter_specific_info.
18044
179503f5
TG
180452010-09-13 Tristan Gingold <gingold@free.fr>
180462010-09-13 Robert Millan <rmh.grub@aybabtu.com>
180472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18048
18049 * grub-core/commands/efi/lsefisystab.c: New file.
18050 * grub-core/commands/efi/lssal.c: Likewise.
18051 * grub-core/Makefile.core.def (lsacpi): New module.
18052 (lsefisystab): Likewise.
18053 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
18054 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
18055 (grub_efi_sal_system_table): New struct.
18056 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
18057 (grub_efi_sal_system_table_memory_descriptor): Likewise.
18058 (grub_efi_sal_system_table_platform_features): Likewise.
18059 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
18060 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
18061 (grub_efi_sal_system_table_ap_wakeup): Likewise.
18062 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
18063
cf9827de
VS
180642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18065
18066 Support explicit user claim that a device is BIOS-visible.
18067
18068 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
18069 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
18070 * grub-core/kern/emu/hostdisk.c
18071 (convert_system_partition_to_system_disk): Support mdX.
18072 (find_system_device): New parameter add. All users updated.
18073 (grub_util_biosdisk_is_present): New function.
18074 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
18075 proto.
18076
53f0eb1f
VS
180772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18078
18079 Search hints support.
18080
18081 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
18082 All users updated.
18083
b23ffd70
YB
180842010-09-13 Yves Blusseau <blusseau@zetam.org>
18085
18086 Bash completion script for util commands
18087
18088 * Makefile.am: Add util/bash-completion.d directory
18089 * configure.ac: Likewise.
18090 * util/bash-completion.d/Makefile.am: New file.
18091 * util/bash-completion.d/grub-completion.bash.in: Likewise.
18092
d547dc28
VS
180932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18094
18095 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
18096 (print_backlog): set backlog_ucs4 and backlog_glyphs.
18097 Reported by: Yves Blusseau.
18098
2fc8ccb9
VS
180992010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18100
18101 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
18102 partition size and offset.
18103
d8a84076
VS
181042010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18105
18106 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
18107
84fb3b3d
VS
181082010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18109
18110 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
18111
768ec2e2
VS
181122010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18113
18114 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
18115 (grub_xvasprintf): Likewise.
18116
4870900f
VS
181172010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18118
18119 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
18120
faca6bec
VS
181212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18122
18123 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
18124 args ending with NULL.
18125
181262010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
18127
18128 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
18129 pointer.
18130
3c70f225
SJ
181312010-09-11 Szymon Janc <szymon@janc.net.pl>
18132
18133 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
18134
4df7996d
VS
181352010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18136
18137 Shutdown using ACPI.
18138
18139 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
18140 * grub-core/commands/acpihalt.c: New file.
18141 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
18142 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
18143 (grub_acpi_halt): New proto.
18144 (GRUB_ACPI_SLP_EN): New const.
18145 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
18146 (GRUB_ACPI_OPCODE_*): New enum.
18147 (GRUB_ACPI_EXTOPCODE_*): Likewise.
18148
126b4c32
TG
181492010-09-11 Tristan Gingold <gingold@free.fr>
181502010-09-11 Robert Millan <rmh.grub@aybabtu.com>
181512010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18152
18153 * commands/lsacpi.c: New file.
18154 * grub-core/Makefile.core.def (lsacpi): New module.
18155 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
18156 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
18157 (grub_acpi_madt_entry_header): New struct.
18158 (grub_acpi_madt): Likewise.
18159 (grub_acpi_madt_entry_interrupt_override): Likewise.
18160 (grub_acpi_madt_entry_sapic): Likewise.
18161 (grub_acpi_madt_entry_lsapic): Likewise.
18162 (grub_acpi_madt_entry_platform_int_source): Likewise.
18163 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
18164 (PRIuGRUB_UINT32_T): Likewise.
18165 (PRIxGRUB_UINT64_T): Likewise.
18166
1aa4fe88
VS
181672010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18168
18169 Implement loading palette on ieee1275_fb.
18170
18171 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
18172 (have_setcolors): Likewise.
18173 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
18174 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
18175 (grub_video_ieee1275_set_palette): Implement.
18176
25761e13
VS
181772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
181782010-09-11 Colin Watson <cjwatson@ubuntu.com>
18179
18180 * util/grub-install.in (grub_partition): New variable.
18181 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
18182 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
18183 Fixes a bug reported by Yves Blusseau.
18184
050abaea
VS
181852010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18186
18187 Fix emu on mipsel.
18188
18189 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
18190 =grub_cpu_flush_cache on all mips and not only yeeloong.
18191 * configure.ac (COND_mips): New conditional.
18192 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
18193 platforms.
18194 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
18195 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
18196 [GRUB_LINKER_HAVE_INIT]: New function.
18197 (grub_emu_post_init): Likewise.
18198 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
18199 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
18200 * include/grub/cache.h (_mips): Include mips/cache.h.
18201 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
18202 LVM and RAID prototypes.
18203 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
18204 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
18205 function.
18206
5ed7d816
CW
182072010-09-10 Colin Watson <cjwatson@ubuntu.com>
18208
18209 * util/grub-install.in: Don't try to verify core.img until after
18210 running grub-mkimage to create it.
18211
90367e04
RM
182122010-09-10 Robert Millan <rmh@gnu.org>
18213
18214 * util/grub.d/10_hurd.in: Add misc readability checks.
18215 * util/grub.d/10_kfreebsd.in: Likewise.
18216 * util/grub.d/10_linux.in: Likewise.
18217
c452fa66
CW
182182010-09-10 Colin Watson <cjwatson@ubuntu.com>
18219
18220 * util/grub-install.in: ${imgext} won't be defined here until the
18221 install branch is merged. For the meantime, only verify core.img on
18222 i386-pc and sparc64-ieee1275 platforms.
18223
c38fe9f4
RM
182242010-09-10 Robert Millan <rmh@gnu.org>
18225
18226 Solaris support in grub_find_zpool_from_dir(). Thanks
18227 Seth Goldberg for referring to getextmntent() facility.
18228
18229 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
18230 `sys/mkdev.h'.
18231 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
18232 `<sys/mnttab.h>'.
18233 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
18234 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
18235 method for finding zpool name.
18236
905f7773
CW
182372010-09-10 Colin Watson <cjwatson@ubuntu.com>
18238
18239 grub-fstest needs the host and hostfs modules while other utilities
18240 actively require those modules to be absent, so grub-fstest needs
18241 its own initialisation and finalisation code.
18242
18243 * Makefile.am (grub_fstest.pp): New target.
18244 (grub_fstest_init.lst): Likewise.
18245 (grub_fstest_init.c): Likewise.
18246 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
18247
fb90b546
RM
182482010-09-10 Robert Millan <rmh@gnu.org>
18249
18250 * configure.ac: Check for `struct statfs.f_fstypename' and
18251 `struct statfs.f_mntfromname'.
18252
18253 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
18254 kFreeBSD-specific code.
18255
66d4bea5
RM
182562010-09-10 Robert Millan <rmh@gnu.org>
18257
18258 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
18259 on ZFS. Now non-main filesystems are supported as / too.
18260
b6a690ee
CW
182612010-09-09 Colin Watson <cjwatson@ubuntu.com>
18262
18263 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
18264 and grub-core/disk/host.c to ...
18265 (grub-fstest): ... here. Having the host disk implementation
18266 present confuses grub-probe and other utility programs.
18267
18268 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
18269 when writing to a file, not when writing to stdout.
18270
8901b00c 182712010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
18272
18273 * tests/partmap_test.in: New test for partitions.
18274 * Makefile.util.def: Rules for new test.
18275
7bf45fdd
RM
182762010-09-09 Robert Millan <rmh@gnu.org>
18277
18278 * util/grub-probe.c (probe): Fix a pair of unhandled error
18279 conditions.
18280
4dfbc574
RM
182812010-09-09 Robert Millan <rmh@gnu.org>
18282
18283 Basic Btrfs support (detection and UUID).
18284
18285 * grub-core/fs/btrfs.c: New file.
18286 * Makefile.util.def (library): Register btrfs.c.
18287 * grub-core/Makefile.core.def: Likewise.
18288
6b8e78ae
RM
182892010-09-08 Robert Millan <rmh@gnu.org>
18290
18291 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
18292 with (optional) parameters to specify device and relative path.
18293 * util/grub-install.in: Use is_path_readable_by_grub() to
18294 verify readability of a few critical files.
18295 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
18296 verify readability of grub.cfg.new.
18297
27f21a8b
VS
182982010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
18299
18300 Split minix.mod into minix.mod and minix2.mod.
18301
18302 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
18303 * grub-core/Makefile.core.def (minix2): New module.
18304 * grub-core/fs/minix.c: Use definitions instead of runtime version
18305 checking.
18306 * grub-core/fs/minix2.c: New file.
18307
c0e53ea5
YB
183082010-09-08 Yves Blusseau <blusseau@zetam.org>
18309
18310 Add new --boot-directory option to replace --root-directory
18311
18312 * util/grub-install.in: Add new --boot-directory option
18313 * util/grub-reboot.in: Likewise.
18314 * util/grub-set-default.in: Likewise.
18315
b9fe6ea2
YB
183162010-09-08 Yves Blusseau <blusseau@zetam.org>
18317
18318 * util/grub-mkconfig.in: Use new variable.
18319
d87aedff
YB
183202010-09-08 Yves Blusseau <blusseau@zetam.org>
18321
18322 * configure.ac: Define some useful variables.
18323
e55e8495
VS
183242010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
18325
18326 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18327 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
18328 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
18329 Use terminfo and don't use cursor-on/cursor-off unless it's known
18330 to work.
18331 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
18332 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
18333
6fa6d675
CW
183342010-09-08 Colin Watson <cjwatson@ubuntu.com>
18335
18336 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
18337 starts with "(,", fill the drive containing the loaded image in
18338 between those two characters, but expect that a full partition
18339 specification including partition map names will follow.
18340
92f2aef0
RM
183412010-09-08 Robert Millan <rmh@gnu.org>
18342
18343 * configure.ac: Remove `--enable-grub-fstest' option.
18344 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
18345
18346 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
18347 `grub-fstest' instead of `grub-probe' for readability verification.
18348 * util/grub-probe.c (probe): Remove readability verification kludge.
18349
99fd620d
RM
183502010-09-08 Robert Millan <rmh@gnu.org>
18351
18352 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
18353 initializing `GRUB_FS'.
18354
058e30ac 183552010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
18356
18357 Not command (!) support to GRUB script.
18358
18359 * tests/grub_script_not.in: New test.
18360 * Makefile.util.def: Rules for new test.
18361
18362 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18363 ! command as a special case.
18364 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
18365
b61d05ed 183662010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18367
058e30ac 18368 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
18369 grub_free.
b61d05ed 18370
4d69c786 183712010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18372
18373 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
18374
aa3119c4 183752010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18376
18377 * docs/grub.texi (Shell-like scripting): Documentation for break,
18378 continue, shift and return commands.
18379
db0f7e3d
VS
183802010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
18381
18382 Rename CD-ROM to cd on BIOS.
18383
18384 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
18385 "cd".
18386 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
18387
88b87c93
VS
183882010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18389
18390 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
18391 * util/grub-probe.c (main): Likewise.
18392 * util/i386/pc/grub-setup.c (main): Likewise.
18393 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18394 Reported and debugged by: alexxy
18395
294f324d
VS
183962010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18397
18398 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
18399 diagnostic info.
18400
d7ee3441
JS
184012010-09-05 Jo Shields <directhex@apebox.org>
18402
18403 * util/grub.d/30_os-prober.in: Add missing classes.
18404
d7e06c1f
VS
184052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18406
18407 * docs/grub.texi (Theme file format): Document new position format.
18408
fc157e53
VS
184092010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18410
18411 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
18412 a table. Use @code instead of @verbatim.
18413
506e9a1c
CB
184142010-09-05 Colin D Bennett <colin@gibibit.com>
18415
18416 Gfxmenu documentation.
18417
18418 * docs/grub.texi (Theme file format): New chapter.
18419
f0aff67c
SJ
184202010-09-05 Szymon Janc <szymon@janc.net.pl>
18421
18422 * grub-core/Makefile.core.def (xzio): New module.
18423 * grub-core/io/xzio.c: New file.
18424 * grub-core/lib/xzembed/xz.h: New file (from xembed).
18425 * grub-core/lib/xzembed/xz_config.h: Likewise.
18426 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
18427 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
18428 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
18429 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
18430 * grub-core/lib/xzembed/xz_private.h: Likewise.
18431 * grub-core/lib/xzembed/xz_stream.h: Likewise.
18432 * include/grub/file.h (grub_file_filter_id): New compression filter
18433 GRUB_FILE_FILTER_XZIO.
18434
82a85062
VS
184352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18436
18437 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
18438 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
18439 size.
18440
3579415d
VS
184412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18442
18443 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
18444 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
18445
5124ae6d
VS
184462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18447
18448 Uncompressed checksum support.
18449
18450 * grub-core/commands/hashsum.c (options): Add option --uncompress.
18451 (check_list): New parameter uncompress.
18452 (grub_cmd_hashsum): Handle --uncompress.
18453
9aadb3d1
VS
184542010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18455
18456 Reintroduce testload.
18457
18458 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
18459 from here ...
18460 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
18461 (GRUB_MOD_INIT): New function.
18462 (GRUB_MOD_FINI): Likewise.
18463 * grub-core/Makefile.core.def (testload): New module.
18464
a17792c3
SJ
184652010-09-05 Szymon Janc <szymon@janc.net.pl>
18466
18467 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
18468 (uint8_t): New type.
18469 (uint16_t): Likewise.
18470 (uint32_t): Likewise.
18471 (uint64_t): Likewise.
18472
b81e40a3
SJ
184732010-09-05 Szymon Janc <szymon@janc.net.pl>
18474
18475 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
18476
fc2ef117
VS
184772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18478
18479 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
18480 Made static.
18481 (grub_gzfile_open): Removed. All users updated.
18482 (GRUB_MOD_INIT): New function.
18483 (GRUB_MOD_FINI): Likewise.
18484 * grub-core/kern/file.c (grub_file_filters_all): New variable.
18485 (grub_file_filters_enabled): Likewise.
18486 (grub_file_open): Handle filters.
18487 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
18488 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
18489 * include/grub/file.h (grub_file_filter_id_t): New type.
18490 (grub_file_filter_t): Likewise.
18491 (grub_file_filters_all): New extern variable.
18492 (grub_file_filters_enabled): Likewise.
18493 (grub_file_filter_register): New inline function.
18494 (grub_file_filter_unregister): Likewise.
18495 (grub_file_filter_disable): Likewise.
18496 (grub_file_filter_disable_compression): Likewise.
18497 * include/grub/gzio.h: Removed.
18498
35ee15e0
BC
184992010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18500
18501 Filename expansion support for wildcards in GRUB script.
18502
18503 * tests/grub_script_expansion.in: New test.
18504 * Makefile.util.def: Rule for new test.
18505
18506 * grub-core/commands/wildcard.c: New file, implements filename
18507 expansion support for GRUB script.
18508 * grub-core/Makefile.core.def: Rule update for regexp.mod.
18509 * grub-core/script/argv.c: Cosmetic changes.
18510 * grub-core/script/execute.c (grub_script_arglist_to_argv):
18511 Refactored to perform wildcard expansion on arguments.
18512 * include/grub/script_sh.h (grub_script_wildcard_translator): New
18513 struct.
18514
18515 * tests/util/grub-shell.in: Fix quoting for read input.
18516
5f0c4aca
BC
185172010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18518
18519 Support for updating environment variables with matched substrings
18520 of regexp.
18521
18522 * tests/grub_cmd_regexp.in: New test.
18523 * Makefile.util.def: Rule for new test.
18524
18525 * grub-core/commands/regexp.c: New option -s to update environment
18526 variables with regexp matches.
18527
3759a35f
SJ
185282010-09-04 Szymon Janc <szymon@janc.net.pl>
18529
18530 * include/grub/file.h (grub_file): New member not_easly_seekable.
18531 (grub_file_seekable): New inline function.
18532 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
18533 easily seekable.
18534 (grub_gzio_open): Set not_easly_seekable.
18535 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
18536 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
18537
ed8c6dec
BC
185382010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18539
18540 Support for options to appear multiple times on cmdline.
18541
18542 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
18543 * grub-core/commands/extcmd.c: Support for repeatable option.
18544 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
18545 repeatable option support.
18546
18547 Refactor menuentry into a regular command.
18548
18549 * grub-core/commands/menuentry.c: New file, menuentry command
18550 implementation.
18551 * grub-core/Makefile.core.def: Rule update for normal.mod.
18552 * grub-core/normal/main.c: Moved menuentry creation to
18553 grub-core/commands/menuentry.c.
18554 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
18555 (grub_menu_execute_entry_real): Removed.
18556 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
18557 function.
18558 (grub_script_execute_menuentry): Removed.
18559 * grub-core/script/parser.y (menuentry): Removed.
18560 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
18561 * grub-core/script/yylex.l (menuentry): Removed.
18562 * include/grub/menu.h (grub_menu_init): New prototype.
18563 (grub_menu_fini): New prototype.
18564 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
18565 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
18566 (grub_script_execute_sourcecode): New prototype.
18567
dacd0cf0
BC
185682010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18569
18570 "return" command for GRUB script functions.
18571
18572 * tests/grub_script_return.in: New test.
18573 * Makefile.util.def: Rules for new test.
18574
18575 * grub-core/script/execute.c (grub_script_return): New function.
18576 * grub-core/script/main.c: Register/unregister return commaond.
18577 * include/grub/script_sh.h (grub_script_return): New prototype.
18578
52e72f9d
BC
185792010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18580
18581 "setparams" command to update positional parameters.
18582
18583 * tests/grub_script_setparams.in: New test.
18584 * Makefile.util.def: Rules for new test.
18585
18586 * grub-core/script/argv.c (grub_script_argv_make): New function.
18587 * grub-core/script/execute.c (replace_scope): New function.
18588 (grub_script_setparams): New function.
18589 * grub-core/script/lexer.c: Remove unused variables.
18590 * grub-core/script/main.c: Register/unregister setparams command.
18591 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
18592 (grub_script_setparams): New prototype.
18593
25b60c91
BC
185942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18595
18596 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
18597 grub_free order.
18598
37e7bf68
BC
185992010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18600
18601 Support for passing block of commands as an argument to extcmds.
18602
18603 * Makefile.util.def: Rules for new test.
18604 * tests/grub_script_blockarg.in: New test.
18605 * grub-core/tests/test_blockarg.c: New file, block argument
18606 command used in the test.
18607
18608 * include/grub/extcmd.h (grub_extcmd_context): New struct.
18609 (grub_register_extcmd_prio): New function prototype.
18610 (grub_extcmd_dispatcher): New function prototype.
18611 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
18612 type.
18613 * include/grub/script_sh.h (struct grub_script): New members
18614 `children', `next_siblings' and `refcnt' for block arguments and
18615 reference counting.
18616 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
18617 (grub_script_arg): New member `script' for block argument.
18618 (grub_script_argv): New member `script' for block argument.
18619 (grub_parser_param): New member `scripts' for block argument.
18620 (grub_script_mem_free): New extern function prototype.
18621 (grub_script_ref): New function prototype.
18622 (grub_script_unref): New function prototype.
18623
18624 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
18625 extcmd form to support block arguments.
18626 * grub-core/script/argv.c: Block arguments support.
18627 * grub-core/script/execute.c: Likewise.
18628 * grub-core/script/lexer.c: Likewise.
18629 * grub-core/script/main.c: Likewise.
18630 * grub-core/script/script.c: Likewise.
18631 * grub-core/script/parser.y: Likewise. New `block' and `block0'
18632 non-terminals.
18633
18634 * grub-core/commands/acpi.c: Update extcmd implementations with
18635 grub_extcmd_context_t.
18636 * grub-core/commands/cat.c: Likewise.
18637 * grub-core/commands/echo.c: Likewise.
18638 * grub-core/commands/extcmd.c: Likewise.
18639 * grub-core/commands/hashsum.c: Likewise.
18640 * grub-core/commands/hdparm.c: Likewise.
18641 * grub-core/commands/help.c: Likewise.
18642 * grub-core/commands/hexdump.c: Likewise.
18643 * grub-core/commands/i386/cpuid.c: Likewise.
18644 * grub-core/commands/i386/pc/drivemap.c: Likewise.
18645 * grub-core/commands/i386/pc/halt.c: Likewise.
18646 * grub-core/commands/i386/pc/sendkey.c: Likewise.
18647 * grub-core/commands/iorw.c: Likewise.
18648 * grub-core/commands/keystatus.c: Likewise.
18649 * grub-core/commands/loadenv.c: Likewise.
18650 * grub-core/commands/ls.c: Likewise.
18651 * grub-core/commands/lspci.c: Likewise.
18652 * grub-core/commands/memrw.c: Likewise.
18653 * grub-core/commands/probe.c: Likewise.
18654 * grub-core/commands/search_wrap.c: Likewise.
18655 * grub-core/commands/setpci.c: Likewise.
18656 * grub-core/commands/sleep.c: Likewise.
18657 * grub-core/disk/loopback.c: Likewise.
18658 * grub-core/hello/hello.c: Likewise.
18659 * grub-core/loader/i386/bsd.c: Likewise.
18660 * grub-core/loader/xnu.c: Likewise.
18661 * grub-core/term/gfxterm.c: Likewise.
18662 * grub-core/term/serial.c: Likewise.
18663 * grub-core/tests/lib/functional_test.c: Likewise.
18664
888d1500
BC
186652010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18666
18667 Multi-line quoted strings support.
18668
18669 * grub-core/script/lexer.c (append_newline): Removed.
18670 (grub_script_lexer_yywrap): Refactored.
18671 (grub_script_lexer_init): Refactored.
18672 * grub-core/script/yylex.l (yywrap): New function.
18673 (grub_lexer_resplit): New function.
18674 (grub_lexer_unput): New function.
18675 * include/grub/script_sh.h (grub_lexer_param): New members, unput
18676 and resplit.
18677 * tests/grub_script_echo1.in: Added few more testcases.
18678
dda060dd
VS
186792010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
18680
18681 * grub-core/kern/misc.c: Don't add abort alias in utils.
18682 Reported by: echoline.
18683
6556eba9
BC
186842010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
18685
18686 Add missing files into "make dist" tarball for other platforms.
18687
18688 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
18689 * conf/Makefile.common (dist_noinst_DATA): New variable.
18690 * conf/Makefile.extra-dist: Added missing make dist files.
18691 * grub-core/Makefile.core.def: Likewise.
18692
c8e7bf5f
VS
186932010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
18694
18695 Compress grub_prefix.
18696
18697 * grub-core/boot/i386/pc/lnxboot.S: Use
18698 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
18699 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
18700 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
18701 GRUB_MACHINE_PREFIX_END. All users updated.
18702 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
18703 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
18704 + 0x40.
18705 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
18706 * util/grub-mkimage.c (image_target_desc): Change data_end to
18707 prefix_end. All users updated.
18708
a7c00cdb
VS
187092010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
18710
18711 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
18712 value.
18713 (grub_openbsd_boot): Likewise.
18714 (grub_netbsd_boot): Likewise.
18715 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
18716 (grub_xnu_boot): Likewise.
18717
9f915872
VS
187182010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18719
18720 * configure.ac: Clean LIBS variable after tests.
18721
efa1bee7
CW
187222010-09-02 Colin Watson <cjwatson@ubuntu.com>
18723
18724 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
18725
61d720e5
VS
187262010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18727
18728 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
18729 echo if libdevmapper will be used.
18730
ef8e0ec8
IT
187312010-09-02 Ian Turner <Ian.Turner@deshaw.com>
18732
18733 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
18734 constant for the same file.
18735
03e261d8
VS
187362010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18737
18738 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
18739
c2a4eba6
CW
187402010-09-02 Colin Watson <cjwatson@ubuntu.com>
18741
18742 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
18743 grub-core/*.pp.
18744
9056cbf3
CW
187452010-09-02 Colin Watson <cjwatson@ubuntu.com>
18746
18747 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
18748 required by the boot protocol.
18749
18750 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
18751 ebp and edi members.
18752 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
18753 state.ebp and state.edi.
18754 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
18755 %ebp and %edi according to grub_relocator32_ebp and
18756 grub_relocator32_edi respectively.
18757 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
18758 and state.edi.
18759
529cc99a
VS
187602010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18761
18762 Add i386-pc-pxe image target.
18763
18764 * util/grub-mkimage.c (image_target_desc): New enum value
18765 IMAGE_I386_PC_PXE.
18766 (image_targets): New target i386-pc-pxe.
18767 (generate_image): Handle i386-pc-pxe image.
18768
9a093920
VS
187692010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18770
18771 Fix grub_pxe_scan.
18772
18773 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
18774 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
18775 All users updated.
18776 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
18777 (grub_pxe_pxenv): Correct type.
18778
f9cefc4e
CW
187792010-09-01 Colin Watson <cjwatson@ubuntu.com>
18780
18781 * NEWS: Document most of the important changes since 1.98.
18782
4066f57f
CW
187832010-09-01 Colin Watson <cjwatson@ubuntu.com>
18784
18785 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
18786 generated manual page) a little.
18787
da2891f9
CW
187882010-09-01 Colin Watson <cjwatson@ubuntu.com>
18789
18790 * docs/grub.texi: Add myself as an author.
18791
ad717fae
VS
187922010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
18793
18794 * Makefile.util.def (libgrub.a): Add missing sunpc.
18795 Reported by: Seth Goldberg.
18796
eefe8abd
VS
187972010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18798
18799 Interrupt wrapping and code simplifications.
18800
9494ef9a
VS
18801 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
18802 x86_noieee1275 which are functionaly equivalent in this case.
18803 (grub-install): Make source on each platform explicit. Enable on
18804 all noemu.
18805 * gentpl.py (x86_efi_pc): Removed group.
18806 (x86_noefi): Likewise.
18807 (i386_noefi): Likewise.
18808 (x86_noieee1275): Likewise.
18809 (i386_noieee1275): Likewise.
18810 (i386_noefi_noieee1275): Likewise.
18811 (i386_pc_qemu_coreboot): Likewise.
18812 (i386_coreboot_multiboot): Likewise.
18813 (i386_pc_coreboot_multiboot_qemu): Likewise.
18814 (x86_noefi_mips): Likewise.
18815 (noieee1275): Likewise.
18816 (ieee1275_mips): Likewise.
18817 (noemu_noieee1275): Likewise.
18818 (cmos): New group.
18819 (usb): Likewise.
18820 (videoinkernel): Likewise.
18821 (videomodules): Likewise.
eefe8abd 18822 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
18823 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
18824 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
18825 include/grub/loader.h, include/grub/msdos_partition.h,
18826 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
18827 include/grub/machine/console.h, include/grub/machine/vga.h,
18828 include/grub/machine/vbe.h, include/grub/machine/init.h,
18829 include/grub/machine/kernel.h, include/grub/cpu/time.h,
18830 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 18831 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
18832 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
18833 * grub-core/Makefile.core.def (kernel): Explicit the source for
18834 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
18835 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
18836 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
18837 Use videoinkernel tag.
18838 (usb): Enable on all usb.
18839 (usbserial_common): Likewise.
18840 (usbserial_pl2303): Likewise.
18841 (usbserial_ftdi): Likewise.
18842 (uhci): Enable on all x86.
18843 (ohci): Enable on all pci.
18844 (cmostest): Enable on all CMOS.
18845 (acpi): Include commands/acpi.c on all platforms.
18846 (halt): Add relevant lib/*/halt.c.
18847 (hdparm): Enable on all pci.
18848 (lspci): Likewise.
18849 (usbtest): Enable on all usb.
18850 (ata): Enable on all pci.
18851 (ata_pthru): Likewise.
18852 (usbms): Enable on all usb.
18853 (usb_keyboard): Likewise.
18854 (font): Use tag videomodules.
18855 (bufio): Likewise.
18856 (datetime): Use tag cmos. Enable on all noemu.
18857 (mmap): Use tags common and x86.
18858 (gfxterm): Use tag videomodules.
18859 (bitmap): Likewise.
18860 (bitmap_scale): Likewise.
18861 (video_fb): Likewise.
18862 (video): Likewise.
18863 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
18864 adjust padding accordingly. All users updated.
18865 (grub_ohci_transaction): Fix bad format specification.
18866 (GRUB_MOD_INIT): Add asserts for struct size.
18867 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
18868 (grub_alloc_td): Likewise.
18869 (grub_free_queue): Likewise.
18870 (grub_uhci_transfer): Likewise.
18871 (grub_uhci_transaction): Fix bad format specification.
18872 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
18873 (grub_usb_bulk_readwrite): Likewise.
18874 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
18875 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
18876 Made static.
18877 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
18878 Made static.
18879 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
18880 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
18881 Transformed into C.
18882 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
18883 Moved from here ...
18884 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
18885 ... here. Transformed into C. Made static.
18886 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
18887 Moved from here ...
18888 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
18889 ... here. Transformed into C. Made static.
18890 * grub-core/kern/i386/pc/startup.S
18891 (grub_biosdisk_check_int13_extensions): Moved from here ...
18892 * grub-core/disk/i386/pc/biosdisk.c
18893 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
18894 Made static.
18895 * grub-core/kern/i386/pc/startup.S
18896 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
18897 * grub-core/disk/i386/pc/biosdisk.c
18898 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
18899 Transformed into C. Made static.
18900 * grub-core/kern/i386/pc/startup.S
18901 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
18902 * grub-core/disk/i386/pc/biosdisk.c
18903 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
18904 Transformed into C. Made static.
18905 * grub-core/kern/i386/pc/startup.S
18906 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
18907 * grub-core/disk/i386/pc/biosdisk.c
18908 (grub_biosdisk_get_diskinfo_standard): ... here.
18909 Transformed into C. Made static.
18910 * grub-core/kern/i386/pc/startup.S
18911 (grub_biosdisk_get_num_floppies): Moved from here ...
18912 * grub-core/disk/i386/pc/biosdisk.c
18913 (grub_biosdisk_get_num_floppies): ... here.
18914 Transformed into C. Made static.
18915 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
18916 New function.
18917 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
18918 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
18919 Transformed into C. Made static.
18920 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
18921 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
18922 Transformed into C. Made static.
18923 * grub-core/kern/i386/ieee1275/init.c: Removed.
18924 * grub-core/kern/i386/misc.S: Likewise.
18925 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
18926 Splitted from here ...
18927 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
18928 Transformed into C. Made static. All users updated.
18929 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
18930 Transformed into C. Made static. All users updated.
18931 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
18932 Moved from here...
18933 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
18934 Transformed into C. Made static. All users updated.
18935 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
18936 Moved from here...
18937 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
18938 Transformed into C. Made static. All users updated.
18939 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
18940 Removed (replaced by C version).
18941 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
18942 Moved from here...
18943 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
18944 Transformed into C. Made static.
18945 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
18946 Moved from here...
18947 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
18948 ... here. Transformed into C.
18949 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
18950 Moved from here...
18951 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
18952 ... here. Transformed into C.
18953 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
18954 Moved from here...
18955 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
18956 ... here. Transformed into C. Made static.
18957 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
18958 Moved from here...
18959 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
18960 ... here. Transformed into C.
21ed554b
VS
18961 * grub-core/kern/i386/pc/startup.S
18962 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
18963 * grub-core/video/i386/pc/vbe.c
18964 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
18965 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
18966 Moved from here...
18967 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
18968 ... here. Transformed into C.
18969 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
18970 Moved from here...
18971 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
18972 ... here. Transformed into C.
18973 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
18974 Moved from here...
18975 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
18976 ... here. Transformed into C.
18977 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
18978 Moved from here...
18979 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
18980 ... here. Transformed into C.
18981 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
18982 Moved from here...
18983 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
18984 ... here. Transformed into C. Made static.
18985 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
18986 Moved from here...
18987 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
18988 ... here. Transformed into C. Made static.
18989 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
18990 Moved from here...
18991 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
18992 ... here. Transformed into C. Made static.
18993 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
18994 pxe_rm_entry as third argument.
18995 (grub_bios_interrupt): New function.
18996 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
18997 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
18998 of calling grub_stop.
18999 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
19000 * grub-core/lib/efi/halt.c (grub_halt): ...here.
19001 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
19002 * grub-core/lib/emu/halt.c (grub_halt): ... here.
19003 * grub-core/lib/i386/halt.c: Moved from here ...
19004 * grub-core/lib/i386/halt.c: ... here.
19005 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
19006 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
19007 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
19008 grub_stop_floppy.
19009 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
19010 * include/grub/i386/coreboot/init.h: Removed.
19011 * include/grub/i386/multiboot/init.h: Likewise.
19012 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
19013 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
19014 * include/grub/i386/pc/int.h: New file.
19015 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
19016 (grub_pxe_scan): Removed.
19017 (grub_pxe_call): Update prototype.
19018 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
19019 prototypes.
19020 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
19021 * include/grub/i386/qemu/init.h: Removed.
19022 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
19023 noreturn.
19024 (grub_halt): Likewise.
19025 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
19026 (grub_reboot): Likewise.
19027 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
19028 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
19029 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
19030
215dd471
RM
190312010-08-30 Robert Millan <rmh@gnu.org>
19032
19033 * NEWS: Document addition of ZFS support in `grub-install' and
19034 `grub-mkconfig'.
19035
ebd65b82
BC
190362010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
19037
19038 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
19039 dprintf output.
19040
11721d19
VS
190412010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19042
19043 Remove leftover embedding of font objects.
19044
19045 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19046 * util/grub-install.in (font): Removed.
19047 * util/grub-mkimage.c (generate_image): Remove font support. All users
19048 updated.
19049
37837d4e
VS
190502010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19051
19052 Remove leftover embedding of font objects.
19053
19054 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19055 * util/grub-install.in (font): Removed.
19056 * util/grub-mkimage.c (generate_image): Remove font support. All users
19057 updated.
19058
b4c1aae0
VS
190592010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19060
19061 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 19062 Reported by: Ian Turner
b4c1aae0 19063
8920a08d
VS
190642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19065
19066 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
19067 timeout to avoid indefinite boot stalling.
19068
f21db033
VS
190692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19070
19071 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
19072 (grub_env_write_color_highlight): Likewise.
19073
9a9de209
VS
190742010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19075
19076 * grub-core/normal/term.c (print_more): Return to normal and not
19077 to standard state after printing "---MORE---".
19078
3dca01d7
VS
190792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19080
19081 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
19082 Mask out the bit 0x80 since it has other meaning that specifiing color.
19083
0b986c40
VS
190842010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19085
19086 New relocator. Allows for more kernel support and more straightforward
19087 loader writing.
19088
19089 * Makefile.am (BOOTTARGET): New variable.
19090 (QEMU32): Likewise.
19091 (linux.init.x86_64): New target.
19092 (linux.init.i386): Likewise.
19093 (multiboot.elf): Likewise.
19094 (kfreebsd.elf): Likewise.
19095 (kfreebsd.aout): Likewise.
19096 (pc-chainloader.elf): Likewise.
19097 (pc-chainloader.bin): Likewise.
19098 (ntldr.elf): Likewise.
19099 (ntldr.bin): Likewise.
19100 (multiboot2.elf): Likewise.
19101 (kfreebsd.init.x86_64): Likewise.
19102 (kfreebsd.init.i386): Likewise.
19103 (knetbsd.init.i386): Likewise.
19104 (kopenbsd.init.i386): Likewise.
19105 (knetbsd.init.x86_64): Likewise.
19106 (kopenbsd.init.x86_64): Likewise.
19107 (linux-initramfs.i386): Likewise.
19108 (linux-initramfs.x86_64): Likewise.
19109 (kfreebsd-mfsroot.i386.img): Likewise.
19110 (knetbsd.image.i386): Likewise.
19111 (kopenbsd.image.i386): Likewise.
19112 (kopenbsd.image.x86_64): Likewise.
19113 (knetbsd.miniroot-image.i386.img): Likewise.
19114 (kfreebsd-mfsroot.x86_64.img): Likewise.
19115 (knetbsd.image.x86_64): Likewise.
19116 (knetbsd.miniroot-image.x86_64.img): Likewise.
19117 (kfreebsd-mfsroot.i386.gz): Likewise.
19118 (bootcheck-kfreebsd-i386): Likewise.
19119 (kfreebsd-mfsroot.x86_64.gz): Likewise.
19120 (bootcheck-kfreebsd-x86_64): Likewise.
19121 (knetbsd.miniroot-image.i386.gz): Likewise.
19122 (bootcheck-knetbsd-i386): Likewise.
19123 (bootcheck-kopenbsd-i386): Likewise.
19124 (bootcheck-kopenbsd-x86_64): Likewise.
19125 (knetbsd.miniroot-image.x86_64.gz): Likewise.
19126 (bootcheck-knetbsd-x86_64): Likewise.
19127 (bootcheck-linux-i386): Likewise.
19128 (bootcheck-linux-x86_64): Likewise.
19129 (bootcheck-linux16-i386): Likewise.
19130 (bootcheck-linux16-x86_64): Likewise.
19131 (bootcheck-multiboot): Likewise.
19132 (bootcheck-multiboot2): Likewise.
19133 (bootcheck-kfreebsd-aout): Likewise.
19134 (bootcheck-pc-chainloader): Likewise.
19135 (bootcheck-ntldr): Likewise.
19136 (CLEANFILES): Add new targets.
19137 (BOOTCHECKS): New variable.
19138 (.PHONY): Add bootchecks.
19139 (SUCCESSFUL_BOOT_STRING): New variable.
19140 (BOOTCHECK_TIMEOUT): Likewise.
19141 (bootcheck): New target
19142 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
19143 * configure.ac: Correct efiemu excuse.
19144 * docs/grub.texi (Supported kernels): New chapter.
19145 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
19146 include/grub/mm_private.h. Simplify inclusion of
19147 include/grub/boot.h, include/grub/loader.h
19148 and include/grub/msdos_partition.h
19149 (KERNEL_HEADER_FILES) [i386_coreboot]:
19150 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
19151 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
19152 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
19153 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
19154 include/grub/machine/loader.h.
19155 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
19156 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
19157 extra_dist.
19158 (pci.mod): Enable on i386-multiboot.
19159 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
19160 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
19161 i386-qemu.
19162 (relocator.mod): Rewritten.
19163 (aout.mod): Enable on all x86.
19164 (bsd.mod): Likewise.
19165 (ntldr.mod): New module.
19166 (linux.mod): Use loader/i386/linux.c on all x86.
19167 (xnu.mod): Enable on all x86.
19168 (vga_text.mod): disable on EFI and QEMU.
19169 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
19170 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
19171 * grub-core/efiemu/loadcore.c: Likewise.
19172 * grub-core/efiemu/main.c: Likewise.
19173 (grub_efiemu_exit_boot_services): Removed.
19174 (grub_efiemu_finish_boot_services): Likewise.
19175 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
19176 function.
19177 * grub-core/efiemu/i386/nocfgtables.c: New file.
19178 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
19179 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
19180 (grub_efi_finish_boot_services): Moved from here ...
19181 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
19182 Fille finish memory map and related data.
19183 (finish_mmap_buf): New variable.
19184 (grub_efi_uintn_t finish_mmap_size): Likewise.
19185 (grub_efi_uintn_t finish_key): Likewise.
19186 (grub_efi_uintn_t finish_desc_size): Likewise.
19187 (grub_efi_uint32_t finish_desc_version): Likewise.
19188 (grub_efi_is_finished): Likewise.
19189 (grub_efi_get_memory_map): Use saved memory map if EFI is already
19190 finished.
19191 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
19192 (grub_elf64_phdr_iterate): Likewise.
19193 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
19194 (grub_os_area_size): Likewise.
19195 (grub_machine_init): Don't reserve os area.
19196 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
19197 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
19198 * grub-core/kern/i386/loader.S: Removed.
19199 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
19200 (grub_os_area_size): Likewise.
19201 (grub_machine_init): Don't reserve os area.
19202 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
19203 Don't call grub_dl_unload_all.
19204 Don't include loader.S.
19205 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
19206 Declare the memory after _end as available.
19207 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 19208 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 19209 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
19210 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
19211 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
19212 * include/grub/mm_private.h (grub_mm_header): ... here.
19213 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
19214 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
19215 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
19216 (grub_mm_region): ..here. Removed addr. Added pre_size.
19217 All users updated.
19218 * grub-core/kern/mm.c (base): Renamed to ...
19219 (grub_mm_base): ... this. Made global.
19220 (grub_real_malloc): Alloc from end of region.
19221 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
19222 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
19223 * grub-core/kern/powerpc/cache_flush.S: ... here.
19224 * grub-core/lib/efi/relocator.c: New file.
19225 * grub-core/lib/i386/relocator.c: Rewritten.
19226 * grub-core/lib/i386/relocator16.S: New file.
19227 * grub-core/lib/i386/relocator32.S: Likewise.
19228 * grub-core/lib/i386/relocator64.S: Likewise.
19229 * grub-core/lib/i386/relocator_asm.S: Rewritten.
19230 * grub-core/lib/i386/relocator_common.S: New file.
19231 * grub-core/lib/ieee1275/relocator.c: Likewise.
19232 * grub-core/lib/mips/relocator.c: Rewritten.
19233 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
19234 stylistic adjustments.
19235 * grub-core/lib/powerpc/relocator.c: New file.
19236 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
19237 * grub-core/lib/relocator.c: Rewritten.
19238 * grub-core/lib/x86_64/relocator_asm.S: New file.
19239 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
19240 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
19241 (bsd_tag): New struct.
19242 (tags): New variable.
19243 (tags_last): Likewise.
19244 (netbsd_module): New struct.
19245 (netbsd_mods): New variable.
19246 (netbsd_mods_last): Likewise.
19247 (openbsd_opts): New parameter "serial".
19248 (OPENBSD_SERIAL_ARG): New definition.
19249 (netbsd_opts): New parameter "serial".
19250 (NETBSD_SERIAL_ARG): New definition.
19251 (grub_freebsd_add_meta): Reorganised into ...
19252 (grub_bsd_add_meta): ...this. All users updated.
19253 (grub_freebsd_add_mmap): Reorganised into ...
19254 (generate_e820_mmap): ...this...
19255 (grub_bsd_add_mmap): ...and this. All users updated.
19256 (grub_freebsd_list_modules): Use tags.
19257 (grub_netbsd_add_meta_module): New function.
19258 (grub_netbsd_list_modules): Likewise.
19259 (grub_freebsd_boot): Use relocator and finish EFI.
19260 (grub_openbsd_boot): Likewise.
19261 (grub_netbsd_setup_video): New function.
19262 (grub_netbsd_add_modules): Likewise.
19263 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
19264 and finish EFI.
19265 (grub_bsd_unload): Unload tags.
19266 (grub_bsd_load_aout): Use relocator.
19267 (grub_bsd_elf32_size_hook): New function.
19268 (grub_bsd_elf32_hook): Use relocator.
19269 (grub_bsd_elf64_size_hook): New function.
19270 (grub_bsd_elf64_hook): Use relocator.
19271 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
19272 (grub_bsd_load): Zero-out openbsd_ramdisk.
19273 (grub_bsd_load): Use relocator.
19274 (grub_cmd_openbsd): Support serial.
19275 (grub_cmd_netbsd): Support modules.
19276 (grub_cmd_freebsd_module): Use relocator.
19277 (grub_netbsd_module_load): New function.
19278 (grub_cmd_netbsd_module): Likewise.
19279 (grub_cmd_openbsd_ramdisk): Likewise.
19280 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
19281 kopenbsd_ramdisk.
19282 (GRUB_MOD_FINI): Unregister new commands.
19283 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
19284 (grub_freebsd_load_elfmodule_obj): Use relocator.
19285 (grub_freebsd_load_elfmodule): Likewise.
19286 (grub_freebsd_load_elf_meta): Likewise.
19287 (grub_netbsd_load_elf_meta): New function.
19288 (grub_openbsd_find_ramdisk): Likewise.
19289 * grub-core/loader/i386/bsd_helper.S: Removed.
19290 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
19291 * grub-core/loader/i386/bsd_trampoline.S: Removed.
19292 * grub-core/loader/i386/efi/linux.c: Likewise.
19293 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
19294 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
19295 (DEFAULT_VIDEO_MODE): Likewise.
19296 (real_mode_target): New variable.
19297 (prot_mode_target): Likewise.
19298 (initrd_mem_target): Likewise.
19299 (relocator): Likewise.
19300 (efi_mmap_buf): Likewise.
19301 (efi_mmap_size): Likewise.
19302 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
19303 (free_pages): Use relocator.
19304 (allocate_pages): Account for efi_mmap and use relocator. Return error.
19305 (grub_linux_setup_video): Return error.
19306 (grub_linux_trampoline_start): Removed.
19307 (grub_linux_trampoline_end): Likewise.
19308 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
19309 andd video parameters depending on firmware.
19310 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
19311 [GRUB_MACHINE_EFI]: Pass EFI parameters.
19312 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
19313 (grub_cmd_initrd): Use relocator.
19314 * grub-core/loader/i386/linux_trampoline.S: Removed.
19315 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
19316 (elf_sec_entsize): Likewise.
19317 (elf_sec_shstrndx): Likewise.
19318 (elf_sections): Likewise.
19319 (grub_multiboot_load): Use relocator.
19320 (grub_multiboot_get_mbi_size): Account for sections.
19321 (grub_multiboot_make_mbi): Use relocator and support sections.
19322 (grub_multiboot_add_elfsyms): New function.
19323 (grub_multiboot_free_mbi): Free sections.
19324 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
19325 (grub_linux_real_target): Likewise.
19326 (grub_linux_real_chunk): Likewise.
19327 (grub_linux16_prot_size): Likewise.
19328 (grub_linux16_boot): Use relocator.
19329 (grub_linux_unload): Unload relocator.
19330 (grub_cmd_linux): Use relocator.
19331 (grub_cmd_initrd): Likewise.
19332 * grub-core/loader/i386/pc/ntldr.c: New file.
19333 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
19334 Don't try to guess CPU frequency.
19335 (grub_xnu_set_video): Stretch bitmap.
19336 (grub_xnu_boot): Use relocator.
19337 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
19338 (grub_linux_unload): Free relocator.
19339 (grub_linux_load32): Use relocator.
19340 (grub_linux_load64): Likewise.
19341 (grub_cmd_initrd): Likewise.
19342 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
19343 (grub_multiboot_unload): Unload relocator.
19344 (grub_cmd_multiboot): Use relocator.
19345 (grub_cmd_module): Likewise.
19346 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
19347 Use relocator and support sections.
19348 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
19349 (elf_sec_entsize): Likewise.
19350 (elf_sec_shstrndx): Likewise.
19351 (elf_sections): Likewise.
19352 (grub_multiboot_load): Use relocator.
19353 (grub_multiboot_get_mbi_size): Account for sections.
19354 (grub_multiboot_make_mbi): Use relocator and support sections.
19355 (grub_multiboot_add_elfsyms): New function.
19356 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
19357 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
19358 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
19359 Prototype changed. All users updated.
19360 (grub_xnu_align_heap): Simplified.
19361 (grub_xnu_writetree_toheap): Likewise.
19362 (grub_xnu_unload): Unload relocator.
19363 (grub_cmd_xnu_kernel): Use relocator.
19364 (grub_cmd_xnu_kernel64): Likewise.
19365 (grub_xnu_register_memory): Simplified.
19366 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
19367 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
19368 EFI is finished.
19369 (grub_console_checkkey): Likewise.
19370 (grub_console_getkey): Likewise.
19371 (grub_console_getwh): Likewise.
19372 (grub_console_getxy): Likewise.
19373 (grub_console_gotoxy): Likewise.
19374 (grub_console_cls): Likewise.
19375 (grub_console_setcolorstate): Likewise.
19376 (grub_console_setcursor): Likewise.
19377 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
19378 * grub-core/tests/boot/kbsd.init-i386.S: New file.
19379 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
19380 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
19381 * grub-core/tests/boot/kernel-8086.S: Likewise.
19382 * grub-core/tests/boot/kernel-i386.S: Likewise.
19383 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
19384 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
19385 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
19386 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
19387 * grub-core/tests/boot/knetbsd.cfg: Likewise.
19388 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
19389 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
19390 * grub-core/tests/boot/linux.cfg: Likewise.
19391 * grub-core/tests/boot/linux.init-i386.S: Likewise.
19392 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
19393 * grub-core/tests/boot/linux16.cfg: Likewise.
19394 * grub-core/tests/boot/multiboot.cfg: Likewise.
19395 * grub-core/tests/boot/multiboot2.cfg: Likewise.
19396 * grub-core/tests/boot/ntldr.cfg: Likewise.
19397 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
19398 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
19399 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
19400 New definition.
19401 * include/grub/dl.h (grub_dl_unload_all): Removed.
19402 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
19403 (grub_efi_finish_boot_services): Change prototype.
19404 (grub_efi_is_finished): New variable.
19405 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
19406 Changed prototype.
19407 (grub_efiemu_finish_boot_services): Removed.
19408 (grub_machine_efiemu_init_tables): New prototype.
19409 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
19410 (grub_elf64_phdr_iterate): Likewise.
19411 * include/grub/i386/bsd.h: Include relocator.h.
19412 (freebsd_tag_header): New struct.
19413 (grub_openbsd_bios_mmap): Removed.
19414 (grub_unix_real_boot): Removed.
19415 (grub_freebsd_load_elfmodule32): Changed prototype.
19416 (grub_freebsd_load_elfmodule_obj64): Likewise.
19417 (grub_freebsd_load_elf_meta32): Likewise.
19418 (grub_freebsd_load_elf_meta64): Likewise.
19419 (grub_freebsd_add_meta): Removed.
19420 (grub_netbsd_load_elf_meta32): New prototype.
19421 (grub_netbsd_load_elf_meta64): Likewise.
19422 (grub_bsd_add_meta): Likewise.
19423 (grub_openbsd_ramdisk_descriptor): New struct.
19424 (grub_openbsd_find_ramdisk32): New prototype.
19425 (grub_openbsd_find_ramdisk64): Likewise.
19426 * include/grub/i386/coreboot/loader.h: Removed.
19427 * include/grub/i386/efi/loader.h: Likewise.
19428 * include/grub/i386/ieee1275/loader.h: Likewise.
19429 * include/grub/i386/linux.h (linux_kernel_header): Change void *
19430 to grub_uint32_t.
19431 * include/grub/i386/loader.h: Removed.
19432 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
19433 value.
19434 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
19435 (grub_phys_addr_t): New type.
19436 (grub_vtop): New inline function.
19437 (grub_map_memory): Likewise.
19438 (grub_unmap_memory): Likewise.
19439 * include/grub/i386/multiboot/loader.h: Removed.
19440 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
19441 (NETBSD_BTINFO_CONSOLE): New definition.
19442 (NETBSD_BTINFO_SYMTAB): Likewise.
19443 (NETBSD_BTINFO_MODULES): Likewise.
19444 (NETBSD_BTINFO_FRAMEBUF): Likewise.
19445 (grub_netbsd_bootinfo): New struct.
19446 (grub_netbsd_btinfo_common): Use explicit bitsize.
19447 (grub_netbsd_btinfo_mmap_entry): Removed.
19448 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
19449 (grub_netbsd_btinfo_bootdisk): New struct.
19450 (grub_netbsd_btinfo_symtab): Likewise.
19451 (grub_netbsd_btinfo_serial): Likewise.
19452 (grub_netbsd_btinfo_modules): Likewise.
19453 (grub_netbsd_btinfo_framebuf): Likewise.
19454 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
19455 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
19456 Likewise.
19457 (grub_openbsd_bootargs): Use explicit bitsize.
19458 (grub_openbsd_bootarg_console): New struct.
19459 (GRUB_OPENBSD_COM_MAJOR): New definition.
19460 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
19461 * include/grub/i386/pc/efiemu.h: Removed.
19462 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
19463 * include/grub/i386/qemu/loader.h: Removed.
19464 * include/grub/i386/relocator.h: Rewritten.
19465 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
19466 * include/grub/mips/memory.h: New file.
19467 * include/grub/mips/multiboot.h: Rewritten.
19468 * include/grub/mips/relocator.h: Rewritten.
19469 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
19470 (grub_vtop): New function.
19471 (grub_map_memory): Likewise.
19472 (grub_unmap_memory): Likewise.
19473 * include/grub/misc.h (ALIGN_DOWN): New definition.
19474 * include/grub/mm.h (grub_mm_check_real): New proto.
19475 (GRUB_MM_CHECK): New definition.
19476 * include/grub/mm_private.h: New file.
19477 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
19478 (grub_multiboot_get_mbi_size): Removed.
19479 (grub_multiboot_make_mbi): Change prottype.
19480 (grub_multiboot_set_accepts_video): New proto.
19481 (grub_multiboot_add_elfsyms): Likewise.
19482 (grub_multiboot_payload_eip): New variable.
19483 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
19484 New prototype.
19485 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
19486 New definition.
19487 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
19488 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
19489 * include/grub/powerpc/ieee1275/loader.h: Removed.
19490 * include/grub/powerpc/memory.h: New file.
19491 * include/grub/powerpc/relocator.h: Likewise.
19492 * include/grub/relocator.h: Likewise.
19493 * include/grub/relocator_private.h: Likewise.
19494 * include/grub/sparc64/ieee1275/loader.h: Removed.
19495 * include/grub/x86_64/memory.h: New file.
19496 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
19497 (grub_xnu_heap_malloc): Likewise.
19498 (grub_xnu_heap_real_start): Removed.
19499 (grub_xnu_heap_start): Likewise.
19500 (grub_xnu_relocator): New variable.
19501 (grub_xnu_heap_target_start): Likewise.
19502 * tests/util/grub-shell.in: Support non-pc.
19503 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 19504
5303b85d
VS
195052010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19506
19507 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
19508 on malloc error.
19509 (grub_bidi_logical_to_visual): Check that malloc succeded.
19510 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
19511 puts.
19512 (grub_xputs_normal): Likewise.
19513
d768d159
VS
195142010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19515
19516 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
19517 extra_dist.
19518
195192010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19520
19521 * grub-core/efiemu/runtime/efiemu.sh: Removed.
19522
5bf84df4
VS
195232010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19524
19525 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
19526
3626810e
VS
195272010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19528
19529 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
19530 dprintf.
19531
a7363f53
BC
195322010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
19533
19534 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
19535
902f75f6
VS
195362010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19537
19538 * grub-core/normal/term.c (print_more): Fix a memory leak.
19539 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
19540 (grub_xputs_normal): Likewise.
19541
3c707967
VS
195422010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19543
19544 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
19545 the begining of the string
19546
2053cc07
VS
195472010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19548
19549 * grub-core/script/script.c (grub_script_parse): Free parsed on
19550 failure.
19551
46422ebf
VS
195522010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19553
19554 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
19555 on failure.
19556
9e0fa3f6
VS
195572010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19558
19559 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
19560 return.
19561
3393cf16
VS
195622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19563
19564 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
19565 (scroll_up): Fix a memory leak.
19566
b17540cb
VS
195672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19568
19569 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
19570 errors.
19571
67140446
VS
195722010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
19573
19574 Handle USB pendrives exposed as floppies.
19575
19576 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
19577 floppy.
19578 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
19579 Check for partitions on all devices.
19580
e35e46fc
VS
195812010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19582
19583 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
19584 (readkey): Likewise.
19585
d24c6190
BC
195862010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
19587
19588 Multiple variable names support to "export" command.
19589
19590 * normal/context.c (grub_cmd_export): "export" command supports
19591 multiple variable names.
19592
04ddcc6a
ST
195932010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
19594
19595 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
19596 --target=drive output to Mach device name.
19597
0c8b61d8
BC
195982010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
19599
19600 New Automake based build system for GRUB.
19601
19602 * ABOUT-NLS: New file.
19603 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
19604 in Makefile.util.def file.
19605 * Makefile.util.def: New file. Autogen build definitions file for
19606 GRUB host utils.
19607 * conf/Makefile.common: New file. Common variables for GRUB host
19608 utils and target modules.
19609 * conf/Makefile.extra-dist: New file. Extra files for make dist.
19610 * docs/Makefile.am: New file. Automake file for docs.
19611 * gentpl.py: New file. Python script to generate Autogen
19612 template.
19613 * grub-core/Makefile.am: New file. GRUB target modules' rules
19614 that doesn't fit in Makefile.core.def file.
19615 * grub-core/Makefile.core.def: New file. Autogen build
19616 definitions file for GRUB target modules.
19617 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
19618 specific setjmp.S file.
19619 * po/Makefile.am: New file.
19620
19621 * .bzrignore: New ignores.
19622 * INSTALL: New requirements, without Ruby.
19623 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
19624 * autogen.sh: Updated to invoke autogen as necessary.
19625 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
19626 and defines for Automake conditionals.
19627 * geninit.sh: Refactoring.
19628
19629 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
19630 necessary.
19631 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
19632 New prototype.
19633
19634 * include/grub/test.h: Fix functional test modules' naming.
19635 * grub-core/tests/example_functional_test.c: Fix test module name.
19636
19637 * util/misc.c: Hosted versions' of grub functions for libgrub.a
19638 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
19639 * util/grub-editenv.c: Likewise.
19640 * util/grub-fstest.c: Likewise.
19641 * util/grub-mkdevicemap.c: Likewise.
19642 * util/grub-mkfont.c: Likewise.
19643 * util/grub-mkimage.c: Likewise.
19644 * util/grub-mkpasswd-pbkdf2.c: Likewise.
19645 * util/grub-probe.c: Likewise.
19646 * util/grub-script-check.c: Likewise.
19647 * util/i386/pc/grub-setup.c: Likewise.
19648 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19649
19650 * tests/util/grub-shell.in: Fix override directory path.
19651 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
19652 * util/import_gcry.py: Create Makefile.gcry.def file instead.
19653
19654 * util/lvm.c: Update #includes.
19655 * util/raid.c: Likewise.
19656 * util/resolve.c: Likewise.
19657 * grub-core/bus/emu/pci.c: Likewise.
19658 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
19659 * grub-core/lib/posix_wrap/string.h: Likewise.
19660 * grub-core/kern/emu/main.c: Likewise.
19661
19662 * grub-core/gensymlist.sh: New file. Script for generating kernel
19663 symbols file.
19664 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
19665
19666 * grub-core/gentrigtables.c: Fix unused variable warnings.
19667
19668 * Makefile.in: Removed.
19669 * conf/any-emu.rmk: Removed.
19670 * conf/common.rmk: Removed.
19671 * conf/i386-coreboot.rmk: Removed.
19672 * conf/i386-efi.rmk: Removed.
19673 * conf/i386-ieee1275.rmk: Removed.
19674 * conf/i386-multiboot.rmk: Removed.
19675 * conf/i386-pc.rmk: Removed.
19676 * conf/i386-qemu.rmk: Removed.
19677 * conf/i386.rmk: Removed.
19678 * conf/mips-yeeloong.rmk: Removed.
19679 * conf/mips.rmk: Removed.
19680 * conf/powerpc-ieee1275.rmk: Removed.
19681 * conf/sparc64-ieee1275.rmk: Removed.
19682 * conf/tests.rmk: Removed.
19683 * conf/x86-efi.rmk: Removed.
19684 * conf/x86_64-efi.rmk: Removed.
19685 * gendistlist.sh: Removed.
19686 * geninitheader.sh: Removed.
19687 * genkernsyms.sh.in: Removed.
19688 * genmk.rb: Removed.
19689 * gensymlist.sh.in: Removed.
19690 * mkinstalldirs: Removed.
19691 * boot: Moved ...
19692 * grub-core/boot: ... to here.
19693 * bus: Moved ...
19694 * grub-core/bus: ... to here.
19695 * commands: Moved ...
19696 * grub-core/commands: ... to here.
19697 * disk: Moved ...
19698 * grub-core/disk: ... to here.
19699 * efiemu: Moved ...
19700 * grub-core/efiemu: ... to here.
19701 * font: Moved ...
19702 * grub-core/font: ... to here.
19703 * fs: Moved ...
19704 * grub-core/fs: ... to here.
19705 * gencmdlist.sh: Moved ...
19706 * grub-core/gencmdlist.sh: ... to here.
19707 * genemuinit.sh: Moved ...
19708 * grub-core/genemuinit.sh: ... to here.
19709 * genemuinitheader.sh: Moved ...
19710 * grub-core/genemuinitheader.sh: ... to here.
19711 * genfslist.sh: Moved ...
19712 * grub-core/genfslist.sh: ... to here.
19713 * genhandlerlist.sh: Moved ...
19714 * grub-core/genhandlerlist.sh: ... to here.
19715 * genmoddep.awk: Moved ...
19716 * grub-core/genmoddep.awk: ... to here.
19717 * genmodsrc.sh: Moved ...
19718 * grub-core/genmodsrc.sh: ... to here.
19719 * genpartmaplist.sh: Moved ...
19720 * grub-core/genpartmaplist.sh: ... to here.
19721 * genparttoollist.sh: Moved ...
19722 * grub-core/genparttoollist.sh: ... to here.
19723 * genterminallist.sh: Moved ...
19724 * grub-core/genterminallist.sh: ... to here.
19725 * gentrigtables.c: Moved ...
19726 * grub-core/gentrigtables.c: ... to here.
19727 * genvideolist.sh: Moved ...
19728 * grub-core/genvideolist.sh: ... to here.
19729 * gettext: Moved ...
19730 * grub-core/gettext: ... to here.
19731 * gfxmenu: Moved ...
19732 * grub-core/gfxmenu: ... to here.
19733 * gnulib: Moved ...
19734 * grub-core/gnulib: ... to here.
19735 * hello: Moved ...
19736 * grub-core/hello: ... to here.
19737 * hook: Moved ...
19738 * grub-core/hook: ... to here.
19739 * io: Moved ...
19740 * grub-core/io: ... to here.
19741 * kern: Moved ...
19742 * grub-core/kern: ... to here.
19743 * lib: Moved ...
19744 * grub-core/lib: ... to here.
19745 * loader: Moved ...
19746 * grub-core/loader: ... to here.
19747 * mmap: Moved ...
19748 * grub-core/mmap: ... to here.
19749 * normal: Moved ...
19750 * grub-core/normal: ... to here.
19751 * partmap: Moved ...
19752 * grub-core/partmap: ... to here.
19753 * parttool: Moved ...
19754 * grub-core/parttool: ... to here.
19755 * script: Moved ...
19756 * grub-core/script: ... to here.
19757 * term: Moved ...
19758 * grub-core/term: ... to here
19759 * tests/example_functional_test.c: Moved ...
19760 * grub-core/tests/example_functional_test.c: ... to here.
19761 * tests/lib/functional_test.c: Moved ...
19762 * grub-core/tests/lib/functional_test.c: ... to here.
19763 * tests/lib/test.c: Moved ...
19764 * grub-core/tests/lib/test.c: ... to here.
19765 * video: Moved ...
19766 * grub-core/video: ... to here.
19767
645586e6
BC
197682010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
19769
19770 Replace --enable-grub-emu-modules with grub-emu-lite.
19771
19772 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
19773 cache.S.
19774
19775 * include/grub/emu/misc.h (grub_emu_init): New prototype.
19776 * kern/emu/full.c: New file. For grub-emu specific initialization.
19777 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
19778 * kern/emu/main.c: Call initialization function grub_emu_init.
19779
19780 * Makefile.in: Include grub-emu-lite in install.
19781 * commands/parttool.c: Use grub_no_autoload to differentiate
19782 between grub-emu and grub-emu-lite.
19783 * include/grub/misc.h: New variable grub_no_autoload.
19784
19785 * conf/any-emu.rmk: New rules for grub-emu-lite.
19786 * configure.ac: Remove --enable-grub-emu-modules.
19787 * genmk.rb: Cleanup unnecessary rules.
19788 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
19789
19790 * normal/main.c: Don't load list files on grub-emu-lite.
19791 * util/misc.c (grub_arch_sync_caches): Removed.
19792
f86a4030
CW
197932010-08-23 Colin Watson <cjwatson@ubuntu.com>
19794
19795 * kern/mips/startup.S (grub_prefix): Update comment to refer to
19796 grub-mkimage rather than grub-mkelfimage.
19797 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
19798
06776944
VS
197992010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19800
19801 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
19802 a key after CapsLock or NumLock. It's just a qemu bug.
19803
df262419
VS
198042010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
19805
19806 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
19807 needed by libusb wrapper.
19808
b40ea81b
ST
198092010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19810
19811 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
19812
dee50575
VS
198132010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
19814
19815 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
19816 --nounzip is passed.
19817
fb1d7b79
VS
198182010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
19819
19820 USB hotunplugging and USB serial support.
19821
19822 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
19823 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
19824 (grub_uhci_transfer): Respect timeout and set *actual.
19825 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
19826 non-standard length.
19827 (grub_usb_device_attach): Autoload modules.
19828 (GRUB_MOD_INIT): Set grub_term_poll_usb.
19829 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
19830 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
19831 users updated.
19832 (grub_usb_add_hub): Fill nports and children.
19833 (attach_root_port): Receive hub instead of controller.
19834 All users updated. Fill hub->devices.
19835 (grub_usb_root_hub): Allocate hub->devices.
19836 (detach_device): New function.
19837 (poll_nonroot_hub): Fill children and detach devices.
19838 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
19839 actual arguments. All users updated.
19840 (grub_usb_bulk_read_extended): New function.
19841 * bus/usb/serial/common.c: New file.
19842 * bus/usb/serial/ftdi.c: Likewise.
19843 * bus/usb/serial/pl2303.c: Likewise.
19844 * commands/terminal.c (handle_command): Support wildcard.
19845 * commands/usbtest.c: Output "Unknown" instead of empty string.
19846 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
19847 (usbserial_common_mod_SOURCES): New variable.
19848 (usbserial_common_mod_CFLAGS): Likewise.
19849 (usbserial_common_mod_LDFLAGS): Likewise.
19850 (pkglib_MODULES): Add usbserial_pl2303.mod.
19851 (usbserial_pl2303_mod_SOURCES): New variable.
19852 (usbserial_pl2303_mod_CFLAGS): Likewise.
19853 (usbserial_pl2303_mod_LDFLAGS): Likewise.
19854 (pkglib_MODULES): Add usbserial_ftdi.mod.
19855 (usbserial_ftdi_mod_SOURCES): New variable.
19856 (usbserial_ftdi_mod_CFLAGS): Likewise.
19857 (usbserial_ftdi_mod_LDFLAGS): Likewise.
19858 (pkglib_MODULES): Add serial.mod.
19859 (serial_mod_SOURCES): New variable.
19860 (serial_mod_CFLAGS): Likewise.
19861 (serial_mod_LDFLAGS): Likewise.
19862 * conf/i386-pc.rmk: Likewise.
19863 * conf/mips-yeeloong.rmk: Likewise.
19864 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
19865 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19866 * disk/usbms.c (first_available_slot): New variable.
19867 (grub_usbms_attach): Don't reuse free slots due to potential cache
19868 problems.
19869 * include/grub/serial.h: Moved to ..
19870 * include/grub/ns8250.h: ...this.
19871 * include/grub/serial.h: New file.
19872 * include/grub/term.h (grub_term_poll_usb): New variable.
19873 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
19874 readkey. All users updated.
19875 (grub_terminfo_output_state): Pass term to put.
19876 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
19877 (grub_usb_controller_dev): Add timeout and actual arguments to
19878 transfer. All users updated.
19879 (grub_usb_interface): New field detach_data.
19880 (grub_usb_device): New fields children and nports.
19881 (grub_usb_ep_type_t): New type.
19882 (grub_usb_get_ep_type): New function.
19883 (grub_usb_bulk_read_extended): Likewise.
19884 * include/grub/usbdesc.h (grub_usb_desc): New type.
19885 * include/grub/usbserial.h: New file.
19886 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
19887 * kern/term.c (grub_term_poll_usb): New variable.
19888 (grub_getkey): Call grub_term_poll_usb if set.
19889 (grub_checkkey): Likewise.
19890 (grub_getkeystatus): Likewise.
19891 * term/serial.c: Moved controller-specific parts to ...
19892 * term/ns8250.c: ... here.
19893 * term/serial.c: Mostly rewritten.
19894 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
19895 according to spec.
19896
21a313de
RM
198972010-08-20 Robert Millan <rmh@gnu.org>
19898
19899 Make kFreeBSD code more generic to support ext2fs as root, ufs as
19900 a separate module and maybe other interesting combinations.
19901
19902 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
19903 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
19904 (kfreebsd_entry): Add generic filesystem module load routine.
19905 Map GRUB `ext2' to kFreeBSD `ext2fs'.
19906
63c734a6
CW
199072010-08-20 Colin Watson <cjwatson@ubuntu.com>
19908
19909 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
19910 "numcenter" (I misunderstood the purpose of this entry).
19911 * docs/grub.texi (sendkey): Likewise.
19912
c4d16542
CW
199132010-08-20 Colin Watson <cjwatson@ubuntu.com>
19914
19915 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
19916 status flag options; simply omitting the option is equivalent and
19917 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
19918 (keysym_table): Rename "num5numlock" to "numlock".
19919 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
19920 can uniformly say that only the last of multiple `sendkey'
19921 invocations has any effect.
19922 * docs/grub.texi (sendkey): New section.
19923
93541d66
CW
199242010-08-19 Colin Watson <cjwatson@ubuntu.com>
19925
19926 * commands/i386/pc/sendkey.c (options): Fix three typos.
19927
b4ece5e1
VS
199282010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
19929
19930 Implement sendkey support.
19931
19932 * commands/i386/pc/sendkey.c: New file.
19933 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
19934 (sendkey_mod_SOURCES): New variable.
19935 (sendkey_mod_CFLAGS): Likewise.
19936 (sendkey_mod_LDFLAGS): Likewise.
19937
51f1f5af
CW
199382010-08-18 Colin Watson <cjwatson@ubuntu.com>
19939
19940 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
19941 fix warnings from Autoconf.
19942
9da94e05
CW
199432010-08-18 Colin Watson <cjwatson@ubuntu.com>
19944
19945 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
19946 to avoid false positives with some assemblers that output things
19947 like "someprefix_func" as part of their output.
19948
729a0f2e
RM
199492010-08-15 Robert Millan <rmh@gnu.org>
19950
19951 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
19952 errors.
19953 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
19954 grub_get_libzfs_handle() errors.
19955
f3710e08
RM
199562010-08-14 Robert Millan <rmh@gnu.org>
19957
19958 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
19959 filesystem is not ZFS.
19960
7a3c13de
BC
199612010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19962
19963 Fix for misspelled color names defaulting to black/black (bug
19964 reported by Doug Nazar)
19965
19966 * include/grub/normal.h (grub_parse_color_name_pair): Add return
19967 status to prototype.
19968 * normal/color.c (grub_parse_color_name_pair): Return failure
19969 status.
19970 (grub_env_write_color_normal): Ignore bad color names.
19971 (grub_env_write_color_highlight): Likewise.
19972 * normal/main.c (GRUB_MOD_INIT): Set default color names.
19973
ab8ba50d
BC
199742010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19975
19976 "shift" command support to GRUB script.
19977
19978 * include/grub/script_sh.h (grub_script_shift): New prototype.
19979 * script/execute.c (grub_script_shift): New function.
19980 * script/main.c (grub_script_init): Register shift command.
19981 (grub_script_fini): Unregister shift command.
19982 * util/grub-script-check.c (grub_script_cmd_shift): New function.
19983
19984 * tests/grub_script_shift.in: New testcase.
19985 * conf/tests.rmk: Rules for new testcase.
19986
4d61999e
BC
199872010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19988
19989 "continue" command support to GRUB script.
19990
19991 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
19992 (grub_script_break): Continue support.
19993 * script/main.c (grub_script_init): Register continue command.
19994 (grub_script_fini): Unregister continue command.
19995
19996 * tests/grub_script_continue.in: New testcase.
19997 * conf/tests.rmk: Rules for new testcase.
19998
4df51e00
BC
199992010-08-12 BVK Chaitanya <bvk@dbook>
20000
20001 "break" command support to GRUB script.
20002
20003 * conf/common.rmk: Rule updates to grub-script-check.
20004 * include/grub/misc.h (grub_min): New function.
20005 * include/grub/script_sh.h (grub_script_init): New prototype.
20006 (grub_script_fini): New prototype.
20007 (grub_script_break): New prototype.
20008 * script/main.c (grub_script_init): New function.
20009 (grub_script_fini): New function.
20010 * script/execute.c (grub_script_break): New function.
20011 * normal/main.c: Calls to grub_script_{init,fini}.
20012 * util/grub-script-check.c (grub_script_break): New function.
20013
20014 * tests/grub_script_break.in: New testcase.
20015 * conf/tests.rmk: Rules for new test case.
20016
f12c8420
BC
200172010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20018
20019 Function parameters support to GRUB script.
20020
20021 * script/yylex.l (VARIABLE): Regular expression update.
20022 * script/function.c (grub_script_function_call): Moved ...
20023 * script/execute.c (grub_script_function_call): ... to here.
20024 (grub_script_execute_arglist_to_argv): Removed.
20025 (grub_script_arglist_to_argv): New function.
20026 * script/argv.c: New file.
20027 (grub_script_argv_free): New function.
20028 (grub_script_argv_next): Likewise.
20029 (grub_script_argv_append): Likewise.
20030 (grub_script_argv_split_append): Likewise.
20031 * include/grub/script_sh.h (grub_script_argv): New struct.
20032 (grub_script_argv_free): New function.
20033 (grub_script_argv_next): Likewise.
20034 (grub_script_argv_append): Likewise.
20035 (grub_script_argv_split_append): Likewise.
20036
20037 * conf/common.rmk (normal.mod): New source script/argv.c.
20038
20039 * tests/grub_script_echo1.in: More tests.
20040 * tests/grub_script_vars1.in: Likewise.
20041 * tests/grub_script_functions.in: New test case.
20042 * conf/tests.rmk: Rules for new testcase.
20043
8022b748
BC
200442010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20045
20046 Remove grub_script_cmdblock struct.
20047
20048 * include/grub/script_sh.h: Remove grub_script_cmdblock.
20049 * script/parser.y: Likewise.
20050 * script/execute.c: Rename cmdblock suffix to cmdlist.
20051 * script/script.c: Likewise.
20052 * util/grub-script-check.c: Likewise.
20053
79a6ba61
YB
200542010-08-11 Yves Blusseau <blusseau@zetam.org>
20055
20056 * .bzrignore: add grub-macho2img
20057
d04b9414
VS
200582010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20059
20060 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
20061
f947ab49
VS
200622010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20063
20064 Remove the dump of sm712 initialisation sequence.
20065
20066 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
20067 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
20068 (GRUB_VGA_IO_MISC_WRITE): Likewise.
20069 (GRUB_VGA_CR_*): Added many registers.
20070 (GRUB_VGA_SR_*): Likewise.
20071 (GRUB_VGA_GR_*): Likewise.
20072 (grub_vga_write_arx): New function.
20073 (grub_video_hw_config): New struct.
20074 (grub_vga_set_geometry): New function.
20075 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
20076 GRUB_PCI_CLASS_SUBCLASS_VGA.
20077 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
20078 * video/sm712.c (grub_sm712_write_reg): New function
20079 (grub_sm712_read_reg): Likewise.
20080 (grub_sm712_sr_write): Likewise.
20081 (grub_sm712_gr_write): Likewise.
20082 (grub_sm712_cr_write): Likewise.
20083 (grub_sm712_write_arx): Likewise.
20084 (grub_sm712_cr_shadow_write): Likewise.
20085 (grub_sm712_write_dda_lookup): Likewise.
20086 (grub_video_sm712_setup): Initialise the video rather then
20087 blindly replay the dump.
20088 (main) [TEST]: Add a routine to be able to compile as standalone for
20089 tests.
20090 * video/sm712_init.c (sm712_init): Removed.
20091 (sm712_sr_seq1): New array.
20092 (sm712_sr_seq2): Likewise.
20093
f0206638
VS
200942010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20095
20096 * include/grub/vga.h: Add missing grub/pci.h include.
20097
2764da3b
YB
200982010-08-10 Yves Blusseau <blusseau@zetam.org>
20099
20100 * util/grub-macho2img.c (main): fix typo
20101
cf0c775e
VS
201022010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20103
20104 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
20105 (grub_vga_gr_read): Likewise.
20106 (grub_vga_cr_write): Likewise.
20107 (grub_vga_cr_read): Likewise.
20108 (grub_vga_sr_write): Likewise.
20109 (grub_vga_sr_read): Likewise.
20110 (grub_vga_palette_read): Likewise.
20111 (grub_vga_palette_write): Likewise.
20112 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
20113 (grub_sm712_sr_read): New function.
20114 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
20115 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
20116
07f360e9
RM
201172010-08-09 Robert Millan <rmh@gnu.org>
20118
20119 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
20120 out unused variables on non-ZFS build.
20121
346c2072
RM
201222010-08-08 Robert Millan <rmh@gnu.org>
20123
20124 Fix path generation for sub-filesystems in ZFS.
20125
20126 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
20127 missing slash.
20128
71175420
RM
201292010-08-08 Robert Millan <rmh@gnu.org>
20130
20131 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
20132
0d8286f3
RM
201332010-08-08 Robert Millan <rmh@gnu.org>
20134
20135 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
20136 exist, issue a proper error message (rely on `ls' for translated
20137 strings).
20138
55dd2924
RM
201392010-08-08 Robert Millan <rmh@gnu.org>
20140
20141 Fix grub-probe invocation.
20142
20143 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
20144
d3dd9e80
RM
201452010-08-04 Robert Millan <rmh@gnu.org>
20146
20147 * configure.ac: Remove checks for getfsstat() and getmntany().
20148 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
20149 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
20150 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
20151 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
20152 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
20153 function.
20154 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
20155 via find_mount_point_from_dir() and getfsstat() / getmntany().
20156
0de22aa9
RM
201572010-08-04 Robert Millan <rmh@gnu.org>
20158
20159 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20160 (grub_find_zpool_from_mount_point): Merge into ...
20161 (grub_find_zpool_from_dir): ... this.
20162 * kern/emu/misc.c: Likewise.
20163
20164 * kern/emu/misc.c
20165 (grub_make_system_path_relative_to_its_root): Replace
20166 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
20167 with grub_find_zpool_from_dir().
20168 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
20169
62858144
RM
201702010-08-04 Robert Millan <rmh@gnu.org>
20171
20172 Support OpenSolaris in ZFS device resolution.
20173
20174 * configure.ac: Check for getmntany().
20175 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
20176 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
20177 support.
20178
9dd6fd50
RM
201792010-08-03 Robert Millan <rmh@gnu.org>
20180
20181 Fix grub-emu build.
20182
20183 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
20184 * include/grub/emu/misc.h: ... here.
20185
20186 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
20187 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
20188
20189 * util/misc.c: Remove `<grub/util/libzfs.h>'.
20190 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
20191 (grub_get_libzfs_handle): Move to ...
20192 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
20193 (grub_get_libzfs_handle): ... here.
20194
c9f7ff97
BC
201952010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
20196
20197 * script/execute.c (grub_script_execute_cmdline): Check for NULL
20198 as command name case.
20199
a870a783
CW
202002010-08-02 Colin Watson <cjwatson@ubuntu.com>
20201
20202 * disk/raid.c (insert_array): Select unique numbers for named arrays
20203 as well, for use as keys in the disk cache.
20204
c7db243b
RM
202052010-08-01 Robert Millan <rmh@gnu.org>
20206
20207 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
20208 kFreeBSD device name, except on ZFS where the filesystem label is
20209 used.
20210 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
20211 `/boot/zfs/zpool.cache'.
20212 Set mountfrom kernel variable using ${kfreebsd_device}.
20213
f7abdefb
RM
202142010-08-01 Robert Millan <rmh@gnu.org>
20215
20216 Make it even harder to use uninitialized `libzfs_handle' (and
20217 make the interface a bit simpler).
20218
20219 * include/grub/util/misc.h (grub_util_init_libzfs)
20220 (libzfs_handle): Remove.
20221 (grub_get_libzfs_handle): New prototype.
20222
20223 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
20224 attribute.
20225 (grub_util_init_libzfs): Remove.
20226 (grub_get_libzfs_handle): New function.
20227
20228 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
20229 grub_get_libzfs_handle() to obtain a libzfs handle instead of
20230 accessing `libzfs_handle' directly.
20231
c882acc0
RM
202322010-08-01 Robert Millan <rmh@gnu.org>
20233
20234 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20235 (grub_find_zpool_from_mount_point): New function prototypes.
20236
20237 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
20238 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
20239
20240 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
20241 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
20242 `static' attribute.
20243
20244 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
20245 finding zpool from mount point into ...
20246 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
20247
20248 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
20249 requested path is part of a ZFS pool, use
20250 grub_find_zpool_from_mount_point() to detect its filesystem name,
20251 and generate a path with `/fsname@path' syntax.
20252
8bfe31d8
CW
202532010-08-01 Colin Watson <cjwatson@ubuntu.com>
20254
20255 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
20256 (void) rather than () so that this is a proper prototype.
20257
553df63d
VS
202582010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20259
20260 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
20261
8687cf07
VS
202622010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20263
20264 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
20265 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
20266
ea9be8ea
CW
202672010-08-01 Colin Watson <cjwatson@ubuntu.com>
20268
20269 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
20270
6eea041a
CW
202712010-08-01 Colin Watson <cjwatson@ubuntu.com>
20272
20273 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
20274
2cfb45df
CW
202752010-08-01 Colin Watson <cjwatson@ubuntu.com>
20276
20277 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
20278 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
20279 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
20280 disable gfxpayload.
20281 (Shell-like scripting): Add real content.
20282 (Serial terminal): Suggest `terminal_input serial; terminal_output
20283 serial' rather than putting the two commands on separate lines,
20284 since console input will be inoperative after the first command.
20285 (menuentry): Document --class, --users, and --hotkey options.
20286 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
20287 Vladimir Serbinenko).
20288
7decd202
VS
202892010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
202902010-08-01 Colin Watson <cjwatson@ubuntu.com>
20291
20292 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
20293
c882acc0
RM
202942010-08-01 Robert Millan <rmh@gnu.org>
20295
20296 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20297 (grub_find_zpool_from_mount_point): New function prototypes.
20298
20299 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
20300 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
20301
20302 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
20303 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
20304 `static' attribute.
20305
20306 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
20307 finding zpool from mount point into ...
20308 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
20309
20310 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
20311 requested path is part of a ZFS pool, use
20312 grub_find_zpool_from_mount_point() to detect its filesystem name,
20313 and generate a path with `/fsname@path' syntax.
20314
deb0caa3
RM
203152010-08-01 Robert Millan <rmh@gnu.org>
20316
20317 Prevent accidental use of uninitialized libzfs_handle.
20318
20319 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
20320 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
20321 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
20322
ce04ef47
CW
203232010-08-01 Colin Watson <cjwatson@ubuntu.com>
20324
20325 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
20326 util/grub.d/10_linux.in). Fixes Debian bug #591093.
20327
ebf53056
RM
203282010-08-01 Robert Millan <rmh@gnu.org>
20329
20330 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 20331
3710bb6b
RM
203322010-07-31 Robert Millan <rmh@gnu.org>
20333
20334 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
20335
8072efeb
RM
203362010-07-31 Robert Millan <rmh@gnu.org>
20337
20338 * kern/emu/misc.c: Add missing license header.
20339
3169f4c7
RM
203402010-07-31 Robert Millan <rmh@gnu.org>
20341
20342 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
20343
20344 * include/grub/util/libnvpair.h: Include `<config.h>'.
20345 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
20346 declaring libnvpair prototypes ourselves.
20347 * include/grub/util/libzfs.h: Include `<config.h>'.
20348 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
20349 declaring libzfs prototypes ourselves.
20350
20351 (libzfs_handle): Moved to ...
20352 * include/grub/util/misc.h (libzfs_handle): ... here.
20353 Include `<grub/util/libzfs.h>'.
20354
c9a00aee
RM
203552010-07-30 Robert Millan <rmh@gnu.org>
20356
20357 * include/grub/emu/misc.h: Add missing license header.
20358
a184f9c8
RM
203592010-07-30 Robert Millan <rmh@gnu.org>
20360
20361 Enable `grub-probe -t device' resolution on ZFS.
20362
20363 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
20364 * include/grub/util/libnvpair.h: New file.
20365 * include/grub/util/libzfs.h: New file.
20366
20367 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
20368 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
20369 `<grub/util/libnvpair.h>'.
20370 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
20371
20372 (find_mount_point_from_dir): New static function.
20373 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
20374 function.
20375 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
20376 find_root_device_from_libzfs() before ressorting to find_root_device().
20377
20378 * include/grub/util/misc.h (grub_util_init_libzfs): New function
20379 prototype.
20380 * util/misc.c: Include `<grub/util/libzfs.h>'.
20381 (grub_util_init_libzfs): New function.
20382 [HAVE_LIBZFS] (libzfs_handle): New global variable.
20383 [HAVE_LIBZFS] (fini_libzfs): New static function.
20384 (grub_util_init_libzfs): New function.
20385 * util/grub-probe.c (main): Call grub_util_init_libzfs().
20386
f7790cdd
RM
203872010-07-30 Robert Millan <rmh@gnu.org>
20388
20389 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
20390 (xmalloc, xrealloc, xstrdup, xasprintf): Add
20391 `warn_unused_result' attribute.
20392 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
20393 (grub_xasprintf, grub_xvasprintf): Likewise.
20394 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
20395
0806b63c
RM
203962010-07-29 Robert Millan <rmh@gnu.org>
20397
20398 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
20399 (probe): Handle `PRINT_FS_LABEL'.
20400 (main): Handle `-t fs_label'.
20401
9f841f5c
RM
204022010-07-29 Robert Millan <rmh@gnu.org>
20403
20404 * configure.ac: Remove grub-mkisofs checks.
20405
46371121
VS
204062010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
20407
20408 * util/ieee1275/grub-install.in: Don't use empty grub_device.
20409 Reported by: Lennart Sorensen.
20410
204112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20412
20413 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
20414 prior to terminal_input/terminal_output separation. It's been over 1.5
20415 years and those versions weren't widely deployed.
20416
a9600892
CW
204172010-07-22 Colin Watson <cjwatson@ubuntu.com>
20418
20419 * disk/raid.c (insert_array): Don't count named arrays when looking
20420 for unused array numbers.
697e053c 20421 Reported and tested by: Michael Guntsche.
a9600892 20422
c03507df
CW
204232010-07-20 Colin Watson <cjwatson@ubuntu.com>
20424
20425 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
20426 implementation of this so that grub-emu links again, with a note
20427 that this should support hotplugging in the future.
20428
b26f1c11
CW
204292010-07-20 Colin Watson <cjwatson@ubuntu.com>
20430
20431 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
20432
efc9d7f1
CW
204332010-07-20 Colin Watson <cjwatson@ubuntu.com>
20434
20435 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
20436 handle on failure.
20437 (grub_loopback_close): Remove empty function.
20438 (grub_loopback_dev): Remove close method.
20439
dd8ff5c9
CW
204402010-07-20 Colin Watson <cjwatson@ubuntu.com>
20441
20442 Disable EFI cursor when the EFI console becomes inactive.
20443
20444 * term/efi/console.c (grub_efi_console_init): New function.
20445 (grub_efi_console_fini): New function.
20446 (grub_console_term_output): Register init and fini methods.
20447
5e3bec67
VS
204482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20449
20450 * tests/util/grub-shell-tester.in: Remove bashism and declare as
20451 sh script.
20452
afaec079
VS
204532010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20454
20455 * disk/loopback.c (grub_loopback): Replace filename with file.
20456 (delete_loopback): Handle new semantics.
20457 (grub_cmd_loopback): Likewise.
20458 (grub_loopback_iterate): Likewise.
20459 (grub_loopback_close): Likewise.
20460
a6a11f3c
VS
204612010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20462
20463 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
20464 with -p "".
20465 Reported by: Tito Keitel.
20466
64a638b0
VS
204672010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20468
20469 * docs/grub.texi (Naming convention): Document new naming convention.
20470
ab8ba957
VS
204712010-07-20 Vadim Solomin <vadic052@gmail.com>
204722010-07-20 Colin Watson <cjwatson@ubuntu.com>
20473
20474 Generate device.map in something closer to the old ordering.
20475
20476 * util/deviceiter.c (struct device): New declaration.
20477 (compare_file_names): Rename to ...
20478 (compare_devices): ... this. Sort by kernel name in preference to
20479 the stable by-id name, but keep the latter as a fallback comparison.
20480 Update header comment.
20481 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
20482 of `struct device' rather than of plain file names.
20483
a29d6a4b
TF
204842010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
20485
20486 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
20487 on i386.
20488
39d824e8
VS
204892010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 * commands/acpi.c (setup_common_tables): Use sizeof instead of
20492 hardcoding size.
20493 (setv1table): Likewise.
20494
f058276b
FZ
204952010-07-20 Colin Watson <cjwatson@ubuntu.com>
20496
20497 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
20498 removing the homehost if present.
20499 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
20500 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
20501 removing the homehost if present.
20502 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
20503 if possible.
20504 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
20505
20506 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
20507 parameter. Set its pointer target to 0.
20508 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
20509 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
20510 `data_offset' value from the superblock for 1.x metadata.
20511 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
20512 data on the device.
20513 (insert_array): Record the start sector of data on the device.
20514 (grub_raid_register): Pass start_sector parameters to
20515 grub_raid_list->detect and insert_array.
20516 * include/grub/raid.h (struct grub_raid_array): Add start_sector
20517 member.
20518 (struct grub_raid): Add start_sector parameter to `detect'.
20519
20520 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
20521 __attribute__ ((packed)), leaving a comment.
20522 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
20523 (grub_mdraid_detect_09): ... here and ...
20524 (grub_mdraid_detect_1x): ... here.
20525
205262010-07-20 Peter Henn <peter.henn@web.de>
20527
20528 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
20529 chunk size and disk size, which are already given as sector counts
20530 as distinct from the 0.90 units. Fetch the correct device number
20531 from the role table instead of using the table index.
20532
205332010-07-20 Felix Zielcke <fzielcke@z-51.de>
20534
20535 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
20536 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
20537 (WriteMostly1): New macro.
20538 Set array->name to NULL for metadata format 0.90. Add support for
20539 metadata 1.x. Fix some comments.
20540 * disk/raid.c (): Add support for name based RAID arrays. Fix a
20541 few comments.
20542 * util/getroot.c (grub_util_get_grub_dev): Add support for
20543 /dev/md/name style devices.
20544
4b761da9
CW
205452010-07-20 Colin Watson <cjwatson@ubuntu.com>
20546
20547 * .bzrignore: Ignore 20_linux_xen.
20548
5771289a
CW
205492010-07-17 Colin Watson <cjwatson@ubuntu.com>
20550
20551 * util/import_unicode.py: Remove unnecessary imports.
20552
5dab68df
AN
205532010-07-17 Aleš Nesrsta <starous@volny.cz>
20554
20555 Hotplugging and USB hub support.
20556
20557 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
20558 (grub_ohci): Likewise.
20559 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
20560 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
20561 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
20562 (GRUB_OHCI_CTRL_EDS): Likewise.
20563 (GRUB_OHCI_BULK_EDS): Likewise.
20564 (GRUB_OHCI_TDS): Likewise.
20565 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
20566 (grub_ohci_ed_phys2virt): New function.
20567 (grub_ohci_virt_to_phys): Likewise.
20568 (grub_ohci_td_phys2virt): Likewise.
20569 (grub_ohci_td_virt2phys): Likewise.
20570 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
20571 attachment.
20572 (grub_ohci_find_ed): New function.
20573 (grub_ohci_alloc_td): Likewise.
20574 (grub_ohci_free_td): Likewise.
20575 (grub_ohci_free_tds): Likewise.
20576 (grub_ohci_transfer): Use previously allocated memory.
20577 (grub_ohci_portstatus): Reset status changed bit.
20578 (grub_ohci_detect_dev): Supply status changed.
20579 (grub_ohci_fini_hw): Free memory.
20580 (grub_ohci_restore_hw): Reallocate memory.
20581 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
20582 Reset status change.
20583 (grub_uhci_detect_dev): Supply status_change.
20584 * bus/usb/usb.c (attach_hooks): New var.
20585 (grub_usb_device_attach): New function.
20586 (grub_usb_register_attach_hook_class): Likewise.
20587 (grub_usb_unregister_attach_hook_class): Likewise.
20588 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
20589 (grub_usb_add_hub): Reset connection changed bit.
20590 (attach_root_port): New function.
20591 (grub_usb_root_hub): Likewise.
20592 (poll_nonroot_hub): Likewise.
20593 (grub_usb_poll_devices): Likewise.
20594 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
20595 * disk/usbms.c (grub_usbms_open): Use device hooks.
20596 (grub_usbms_iterate) :Poll devices.
20597 (grub_usbms_finddevs): Split into ...
20598 (grub_usbms_attach): ... this ...
20599 (grub_usbms_attach): ... and this.
20600 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
20601 in detect_dev.
20602 (grub_usb_interface): New fields attached and detach_hook.
20603 (grub_usb_attach_hook_class): New type.
20604 (grub_usb_attach_desc): New struct.
20605 (grub_usb_register_attach_hook_class): New function.
20606 (grub_usb_unregister_attach_hook_class): Likewise.
20607 (grub_usb_poll_devices): Likewise.
20608 (grub_usb_device_attach): Likewise.
20609 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
20610 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
20611
3222efaf
VS
206122010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20613
20614 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
20615 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
20616 delta determination style. Works with most NetBSD partitions too.
20617
139b714a
VS
206182010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20619
20620 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
20621 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
20622
986aad56
VS
206232010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20624
20625 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
20626
99be513c
AB
206272010-07-14 Anton Blanchard <anton@samba.org>
20628
20629 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
20630 ET_DYN files.
20631
18075f62
GS
206322010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20633
20634 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
20635
8d9a5b15
GS
206362010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20637
20638 * kern/partition.c (grub_partition_check_containment): New function to
20639 check that a partition is physically contained in a parent. Since
20640 offsets are relative (and non-negative), this reduces to checking that
20641 the partition ends before its parent.
20642 (grub_partition_map_probe): Discard out-of-range sub-partitions.
20643 (grub_partition_iterate): Likewise.
20644 * include/grub/partition.h (grub_partition_map): Slightly more detailed
20645 comments.
20646 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
20647 partitions that start before their parent, and add debug printfs.
20648
19563c25
CW
206492010-07-13 Colin Watson <cjwatson@ubuntu.com>
20650
20651 * Makefile.in (.SUFFIX): Spell correctly, as ...
20652 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
20653 bare module name without `.mod', e.g. `test') tried to invoke a
20654 Modula-2 compiler.
20655
1a1f1e67
CW
206562010-07-13 Colin Watson <cjwatson@ubuntu.com>
20657
20658 * README: Point to the Info manual.
20659
811b0dca
JS
206602010-07-13 Jiro SEKIBA <jir@unicus.jp>
20661
20662 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
20663 2nd superblock position from partition size.
20664
e4f4eafc
CW
206652010-07-10 Colin Watson <cjwatson@ubuntu.com>
20666
20667 * Makefile.in (MAINTAINER_CLEANFILES): Remove
20668 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
20669 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
20670 outputs.
20671
4274c30f
VS
206722010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20673
20674 Restructure SCSI .id handling.
20675 Reported and tested by: Aleš Nesrsta.
20676
20677 * disk/ata.c (grub_atapi_close): Removed. All users updated.
20678 (grub_atapi_dev): Changed .name to "ata". New field .id.
20679 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
20680 (grub_usbms_dev): New field .id.
20681 * disk/scsi.c (grub_scsi_iterate): Generate name.
20682 (grub_scsi_open): Parse name.
20683 * include/grub/scsi.h (grub_make_scsi_id): New function.
20684 (grub_scsi_dev): Change iterate and open to number instead of naming
20685 busses. All users updated.
20686 (grub_scsi): Remove name. Add .bus.
20687
5bc24388
VS
206882010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20689
20690 * commands/help.c (grub_cmd_help): Fix a typo.
20691
249975ba
VS
206922010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20693
20694 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
20695 Reported and tested by: Colin Watson.
20696
3eaac1a1
VS
206972010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20698
20699 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
20700 in this context.
20701
becce1b1
VS
207022010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
20703
20704 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
20705
f7bf0918
CW
207062010-07-07 Colin Watson <cjwatson@ubuntu.com>
20707
20708 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
20709 indentation.
20710
0b0f9620
CW
207112010-07-06 Colin Watson <cjwatson@ubuntu.com>
20712
20713 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
20714 and disk/raid6_recover.c.
20715 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20716 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20717
1e545469
CW
207182010-07-06 Colin Watson <cjwatson@ubuntu.com>
20719
20720 * term/gfxterm.c (repaint_schedulded): Rename to ...
20721 (repaint_scheduled): ... this. Update all callers.
20722 (repaint_was_schedulded): Rename to ...
20723 (repaint_was_scheduled): ... this. Update all callers.
20724
5357687a
CW
207252010-07-06 Colin Watson <cjwatson@ubuntu.com>
20726
20727 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
20728 which we expect to be handled by upper layers.
20729
29d7e783
BC
207302010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
20731
20732 * bus/usb/usbhub.c: #include time.h header.
20733
37582066
CW
207342010-07-06 Colin Watson <cjwatson@ubuntu.com>
20735
20736 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
20737 entry_name also for entries without stat blocks (e.g. ".."); fixes
20738 corruption of the first entry in a directory.
20739
c8c06953
CW
207402010-07-06 Colin Watson <cjwatson@ubuntu.com>
20741
20742 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
20743 after setting gfxterm as the active terminal. GRUB_BACKGROUND
20744 doesn't work otherwise.
20745
e75056f1
CW
207462010-07-05 Colin Watson <cjwatson@ubuntu.com>
20747
20748 * docs/grub.texi (Features): Update list of supported file systems.
20749 (GNU/Linux): Update for GRUB 2.
20750 (Serial terminal): Remove mention of --disable-serial, which was a
20751 GRUB Legacy configure option. Update instructions to use
20752 `terminal_input' and `terminal_output' rather than `terminal'.
20753 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
20754 configuration' and `Installing GRUB using grub-install'.
20755 (Menu entry editor): Update for GRUB 2.
20756 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
20757 Document new -a, -u, and -v options.
20758 (initrd): New section.
20759 (initrd16): New section.
20760 (linux): New section.
20761 (linux16): New section.
20762 (search): The `var' argument to `--set' is optional.
20763 (GRUB only offers a rescue shell): Go into a little more detail on
20764 drive ordering.
20765
5cf69151
CW
207662010-07-05 Colin Watson <cjwatson@ubuntu.com>
20767
20768 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
20769
e3f90044
CW
207702010-07-05 Colin Watson <cjwatson@ubuntu.com>
20771
20772 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
20773 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
20774
38d8f4f3
CW
207752010-07-05 Colin Watson <cjwatson@ubuntu.com>
20776
20777 * util/i386/pc/grub-setup.c (setup): Rename prefix to
20778 install_prefix, in line with install_dos_part and install_bsd_part.
20779 Add new prefix variable, which is copied to install_prefix after
20780 comparing core.img in memory with the one read from disk in the
20781 no-embedding case, and use that rather than overwriting
20782 install_prefix immediately when installing to a partition.
20783 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
20784 Bicakci.
20785
57ebd41e
GS
207862010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
20787
20788 * configure.ac: Avoid == in test command, it's not portable.
20789 * util/grub.d/30_os-prober.in: Likewise.
20790
cb7f64b2
CW
207912010-07-04 Colin Watson <cjwatson@ubuntu.com>
20792
20793 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
20794
6b654bb0
GS
207952010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
20796
20797 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
20798 multiple (top-level) partmaps.
20799
72a2026d
VS
208002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20801
20802 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 20803 Reported by: Tino Keitel.
72a2026d 20804
df3eb88f
VS
208052010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20806
20807 Bidi and diacritics support.
20808
20809 * Makefile.in (widthspec.bin): New target.
20810 (widthspec.h): Likewise.
20811 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
20812 * autogen.sh: Generate unidata.c.
20813 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
20814 * commands/ls.c (grub_ls_list_devices): Likewise.
20815 (grub_ls_list_files): Likewise.
20816 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
20817 (grub_mini_cmd_lsmod): Likewise.
20818 * commands/read.c: Likewise.
20819 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
20820 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
20821 * lib/arg.c (grub_arg_show_help): Likewise.
20822 * lib/crypto.c (grub_password_get): Likewise.
20823 * normal/auth.c (grub_username_get): Likewise.
20824 * normal/misc.c (grub_normal_print_device_info): Likewise.
20825 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
20826 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
20827 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
20828 (normal/charset.c_DEPENDENCIES): New variable.
20829 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
20830 (pkglib_MODULES): Remove charset.mod.
20831 (charset_mod_SOURCES): Removed.
20832 (charset_mod_CFLAGS): Likewise.
20833 (charset_mod_LDFLAGS): Likewise.
20834 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
20835 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
20836 and term/tparm.c.
20837 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20838 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20839 (kernel_img_HEADERS): Add terminfo.h.
20840 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
20841 Fill ->font. Reverse ascii bitmaps.
20842 (grub_font_get_xheight): New function.
20843 * font/font.c (grub_font_get_string_width): Moved from here ...
20844 * gfxmenu/font.c (grub_font_get_string_width): ... here.
20845 * font/font.c (grub_font_draw_string): Moved from here ...
20846 * gfxmenu/font.c (grub_font_draw_string): ... here.
20847 * font/font.c (grub_font_dup_glyph): New function.
20848 (grub_font_blit_glyph): Likewise.
20849 (grub_font_blit_glyph_mirror): Likewise.
20850 (blit_comb): Likewise.
20851 (grub_font_construct_dry_run): Likewise.
20852 (grub_font_get_constructed_device_width): Likewise.
20853 (grub_font_construct_glyph): Likewise.
20854 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
20855 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
20856 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
20857 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
20858 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
20859 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
20860 (grub_font_get_xheight): New proto.
20861 (grub_font_get_constructed_device_width): Likewise.
20862 (grub_font_construct_glyph): Likewise.
20863 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
20864 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
20865 * include/grub/font.h (grub_font_draw_string): Moved from here ...
20866 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
20867 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
20868 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
20869 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
20870 (grub_console_getcharwidth): Likewise.
20871 * include/grub/misc.h (grub_xputs): New proto.
20872 (grub_puts): Inlined.
20873 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
20874 (grub_normal_get_line_counter): Removed.
20875 (grub_install_newline_hook): Likewise.
20876 (grub_normal_get_char_counter): New proto.
20877 (grub_normal_reset_more): Likewise.
20878 (grub_xputs_normal): Likewise.
20879 * include/grub/powerpc/ieee1275/console.h: Removed.
20880 * include/grub/sparc64/ieee1275/console.h: Likewise.
20881 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
20882 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
20883 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
20884 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
20885 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
20886 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
20887 (grub_term_input): Pass reference to self. All users updated.
20888 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
20889 Pass reference to self. New fields normal_color, highlight_color and
20890 data. All users updated.
20891 (grub_putchar): Removed.
20892 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
20893 (grub_unicode_estimate_width): New function.
20894 (grub_term_getcharwidth): Add defaults.
20895 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
20896 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
20897 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
20898 (grub_cls): Remove EXPORT_FUNC.
20899 (grub_setcolorstate): Inline.
20900 (grub_newline_hook): Removed.
20901 * include/grub/terminfo.h: Rewritten. All users updated.
20902 * include/grub/unicode.h: New file.
20903 * include/grub/video.h (grub_video_signed_rect): New type.
20904 * kern/emu/console.c (grub_console_highlight_color): Removed.
20905 (grub_console_normal_color): Likewise.
20906 (grub_console_standard_color): Made static.
20907 (grub_ncurses_putchar): Remove mapping.
20908 (grub_ncurses_getcharwidth): Removed.
20909 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
20910 (grub_ncurses_setcolor): Removed.
20911 (grub_ncurses_getcolor): Likewise.
20912 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
20913 (grub_console_putchar): ... this.
20914 (grub_console_putchar): Handle argument difference.
20915 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
20916 console_init_early and console_init_lately.
20917 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
20918 * kern/misc.c (grub_puts): Removed.
20919 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
20920 (grub_vsnprintf_real): Remove str = NULL support.
20921 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
20922 * normal/charset.c (grub_utf8_to_ucs4): ... here.
20923 * kern/term.c (grub_putcode): Renamed to ...
20924 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
20925 (grub_putchar): Removed.
20926 (grub_xputs_dumb): New function.
20927 (grub_xputs): New variable.
20928 * lib/charset.c: Move from here ...
20929 * normal/charset.c: ... to here.
20930 (grub_ucs4_to_utf8): New function.
20931 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
20932 (join_types): New variable.
20933 (unpack_join): New function.
20934 (bidi_types): New variable.
20935 (unpack_bidi): New function.
20936 (get_bidi_type): Likewise.
20937 (get_join_type): Likewise.
20938 (is_mirrored): Likewise.
20939 (grub_unicode_get_comb_type): Likewise.
20940 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
20941 (is_type_after): Likewise.
20942 (grub_unicode_aglomerate_comb): Likewise.
20943 (bidi_line_wrap): Likewise.
20944 (grub_bidi_line_logical_to_visual): Likewise.
20945 (grub_bidi_logical_to_visual): Likewise.
20946 (grub_unicode_mirror_code): Likewise.
20947 (grub_unicode_shape_code): Likewise.
20948 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
20949 Don't use grub_putchar.
20950 * normal/main.c (grub_normal_init_page): Use grub_putcode.
20951 (grub_normal_reader_init): Likewise.
20952 (grub_xputs_saved): New variable.
20953 (GRUB_MOD_INIT): Set grub_xputs.
20954 (GRUB_MOD_FINI): Restore grub_xputs.
20955 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
20956 (menu_init): Avoid printing gfxmenu error.
20957 (show_menu): Use grub_normal_get_char_counter.
20958 * normal/menu_entry.c (update_screen): Fix out-of-array.
20959 (complete): Avoid NULL dereferencing.
20960 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
20961 * normal/menu_text.c (print_spaces): Removed.
20962 (grub_print_ucs4): Likewise.
20963 (grub_print_message_indented): Use grub_print_ucs4.
20964 (print_message): Use grub_putcode.
20965 (print_entry): Hanlde diacritics.
20966 * normal/term.c (term_state): New type.
20967 (grub_more_lines): Removed.
20968 (term_states): New variable.
20969 (grub_normal_line_counter): Renamed to ..
20970 (grub_normal_char_counter): ...this. All users updated.
20971 (grub_normal_get_line_counter): Renamed to ...
20972 (grub_normal_get_char_counter): ... this.
20973 (grub_normal_reset_more): New function.
20974 (process_newline): Removed.
20975 (print_more): New function.
20976 (grub_install_newline_hook): Removed.
20977 (map_code): New function.
20978 (grub_puts_terminal): Use grub_print_ucs4.
20979 (putglyph): New function.
20980 (putcode_real): Likewise.
20981 (grub_putcode): Use putcode_real.
20982 (get_maxwidth): New function.
20983 (get_startwidth): Likewise.
20984 (print_ucs4_terminal): Likewise.
20985 (find_term_state): Likewise.
20986 (put_glyphs_terminal): Likewise.
20987 (print_backlog): Likewise.
20988 (print_ucs4_real): Likewise.
20989 (grub_print_ucs4): Likewise.
20990 (grub_xputs_normal): Likewise.
20991 * term/efi/console.c (grub_console_putchar): Output diacritics.
20992 (grub_console_getcharwidth): Removed.
20993 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
20994 * term/gfxterm.c (clear_char): Free chars.
20995 (scroll_up): Avoid leaking memory.
20996 (grub_gfxterm_putchar): Support diacritics.
20997 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
20998 * term/i386/pc/console.c (grub_console_term_output): Declare as
20999 GRUB_TERM_CODE_TYPE_VGA.
21000 * term/i386/pc/vga.c (grub_vga_term): Declare as
21001 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
21002 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
21003 GRUB_TERM_CODE_TYPE_VGA.
21004 * term/i386/vga_common.c (map_char): Removed.
21005 (grub_console_putchar): Likewise.
21006 (grub_console_getcharwidth): Likewise.
21007 * term/ieee1275/ofconsole.c: Simplify using terminfo.
21008 (colors): Reordered to match terminfo.
21009 (grub_ofconsole_normal_color): Removed.
21010 (grub_ofconsole_writeesc): Likewise.
21011 (grub_ofconsole_highlight_color): Likewise.
21012 (grub_ofconsole_getcharwidth): Likewise.
21013 (grub_ofconsole_setcolorstate): Likewise.
21014 (grub_ofconsole_setcolor): Likewise.
21015 (grub_ofconsole_getcolor): Likewise.
21016 (grub_ofconsole_readkey): Renamed to ...
21017 (readkey): ... this. Remove escape sequence handling. Return -1 on no
21018 key.
21019 (grub_ofconsole_checkkey): Removed.
21020 (grub_ofconsole_getkey): Likewise.
21021 (grub_ofconsole_getxy): Likewise.
21022 (grub_ofconsole_gotoxy): Likewise.
21023 (grub_ofconsole_cls): Likewise.
21024 (grub_ofconsole_refresh): Likewise.
21025 (grub_ofconsole_terminfo_input): New struct.
21026 (grub_ofconsole_terminfo_output): Likewise.
21027 (grub_ofconsole_term_input): Use terminfo.
21028 (grub_ofconsole_term_output): Likewise.
21029 (grub_console_init): Split into ...
21030 (grub_console_init_early): ...this and ...
21031 (grub_console_init_lately): ...this. Use terminfo.
21032 (grub_ofconsole_putchar): Renamed to ...
21033 (put): ... this. Remove mapping.
21034 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21035 * term/serial.c: Simplify using terminfo.
21036 (xpos): Removed.
21037 (ypos): Likewise.
21038 (keep_track): Likewise.
21039 (registered): Likewise.
21040 (input_buf): Likewise.
21041 (npending): Likewise.
21042 (serial_translate_key_sequence): Likewise.
21043 (fill_input_buf): Likewise.
21044 (grub_serial_checkkey): Likewise.
21045 (grub_serial_getkey): Likewise.
21046 (grub_serial_getxy): Likewise.
21047 (grub_serial_gotoxy): Likewise.
21048 (grub_serial_putchar): Likewise.
21049 (grub_serial_cls): Likewise.
21050 (grub_serial_setcolorstate): Likewise.
21051 (grub_serial_setcursor): Likewise.
21052 (serial_hw_init): Use serial_hw_fetch.
21053 (grub_serial_terminfo_input): New variable.
21054 (grub_serial_terminfo_output): Likewise.
21055 (grub_serial_term_input): Use terminfo.
21056 (grub_serial_term_output): Likewise.
21057 * term/terminfo.c (putstr): Use put.
21058 (grub_terminfo_all_free): New function
21059 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
21060 (grub_terminfo_output_register): New function.
21061 (grub_terminfo_output_unregister): Likewise.
21062 (grub_terminfo_getxy): Likewise.
21063 (grub_terminfo_readkey): Likewise.
21064 (grub_terminfo_checkkey): Likewise.
21065 (grub_terminfo_getkey): Likewise.
21066 (grub_terminfo_input_init): Likewise.
21067 (print_terminfo): Likewise.
21068 (grub_cmd_terminfo): Handle encoding.
21069 (grub_terminfo_gotoxy): Track position.
21070 (grub_terminfo_cls): Likewise.
21071 (grub_terminfo_putchar): Likewise.
21072 (grub_terminfo_setcolorstate): Handle colors
21073 (grub_terminfo_cursor_on): This ...
21074 (grub_terminfo_cursor_off): ... and this merged into ...
21075 (grub_terminfo_setcursor): ... this.
21076 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
21077 * unicode/ArabicShaping.txt: New file (imported from Unicode).
21078 * unicode/BidiMirroring.txt: Likewise.
21079 * unicode/UnicodeData.txt: Likewise.
21080 * unicode/COPYING: Likewise.
21081 * util/grub-editenv.c (grub_putchar): Removed.
21082 (grub_xputs_real): New function.
21083 (grub_xputs): New variable.
21084 * util/grub-fstest.c (grub_putchar): Removed.
21085 (grub_xputs_real): New function.
21086 (grub_xputs): New variable.
21087 * util/grub-mkdevicemap.c (grub_putchar): Removed.
21088 (grub_xputs_real): New function.
21089 (grub_xputs): New variable.
21090 * util/grub-probe.c (grub_putchar): Removed.
21091 (grub_xputs_real): New function.
21092 (grub_xputs): New variable.
21093 * util/grub-script-check.c (grub_putchar): Removed.
21094 (grub_xputs_real): New function.
21095 (grub_xputs): New variable.
21096 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
21097 (grub_xputs_real): New function.
21098 (grub_xputs): New variable.
21099 * util/import_unicode.py: New file.
21100 * util/grub-mkfont.c (ft_errmsgs): New array.
21101 (grub_glyph_info): Make bitmap a pointer.
21102 (file_formats): New type WIDTH_SPEC.
21103 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
21104 (options): Add width-spec.
21105 (help): Likewise.
21106 (add_char): Renamed to ...
21107 (add_glyph): ... this.
21108 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
21109 (glyph_replace): New type.
21110 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
21111 (add_char): New function.
21112 (add_subst): Likewise.
21113 (process_cursive): Likewise.
21114 (add_font): Handle GSUB.
21115 (write_font_width_spec): New function.
21116 (main): Sort glyphs.
21117 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
21118 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
21119 * kern/term.c (grub_cls): Moved from here...
21120 * normal/term.c (grub_cls): ... here.
21121
50f0bcda
CW
211222010-07-02 Colin Watson <cjwatson@ubuntu.com>
21123
21124 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
21125 suitable for using within the format argument of printf when
21126 converting grub_size_t.
21127 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
21128 "x" to convert grub_size_t arguments.
21129
40372103
VS
211302010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21131
21132 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
21133 too long captions.
21134 (list_get_minimal_size): Take selection box into account.
21135
942a10c7
VS
211362010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21137
21138 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
21139 NULL font.
21140
2bdb2892
CW
211412010-07-02 Colin Watson <cjwatson@ubuntu.com>
21142
21143 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
21144 devices when iterating over /dev/disk/by-id; they will be handled
21145 later if appropriate, which they aren't always (e.g. LVM).
21146
e03ed6c1
CW
211472010-07-02 Colin Watson <cjwatson@ubuntu.com>
21148
21149 * include/grub/misc.h (grub_reboot): Declare as noreturn.
21150 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
21151 fails.
21152 (grub_halt): Likewise.
21153 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
21154 reset-all fails.
21155 (grub_halt): Don't return, even if all of shut-down, power-off, and
21156 poweroff fail.
21157
47695765
CW
211582010-07-02 Colin Watson <cjwatson@ubuntu.com>
21159
21160 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
21161 arguments, not three.
21162
507736c8
CW
211632010-07-02 Colin Watson <cjwatson@ubuntu.com>
21164
21165 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
21166 * util/grub.d/10_linux.in: Use it to check for LVM, so that
21167 LVM-on-RAID is handled correctly.
21168
e3c8cd37
CW
211692010-07-02 Colin Watson <cjwatson@ubuntu.com>
21170
21171 * docs/grub.texi (Changes from GRUB Legacy): New section.
21172 (Future): Fix typo.
21173
8d4a2fec
CW
211742010-07-02 Colin Watson <cjwatson@ubuntu.com>
21175
21176 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
21177 grub.d/README accidentally ends up executable for one reason or
21178 another. Ignore it.
21179
1c4827be
VS
211802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21181
21182 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
21183 (gpt_partition_map_iterate): Support non-512B sectors.
21184
d9a0c941
VS
211852010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21186
21187 * kern/efi/init.c (grub_efi_init): Disable watchdog.
21188 Tested by: Seth Goldberg.
21189
48f27e87
VS
211902010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21191
21192 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
21193 Properly align mbi.
21194 Reported by: Seth Goldberg.
21195
b0c4f956
VS
211962010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21197
21198 * util/grub-mkrescue.in: Avoid module duplication.
21199
105a2e8c
SF
212002010-07-01 Sean Finney <seanius@seanius.net>
21201
21202 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
21203
5944958c
SF
212042010-07-01 Sean Finney <seanius@seanius.net>
21205
21206 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
21207
212082010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21209
21210 * disk/lvm.c (grub_lvm_checkvalue): New function.
21211 (grub_lvm_check_flag): Likewise.
21212
b79889ba
RM
212132010-07-01 Robert Millan <rmh@gnu.org>
21214
21215 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
21216 Support 'p' as partition separator on kernel of FreeBSD (used
21217 with GPT labels).
21218 (grub_util_biosdisk_get_grub_dev): Likewise.
21219
ec1d04f1
VS
212202010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21221
21222 Yeeloong firmware port.
21223
21224 * boot/mips/yeeloong/fwstart.S: New file.
21225 * bus/cs5536.c (gpiodump): New const.
21226 (set_io_space): New function.
21227 (set_iod): Likewise.
21228 (set_p2d): Likewise.
21229 (grub_cs5536_init_geode): Likewise.
21230 * commands/mips/yeeloong/lsspd.c: New file.
21231 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
21232 (serial_mod_SOURCES): New variable.
21233 (serial_mod_CFLAGS): Likewise.
21234 (serial_mod_LDFLAGS): Likewise.
21235 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
21236 term/terminfo.c and term/tparm.c.
21237 (pkglib_IMAGES): Add fwstart.img.
21238 (fwstart_img_SOURCES): New variable.
21239 (fwstart_img_CFLAGS): Likewise.
21240 (fwstart_img_ASFLAGS): Likewise.
21241 (fwstart_img_LDFLAGS): Likewise.
21242 (fwstart_img_FORMAT): Likewise.
21243 (pkglib_MODULES): Add lsspd.mod.
21244 (lsspd_mod_SOURCES): New variable.
21245 (lsspd_mod_CFLAGS): Likewise.
21246 (lsspd_mod_LDFLAGS): Likewise.
21247 (pkglib_MODULES): Add halt.mod.
21248 (halt_mod_SOURCES): New variable.
21249 (halt_mod_CFLAGS): Likewise.
21250 (halt_mod_LDFLAGS): Likewise.
21251 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
21252 (serial_mod_SOURCES): Removed.
21253 (serial_mod_CFLAGS): Likewise.
21254 (serial_mod_LDFLAGS): Likewise.
21255 * disk/ata.c (check_device): New function.
21256 (grub_ata_device_initialize): Use check_device.
21257 (grub_ata_iterate): Recheck devices.
21258 (grub_ata_open): Likewise.
21259 (grub_atapi_iterate): Likewise.
21260 (grub_atapi_open): Likewise.
21261 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
21262 (GRUB_ATA_CH1_PORT1): Likewise.
21263 (GRUB_ATA_CH0_PORT2): Likewise.
21264 (GRUB_ATA_CH1_PORT2): Likewise.
21265 * include/grub/mips/loongson.h: New file.
21266 * include/grub/mips/yeeloong/ec.h: Likewise.
21267 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
21268 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
21269 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
21270 * include/grub/misc.h (grub_halt): Declare as noreturn.
21271 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
21272 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
21273 (UART_ENABLE_FIFO_TRIGGER1): New definition.
21274 (UART_ENABLE_DTRRTS): Likewise.
21275 (UART_ENABLE_MODEM): Removed.
21276 (UART_ENABLE_OUT2): New const.
21277 * include/grub/term.h (grub_term_register_input_active): New function.
21278 (grub_term_register_output_active): Likewise.
21279 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
21280 argument.
21281 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
21282 (init_pci): New function.
21283 (grub_machine_init): Execute platform init when firmware. Init serial.
21284 (grub_halt): Implement.
21285 (grub_exit): Likewise.
21286 (grub_reboot): Likewise.
21287 * term/serial.c (serial_hw_init): Update macros.
21288 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
21289 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
21290 (image_targets): New target mipsel-yeeloong-flash.
21291 (generate_image): Support IMAGE_YEELOONG_FLASH.
21292 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
21293 (grub_video_sm712_setup): Init card.
21294 (grub_video_sm712_set_palette): Removed.
21295 * video/sm712_init.c: New file.
21296
ff4a70d2
CW
212972010-06-30 Colin Watson <cjwatson@ubuntu.com>
21298
21299 * Makefile.in (install-local): Temporarily prepend $(builddir) to
21300 PATH when running help2man and then run it on the unadorned
21301 executable names, rather than passing $(builddir)/* paths to
21302 help2man. This avoids the build directory ending up in generated
21303 manual pages.
21304
1246efeb
CW
213052010-06-29 Colin Watson <cjwatson@ubuntu.com>
21306
21307 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
21308 to avoid accidents when debugging with 'sh -x'.
21309 * util/grub-mkrescue.in: Likewise.
21310 * util/grub.d/00_header.in: Likewise.
21311 * util/grub.d/10_hurd.in: Likewise.
21312 * util/grub.d/10_kfreebsd.in: Likewise.
21313 * util/grub.d/10_linux.in: Likewise.
21314 * util/grub.d/10_netbsd.in: Likewise.
21315 * util/grub.d/10_windows.in: Likewise.
21316 * util/grub.d/20_linux_xen.in: Likewise.
21317 * util/grub.d/30_os-prober.in: Likewise.
21318 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21319
1ba9b889
CW
213202010-06-29 Colin Watson <cjwatson@ubuntu.com>
21321
21322 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
21323 last character in the buffer.
21324 Reported by: Vladimir Serbinenko.
21325
dccaf99d
RM
213262010-06-29 Robert Millan <rmh@gnu.org>
21327
21328 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
21329 (Command-line and menu entry commands): Document `badram' command.
21330
d500ed12
RM
213312010-06-28 Robert Millan <rmh@gnu.org>
21332
21333 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
21334 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
21335 command using ${GRUB_BADRAM} as parameter.
21336
20bc84a6
CW
213372010-06-28 Colin Watson <cjwatson@ubuntu.com>
21338
21339 * docs/grub.texi (Device map): New section.
21340 (Themes): New section (stub).
21341 * Makefile.in (docs/grub.info): The info documentation now builds
21342 without errors. Make sure it stays that way.
21343
4045dee1
VS
213442010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21345
21346 Use normal parser for menu entries.
21347 Reported by: Thomas Frauendorfer
21348
21349 * include/grub/parser.h (grub_parser_execute): Don't export.
21350 * normal/menu.c (grub_menu_execute_entry_real): New function.
21351 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
21352
bca58c7b
CW
213532010-06-28 Colin Watson <cjwatson@ubuntu.com>
21354
21355 * docs/grub.texi (Embedded configuration): New section (replacing
21356 old "Preset Menu" stub).
21357 (Images): New section.
21358 (configfile): Note that any menu entries defined in `file' are shown
21359 immediately.
21360
dec53e63
JT
213612010-06-28 Josh Triplett <josh@joshtriplett.org>
21362
21363 * mmap/i386/pc/mmap_helper.S: Set CF on return.
21364
c06e40f7
CW
213652010-06-28 Colin Watson <cjwatson@ubuntu.com>
21366
21367 * util/grub-install.in: Add --debug-image= option.
21368
cb88052b
CW
213692010-06-28 Colin Watson <cjwatson@ubuntu.com>
21370
21371 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
21372 possible on Linux.
21373
21374 * util/deviceiter.c (check_device): Rename to ...
21375 (check_device_readable_unique): ... this. Update all callers.
21376 Maintain and check a list of which devices (by canonicalized name)
21377 have already been seen.
21378 (clear_seen_devices): New function.
21379 (compare_file_names) [__linux__]: New function.
21380 (grub_util_iterate_devices): Clear the list of seen devices on exit
21381 and (just in case) on entry.
21382 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
21383 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
21384 seen-devices list, superseded by general code in check_device.
21385
bbe34652
CW
213862010-06-28 Colin Watson <cjwatson@ubuntu.com>
21387
21388 * commands/cat.c (options): New variable.
21389 (grub_cmd_cat): Parse options. If the --dos option is given, print
21390 DOS-style "\r\n" line endings as simple newlines (Debian bug
21391 #586358).
21392 (GRUB_MOD_INIT): Use extcmd.
21393 (GRUB_MOD_FINI): Likewise.
21394 * docs/grub.texi (cat): Document --dos.
21395
412e09f3
VS
213962010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21397
21398 XEN with Linux grub-mkconfig support.
21399
21400 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
21401 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
21402 GRUB_CMDLINE_XEN_DEFAULT.
21403 * util/grub.d/20_linux_xen.in: New file.
21404
53f3ef38 214052010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
21406
21407 Initialise VGA video on qemu ourselves.
21408
21409 * boot/i386/qemu/boot.S: Don't call 0xc000.
21410 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
21411 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
21412 (kernel_img_HEADERS): Add pci.h.
21413 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
21414 * configure.ac: Force unifont on qemu and yeeloong.
21415 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
21416 (grub_vga_palette_write): Use correct register.
21417 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
21418 Call grub_qemu_init_cirrus.
21419 * kern/i386/qemu/init.c: New file.
21420 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
21421
21422 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
21423
c75be4fb
PR
214242010-06-26 Pavel Roskin <proski@gnu.org>
21425
21426 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
21427 13.
21428
d8034603
CW
214292010-06-26 Colin Watson <cjwatson@ubuntu.com>
21430
21431 * docs/grub.texi (Simple configuration): Explain that
21432 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
21433 set to `true' to disable their respective recovery entries, not
21434 merely set.
21435
3fa06487
CW
214362010-06-26 Colin Watson <cjwatson@ubuntu.com>
21437
21438 Make the `source' command slightly faster.
21439
21440 * normal/main.c (grub_normal_execute): Don't re-read list files when
21441 nested.
21442
e9b29642
CW
214432010-06-23 Colin Watson <cjwatson@ubuntu.com>
21444
21445 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
21446 field position and mask size to red fields from mode_info, not
21447 green.
21448 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
21449 Remove redundant tag->common.framebuffer_type assignment.
21450 Reported by: Seth Goldberg.
21451
e726542f
CW
214522010-06-23 Colin Watson <cjwatson@ubuntu.com>
21453
21454 Sync up other versions of the Linux loader with Robert Millan's
21455 change of 2010-01-09, "Make loader output a bit more user-friendly".
21456
21457 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
21458 grub_dprintf().
21459 (grub_cmd_linux): Likewise.
21460 (grub_cmd_initrd): Likewise.
21461 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
21462 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21463
d6e98a17
CW
214642010-06-21 Colin Watson <cjwatson@ubuntu.com>
21465
21466 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
21467 larger than MEMORY_MAP_SIZE.
21468
14d3f08e
BC
214692010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
21470
21471 Fix parallel build.
21472
21473 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
21474 dependency.
21475 * script/parser.y: #include grub_script.tab.h header.
21476
4f9613a3
VS
214772010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21478
21479 Support >3GiB and <16MiB RAM in i386-qemu.
21480
21481 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
21482 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
21483 (grub_lower_mem): Removed.
21484 (grub_upper_mem): Likewise.
21485 (mem_size): Made static.
21486 (above_4g): New variable.
21487 (grub_machine_mmap_init): Detect small mem_size and above_4g.
21488 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
21489 support.
21490
05e51879
VS
214912010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21492
21493 Cirrus 5446 and Bochs video cards support.
21494
21495 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
21496 video_bochs.mod
21497 (video_cirrus_mod_SOURCES): New variable.
21498 (video_cirrus_mod_CFLAGS): Likewise.
21499 (video_cirrus_mod_LDFLAGS): Likewise.
21500 (video_bochs_mod_SOURCES): Likewise.
21501 (video_bochs_mod_CFLAGS): Likewise.
21502 (video_bochs_mod_LDFLAGS): Likewise.
21503 * include/grub/vga.h: New file.
21504 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
21505 (grub_video_fb_set_page_t): New type.
21506 (grub_video_fb_setup): New prototype.
21507 (grub_video_fb_swap_buffers): Likewise.
21508 (grub_video_fb_get_info_and_fini): Likewise.
21509 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
21510 (CRTC_DATA_PORT): Likewise.
21511 (CRTC_CURSOR): Likewise.
21512 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21513 (CRTC_CURSOR_ADDR_LOW): Likewise.
21514 (CRTC_CURSOR_DISABLE): Likewise.
21515 (update_cursor): Use grub_vga_cr_write.
21516 (grub_vga_text_setcursor): Likewise.
21517 * video/bochs.c: New file.
21518 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
21519 (palette): Likewise.
21520 (palette_size): Likewise.
21521 (framebuffer): New variable.
21522 (grub_video_fb_init): Use 'framebuffer'.
21523 (grub_video_fb_fini): Likewise.
21524 (grub_video_fb_get_info): Likewise.
21525 (grub_video_fb_get_palette): Likewise.
21526 (grub_video_fb_set_palette): Likewise.
21527 (grub_video_fb_set_viewport): Likewise.
21528 (grub_video_fb_get_viewport): Likewise.
21529 (grub_video_fb_map_color): Likewise.
21530 (grub_video_fb_map_rgb): Likewise.
21531 (grub_video_fb_map_rgba): Likewise.
21532 (grub_video_fb_unmap_color): Likewise.
21533 (grub_video_fb_unmap_color_int): Likewise.
21534 (grub_video_fb_fill_rect): Likewise.
21535 (grub_video_fb_blit_bitmap): Likewise.
21536 (grub_video_fb_blit_render_target): Likewise.
21537 (grub_video_fb_scroll): Likewise.
21538 (grub_video_fb_create_render_target): Likewise.
21539 (grub_video_fb_doublebuf_blit_init): Likewise.
21540 (grub_video_fb_set_active_render_target): Handle doublebuffering.
21541 (doublebuf_pageflipping_update_screen): New function.
21542 (doublebuf_pageflipping_init): Likewise.
21543 (grub_video_fb_setup): Likewise.
21544 (grub_video_fb_swap_buffers): Likewise.
21545 (grub_video_fb_get_info_and_fini): Likewise.
21546 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
21547 All users updated.
21548 (doublebuf_pageflipping_commit): Restructured into ...
21549 (doublebuf_pageflipping_set_page): ... this.
21550 (doublebuf_pageflipping_update_screen): Removed.
21551 (doublebuf_pageflipping_init): Likewise.
21552 (double_buffering_init): Likewise.
21553 (grub_video_vbe_setup): Use grub_video_fb_setup.
21554 (grub_video_vbe_swap_buffers): Removed.
21555 (grub_video_vbe_set_active_render_target): Likewise.
21556 (grub_video_vbe_get_active_render_target): Likewise.
21557 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
21558 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
21559 grub_video_fb_set_active_render_target and
21560 grub_video_fb_get_active_render_target.
21561 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
21562 (SEQUENCER_DATA_PORT): Likewise.
21563 (MAP_MASK_REGISTER): Likewise.
21564 (CRTC_ADDR_PORT): Likewise.
21565 (CRTC_DATA_PORT): Likewise.
21566 (START_ADDR_HIGH_REGISTER): Likewise.
21567 (START_ADDR_LOW_REGISTER): Likewise.
21568 (GRAPHICS_ADDR_PORT): Likewise.
21569 (GRAPHICS_DATA_PORT): Likewise.
21570 (READ_MAP_REGISTER): Likewise.
21571 (INPUT_STATUS1_REGISTER): Likewise.
21572 (INPUT_STATUS1_VERTR_BIT): Likewise.
21573 (get_map_mask): Use grub_vga_sr_read.
21574 (set_map_mask): Use grub_vga_sr_write.
21575 (set_read_map): Use grub_vga_gr_write.
21576 (set_start_address): Use grub_vga_cr_write.
21577 * video/sm712.c (framebuffer): Remove leftover fields.
21578
4321c64a
CW
215792010-06-20 Colin Watson <cjwatson@ubuntu.com>
21580
21581 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
21582 setting GRUB_VIDEO_BACKEND. Make it available as a user override
21583 instead. Replace the gfxterm backend check with a check that
21584 ${GRUB_PREFIX}/video.lst is non-empty.
21585 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
21586 again.
21587 (load_video): New generated function. Call it before loading
21588 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
21589 * util/grub.d/10_linux.in (linux_entry): Call load_video.
21590 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
21591 * docs/grub.texi (Simple configuration): Document
21592 GRUB_VIDEO_BACKEND.
21593
215942010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21595
21596 Use video functions in linux and xnu loaders.
21597
21598 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
21599 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
21600 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
21601 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
21602 loader/i386/pc/linux.c.
21603 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
21604 (find_line_len): Removed.
21605 (find_framebuf): Likewise.
21606 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
21607 * loader/i386/efi/xnu.c: Removed.
21608 * loader/i386/pc/xnu.c: Moved from here...
21609 * loader/i386/xnu.c: ...here.
21610
21611 Enable priorities in video drivers.
21612
21613 * include/grub/video.h (grub_video_adapter_prio_t): New type.
21614 (grub_video_adapter): New field prio.
21615 (grub_video_register): Respect prio when inserting.
21616 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
21617 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
21618 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
21619 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
21620 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
21621 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
21622 * video/sm712.c (grub_video_sm712_adapter): Likewise.
21623
21624 Fix SDL driver ID.
21625
21626 * include/grub/video.h (grub_video_driver_id_t): New value
21627 GRUB_VIDEO_DRIVER_SDL.
21628 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
21629
7d24e434
CW
216302010-06-17 Colin Watson <cjwatson@ubuntu.com>
21631
21632 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
21633 argument to printf.
21634 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
21635
c88a83f6
CW
216362010-06-17 Colin Watson <cjwatson@ubuntu.com>
21637
21638 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
21639 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
21640
094dfb69
CW
216412010-06-17 Colin Watson <cjwatson@ubuntu.com>
21642
21643 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
21644 directly, and recommend grub-install instead.
21645 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
21646
2164da6b
CW
216472010-06-17 Colin Watson <cjwatson@ubuntu.com>
21648
21649 Fix i386-pc prefix handling with nested partitions (Debian bug
21650 #585068). Note that the case where the core image is booted using
21651 multiboot and relocated from its original location still requires
21652 more work.
21653
21654 * kern/i386/pc/init.c (make_install_device): If the prefix starts
21655 with "(,", fill the boot drive in between those two characters, but
21656 expect that a full partition specification including partition map
21657 names will follow.
21658 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
21659 specified, write a prefix without the drive name but including a
21660 full partition specification.
21661
044e2e60
CW
216622010-06-16 Colin Watson <cjwatson@ubuntu.com>
21663
21664 * util/grub-mkconfig.in: Ignore non-option arguments, for
21665 compatibility with older versions (before 2010-06-12) which did the
21666 same. In particular, this makes it easier to ship an update-grub
21667 wrapper which is compatible with that used with GRUB Legacy (Debian
21668 bug #586056).
21669
5591324f
GS
216702010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21671
21672 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
21673 for manual page generation.
21674
662e24d5
GS
216752010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21676
21677 * po/POTFILES: Remove leftover commands/handler.c.
21678
8d70754e
CW
216792010-06-14 Colin Watson <cjwatson@ubuntu.com>
21680
21681 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
21682 left this script non-functional.
21683
41160e2e
CW
216842010-06-14 Colin Watson <cjwatson@ubuntu.com>
21685
21686 * docs/man/grub-emu.h2m: New file.
21687
b5309cc1
CW
216882010-06-13 Colin Watson <cjwatson@ubuntu.com>
21689
21690 * docs/grub.texi (Commands): Document reduced command set in rescue
21691 mode.
21692 (cpuid): New section.
21693
fcb2d090
GS
216942010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
21695
21696 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
21697 new partition naming style.
21698 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
21699
96e5c556
BC
217002010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
21701
21702 Add "-o grub.iso" like cmdline options support.
21703
21704 * util/grub-install.in: Improve cmdline option parsing.
21705 * util/grub-mkconfig.in: Likewise.
21706 * util/grub-mkrescue.in: Likewise.
21707 * util/grub-reboot.in: Likewise.
21708 * util/grub-set-default.in: Likewise.
21709 * util/i386/efi/grub-install.in: Likewise.
21710 * util/ieee1275/grub-install.in: Likewise.
21711 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21712
c16be99b
CW
217132010-06-12 Colin Watson <cjwatson@ubuntu.com>
21714
21715 * .bzrignore: Ignore 41_custom.
21716
ce08a9fb
TS
217172010-06-12 Thomas Schmitt <scdbackup@gmx.net>
21718
21719 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
21720
7beac90c
CW
217212010-06-12 Colin Watson <cjwatson@ubuntu.com>
21722
21723 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
21724 prototype declarations.
21725
21726 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
21727 generating fs, partmap, and video lists.
21728 * include/grub/fs.h (grub_fs_register): Omit prototype if
21729 GRUB_LST_GENERATOR is defined.
21730 * include/grub/partition.h (grub_partition_map_register): Likewise.
21731 * include/grub/video.h (grub_video_register): Likewise.
21732
1c8f0f8d
JM
217332010-06-12 Javier Martín <lordhabbit@gmail.com>
21734
21735 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
21736
a6085973
TS
217372010-06-12 Thomas Schmitt <scdbackup@gmx.net>
21738
21739 * util/grub-mkrescue.in: Support --xorriso argument.
21740
25c56d29
VS
217412010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21742
21743 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
21744 Suggested by: Thomas Schmitt.
21745
e03e4b24
VS
217462010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21747
21748 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
21749 Suggested by: Thomas Schmitt.
21750
57711df6
VS
217512010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21752
21753 custom.cfg support.
21754
21755 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
21756 * util/grub.d/41_custom.in: New file.
21757
ee62c427
CW
217582010-06-12 Colin Watson <cjwatson@ubuntu.com>
21759
21760 * util/grub-mkrescue.in (make_image): Remove sh module, which has
21761 been merged back into normal.
21762
283af07a
CW
217632010-06-11 Colin Watson <cjwatson@ubuntu.com>
21764
21765 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
21766 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
21767
56a0d956
CW
217682010-06-11 Colin Watson <cjwatson@ubuntu.com>
21769
21770 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
21771 when generating manual pages.
21772 * docs/man/grub-bin2h.h2m: New file.
21773 * docs/man/grub-editenv.h2m: New file.
21774 * docs/man/grub-fstest.h2m: New file.
21775 * docs/man/grub-install.h2m: New file.
21776 * docs/man/grub-macho2img.h2m: New file.
21777 * docs/man/grub-mkconfig.h2m: New file.
21778 * docs/man/grub-mkdevicemap.h2m: New file.
21779 * docs/man/grub-mkfont.h2m: New file.
21780 * docs/man/grub-mkimage.h2m: New file.
21781 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
21782 * docs/man/grub-mkrelpath.h2m: New file.
21783 * docs/man/grub-mkrescue.h2m: New file.
21784 * docs/man/grub-ofpathname.h2m: New file.
21785 * docs/man/grub-pe2elf.h2m: New file.
21786 * docs/man/grub-probe.h2m: New file.
21787 * docs/man/grub-reboot.h2m: New file.
21788 * docs/man/grub-script-check.h2m: New file.
21789 * docs/man/grub-set-default.h2m: New file.
21790 * docs/man/grub-setup.h2m: New file.
21791
3a37e322
VS
217922010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
21793
21794 Use FOR_* macros instead of *_iterate whenever possible.
21795
21796 * commands/handler.c: Removed.
21797 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
21798 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
21799 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21800 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
21801 (grub_probe_SOURCES): Remove kern/parser.c.
21802 (util/grub-script-check.c_DEPENDENCIES): Removed.
21803 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
21804 and grub_script_check_init.c.
21805 (grub_script_check_init.lst): Removed.
21806 (grub_script_check_init.h): Likewise.
21807 (grub_script_check_init.c): Likewise.
21808 (pkglib_MODULES): Remove handler.mod and sh.mod.
21809 (handler_mod_SOURCES): Removed.
21810 (handler_mod_CFLAGS): Likewise.
21811 (handler_mod_LDFLAGS): Likewise.
21812 (normal_mod_SOURCES): Remove normal/handler.c.
21813 Add script/main.c, script/script.c, script/execute.c,
21814 script/function.c, script/lexer.c, grub_script.tab.c
21815 and grub_script.yy.c.
21816 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21817 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21818 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
21819 (grub_setup_SOURCES): Remove kern/parser.c.
21820 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21821 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
21822 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21823 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21824 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21825 (grub_setup_SOURCES): Remove kern/parser.c.
21826 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21827 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
21828 * include/grub/command.h (grub_command_iterate): Removed.
21829 (FOR_COMMANDS): New macro.
21830 * include/grub/dl.h (grub_dl): New member next.
21831 (grub_dl_iterate): Removed.
21832 (grub_dl_head): New variable declaration.
21833 (FOR_DL_MODULES): New macro.
21834 * include/grub/fs.h: Include list.h.
21835 (grub_fs): Make next first element.
21836 (grub_fs_list): New variable declaration.
21837 (grub_fs_register): Make inline.
21838 (grub_fs_unregister): Likewise.
21839 (grub_fs_iterate): Removed.
21840 (FOR_FILESYSTEMS): New macro.
21841 * include/grub/handler.h: Removed.
21842 * include/grub/list.h (grub_list_hook_t): Removed.
21843 (grub_list_test_t): Likewise.
21844 (grub_list_pop): Likewise.
21845 (grub_list_iterate): Likewise.
21846 (grub_list_insert): Likewise.
21847 (FOR_LIST_ELEMENTS): New macro.
21848 * include/grub/parser.h (grub_parser_class): Removed.
21849 (grub_parser_register): Likewise.
21850 (grub_parser_unregister): Likewise.
21851 (grub_parser_get_current): Likewise.
21852 (grub_parser_set_current): Likewise.
21853 (grub_register_rescue_parser): Likewise.
21854 (grub_rescue_parse_line): New function.
21855 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
21856 * include/grub/script_sh.h (grub_script_function_list): New variable
21857 declaration.
21858 (FOR_SCRIPT_FUNCTIONS): New macro.
21859 (grub_script_function_iterate): Removed.
21860 (grub_normal_parse_line): New prototype.
21861 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
21862 (FOR_DISABLED_TERM_INPUTS): Likewise.
21863 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21864 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21865 * include/grub/video.h (grub_video_adapter): Move 'next' to first
21866 element.
21867 (grub_video_register): Inline.
21868 (grub_video_unregister): Likewise.
21869 (grub_video_adapter_list): New variable declaration.
21870 (grub_video_iterate): Removed.
21871 (FOR_VIDEO_ADAPTERS): New macro.
21872 * kern/dl.c (grub_dl_list): Removed. All users updated.
21873 (grub_dl_iterate): Removed.
21874 * kern/fs.c (grub_fs_list): Make global.
21875 (grub_fs_register): Removed.
21876 (grub_fs_unregister): Likewise.
21877 (grub_fs_iterate): Likewise.
21878 * kern/handler.c: Removed.
21879 * kern/list.c (grub_list_pop): Removed.
21880 (grub_list_iterate): Likewise.
21881 (grub_list_insert): Likewise.
21882 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
21883 (grub_prio_list_insert): Don't use grub_list_insert.
21884 * kern/main.c (grub_register_rescue_parser): Don't call
21885 grub_register_rescue_parser.
21886 * kern/parser.c (grub_parser_class): Removed.
21887 (grub_parser_execute): Use grub_rescue_parse_line.
21888 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
21889 (grub_rescue_parser): Removed.
21890 (grub_register_rescue_parser): Likewise.
21891 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
21892 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
21893 (grub_auth_check_authentication): Likewise.
21894 * normal/completion.c (iterate_command): Removed.
21895 (grub_normal_do_completion): Use FOR_COMMANDS.
21896 * normal/handler.c: Removed.
21897 * normal/main.c (read_config_file): Remove parser changing.
21898 (grub_normal_execute): Don't call read_handler_list.
21899 (grub_normal_read_line_real): Statically allocate prompt.
21900 (grub_cmdline_run): Use grub_normal_parse_line.
21901 (GRUB_MOD_FINI): Don't call free_handler_list.
21902 * normal/menu_entry.c (run): Likewise.
21903 * script/function.c (grub_script_function_list): Make global.
21904 (grub_script_function_iterate): Removed.
21905 * script/main.c (grub_normal_parse_line): Make global.
21906 (grub_sh_parser): Removed.
21907 (GRUB_MOD_INIT): Likewise.
21908 (GRUB_MOD_FINI): Likewise.
21909 * tests/lib/functional_test.c (grub_functional_test): Use
21910 FOR_LIST_ELEMENTS.
21911 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
21912 (grub_test_run): Use FOR_LIST_ELEMENTS.
21913 * tests/lib/unit_test.c (main): Likewise.
21914 * util/deviceiter.c (grub_util_iterate_devices): Don't use
21915 grub_list_pop.
21916 * util/grub-fstest.c (grub_term_input_class): Removed.
21917 (grub_term_output_class): Likewise.
21918 * util/grub-probe.c: Likewise.
21919 * util/i386/pc/grub-setup.c: Likewise.
21920 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21921 * util/grub-script-check.c (main): Don't call grub_init_all and
21922 grub_fini_all.
21923 * video/video.c (grub_video_adapter_list): Make global.
21924 (grub_video_register): Removed.
21925 (grub_video_unregister): Likewise.
21926 (grub_video_iterate): Likewise.
21927
6289c3a7
VS
219282010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
21929
21930 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
21931 reported by Henrique Ferreiro.
21932
91460247
RM
219332010-06-09 Robert Millan <rmh@gnu.org>
21934
21935 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
21936 ones, when both are available.
21937
0ea7c4f9
GS
219382010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21939
21940 Make --version uniform and avoid hard-coded program name.
21941
21942 * util/grub-mkimage.c (main): Use `program_name' instead of
21943 hard-coded string.
21944 * util/i386/pc/grub-setup.c (main): Likewise.
21945 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
21946 * util/grub-install.in: Save the basename of $0 in $self, and use the
21947 latter in informational messages. Use the same format for --version
21948 as the binary programs.
21949 * util/grub-mkconfig.in: Likewise.
21950 * util/grub-mkrescue.in: Likewise.
21951 * util/grub-reboot.in: Likewise.
21952 * util/grub-set-default.in: Likewise.
21953 * util/i386/efi/grub-install.in: Likewise.
21954 * util/ieee1275/grub-install.in: Likewise.
21955 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21956
e8a6f3b6
GS
219572010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21958
21959 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
21960 embedding area. Use <= instead of == when checking for non-emptiness.
21961
f4d095d7
GS
219622010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21963
21964 * configure.ac: Add `.' to the directories searched for unifont.
21965
50e532ca
CW
219662010-06-08 Colin Watson <cjwatson@ubuntu.com>
21967
21968 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
21969 grub_script.yy.h.
21970
d39f3dec
CW
219712010-06-08 Colin Watson <cjwatson@ubuntu.com>
21972
21973 * docs/grub.texi (History): Expand to cover GRUB 2.
21974 (Serial terminal): Refer to `terminal_input' and `terminal_output'
21975 commands, not `terminal'.
21976 (serial): Likewise.
21977 (terminal_input): New section.
21978 (terminal_output): New section.
21979 (uppermem): New section (stub).
21980 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
21981
6ef0ddb4
CW
219822010-06-08 Colin Watson <cjwatson@ubuntu.com>
21983
21984 * docs/grub.texi (Security): Menu entries are unrestricted by
21985 default, not restricted to superusers as I had previously thought.
21986 Reword to account for this.
21987
e0f4c438
CW
219882010-06-07 Colin Watson <cjwatson@ubuntu.com>
21989
21990 * kern/emu/misc.c (device_mapper_null_log): New function.
21991 (grub_device_mapper_supported): New function.
21992 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
21993 prototype.
21994 * kern/emu/hostdisk.c (find_partition_start): Check whether
21995 device-mapper is supported before trying to use it.
21996 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
21997
da908200
CW
219982010-06-07 Colin Watson <cjwatson@ubuntu.com>
21999
22000 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
22001 (File name syntax): Likewise.
22002 (help): --all is no longer supported in GRUB 2. Be more precise
22003 about pattern matching.
22004
fb55c3ac
CW
220052010-06-07 Colin Watson <cjwatson@ubuntu.com>
22006
22007 * normal/completion.c (grub_normal_do_completion): When completing
22008 arguments to "set" and the current word contains an equals sign,
22009 skip to after the equals sign before starting completion.
22010
258c2573
CW
220112010-06-07 Colin Watson <cjwatson@ubuntu.com>
22012
22013 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
22014
ee75515e
CW
220152010-06-07 Colin Watson <cjwatson@ubuntu.com>
22016
22017 * docs/grub.texi (Network): New section.
22018 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
22019 `(nd)' as in GRUB Legacy.
22020 (pxe_unload): New section.
22021
a6a700aa
CW
220222010-06-07 Colin Watson <cjwatson@ubuntu.com>
22023
22024 * docs/grub.texi (Troubleshooting): `echo' is not usually available
22025 in the rescue shell, so recommend using `set' instead. Thanks,
22026 Jordan Uggla.
22027
4003dd38
CW
220282010-06-07 Colin Watson <cjwatson@ubuntu.com>
22029
22030 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
22031 (password): New section.
22032 (password_pbkdf2): New section.
22033 (search): New section.
22034 (Security): New section.
22035 (Troubleshooting): New section, currently very incomplete.
22036 (Invoking grub-mkpasswd-pbkdf2): New section.
22037 (Internals): New section, currently very incomplete.
22038
e1cbcc40
CW
220392010-06-07 Colin Watson <cjwatson@ubuntu.com>
22040
22041 * util/grub.d/00_header.in: Add some more quoting (of
22042 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
22043 work again.
22044 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
22045
db8fa1ad
CW
220462010-06-07 Colin Watson <cjwatson@ubuntu.com>
22047
22048 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
22049 to `count', fixing variable shadowing that broke the -c option.
22050
220512010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
22052
22053 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
22054 in case they contain spaces.
22055
f28a9212
CW
220562010-06-04 Colin Watson <cjwatson@ubuntu.com>
22057
22058 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
22059 "part_" to partmap module names, in line with grub-install.
22060 Reported by: Jindřich Makovička (Debian bug #584426).
22061
9cdfe32f
CW
220622010-06-04 Colin Watson <cjwatson@ubuntu.com>
22063
22064 * util/grub-mkimage.c: Make target-related error messages slightly
22065 more helpful; -O talks about "format". Explicitly point to the use
22066 of -O if no target is specified.
22067 Reported by: Didier Raboud (Debian bug #584415).
22068
795b593a
CW
220692010-06-03 Colin Watson <cjwatson@ubuntu.com>
22070
22071 * INSTALL: Document several build requirements for optional features
22072 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
22073
9d9b5833
GS
220742010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
22075
22076 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
22077 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
22078 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
22079
0819fec8
CW
220802010-06-02 Colin Watson <cjwatson@ubuntu.com>
22081
22082 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
22083 Thanks to Jordan Uggla for spotting this.
22084
49396b4f
VS
220852010-06-02 Aleš Nesrsta <starous@volny.cz>
22086
22087 Finally make USB usable.
22088
22089 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
22090 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
22091 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
22092 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
22093 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
22094 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
22095 (GRUB_OHCI_FSMPS): Likewise.
22096 (GRUB_OHCI_PERIODIC_START): Likewise.
22097 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
22098 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
22099 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
22100 (GRUB_OHCI_SET_PORT_RESET): Likewise.
22101 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
22102 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
22103 (grub_ohci_transaction): Likewise.
22104 (grub_ohci_transfer): Improve condition detection algorithms.
22105 Handle toggle property. Program the transactions correctly.
22106 Improve error handling. Various important fixups.
22107 (grub_ohci_portstatus): Put register writes in right order.
22108 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
22109 (grub_uhci_transfer): Don't show "failed" message on success.
22110 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
22111 array.
22112 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
22113 determine its size.
22114 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
22115 before initialization is completed. Use IN direction for empty
22116 transfers. Use last_trans and compute toggle.
22117 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
22118 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
22119 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
22120 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
22121 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
22122 (grub_usb_device): Increase toggle to 256.
22123 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
22124 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
22125 GRUB_USBMS_SUBCLASS_SFF8070.
22126 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
22127 (grub_scsi_inquiry): New member page and alloc_length.
22128 (grub_scsi_request_sense): New structure.
22129 (grub_scsi_request_sense_data): Likewise.
22130 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
22131 control.
22132 * disk/scsi.c (grub_scsi_request_sense): New function.
22133 (grub_scsi_test_unit_ready): Likewise.
22134 (grub_scsi_inquiry): Fill new fields.
22135 (grub_scsi_read_capacity): Likewise.
22136 (grub_scsi_read10): Add request sense at the end.
22137 (grub_scsi_read12): Likewise.
22138 (grub_scsi_write10): Likewise.
22139 (grub_scsi_write12): Likewise.
22140 (grub_scsi_open): Add Test Unit Ready.
22141 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
22142 Support additional subclasses. Con't clear halt yet. Activate the
22143 proper config. Calculate LUNs correctly.
22144 (grub_usbms_transfer): Various important fixups.
22145
221462010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22147
22148 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
22149 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
22150 (grub_ohci_fini_hw): New function.
22151 (grub_ohci_restore_hw): Likewise.
22152 (GRUB_MOD_INIT(ohci)): Register preboot hook.
22153 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
22154 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
22155
221562010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22157
22158 Dedicated DMA allocations.
22159
22160 * bus/pci.c (grub_memalign_dma32): New function
22161 (grub_dma_free): Likewise.
22162 (grub_dma_get_virt): Likewise.
22163 (grub_dma_get_phys): Likewise.
22164 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
22165 (grub_ohci_pci_iter): Use dma32_alloc.
22166 (grub_ohci_transfer): Likewise.
22167 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22168 (grub_usb_bulk_readwrite): Likewise.
22169 * include/grub/pci.h: Add declarations.
22170
221712010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22172
22173 CS5536 support.
22174
22175 * bus/cs5536.c: New file.
22176 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
22177 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
22178 (cs5536_mod_SOURCES): New variable.
22179 (cs5536_mod_CFLAGS): Likewise.
22180 (cs5536_mod_LDFLAGS): Likewise.
22181 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
22182 machine/pci.h.
22183 (kernel_img_SOURCES): Add bus/cs5536.c.
22184 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
22185 usb_keyboard.mod.
22186 (usb_mod_SOURCES): New variable.
22187 (usb_mod_CFLAGS): New variable.
22188 (usb_mod_LDFLAGS): New variable.
22189 (usbtest_mod_SOURCES): New variable.
22190 (usbtest_mod_CFLAGS): New variable.
22191 (usbtest_mod_LDFLAGS): New variable.
22192 (ohci_mod_SOURCES): New variable.
22193 (ohci_mod_CFLAGS): New variable.
22194 (ohci_mod_LDFLAGS): New variable.
22195 (usbms_mod_SOURCES): New variable.
22196 (usbms_mod_CFLAGS): New variable.
22197 (usbms_mod_LDFLAGS): New variable.
22198 (usb_keyboard_mod_SOURCES): New variable.
22199 (usb_keyboard_mod_CFLAGS): New variable.
22200 (usb_keyboard_mod_LDFLAGS): New variable.
22201 * include/grub/smbus.h: New file.
22202 * include/grub/cs5536.h: New file.
22203
0b35b2a9
CW
222042010-06-02 Colin Watson <cjwatson@ubuntu.com>
22205
22206 * util/grub.d/00_header.in: Add safety check to make sure that
22207 ${locale_dir} exists before trying to probe it.
22208
ca0afd5b
CW
222092010-06-02 Colin Watson <cjwatson@ubuntu.com>
22210
22211 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
22212 per the GNU Coding Standards; this is now too obscure to be worth
22213 documenting.
22214 (QNX): Likewise.
22215 (chainloader): Remove cross-reference to `SCO UnixWare'.
22216
1c41aa78
CW
222172010-06-02 Colin Watson <cjwatson@ubuntu.com>
22218
22219 * docs/grub.texi (Chain-loading): New section.
22220 (DOS/Windows): New section, borrowed from GRUB Legacy with details
22221 adjusted for GRUB 2.
22222 (SCO UnixWare): Likewise.
22223 (QNX): Likewise.
22224 (chainloader): Add reference to `Block list syntax'.
22225 (drivemap): New section.
22226 (parttool): New section.
22227
bb8ea0f5
CW
222282010-06-02 Colin Watson <cjwatson@ubuntu.com>
22229
22230 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
22231 the grub shell'.
22232 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
22233 (Installing GRUB using grub-install): Remove reference to the grub
22234 shell; mention `grub-mkimage' and `grub-setup' instead.
22235 (Invoking grub-install): Likewise.
22236 (Interface): Add reference to `Menu entry editor'.
22237 (serial): Remove `--device' option.
22238
288dd6ed
CW
222392010-06-02 Colin Watson <cjwatson@ubuntu.com>
22240
22241 * docs/grub.texi (Configuration): New section, documenting
22242 configuration file generation using grub-mkconfig. I've left a slot
22243 for documenting the full shell scripting format but have not yet
22244 started on writing that up.
22245 (Invoking grub-mkconfig): New section.
22246
34c9f0e9
CW
222472010-06-02 Colin Watson <cjwatson@ubuntu.com>
22248
22249 * docs/grub.texi (direntry): Remove grub-terminfo reference.
22250 (GNU GRUB manual): Likewise.
22251 (General commands): Update description of `terminfo' for GRUB 2.
22252
9121567e
CW
222532010-06-02 Colin Watson <cjwatson@ubuntu.com>
22254
22255 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
22256 (GRUB_MOD_INIT): Fix capitalisation.
22257 * docs/grub.texi (Command-line and menu entry commands): Document
22258 gettext and gptsync commands.
22259
ab631611
CW
222602010-06-02 Colin Watson <cjwatson@ubuntu.com>
22261
22262 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
22263 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
22264
bde4a9ac
CW
222652010-06-01 Colin Watson <cjwatson@ubuntu.com>
22266
22267 Add btrfs probing support, currently only in the single-device case.
22268
22269 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
22270 function.
22271 (grub_guess_root_device): Call find_root_device_from_mountinfo
22272 before looking in /dev.
22273
b1d17e10
VS
222742010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22275
22276 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
22277 GRUB_DISK_SIZE_UNKNOWN.
22278 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
22279
dfbfe004
JS
222802010-05-31 Jiro SEKIBA <jir@unicus.jp>
22281
22282 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
22283 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
22284 corrupted or not synced properly.
22285
c2ffc8e9
VS
222862010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22287
22288 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
22289 Reported by: Seth Goldberg.
22290
56293166
VS
222912010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22292
22293 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
22294 addition of dest.
22295 Reported by: Seth Goldberg.
22296
7620e7de
VS
222972010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22298
22299 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
22300 Reported by: Seth Goldberg.
22301
c837af3f
VS
223022010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22303
22304 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
22305 64-bit address as signed on MIPS.
22306
c7c75cf4
CW
223072010-05-28 Colin Watson <cjwatson@ubuntu.com>
22308
22309 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
22310 to the empty string.
22311
fa4b8490
BC
223122010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
22313
22314 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
22315
22316 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
22317 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
22318 * kern/misc.c (__enable_execute_stack): Disable on
22319 GRUB_MACHINE_EMU.
22320
a33075b9
CW
223212010-05-28 Colin Watson <cjwatson@ubuntu.com>
22322
22323 Make grub-probe work with symbolic links under /dev/mapper as well
22324 as with real block devices. The Linux world seems to be (at best)
22325 in transition here, and GRUB shouldn't get caught in the middle.
22326
22327 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
22328 /dev/mapper.
22329
d8708134
CW
223302010-05-27 Colin Watson <cjwatson@ubuntu.com>
22331
22332 * util/grub-script-check.c (main): Ensure defined behaviour on empty
22333 input files (in which case exit zero).
22334
db2102a0
CW
223352010-05-27 Colin Watson <cjwatson@ubuntu.com>
22336
22337 * kern/emu/misc.c (canonicalize_file_name): realpath can still
22338 return NULL for various reasons even if it has a maximum-length
22339 buffer: for example, there might be a symlink loop, or the path
22340 might exceed PATH_MAX. If this happens, return NULL.
22341
5fdba519
RM
223422010-05-27 Robert Millan <rmh@gnu.org>
22343
22344 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
22345 partmap module to handle cross-partmap setups.
22346 Reported by Orestes Mas. Gràcies!
22347
d1d368e4
CW
223482010-05-27 Colin Watson <cjwatson@ubuntu.com>
22349
22350 * util/grub-mkrescue.in: Initialise override_dir rather than
22351 assuming that it's unset or empty in the environment.
22352
95ac3c73
GS
223532010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
22354
22355 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
22356 variable index into p_index to suppress a warning with -Wshadow.
22357
7d8c0213
BC
223582010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
22359
22360 * INSTALL: Added flex >= 2.5.35 requirement.
22361
db4d5813
VS
223622010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22363
22364 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
22365
f24f4300
VS
223662010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22367
22368 cmostest support.
22369
22370 * commands/i386/cmostest.c: New file.
22371 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
22372 (cmostest_mod_SOURCES): New variable.
22373 (cmostest_mod_CFLAGS): Likewise.
22374 (cmostest_mod_LDFLAGS): Likewise.
22375 * conf/i386-pc.rmk: Likewise.
22376 * docs/grub.texi (Vendor power-on keys): New section.
22377 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
22378 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
22379 and GRUB_BUTTON_CMOS_ADDRESS.
22380 * util/grub.d/00_header.in: Handle powering-on by separate button.
22381
ad603f61
VS
223822010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22383
22384 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
22385 Removed drawing_scrollbar argument. All users updated
22386 Fixes #29792.
22387 Reported by Jo Shields
22388
3ecb080a
VS
223892010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22390
22391 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
22392 buffer since gfxterm handles double repaint.
22393
5f2316c1
VS
223942010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22395
22396 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
22397 * term/gfxterm.c (real_scroll): Likewise.
22398
9a25f885
VS
223992010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22400
22401 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
22402 before calling BIOS.
22403
39fbb79a
VS
224042010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22405
22406 * include/grub/i18n.h: Always enable grub_gettext.
22407
228cfa97
VS
224082010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22409
22410 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
22411 partition naming style.
22412
21717c8f
CW
224132010-05-21 Colin Watson <cjwatson@ubuntu.com>
22414
22415 * util/grub-mkconfig.in: Fix handling of -o so that it works when
22416 not the first option.
22417
c0f48e65
CW
224182010-05-20 Colin Watson <cjwatson@ubuntu.com>
22419
22420 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
22421
96779aec
CW
224222010-05-20 Colin Watson <cjwatson@ubuntu.com>
22423
22424 * util/misc.c: Move inclusion of <limits.h> to ...
22425 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
22426
fa9d256e
GS
224272010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
22428
22429 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
22430 Fix merge error in NetBSD code.
22431 (find_partition_start) [__NetBSD__]: Likewise.
22432
123b7a85
BC
224332010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
22434
22435 Fix grub-mkrescue usage unit testing.
22436
22437 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
22438
74276c0d
CF
224392010-05-18 Christian Franke <franke@computer.org>
22440
22441 * util/grub.d/10_windows.in: Use path names instead of
22442 drive letters to prevent warning from Cygwin 1.7.
22443 Add drivemap command to menuentry if needed.
22444
c4f7b523
ST
224452010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
22446
22447 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
22448 gnumach and gnumach.gz.
22449
95b97950
VS
224502010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22451
22452 * include/grub/i18n.h (gettext): Inline instead of using #define.
22453 (grub_gettext): Likewise.
22454 (_): Likewise.
22455
01b8d2d7
VS
224562010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22457
22458 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
22459 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
22460 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
22461 (main): Add a slash after pkglibdirroot.
22462
654e1d1e
VS
224632010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22464
22465 * util/grub-install.in: Add missing "in" keyword.
22466
26966aeb
VS
224672010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22468
22469 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
22470 Reported by: Seth Goldberg.
22471
75006747
VS
224722010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22473
22474 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
22475
74cbf5bd
CW
224762010-05-18 Colin Watson <cjwatson@ubuntu.com>
22477
22478 * configure.ac: Check for Linux device-mapper support.
22479
22480 * util/hostdisk.c (device_is_mapped): New function.
22481 (find_partition_start): New function, partly broken out from
22482 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
22483 device-mapper support added.
22484 (linux_find_partition): Use find_partition_start.
22485 (convert_system_partition_to_system_disk): Add `st' argument.
22486 Support Linux /dev/mapper/* devices if device-mapper support is
22487 available; only DM-RAID devices are understood at present.
22488 (find_system_device): Add `st' argument. Pass it to
22489 convert_system_partition_to_system_disk.
22490 (grub_util_biosdisk_get_grub_dev): Pass stat result to
22491 find_system_device and convert_system_partition_to_system_disk. Use
22492 find_partition_start.
22493
22494 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
22495 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
22496 * util/deviceiter.c [__linux__]: Define MINOR.
22497 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
22498 * util/mkdevicemap.c (grub_putchar): New function.
22499 (grub_getkey): New function.
22500 (grub_refresh): New function.
22501 (main): Set debug=all if -v -v is used.
22502
355b51e9
CW
225032010-05-18 Colin Watson <cjwatson@ubuntu.com>
22504
22505 Fix build with non-GNU libcs.
22506
22507 * util/misc.c (canonicalize_file_name): Move to ...
22508 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
22509 grub_make_system_path_relative_to_its_root.
22510
7fb5c25f
CW
225112010-05-18 Colin Watson <cjwatson@ubuntu.com>
22512
22513 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
22514 we handle finding grub-mkimage. Default to finding grub-mkimage in
22515 ${bindir} with program_transform_name applied, and provide a
22516 --grub-mkimage option to override this.
22517
1d3293d6
VS
225182010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22519
22520 Remove grub-mkisofs.
22521
22522 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
22523 (grub_mkisofs_SOURCES): Removed.
22524 (grub_mkisofs_CFLAGS): Removed.
22525 * util/mkisofs/defaults.h: Removed.
22526 * util/mkisofs/eltorito.c: Likewise.
22527 * util/mkisofs/exclude.h: Likewise.
22528 * util/mkisofs/hash.c: Likewise.
22529 * util/mkisofs/include/: Likewise.
22530 * util/mkisofs/include/fctldefs.h: Likewise.
22531 * util/mkisofs/include/mconfig.h: Likewise.
22532 * util/mkisofs/include/prototyp.h: Likewise.
22533 * util/mkisofs/include/statdefs.h: Likewise.
22534 * util/mkisofs/iso9660.h: Likewise.
22535 * util/mkisofs/joliet.c: Likewise.
22536 * util/mkisofs/match.c: Likewise.
22537 * util/mkisofs/match.h: Likewise.
22538 * util/mkisofs/mkisofs.c: Likewise.
22539 * util/mkisofs/mkisofs.h: Likewise.
22540 * util/mkisofs/msdos_partition.h: Likewise.
22541 * util/mkisofs/multi.c: Likewise.
22542 * util/mkisofs/name.c: Likewise.
22543 * util/mkisofs/rock.c: Likewise.
22544 * util/mkisofs/tree.c: Likewise.
22545 * util/mkisofs/write.c: Likewise.
22546
5dde9afe
VS
225472010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22548
22549 Unify grub-mkimage accross platforms.
22550
22551 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
22552 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
22553 (grub_mkelfimage_SOURCES): Removed.
22554 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
22555 (util/grub-mkimage.c_DEPENDENCIES): .. this.
22556 (bin_UTILITIES): Add grub-mkimage.
22557 (grub_mkimage_SOURCES): New variable.
22558 (kernel_img_HEADERS): Remove machine/kernel.h.
22559 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
22560 (pkglib_PROGRAMS): Add kernel.img.
22561 (kernel_img_HEADERS): Add machine/kernel.h.
22562 (kernel_img_FORMAT): Removed.
22563 (bin_UTILITIES): Remove grub-mkimage.
22564 (grub_mkimage_SOURCES): Removed.
22565 (grub_mkimage_CFLAGS): Likewise.
22566 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22567 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
22568 (pkglib_PROGRAMS): Add kernel.img.
22569 (bin_UTILITIES): Remove grub-mkimage.
22570 (grub_mkimage_SOURCES): Removed.
22571 (grub_mkimage_CFLAGS): Likewise.
22572 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22573 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
22574 (pkglib_PROGRAMS): Add kernel.img.
22575 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
22576 (pkglib_PROGRAMS): Add kernel.img.
22577 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
22578 (grub_mkimage_SOURCES): Removed.
22579 (grub_mkimage_CFLAGS): Likewise.
22580 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22581 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
22582 (pkglib_PROGRAMS): Add kernel.img.
22583 (bin_UTILITIES): Remove grub-mkimage.
22584 (grub_mkimage_SOURCES): Removed.
22585 (grub_mkimage_CFLAGS): Likewise.
22586 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22587 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
22588 (grub_mkimage_SOURCES): Removed.
22589 (grub_mkimage_CFLAGS): Likewise.
22590 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22591 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
22592 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
22593 (grub_pe32_optional_header): ... this.
22594 (grub_pe64_optional_header): ... and this. All users updated.
22595 (GRUB_PE32_PE32_MAGIC): Split into ..
22596 (GRUB_PE32_PE32_MAGIC): .. this.
22597 (GRUB_PE32_PE64_MAGIC): .. and this.
22598 (GRUB_PE32_SIGNATURE_SIZE): New definition.
22599 * include/grub/elf.h (PT_GNU_STACK): New definition.
22600 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
22601 * include/grub/i386/efi/kernel.h: Likewise.
22602 * include/grub/i386/kernel.h: Likewise.
22603 * include/grub/i386/pc/kernel.h: Likewise.
22604 * include/grub/i386/qemu/boot.h: Likewise.
22605 * include/grub/mips/kernel.h: Likewise.
22606 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22607 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22608 * include/grub/powerpc/kernel.h: Likewise.
22609 * include/grub/sparc64/ieee1275/boot.h: Likewise.
22610 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22611 * include/grub/sparc64/kernel.h: Likewise.
22612 * include/grub/x86_64/efi/kernel.h: Likewise.
22613 * include/grub/x86_64/kernel.h: Likewise.
22614 * include/grub/offsets.h: New file.
22615 * include/grub/kernel.h (grub_module_info): Split into ...
22616 (grub_module_info32): ... this.
22617 (grub_module_info64): ... and this.
22618 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
22619 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
22620 (grub_boot_blocklist): Moved from here ...
22621 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
22622 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
22623 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
22624 * include/grub/types.h (grub_target_to_host16): Removed.
22625 (grub_target_to_host32): Likewise.
22626 (grub_target_to_host64): Likewise.
22627 (grub_host_to_target16): Likewise.
22628 (grub_host_to_target32): Likewise.
22629 (grub_host_to_target64): Likewise.
22630 (grub_host_to_target_addr): Likewise.
22631
22632 Support grub-mkrescue for efi, coreboot and qemu.
22633
22634 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
22635 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
22636 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
22637 * util/grub-mkrawimage.c: Moved from here ...
22638 * util/grub-mkimage.c: ... here. All users updated.
22639 (ALIGN_ADDR): Use image_target.
22640 (TARGET_NO_FIELD): New const.
22641 (image_target_desc): New type.
22642 (image_targets): New array.
22643 (grub_target_to_host64): Use image_target.
22644 (grub_target_to_host32): Likewise.
22645 (grub_target_to_host16): Likewise.
22646 (grub_host_to_target64): Likewise.
22647 (grub_host_to_target32): Likewise.
22648 (grub_host_to_target16): Likewise.
22649 (grub_host_to_target_addr): Likewise.
22650 (generate_image): Handle multiimage.
22651 (main): Require -O parameter. All users updated.
22652 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
22653 util/efi/grub-mkimage.c
22654 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
22655 New option --rom-directory.
22656 Use xorriso.
22657 * util/i386/efi/grub-mkimage.c: Removed.
22658 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
22659 (grub_target_to_host32): Likewise.
22660 (grub_target_to_host64): Likewise.
22661 (grub_host_to_target16): Likewise.
22662 (grub_host_to_target32): Likewise.
22663 (grub_host_to_target64): Likewise.
22664 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
22665 (grub_target_to_host32): Likewise.
22666 (grub_target_to_host64): Likewise.
22667 (grub_host_to_target16): Likewise.
22668 (grub_host_to_target32): Likewise.
22669 (grub_host_to_target64): Likewise.
22670
f4fc97d0
BC
226712010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
22672
22673 Source tree is reorganized for emu build.
22674
22675 * include/grub/util/console.h: Move from here...
22676 * include/grub/emu/console.h: ...to here.
22677 * include/grub/util/getroot.h: Move from here...
22678 * include/grub/emu/getroot.h: ...to here.
22679 * include/grub/util/hostdisk.h: Move from here...
22680 * include/grub/emu/hostdisk.h: ...to here.
22681 * util/console.c: Move from here...
22682 * kern/emu/console.c: ...to here.
22683 * util/getroot.c: Move from here...
22684 * kern/emu/getroot.c: ...to here.
22685 * util/grub-emu.c: Move from here...
22686 * kern/emu/main.c: ...to here.
22687 * util/hostdisk.c: Move from here...
22688 * kern/emu/hostdisk.c: ...to here.
22689 * util/hostfs.c: Move from here...
22690 * kern/emu/hostfs.c: ...to here.
22691 * util/mm.c: Move from here...
22692 * kern/emu/mm.c: ...to here.
22693 * util/pci.c: Move from here...
22694 * bus/emu/pci.c: ...to here.
22695 * util/sdl.c: Move from here...
22696 * video/emu/sdl.c: ...to here.
22697 * util/time.c: Move from here...
22698 * kern/emu/time.c: ...to here.
22699 * util/usb.c: Move from here...
22700 * bus/usb/emu/usb.c: ...to here.
22701
22702 * include/grub/emu/misc.h: New header for grub-emu functions.
22703 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
22704
22705 * conf/any-emu.rmk: Rule updates for above renames.
22706 * conf/common.rmk: Likewise.
22707 * conf/i386-pc.rmk: Likewise.
22708 * conf/i386-qemu.rmk: Likewise.
22709 * conf/mips.rmk: Likewise.
22710 * conf/sparc64-ieee1275.rmk: Likewise.
22711 * conf/x86-efi.rmk: Likewise.
22712
22713 * disk/lvm.h: #include updates for above renames.
22714 * util/grub-mkrelpath.c: Likewise.
22715 * util/grub-probe.c: Likewise.
22716 * util/i386/pc/grub-setup.c: Likewise.
22717 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22718 * kern/emu/console.c: Likewise.
22719 * kern/emu/getroot.c: Likewise.
22720 * kern/emu/hostdisk.c: Likewise.
22721 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
22722
22723 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
22724 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
22725 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
22726 * util/misc.c: Remove grub-emu functions.
22727
cced9145
VS
227282010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
22729
22730 Fix gfxmenu crash.
22731 Reported by: Thorsten Grützmacher.
22732
22733 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
22734 timeout hook.
22735 (circprog_set_property): Register and unregister timeout hook.
22736 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
22737 (label_destroy): Free template. and unregister hook.
22738 (label_set_state): New function.
22739 (label_set_property): Handle templates and hooks.
22740 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
22741 timeout hook.
22742 (progress_bar_set_property): Register and unregister timeout hook.
22743 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
22744 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
22745 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
22746 (update_timeout_visit): Removed.
22747 (update_timeouts): New function.
22748 (redraw_timeouts): Likewise.
22749 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
22750 (grub_gfxmenu_clear_timeout): Likewise.
22751 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
22752 (grub_gfxmenu_timeout_notify): Likewise.
22753 (grub_gfxmenu_timeout_notifications): New external variable.
22754 (grub_gfxmenu_timeout_register): New function.
22755 (grub_gfxmenu_timeout_unregister): Likewise.
22756
c6e5caab
VS
227572010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22758
22759 Transform (broken) vga terminal into (working) vga video driver.
22760
22761 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
22762 video/i386/pc/vga.c.
22763 * include/grub/video.h (grub_video_driver_id):
22764 Add GRUB_VIDEO_DRIVER_VGA.
22765 * term/i386/pc/vga.c: Renamed to ...
22766 * video/i386/pc/vga.c: ...this
22767 (DEBUG_VGA): Removed.
22768 (CHAR_WIDTH): Likewise.
22769 (CHAR_HEIGHT): Likewise.
22770 (TEXT_WIDTH): Likewise.
22771 (TEXT_HEIGHT): Likewise.
22772 (DEFAULT_FG_COLOR): Likewise.
22773 (DEFAULT_BG_COLOR): Likewise.
22774 (colored_char): Likewise.
22775 (xpos): Likewise.
22776 (ypos): Likewise.
22777 (cursor_state): Likewise.
22778 (fg_color): Likewise.
22779 (bg_color): Likewise.
22780 (text_buf): Likewise.
22781 (page): Likewise.
22782 (font): Likewise.
22783 (framebuffer): New variable.
22784 (set_read_map): Disabled.
22785 (setup): New variable.
22786 (is_target): Likewise.
22787 (grub_vga_mod_init): Likewise.
22788 (grub_vga_mod_fini): Likewise.
22789 (check_vga_mem): Likewise.
22790 (write_char): Likewise.
22791 (write_cursor): Likewise.
22792 (scroll_up): Likewise.
22793 (grub_vga_putchar): Likewise.
22794 (grub_vga_getcharwidth): Likewise.
22795 (grub_vga_getwh): Likewise.
22796 (grub_vga_getxy): Likewise.
22797 (grub_vga_gotoxy): Likewise.
22798 (grub_vga_cls): Likewise.
22799 (grub_vga_setcolorstate): Likewise.
22800 (grub_vga_setcursor): Likewise.
22801 (grub_video_vga_init): New function.
22802 (grub_video_vga_setup): Likewise.
22803 (grub_video_vga_fini): Likewise.
22804 (update_target): Likewise.
22805 (grub_video_vga_blit_bitmap): Likewise.
22806 (grub_video_vga_blit_render_target): Likewise.
22807 (grub_video_vga_set_active_render_target): Likewise.
22808 (grub_video_vga_get_active_render_target): Likewise.
22809 (grub_video_vga_swap_buffers): Likewise.
22810 (grub_video_vga_set_palette): Likewise.
22811 (grub_video_vga_get_info_and_fini): Likewise.
22812 (grub_vga_term): Removed.
22813 (grub_video_vga_adapter): New variable.
22814 (GRUB_MOD_INIT): Register a video driver instead of terminal.
22815 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
22816
2bf61a98
VS
228172010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22818
22819 * video/readers/jpeg.c: Indented.
22820
09ddcd11
VS
228212010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22822
22823 Various jpeg cleanups.
22824
22825 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
22826 (grub_jpeg_decode_quan_table): Use sizeof.
22827 (grub_jpeg_decode_du): Use ARRAY_SIZE.
22828
e5507505
PH
228292010-05-05 Peter Hurley <No e-mail available> (tiny change)
22830
22831 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
22832 tables. Ignore non-last ac bit.
22833 (grub_jpeg_decode_quan_table): Likewise.
22834
7e720a9b
VS
228352010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22836
22837 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
22838 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
22839 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22840 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
22841 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
22842 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
22843
a7fc080b
VS
228442010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22845
22846 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
22847 error.
22848
2bf6012d
VS
228492010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22850
22851 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
22852
265d68cd
VS
228532010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22854
22855 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
22856 condition.
22857
228582010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
22859
22860 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
22861 part.
22862
265d68cd 228632010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
22864
22865 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
22866 pointers.
22867
265d68cd 228682010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
22869
22870 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
22871
d1b61374
CF
228722010-05-01 Christian Franke <franke@computer.org>
22873
22874 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
22875 Remove broken Cygwin path conversion.
22876 * util/misc.c: [__CYGWIN__] Add include and define.
22877 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
22878 for Cygwin 1.7.
22879 (make_system_path_relative_to_its_root): Simplify loop, replace early
22880 return by break.
22881 [__CYGWIN__] Add conversion to win32 path.
22882 Include "/" case in trailing slash removal.
22883
3558c6e9
VS
228842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22885
22886 * kern/main.c (grub_load_config): Fix copy-pasted comment.
22887 Reported by: Seth Goldberg
22888
f5f3ff93
VS
228892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22890
22891 * commands/help.c (grub_cmd_help): Fix a typo.
22892 Reported by: Seth Goldberg
22893
d8b5cd40
VS
228942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22895
22896 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
22897 name and add N_.
22898 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
22899 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
22900 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
22901 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
22902 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
22903 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
22904 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
22905 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
22906 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
22907 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22908 * normal/context.c (GRUB_MOD_INIT): Likewise.
22909 * normal/main.c (GRUB_MOD_INIT): Likewise.
22910 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22911 * term/serial.c (GRUB_MOD_INIT): Likewise.
22912 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
22913
88c14915
VS
229142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22915
22916 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
22917 extra == 0.
22918
165134bc
VS
229192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22920
22921 * commands/iorw.c: New file.
22922 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
22923 (iorw_mod_SOURCES): New variable.
22924 (iorw_mod_CFLAGS): Likewise.
22925 (iorw_mod_LDFLAGS): Likewise.
22926
c5ac9b32
VS
229272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22928
22929 Hotkey support
22930
22931 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
22932 * normal/main.c (hotkey_aliases): New variable.
22933 (grub_normal_add_menu_entry): Parse "--hotkey".
22934 * normal/menu_text.c (run_menu): Handle hotkeys.
22935
ce60689c
VS
229362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22937
22938 * kern/i386/coreboot/init.c (grub_machine_init): Call
22939 grub_machine_mmap_init on qemu.
22940
0359d006
VS
229412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22942
22943 * boot/i386/qemu/boot.S: Add a missing .code16.
22944
7819a456
VS
229452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22946
22947 Use LBIO on coreboot.
22948
22949 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
22950 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
22951 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
22952 New declaration.
22953 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
22954 grub_machine_mmap_init on coreboot.
22955 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
22956 GRUB_LINUXBIOS_MEMBER_LINK.
22957 (grub_machine_mmap_iterate): Fix declaration.
22958 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
22959
7210dca9
VS
229602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22961
22962 Split coreboot and multiboot ports.
22963
22964 * conf/i386-multiboot.rmk: New file.
22965 * configure.ac: Add multiboot port.
22966 * include/grub/i386/multiboot/boot.h: New file.
22967 * include/grub/i386/multiboot/console.h: Likewise.
22968 * include/grub/i386/multiboot/init.h: Likewise.
22969 * include/grub/i386/multiboot/kernel.h: Likewise.
22970 * include/grub/i386/multiboot/loader.h: Likewise.
22971 * include/grub/i386/multiboot/memory.h: Likewise.
22972 * include/grub/i386/multiboot/serial.h: Likewise.
22973 * include/grub/i386/multiboot/time.h: Likewise.
22974 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
22975 * loader/multiboot.c: Likewise.
22976 * loader/multiboot_mbi2.c: Likewise.
22977 * util/grub-mkrescue.in: Generate multiboot rescue.
22978
6f8aaf68
VS
229792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22980
3080f7a7
VS
22981 * kern/parser.c (grub_parser_execute): Cope with read-only config.
22982
229832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22984
22985 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
22986
22987 * commands/terminal.c (abstract_terminal): New struct.
22988 (handle_command): New function. Based on grub_cmd_terminal_input.
22989 (grub_cmd_terminal_input): Use handle_command.
22990 (grub_cmd_terminal_output): Use handle_command.
22991
a8ebb841
BC
229922010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
22993
22994 Fix comment handling.
22995
22996 * tests/grub_script_comments.in: New testcase.
22997 * conf/tests.rmk: Rules for new testcase.
22998 * script/yylex.l: Updated flex rules.
22999
bb06ba08
ST
230002010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
23001
23002 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
23003 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
23004 if argc is 1.
bb06ba08 23005
cc9d2425
VS
230062010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23007
23008 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
23009 autogen issues.
23010
460d8402
CF
230112010-04-26 Christian Franke <franke@computer.org>
23012
23013 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
23014 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
23015 (grub_get_prefix): Remove function.
23016 * util/grub-emu.c (main): Replace grub_get_prefix () call by
23017 make_system_path_relative_to_its_root ().
23018 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23019
553c01f9
CF
230202010-04-24 Christian Franke <franke@computer.org>
23021
23022 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
23023 (kernel_img_LDFLAGS): Remove -static-libgcc.
23024
2aec1692
CF
230252010-04-24 Christian Franke <franke@computer.org>
23026
23027 * configure.ac: Do not CHECK_BSS_START_SYMBOL
23028 and CHECK_END_SYMBOL if grub-emu is built.
23029 Unset TARGET_OBJ2ELF if grub-emu is built
23030 without module support.
23031
f67dc308
JS
230322010-04-24 Jiro SEKIBA <jir@unicus.jp>
23033
23034 Nilfs2 support.
23035
23036 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
23037 (grub_fstest_SOURCES): Likewise.
23038 (pkglib_MODULES): Add nilfs2.mod.
23039 (nilfs2_mod_SOURCES): New variable.
23040 (nilfs2_mod_CFLAGS): Likewise.
23041 (nilfs2_mod_LDFLAGS): Likewise.
23042 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23043 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23044 * fs/nilfs2.c: New file.
23045
4ba8d354
VS
230462010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
23047
23048 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
23049 is not supported.
23050
0d2c20c6
GS
230512010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
23052
23053 Add grub-mkconfig support for NetBSD.
23054
23055 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
23056 * util/grub-mkconfig.in: export new NetBSD specific variables.
23057 * po/POTFILES-shell: added 10_netbsd.in.
23058 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
23059
bc4a2d83
BC
230602010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
23061
23062 Fix emu build with grub-emu-pci and grub-emu-modules.
23063
23064 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
23065 functions.
23066 * include/grub/libpciaccess.h: New file.
23067 * conf/any-emu.rmk: Update kernel headers for emu build.
23068
f48c87aa
VS
230692010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23070
23071 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
23072
18959385
VS
230732010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23074
23075 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
23076
0037de3f
VS
230772010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23078
23079 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
23080 Retrieve chosen/bootpath if bootpath isn't hardcoded.
23081 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
23082 util/ieee1275/ofpath.c.
23083 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
23084 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
23085 * include/grub/sparc64/ieee1275/boot.h
23086 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
23087 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
23088 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
23089 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
23090 const char *.
23091 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
23092 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
23093 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
23094 install.
23095
38e55e90
GS
230962010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
23097
23098 * util/grub-mkconfig.in: Corrected two == equality tests.
23099 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
23100 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
23101 expect a number appended to it.
23102 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
23103 expects a number appended to it.
23104
a9e6ff28
VS
231052010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23106
23107 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
23108
0b830b8f
VS
231092010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23110
23111 * util/hostdisk.c (make_device_name): Change to new partition naming.
23112
0973daeb
VS
231132010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
23114
23115 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
23116
460d8402 231172010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
23118
23119 * Makefile.in: Add missing localedir setting.
23120
0b456309
CW
231212010-04-14 Colin Watson <cjwatson@ubuntu.com>
23122
23123 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
23124 mistake in r2156. Noticed by Anthony Fok.
23125
23126 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
23127 @localedir@.
23128 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23129
08f46d62
BC
231302010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
23131
23132 Fix a spurious, uninitialized variable warning.
23133
23134 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
23135 Initialize variable, shdr.
23136 (grub_freebsd_load_elfmodule): Likewise.
23137 (grub_freebsd_load_elf_meta): Likewise.
23138
8c4a72d4
BC
231392010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
23140
23141 Fix for escaped dollar in double quoted strings.
23142
23143 * script/yylex.l: Updated flex rules.
23144 * conf/tests.rmk: Rule for new testcase.
23145 * tests/grub_script_dollar.in: New testcase.
23146
ce44826e
CPE
231472010-04-13 Carles Pina i Estany <carles@pina.cat>
231482010-04-13 Colin Watson <cjwatson@ubuntu.com>
23149
23150 Enclose all translated strings in grub.cfg in single quotes, and
23151 escape them appropriately (Ubuntu bug #552921).
23152
23153 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
23154 * util/grub.d/10_hurd.in: Use it.
23155 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23156 * util/grub.d/10_linux.in (linux_entry): Likewise.
23157
4b0cd8f8
VS
231582010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23159
23160 Fix cygwin compilation.
23161
23162 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
23163 * include/grub/misc.h (__register_frame_info)
23164 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
23165 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23166 * kern/misc.c (__register_frame_info)
23167 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
23168 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23169
01fcf061
VS
231702010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23171
23172 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
23173
5d04b11e
VS
231742010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23175
23176 Unify libgcc processing.
23177
23178 * Makefile.in (kernel_img_LDFLAGS): New variable.
23179 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
23180 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
23181 overwriting.
23182 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
23183 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
23184 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
23185 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
23186 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
23187 overwriting. Remove -lgcc and -static-libgcc
23188 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
23189 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23190 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23191 (kernel_img_LDFLAGS): Append instead of overwriting.
23192 Remove -lgcc and -static-libgcc
23193 * conf/sparc64-ieee1275.rmk: Likewise.
23194 * include/grub/powerpc/libgcc.h: Move to ...
23195 * include/grub/libgcc.h: .. this.
23196 * include/grub/libgcc.h: Don't export most of the function on x86.
23197 (__bswapsi2): New export.
23198 (__bswapdi2): Likewise.
23199 * include/grub/mips/libgcc.h: Removed.
23200 * include/grub/sparc64/libgcc.h: Likewise.
23201
b7f3ac29
VS
232022010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23203
23204 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
23205 disk_info_msg (conflicts with gettexting into languages with cases).
23206
2c7031b1
GS
232072010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
23208
23209 Add grub-probe support for NetBSD.
23210
23211 * util/getroot.c (find_root_device): Convert block device to
23212 character device on NetBSD.
23213 * util/probe.c (probe): Require character device on NetBSD.
23214 * util/hostdisk.c: NetBSD specific headers.
23215 (configure_device_driver): new function to tune device driver
23216 parameters (currently only for NetBSD floppy driver).
23217 (grub_util_biosdisk_open): NetBSD specific code (get disk size
23218 via disklabel ioctl).
23219 (open_device): call configure_device_driver on NetBSD.
23220 (convert_system_partition_to_system_disk): NetBSD specific code.
23221 (device_is_wholedisk): Likewise.
23222 (grub_util_biosdisk_get_grub_dev): Likewise.
23223 (make_device_name): Fixed a typo in bsd_part_str.
23224 * configure.ac: check for opendisk() and getrawpartition() on
23225 NetBSD and set LIBUTIL.
23226 * Makefile.in: add LIBUTIL to LIBS.
23227
f516290c
BC
232282010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
23229
23230 Documentation fix.
23231
23232 * util/grub-script-check.c: Better help message.
23233
d8dcc0df
BC
232342010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
23235
23236 Fix FreeBSD build.
23237
23238 * configure.ac: Flex version check.
23239 * conf/common.rmk: Add -Wno-error to sh.mod.
23240 * script/yylex.l: Remove all #pragma.
23241
6734334a
VS
232422010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23243
23244 * include/grub/util/misc.h (canonicalise_file_name): Add missing
23245 prototype.
23246 Reported by: Seth Goldberg.
23247
daea6abd
VS
232482010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23249
23250 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
23251 Rename "module" to "module2".
23252 Reported by: Seth Goldberg.
23253
f2fd9d2b
VS
232542010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23255
23256 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
23257 EXPORT_FUNC.
23258 Reported by: Seth Goldberg.
23259
be124579
VS
232602010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23261
23262 * lib/posix_wrap/locale.h: Add missing file.
23263 Reported by: Seth Goldberg.
23264
ef5da797
VS
232652010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23266
23267 grub-emu module load support.
23268
23269 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
23270 NO_DYNAMIC_MODULES switched to this.
23271 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
23272 (CFLAGS): Likewise.
23273 * conf/any-emu.rmk: Generate symlist.
23274 (kernel_img_HEADERS): Add util/datetime.h.
23275 (kernel_img_HEADERS) [sdl]: Add sdl.h.
23276 (kernel_img_HEADERS) [libusb]: Add libusb.h.
23277 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
23278 kern/$(target_cpu)/cache.S.
23279 * configure.ac (grub-emu-modules): New option.
23280 * genmk.rb: Handle multiple source lists.
23281 * include/grub/sdl.h: New file.
23282 * include/grub/libusb.h: Likewise.
23283 * util/grub-emu.c (main): Hanle (host) root.
23284 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
23285 GRUB_ERR_UNKNOWN_DEVICE.
23286 * util/misc.c: Move mm functions to ...
23287 * util/mm.c: ... here. All users updated.
23288
47822096
VS
232892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23290
23291 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
23292 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
23293 missing files.
23294 (maintainer-clean): Remove libgcrypt-grub.
23295
5d7e7445
VS
232962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23297
23298 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
23299
25f4e252
EC
233002010-04-09 EFI Coder <eficoder@hotmail.com>
23301
23302 * normal/menu_text.c (print_message): Clean up the message and show
23303 the Fn information when on EFI
23304 * term/efi/console.c (grub_console_checkkey): Add F4 support.
23305
027de555
VS
233062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23307
23308 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
23309 All users updated.
23310 * normal/crypto.c (read_crypto_list): Likewise.
23311 * normal/dyncmd.c (read_command_list): Likewise.
23312 * normal/term.c (read_terminal_list): Likewise.
23313 * normal/main.c (read_lists): Use explicit prefix.
23314 (read_lists_hook): Use read_lists.
23315 (grub_normal_execute): Likewise.
23316
47779711
VS
233172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23318
23319 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
23320 Reported by: Thomas Schmitt.
23321 Add -no-emul-boot to grub-mkisofs parameters.
23322
1118c32e
VS
233232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23324
23325 * font/font.c: Indented.
23326
7d652447
BC
233272010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
23328
23329 Elif support to GRUB script (by Deepak Vankadaru).
23330
23331 * tests/grub_script_if.in: New testcase.
23332 * conf/tests.rmk: Rule for new testcase.
23333 * script/parser.y: Grammar rules for elif.
23334
34bb22df
BC
233352010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
23336
23337 While and until loops support to GRUB script.
23338
23339 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
23340 (grub_script_create_cmdwhile): New function prototype.
23341 (grub_script_execute_cmdwhile): New function prototype.
23342 * script/execute.c (grub_script_execute_cmdwhile): New function.
23343 * script/parser.y (command): New commands.
23344 (whilecmd): New grammar rule.
23345 (untilcmd): New grammar rule.
23346 * script/script.c (grub_script_create_cmdwhile): New function.
23347 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
23348 function.
23349
23350 * tests/grub_script_while1.in: New testcase.
23351 * conf/tests.rmk: Rule for new testcase.
23352
e215d8e0
VS
233532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23354
23355 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
23356 as *.jpg.
23357
d7c43ba1
MV
233582010-04-09 Mario Vazquez <mariovazq@gmail.com>
23359
23360 GRUB_BACKGROUND support.
23361
23362 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
23363 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
23364
d64795c0
VS
233652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23366
23367 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 23368 Idea by: Mario Vazquez
d64795c0
VS
23369
23370 * util/grub.d/00_header.in: Load pf2 and image modules.
23371
f267f83a
VS
233722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23373
23374 grub-mkconfig multiple terminal support.
23375
23376 * util/grub-mkconfig.in: Handle multiple terminals correctly.
23377 * util/grub.d/00_header.in: Likewise.
23378
b7841ceb
VS
233792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23380
23381 * Makefile.in: Specify files explicitly instead of using $< and $@ since
23382 we use cd $(srcdir).
23383
df60998c
CW
233842010-04-08 Colin Watson <cjwatson@ubuntu.com>
23385
23386 * util/grub.d/10_linux.in: Only use the first word of
23387 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
23388 spaces in GRUB_DISTRIBUTOR.
23389 * util/grub.d/10_kfreebsd.in: Likewise.
23390 * util/grub.d/10_hurd.in: Likewise.
23391
fa09c82e
BC
233922010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
23393
14e18ae3 23394 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
23395
23396 * tests/util/grub-shell.in: Remove -serial stdio option.
23397
daf892b3
BC
233982010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
23399
23400 POSIX header file wrappers.
23401
23402 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
23403 equivalents.
23404 * lib/posix_wrap/ctype.h: Likewise.
23405 * lib/posix_wrap/errno.h: Likewise.
23406 * lib/posix_wrap/langinfo.h: Likewise.
23407 * lib/posix_wrap/limits.h: Likewise.
23408 * lib/posix_wrap/localcharset.h: Likewise.
23409 * lib/posix_wrap/stdint.h: Likewise.
23410 * lib/posix_wrap/stdio.h: Likewise.
23411 * lib/posix_wrap/stdlib.h: Likewise.
23412 * lib/posix_wrap/string.h: Likewise.
23413 * lib/posix_wrap/sys/types.h: Likewise.
23414 * lib/posix_wrap/unistd.h: Likewise.
23415 * lib/posix_wrap/wchar.h: Likewise.
23416 * lib/posix_wrap/wctype.h: Likewise.
23417 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
23418 (grub_script.yy.h): Likewise.
23419 * script/yylex.l: Remove POSIX emulation #defines.
23420 * Makefile.in (POSIX_CFLAGS): New variable.
23421 (GNULIB_UTIL_CFLAGS): Likewise.
23422
23423 Regexp support.
23424
23425 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
23426 (regexp_mod_SOURCES): New variable.
23427 (regexp_mod_CFLAGS): Likewise.
23428 (regexp_mod_LDFLAGS): Likewise.
23429 * commands/regexp.c: New file.
23430 * gnulib/regcomp.c: New file. Imported from gnulib.
23431 * gnulib/regex.c: Likewise.
23432 * gnulib/regex_internal.c: Likewise.
23433 * gnulib/regex_internal.h: Likewise.
23434 * gnulib/regexec.c: Likewise.
23435 * gnulib/regex.h: Likewise.
23436
974ac4f7
VS
234372010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23438
23439 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
23440 unsupported video mode types.
23441
2622c3ff
VS
234422010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23443
23444 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
23445
064cb524
VS
234462010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23447
23448 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
23449 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
23450
a8c3b552
VS
234512010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23452
23453 Remove unused grub_vga_get_font.
23454
23455 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
23456 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
23457
187bbe3d
GS
234582010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23459
23460 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
23461 * include/grub/misc.h: Likewise.
23462
b9396631
GS
234632010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23464
23465 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
23466 for which failure is fatal.
23467
50479feb
GS
234682010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23469
23470 * util/grub-install.in: Use mkdir -p to create grub directory.
23471 * util/i386/efi/grub-install.in: Likewise.
23472 * util/ieee1275/grub-install.in: Likewise.
23473
b1654fdf
GS
234742010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23475
23476 * Makefile.in (LEX): new variable.
23477
bd5a6415
GS
234782010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23479
23480 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
23481 `=' and added double quotes on operands of this equality test.
23482
3db3a82b
VS
234832010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
23484
23485 * Makefile.in (uninstall): Remove a leftover debug echo.
23486 Reported by: Grégoire Sutre
23487
38023412
VS
234882010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
23489
23490 MIPS multiboot2 support.
23491
23492 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
23493 (multiboot2_mod_SOURCES): New variable.
23494 (multiboot2_mod_CFLAGS): Likewise.
23495 (multiboot2_mod_LDFLAGS): Likewise.
23496 (multiboot2_mod_ASFLAGS): Likewise.
23497 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
23498 definition.
23499 (MULTIBOOT_ENTRY_REGISTER): Likewise.
23500 (MULTIBOOT_MBI_REGISTER): Likewise.
23501 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
23502 (MULTIBOOT_ELF32_MACHINE): Likewise.
23503 (MULTIBOOT_ELF64_MACHINE): Likewise.
23504 * include/grub/mips/multiboot.h: New file.
23505 * include/grub/video.h (grub_video_driver_id): New type
23506 GRUB_VIDEO_DRIVER_SM712.
23507 (grub_video_get_info_and_fini): Export.
23508 (grub_video_get_palette): Likewise.
23509 (grub_video_get_driver_id): Likewise.
23510 * include/multiboot2.h: Resynced with spec.
23511 * loader/i386/multiboot.c: Moved from here ...
23512 * loader/multiboot.c: ... here. All users updated.
23513 (grub_multiboot_boot): Use platform-specific macros.
23514 * loader/i386/multiboot_elfxx.c: Moved from here ...
23515 * loader/multiboot_elfxx.c: ... here. All users updated.
23516 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
23517 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
23518 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
23519
47674667
VS
235202010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
23521
23522 Import gnulib argp module.
23523
23524 * gnulib/argp-ba.c: New file.
23525 * gnulib/argp-eexst.c: Likewise.
23526 * gnulib/argp-fmtstream.c: Likewise.
23527 * gnulib/argp-fmtstream.h: Likewise.
23528 * gnulib/argp-fs-xinl.c: Likewise.
23529 * gnulib/argp-help.c: Likewise.
23530 * gnulib/argp-namefrob.h: Likewise.
23531 * gnulib/argp-parse.c: Likewise.
23532 * gnulib/argp-pin.c: Likewise.
23533 * gnulib/argp-pv.c: Likewise.
23534 * gnulib/argp-pvh.c: Likewise.
23535 * gnulib/argp-version-etc.c: Likewise.
23536 * gnulib/argp-version-etc.h: Likewise.
23537 * gnulib/argp-xinl.c: Likewise.
23538 * gnulib/argp.h: Likewise.
23539
495442ed
VS
235402010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
23541
23542 * kern/device.c (grub_device_iterate): Clear errors after failed
23543 opening device.
23544
f9fd65df
VS
235452010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
23546
23547 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
23548 returned by firmware.
23549
af09641e
VS
235502010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
23551
23552 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
23553 compilation on coreboot and qemu
23554
016883a5
VS
235552010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
23556
23557 * include/multiboot2.h: Resync with spec.
23558
f97e1f7d
VS
235592010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
23560
23561 Multiboot2 tag support
23562
23563 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
23564 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
23565 Remove loader/multiboot_loader.c.
23566 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
23567 (grub_multiboot2_real_boot): Likewise.
23568 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
23569 (grub_get_multiboot_mmap_count): New proto.
23570 (grub_fill_multiboot_mmap): Likewise.
23571 (grub_multiboot_set_video_mode): Likewise.
23572 (grub_multiboot_set_console): Likewise.
23573 (grub_multiboot_load): Likewise.
23574 (grub_multiboot_load_elf): Likewise.
23575 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
23576 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
23577 * include/multiboot.h: Resynced with specification.
23578 * include/multiboot2.h: Resynced with specification.
23579 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
23580 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
23581 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
23582 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
23583 users updated.
23584 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
23585 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
23586 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
23587 Removed.
23588 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
23589 Moved from here...
23590 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
23591 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
23592 Moved from here...
23593 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
23594 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
23595 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
23596 All users updated.
23597 * loader/i386/multiboot_mbi2.c: New file.
23598
3506b90b
VS
235992010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
23600
23601 Resync with gnulib.
23602
23603 * Makefile.in (GNULIB_CFLAGS): New variable.
23604 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
23605 (grub_script_check_CFLAGS): New variable.
23606 * gnulib/alloca.h: Resync with gnulib.
23607 * gnulib/error.c: Likewise.
23608 * gnulib/error.h: Likewise.
23609 * gnulib/fnmatch.c: Likewise.
23610 * gnulib/fnmatch_loop.c: Likewise.
23611 * gnulib/getdelim.c: Likewise.
23612 * gnulib/getline.c: Likewise.
23613 * gnulib/getopt.c: Likewise.
23614 * gnulib/getopt1.c: Likewise.
23615 * gnulib/getopt_int.h: Likewise.
23616 * gnulib/gettext.h: Likewise.
23617 * gnulib/progname.c: Likewise.
23618 * gnulib/progname.h: Likewise.
23619
394a3120
GS
236202010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
23621
23622 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
23623 which is the case with --disabled-nls.
23624
23625 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
23626 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
23627 * util/misc.c: Likewise.
23628 * util/mkisofs/mkisofs.c: Likewise.
23629 * util/mkisofs/mkisofs.h: Likewise.
23630
969d1c78
VS
236312010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
23632
23633 Simplify Apple CC support.
23634
23635 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
23636 Add 0 byte at the end not to have a symbol with empty target.
23637 * mmap/i386/pc/mmap_helper.S: Likewise.
23638 * genmk.rb: Ignore errors 2030 and 2050.
23639 * kern/i386/pc/startup.S: Use LOCAL when possible.
23640
8d2977bb
BC
236412010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
23642
23643 Testcase and the fix for final semicolon on cmdline.
23644
23645 * tests/grub_script_final_semicolon.in: New testcase.
23646 * conf/tests.rmk: Rules for the new testcase.
23647 * script/parser.y: Grammar fix.
23648
a7bd6915
BC
236492010-03-26 BVK Chaitanya <bvk@localhost>
23650
23651 Blank lines testcase for GRUB script.
23652
23653 * tests/grub_script_blanklines.in: New testcase.
23654 * conf/tests.rmk: Rules for the new testcase.
23655
e4ff6628
VS
236562010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
23657
23658 Don't use __FILE__.
23659
23660 * genmk.rb: Add -DGRUB_FILE to all C targets.
23661 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
23662 * include/grub/list.h: Likewise.
23663 * include/grub/misc.h: Likewise.
23664 * include/grub/mm.h: Likewise.
23665 * include/grub/test.h: Likewise.
23666 * kern/mm.c: Likewise.
23667 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23668
6a5cf6b6
VS
236692010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
23670
23671 Sunpc partitions support.
23672
23673 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
23674 (grub_fstest_SOURCES): Likewise.
23675 (pkglib_MODULES): Add part_sunpc.mod.
23676 (part_sunpc_mod_SOURCES): New variable.
23677 (part_sunpc_mod_CFLAGS): Likewise.
23678 (part_sunpc_mod_LDFLAGS): Likewise.
23679 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
23680 * partmap/sunpc.c: New file.
23681
746d9045
BC
236822010-03-26 BVK Chaitanya <bvk@localhost>
23683
23684 For loop support to GRUB script.
23685
23686 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
23687 (grub_script_create_cmdfor): New function prototype.
23688 (grub_script_execute_cmdfor): New function prototype.
23689 * script/execute.c (grub_script_execute_cmdfor): New function.
23690 * script/parser.y (command): New for command.
23691 (forcmd): New grammar rule.
23692 * script/script.c (grub_script_create_cmdfor): New function.
23693 * util/grub-script-check.c (grub_script_execute_cmdfor): New
23694 function.
23695 * tests/grub_script_for1.in: New testcase.
23696 * conf/tests.rmk: Rules for new testcase.
23697
18486b18
VS
236982010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
23699
23700 Nested partitions
23701
23702 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
23703 'partition' is NULL, grub_partition_get_start already does that.
23704 * commands/loadenv.c (check_blocklists): Likewise.
23705 (write_blocklists): Likewise.
23706 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
23707 (grub_fstest_SOURCES): Likewise.
23708 (pkglib_MODULES): Add part_bsd.mod.
23709 (part_bsd_mod_SOURCES): New variable.
23710 (part_bsd_mod_CFLAGS): Likewise.
23711 (part_bsd_mod_LDFLAGS): Likewise.
23712 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
23713 (grub_emu_SOURCES): Likewise.
23714 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23715 * include/grub/bsdlabel.h: New file.
23716 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
23717 'get_name'.
23718 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
23719 (grub_partition_map_list): New variable.
23720 (grub_partition_map_register): Inline.
23721 (grub_partition_map_unregister): Likewise.
23722 (FOR_PARTITION_MAPS): New macro.
23723 (grub_partition_map_iterate): Removed.
23724 (grub_partition_get_start): Handle nested partitions.
23725 * include/grub/msdos_partition.h: Remove bsd-related entries.
23726 (grub_pc_partition): Remove.
23727 * kern/disk.c (grub_disk_close): Free partition data.
23728 (grub_disk_adjust_range): Handle nested partitions.
23729 * kern/partition.c (grub_partition_map_probe): New function.
23730 (grub_partition_probe): Parse name to number, handle subpartitions.
23731 (get_partmap): New function.
23732 (grub_partition_iterate): Handle subpartitions.
23733 (grub_partition_get_name): Likewise.
23734 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
23735 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
23736 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
23737 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
23738 Set 'number'.
23739 (acorn_partition_map_probe): Remove.
23740 (acorn_partition_map_get_name): Likewise.
23741 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
23742 Set 'number'.
23743 Set 'index' to 0 since there can be only one partition entry per sector.
23744 (amiga_partition_map_probe): Remove.
23745 (amiga_partition_map_get_name): Likewise.
23746 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
23747 Set 'number'.
23748 Set 'offset' and 'index' to real positions of partitions.
23749 (apple_partition_map_probe): Remove.
23750 (apple_partition_map_get_name): Likewise.
23751 * partmap/bsdlabel.c: New file.
23752 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
23753 Set 'number'.
23754 Allocate 'data' so it can be correctly freed.
23755 Set 'index' to offset inside sector.
23756 (gpt_partition_map_probe): Remove.
23757 (gpt_partition_map_get_name): Likewise.
23758 * partmap/msdos.c (grub_partition_parse): Remove.
23759 (pc_partition_map_iterate): Don't force raw access.
23760 Set 'number'.
23761 Make 'ext_offset' a local variable.
23762 (pc_partition_map_probe): Remove.
23763 (pc_partition_map_get_name): Remove.
23764 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
23765 Set 'number'.
23766 (sun_partition_map_probe): Remove.
23767 (sun_partition_map_get_name): Likewise.
23768 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
23769 (grub_pcpart_type): Likewise.
23770 * util/hostdisk.c (open_device): Handle new numbering scheme.
23771 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
23772 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
23773 * util/grub-probe.c (probe_partmap): Handle nested paritions.
23774 * util/grub-install.in: Insert all subpartition modules.
23775 * util/ieee1275/grub-install.in: Likewise.
23776
a3940f88
AG
237772010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
23778
23779 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
23780 grammar.
23781
21b99926 237822010-03-24 Colin Watson <cjwatson@ubuntu.com>
23783
23784 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
23785
bed1d352
CW
237862010-03-21 Colin Watson <cjwatson@ubuntu.com>
23787
23788 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
23789 match where 'make install' puts them.
23790 * util/i386/efi/grub-install.in: Likewise.
23791
c9f58427
CW
237922010-03-19 Colin Watson <cjwatson@ubuntu.com>
23793
23794 * .bzrignore: Add gentrigtables, grub-script-check,
23795 grub_script_check_init.c, grub_script_check_init.h, and
23796 trigtables.c.
23797
f84afb27
VS
237982010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
23799
23800 * kern/parser.c: Indented.
23801
ed0e3d30
VS
238022010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
23803
23804 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
23805
0ea81d98
VS
238062010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
23807
23808 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
23809 alpha_mask_size == 0 case.
23810
0cdc2a09
BC
238112010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
23812
23813 GRUB shell lexer and parser improvements.
23814
23815 * conf/any-emu.rmk: Build rule updates.
23816 * conf/common.rmk: Likewise.
23817 * conf/i386-coreboot.rmk: Likewise.
23818 * conf/i386-efi.rmk: Likewise.
23819 * conf/i386-ieee1275.rmk: Likewise.
23820 * conf/i386-pc.rmk: Likewise.
23821 * conf/powerpc-ieee1275.rmk: Likewise.
23822 * conf/x86_64-efi.rmk: Likewise.
23823
23824 * configure.ac: Configure check for flex.
23825
23826 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
23827 types.
23828 (grub_lexer_param): Struct member updates.
23829 (grub_parser_param): Likewise.
23830 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
23831 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
23832 (grub_script_lexer_init): Prototype update.
23833 (grub_script_lexer_record_start): Likewise.
23834 (grub_script_lexer_record_stop): Likewise.
23835 (grub_script_lexer_yywrap): New function prototype.
23836 (grub_script_lexer_fini): Likewise.
23837 (grub_script_execute_argument_to_string): Removed by...
23838 (grub_script_execute_argument_to_argv): ...better version.
23839
23840 * script/execute.c (ROUND_UPTO): New macro.
23841 (grub_script_execute_cmdline): Out of memory fixes.
23842 (grub_script_execute_menuentry): Likewise.
23843 (grub_script_execute_argument_to_string): Removed. Update all
23844 users by...
23845 (grub_script_execute_argument_to_argv): ...better version.
23846 * script/function.c (grub_script_function_create): Use
23847 grub_script_execute_argument_to_argv instead of
23848 grub_script_execute_argument_to_string.
23849
23850 * script/lexer.c (check_varstate): Removed.
23851 (check_textstate): Removed.
23852 (grub_script_lexer_record_start): Likewise.
23853 (grub_script_lexer_record_stop): Likewise.
23854 (recordchar): Replaced with...
23855 (grub_script_lexer_record): ...new function.
23856 (nextchar): Removed.
23857 (grub_script_lexer_init): Rewritten.
23858 (grub_script_yylex): Rewritten.
23859 (append_newline): New function.
23860 (grub_script_lexer_yywrap): New function.
23861 (grub_script_lexer_fini): New function.
23862 (grub_script_yyerror): Sets error flag.
23863
23864 * script/yylex.l: New file.
23865 (grub_lexer_yyfree): Wrapper for flex yyffre.
23866 (grub_lexer_yyalloc): Likewise.
23867 (grub_lexer_yyrealloc): Likewise.
23868 * script/parser.y: Refactored.
23869
23870 * script/script.c (grub_script_arg_add): Out of memory fixes.
23871 (grub_script_add_arglist): Likewise.
23872 (grub_script_create_cmdline): Likewise.
23873 (grub_script_create_cmdmenu): Likewise.
23874 (grub_script_add_cmd): Likewise.
23875 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
23876 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
23877 unnecessary code.
23878
23879 * tests/grub_script_echo1.in: New testcase.
23880 * tests/grub_script_vars1.in: New testcase.
23881 * tests/grub_script_echo_keywords.in: New testcase.
23882
1d63a066
VS
238832010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23884
23885 Remove some redundancy in build system.
23886
23887 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
23888 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
23889 (TARGET_LDFLAGS): Add -nostdlib.
23890 (TARGET_IMG_LDFLAGS): Likewise.
23891 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
23892 anything since mmap isn't available.
23893 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
23894 Add util/time.c.
23895 (pkglib_MODULES): Remove reboot.mod.
23896 (reboot_mod_SOURCES): Removed.
23897 (reboot_mod_CFLAGS): Likewise.
23898 (reboot_mod_LDFLAGS): Likewise.
23899 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
23900 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
23901 (DEFSYMFILES): Add kernel_syms.lst.
23902 (kernel_img_HEADERS): Add common headers.
23903 (symlist.c): New target.
23904 (kernel_syms.lst): Likewise.
23905 (pkglib_MODULES): Add memdisk.mod.
23906 (memdisk_mod_SOURCES): New variable.
23907 (memdisk_mod_CFLAGS): Likewise.
23908 (memdisk_mod_LDFLAGS): Likewise.
23909 (pkglib_MODULES): Add reboot.mod.
23910 (reboot_mod_SOURCES): New variable.
23911 (reboot_mod_CFLAGS): Likewise.
23912 (reboot_mod_LDFLAGS): Likewise.
23913 (pkglib_MODULES): Add date.mod.
23914 (date_mod_SOURCES): New variable.
23915 (date_mod_CFLAGS): Likewise.
23916 (date_mod_LDFLAGS): Likewise.
23917 (pkglib_MODULES): Add datehook.mod.
23918 (datehook_mod_SOURCES): New variable.
23919 (datehook_mod_CFLAGS): Likewise.
23920 (datehook_mod_LDFLAGS): Likewise.
23921 (pkglib_MODULES): Add lsmmap.mod.
23922 (lsmmap_mod_SOURCES): New variable.
23923 (lsmmap_mod_CFLAGS): Likewise.
23924 (lsmmap_mod_LDFLAGS): Likewise.
23925 (pkglib_MODULES): Add boot.mod.
23926 (boot_mod_SOURCES): New variable.
23927 (boot_mod_CFLAGS): Likewise.
23928 (boot_mod_LDFLAGS): Likewise.
23929 * conf/i386-coreboot.rmk: Removed redundant parts.
23930 * conf/i386-ieee1275.rmk: Likewise.
23931 * conf/i386-pc.rmk: Likewise.
23932 * conf/mips-yeeloong.rmk: Likewise.
23933 * conf/mips.rmk: Likewise.
23934 * conf/powerpc-ieee1275.rmk: Likewise.
23935 * conf/sparc64-ieee1275.rmk: Likewise.
23936 * conf/x86_64-efi.rmk: Likewise.
23937 * conf/i386-coreboot.rmk: Moved qemu parts ..
23938 * conf/i386-qemu.rmk: ... here
23939 * conf/i386-efi.rmk: Moved common parts to...
23940 * conf/x86-efi.rmk: ... here.
23941 * conf/i386.rmk: Added modules common to all x86 variants.
23942 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
23943 * disk/memdisk.c: Remove grub/machine/kernel.h.
23944 * gensymlist.sh.in: Include symbol.h.
23945 * hook/datehook.c: Correct module name.
23946 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
23947 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
23948 * include/grub/i386/efi/serial.h: New file.
23949 * include/grub/x86_64/efi/serial.h: Likewise.
23950 * util/time.c: Likewise.
23951 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
23952
463ac55f
CK
239532010-03-14 Colin King <colin.king@ubuntu.com>
239542010-03-14 Colin Watson <cjwatson@ubuntu.com>
23955
23956 Shrink the pre-partition-table part of boot.img by eight bytes.
23957
23958 * boot/i386/pc/boot.S (ERR): New macro.
23959 (chs_mode): Use ERR.
23960 (geometry_error): Likewise.
23961 (hd_probe_error): Remove. This is only used once, so we wrwite
23962 it inline instead.
23963 (read_error): Instead of printing read_error_string, just set up
23964 %si and fall through to ...
23965 (error_message): ... this new function, also used by ERR.
23966
08e46ede
CW
239672010-03-14 Colin Watson <cjwatson@ubuntu.com>
23968
23969 Speed up consecutive hostdisk operations on the same device.
23970
23971 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
23972 (grub_util_biosdisk_open): Initialise disk->data.
23973 (struct linux_partition_cache): New structure.
23974 (linux_find_partition): Cache partition start positions; these are
23975 expensive to compute on every read and write.
23976 (open_device): Cache open file descriptor in disk->data, so that we
23977 don't have to reopen it and flush the buffer cache for consecutive
23978 operations on the same device.
23979 (grub_util_biosdisk_close): New function.
23980 (grub_util_biosdisk_dev): Set `close' member.
23981
23982 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
23983 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
23984 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23985 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
23986 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
23987
4a6d2d06
VS
239882010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23989
23990 Compile parts of grub-emu as modules.
23991
23992 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
23993 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
23994 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
23995 (all-local): Add $(GRUB_EMU).
23996 (install-local): Install $(GRUB_EMU).
23997 (uninstall): Uninstall $(GRUB_EMU).
23998 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
23999 * kern/dl.c: Likewise.
24000 * commands/sleep.c: Not include machine/time.h.
24001 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
24002 (COMMON_CFLAGS): Likewise.
24003 (sbin_UTILITIES): Remove grub-emu.
24004 (grub_emu_SOURCES): Removed.
24005 (kernel_img_RELOCATABLE): New variable.
24006 (pkglib_PROGRAMS): Add kernel.img.
24007 (kernel_img_SOURCES): New variable
24008 (kernel_img_CFLAGS): Likewise.
24009 (kernel_img_LDFLAGS): Likewise.
24010 (TARGET_NO_STRIP): Likewise.
24011 (TARGET_NO_DYNAMIC_MODULES): Likewise.
24012 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
24013 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
24014 (grub-emu): New target.
24015 (GRUB_EMU): New variable.
24016 * configure.ac: Whitelist -emu as possible x86_64 architecture.
24017 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
24018 * loader/xnu.c: Likewise.
24019 * include/grub/pci.h: Likewise.
24020 * genemuinit.sh: New file.
24021 * genemuinitheader.sh: Likewise.
24022 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
24023 Support TARGET_NO_DYNAMIC_MODULES.
24024 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
24025 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
24026 * disk/loopback.c: Likewise.
24027 * font/font_cmd.c: Likewise.
24028 * partmap/acorn.c: Likewise.
24029 * partmap/amiga.c: Likewise.
24030 * partmap/apple.c: Likewise.
24031 * partmap/gpt.c: Likewise.
24032 * partmap/msdos.c: Likewise.
24033 * partmap/sun.c: Likewise.
24034 * parttool/msdospart.c: Likewise.
24035 * term/gfxterm.c: Likewise.
24036 * video/bitmap.c: Likewise.
24037 * video/readers/jpeg.c: Likewise.
24038 * video/readers/png.c: Likewise.
24039 * video/readers/tga.c: Likewise.
24040 * video/video.c: Likewise.
24041 * util/grub-emu.c (read_command_list): Removed.
24042 (main): Don't call util_init_nls.
24043 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
24044 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
24045
91fdd2ed
VS
240462010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24047
24048 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
24049 date.mod, datehook.mod.
24050 (datetime_mod_SOURCES): New variable.
24051 (datetime_mod_CFLAGS): Likewise.
24052 (datetime_mod_LDFLAGS): Likewise.
24053 (date_mod_SOURCES): Likewise.
24054 (date_mod_CFLAGS): Likewise.
24055 (date_mod_LDFLAGS): Likewise.
24056 (datehook_mod_SOURCES): Likewise.
24057 (datehook_mod_CFLAGS): Likewise.
24058 (datehook_mod_LDFLAGS): Likewise.
24059 * conf/sparc64-ieee1275.rmk: Likewise.
24060 * lib/ieee1275/datetime.c: New file.
24061
873ccae6
VS
240622010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24063
24064 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
24065 (ieee1275_fb_mod_SOURCES): New variable.
24066 (ieee1275_fb_mod_CFLAGS): Likewise.
24067 (ieee1275_fb_mod_LDFLAGS): Likewise.
24068 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
24069 New proto.
24070 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
24071 (HEAP_MAX_ADDR): Likewise.
24072 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
24073 type.
24074 Correct stop condition.
24075 (grub_ieee1275_devices_iterate): New function.
24076 * video/ieee1275.c: New file.
24077
601c97c0
VS
240782010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24079
24080 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
24081
24082 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
24083 as scratch.
24084 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
24085 SCRATCH_PAD_DISKBOOT as scratch.
24086 (bootit): Pass Openfirmware pointer in %o4.
24087 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
24088 of 0x200000.
24089 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
24090 with util/grub-mkrawimage.c.
24091 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
24092 * include/grub/aout.h (AOUT_MID_SUN): New definition.
24093 (grub_aout_get_type) [GRUB_UTIL]: Removed.
24094 (grub_aout_load) [GRUB_UTIL]: Likewise.
24095 * include/grub/kernel.h (grub_modules_get_end): New proto.
24096 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
24097 (SCRATCH_PAD_BOOT): New definition.
24098 (SCRATCH_PAD_DISKBOOT): Likewise.
24099 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
24100 * include/grub/sparc64/ieee1275/ieee1275.h
24101 (grub_ieee1275_original_stack): New variable
24102 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24103 New definition
24104 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
24105 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
24106 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
24107 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
24108 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
24109 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
24110 (grub_platform_image_format_t): New type.
24111 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
24112 * kern/main.c (grub_modules_get_end)
24113 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
24114 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
24115 (codestart): Switch stacks.
24116 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
24117 variable.
24118 (grub_heap_init): Use grub_modules_get_end.
24119 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
24120 stack.
24121 * util/grub-mkrawimage.c (generate_image): Support sparc64.
24122 (main): Likewise.
24123 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
24124
d68b491e
TG
241252010-03-14 Thorsten Glaser <tg@mirbsd.org>
24126
24127 * util/grub-mkrescue.in: Base ISO UUID on UTC.
24128
4e02ed50
MK
241292010-03-08 Matt Kraai <kraai@ftbfs.org>
24130
24131 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
24132 bug #559005).
24133
1f15fc1e
VS
241342010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
24135
24136 * genmoddep.awk: Output all missing symbols and not only first.
24137
fce5d8ff
VS
241382010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24139
24140 * NEWS: Put the date of 1.98 release.
24141
d1e8a02f
VS
241422010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24143
24144 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
24145 ft2build.h.
24146
696fd607
VS
241472010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24148
24149 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
24150 completition in the middle of string.
24151
33e2e6f3
VS
241522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24153
24154 * util/grub-mkrescue.in: Use mktemp with explicit template.
24155
b1f6d291
VS
241562010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24157
24158 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
24159
2ac227c7
VS
241602010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24161
24162 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
24163 right pointer.
24164
8f9a632b
VS
241652010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24166
24167 Fix FreeBSD compilation.
24168
24169 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
24170 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
24171
60b03859
VS
241722010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24173
24174 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
24175
48a5a769
VS
241762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24177
24178 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
24179
3ab4bd77
VS
241802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24181
24182 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
24183
d116e0d8
RM
241842010-03-04 Robert Millan <rmh.grub@aybabtu.com>
24185
24186 Support relative image path in theme file.
24187
24188 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
24189 (image_set_property): Handle theme_dir and relative path.
24190
c7ef54aa
VS
241912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24192
24193 * configure.ac: Alias amd64 to x86_64.
24194
fcee14ed
VS
241952010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24196
24197 * NEWS: mention multiboot on EFI.
24198
d0780363
VS
241992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24200
24201 * kern/main.c (grub_load_modules): Handle errors from init functions of
24202 embeded modules.
24203
41168ea4
VS
242042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24205
24206 * normal/autofs.c (autoload_fs_module): Handle errors.
24207
b54d93ac
VS
242082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24209
24210 Disable linux.mod on qemu-mips since it's not functional and leads
24211 to compilation failure.
24212
24213 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
24214 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
24215 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
24216 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
24217 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
24218 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
24219 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
24220 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
24221 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
24222 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
24223 Reported by: BVK Chaitanya
24224
fc8345da
JU
242252010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
24226
24227 * INSTALL: Add gettext as a dependency and add qemu to a new section
24228 "Prerequisites for make-check".
24229
4760f979
CF
242302010-03-04 Christian Franke <franke@computer.org>
24231
24232 * util/grub-pe2elf.c: Add missing include "progname.h".
24233
f209b5b2
VS
242342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24235
24236 * normal/crypto.c (read_crypto_list): Fix a typo.
24237 Reported by: Seth Goldberg.
24238
b4b7be98
VS
242392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24240
24241 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 24242 Reported by: Seth Goldberg.
b4b7be98 24243
c0ee0385
VS
242442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24245
24246 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
24247 ascii.bitmaps.
24248
a8efbf64
VS
242492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24250
24251 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 24252 Reported by: Seth Goldberg.
a8efbf64 24253
08dcd913
VS
242542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24255
24256 * util/i386/efi/grub-install.in: Copy gettext files.
24257
c4d0b332
VS
242582010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24259
24260 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
24261
c6f2fe52
VS
242622010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24263
24264 Wait for user entry basing on presence of output rather than on errors.
24265
24266 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
24267 (grub_install_newline_hook): Likewise.
24268 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
24269 * normal/menu.c (show_menu): Check line_counter to determine presence
24270 of output.
24271 * normal/term.c (grub_normal_line_counter): New variable.
24272 (grub_normal_get_line_counter): New function.
24273 (grub_install_newline_hook): Likewise.
24274
5382b1e4
VS
242752010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24276
24277 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
24278
5519963b
VS
242792010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24280
24281 * configure.ac: Update version to 1.98.
24282
72b28631
VS
242832010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
24284
24285 * util/grub.d/10_linux.in (linux_entry): Don't default to
24286 gfxpayload=keep if Linux doesn't support video handover.
24287
c140a180
VS
242882010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
24289
24290 Don't compile video modules on yeeloong since video subsystem is part
24291 of kernel.
24292
24293 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
24294 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
24295 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
24296 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
24297 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
24298 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
24299 * include/grub/bitmap_scale.h: Likewise.
24300 * include/grub/bufio.h: Likewise.
24301 * include/grub/font.h: Likewise.
24302 * include/grub/gfxterm.h: Likewise.
24303 * include/grub/video.h: Likewise.
24304 * include/grub/vbe.h: Don't include video_fb.h.
24305 * video/i386/pc/vbe.c: Include video_fb.h.
24306 * commands/i386/pc/vbetest.c: Include video.h.
24307
a0ca21c2
CW
243082010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
24309
24310 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
24311 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
24312 default entry if GRUB_SAVEDEFAULT=true. This allows using
24313 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
24314 saving a new default on every boot.
24315
4a8a763c
VS
243162010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
24317
24318 * normal/crypto.c (read_crypto_list): Fix a memory leak.
24319 * normal/term.c (read_terminal_list): Likewise.
24320 * normal/main.c (grub_normal_init_page): Likewise.
24321 (grub_normal_read_line_real): Likewise.
24322
607ffde2
VS
243232010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
24324
24325 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
24326 memory leak.
24327 Reported by: Seth Goldberg.
24328
2b8fa975
CW
243292010-02-24 Joey Korkames <joey+lists@kidfixit.com>
24330
24331 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
24332 duplicate declaration of `start'.
24333
618307dd
VS
243342010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
24335
24336 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
24337 filename.
24338 Reported by: Georgy Buranov
24339
7dd05b96 243402010-02-20 Carles Pina i Estany <carles@pina.cat>
24341
24342 * util/grub-mkrawimage.c (usage): Change string formatting to
24343 improve gettext.
24344
d1484a42
MRA
243452010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
24346
24347 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
24348 backspace keys.
24349
42b1d186
VS
243502010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
24351
24352 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
24353 Reported by: Michael Suchanek.
24354
243552010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
24356
24357 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
24358 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
24359
d9f31a41
VS
243602010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
24361
24362 Remove any reference to non-free fonts.
24363
24364 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
24365 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
24366 uses non-free components.
24367 * font/font.c (grub_font_get_name): Remove example name.
24368 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
24369 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
24370 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
24371 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
24372
2793c71e
GB
243732010-02-16 Georgy Buranov <gburanov@gmail.com>
24374
24375 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
24376
402e3779
VS
243772010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
24378
24379 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
24380 Double divisor.
24381 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
24382 features.
24383 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
24384
0dd1e0dd
VS
243852010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
24386
24387 * gensymlist.sh.in: Use TARGET_CC instead of CC.
24388
6fa7cfce
ST
243892010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24390
24391 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
24392 * docs/grub.texi (Command-line and menu entry commands): Document play
24393 command.
24394
37c8483b
ST
243952010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24396
24397 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
24398 parse arguments as inline tempo and notes. Move code for playing notes
24399 to...
24400 (play): ... new function.
24401
14da0fb7
ST
244022010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24403
24404 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
24405 grub_uint16_t instead of short.
24406 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
24407 disk from little endian to cpu endianness.
24408
04459e70
ST
244092010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
24410
24411 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
24412 GRUB_TICKS_PER_SECOND instead of 120.
24413
a0876943
VS
244142010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24415
24416 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
24417 escape sequence after \e.
24418
e29f95dc
VS
244192010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24420
24421 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
24422 non-ASCII characters.
24423
d27859b2
VS
244242010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24425
24426 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
24427 set root in single quotes to prevent \, from being unescaped.
24428
bc028f2f
VS
244292010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24430
24431 Prevent unknown commands from stopping menuentry execution.
24432
24433 * script/execute.c (grub_script_execute_cmdline): Print error after
24434 unknown command.
24435
095f5f82
VS
244362010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24437
24438 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
24439 Reported by: Pavel Pisa.
24440
8c717950
VS
244412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24442
24443 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
24444
904935c3
VS
244452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24446
24447 Merge grub_ieee1275_map_physical into grub_map and rename to
24448 grub_ieee1275_map
24449
24450 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
24451 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
24452 Remove.
24453 * kern/ieee1275/openfw.c (grub_map): Rename to ...
24454 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
24455 necessary.
24456 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
24457
5b59a4e3
VS
244582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24459
24460 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
24461 opening and not after.
24462
69e137e8
VS
244632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24464
24465 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
24466 constants.
24467
2c0fcc36
VS
244682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24469
24470 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
24471 (alloc_phys): Use ALIGN_UP instead of align_addr.
24472
8c6052ce
VS
244732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24474
24475 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
24476
17cec782
VS
244772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24478
24479 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
24480
e0128bbd
VS
244812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24482
24483 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
24484 verbose dprintf.
24485
ca62070b
VS
244862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24487
24488 Fix over-4GiB seek on sparc64.
24489
24490 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
24491 Replace pos_i and pos_lo with pos. All users updated.
24492 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
24493 New constant.
24494 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
24495 Likewise.
24496 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
24497 and pos_lo.
24498
bdca2607
VS
244992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24500
24501 * util/grub-mkrawimage.c (main): Call set_program_name.
24502
da278c4d
VS
245032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24504
24505 Properly align 64-bit targets.
24506
24507 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
24508 (generate_image): Use ALIGN_ADDR.
24509
b274d734
VS
245102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24511
24512 Properly create cross-endian images.
24513
24514 * include/grub/types.h (grub_host_to_target_addr): New macro
24515 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
24516
82da2062
VS
245172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24518
24519 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
24520
7cae4377
VS
245212010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24522
24523 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
24524
24525 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
24526 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
24527 (grub_linux_boot): Divide by 64K when on VESA.
24528
65a533e7
VS
245292010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24530
24531 Support GRUB_GFXPAYLOAD_LINUX.
24532
24533 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
24534 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
24535
dd01d397
VS
245362010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24537
24538 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
24539 to show messages instead of discarding them.
24540 Process errors after executing command and not before. Keep old method
24541 too as precaution.
24542
660960d6
VS
245432010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
24544
24545 * configure.ac: Check for ft2build.h.
24546
62509f04
VS
245472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24548
24549 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
24550
473df63d
VS
245512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24552
24553 * genkernsyms.sh.in: Use TARGET_CC.
24554
c98d2a13
CW
245552010-02-07 Colin Watson <cjwatson@ubuntu.com>
24556
24557 * NEWS: Update.
24558
6e14234c
VS
245592010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24560
24561 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
24562 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
24563 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 24564
b255e9cf
YB
245652010-02-07 Yves Blusseau <blusseau@zetam.org>
24566
6e14234c 24567 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 24568
98e6959d
VS
245692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24570
24571 Fix warnings in grub-emu when compiling with maximum warning options.
24572
24573 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
24574 (grub_arch_modules_addr): Return 0 and not NULL.
24575 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 24576 (xstrdup): Use newstr instead of dup.
f88d801b
VS
24577 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
24578 of disk to dsk to avoid shadowing.
74e4934e
VS
24579 (find_free_slot): Fix prototype.
24580 * util/getroot.c (grub_util_is_dmraid): Make static.
24581 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
24582 Add missing prototype.
24583 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 24584
74e31b5c
VS
245852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24586
24587 * loader/i386/linux.c (grub_linux_setup_video): Handle error
24588 appropriately.
24589
6b2ad14b
VS
245902010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24591
24592 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
24593 code out.
24594
8f891adc
VS
245952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24596
24597 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
24598 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
24599 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
24600 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
24601 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
24602 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
24603
74b45184
VS
246042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24605
24606 * include/grub/err.h (grub_err_printf): Don't export.
24607
a4bced77
VS
246082010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24609
24610 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
24611
007d0695
VS
246122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24613
24614 * include/grub/i18n.h (grub_gettext_dummy): Removed.
24615 * kern/misc.c (grub_gettext_dummy): Make static.
24616
b6c0d9c2
VS
246172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24618
24619 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
24620 by non-valid ones.
24621 * kern/term.c (grub_putchar): Likewise.
24622
f51a90d0
VS
246232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24624
24625 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
24626 buggy hook call and memory leak.
24627
6846cec5
VS
246282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24629
24630 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
24631
468d69fe
VS
246322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24633
24634 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
24635
51906b8c
VS
246362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24637
24638 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
24639 modevar.
24640 Return grub_errno on allocation error.
24641
09706ce5
VS
246422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24643
24644 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
24645
911df80c
YB
246462010-02-06 Yves Blusseau <blusseau@zetam.org>
24647
24648 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
24649 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
24650
3746a6bc
VS
246512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24652
24653 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
24654 non-pxe disk.
24655 (grub_pxefs_open): Likewise.
24656
09706ce5
VS
246572010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24658
24659 * util/grub.d/10_hurd.in: Add --class information to menuentries.
24660 * util/grub.d/10_kfreebsd.in: Likewise.
24661 * util/grub.d/10_linux.in: Likewise.
24662
7cc192d9
VS
246632010-02-06 Colin D Bennett <colin@gibibit.com>
24664
24665 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
24666 (gfxmenu_mod_SOURCES): New variable.
24667 (gfxmenu_mod_CFLAGS): Likewise.
24668 (gfxmenu_mod_LDFLAGS): Likewise.
24669 * include/grub/term.h (grub_term_set_current_output): Declare
24670 argument as const.
24671 * docs/gfxmenu-theme-example.txt: New file.
24672 * gfxmenu/gfxmenu.c: Likewise.
24673 * gfxmenu/gui_box.c: Likewise.
24674 * gfxmenu/gui_canvas.c: Likewise.
24675 * gfxmenu/gui_circular_progress.c: Likewise.
24676 * gfxmenu/gui_image.c: Likewise.
24677 * gfxmenu/gui_label.c: Likewise.
24678 * gfxmenu/gui_list.c: Likewise.
24679 * gfxmenu/gui_progress_bar.c: Likewise.
24680 * gfxmenu/gui_string_util.c: Likewise.
24681 * gfxmenu/gui_util.c: Likewise.
24682 * gfxmenu/icon_manager.c: Likewise.
24683 * gfxmenu/model.c: Likewise.
24684 * gfxmenu/named_colors.c: Likewise.
24685 * gfxmenu/theme_loader.c: Likewise.
24686 * gfxmenu/view.c: Likewise.
24687 * gfxmenu/widget-box.c: Likewise.
24688 * include/grub/gfxmenu_model.h: Likewise.
24689 * include/grub/gfxmenu_view.h: Likewise.
24690 * include/grub/gfxwidgets.h: Likewise.
24691 * include/grub/gui.h: Likewise.
24692 * include/grub/gui_string_util.h: Likewise.
24693 * include/grub/icon_manager.h: Likewise.
24694
246952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24696
24697 Agglomerate scrolling in gfxterm.
24698
24699 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
24700 (grub_virtual_screen_setup): Initialise 'total_screen'.
24701 (write_char): Split to ...
24702 (paint_char): ... this ...
24703 (write_char): ... and this.
24704 (paint_char): Handle delayed scrolling.
24705 (draw_cursor): Likewise.
24706 (scroll_up): Split to ...
24707 (real_scroll): ... this ...
24708 (scroll_up): ... and this.
24709 (real_scroll): Handle multi-line scroll and draw below-the-bottom
24710 characters.
24711 (grub_gfxterm_refresh): Call real_scroll.
24712
247132010-02-06 Colin D Bennett <colin@gibibit.com>
24714
24715 * include/grub/misc.h (grub_iscntrl): New inline function.
24716 (grub_isalnum): Likewise.
24717 (grub_strtol): Likewise.
24718
247192010-02-06 Colin D Bennett <colin@gibibit.com>
24720
24721 * normal/menu_text.c (get_entry_number): Move from here ...
24722 * normal/menu.c (get_entry_number): ... moved here.
24723 * include/grub/menu.h (grub_menu_get_default_entry_index):
24724 New prototype.
24725 * normal/menu.c (grub_menu_get_default_entry_index): New function.
24726 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
24727 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
24728 (grub_menu_viewer_should_return): Likewise.
24729 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
24730 * normal/menu_text.c (run_menu): Enable menu switching.
24731 * normal/menu_viewer.c (should_return): New variable.
24732 (menu_viewer_changed): Likewise.
24733 (grub_menu_viewer_show_menu): Handle menu viewer changes.
24734 (grub_menu_viewer_should_return): New function.
24735 (menuviewer_write_hook): Likewise.
24736 (grub_menu_viewer_init): Likewise.
24737
247382010-02-06 Colin D Bennet <colin@gibibit.com>
247392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24740
24741 Support for gfxterm in a window.
24742
24743 * include/grub/gfxterm.h: New file.
24744 * include/grub/video.h (struct grub_video_rect): New declaration.
24745 (grub_video_rect_t): Likewise.
24746 * term/gfxterm.c (struct grub_gfxterm_window): New type.
24747 (refcount): New variable.
24748 (render_target): Likewise.
24749 (window): Likewise.
24750 (repaint_callback): Likewise.
24751 (grub_virtual_screen_setup): Use 'render_target'.
24752 (init_window): New function.
24753 (grub_gfxterm_init_window): Likewise.
24754 (grub_gfxterm_init): Check reference counter.
24755 Use init_window.
24756 (destroy_window): New function.
24757 (grub_gfxterm_destroy_window): Likewise.
24758 (grub_gfxterm_fini): Check reference counter.
24759 Use destroy_window.
24760 (redraw_screen_rect): Restore viewport.
24761 Use 'render_target' and 'window'.
24762 Call 'repaint_callback'.
24763 (write_char): Use 'render_target'.
24764 (draw_cursor): Likewise.
24765 (scroll_up): Restore viewport.
24766 Use 'render_target' and 'window'.
24767 Call 'repaint_callback'.
24768 (grub_gfxterm_cls): Likewise.
24769 (grub_gfxterm_refresh): Use 'window'.
24770 (grub_gfxterm_set_repaint_callback): New function.
24771 (grub_gfxterm_background_image_cmd): Use 'window'.
24772 (grub_gfxterm_get_term): New function.
24773 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
24774
247752010-02-06 Colin D Bennett <colin@gibibit.com>
24776
24777 Bitmap scaling support.
24778
24779 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
24780 (bitmap_scale_mod_SOURCES): New variable.
24781 (bitmap_scale_mod_CFLAGS): Likewise.
24782 (bitmap_scale_mod_LDFLAGS): Likewise.
24783 * include/grub/bitmap_scale.h: New file.
24784 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
24785 (background_image_cmd_options): New variable.
24786 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
24787 (cmd): Rename and change type to ...
24788 (background_image_cmd_handle): ... this. All users updated.
24789 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
24790 * video/bitmap_scale.c: New file.
24791
247922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24793
24794 SDL support.
24795
24796 * Makefile.in (LIBSDL): New variable.
24797 (enable_grub_emu_sdl): Likewise.
24798 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
24799 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
24800 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
24801 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
24802 * util/sdl.c: New file.
24803
248042010-02-06 Colin D Bennett <colin@gibibit.com>
248052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24806
24807 Double buffering support.
24808
24809 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
24810 * include/grub/video.h: Update comment.
24811 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
24812 New type.
24813 (grub_video_fb_doublebuf_blit_init): New prototype.
24814 * term/gfxterm.c (scroll_up): Support double buffering.
24815 (grub_gfxterm_refresh): Likewise.
24816 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
24817 (grub_video_fb_doublebuf_blit_init): Likewise.
24818 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
24819 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
24820 'displayed_page', 'render_page' and 'update_screen'.
24821 (grub_video_vbe_fini): Free offscreen buffer.
24822 (doublebuf_pageflipping_commit): New function.
24823 (doublebuf_pageflipping_update_screen): Likewise.
24824 (doublebuf_pageflipping_init): Likewise.
24825 (double_buffering_init): Likewise.
24826 (grub_video_vbe_setup): Enable doublebuffering.
24827 (grub_video_vbe_swap_buffers): Implement.
24828 (grub_video_vbe_set_active_render_target): Handle double buffering.
24829 (grub_video_vbe_get_active_render_target): Likewise.
24830 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
24831 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
24832 (grub_video_vbe_enable_double_buffering): Likewise.
24833 (grub_video_vbe_swap_buffers): Use update_screen.
24834 (grub_video_set_mode): Use double buffering.
24835
248362010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24837
24838 * maintainance/gentrigtables.py: Remove.
24839 * lib/trig.c: Likewise.
24840
24841 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
24842
24843 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
24844 `trigtables.c'.
24845 (trigtables.c): New rule.
24846 (gentrigtables): Likewise.
24847 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
24848
248492010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24850
24851 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
24852 integer constants.
24853
248542010-02-06 Colin D Bennet <colin@gibibit.com>
24855
24856 Trigonometry support.
24857
24858 * include/grub/trig.h: New file.
24859 * lib/trig.c: Likewise.
24860 * maintainance/gentrigtables.py: Likewise.
24861 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
24862 (trig_mod_SOURCES): New variable.
24863 (trig_mod_CFLAGS): Likewise.
24864 (trig_mod_LDFLAGS): Likewise.
24865
5562834e
VS
248662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24867
24868 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
24869 disk devices.
24870
4f8528fc
VS
248712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24872
24873 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
24874 error.
24875
2b4068e9
VS
248762010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
24877
24878 * util/hostdisk.c (open_device): Don't use partition device when reading
24879 before the partition.
24880 (grub_util_biosdisk_read): Don't read from partition and before the
24881 partition in single operation.
24882 (grub_util_biosdisk_write): Don't write to partition and before the
24883 partition in single operation.
24884
399f6e4d
TL
248852010-02-03 Torsten Landschoff <torsten@debian.org>
24886
24887 * kern/disk.c (grub_disk_read): Fix offset computation when reading
24888 last sectors.
24889
996649b0
VS
248902010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
24891
24892 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
24893 CDROM reads.
24894 (grub_biosdisk_write): Refuse to write to CDROM.
24895
3b205d4d
VS
248962010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
24897
24898 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
24899
61e89d9d
VS
249002010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
24901
24902 * font/font.c (find_glyph): Check that bmp_idx is available before
24903 using it.
24904 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
24905 with (font == NULL).
24906
bf7fcba2
CS
249072010-01-28 Christian Schmitt <chris@ilovelinux.de>
24908
24909 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
24910
f45d2663
BC
249112010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
24912
24913 * include/grub/script_sh.h (sourcecode): Add const qualifier.
24914 * util/grub-script-check.c (getline): Fix empty lines case.
24915
ec1444e6
RM
249162010-01-28 Robert Millan <rmh.grub@aybabtu.com>
24917
24918 * Makefile.in (check): Exit with fail status when one of the tests
24919 fails.
24920 * tests/example_functional_test.c (example_test): Fix reversed assert.
24921 * tests/example_unit_test.c (example_test): Likewise.
24922
2e1cb9bb
CW
249232010-01-28 Colin Watson <cjwatson@ubuntu.com>
24924
24925 * util/grub.d/10_linux.in: This script does not use any of the
24926 contents of gettext.sh, only the external command `gettext', so stop
24927 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
24928 the same prefix as GRUB.)
24929 * util/grub.d/10_kfreebsd.in: Likewise.
24930
63533ab0
VS
249312010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24932
24933 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
24934 of the line.
24935
989e1f93
VS
249362010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24937
24938 * kern/disk.c (grub_disk_read): Fix offset computation when reading
24939 last sectors.
24940
e709ebe2
VS
249412010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24942
24943 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
24944 having a 4KiB and not 32KiB buffer size.
24945
27dea7ed
RM
249462010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24947
24948 * util/hostfs.c: Include `<errno.h>'.
24949 (grub_hostfs_read): Handle errors from fseeko() and fread().
24950
67667b9c
RM
249512010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24952
24953 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
24954 loop when using read hooks on files whose size isn't sector-aligned.
24955
c294d9d8
RM
249562010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24957
24958 Remove unused parameter.
24959
24960 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
24961 (grub_iso9660_open): Remove initialization of `data->length'.
24962
af75a9f1
RM
249632010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24964
24965 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
24966 memleak conditions.
24967
254e2ce5 249682010-01-27 Carles Pina i Estany <carles@pina.cat>
24969
24970 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
24971 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
24972
b510928c 249732010-01-26 Carles Pina i Estany <carles@pina.cat>
24974
24975 * util/bin2h.c (usage): Fix warning (space after backslash).
24976
aa2f9dd2 249772010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 24978
24979 * font/font.c: Include `grub/fontformat.h.
24980 Remove font file format constants.
24981 (grub_font_load): Use the new macros.
24982 * include/grub/fontformat.h: New file.
24983 * util/grub-mkfont.c: Include `grub/fontformat.c'.
24984 (write_font_pf2): Use the new macros.
24985
94e7e712
RM
249862010-01-26 Robert Millan <rmh.grub@aybabtu.com>
24987
24988 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
24989 does.
24990
3973a59a
RM
249912010-01-26 Robert Millan <rmh.grub@aybabtu.com>
24992
24993 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
24994
24995 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
24996 (_start): Macroify `0x7F'.
24997
24998 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
24999 (make_install_device): Use "(pxe)" as fallback prefix when booting
25000 via PXE.
25001
42e0cba3
GS
250022010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
25003
25004 * configure.ac: Reset LIBS after check for libgcc symbols.
25005
847effd8
CW
250062010-01-25 Colin Watson <cjwatson@ubuntu.com>
25007
25008 * util/hostdisk.c (open_device): Add trailing newline to debug
25009 message.
25010
ea4a7e35
GS
250112010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
25012
25013 * configure.ac: Check for `limits.h'.
25014 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
25015
67951a53
RM
250162010-01-24 Robert Millan <rmh.grub@aybabtu.com>
25017
25018 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
25019 capitalize error strings.
25020
c273d4ce
ST
250212010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
25022
25023 * util/grub.d/10_hurd.in: Add a recovery mode.
25024
69be5b74
VS
250252010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
25026
25027 * configure.ac: Check for libgcc symbols with -nostdlib.
25028
fc9e5810
BC
250292010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
25030
25031 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
25032
4b358c0a
VS
250332010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25034
25035 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
25036 stack since heap may be unavailable at that point.
25037 (grub_ofconsole_gotoxy): Likewise.
25038
454fcd1c
VS
250392010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25040
25041 * configure.ac: Check for _restgpr_14_x.
25042 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
25043 and _savegpr_* prototypes.
25044
566863ca
RM
250452010-01-22 Robert Millan <rmh.grub@aybabtu.com>
25046
25047 Use generic grub_reboot() for i386-efi.
25048
25049 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
25050 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
25051 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
25052
bf86e59a
VS
250532010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25054
25055 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
25056 presence of "prefix" variable as it breaks when normal.mod is
25057 embedded.
25058
d645e0f8
VS
250592010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25060
25061 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
25062 stack since heap is unavailable at that point.
25063
f9ab2e25
VS
250642010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25065
25066 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
25067 (grub_freebsd_bootinfo): Rewritten.
25068 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
25069
01fc7054
VS
250702010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25071
25072 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
25073
caab4fd6
RM
250742010-01-21 Robert Millan <rmh.grub@aybabtu.com>
25075
25076 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
25077 domain now.
25078
67eb1427
FZ
250792010-01-20 Felix Zielcke <fzielcke@z-51.de>
25080
25081 * util/misc.c (make_system_path_relative_to_its_root): Change the work
25082 around for handling "/" to the correct fix. Fix a memory leak. Use
25083 xstrdup instead of strdup.
25084
a9ed4ff3
VS
250852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25086
25087 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
25088
250892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
25090
25091 Optimise glyph lookup by Basic Multilingual Plane lookup array.
25092
25093 * font/font.c (struct grub_font): New member 'bmp_idx'.
25094 (font_init): Initialise 'bmp_idx'.
25095 (load_font_index): Fill 'bmp_idx'.
25096 (find_glyph): Make inline. Use bmp_idx for BMP characters.
25097
48209f4f
VS
250982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25099
25100 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
25101 unnecessary calls.
25102
9f0a4bb7
VS
251032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25104
25105 Move context handling out of the kernel.
25106
25107 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
25108 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
25109 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
25110 * conf/i386-efi.rmk: Likewise.
25111 * conf/i386-ieee1275.rmk: Likewise.
25112 * conf/i386-pc.rmk: Likewise.
25113 * conf/powerpc-ieee1275.rmk: Likewise.
25114 * conf/sparc64-ieee1275.rmk: Likewise.
25115 * conf/x86_64-efi.rmk: Likewise.
25116 * include/grub/env.h: Include grub/menu.h.
25117 (grub_env_var_type): Removed.
25118 (grub_env_var): Replaced field 'type' with 'global'.
25119 (grub_env_find): New prototype.
25120 (grub_env_context_open): Remove EXPORT_FUNC.
25121 (grub_env_context_close): Likewise.
25122 (grub_env_export): Likewise.
25123 (grub_env_set_data_slot): Removed.
25124 (grub_env_get_data_slot): Likewise.
25125 (grub_env_unset_data_slot): Likewise.
25126 (grub_env_unset_menu): New prototype.
25127 (grub_env_set_menu): Likewise.
25128 (grub_env_get_menu): Likewise.
25129 * include/grub/env_private.h: New file.
25130 * include/grub/normal.h (grub_context_init): New prototype.
25131 (grub_context_fini): Likewise.
25132 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
25133 * normal/context.c (grub_cmd_export): ... to here.
25134 * kern/env.c: Include env_private.h.
25135 (HASHSZ): Moved to include/grub/env_private.h.
25136 (grub_env_context): Likewise.
25137 (grub_env_sorted_var): Likewise.
25138 (current_context): Renamed from this ...
25139 (grub_current_context): ...to this. 'static' removed. All users updated.
25140 (grub_env_find): Removed 'static'.
25141 (grub_env_context_open): Moved to normal/context.c.
25142 (grub_env_context_close): Likewise.
25143 (grub_env_export): Likewise.
25144 (mangle_data_slot_name): Removed.
25145 (grub_env_set_data_slot): Likewise.
25146 (grub_env_get_data_slot): Likewise.
25147 (grub_env_unset_data_slot): Likewise.
25148 * kern/main.c (grub_set_root_dev): Don't export root.
25149 It will be done later.
25150 (grub_main): Don't export prefix.
25151 It will be done later.
25152 * normal/context.c: New file.
25153 * normal/main.c (free_menu): Use grub_env_unset_menu.
25154 (grub_normal_add_menu_entry): Use grub_env_get_menu.
25155 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
25156 (GRUB_MOD_INIT(normal)): Call grub_context_init.
25157 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
25158
8dd35b8c
VS
251592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25160
25161 setpci support.
25162
25163 * commands/setpci.c: New file.
25164 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
25165 (setpci_mod_SOURCES): New variable.
25166 (setpci_mod_CFLAGS): Likewise.
25167 (setpci_mod_LDFLAGS): Likewise.
25168
449193d5
VS
251692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25170
25171 Byte-addressable PCI configuration space.
25172
25173 * bus/pci.c (grub_pci_make_address): Use byte address instead of
25174 dword address.
25175 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
25176 GRUB_PCI_REG_CACHELINE.
25177 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
25178 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
25179 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
25180 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
25181 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
25182 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
25183 grub_pci_make_address.
25184 (lock_rom_area): Likewise.
25185 * commands/lspci.c (grub_lspci_iter): Use macroses
25186 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
25187 of grub_pci_make_address.
25188 * disk/ata.c (grub_ata_pciinit): Likewise.
25189 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
25190 (GRUB_PCI_REG_VENDOR): Likewise.
25191 (GRUB_PCI_REG_DEVICE): Likewise.
25192 (GRUB_PCI_REG_COMMAND): Likewise.
25193 (GRUB_PCI_REG_STATUS): Likewise.
25194 (GRUB_PCI_REG_REVISION): Likewise.
25195 (GRUB_PCI_REG_CLASS): Likewise.
25196 (GRUB_PCI_REG_CACHELINE): Likewise.
25197 (GRUB_PCI_REG_LAT_TIMER): Likewise.
25198 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
25199 (GRUB_PCI_REG_BIST): Likewise.
25200 (GRUB_PCI_REG_ADDRESSES): Likewise.
25201 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25202 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25203 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25204 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25205 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25206 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25207 (GRUB_PCI_REG_CIS_POINTER): Likewise.
25208 (GRUB_PCI_REG_SUBVENDOR): Likewise.
25209 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
25210 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
25211 (GRUB_PCI_REG_CAP_POINTER): Likewise.
25212 (GRUB_PCI_REG_IRQ_LINE): Likewise.
25213 (GRUB_PCI_REG_IRQ_PIN): Likewise.
25214 (GRUB_PCI_REG_MIN_GNT): Likewise.
25215 (GRUB_PCI_REG_MAX_LAT): Likewise.
25216 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
25217 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
25218 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 25219 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
25220 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
25221 space.
25222
96d73208
RM
252232010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25224
25225 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
25226 can be reliably determined to be supported.
25227
d4484482
RM
252282010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25229
25230 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
25231 that VESA is supported.
25232 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
25233 supported.
25234
00308ecf
VS
252352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25236
25237 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
25238
f66924a4
RM
252392010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25240
25241 * util/misc.c (make_system_path_relative_to_its_root): Work around
25242 special-casing of "/", as previous incarnation of this routine did.
25243
cbca0ada
VS
252442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25245
25246 Fix any-emu compilation.
25247
25248 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
25249 * grub_bin2h_SOURCES: New variable.
25250
34a66d99
RM
252512010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25252
25253 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
25254
94fabf58
RM
252552010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25256
25257 * util/grub.d/00_header.in: Fix handling of locale_dir.
25258
02cf98ca
VS
252592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25260
25261 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
25262 as possible unifont location (Gentoo).
25263 Reported by: Alexander Brüning
25264
327dbcd7
VS
252652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25266
25267 Don't try to generate lists for kernel.img.
25268
25269 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
25270 (pkglib_MODULES): Remove kernel.img.
25271 (kernel_img_EXPORTS): Removed.
25272 (kernel_img_RELOCATABLE): New variable.
25273 * conf/x86_64-efi.rmk: Likewise.
25274 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
25275
ca467290
VS
252762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25277
25278 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
25279 grub_xasprintf or grub_snprintf.
25280 (grub_vsprintf): Likewise.
25281 (grub_snprintf): New proto.
25282 (grub_vsnprintf): Likewise.
25283 (grub_xasprintf): Likewise.
25284 (grub_xvasprintf): Likewise.
25285 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
25286 (grub_sprintf): Removed.
25287 (grub_vsnprintf): New function.
25288 (grub_snprintf): Likewise.
25289 (grub_xvasprintf): Likewise.
25290 (grub_xasprintf): Likewise.
25291 (grub_vsprintf): Renamed to ...
25292 (grub_vsnprintf_real): ...this. New argument max_len.
25293
aca655fd
BC
252942010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
25295
25296 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
25297 fix grub-script-check warning.
25298
7ee92c32
VS
252992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25300
25301 * include/grub/font.h (grub_font_load): Fix prototype.
25302
f80927ca
VS
253032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25304
25305 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
25306
119c50ea
VS
253072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25308
25309 * include/grub/x86_64/at_keyboard.h: New file.
25310
47d5f3c1
VS
253112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25312
25313 * loader/mips/linux.c: Include missing grub/i18n.h.
25314
55ff5266
RM
253152009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25316
25317 * normal/menu.c (notify_execution_failure): Clarify error message.
25318
c893cc87
RM
253192009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25320
25321 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
25322 return value (and revert all return statements). Update users.
25323
917dd370
CW
253242010-01-20 Dan Merillat <debian@dan.merillat.org>
25325
25326 * kern/device.c (grub_device_iterate): Allocate new part_ent
25327 structure based on sizeof (*p) rather than sizeof (p->next), to
25328 account for structure padding.
25329
25330 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
25331 disk is NULL, which might happen for LVM physical volumes with no
25332 LVM signature.
25333
d4a4ee57
RM
253342009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25335
25336 * loader/mips/linux.c (grub_cmd_initrd)
25337 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
25338
253392009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25340
25341 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
25342 (grub_video_video_init, grub_video_bitmap_init)
25343 (grub_font_manager_init, grub_term_gfxterm_init)
25344 (grub_at_keyboard_init): New extern declarations.
25345 (grub_machine_init): Initialize gfxterm and at_keyboard.
25346
25347 * kern/main.c (grub_main): Revert grub_printf delay kludge.
25348
25349 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
25350 `gfxterm.mod' into core image.
25351
25352 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25353 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25354 (kernel_img_FORMAT): Copy to ...
25355
25356 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25357 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25358 (kernel_img_FORMAT): ... here, and ...
25359
25360 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25361 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25362 (kernel_img_FORMAT): ... here.
25363
25364 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
25365 and input (at_keyboard) terminals in kernel.
25366 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
25367
25368 (pkglib_MODULES): Remove `pci.mod'.
25369 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
25370 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
25371 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
25372 (at_keyboard_mod_LDFLAGS): Remove variables.
25373
253742010-01-11 Felix Zielcke <fzielcke@z-51.de>
25375
25376 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
25377
253782009-12-10 Robert Millan <rmh.grub@aybabtu.com>
25379
25380 * include/grub/mips/libgcc.h: Only export symbols for functions
25381 that libgcc provides.
25382
253832009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
25384
25385 MIPS support.
25386
25387 * bus/bonito.c: New file.
25388 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
25389 GRUB_PCI_NUM_DEVICES.
25390 * term/i386/pc/serial.c: Move to ...
25391 * term/serial.c: ... here. All users updated.
25392 * util/i386/pc/grub-mkimage.c: Move to ...
25393 * util/grub-mkrawimage.c: ... here. All users updated.
25394 * term/i386/pc/at_keyboard.c: Move to ...
25395 * term/at_keyboard.c: ... here. All users updated.
25396 * conf/mips-qemu-mips.rmk: New file.
25397 * conf/mips-yeeloong.rmk: Likewise.
25398 * conf/mips.rmk: Likewise.
25399 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
25400 mipsel-qemu-mips.
25401 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
25402 to port addresses.
25403 (grub_ata_pciinit): Support CS5536.
25404 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
25405 * font/font_cmd.c (loadfont_command): Open file before passing it to
25406 grub_font_load.
25407 (pseudo_file_read): New function.
25408 (pseudo_file_close): Likewise.
25409 (pseudo_fs): New structure.
25410 (load_font_module): New function.
25411 (GRUB_MOD_INIT(font_manager)): Load embedded font.
25412 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
25413 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
25414 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
25415 * include/grub/i386/at_keyboard.h: Split into ...
25416 * include/grub/at_keyboard.h: ... this ...
25417 * include/grub/i386/at_keyboard.h: ... and this.
25418 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
25419 New prototype.
25420 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
25421 updated.
25422 (grub_elf64_size): Likewise.
25423 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
25424 filename.
25425 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
25426 * include/grub/i386/coreboot/serial.h: Rewritten.
25427 * include/grub/i386/ieee1275/serial.h: Include
25428 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
25429 * include/grub/i386/pc/serial.h: Moved from here ...
25430 * include/grub/serial.h: ... to here. All users updated.
25431 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
25432 (GRUB_PCI_NUM_BUS): Likewise.
25433 (GRUB_PCI_NUM_DEVICES): Likewise.
25434 (grub_pci_device_map_range): Add missing volatile keyword.
25435 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
25436 * include/grub/mips/at_keyboard.h: New file.
25437 * include/grub/mips/cache.h: Likewise.
25438 * include/grub/mips/io.h: Likewise.
25439 * include/grub/mips/kernel.h: Likewise.
25440 * include/grub/mips/libgcc.h: Likewise.
25441 * include/grub/mips/pci.h: Likewise.
25442 * include/grub/mips/qemu-mips/boot.h: Likewise.
25443 * include/grub/mips/qemu-mips/kernel.h: Likewise.
25444 * include/grub/mips/qemu-mips/loader.h: Likewise.
25445 * include/grub/mips/qemu-mips/memory.h: Likewise.
25446 * include/grub/mips/qemu-mips/serial.h: Likewise.
25447 * include/grub/mips/qemu-mips/time.h: Likewise.
25448 * include/grub/mips/relocator.h: Likewise.
25449 * include/grub/mips/time.h: Likewise.
25450 * include/grub/mips/types.h: Likewise.
25451 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
25452 * include/grub/mips/yeeloong/boot.h: Likewise.
25453 * include/grub/mips/yeeloong/kernel.h: Likewise.
25454 * include/grub/mips/yeeloong/loader.h: Likewise.
25455 * include/grub/mips/yeeloong/memory.h: Likewise.
25456 * include/grub/mips/yeeloong/pci.h: Likewise.
25457 * include/grub/mips/yeeloong/serial.h: Likewise.
25458 * include/grub/mips/yeeloong/time.h: Likewise.
25459 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
25460 * kern/elf.c (grub_elf32_size): New parameter. All users
25461 updated.
25462 (grub_elf64_size): Likewise.
25463 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
25464 Load modules before saying "Welcome to GRUB!".
25465 Call grub_refresh after saying "Welcome to GRUB!".
25466 * kern/mips/cache.S: New file.
25467 * kern/mips/cache_flush.S: Likewise.
25468 * kern/mips/dl.c: Likewise.
25469 * kern/mips/init.c: Likewise.
25470 * kern/mips/qemu-mips/init.c: Likewise.
25471 * kern/mips/startup.S: Likewise.
25472 * kern/mips/yeeloong/init.c: Likewise.
25473 * kern/term.c (grub_putcode): Handle NULL terminal.
25474 (grub_getcharwidth): Likewise.
25475 (grub_getkey): Likewise.
25476 (grub_checkkey): Likewise.
25477 (grub_getkeystatus): Likewise.
25478 (grub_getxy): Likewise.
25479 (grub_getwh): Likewise.
25480 (grub_gotoxy): Likewise.
25481 (grub_cls): Likewise.
25482 (grub_setcolorstate): Likewise.
25483 (grub_setcolor): Likewise.
25484 (grub_getcolor): Likewise.
25485 (grub_refresh): Likewise.
25486 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
25487 (write_jump): Add hatch nop.
25488 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
25489 * lib/mips/setjmp.S: New file.
25490 * loader/mips/linux.c: Likewise.
25491 * term/i386/pc/at_keyboard.c: Move from here ...
25492 * term/at_keyboard.c: ... to here.
25493 * term/i386/pc/serial.c: Moved from here ...
25494 * term/serial.c: ... to here. All users updated.
25495 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
25496 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
25497 (serial_translate_key_sequence): Avoid deadlock.
25498 (grub_serial_getkey): Handle backspace.
25499 (grub_serial_putchar): Fix newline handling.
25500 * util/i386/pc/grub-mkimage.c: Move from here ...
25501 * util/grub-mkrawimage.c: ... to here. All users updated.
25502 (generate_image): New parameters 'font_path' and 'format'.
25503 Support embedding font.
25504 Use grub_host_to_target* instead of grub_cpu_to_le*.
25505 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
25506 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
25507 (options): New option "--font".
25508 (usage): Likewise.
25509 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
25510 (main): Handle "--font".
25511 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
25512 (grub_virtual_screen_setup): Set bg_color_display.
25513 (redraw_screen_rect): Use bg_color_display instead of incorrect
25514 bg_color.
25515 (grub_gfxterm_cls): Likewise.
25516 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
25517 Support embedding config file.
25518 (add_segments): Likewise.
25519 (options): New option "--config".
25520 (main): Handle "--config".
25521 * video/sm712.c: New file.
25522
25c2b5b3
RM
255232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25524
25525 Fix parallel builds.
25526
25527 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
25528 font.c depend on ascii.h).
25529
255302010-01-12 Carles Pina i Estany <carles@pina.cat>
25531
25532 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
25533
255342010-01-11 Carles Pina i Estany <carles@pina.cat>
25535
25536 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
25537 By default: disabled.
25538 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
25539 parameter.
25540
255412010-01-10 Carles Pina i Estany <carles@pina.cat>
25542
25543 * font/font.c: Update copyright years.
25544 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
25545
255462010-01-10 Carles Pina i Estany <carles@pina.cat>
25547
25548 * font/font.c: Include `ascii.h'.
25549 (ASCII_BITMAP_SIZE): New macro.
25550 (ascii_font_glyph): Define.
25551 (ascii_glyph_lookup): New function.
25552 (grub_font_get_string_width): Change comment. If glyph not found, use
25553 ascii_glyph_lookup.
25554 (grub_font_get_glyph_with_fallback): If glyph not available returns
25555 ascii_glyph_lookup.
25556 * util/grub-mkfont.c (file_formats): New enum.
25557 (options): Add `ascii-bitmaps' new option.
25558 (usage): Add `asii-bitmaps' new option.
25559 (write_font_ascii_bitmap): New function.
25560 (write_font): Rename to ...
25561 (write_font_p2): ... this. Remove print_glyphs call.
25562 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
25563 used. Call print_glyphs.
25564 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
25565
255662010-01-14 Robert Millan <rmh.grub@aybabtu.com>
25567
25568 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
25569 (grub_bin2h_SOURCES): New variable.
25570 * util/bin2h.c: New file.
25571
915fc1b8
VS
255722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25573
25574 * include/multiboot.h: Resynced with spec.
25575 * include/multiboot2.h: Likewise.
25576 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
25577 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
25578
9444b678
RM
255792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25580
25581 * include/grub/term.h (grub_term_register_input,
25582 grub_term_register_output): Check return of terminal init()
25583 routines, and abort if errors are raised.
25584
25585 * commands/terminal.c: Update copyright year.
25586
cba98e8d
RM
255872010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25588
25589 * commands/terminal.c (grub_cmd_terminal_input)
25590 (grub_cmd_terminal_output): Check return of terminal init()
25591 routines, and abort if errors are raised.
25592
6f7db5d6
VS
255932010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
25594
25595 * include/grub/i386/bsd.h: Fix include pathes.
25596
262bff8d
VS
255972010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
25598
25599 Add missing *BSD copyright headers.
25600
25601 * include/grub/aout.h: Add BSD licence.
25602 * include/grub/i386/bsd.h: Parts under different licences moved to ...
25603 * include/grub/i386/freebsd_linker.h: ... here,
25604 * include/grub/i386/freebsd_reboot.h: ... here,
25605 * include/grub/i386/netbsd_bootinfo.h: ... here,
25606 * include/grub/i386/netbsd_reboot.h: ... here,
25607 * include/grub/i386/openbsd_bootarg.h: ... here,
25608 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
25609 licence to each file.
25610
b2cab848
RM
256112010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25612
25613 * acinclude.m4: Remove `nop' assembly instruction; it's not
25614 implemented by all architectures.
25615
2cb6be4b
RM
256162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25617
25618 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
25619 ELILO. This is no longer necessary.
25620
a2eaee15
BC
256212010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
25622
25623 Added new tool, grub-scrit-check to verify grub.cfg syntax.
25624
25625 * util/grub-script-check.c: grub-script-check tool.
25626 * conf/common.rmk: Make rules for grub-script-check.
25627
88d17012
RM
256282010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25629
25630 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
25631 spotting it back in 2008. Shame on me for forgetting he did.
25632
25633 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
25634
8040619d
RM
256352010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25636
25637 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
25638 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
25639 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
25640 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
25641 (GRUB_VIDEO_TYPE_EFI): Rename to ...
25642 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
25643
a0c2a0f6
RM
256442010-01-17 Robert Millan <rmh.grub@aybabtu.com>
25645
25646 * include/grub/test.h: Add license header.
25647 * tests/example_functional_test.c: Likewise.
25648 * tests/example_unit_test.c: Likewise.
25649 * tests/lib/functional_test.c: Likewise.
25650 * tests/lib/test.c: Likewise.
25651 * tests/lib/unit_test.c: Likewise.
25652
b0b13907
VS
256532010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
25654
25655 Use flag-based instead of hook-based video mode selection and "auto"
25656 keyword.
25657
25658 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
25659 (grub_video_set_mode): Changed prototype. All users updated.
25660 (grub_video_check_mode_flag): New inline function.
25661 * video/video.c (parse_modespec): New function.
25662 (grub_video_set_mode): Parse flags and keywords.
25663
ea379330 256642010-01-17 Carles Pina i Estany <carles@pina.cat>
25665
25666 * util/misc.c (grub_util_info): Fix the order of the parameters in a
25667 fprintf call.
25668
e15c215e
FZ
256692010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
25670
25671 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
25672
409ae1c9 256732010-01-16 Carles Pina i Estany <carles@pina.cat>
25674
25675 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
25676 string.
25677 * util/grub-emu.c (usage): Likewise.
25678 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
25679 * util/i386/efi/grub-mkimage.c (usage): Likewise.
25680 * util/i386/pc/grub-mkimage.c (usage): Likewise.
25681 * util/i386/pc/grub-setup.c (usage): Likewise.
25682
70a14d3d 256832010-01-16 Carles Pina i Estany <carles@pina.cat>
25684
25685 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
25686 the message.
25687 (grub_util_info): Likewise.
25688 (grub_util_error): Likewise.
25689 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
25690 and/or new lines in `grub_util_warna', `grub_util_info',
25691 `grub_util_error' calls.
25692 * util/getroot.c: Likewise.
25693 * util/grub-editenv.c: Likewise.
25694 * util/grub-emu.c: Likewise.
25695 * util/grub-fstest.c: Likewise.
25696 * util/grub-mkdevicemap.c: Likewise.
25697 * util/grub-mkfont.c: Likewise.
25698 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25699 * util/grub-mkrelpath.c: Likewise.
25700 * util/grub-pe2elf.c: Likewise.
25701 * util/grub-probe.c: Likewise.
25702 * util/hostdisk.c: Likewise.
25703 * util/i386/efi/grub-mkimage.c: Likewise.
25704 * util/i386/pc/grub-mkimage.c: Likewise.
25705 * util/i386/pc/grub-setup.c: Likewise.
25706 * util/ieee1275/ofpath.c: Likewise.
25707 * util/mkisofs/eltorito.c: Likewise.
25708 * util/mkisofs/rock.c: Likewise.
25709 * util/mkisofs/write.c: Likewise.
25710 * util/raid.c: Likewise.
25711 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25712 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25713
a0b766fc
VS
257142010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25715
25716 Enable multiboot on non-pc.
25717
25718 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
25719 multiboot.mod and multiboot2.mod to ...
25720 * conf/i386.rmk (pkglib_MODULES): ... here.
25721 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
25722 Moved to ...
25723 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
25724 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
25725 Moved to ...
25726 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
25727 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
25728 Moved to ...
25729 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
25730 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
25731 Moved to ...
25732 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
25733 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
25734 relocator.mod.
25735 (ata_mod_SOURCES): Removed.
25736 (ata_mod_CFLAGS): Likewise.
25737 (ata_mod_LDFLAGS): Likewise.
25738 (relocator_mod_SOURCES): Removed.
25739 (relocator_mod_CFLAGS): Likewise.
25740 (relocator_mod_ASFLAGS): Likewise.
25741 (relocator_mod_LDFLAGS): Likewise.
25742 Include i386.mk.
25743 * include/grub/x86_64/multiboot.h: New file.
25744 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
25745 Terminate EFI.
25746
884ade56
VS
257472010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25748
25749 Video multiboot support.
25750
25751 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
25752 New prototype.
25753 * include/multiboot.h: Resynced with multiboot specification.
25754 * include/multiboot2.h: Likewise.
25755 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
25756 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
25757 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
25758 (HAS_VGA_TEXT): Likewise.
25759 (accepts_video): New variable.
25760 (grub_multiboot_set_accepts_video): New function.
25761 (grub_multiboot_get_mbi_size): Account for video structures.
25762 (set_video_mode): New function.
25763 (retrieve_video_parameters): Likewise.
25764 (grub_multiboot_make_mbi): Fill video fields.
25765
0d90e8a6
VS
257662010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25767
25768 Video driver ids.
25769
25770 * include/grub/video.h (grub_video_driver_id): New type.
25771 (grub_video_adapter): New member 'id'. All users updated.
25772 (grub_video_get_driver_id): New proto.
25773 * video/video.c (grub_video_get_driver_id): New function.
25774
5c71db1b 257752010-01-14 Carles Pina i Estany <carles@pina.cat>
25776
25777 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
25778 `var=val'.
25779
cca15b52 257802010-01-14 Carles Pina i Estany <carles@pina.cat>
25781
25782 * normal/cmdline.c (print_completion): Gettextizze.
25783
c586fbb2 257842001-01-14 Carles Pina i Estany <carles@pina.cat>
25785
25786 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
25787
ba2f6848 257882010-01-14 Carles Pina i Estany <carles@pina.cat>
25789
25790 * gettext/gettext.c (grub_gettext_translate): Push and pop
25791 grub_errno.
25792 (grub_gettext_delete_list): Change comment style.
25793 * kern/err.c (grub_error): Gettextizze.
25794 (grub_fatal): Gettextizze.
25795
0a46429a
RM
257962010-01-14 Robert Millan <rmh.grub@aybabtu.com>
25797
25798 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
25799 (grub_linux16_real_boot): ... this.
25800 * kern/i386/loader.S: Likewise.
25801 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
25802 (grub_linux16_boot): New function. Switches to text mode and calls
25803 grub_linux16_real_boot().
25804
25805 * loader/i386/bsd.c: Include `<grub/video.h>'.
25806 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
25807 text mode before calling grub_unix_real_boot().
25808
25809 * loader/i386/multiboot.c: Include `<grub/video.h>'.
25810 (grub_multiboot_boot): Switch to text mode before calling
25811 grub_relocator32_boot().
25812
25813 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
25814 (grub_chainloader_boot): Switch to text mode before calling
25815 grub_chainloader_real_boot().
25816
d6f93a66
RM
258172010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
258182010-01-05 Colin Watson <cjwatson@ubuntu.com>
25819
25820 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
25821 non-empty value.
25822
258232010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
258242010-01-05 Colin Watson <cjwatson@ubuntu.com>
25825
25826 * util/grub.d/00_header.in: Define a "savedefault" function for use
25827 in menu entries.
25828 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
25829
258302010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
258312010-01-05 Colin Watson <cjwatson@ubuntu.com>
25832
25833 * util/grub-mkconfig_lib.in (save_default_entry): Only set
25834 saved_entry if boot_once is unset.
25835 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
25836 previous saved entry (i.e. grub-reboot).
25837
258382009-12-08 Colin Watson <cjwatson@ubuntu.com>
25839
25840 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
25841
258422009-12-08 Colin Watson <cjwatson@ubuntu.com>
25843
25844 * util/grub.d/00_header.in: Use `set var=val' rather than plain
25845 `var=val'.
25846 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
25847
258482009-12-08 Colin Watson <cjwatson@ubuntu.com>
25849
25850 * util/grub-reboot.in: Fix --version output.
25851 * util/grub-set-default.in: Likewise.
25852
258532009-12-08 Colin Watson <cjwatson@ubuntu.com>
25854
25855 * util/grub.d/00_header.in: Silently ignore zero-sized environment
25856 blocks.
25857
258582009-12-08 Colin Watson <cjwatson@ubuntu.com>
25859
25860 * util/grub.d/00_header.in: Quote the value assigned to `default',
25861 in case it contains spaces.
25862
258632009-12-08 Colin Watson <cjwatson@ubuntu.com>
25864
25865 * util/grub.d/30_os-prober.in: Fix merge error that moved a
25866 `save_default_entry' call from the macosx case to the linux case.
25867
258682009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
258692009-10-25 Colin Watson <cjwatson@ubuntu.com>
25870
25871 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
25872 in `chosen' environment variable.
25873 * normal/menu_text.c (get_entry_number): Check if the variable
25874 matches the title of a menu entry.
25875 (run_menu): Pass menu to get_entry_number.
25876
25877 * util/grub-reboot.in: New file.
25878 * util/grub-set-default.in: New file.
25879 * conf/common.rmk (grub-reboot): New utility.
25880 (grub-set-default): New utility.
25881
25882 * util/grub-mkconfig_lib.in (save_default_entry): New function.
25883 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
25884 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
25885 move it to `saved_entry' for the next boot. Load environment on
25886 initialisation.
25887 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
25888 * util/grub.d/10_hurd.in: Likewise.
25889 * util/grub.d/10_linux.in (linux_entry): Likewise.
25890 * util/grub.d/10_windows.in: Likewise.
25891 * util/grub.d/30_os-prober.in: Likewise.
25892
25893 * util/grub-install.in: Create environment block.
25894 * util/i386/efi/grub-install.in: Likewise.
25895 * util/ieee1275/grub-install.in: Likewise.
25896 * util/sparc64/ieee1275/grub-install.in: Likewise.
25897
0934d184
BC
258982010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
25899
25900 Unit testing framework for GRUB.
25901
25902 * Makefile.in: Test framework build rules for 'make check'.
25903 * conf/tests.rmk: Build rules for individual tests and framework.
25904
25905 * include/grub/test.h: Header file for whitebox tests.
25906 * tests/lib/functional_test.c: Framework support for whitebox
25907 functional tests.
25908 * tests/lib/test.c: Common whitebox testing code for unit and
25909 functional tests.
25910 * tests/lib/unit_test.c: Framework support for whitebox unit
25911 tests.
25912
25913 * tests/util/grub-shell-tester.in: Support utility for grub-script
25914 tests.
25915 * tests/util/grub-shell.in: Utility to execute grub-script
25916 commands in a Qemu instance.
25917
25918 * tests/example_functional_test.c: Example whitebox functional
25919 test.
25920 * tests/example_grub_script_test.in: Example grub-script test.
25921 * tests/example_scripted_test.in: Example scripted test.
25922 * tests/example_unit_test.c: Example whitebox unit test.
25923
9c4ffeeb
VS
259242010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
25925
25926 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
25927 Add loader/i386/multiboot_mbi.c.
25928 (multiboot2_mod_SOURCES): Likewise.
25929 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
25930 (multiboot2_mod_SOURCES): Likewise.
25931 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
25932 (grub_multiboot_make_mbi): Likewise.
25933 (grub_multiboot_free_mbi): Likewise.
25934 (grub_multiboot_init_mbi): Likewise.
25935 (grub_multiboot_add_module): Likewise.
25936 (grub_multiboot_set_bootdev): Likewise.
25937 * loader/i386/multiboot.c (mbi): Removed.
25938 (mbi_dest): Likewise.
25939 (alloc_mbi): New variable.
25940 (grub_multiboot_payload_size): Removed. All users updated.
25941 (grub_multiboot_pure_size): New variable.
25942 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
25943 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
25944 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
25945 (grub_fill_multiboot_mmap): Likewise.
25946 (grub_multiboot_get_bootdev): Likewise.
25947 (grub_multiboot): Use multiboot_mbi functions.
25948 * loader/i386/multiboot_mbi.c: New file.
25949
17383dfe
VS
259502010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
25951
25952 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
25953 it would result in module crash.
25954
c1f28820
VS
259552010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
25956
25957 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
25958 (grub_ofconsole_getwh): Split to ...
25959 (grub_ofconsole_getwh): ... this.
25960 (grub_ofconsole_dimensions): ...and this.
25961 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
25962
58655a16
RM
259632010-01-13 Robert Millan <rmh.grub@aybabtu.com>
25964
25965 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
25966
10891398
VS
259672010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
25968
25969 * loader/i386/pc/multiboot2.c: Removed stalled file.
25970
0b8a223c
VS
259712010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
25972
25973 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
25974 Reported by: Grégoire Sutre
25975
92ab12b0
RM
259762010-01-11 Robert Millan <rmh.grub@aybabtu.com>
25977
25978 * util/misc.c (canonicalize_file_name): New function.
25979 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
25980 instead of realpath().
25981
a788afb6
CW
259822010-01-11 Colin Watson <cjwatson@ubuntu.com>
25983
25984 * util/grub-install.in (usage): Clarify meaning of --root-directory,
25985 and make it clearer that it's optional. Based on confusion
25986 witnessed on IRC.
25987
ffa8e3d2
VS
259882010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
25989
25990 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
25991 in premature implicit newline.
25992
e9060a9d
VS
259932010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
25994
25995 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
25996 which resulted in garbled command line at the end of screen.
25997
f0d0c0b7
RM
259982010-01-10 Robert Millan <rmh.grub@aybabtu.com>
25999
26000 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
26001 initialization with similar approach as with other Linux loaders.
26002
0e60bae7
RM
260032010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26004
26005 Fix i386-ieee1275 build.
26006
26007 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
26008 and grub_term_height() for video_{width,height} initialization.
26009
260102010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
26011
26012 Fix grub-emu build.
26013
26014 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
26015
cdb3f378
RM
260162010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
260172010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26018
26019 Support for multiple terminals.
26020
26021 * Makefile.in (pkglib_DATA): terminal.lst.
26022 (terminal.lst): New target.
26023 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
26024 (GRUB_MOD_INIT(handler)): Likewise.
26025 (GRUB_MOD_FINI(handler)): Likewise.
26026 * commands/help.c (grub_cmd_help): Handle multiple terminals.
26027 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
26028 * commands/sleep.c (do_print): Use grub_term_restore_pos.
26029 (grub_cmd_sleep): Use grub_term_save_pos.
26030 * commands/terminal.c: New file.
26031 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
26032 commands/terminal.c and lib/charset.c.
26033 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
26034 (pkglib_MODULES): Add terminal.mod.
26035 (terminal_mod_SOURCES): New variable.
26036 (terminal_mod_CFLAGS): Likewise.
26037 (terminal_mod_LDFLAGS): Likewise.
26038 * genhandlerlist.sh: Don't handle terminals.
26039 * genmk.rb: Generate terminal-*.lst.
26040 * genterminallist.sh: New file.
26041 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
26042 (grub_is_valid_utf8): Likewise.
26043 (grub_utf8_to_ucs4_alloc): Likewise.
26044 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
26045 (grub_menu_register_viewer): Changed argument.
26046 (grub_menu_try_text): New proto.
26047 (grub_gfxmenu_try_hook): New declaration.
26048 * include/grub/normal.h (grub_normal_exit_level): New declaration.
26049 (grub_menu_init_page): Additional argument term.
26050 (grub_normal_init_page): Likewise.
26051 (grub_cmdline_get): Arguments simplified.
26052 (grub_utf8_to_ucs4_alloc): Removed.
26053 (grub_print_ucs4): Additional argument term.
26054 (grub_getstringwidth): Likewise.
26055 (grub_print_message_indented): Likewise.
26056 (grub_menu_text_register_instances): New proto.
26057 (grub_show_menu): Likewise.
26058 (read_terminal_list): Likewise.
26059 (grub_set_more): Likewise.
26060 * include/grub/parser.h: Include handler.h.
26061 * include/grub/reader.h: Rewritten.
26062 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
26063 (GRUB_TERM_WIDTH): Changed to function.
26064 (GRUB_TERM_HEIGHT): Likewise.
26065 (GRUB_TERM_BORDER_WIDTH): Likewise.
26066 (GRUB_TERM_BORDER_HEIGHT): Likewise.
26067 (GRUB_TERM_NUM_ENTRIES): Likewise.
26068 (GRUB_TERM_ENTRY_WIDTH): Likewise.
26069 (GRUB_TERM_CURSOR_X): Likewise.
26070 (grub_term_input_class): Likewise.
26071 (grub_term_output_class): Likewise.
26072 (grub_term_outputs_disabled): New declaration.
26073 (grub_term_inputs_disabled): Likewise.
26074 (grub_term_outputs): Likewise.
26075 (grub_term_inputs): Likewise.
26076 (grub_term_register_input): Rewritten.
26077 (grub_term_register_output): Likewise.
26078 (grub_term_unregister_input): Likewise.
26079 (grub_term_unregister_output): Likewise.
26080 (FOR_ACTIVE_TERM_INPUTS): New macro.
26081 (FOR_DISABLED_TERM_INPUTS): Likewise.
26082 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26083 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26084 * include/grub/terminfo.h: Add oterm argument to all protypes.
26085 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
26086 Use grub_rescue_run.
26087 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
26088 All users updated.
26089 * kern/reader.c: Removed. All users updated.
26090 * kern/rescue_reader.c (grub_rescue_init): Removed.
26091 (grub_rescue_reader): Likewise.
26092 (grub_register_rescue_reader): Likewise.
26093 (grub_rescue_run): New function based on kern/reader.c.
26094 * kern/term.c: Adapted for multiterm.
26095 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
26096 (grub_is_valid_utf8): Likewise.
26097 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
26098 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
26099 right terminal.
26100 * loader/i386/linux.c (grub_linux_boot): Likewise.
26101 * normal/auth.c (grub_username_get): New function.
26102 (grub_auth_check_authentication): Use grub_username_get.
26103 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
26104 * normal/color.c: Adapt for multiterm.
26105 * normal/main.c (read_config_file): Don't use grub_reader_loop.
26106 (grub_normal_init_page): Additional argument term.
26107 (read_lists): Call read_terminal_lists.
26108 (grub_enter_normal_mode): Call grub_cmdline_run.
26109 Handle grub_normal_exit_level.
26110 (grub_cmd_normal): Make reentrant.
26111 (grub_cmd_normal_exit): New function.
26112 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
26113 * normal/menu.c: Adapt for multiterm.
26114 * normal/menu_entry.c: Likewise.
26115 * normal/menu_text.c: Likewise.
26116 * normal/menu_viewer.c: Removed. All users updated.
26117 * normal/term.c: New file.
26118 * util/console.c: Change order of includes to workaround a bug in
26119 ncurses headers.
26120 * term/terminfo.c: New argument oterm on all exported functions.
26121 All users updated.
26122 * util/grub-editenv.c (grub_term_input_class): Removed.
26123 (grub_term_output_class): Likewise.
26124
1a064917
RM
261252010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26126
26127 Make loader output a bit more user-friendly.
26128
26129 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
26130 is being loaded. Likewise for the Hurd.
26131
26132 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
26133 that kernel of FreeBSD ${version} is being loaded.
26134
26135 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
26136 grub_dprintf().
26137 (grub_cmd_initrd): Likewise.
26138 * util/grub.d/10_linux.in (linux_entry): Print message indicating
26139 that Linux ${version} is being loaded. Likewise for initrd.
26140
5ce0a83a 261412010-01-09 Carles Pina i Estany <carles@pina.cat>
26142
26143 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
26144
809bbfeb 261452010-01-08 Carles Pina i Estany <carles@pina.cat>
26146
26147 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
26148 (GRUB_MOD_INIT): Gettextizze.
26149 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
26150 (GRUB_MOD_INIT): Gettextizze.
26151 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
26152 (grub_cmd_linux): Capitalise Linux.
26153 (GRUB_MOD_INIT): Gettextizze.
26154 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
26155 (grub_cmd_linux): Capitalise Linux.
26156 (GRUB_MOD_INIT): Gettextizze.
26157 * loader/i386/linux.c: Include `<grub/i18n.h>'.
26158 (grub_cmd_linux): Capitalise Linux.
26159 (GRUB_MOD_INIT): Gettextizze.
26160 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
26161 (GRUB_MOD_INIT): Gettextizze.
26162 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
26163 (grub_cmd_linux): Capitalise Linux.
26164 (GRUB_MOD_INIT): Gettextizze.
26165 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
26166 (grub_cpu_xnu_init): Gettextizze.
26167 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
26168 (GRUB_MOD_INIT): Gettextizze.
26169 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
26170 (GRUB_MOD_INIT): Gettextizze.
26171 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
26172 (grub_linux_load64): Capitalise Linux.
26173 (GRUB_MOD_INIT): Gettextizze.
26174 * loader/xnu.c: Include `<grub/i18n.h>'.
26175 (GRUB_MOD_INIT): Gettextizze.
26176 * po/POTFILES: Add `loader/efi/appleloader.c',
26177 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
26178 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
26179 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
26180 `loader/i386/xnu.c', `loader/multiboot_loader.c',
26181 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
26182 and `loader/xnu.c'.
26183
b394b2ca
RM
261842010-01-08 Robert Millan <rmh.grub@aybabtu.com>
26185
26186 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
26187
261882010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
26189
26190 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
26191 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
26192 * util/mkisofs/mkisofs.c (main): Readjust --version output.
26193
bc8b32b3
RM
261942010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26195
26196 Reset Multiboot 2 support. New loader implements the draft in
26197 /branches/multiboot2 and shares as much code as possible with the
26198 production Multiboot 1 implementation.
26199
26200 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
26201 * loader/multiboot2.c: Likewise.
26202 * loader/i386/multiboot_helper.S: Likewise.
26203 * include/multiboot2.h: Replace with latest version from the draft
26204 in /branches/multiboot2.
26205
26206 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
26207 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
26208 and `loader/multiboot2.c'.
26209 (pkglib_MODULES): Add `multiboot2.mod'.
26210 (multiboot2_mod_SOURCES): New variable.
26211 (multiboot2_mod_LDFLAGS): Likewise.
26212 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
26213
26214 * conf/i386-pc.rmk: Likewise.
26215
26216 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26217 (multiboot_mod_SOURCES): Remove variable.
26218 (multiboot_mod_LDFLAGS): Likewise.
26219 (multiboot_mod_CFLAGS): Likewise.
26220
26221 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
26222 `<multiboot2.h>' instead of `<multiboot.h>'.
26223 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
26224 (MULTIBOOT_HEADER_MAGIC): New macros.
26225
26226 * loader/multiboot_loader.c (module_version_status): Remove variable.
26227 (find_multi_boot2_header): Remove function.
26228 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
26229 logic. Always check for the Multiboot version we're compiling for.
26230 (grub_cmd_module_loader): Likewise.
26231 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
26232 command instead of `multiboot'.
26233
5d2c52b8
RM
262342010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26235
26236 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
26237 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
26238 all users.
26239
53108d92
RM
262402010-01-07 Robert Millan <rmh.grub@aybabtu.com>
262412010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26242
26243 Fix breakage introduced with previous commit.
26244
26245 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
26246 commands.
26247 * normal/handler.c (read_handler_list): Revert part of previous commit
26248 affecting this file.
26249 * normal/main.c (read_lists): Move read_handler_list() call back to ...
26250 (grub_normal_execute): ... here.
26251
e2e936b2
RM
262522010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26253
26254 Merge prefix-redefinition-fix branch.
26255
26256 * normal/autofs.c (read_fs_list): Make function capable of being
26257 run multiple times, gracefuly replacing the previous data
26258 structures.
26259 * normal/dyncmd.c (read_command_list): Likewise.
26260 * normal/handler.c (read_handler_list): Likewise.
26261 * normal/main.c (read_lists): New function. Calls all the
26262 list reading functions.
26263 (grub_normal_execute): Use read_lists() instead of calling all
26264 list reading functions explicitly. Register read_lists() as a
26265 variable hook attached to ${prefix}.
26266
607a3701
VS
262672010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26268
26269 Merge crypto branch.
26270
26271 * Makefile.in (pkglib_DATA): Add crypto.lst.
26272 (crypto.lst): New target.
26273 * commands/hashsum.c: New file.
26274 * commands/password.c (check_password): Use grub_crypto_memcmp.
26275 * commands/password_pbkdf2.c: New file.
26276 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
26277 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
26278 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
26279 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
26280 -I$(srcdir)/lib/libgcrypt_wrap.
26281 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
26282 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
26283 password_pbkdf2.mod.
26284 (crypto_mod_SOURCES): New variable.
26285 (crypto_mod_CFLAGS): Likewise.
26286 (crypto_mod_LDFLAGS): Likewise.
26287 (hashsum_mod_SOURCES): New variable.
26288 (hashsum_mod_CFLAGS): Likewise.
26289 (hashsum_mod_LDFLAGS): Likewise.
26290 (pbkdf2_mod_SOURCES): New variable.
26291 (pbkdf2_mod_CFLAGS): Likewise.
26292 (pbkdf2_mod_LDFLAGS): Likewise.
26293 (password_pbkdf2_mod_SOURCES): New variable.
26294 (password_pbkdf2_mod_CFLAGS): Likewise.
26295 (password_pbkdf2_mod_LDFLAGS): Likewise.
26296 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
26297 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
26298 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
26299 Include conf/gcry.rmk.
26300 * include/grub/auth.h: Rewritten.
26301 * include/grub/crypto.h: New file.
26302 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
26303 * include/grub/normal.h (read_crypto_list): New prototype.
26304 * lib/crypto.c: New file.
26305 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
26306 * lib/pbkdf2.c: Likewise.
26307 * normal/auth.c (grub_auth_strcmp): Removed.
26308 (grub_iswordseparator): Likewise.
26309 (grub_auth_strword): Likewise.
26310 (is_authenticated): Use grub_strword.
26311 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
26312 and grub_strword. Pass entered password to authentication callback.
26313 * normal/crypto.c: New file.
26314 * normal/main.c: Call read_crypto_list.
26315 * util/grub-mkpasswd-pbkdf2.c: New file.
26316 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
26317
42841caa
VS
263182010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
26319
26320 Fix descent and ascent calculation.
26321
26322 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
26323 (options): New option "asce".
26324 (usage): Likewise.
26325 (add_char): Ignore invalid glyphs for descent calculation.
26326 Calculate ascent from actual content.
26327 (print_glyphs): Use 'asce'.
26328 (write_font): Likewise. Allow ascent override.
26329 (main): Handle "asce" option.
26330
e7730de7 263312010-01-06 Carles Pina i Estany <carles@pina.cat>
26332
26333 * kern/err.c: Include `<grub/i18n.h>'.
26334 (grub_print_error): Add full stop. Gettextizze.
26335 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
26336 (grub_bsd_load_elf): Capitalise ELF.
26337 (grub_cmd_freebsd_loadenv): Add `s' in error string.
26338 (grub_cmd_freebsd_module): Likewise.
26339 (grub_cmd_freebsd_module_elf): Likewise.
26340 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
26341
40e3a41f 263422010-01-06 Carles Pina i Estany <carles@pina.cat>
26343
26344 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
26345 * commands/search_file.c (HELP_MESSAGE): New macro.
26346 * commands/search_label.c (HELP_MESSAGE): Likewise.
26347 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
26348 * po/POTFILES: Add `commands/search_file.c',
26349 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
26350 `commands/search.c'.
26351
83507e68
RM
263522010-01-05 Robert Millan <rmh.grub@aybabtu.com>
26353
26354 * config.rpath: Update from Gnulib.
26355
465c787b
YB
263562010-01-05 Yves Blusseau <blusseau@zetam.org>
26357
26358 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
26359
6581dd3a
YB
263602010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
26361
26362 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
26363
3bff18c5
CW
263642010-01-05 Colin Watson <cjwatson@ubuntu.com>
26365
26366 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
26367 arguments to fread so that we get a return value in bytes, rather
26368 than something that will normally be rounded down to 0.
26369 Adjust error handling to avoid producing garbage when size_t is not
26370 the same size as long long.
26371
a1368118
CW
263722010-01-05 Colin Watson <cjwatson@ubuntu.com>
26373
26374 * util/mkisofs/write.c (padblock_write): Check return value of
26375 fread.
26376
7c302978
RM
263772010-01-05 Robert Millan <rmh.grub@aybabtu.com>
26378
26379 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
26380 floppy images now.
26381
26382 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
26383
e33ace06
RM
263842010-01-04 Robert Millan <rmh.grub@aybabtu.com>
26385
26386 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
26387 instead of manual alignment.
26388 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
26389 verbose). Avoid attempts to read past end of the device
26390 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
26391 but GRUB_DISK_CACHE_SIZE may exceed that).
26392
4b856776
RM
263932010-01-04 Robert Millan <rmh.grub@aybabtu.com>
26394
26395 * commands/crc.c (grub_cmd_crc): Abort on read errors.
26396 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
26397 it to upper layer.
26398
52c2d97f
VS
263992010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
26400
26401 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
26402 New constant.
26403 (grub_efi_piwg_device_path): New structure
26404 (grub_efi_piwg_device_path_t): New type.
26405 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
26406 (devpath_1): Transform to a structure. All users updated.
26407 (devpath_2): Likewise.
26408 (devpath_3): Likewise.
26409 (devpath_4): Likewise.
26410 (devpath_5): Likewise.
26411
98ff6a54
VS
264122010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
26413
26414 * loader/efi/appleloader.c: Restored. Update all users.
26415
3a73dcb6
RM
264162010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26417
26418 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
26419
26420 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
26421 (struct boot_blocklist): Move from here ...
26422 * include/grub/i386/pc/boot.h [ASM_FILE]
26423 (struct grub_boot_blocklist): ... to here. Update all users.
26424 (setup): Only initialize `start' member of `first_block'
26425 structure. Add assert() calls to verify the other members.
26426
26427 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
26428 (generate_image): Fix broken blocklist length initialization.
26429 Add assert() call to verify blocklist `segment' field.
26430
ab0eeb0c
RM
264312010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26432
26433 * loader/efi/appleloader.c: Remove. Update all users.
26434
58bc8bd5
RM
264352010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26436
26437 * boot/i386/pc/boot.S: Update copyright year.
26438 * boot/i386/pc/cdboot.S: Likewise.
26439 * boot/i386/pc/diskboot.S: Likewise.
26440 * boot/i386/pc/lnxboot.S: Likewise.
26441 * boot/i386/pc/pxeboot.S: Likewise.
26442 * bus/pci.c: Likewise.
26443 * commands/cmp.c: Likewise.
26444 * commands/help.c: Likewise.
26445 * commands/hexdump.c: Likewise.
26446 * commands/i386/pc/halt.c: Likewise.
26447 * commands/i386/pc/play.c: Likewise.
26448 * commands/i386/pc/vbeinfo.c: Likewise.
26449 * commands/ls.c: Likewise.
26450 * commands/test.c: Likewise.
26451 * disk/dmraid_nvidia.c: Likewise.
26452 * disk/i386/pc/biosdisk.c: Likewise.
26453 * disk/ieee1275/nand.c: Likewise.
26454 * disk/ieee1275/ofdisk.c: Likewise.
26455 * disk/lvm.c: Likewise.
26456 * disk/raid.c: Likewise.
26457 * disk/raid6_recover.c: Likewise.
26458 * disk/scsi.c: Likewise.
26459 * fs/affs.c: Likewise.
26460 * fs/cpio.c: Likewise.
26461 * fs/ext2.c: Likewise.
26462 * fs/hfs.c: Likewise.
26463 * fs/iso9660.c: Likewise.
26464 * fs/ntfs.c: Likewise.
26465 * fs/sfs.c: Likewise.
26466 * fs/udf.c: Likewise.
26467 * fs/ufs.c: Likewise.
26468 * fs/xfs.c: Likewise.
26469 * gencmdlist.sh: Likewise.
26470 * genmk.rb: Likewise.
26471 * include/grub/disk.h: Likewise.
26472 * include/grub/efi/api.h: Likewise.
26473 * include/grub/efi/efi.h: Likewise.
26474 * include/grub/efi/pe32.h: Likewise.
26475 * include/grub/elf.h: Likewise.
26476 * include/grub/fs.h: Likewise.
26477 * include/grub/i386/at_keyboard.h: Likewise.
26478 * include/grub/i386/pc/memory.h: Likewise.
26479 * include/grub/i386/pc/vbe.h: Likewise.
26480 * include/grub/i386/pci.h: Likewise.
26481 * include/grub/i386/tsc.h: Likewise.
26482 * include/grub/ieee1275/ieee1275.h: Likewise.
26483 * include/grub/ntfs.h: Likewise.
26484 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26485 * include/grub/sparc64/libgcc.h: Likewise.
26486 * include/grub/symbol.h: Likewise.
26487 * include/grub/types.h: Likewise.
26488 * include/multiboot2.h: Likewise.
26489 * io/gzio.c: Likewise.
26490 * kern/device.c: Likewise.
26491 * kern/disk.c: Likewise.
26492 * kern/efi/efi.c: Likewise.
26493 * kern/efi/mm.c: Likewise.
26494 * kern/elf.c: Likewise.
26495 * kern/file.c: Likewise.
26496 * kern/i386/dl.c: Likewise.
26497 * kern/i386/pc/init.c: Likewise.
26498 * kern/i386/pc/startup.S: Likewise.
26499 * kern/ieee1275/ieee1275.c: Likewise.
26500 * kern/ieee1275/init.c: Likewise.
26501 * kern/main.c: Likewise.
26502 * kern/mm.c: Likewise.
26503 * kern/powerpc/dl.c: Likewise.
26504 * kern/sparc64/dl.c: Likewise.
26505 * kern/x86_64/dl.c: Likewise.
26506 * lib/hexdump.c: Likewise.
26507 * loader/efi/appleloader.c: Likewise.
26508 * loader/i386/ieee1275/linux.c: Likewise.
26509 * loader/i386/pc/chainloader.c: Likewise.
26510 * loader/i386/pc/linux.c: Likewise.
26511 * loader/i386/pc/multiboot2.c: Likewise.
26512 * loader/ieee1275/multiboot2.c: Likewise.
26513 * loader/multiboot2.c: Likewise.
26514 * loader/multiboot_loader.c: Likewise.
26515 * loader/powerpc/ieee1275/linux.c: Likewise.
26516 * normal/completion.c: Likewise.
26517 * normal/menu_entry.c: Likewise.
26518 * partmap/apple.c: Likewise.
26519 * util/grub.d/10_hurd.in: Likewise.
26520 * util/hostfs.c: Likewise.
26521 * video/readers/png.c: Likewise.
26522
e2d70b5c
CW
265232010-01-03 Colin Watson <cjwatson@ubuntu.com>
26524
26525 * include/grub/misc.h (GNUC_PREREQ): New macro.
26526 (ATTRIBUTE_ERROR): New macro.
26527 * include/grub/list.h (grub_bad_type_cast_real): Use
26528 ATTRIBUTE_ERROR.
26529
a173283f 265302010-01-03 Carles Pina i Estany <carles@pina.cat>
26531
26532 * normal/menu_text.c (print_message): Change messages.
26533
7fa7ff74 265342010-01-03 Carles Pina i Estany <carles@pina.cat>
26535
26536 * normal/menu_entry.c (store_completion): Gettextizze.
26537
136d24f6 265382010-01-03 Carles Pina i Estany <carles@pina.cat>
26539
26540 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
26541
f936862e 265422010-01-03 Carles Pina i Estany <carles@pina.cat>
26543
26544 * po/POTFILES: Sort correctly.
26545
29c44ad1 265462010-01-03 Carles Pina i Estany <carles@pina.cat>
26547
26548 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
26549 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
26550 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
26551 full stop.
26552 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
26553 summary. Gettextizze the strings.
26554 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
26555 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
26556 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
26557 full stop.
26558 (GRUB_MOD_INIT): Remove command name from summary.
26559 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
26560 summary.
26561 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
26562 * term/i386/pc/serial.c (options): Add full stops.
26563 (GRUB_MOD_INIT): Remove command name from the summary.
26564
77a79592 265652010-01-03 Carles Pina i Estany <carles@pina.cat>
26566
26567 * commands/acpi.c: Gettextizze help strings and/or options. Include
26568 `grub/i18n.h' if needed.
26569 * commands/blocklist.c: Likewise.
26570 * commands/boot.c: Likewise.
26571 * commands/cat.c: Likewise.
26572 * commands/cmp.c: Likewise.
26573 * commands/configfile.c: Likewise.
26574 * commands/crc.c: Likewise.
26575 * commands/date.c: Likewise.
26576 * commands/echo.c: Likewise.
26577 * commands/efi/fixvideo.c: Likewise.
26578 * commands/efi/loadbios.c: Likewise.
26579 * commands/gptsync.c: Likewise.
26580 * commands/halt.c: Likewise.
26581 * commands/handler.c: Likewise.
26582 * commands/hdparm.c: Likewise.
26583 * commands/hexdump.c: Likewise.
26584 * commands/i386/cpuid.c: Likewise.
26585 * commands/i386/pc/drivemap.c: Likewise.
26586 * commands/i386/pc/halt.c: Likewise.
26587 * commands/i386/pc/pxecmd.c: Likewise.
26588 * commands/i386/pc/vbeinfo.c: Likewise.
26589 * commands/i386/pc/vbetest.c: Likewise.
26590 * commands/ieee1275/suspend.c: Likewise.
26591 * commands/keystatus.c: Likewise.
26592 * commands/loadenv.c: Likewise.
26593 * commands/ls.c: Likewise.
26594 * commands/lsmmap.c: Likewise.
26595 * commands/lspci.c: Likewise.
26596 * commands/memrw.c: Likewise.
26597 * commands/minicmd.c: Likewise.
26598 * commands/parttool.c: Likewise.
26599 * commands/password.c: Likewise.
26600 * commands/probe.c: Likewise.
26601 * commands/read.c: Likewise.
26602 * commands/reboot.c: Likewise.
26603 * commands/search.c: Likewise.
26604 * commands/sleep.c: Likewise.
26605 * commands/test.c: Likewise.
26606 * commands/true.c: Likewise.
26607 * commands/usbtest.c: Likewise.
26608 * commands/videotest.c: Likewise.
26609 * commands/xnu_uuid.c: Likewise.
26610 * disk/loopback.c: Likewise.
26611 * hello/hello.c: Likewise.
26612 * loader/i386/bsd.c: Likewise.
26613 * term/i386/pc/serial.c: Likewise.
26614 * po/POTFILES: Add new files.
26615
da8d5c53
CW
266162010-01-02 Colin Watson <cjwatson@ubuntu.com>
26617
26618 * term/i386/pc/at_keyboard.c
26619 (keyboard_controller_wait_untill_ready): Rename to ...
26620 (keyboard_controller_wait_until_ready): ... this. Update all users.
26621
33937904 266222010-01-01 Carles Pina i Estany <carles@pina.cat>
26623
26624 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
26625 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
26626 string using string width.
26627 * normal/menu_text.c (grub_print_message_indented): Use
26628 grub_print_spaces and not print_spaces.
26629 (print_timeout): Likewise.
26630 (print_spaces): Move to...
26631 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
26632
3fd3b8d8
RM
266332010-01-01 Robert Millan <rmh.grub@aybabtu.com>
26634
26635 Import from Gnulib.
26636
26637 * gnulib/getdelim.c: New file.
26638 * gnulib/getline.c: Likewise.
26639
33433555
VS
266402009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
26641
26642 * include/grub/list.h (grub_assert_fail): Removed.
26643 (grub_bad_type_cast_real): New function.
26644 (grub_bad_type_cast): New macro.
26645 (GRUB_AS_LIST): Use grub_bad_type_cast.
26646 (GRUB_AS_LIST_P): Likewise.
e44721e8 26647 (GRUB_AS_NAMED_LIST): Likewise.
33433555 26648 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 26649 (GRUB_AS_PRIO_LIST): Likewise.
33433555 26650 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 26651 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 26652
f5a51306
VS
266532009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
26654
26655 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
26656 Fix syntax error.
26657
90d1e879
RM
266582009-12-29 Robert Millan <rmh.grub@aybabtu.com>
26659
26660 * configure.ac: Check for TARGET_CFLAGS initialization before we
26661 initialize it ourselves (sigh).
26662 Move a few modifications to TARGET_CFLAGS to be unconditional
26663 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
26664 eh_frame)
26665
26666 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
26667 * term/i386/pc/at_keyboard.c
26668 (keyboard_controller_wait_untill_ready): Likewise.
26669 (keyboard_controller_led): Rename `led_status' paramter to avoid
26670 name conflict.
26671
465b5a81 266722009-12-28 Carles Pina i Estany <carles@pina.cat>
26673
26674 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
26675 quotes.
26676
c181849b
VS
266772009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26678
26679 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
26680
9c8739a4
VS
266812009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26682
26683 * normal/menu_text.c (grub_print_message_indented): Prevent
26684 past-the-end-of-array dereference.
26685
3e74249c
VS
266862009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26687
26688 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
26689 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
26690
64fd18ed 266912009-12-27 Carles Pina i Estany <carles@pina.cat>
26692
26693 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
26694 * normal/main.c (grub_normal_read_line): Remove a space from the
26695 default prompt.
26696
714af9b9 266972009-12-27 Carles Pina i Estany <carles@pina.cat>
26698
26699 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
26700 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26701 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
26702 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
26703 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26704 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26705 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26706
82f3e412 267072009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 26708
26709 * video/readers/jpeg.c (cmd): Declare.
26710 (grub_cmd_jpegtest): Use `grub_command_t' type.
26711 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26712 Assign to `cmd'.
26713 (GRUB_MOD_FINI): Use `cmd' to unregister.
26714 * video/readers/png.c (cmd): Declare.
26715 (grub_cmd_pngtest): Use `grub_command_t' type.
26716 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26717 Assign to `cmd'.
26718 (GRUB_MOD_FINI): Use `cmd' to unregister.
26719 * video/readers/tga.c (cmd): Declare.
26720 (grub_cmd_tgatest): Use `grub_command_t' type.
26721 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26722 Assign to `cmd'.
26723 (GRUB_MOD_FINI): Use `cmd' to unregister.
26724
82f3e412 267252009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 26726
26727 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
26728 stops.
26729 * kern/corecmd.c (grub_register_core_commands): Likewise.
26730 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
26731 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
26732 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
26733 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26734 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
26735 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
26736 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
26737 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
26738 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26739 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26740 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26741 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26742 * normal/handler.c (insert_handler): Likewise.
26743 * normal/main.c (GRUB_MOD_INIT): Likewise.
26744 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26745
fdcdbb66 267462009-12-26 Carles Pina i Estany <carles@pina.cat>
26747
26748 * commands/help.c (grub_cmd_help): Print the command name before the
26749 summary.
26750 (GRUB_MOD_INIT): Remove command name from the summary.
26751 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 26752 string as summary.
fdcdbb66 26753 * lib/arg.c (find_long): Print the command name before the summary.
26754 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
26755 summary.
26756 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
26757 * commands/cat.c (GRUB_MOD_INIT): Likewise.
26758 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
26759 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26760 * commands/crc.c (GRUB_MOD_INIT): Likewise.
26761 * commands/date.c (GRUB_MOD_INIT): Likewise.
26762 * commands/echo.c (GRUB_MOD_INIT): Likewise.
26763 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
26764 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
26765 * commands/handler.c (GRUB_MOD_INIT): Likewise.
26766 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
26767 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
26768 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
26769 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
26770 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
26771 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
26772 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
26773 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
26774 * commands/ls.c (GRUB_MOD_INIT): Likewise.
26775 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
26776 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
26777 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
26778 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
26779 * commands/password.c (GRUB_MOD_INIT): Likewise.
26780 * commands/probe.c (GRUB_MOD_INIT): Likewise.
26781 * commands/read.c (GRUB_MOD_INIT): Likewise.
26782 * commands/search.c (GRUB_MOD_INIT): Likewise.
26783 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
26784 * commands/test.c (GRUB_MOD_INIT): Likewise.
26785 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
26786 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26787 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26788 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
26789 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26790 * lib/arg.c (GRUB_MOD_INIT): Likewise.
26791 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
26792 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
26793 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26794 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26795 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26796 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
26797 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
26798 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
26799
9c288be2
VS
268002009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26801
26802 Use search command for preliminar UUID search.
26803
26804 * commands/search.c: Split into ...
26805 * commands/search_wrap.c: ...this
26806 * commands/search.c: ...and this.
26807 * commands/search_file.c: New file.
26808 * commands/search_label.c: New file.
26809 * commands/search_uuid.c: New file.
26810 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
26811 Add commands/search_wrap.c, commands/search_file.c,
26812 commands/search_label.c and commands/search_uuid.c.
26813 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
26814 (search_mod_SOURCES): Set to commands/search_wrap.c.
26815 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
26816 search_label.mod.
26817 (search_fs_file_mod_SOURCES): New variable.
26818 (search_fs_file_mod_CFLAGS): Likewise.
26819 (search_fs_file_mod_LDFLAGS): Likewise.
26820 (search_label_mod_SOURCES): Likewise.
26821 (search_label_mod_CFLAGS): Likewise.
26822 (search_label_mod_LDFLAGS): Likewise.
26823 (search_fs_uuid_mod_SOURCES): New variable.
26824 (search_fs_uuid_mod_CFLAGS): Likewise.
26825 (search_fs_uuid_mod_LDFLAGS): Likewise.
26826 (fs_file_mod_SOURCES): Removed.
26827 (fs_file_mod_CFLAGS): Likewise.
26828 (fs_file_mod_LDFLAGS): Likewise.
26829 (fs_uuid_mod_SOURCES): Removed.
26830 (fs_uuid_mod_CFLAGS): Likewise.
26831 (fs_uuid_mod_LDFLAGS): Likewise.
26832 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
26833 Set to util/grub-install.in.
26834 * disk/fs_file.c: Removed.
26835 * disk/fs_uuid.c: Likewise.
26836 * include/grub/search.h: New file.
26837 * util/grub-install.in: Handle sparc64.
26838 Create and use load.cfg.
26839 * util/sparc64/ieee1275/grub-install.in: Removed.
26840
db943399
VS
268412009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26842
26843 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
26844 Ignore return status if CF is cleared.
26845 (grub_biosdisk_get_diskinfo_standard): Likewise.
26846
3fdae612
RM
268472009-12-25 Robert Millan <rmh.grub@aybabtu.com>
26848
26849 * term/i386/pc/at_keyboard.c
26850 (keyboard_controller_wait_untill_ready): New function.
26851 (grub_keyboard_controller_write, grub_keyboard_controller_read)
26852 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
26853 for keyboard polling, rather than duplicate the same loop. This
26854 saves a few bytes in code size.
26855
7ebaa2b4
VS
268562009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26857
26858 Support for (pxe[:server[:gateway]]) syntax and
26859 use environment variable for PXE.
26860
26861 * commands/i386/pc/pxecmd.c (options): Removed.
26862 (print_ip): Removed.
26863 (grub_cmd_pxe): Removed
26864 (grub_cmd_pxe_unload): New function.
26865 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
26866 (grub_pxe_your_ip): Made static.
26867 (grub_pxe_default_server_ip): Likewise.
26868 (grub_pxe_default_gateway_ip): Likewise.
26869 (grub_pxe_blksize): Likewise.
26870 (parse_ip): New function.
26871 (grub_pxe_open): Support server and gateway specification.
26872 (grub_pxe_close): Free disk->data.
26873 (grub_pxefs_open): Use disk->data.
26874 (grub_pxefs_read): Likewise.
26875 (grub_env_write_readonly): New function.
26876 (set_mac_env): Likewise.
26877 (set_env_limn_ro): Likewise.
26878 (parse_dhcp_vendor): Likewise.
26879 (grub_pxe_detect): Set the environment variables.
26880 (set_ip_env): New function.
26881 (write_ip_env): Likewise.
26882 (grub_env_write_pxe_default_server): Likewise.
26883 (grub_env_write_pxe_default_gateway): Likewise.
26884 (grub_env_write_pxe_blocksize): Likewise.
26885 (GRUB_MOD_INIT(pxe)): Set environment variables.
26886 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
26887 (grub_pxe_mac_addr_t): ... this. All users updated.
26888 (grub_pxe_your_ip): Removed.
26889 (grub_pxe_server_ip): Likewise.
26890 (grub_pxe_gateway_ip): Likewise.
26891 (grub_pxe_blksize): Likewise.
26892
ec5f98ab 268932009-12-25 Carles Pina i Estany <carles@pina.cat>
26894
26895 * commands/help.c: Include `<grub/i18n.h>'.
26896 (grub_cmd_help): Gettextizze.
26897 (GRUB_MOD_INIT): Likewise.
26898 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
26899 (GRUB_MOD_INIT): Gettextizze.
26900 * commands/search.c: Include `<grub/i18n.h>'.
26901 (options): Gettextizze.
26902 (GRUB_MOD_INIT): Gettextizze.
26903 * lib/arg.c: Include `<grub/i18n.h>'.
26904 (help_options): Gettextizze.
26905 (find_long): Likewise.
26906 (grub_arg_show_help): Likewise.
26907 * normal/dyncmd.c: Include `<grub/i18n.h>'.
26908 (read_command_list): Gettextizze.
26909 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 26910 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 26911
22815526
RM
269122009-12-25 Robert Millan <rmh.grub@aybabtu.com>
26913
26914 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
26915 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
26916 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
26917 (led_status): New variable.
26918 (keyboard_controller_led): New function.
26919 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
26920 update led status for caps lock, num lock and scroll lock.
26921
0ad46fd7
FZ
269222009-12-25 Felix Zielcke <fzielcke@z-51.de>
26923
26924 * util/hostdisk.c (open_device): Fix a comment.
26925
d0e158c2
RM
269262009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26927
26928 * util/grub-install.in (host_os): New variable.
26929 * util/i386/efi/grub-install.in (host_os): Likewise.
26930
401c0ad6
RM
269312009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26932
26933 * util/mkisofs/write.c (padblock_write): Abort when given an
26934 excedingly large embed image, instead of silently truncating it.
26935
d14d3370
RM
269362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26937
26938 * include/multiboot.h: Indentation fixes.
26939
eeed10b4
RM
269402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26941
26942 * include/multiboot.h (struct multiboot_aout_symbol_table)
26943 (struct multiboot_elf_section_header_table): New structure
26944 declarations (stolen from GRUB Legacy).
26945 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
26946 table information.
26947
26948 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
26949 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
26950 type aliases.
26951
681c70ab
RM
269522009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26953
26954 * include/multiboot.h: Make comments src2texi-friendly.
26955
e4d47d8d
RM
269562009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26957
26958 For consistency with [multiboot]/docs/boot.S.
26959
26960 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
26961 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
26962 (MULTIBOOT_MAGIC2): Rename from this ...
26963 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
26964
a0b70bda
RM
269652009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26966
26967 * include/multiboot.h: Remove `<grub/types.h>'.
26968 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
26969 types. Update all users.
26970
61ba42be 269712009-12-25 Carles Pina i Estany <carles@pina.cat>
26972
26973 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
26974 `couldn't' and `can not' by `cannot'.
26975 * commands/i386/pc/drivemap.c: Likewise.
26976 * disk/ata.c: Likewise.
26977 * disk/ieee1275/nand.c: Likewise.
26978 * fs/affs.c: Likewise.
26979 * fs/fat.c: Likewise.
26980 * fs/hfs.c: Likewise.
26981 * fs/hfsplus.c: Likewise.
26982 * fs/iso9660.c: Likewise.
26983 * fs/jfs.c: Likewise.
26984 * fs/minix.c: Likewise.
26985 * fs/reiserfs.c: Likewise.
26986 * fs/sfs.c: Likewise.
26987 * fs/udf.c: Likewise.
26988 * fs/ufs.c: Likewise.
26989 * fs/xfs.c: Likewise.
26990 * loader/powerpc/ieee1275/linux.c: Likewise.
26991 * loader/sparc64/ieee1275/linux.c: Likewise.
26992 * util/grub-probe.c: Likewise.
26993 * util/misc.c: Likewise.
26994
7fd0baee 269952009-12-24 Carles Pina i Estany <carles@pina.cat>
26996
26997 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
26998 grub_errno calls.
26999 * commands/acpi.c: Likewise.
27000 * commands/blocklist.c: Likewise.
27001 * commands/efi/loadbios.c: Likewise.
27002 * commands/i386/pc/drivemap.c: Likewise.
27003 * commands/loadenv.c: Likewise.
27004 * commands/memrw.c: Likewise.
27005 * commands/password.c: Likewise.
27006 * commands/videotest.c: Likewise.
27007 * disk/ata.c: Likewise.
27008 * disk/ata_pthru.c: Likewise.
27009 * disk/dmraid_nvidia.c: Likewise.
27010 * disk/ieee1275/nand.c: Likewise.
27011 * disk/ieee1275/ofdisk.c: Likewise.
27012 * disk/loopback.c: Likewise.
27013 * disk/lvm.c: Likewise.
27014 * disk/mdraid_linux.c: Likewise.
27015 * disk/raid.c: Likewise.
27016 * disk/raid6_recover.c: Likewise.
27017 * disk/scsi.c: Likewise.
27018 * efiemu/main.c: Likewise.
27019 * efiemu/mm.c: Likewise.
27020 * efiemu/pnvram.c: Likewise.
27021 * efiemu/symbols.c: Likewise.
27022 * font/font.c: Likewise.
27023 * fs/cpio.c: Likewise.
27024 * fs/hfsplus.c: Likewise.
27025 * fs/iso9660.c: Likewise.
27026 * fs/jfs.c: Likewise.
27027 * fs/minix.c: Likewise.
27028 * fs/ntfs.c: Likewise.
27029 * fs/ntfscomp.c: Likewise.
27030 * fs/reiserfs.c: Likewise.
27031 * fs/ufs.c: Likewise.
27032 * fs/xfs.c: Likewise.
27033 * gettext/gettext.c: Likewise.
27034 * include/grub/auth.h: Likewise.
27035 * kern/elf.c: Likewise.
27036 * kern/file.c: Likewise.
27037 * kern/ieee1275/init.c: Likewise.
27038 * kern/ieee1275/mmap.c: Likewise.
27039 * kern/ieee1275/openfw.c: Likewise.
27040 * kern/powerpc/dl.c: Likewise.
27041 * kern/sparc64/dl.c: Likewise.
27042 * lib/arg.c: Likewise.
27043 * loader/i386/bsd.c: Likewise.
27044 * loader/i386/bsdXX.c: Likewise.
27045 * loader/i386/efi/linux.c: Likewise.
27046 * loader/i386/efi/xnu.c: Likewise.
27047 * loader/i386/ieee1275/linux.c: Likewise.
27048 * loader/i386/linux.c: Likewise.
27049 * loader/i386/multiboot.c: Likewise.
27050 * loader/i386/pc/linux.c: Likewise.
27051 * loader/i386/pc/multiboot2.c: Likewise.
27052 * loader/i386/xnu.c: Likewise.
27053 * loader/ieee1275/multiboot2.c: Likewise.
27054 * loader/macho.c: Likewise.
27055 * loader/machoXX.c: Likewise.
27056 * loader/multiboot2.c: Likewise.
27057 * loader/multiboot_loader.c: Likewise.
27058 * loader/powerpc/ieee1275/linux.c: Likewise.
27059 * loader/sparc64/ieee1275/linux.c: Likewise.
27060 * loader/xnu.c: Likewise.
27061 * loader/xnu_resume.c: Likewise.
27062 * mmap/i386/pc/mmap.c: Likewise.
27063 * normal/menu_viewer.c: Likewise.
27064 * partmap/acorn.c: Likewise.
27065 * partmap/amiga.c: Likewise.
27066 * partmap/apple.c: Likewise.
27067 * script/lexer.c: Likewise.
27068 * term/gfxterm.c: Likewise.
27069 * term/i386/pc/serial.c: Likewise.
27070 * term/i386/pc/vga.c: Likewise.
27071 * term/ieee1275/ofconsole.c: Likewise.
27072 * term/terminfo.c: Likewise.
27073 * video/bitmap.c: Likewise.
27074 * video/efi_gop.c: Likewise.
27075 * video/efi_uga.c: Likewise.
27076 * video/fb/video_fb.c: Likewise.
27077 * video/i386/pc/vbe.c: Likewise.
27078 * video/readers/tga.c: Likewise.
27079 * video/video.c: Likewise.
27080
0ad46fd7 270812009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
27082
27083 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
27084 * commands/lspci.c: Likewise.
27085 * commands/probe.c: Likewise.
27086 * commands/xnu_uuid.c: Likewise.
27087 * conf/i386-coreboot.rmk: Likewise.
27088 * conf/i386-efi.rmk: Likewise.
27089 * conf/i386-ieee1275.rmk: Likewise.
27090 * conf/i386-pc.rmk: Likewise.
27091 * conf/powerpc-ieee1275.rmk: Likewise.
27092 * conf/sparc64-ieee1275.rmk: Likewise.
27093 * conf/x86_64-efi.rmk: Likewise.
27094 * fs/i386/pc/pxe.c: Likewise.
27095 * gettext/gettext.c: Likewise.
27096 * include/grub/efi/graphics_output.h: Likewise.
27097 * include/grub/i386/pc/memory.h: Likewise.
27098 * kern/env.c: Likewise.
27099 * kern/i386/qemu/startup.S: Likewise.
27100 * lib/i386/pc/biosnum.c: Likewise.
27101 * lib/i386/relocator.c: Likewise.
27102 * lib/i386/relocator_asm.S: Likewise.
27103 * lib/relocator.c: Likewise.
27104 * loader/i386/bsd.c: Likewise.
27105 * loader/i386/multiboot.c: Likewise.
27106 * loader/i386/pc/chainloader.c: Likewise.
27107 * loader/i386/xnu.c: Likewise.
27108 * loader/xnu.c: Likewise.
27109 * normal/main.c: Likewise.
27110 * normal/menu_text.c: Likewise.
27111 * util/getroot.c: Likewise.
27112 * util/grub-mkconfig_lib.in: Likewise.
27113 * util/grub.d/00_header.in: Likewise.
27114 * util/i386/pc/grub-mkimage.c: Likewise.
27115 * util/mkisofs/eltorito.c: Likewise.
27116 * util/mkisofs/exclude.h: Likewise.
27117 * util/mkisofs/hash.c: Likewise.
27118 * util/mkisofs/iso9660.h: Likewise.
27119 * util/mkisofs/joliet.c: Likewise.
27120 * util/mkisofs/mkisofs.c: Likewise.
27121 * util/mkisofs/mkisofs.h: Likewise.
27122 * util/mkisofs/multi.c: Likewise.
27123 * util/mkisofs/name.c: Likewise.
27124 * util/mkisofs/rock.c: Likewise.
27125 * util/mkisofs/tree.c: Likewise.
27126 * util/mkisofs/write.c: Likewise.
27127 * video/efi_gop.c: Likewise.
27128
009ec743
VS
271292009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
27130
27131 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
27132 size counting.
27133
0ad46fd7 271342009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
27135
27136 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
27137 * genmk.rb (class SCRIPT): Modify the target file instead of source.
27138
d3d30ea0
VS
271392009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27140
27141 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
27142 (GRUB_MOD_INIT(memrw)): Update help line.
27143
a34f5c70
VS
271442009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27145
27146 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
27147 Use grub_extcmd_t. All users updated.
27148 (options): New variable.
27149 (grub_cmd_read): Restructure for readability. Support "-v" option.
27150 (grub_cmd_write): Restructure for readability.
27151
0ad46fd7 271522009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
27153
27154 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
27155
0ad46fd7 271562009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
27157
27158 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
27159 with the actual contents of the correspondending make variable.
27160 * util/grub-mkrescue.in (pkglib_DATA): New variable.
27161 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
27162 specifying `*.lst' and `efiemu??.o'
27163
0ad46fd7 271642009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
27165
27166 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
27167 after function name.
27168 Noticed by Rene Engelhard <rene@debian.org>.
27169
dc77a799
VS
271702009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27171
27172 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
27173 (options): New variable.
27174 (iospace): Likewise.
27175 (grub_lspci_iter): List IO spaces if "-i" was given.
27176 (grub_cmd_lspci): Parse options.
27177 (GRUB_MOD_INIT(lspci)): Use extcmd.
27178 (GRUB_MOD_FINI(lspci)): Likewise.
27179
0ad46fd7 271802009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
27181
27182 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
27183 `function' keyword.
27184 Patch by Tony Mancill <tmancill@debian.org>.
27185
b5d5993b
VS
271862009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27187
27188 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
27189 (grub_uhci_portstatus): Likewise.
27190 (grub_uhci_portstatus): Add necessary delay.
11d18281 27191 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 27192
941903f2 271932009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 27194
941903f2 27195 * commands/acpi.c (options): Fix capitalizations and/or full stops.
27196 (GRUB_MOD_INIT): Likewise.
27197 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 27198 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
27199 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 27200 * commands/efi/loadbios.c (enable_rom_area): Likewise.
27201 (enable_rom_area): Likewise.
27202 (GRUB_MOD_INIT): Likewise.
27203 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27204 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
27205 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27206 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
27207 * commands/hexdump.c (options): Likewise.
27208 * commands/i386/cpuid.c (options): Likewise.
27209 (GRUB_MOD_INIT): Likewise.
27210 * commands/i386/pc/drivemap.c (options): Likewise.
27211 (GRUB_MOD_INIT): Likewise.
27212 * commands/i386/pc/halt (options): Likewise.
27213 (GRUB_MOD_INIT): Likewise.
27214 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27215 * commands/i386/pc/pxecmd.c (options): Likewise.
27216 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
27217 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
27218 * commands/keystatus.c (options): Likewise.
27219 (GRUB_MOD_INIT): Likewise.
27220 * commands/loadenv.c (options): Likewise.
27221 * commands/ls.c (options): Likewise.
27222 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27223 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27224 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27225 * commands/parttool.c (helpmsg): Likewise.
27226 * commands/probe.c (options): Likewise.
27227 * commands/read.c (GRUB_MOD_INIT): Likewise.
27228 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
27229 * commands/search.c (options): Likewise.
27230 * commands/sleep.c (options): Likewise.
27231 * commands/test.c (GRUB_MOD_INIT): Likewise.
27232 * commands/true.c (GRUB_MOD_INIT): Likewise.
27233 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
27234 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
27235 * lib/arg.c (help_options): Likewise.
e9bbb4e7 27236 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
27237 `$(XGETTEXT)'.
98a50553 27238 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 27239
0ad46fd7 272402009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 27241
ef3c2c3a 27242 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
27243 instead of specifying them explicit.
27244
7922f68b
RM
272452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27246
27247 * NEWS: Add grub-probe support for GNU/Hurd.
27248
537ce47f
RM
272492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27250
27251 * NEWS: gettext was added after 1.97.
27252
9b214e3a
RM
272532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27254
27255 * util/mkisofs/msdos_partition.h: New file (based on
27256 include/grub/msdos_partition.h).
27257 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
27258 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
27259 (ld_options, main): Recognize --protective-msdos-label.
27260 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
27261 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
27262 (padblock_write): If `use_protective_msdos_label' is set, patch a
27263 protective DOS-style label in the output image.
27264
27265 * util/grub-mkrescue.in: Use --protective-msdos-label.
27266
e9309813
RM
272672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27268
27269 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
27270 boot.
27271
0ae56929
RM
272722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27273
27274 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
27275 variables.
27276 (ld_options, main): Recognize `--embedded-boot'.
27277 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
27278 declarations.
27279 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
27280 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
27281 (padblock_write): Likewise. Rewrite to support embedded boot image.
27282
27283 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
27284 for BIOS-based disk boot instead of only ElTorito.
27285
b15937b1
RM
272862009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27287
27288 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
27289 build (not needed for bootstrap).
27290
52cc3ce0
RM
272912009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27292
27293 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
27294 from i386-pc build (not needed for bootstrap).
27295 Rewrite a pair of strings.
27296
36f5ff04
RM
272972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27298
27299 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
27300
973c6c85 273012009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
27302
27303 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
27304
05d21547
AB
273052009-12-21 Andreas Born <futur.andy@googlemail.com>
27306
27307 * kern/env.c (grub_env_context_open): Mark exported variable for
27308 reexport.
27309
0175d51f
AB
273102009-12-21 Andreas Born <futur.andy@googlemail.com>
27311
27312 * kern/env.c (grub_env_export): Create nonexistent variables before
27313 exporting.
27314
7f39d92f 273152009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 27316
7f39d92f 27317 * include/grub/auth.h: Include `<grub/i18n.h>'.
27318 (GRUB_GET_PASSWORD): Gettextizze string.
27319 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
27320 menu_text.c.
27321 (grub_utf8_to_ucs4_alloc): Fix indentation.
27322 (grub_print_ucs4): Likewise.
27323 (grub_getstringwidth): Likewise.
27324 (print_message_indented): New declaration.
27325 * normal/auth.c: Include `<grub/i18n.h>'.
27326 (grub_auth_check_authentication): Gettexttize string.
27327 * normal/cmdline.c: Include `<grub/i18n.h>'.
27328 (grub_cmdline_get): Gettextizze.
27329 * normal/color.c: Include `<grub/i18n.h>'.
27330 (grub_parse_color_name_pair): Gettexttize strings.
27331 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
27332 string (use `print_message_indented').
27333 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
27334 `include/grub/normal.h'.
27335 (print_message_indented): Renamed to ...
27336 (grub_print_message_indented): ... this. Remove `static' qualifer (now
27337 used in normal/main.c).
27338 (print_message): Use `grub_print_message_indented' instead of
27339 `print_message_indented'.
27340 (print_timeout): Likewise.
27341 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
27342 (grub_normal_print_device_info): Gettexttize strings.
27343 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
27344
3041d898
VS
273452009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
27346
27347 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
27348 of arguments. Return number of tokens and not arguments. All users
27349 updated.
27350
de15bf8e
VS
273512009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
27352
27353 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
27354 non-MSDOS paritions.
27355
e0a6ca52
VS
273562009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
27357
27358 * include/grub/types.h (UNUSED): Removed since it conflicts with
27359 NetBSD headers. All users changed to direct __attribute__ ((unused)).
27360 Reported by Grégoire Sutre.
27361
b99518d1 273622009-12-19 Carles Pina i Estany <carles@pina.cat>
27363
27364 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
27365 (grub_print_ucs4_alloc): Likewise.
27366 (grub_getstringwidth): Likewise.
27367 * normal/main.c (grub_normal_init_page): Gettextize version string.
27368 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
27369 (getstringwidth): Renamed to ...
27370 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
27371 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
27372 (grub_print_ucs4): Remove `static' qualifer (now used in
27373 normal/main.c).
27374 * po/POTFILES: Add normal/main.c.
27375
bfd5e52b 273762009-12-19 Carles Pina i Estany <carles@pina.cat>
27377
27378 * normal/menu_text.c (STANDARD_MARGIN): New macro.
27379 (print_message_indented): Add `margin_left' and `margin_right'
27380 parameters.
27381 (print_message): Update `print_message_indented' calls. Adds '\n' to the
27382 strings.
27383 (print_timeout): Use `print_message_indented' to print the message.
27384 Deletes `second_stage' parameter.
27385 (run_menu): Update `print_timeout' calls.
27386
5a1ad2b9
VS
273872009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27388
27389 Fix console palette on OpenFirmware.
27390
27391 * term/ieee1275/ofconsole.c (MAX): Removed.
27392 (colors): Redone based on VGA palette.
27393 (grub_ofconsole_setcolor): Discard brightness bit since only 8
27394 colors are supported.
27395 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
27396
b045f00a
VS
273972009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27398
27399 Fix potential EfiEmu double prepare.
27400
27401 * efiemu/main.c (prepared): New variable
27402 (grub_efiemu_unload): Set prepare to '0'.
27403 (grub_efiemu_prepare): Return if already prepared. Set prepared.
27404
27405 set_virtual_address_map support.
27406
27407 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
27408 prototype.
27409 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
27410 prototype.
27411 (grub_efiemu_crc32): Likewise.
27412 (grub_efiemu_crc64): Likewise.
27413 (grub_efiemu_set_virtual_address_map): Likewise.
27414 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
27415 New definition.
27416 (grub_autoefi_set_virtual_address_map): Likewise.
27417 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
27418 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
27419 Restructure flow to accomodate it.
27420 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
27421 (grub_efiemu_crc): Recompute CRC32.
27422 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
27423 (efiemu_ptv_relocated): ... this. Made global. All users updated.
27424 * efiemu/symbols.c (relocated_handle): New variable.
27425 (grub_efiemu_free_syms): Free relocated_handle.
27426 (grub_efiemu_alloc_syms): Allocate relocated_handle.
27427 (grub_efiemu_write_sym_markers): New function.
27428 (grub_efiemu_set_virtual_address_map): Likewise.
27429
27430 Newer XNU parameters.
27431
27432 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
27433 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
27434 (grub_xnu_fill_devicetree): New prototype.
27435 (grub_xnu_heap_real_start): New variable.
27436 * loader/xnu.c (get_name_ptr): New function.
27437 (grub_xnu_load_driver): Fill namelen and name.
27438
27439 64-bit xnu support.
27440
27441 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
27442 and 'loader/macho64.c'.
27443 * conf/i386-pc.rmk: Likewise.
27444 * conf/x86_64-efi.rmk: Likewise.
27445 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
27446 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
27447 * include/grub/macho.h (grub_macho_segment64): New structure.
27448 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
27449 (grub_macho_size32): ... to this.
27450 (grub_macho32_get_entry_point): Renamed from ...
27451 (grub_macho_get_entry_point32): ... to this.
27452 (grub_macho_contains_macho64): New prototype.
27453 (grub_macho_size64): Likewise.
27454 (grub_macho_get_entry_point64): Likewise.
27455 (grub_macho32_load): Renamed from ...
27456 (grub_macho_load32): ... to this.
27457 (grub_macho32_filesize): Renamed from ...
27458 (grub_macho_filesize32): ... to this.
27459 (grub_macho32_readfile): Renamed from ...
27460 (grub_macho_readfile32): ... to this.
27461 (grub_macho_filesize64): New prototype.
27462 (grub_macho_readfile64): Likewise.
27463 (grub_macho_parse32): Likewise.
27464 (grub_macho_parse64): Likewise.
27465 * loader/macho.c: Split into ...
27466 * loader/machoXX.c: ... and this. Replace 32 with XX.
27467 * loader/macho32.c: New file.
27468 * loader/macho64.c: Likewise.
27469 * loader/xnu.c (grub_xnu_is_64bit): New variable.
27470 (grub_cmd_xnu_kernel): Make 32-bit only.
27471 (grub_cmd_xnu_kernel64): New function.
27472 (grub_xnu_load_driver): Support Mach-O 64.
27473 (grub_cmd_xnu_mkext): Likewise.
27474 * util/grub.d/30_os-prober.in (osx_entry): New function.
27475 Generate entries for 64-bit boot too.
27476
27477 Eliminate ad-hoc tree format in XNU and EfiEmu.
27478
27479 * efiemu/main.c (grub_efiemu_prepare): Update comment.
27480 * efiemu/pnvram.c: Rewritten to use environment variables.
27481 All users updated.
27482
27483 Inline utf16_to_utf8.
27484
27485 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
27486 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
27487 All users updated.
27488 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
27489
27490 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
27491 * commands/usbtest.c (grub_usb_get_string): ... move here.
27492 (usb_print_str): Fix error handling.
27493 * include/grub/usb.h (grub_usb_get_string): Remove.
27494
27495 UTF-8 to UTF-16 transformation.
27496
27497 * conf/common.rmk (pkglib_MODULES): Add charset.mod
27498 (charset_mod_SOURCES): New variable.
27499 (charset_mod_CFLAGS): Likewise.
27500 (charset_mod_LDFLAGS): Likewise.
27501 * include/grub/utf.h: New file.
27502 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
27503
27504 Support for device properties.
27505
27506 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
27507 (grub_xnu_devprop_device_header): Likewise.
27508 (grub_xnu_devprop_device_descriptor): Likewise.
27509 (grub_xnu_devprop_add_device): New prototype.
27510 (grub_xnu_devprop_remove_device): Likewise.
27511 (grub_xnu_devprop_remove_property): Likewise.
27512 (grub_xnu_devprop_add_property_utf8): Likewise.
27513 (grub_xnu_devprop_add_property_utf16): Likewise.
27514 (grub_cpu_xnu_init): Likewise.
27515 (grub_cpu_xnu_fini): Likewise.
27516 (grub_cpu_xnu_unload): Likewise.
27517 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
27518 (property_descriptor): Likewise.
27519 (devices): New variable.
27520 (grub_xnu_devprop_remove_property): New function.
27521 (grub_xnu_devprop_add_device): Likewise.
27522 (grub_xnu_devprop_remove_device): Likewise.
27523 (grub_xnu_devprop_add_property): Likewise.
27524 (grub_xnu_devprop_add_property_utf8): Likewise.
27525 (grub_xnu_devprop_add_property_utf16): Likewise.
27526 (hextoval): Likewise.
27527 (grub_cpu_xnu_fill_devprop): Likewise.
27528 (grub_cmd_devprop_load): Likewise.
27529 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
27530 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
27531 (cmd_devprop_load): New variable.
27532 (grub_cpu_xnu_init): New function.
27533 (grub_cpu_xnu_fini): Likewise.
27534 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
27535 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
27536 (grub_cmd_xnu_devtree): Likewise.
27537 (hextoval): New function.
27538 (unescape): Likewise.
27539 (grub_xnu_fill_devicetree): Likewise.
27540
27541 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
27542 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
27543
0945f181
VS
275442009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27545
27546 Workaround for broken ATI VBE.
27547
27548 * video/i386/pc/vbe.c (last_set_mode): New variable.
27549 (grub_vbe_set_video_mode): Set 'last_set_mode'.
27550 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
27551 (grub_video_vbe_setup): Don't check for reserved flag.
27552
0ad46fd7 275532009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
27554
27555 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
27556 the `find' command.
27557
c179ebe4
VS
275582009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
27559
27560 UUID support for HFS.
27561
27562 * fs/hfs.c (grub_hfs_uuid): New function.
27563 (grub_hfs_fs): New value .uuid.
27564 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
27565
0ad46fd7 275662009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
27567
27568 Fix a segfault with parsing unknown long options.
27569
27570 * util/grub-mkrelpath.c (options): Zero terminate it.
27571
c4a3e41a
CPE
275722009-12-13 Carles Pina i Estany <carles@pina.cat>
27573
27574 * include/grub/misc.h (grub_puts): New declaration.
27575 (grub_puts_): Likewise.
a22008a6 27576 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
27577 (grub_puts_): Likewise.
27578
2e8a7602
RM
275792009-12-13 Robert Millan <rmh.grub@aybabtu.com>
27580
27581 * util/grub-probe.c (probe): Improve error message.
27582
b50b77b9
RM
275832009-12-13 Robert Millan <rmh.grub@aybabtu.com>
27584
27585 * loader/i386/multiboot_elfxx.c
27586 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
27587 initialization.
27588
275892009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
27590
27591 Relocator framework
27592
27593 * loader/i386/xnu_helper.S: Removed. All users updated.
27594 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
27595 (relocator_mod_SOURCES): New variable.
27596 (relocator_mod_CFLAGS): Likewise.
27597 (relocator_mod_LDFLAGS): Likewise.
27598 (relocator_mod_ASFLAGS): Likewise.
27599 * conf/x86_64.rmk: Likewise.
27600 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
27601 (grub_multiboot_payload_entry_offset): Likewise.
27602 (grub_multiboot_forward_relocator): Likewise.
27603 (grub_multiboot_forward_relocator_end): Likewise.
27604 (grub_multiboot_backward_relocator): Likewise.
27605 (grub_multiboot_backward_relocator_end): Likewise.
27606 (grub_multiboot_payload_eip): New variable.
27607 (grub_multiboot_payload_orig): Likewise.
27608 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
27609 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
27610 * include/grub/i386/memory.h
27611 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
27612 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
27613 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
27614 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
27615 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
27616 * include/grub/i386/relocator.h: New file.
27617 * include/grub/x86_64/relocator.h: Likewise.
27618 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
27619 (XNU_RELOCATOR): New macro.
27620 (grub_xnu_launcher_start): Remove.
27621 (grub_xnu_launcher_end): Likewise.
27622 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
27623 (grub_xnu_heap_real_start): Remove.
27624 (grub_xnu_heap_start): Change to void *. All users updated.
27625 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
27626 * lib/i386/relocator.c: New file.
27627 * lib/i386/relocator_asm.S: Likewise.
27628 * lib/i386/relocator_backward.S: Likewise.
27629 * lib/mips/relocator.c: Likewise.
27630 * lib/mips/relocator_asm.S: Likewise.
27631 * lib/relocator.c: Likewise.
27632 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
27633 (entry): Removed.
27634 (playground): Likewise.
27635 (grub_multiboot_payload_orig): New variable.
27636 (grub_multiboot_payload_dest): Likewise.
27637 (grub_multiboot_payload_size): Likewise.
27638 (grub_multiboot_payload_eip): Likewise.
27639 (grub_multiboot_payload_esp): Likewise.
27640 (grub_multiboot_boot): Use grub_relocator32_boot.
27641 (grub_multiboot_unload): Free relocators.
27642 (grub_multiboot): Setup stack. Use relocators.
27643 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
27644 (grub_multiboot_load_elfXX): Use relocators.
27645 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
27646 (grub_multiboot_payload_size): Likewise.
27647 (grub_multiboot_payload_dest): Likewise.
27648 (grub_multiboot_payload_entry_offset): Likewise.
27649 (grub_multiboot_forward_relocator): Likewise.
27650 (grub_multiboot_backward_relocator): Likewise.
27651 (grub_multiboot_real_boot): Likewise.
27652 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
27653 (grub_xnu_entry_point): Likewise.
27654 (grub_xnu_arg1): Likewise.
27655 (grub_xnu_stack): Likewise.
27656 (grub_xnu_launch): Removed.
27657 (grub_xnu_boot_resume): New function.
27658 (grub_xnu_boot): Use relocators.
27659 * loader/i386/xnu_helper.S: Removed.
27660 * loader/xnu.c (grub_xnu_heap_start): New variable.
27661 (grub_xnu_heap_size): Likewise.
27662 (grub_xnu_heap_malloc): Use relocators.
27663 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
27664
29eb90c6
VS
276652009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
27666
27667 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
27668 anything.
27669
31027430
CPE
276702009-12-13 Carles Pina i Estany <carles@pina.cat>
27671
27672 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
27673 GRUB_ERR_NONE before calling grub_env_set.
27674
dc0c71d9
RM
276752009-12-12 Robert Millan <rmh@aybabtu.com>
27676
27677 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
27678 * genmk.rb (video): New variable.
27679 (CLEANFILES, VIDEOFILES): Add #{video}.
27680 (#{video}): New target rule.
27681 * genvideolist.sh: New file.
27682 * Makefile.in (pkglib_DATA): Add video.lst.
27683 (video.lst): New target rule.
27684 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
27685 `video.lst'.
27686 * util/grub.d/30_os-prober.in: Replace `vbe' with
27687 ${GRUB_VIDEO_BACKEND}.
27688
2a4bfcf0
RM
276892009-12-11 Robert Millan <rmh.grub@aybabtu.com>
27690
27691 * THANKS: Add David Miller.
27692
2a3aa4d5
RM
276932009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
27694
27695 libpciaccess support.
27696
27697 * Makefile.in (LIBPCIACCESS): New variable.
27698 (enable_grub_emu_pci): Likewise.
27699 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
27700 util/pci.c and commands/lspci.c.
27701 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
27702 * configure.ac (grub-emu-pci): New option.
27703 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
27704 (grub_pci_device_unmap_range): Likewise.
27705 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
27706 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
27707 (grub_pci_address_t) [!GRUB_UTIL]: New type.
27708 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
27709 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
27710 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
27711 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
27712 * include/grub/pciutils.h: New file.
27713 * util/pci.c: Likewise.
27714
0ad46fd7 277152009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
27716
27717 * util/misc.c: Don't include <errno.h> twice.
27718
0ad46fd7 277192009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
27720
27721 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
27722 name in an error message.
27723 (grub_biosdisk_rw): Likewise.
27724
2e59983c
VS
277252009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27726
27727 Eliminate NTFS 4Gib barrier.
27728
27729 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
27730 (read_run_data): Likewise.
27731 (grub_ntfs_read_run_list): Likewise.
27732 (grub_ntfs_read_block): Likewise.
27733 (grub_ntfs_iterate_dir): Likewise.
27734 (read_mft): Likewise.
27735 (read_data): Likewise.
27736 Use COM_LOG_LEN.
27737 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
27738 to avoid 64-bit division
27739 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
27740 (grub_ntfs_rlst): Use grub_disk_addr_t.
27741
71ee178a
VS
277422009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27743
27744 Eliminate grub-fstest 4Gib barrier.
27745
27746 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
27747 (read_file): Fix error reporting.
27748
2520d4b8
VS
277492009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27750
27751 Eliminate hexdump 4Gib barrier.
27752
27753 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
27754 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
27755
e1f27065
VS
277562009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27757
27758 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
27759 Fixes amarsh bug.
27760
1a0f7f45
RM
277612009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
27762
27763 Remove miscellaneous files in distclean target.
27764
27765 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
27766
c631d9fb
CW
277672009-12-09 Colin Watson <cjwatson@ubuntu.com>
27768
27769 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
27770 if they're already set. This resolves the conflict between my
27771 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
27772 fixing the --grub-probe option again.
27773 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
27774 change on 2009-10-06, so that we now once again source
27775 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
27776
7c7b6106
RM
277772009-12-08 Robert Millan <rmh.grub@aybabtu.com>
27778
27779 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
27780 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
27781 `util/devicemap.c'.
27782
e3069ec1
CPE
277832009-12-08 Carles Pina i Estany <carles@pina.cat>
27784
27785 * include/grub/misc.h (grub_printf_): New declaration.
27786 * kern/misc.c (grub_printf_): New definition.
27787 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
27788 instead of `grub_printf' and `_'.
27789 * normal/menu_entry.c (store_completion): Likewise.
27790 (run): Likewise.
27791 (grub_menu_entry_run): Likewise.
27792 * normal/menu_text.c (grub_wait_after_message): Likewise.
27793 (notify_booting): Likewise.
27794 (notify_fallback): Likewise.
27795 (notify_execution_failure): Likewise.
27796
d6ceebf1
CW
277972009-12-07 Colin Watson <cjwatson@ubuntu.com>
27798
27799 * configure.ac: Check for vasprintf.
27800 * util/misc.c (asprintf): Move allocation from here ...
27801 (vasprintf): ... to here. New function.
27802 (xasprintf): New function.
27803 * include/grub/util/misc.h (vasprintf, xasprintf): Add
27804 prototypes.
27805 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
27806 * util/grub-mkfont.c (write_font): Likewise.
27807 * util/grub-probe.c (probe): Likewise.
27808 * util/hostdisk.c (make_device_name): Likewise.
27809
de6daa8b
DM
278102009-12-06 David S. Miller <davem@sunset.davemloft.net>
27811
27812 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
27813 anything even prefixed with 'cdrom' as a cdrom.
27814
0ad46fd7 278152009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
27816
27817 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
27818 mount points.
27819
98d3dc02
CPE
278202009-12-05 Carles Pina i Estany <carles@pina.cat>
27821
27822 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
27823 grub_gettext_msg_list.
27824 (grub_gettext_gettranslation_from_position): Return const char *
27825 and not char *.
a2c1332b 27826 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
27827 returns from the list if existing there.
27828 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
27829 (grub_gettext_delete_list): Delete the list.
27830 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
27831 lang environment variable is changed.
27832 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
27833
b283f108
VS
278342009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27835
27836 Rename kernel.mod to kernel.img.
27837
27838 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
27839 (kernel_mod_EXPORTS): Rename to ...
27840 (kernel_img_EXPORTS): ... this.
27841 (kernel_mod_SOURCES): Rename to ...
27842 (kernel_img_SOURCES): ... this.
27843 (kernel_mod_HEADERS): Rename to ...
27844 (kernel_img_HEADERS): ... this. All users updated.
27845 (kernel_mod_CFLAGS): Rename to ...
27846 (kernel_img_CFLAGS): ... this.
27847 (kernel_mod_ASFLAGS): Rename to ...
27848 (kernel_img_ASFLAGS): ... this.
27849 (kernel_mod_LDFLAGS): Rename to ...
27850 (kernel_img_LDFLAGS): ... this.
27851 * conf/x86_64-efi.rmk: Likewise.
27852 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
27853 (read_kernel_image): ... this. All users updated.
27854 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
27855
69055f8a
CPE
278562009-12-05 Carles Pina i Estany <carles@pina.cat>
27857
27858 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
27859 (print_spaces): New function.
27860 (grub_print_ucs4): New function.
27861 (getstringwidth): New function.
27862 (print_message_indented): New function.
27863 (print_message): Gettexttize strings using print_message_indented.
27864 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
27865 width.
27866 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 27867 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
27868 Gettextize.
27869 * normal/menu_entry.c (store_completion): Cleanup the gettextized
27870 string.
27871 (run): Likewise.
27872 (grub_menu_entry_run): Likewise.
27873 * PO/POTFILES: Add normal/menu_entry.c.
27874
f616f51c
VS
278752009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27876
27877 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
27878
57bbe3be
CPE
278792009-12-05 Carles Pina i Estany <carles@pina.cat>
27880
27881 * util/grub-install.in: Install gettext .mo files.
27882 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
27883
013d67a1
CPE
278842009-12-05 Carles Pina i Estany <carles@pina.cat>
27885
27886 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
27887 grub_dprintf.
27888
fb954db0
RM
278892009-12-05 Robert Millan <rmh.grub@aybabtu.com>
27890
27891 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
27892 non-firmware-dependant one in realmode.S takes precedence.
27893
6b8474f8
RM
278942009-12-04 Robert Millan <rmh.grub@aybabtu.com>
27895
27896 * commands/halt.c: Replace misc arch-specific headers with
27897 `<grub/misc.h>'.
27898 * commands/reboot.c: Likewise.
27899 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
27900 `<grub/misc.h>'.
27901 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
27902 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
27903 (kernel_img_SOURCES): ... to here.
27904
27905 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
27906 * include/grub/i386/pc/init.h: Likewise.
27907 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27908 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27909
27910 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
27911
27912 * include/grub/i386/halt.h: Remove.
27913 * include/grub/i386/reboot.h: Likewise.
27914
27915 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
27916
4b2e6ca2
DM
279172009-12-03 David S. Miller <davem@sunset.davemloft.net>
27918
27919 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
27920 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
27921 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
27922 "progname.h"
27923 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
27924 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27925 (usage): Add missing comma in printf.
27926
5239348f
RM
279272009-12-02 Robert Millan <rmh.grub@aybabtu.com>
27928
27929 Use the same reboot approach on i386 coreboot and qemu as we do on
27930 BIOS.
27931
27932 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
27933 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
27934 * kern/i386/reboot.c: Remove.
27935 * include/grub/i386/reboot.h (grub_reboot): Export function.
27936 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
27937 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
27938 0xf000:0xfff0 instead of 0xffff:0x0000.
27939 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
27940 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
27941
ef34cbd4
RM
279422009-11-30 Robert Millan <rmh.grub@aybabtu.com>
27943
27944 Fix $srcdir != $objdir build.
27945
27946 * Makefile.in (po/%.po): Rewrite as ...
27947 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
27948
dc9837ea
ST
279492009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
27950
27951 Fix GNU/Hurd grub-install crash.
27952 * util/grub-probe.c (probe): Try to access `path' only when it is not
27953 NULL.
27954
2f857f98
VS
279552009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27956
27957 Correct module naming.
27958
27959 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
27960 (GRUB_MOD_INIT(efi_uga)): ... to this
27961 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
27962 (GRUB_MOD_FINI(efi_uga)): ... to this
27963 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
27964 (GRUB_MOD_INIT(efi_gop)): ... to this
27965 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
27966 (GRUB_MOD_FINI(efi_gop)): ... to this
27967
c5448046
RM
279682009-11-28 Robert Millan <rmh.grub@aybabtu.com>
27969
27970 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
27971 translatable.
27972 (usage): Translate `arg' strings using gettext().
27973 Thanks to Jordi Mallach for the suggestion.
27974
c85184ad
VS
279752009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27976
27977 GOP support. Based on patch from Bean
27978 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
27979
27980 * video/efi_gop.c: New file.
27981 * include/grub/efi/graphics_output.h: Likewise.
27982 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
27983 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
27984 variables.
27985 * conf/x86_64-efi.rmk: Likewise.
27986
8a4c48d8
VS
279872009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27988
27989 Rename efi_fb to efi_uga.
27990
27991 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
27992 'efi_uga.mod'.
27993 (efi_fb_mod_SOURCES): Rename this ...
27994 (efi_uga_mod_SOURCES): ... to this.
27995 (efi_fb_mod_CFLAGS): Rename this ...
27996 (efi_uga_mod_CFLAGS): ... to this.
27997 (efi_fb_mod_LDFLAGS): Rename this ...
27998 (efi_uga_mod_LDFLAGS): ... to this.
27999 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28000 'efi_uga.mod'.
28001 (efi_fb_mod_SOURCES): Rename this ...
28002 (efi_uga_mod_SOURCES): ... to this.
28003 (efi_fb_mod_CFLAGS): Rename this ...
28004 (efi_uga_mod_CFLAGS): ... to this.
28005 (efi_fb_mod_LDFLAGS): Rename this ...
28006 (efi_uga_mod_LDFLAGS): ... to this.
28007 * video/efi_fb.c: Move this ...
28008 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
28009
fb6c1a7b
RM
280102009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28011
28012 * po/README: New file. Explain our PO file workflow.
28013
3bc7896c
RM
280142009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28015
28016 * po/ChangeLog: Remove. Move relevant entries back to ...
28017 * ChangeLog: ... here.
28018 * po/ca.po: Remove (now handled by TLP).
28019 * po/id.po: Likewise.
28020 * po/zh_CN.po: Likewise.
28021 * Makefile.in (LINGUAS): Initialize in a way that supports
28022 empty set.
28023
9ed4841d
RM
280242009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28025
28026 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
28027 reliing on po/LINGUAS.
28028 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
28029 (po/%.po): ... this.
28030
0ad46fd7 280312009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
28032
28033 * util/i386/efi/grub-mkimage.c: Include "progname.h".
28034 (main): Use `program_name' instead of nonexistent `progname'.
28035
e30dd392
FZ
280362009-11-26 Felix Zielcke <fzielcke@z-51.de>
28037
28038 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28039 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
28040
7656de4f
RM
280412009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28042
28043 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
28044 commit.
28045 * conf/i386-efi.rmk: Likewise.
28046 * conf/i386-ieee1275.rmk: Likewise.
28047 * conf/powerpc-ieee1275.rmk: Likewise.
28048 * conf/sparc64-ieee1275.rmk: Likewise.
28049 * conf/x86_64-efi.rmk: Likewise.
28050
db77c4d4
FZ
280512009-11-26 Felix Zielcke <fzielcke@z-51.de>
28052
28053 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
28054
a755bb04
FZ
280552009-11-26 Felix Zielcke <fzielcke@z-51.de>
28056
28057 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
28058
8a4c07fd
RM
280592009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28060
28061 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
28062 (grub_mkdevicemap_SOURCES): New variable.
28063 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
28064 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
28065 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
28066 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
28067 (grub_mkdevicemap_SOURCES): Remove.
28068 * conf/i386-efi.rmk: Likewise.
28069 * conf/i386-ieee1275.rmk: Likewise.
28070 * conf/i386-pc.rmk: Likewise.
28071 * conf/powerpc-ieee1275.rmk: Likewise.
28072 * conf/sparc64-ieee1275.rmk: Likewise.
28073 * conf/x86_64-efi.rmk: Likewise.
28074 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
28075 (usage): Fix strings to use `program_name'.
28076 (main): Initialize gettext.
28077 * util/grub-editenv.c: Likewise.
28078 * util/grub-emu.c: Likewise.
28079 * util/grub-fstest.c: Likewise.
28080 * util/grub-mkdevicemap.c: Likewise.
28081 * util/grub-mkfont.c: Likewise.
28082 * util/grub-mkrelpath.c: Likewise.
28083 * util/grub-pe2elf.c: Likewise.
28084 * util/grub-probe.c: Likewise.
28085 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28086 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28087 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28088
28089 * util/misc.c: Include `"progname.h"'.
28090 (progname): Remove variable.
28091 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
28092
6f61ed55
FZ
280932009-11-25 Felix Zielcke <fzielcke@z-51.de>
28094
28095 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
28096 printf and print a newline after the menuentry header line.
28097 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28098
f022876b
FZ
280992009-11-25 Felix Zielcke <fzielcke@z-51.de>
28100
28101 autoconf >= 2.60 support $(localedir).
28102
28103 * INSTALL: Note that autoconf 2.60 is required.
28104 * configure.ac (AC_PREREQ): Bump to 2.60.
28105 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
28106 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28107
6717926e
YB
281082009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
28109
28110 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
28111 aclocal is run.
28112
08806a54
RM
281132009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28114
28115 * normal/main.c (grub_normal_read_line): Fix off-by-one
28116 buffer overflow.
28117
13b33fba
RM
281182009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28119
28120 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
28121 "parser.grub" in grub_command_execute() call.
28122
4a8572e9
CPE
281232009-11-24 Carles Pina i Estany <carles@pina.cat>
28124
28125 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
28126 * conf/i386-efi.rmk: Likewise.
28127 * conf/i386-ieee1275.rmk: Likewise.
28128 * conf/i386-pc.rmk: Likewise.
28129 * conf/powerpc-ieee1275.rmk: Likewise.
28130 * conf/sparc64-ieee1275.rmk: Likewise.
28131 * conf/x86_64-efi.rmk: Likewise.
28132 * gettext/gettex.c: Include <grub/i18n.h>.
28133 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
28134 here ...
28135 * include/grub/i18n.h: ... to here
28136 * include/grub/i18n.h: ... to here.
28137 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 28138 (grub_gettext_dummy): Move above user.
4a8572e9 28139
bee48093
FZ
281402009-11-24 Felix Zielcke <fzielcke@z-51.de>
28141
28142 * util/Makefile.in (install-local): Convert a `for' into a normal
28143 shell expansion.
28144
a031e91c
RM
281452009-11-24 Robert Millan <rmh.grub@aybabtu.com>
28146
28147 * autogen.sh: Add automake call.
28148 * config.guess: Remove.
28149 * config.sub: Likewise.
28150 * install-sh: Likewise.
28151
26bec39d
FZ
281522009-11-24 Felix Zielcke <fzielcke@z-51.de>
28153
28154 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
28155
8e2532fd
FZ
281562009-11-24 Felix Zielcke <fzielcke@z-51.de>
28157
28158 * util/Makefile.in (install-local): Convert a make `$(foreach)'
28159 function to a normal shell `for'.
28160
fefa1b7d
FZ
281612009-11-24 Felix Zielcke <fzielcke@z-51.de>
28162
28163 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28164
4501250b
FZ
281652009-11-24 Felix Zielcke <fzielcke@z-51.de>
28166
28167 * util/grub-mkrelpath.c: New file.
28168 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
28169 (grub_mkrelpath_SOURCES): New variable.
28170 * include/grub/util/misc.h: New function prototype.
28171 * util/misc.c (make_system_path_relative_to_its_root): New function.
28172
28173 * util/grub-mkconfig_lib.in (bindir): New variable.
28174 (grub_mkrelpath): Likewise.
28175 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
28176
28177 * util/probe.c (probe): Make the file path relative to its root.
28178 Change a info message to use the GRUB path. Enable again the
28179 check if we can read the file with GRUB facilities.
28180
28181 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
28182 to its root.
28183
11d9778b
FZ
281842009-11-24 Felix Zielcke <fzielcke@z-51.de>
28185
28186 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
28187 platform.
28188
4465287d
FZ
281892009-11-24 Felix Zielcke <fzielcke@z-51.de>
28190
28191 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
28192 strncmp().
28193
62b47f22
FZ
281942009-11-24 Felix Zielcke <fzielcke@z-51.de>
28195
28196 * util/getroot.c (grub_util_is_dmraid): New function.
28197 (grub_util_get_dev_abstraction): Treat dmraid and multipath
28198 devices as normal ones, not as LVM.
28199
1eafb9b9 282002009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
28201
28202 * conf/common.rmk: Add grub-gettext_lib target and updates
28203 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
28204 LDFLAGS.
28205 * gettext/gettext.c: New file. (Reads mo files).
28206 * include/grub/file.h (grub_file_pread): New prototype.
28207 * include/grub/i18n.h (_): New prototype.
28208 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
28209 prototypes.
28210 * kern/misc.c (grub_gettext_dummy): New function.
28211 * normal/menu_text.c: Include <grub/i18n.h>.
28212 * normal/menu_text.c (print_timeout): Gettexttize string.
28213 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
28214 * po/POTFILES: Add `normal/menu_text.c'.
28215 * po/ca.po: Add new translations.
c3ea6bd4
CPE
28216 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
28217 gettext module and defines locale_dir and lang in grub.cfg.
28218 * NEWS: Add gettext support.
28219
0fdb2568
RM
282202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28221
28222 * util/hostdisk.c: Include `<grub/i18n.h>'.
28223 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
28224 (make_device_name): Rewrite using asprintf.
28225 (convert_system_partition_to_system_disk): Replace 0 with NULL.
28226 (find_system_device): If a device is not found, generate one just
28227 by reusing the OS path name.
28228 (read_device_map): Make it permissible for device.map not to exist.
28229
f515aa62
RM
282302009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28231
28232 * script/sh/execute.c: Move from here ...
28233 * script/execute.c: ... to here. Update all users.
28234 * script/sh/function.c: Move from here ...
28235 * script/function.c: ... to here. Update all users.
28236 * script/sh/lexer.c: Move from here ...
28237 * script/lexer.c: ... to here. Update all users.
28238 * script/sh/main.c: Move from here ...
28239 * script/main.c: ... to here. Update all users.
28240 * script/sh/parser.y: Move from here ...
28241 * script/parser.y: ... to here. Update all users.
28242 * script/sh/script.c: Move from here ...
28243 * script/script.c: ... to here. Update all users.
28244
f84b481b
RM
282452009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28246
28247 * configure.ac: Detect all `emu' platforms. Define
28248 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
28249 --enable-grub-emu logic. Disable include/grub/machine
28250 symlink on `emu' platforms.
28251
28252 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
28253 * gensymlist.sh.in: Likewise.
28254
28255 * include/grub/i386/coreboot/machine.h: Remove file.
28256 * include/grub/i386/efi/machine.h: Likewise.
28257 * include/grub/i386/ieee1275/machine.h: Likewise.
28258 * include/grub/i386/pc/machine.h: Likewise.
28259 * include/grub/i386/qemu/machine.h: Likewise.
28260 * include/grub/powerpc/ieee1275/machine.h: Likewise.
28261 * include/grub/sparc64/ieee1275/machine.h: Likewise.
28262 * include/grub/x86_64/efi/machine.h: Likewise.
28263
28264 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
28265 * commands/halt.c: Likewise.
28266 * commands/reboot.c: Likewise.
28267 * include/grub/autoefi.h: Likewise.
28268 * include/grub/i386/at_keyboard.h: Likewise.
28269 * include/grub/i386/kernel.h: Likewise.
28270 * include/grub/i386/loader.h: Likewise.
28271 * include/grub/i386/pc/memory.h: Likewise.
28272 * kern/dl.c: Likewise.
28273 * kern/i386/coreboot/init.c: Likewise.
28274 * loader/i386/bsd.c: Likewise.
28275 * loader/i386/linux.c: Likewise.
28276 * loader/multiboot_loader.c: Likewise.
28277 * term/i386/pc/serial.c: Likewise.
28278 * term/usb_keyboard.c: Likewise.
28279
28280 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
28281 `<grub/machine/machine.h>'
28282 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
28283 * util/misc.c: Remove `<grub/machine/machine.h>' and
28284 `<grub/machine/time.h>'.
28285
28286 * Makefile.in (enable_grub_emu): Remove variable.
28287 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
28288
28289 * conf/any-emu.rmk: New file.
28290 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
28291 (grub_emu_init.c): Move from here ...
28292 * conf/any-emu.rmk: ... to here.
28293
28294 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
28295 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
28296 * conf/any-emu.rmk: ... to here.
28297
4efeab03
RM
282982009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28299
28300 * include/grub/parser.h (grub_parser_register): Document need
28301 of `name' parameter.
28302 * normal/main.c (grub_normal_read_line): Simplify prompt string.
28303 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
28304 "sh" to "grub".
28305
ea1dd8bf
RM
283062009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28307
28308 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
28309 `$(XGETTEXT)'.
28310 * include/grub/i18n.h (N_): New macro.
28311 * util/mkisofs/mkisofs.h: Likewise.
28312 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
28313 around N_().
28314 (usage): Use gettext() to translate help strings when printing them.
28315
0c140626
RM
283162009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28317
28318 Based on patch from Bean
28319 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28320
28321 * video/efi_fb.c: New file.
28322 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
28323 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28324 variables.
28325 * conf/x86_64-efi.rmk: Likewise.
28326
87d58298
RM
283272009-11-22 Robert Millan <rmh.grub@aybabtu.com>
28328
28329 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
28330 * util/i386/pc/grub-setup.c: Likewise.
28331
994cc3a3
ST
283322009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
28333
28334 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
28335 <hurd/fs.h>
28336 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
28337 file_get_storage_info to implement grub_guess_root_device.
28338
26a61d6a
FZ
283392009-11-21 Felix Zielcke <fzielcke@z-51.de>
28340
28341 * Makefile.in (target): Use make's builtin $(shell) function
28342 instead of calling directly $(SHELL) to create the locale directories,
28343 inside the $(foreach) function.
28344
74ff1dd5
FZ
283452009-11-21 Felix Zielcke <fzielcke@z-51.de>
28346
28347 * util/grub-mkrescue.in: Print an error and usage if output option
28348 has not been given.
28349
0b787d0e
FZ
283502009-11-21 Felix Zielcke <fzielcke@z-51.de>
28351
28352 Patch from Loïc Minier <loic.minier@ubuntu.com>.
28353 * util/grub.d/30_os-prober.in: Cope with Linux entries where
28354 root and /boot are on different devices.
28355
1164b270
RM
283562009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28357
28358 Fix build for srcdir != objdir.
28359
28360 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
28361 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
28362 $(srcdir).
28363 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
28364 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
28365 reference for input.
28366
13774a2f
RM
283672009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28368
28369 * util/grub-mkrescue.in: Use source directory direcly (without copiing
28370 or hardlinking it). Remove -J option, Joliet is not compatible with
28371 multiple source directories.
28372
efda854e
RM
283732009-11-21 Carles Pina i Estany <carles@pina.cat>
283742009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28375
28376 * util/grub-mkrescue.in: Recognize `--override-directory' option.
28377 (process_input_dir): New function. Process an arbitrary input
28378 directory.
28379 Misc adjustments to support both "override mode" and system-wide mode.
28380
6c09890c
FZ
283812009-11-20 Felix Zielcke <fzielcke@z-51.de>
28382
28383 * configure.ac (UNIFONT_BDF): Rename to ...
28384 (FONT_SOURCE): ... this. Update all users.
28385
a797824f
FZ
283862009-11-20 Felix Zielcke <fzielcke@z-51.de>
28387
28388 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
28389 to the list of unifont files to look for.
28390
cd4f42b0
RM
283912009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28392
28393 Patch from Joe Auricchio <jauricchio@gmail.com>
28394 * commands/minicmd.c (grub_mini_cmd_clear): New function.
28395 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
28396 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
28397
393c783d
FZ
283982009-11-19 Felix Zielcke <fzielcke@z-51.de>
28399
28400 * Makefile.in (install-local): Add a missing backslash.
28401
b2f1e327
FZ
284022009-11-19 Felix Zielcke <fzielcke@z-51.de>
28403
28404 * include/grub/x86_64/io.h: New file.
28405
f577f7a0
RM
284062009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28407
28408 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
28409 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
28410 Include `"progname.h"'.
28411 (main): Initialize gettext.
28412 * util/i386/pc/grub-setup.c: Gettexttize.
28413 * util/i386/pc/grub-mkimage.c: Likewise.
28414
28415 * Makefile.in (po/*.po): Redefine as ...
28416 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
28417
3bc7896c
RM
28418 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
28419
c37943b6
RM
284202009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28421
28422 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
28423 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
28424 (program_name): Remove.
28425 (main): Initialize gettext support.
6323f705
RM
28426 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
28427 Include `<libintl.h>'.
28428 (_): New macro.
c37943b6
RM
28429
28430 * util/mkisofs/eltorito.c: Gettexttize.
28431 * util/mkisofs/joliet.c: Likewise.
28432 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
28433 * util/mkisofs/multi.c: Likewise.
28434 * util/mkisofs/rock.c: Likewise.
28435 * util/mkisofs/tree.c: Likewise.
28436 * util/mkisofs/write.c: Likewise.
28437
3bc7896c
RM
28438 * po/POTFILES: Update with new files.
28439
5ce77c6e
RM
284402009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28441
28442 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
28443 * util/mkisofs/iso9660.h: Likewise.
28444 * util/mkisofs/joliet.c: Likewise.
28445 * util/mkisofs/mkisofs.c: Likewise.
28446 * util/mkisofs/mkisofs.h: Likewise.
28447 * util/mkisofs/rock.c: Likewise.
28448 * util/mkisofs/tree.c: Likewise.
28449 * util/mkisofs/write.c: Likewise.
28450
28451 * util/mkisofs/eltorito.c (rcsid): Remove.
28452 * util/mkisofs/hash.c: Likewise.
28453 * util/mkisofs/joliet.c: Likewise.
28454 * util/mkisofs/name.c: Likewise.
28455 * util/mkisofs/rock.c: Likewise.
28456 * util/mkisofs/tree.c: Likewise.
28457 * util/mkisofs/write.c: Likewise.
28458
1dabbc77
RM
284592009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28460
28461 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
28462 instead of static allocation.
28463 * util/mkisofs/match.h: Likewise.
28464
633877cb
RM
284652009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28466
3bc7896c
RM
28467 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
28468 and `util/grub.d/10_linux.in'.
633877cb
RM
28469 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
28470 translatable Shell files.
28471
af1c0c85
RM
284722009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28473
28474 * Makefile.in ($(srcdir)/aclocal.m4): New target.
28475
769ae37b
RM
284762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28477
28478 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 28479 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
28480 * util/grub.d/10_kfreebsd.in (bindir): New variable.
28481 Add gettext initialization.
28482 (kfreebsd_entry): Make menuentry output translatable.
28483
284842009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28485
28486 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
28487 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
28488 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
28489 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
28490 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 28491 * po/LINGUAS: New file.
769ae37b
RM
28492
284932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28494
28495 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
28496 other things).
28497 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
28498 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
28499 bindtextdomain() calls for gettext initialization.
28500
285012009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28502
28503 * gnulib/progname.c: New file (imported from Gnulib).
28504 * gnulib/progname.h: Likewise.
28505 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28506 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
28507 (usage): Replace `progname' with `program_name'.
28508 (main): Use set_program_name() for program name initialization.
28509
285102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28511
28512 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
28513 from here ...
28514 * Makefile.in (CPPFLAGS): ... to here.
28515
285162009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28517
28518 * aclocal.m4: Move from here ...
28519 * acinclude.m4: ... to here.
28520 * autogen.sh: Add call to `aclocal'.
28521 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
28522
285232009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28524
28525 * Makefile.in (CLEANFILES): Add `po/*.mo'.
28526 (LINGUAS): New variable.
28527 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
28528 (install-local): Install MO files.
28529 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
28530 * include/grub/i18n.h: New file.
3bc7896c
RM
28531 * po/POTFILES: New file.
28532 * po/ca.po: New file.
769ae37b
RM
28533 * util/grub.d/10_linux.in (bindir): New variable.
28534 Add gettext initialization.
28535 (linux_entry): Make menuentry output translatable.
28536 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
28537 (usage): Make --help output translatable.
28538 (main): Initialize gettext.
28539
02c0a6ad
RM
285402009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28541
28542 * import_gcry.py: New file (written by Vladimir with minor
28543 adjustments).
28544 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
28545 ciphers.
28546 * INSTALL: Document that Python is required for bootstrap.
28547
285482009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28549
28550 Import ciphers from libgcrypt 1.4.4.
28551
28552 * lib/libgcrypt/cipher/ChangeLog
28553 * lib/libgcrypt/cipher/ac.c
28554 * lib/libgcrypt/cipher/arcfour.c
28555 * lib/libgcrypt/cipher/bithelp.h
28556 * lib/libgcrypt/cipher/blowfish.c
28557 * lib/libgcrypt/cipher/camellia-glue.c
28558 * lib/libgcrypt/cipher/camellia.c
28559 * lib/libgcrypt/cipher/camellia.h
28560 * lib/libgcrypt/cipher/cast5.c
28561 * lib/libgcrypt/cipher/cipher.c
28562 * lib/libgcrypt/cipher/crc.c
28563 * lib/libgcrypt/cipher/des.c
28564 * lib/libgcrypt/cipher/dsa.c
28565 * lib/libgcrypt/cipher/ecc.c
28566 * lib/libgcrypt/cipher/elgamal.c
28567 * lib/libgcrypt/cipher/hash-common.c
28568 * lib/libgcrypt/cipher/hash-common.h
28569 * lib/libgcrypt/cipher/hmac-tests.c
28570 * lib/libgcrypt/cipher/md.c
28571 * lib/libgcrypt/cipher/md4.c
28572 * lib/libgcrypt/cipher/md5.c
28573 * lib/libgcrypt/cipher/primegen.c
28574 * lib/libgcrypt/cipher/pubkey.c
28575 * lib/libgcrypt/cipher/rfc2268.c
28576 * lib/libgcrypt/cipher/rijndael-tables.h
28577 * lib/libgcrypt/cipher/rijndael.c
28578 * lib/libgcrypt/cipher/rmd.h
28579 * lib/libgcrypt/cipher/rmd160.c
28580 * lib/libgcrypt/cipher/rsa.c
28581 * lib/libgcrypt/cipher/seed.c
28582 * lib/libgcrypt/cipher/serpent.c
28583 * lib/libgcrypt/cipher/sha1.c
28584 * lib/libgcrypt/cipher/sha256.c
28585 * lib/libgcrypt/cipher/sha512.c
28586 * lib/libgcrypt/cipher/tiger.c
28587 * lib/libgcrypt/cipher/twofish.c
28588 * lib/libgcrypt/cipher/whirlpool.c
28589
af2f93ac
RM
285902009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28591
28592 Fix build for systems without error().
28593
28594 * gnulib/error.c: New file (imported from Gnulib).
28595 * gnulib/error.h: Likewise.
28596 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
28597 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
28598 (this variable is now used by error()).
28599
73fb3dd5
FZ
286002009-11-16 Felix Zielcke <fzielcke@z-51.de>
28601
814f5e96
FZ
28602 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
28603 instead of relying that char is signed.
73fb3dd5 28604
a691ca33
VS
286052009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
28606
28607 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
28608 blocksize different from specified.
28609 (grub_pxefs_read): Likewise.
28610
2af8f0f4
FZ
286112009-11-16 Felix Zielcke <fzielcke@z-51.de>
28612
28613 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
28614
28615 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
28616 (grub_ata_readwrite): Likewise. Update 2 format strings.
28617 (grub_atapi_read): Likewise.
28618
28619 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
28620 * conf/i386.rmk (pkglib_MODULES): ... to here ...
28621 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
28622 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
28623 (ata_mod_LDFLAGS): Move from here ...
28624 * conf/i386.rmk: ... to here ...
28625 * conf/x86_64-efi.rmk: ... and here.
28626 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
28627 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
28628
83bdecaf
RM
286292009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28630
28631 Relicense multiboot.h, with RMS' blessing.
28632
28633 * include/multiboot.h: Change to X11 license.
28634
fd6fd3d7
RM
286352009-11-15 Robert Millan <rmh.grub@aybabtu.com>
28636
28637 Support --version in grub-mkisofs.
28638
28639 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
28640 (OPTION_VERSION): New macro.
28641 (ld_options): Recognize --version.
28642 (usage): Move `program_name' from here ...
28643 (program_name): ... to here. Add `static' qualifier.
28644 (main): Recognize `OPTION_VERSION'.
28645
16a88c49
FZ
286462009-11-15 Felix Zielcke <fzielcke@z-51.de>
28647
28648 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
28649 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
28650
a4158476
RM
286512009-11-14 Robert Millan <rmh.grub@aybabtu.com>
28652
28653 Fix help2man generation for mkisofs.
28654
28655 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
28656 (usage): Send output to stdout (rather than stderr).
28657
fc2208b0
RM
286582009-11-14 Robert Millan <rmh.grub@aybabtu.com>
28659
28660 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
28661 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
28662 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
28663 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
28664 (bin_SCRIPTS): Add `grub-mkfloppy'.
28665 (grub_mkfloppy_SOURCES): New variable.
28666
28667 * util/grub-mkrescue.in: New file.
28668 * util/i386/pc/grub-mkfloppy.in: New file.
28669
28670 * util/i386/coreboot/grub-mkrescue.in: Remove.
28671 * util/i386/pc/grub-mkrescue.in: Remove.
28672
8d0edf4a
RM
286732009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28674
28675 * include/grub/multiboot.h (struct grub_multiboot_header): Move
28676 from here ...
28677 * include/multiboot.h (struct multiboot_header): ... to here. Update
28678 all users.
28679 * include/grub/multiboot.h (struct grub_multiboot_info): Move
28680 from here ...
28681 * include/multiboot.h (struct multiboot_info): ... to here. Update
28682 all users.
28683 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
28684 from here ...
28685 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
28686 Update all users.
28687 * include/grub/multiboot.h (struct grub_mod_list): Move
28688 from here ...
28689 * include/multiboot.h (struct multiboot_mod_list): ... to here.
28690 Update all users.
28691
a73f5969
RM
286922009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28693
28694 * include/multiboot2.h (multiboot_word): Rename from this ...
28695 (multiboot2_word): ... to this. Update all users.
28696 (multiboot_header): Rename from this ...
28697 (multiboot2_header): ... to this. Update all users.
28698 (multiboot_tag_header): Rename from this ...
28699 (multiboot2_tag_header): ... to this. Update all users.
28700 (multiboot_tag_start): Rename from this ...
28701 (multiboot2_tag_start): ... to this. Update all users.
28702 (multiboot_tag_name): Rename from this ...
28703 (multiboot2_tag_name): ... to this. Update all users.
28704 (multiboot_tag_module): Rename from this ...
28705 (multiboot2_tag_module): ... to this. Update all users.
28706 (multiboot_tag_memory): Rename from this ...
28707 (multiboot2_tag_memory): ... to this. Update all users.
28708 (multiboot_tag_unused): Rename from this ...
28709 (multiboot2_tag_unused): ... to this. Update all users.
28710 (multiboot_tag_end): Rename from this ...
28711 (multiboot2_tag_end): ... to this. Update all users.
28712
1c8927f0
RM
287132009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28714
28715 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
28716 this platform we should support Multiboot1 first.
28717
28718 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28719 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
28720 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
28721
6e1e0d89
RM
287222009-11-12 Robert Millan <rmh.grub@aybabtu.com>
28723
28724 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
28725 of write calls (converting them to fwrite() if they aren't already).
28726 (get_torito_desc): Likewise.
28727 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
28728
7f2b34d8
RM
287292009-11-12 Robert Millan <rmh.grub@aybabtu.com>
28730
28731 * util/i386/pc/grub-install.in: Move from here ...
28732 * util/grub-install.in: ... to here. Update all users.
28733
c0ef3311
CW
287342009-11-11 Colin Watson <cjwatson@ubuntu.com>
28735
28736 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
28737
e1f240ff
RM
287382009-11-11 Robert Millan <rmh.grub@aybabtu.com>
28739
28740 Support for El Torito without floppy emulation.
28741
28742 * util/mkisofs/eltorito.c: Include `<errno.h>'.
28743 (init_boot_catalog): Improve error handling.
28744 (get_torito_desc): Don't use floppy emulation unless requested by
28745 user. Patch boot information table when requested via
28746 `-boot-info-table'.
28747 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
28748 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
28749 (use_boot_info_table): New variables.
28750 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
28751 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
28752 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
28753 `--eltorito-emul-floppy'.
28754 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
28755 and `OPTION_ELTORITO_EMUL_FLOPPY'.
28756 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
28757 (use_boot_info_table, get_731): New prototypes.
28758 * util/mkisofs/write.c (get_731): New function.
28759
af7d4de5
FZ
287602009-11-11 Felix Zielcke <fzielcke@z-51.de>
28761
28762 Fix the generation of the man page.
28763
28764 * util/pc/i386/grub-install.in: Source
28765 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28766
2c55dbc0
RM
287672009-11-11 Robert Millan <rmh.grub@aybabtu.com>
28768
28769 Large file support for grub-mkisofs.
28770
28771 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
28772 * util/mkisofs/mkisofs.c (next_extent, last_extent)
28773 (session_start): Upgrade type to `uint64_t'. Update all users.
28774 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
28775 (struct directory_entry): Upgrade type of `starting_block' and
28776 `size' to `uint64_t'. Update all users.
28777 (struct deferred): Remove unused structure.
28778 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
28779 Update all users.
28780 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
28781 file is larger than `UINT32_MAX'.
28782 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
28783 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
28784 return value.
28785 (struct deferred_write): Upgrade type of `extent' and `size' to
28786 `uint64_t'. Update all users.
28787 (last_extent_written): Upgrade type to `uint64_t'. Update all
28788 users.
28789 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
28790 Update all users. Upgrade type of `remain' to `int64_t' and
28791 `use' to `size_t'. Use error() to handle fread() errors.
28792 (write_files): Rely on write_one_file() rather than calling
28793 xfwrite() directly.
28794
6a9cead5
FZ
287952009-11-09 Felix Zielcke <fzielcke@z-51.de>
28796
28797 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
28798
4825d790
RM
287992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28800
28801 * util/mkisofs/fnmatch.c: Remove.
28802 * util/mkisofs/getopt1.c: Likewise.
28803 * util/mkisofs/getopt.c: Likewise.
28804 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
28805 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
28806 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
28807 `gnulib/getopt1.c' and `gnulib/getopt.c'.
28808 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
28809
28810 * configure.ac: Detect `mingw32msvc' host_os.
28811 Check for lstat(), getuid() and getgid().
28812
28813 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
28814 instances of `u_char' with `uint8_t'.
28815
28816 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
28817 [!HAVE_GETUID] (getuid): New function (stub).
28818 [!HAVE_GETGID] (getgid): Likewise.
28819 [!HAVE_LSTAT] (lstat): Likewise.
28820 [!S_IROTH] (S_IROTH): New macro (dummy).
28821 [!S_IRGRP] (S_IRGRP): Likewise.
28822
84b860d8
RM
288232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28824
28825 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
28826 conditional expression).
28827
66e9b712
RM
288282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28829
28830 Import from Gnulib.
28831
28832 * gnulib/fnmatch.c: New file.
28833 * gnulib/fnmatch.h: Likewise.
28834 * gnulib/fnmatch_loop.c: Likewise.
28835 * gnulib/getopt.c: Likewise.
28836 * gnulib/getopt.h: Likewise.
28837 * gnulib/getopt1.c: Likewise.
28838 * gnulib/getopt_int.h: Likewise.
28839 * gnulib/gettext.h: Likewise.
28840
34f4a5b0
RM
288412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28842
28843 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
28844 * normal/handler.c (read_handler_list): Likewise.
28845
ac451143
RM
288462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28847
28848 Misc cleanup.
28849
28850 * kern/command.c (grub_register_command_prio): Use
28851 grub_zalloc() instead of explicitly zeroing data.
28852 * kern/list.c: Include `<grub/mm.h>'.
28853 (grub_named_list_find): Replace `0' with `NULL'.
28854 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
28855 (fs_module_list): Change type to `grub_named_list_t'. Update all
28856 users.
28857 * normal/dyncmd.c (read_command_list): Add space between function
28858 call and parenthesis.
28859 * normal/handler.c (read_handler_list): Likewise.
28860
4089b167
RM
288612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28862
28863 * normal/auth.c (punishment_delay): Moved from here ...
28864 (grub_auth_strcmp): ... to here (inside function).
28865
325f5037
RM
288662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28867
28868 * include/grub/list.h (struct grub_named_list): Remove `const'
28869 qualifier from `name'.
28870 (struct grub_prio_list): Likewise.
28871
7aea29a3
RM
288722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28873
28874 * normal/auth.c: Include `<grub/time.h>'.
28875 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
28876
3fd6f044
RM
288772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28878
28879 * normal/auth.c (punishment_delay): New variable.
28880 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
28881 (grub_auth_check_authentication): Punish failed login attempts with
28882 an incremental (2^N) delay.
28883
a4cd68e4
RM
288842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28885
28886 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
28887 path with $(srcdir).
28888
7ad12f43
VS
288892009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
28890
28891 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
28892
c1129f03
RM
288932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28894
28895 * util/i386/coreboot/grub-mkrescue.in: New file.
28896 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
28897 variables.
28898
28899 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
28900 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
28901 * configure.ac: Add header and function checks to satisfy grub-mkisofs
28902 requirements.
28903 * util/mkisofs/defaults.h: New file.
28904 * util/mkisofs/eltorito.c: Likewise.
28905 * util/mkisofs/exclude.h: Likewise.
28906 * util/mkisofs/fnmatch.c: Likewise.
28907 * util/mkisofs/getopt.c: Likewise.
28908 * util/mkisofs/getopt1.c: Likewise.
28909 * util/mkisofs/hash.c: Likewise.
28910 * util/mkisofs/include/fctldefs.h: Likewise.
28911 * util/mkisofs/include/mconfig.h: Likewise.
28912 * util/mkisofs/include/prototyp.h: Likewise.
28913 * util/mkisofs/include/statdefs.h: Likewise.
28914 * util/mkisofs/iso9660.h: Likewise.
28915 * util/mkisofs/joliet.c: Likewise.
28916 * util/mkisofs/match.c: Likewise.
28917 * util/mkisofs/match.h: Likewise.
28918 * util/mkisofs/mkisofs.c: Likewise.
28919 * util/mkisofs/mkisofs.h: Likewise.
28920 * util/mkisofs/multi.c: Likewise.
28921 * util/mkisofs/name.c: Likewise.
28922 * util/mkisofs/rock.c: Likewise.
28923 * util/mkisofs/tree.c: Likewise.
28924 * util/mkisofs/write.c: Likewise.
28925
ec8bb77d
VS
289262009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
28927
28928 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
28929 being insecure.
28930
3716b12c
RM
289312009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28932
28933 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
28934 `grub-mkimage' (and use $0 when possible).
28935
b97b7b91
RM
289362009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28937
28938 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
28939 error message for excessively large memory map.
28940
04114812
RM
289412009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28942
28943 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
28944 executable bit.
28945
e4eb2373
RM
289462009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28947
28948 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
28949 message for coreboot users.
28950
c926e1d5 289512009-11-07 Robert Millan <rmh.grub@aybabtu.com>
28952
28953 Fix build with GNU gold.
28954
28955 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
28956 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
28957 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
28958 link addresses.
28959 * aclocal.m4: Likewise.
28960
86e5b1db 289612009-11-04 Felix Zielcke <fzielcke@z-51.de>
28962
28963 * configure.ac (AC_PREREQ): Bump to 2.59d.
28964 * INSTALL: Make it more clear when Autoconf and Ruby are
28965 needed and when to run `./autogen.sh'.
28966
246cd78f 289672009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
28968
28969 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
28970 OSes.
28971
4f9dfb37 289722009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28973
28974 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
28975
b82bd5e1 289762009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28977
28978 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
28979 giving it to GNU Mach.
28980
ff1a9bca 289812009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28982
28983 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
28984 GNU partition number to get internal GRUB partition number.
28985
61697d9c 289862009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28987
28988 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
28989 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
28990
a50569e1 289912009-11-01 Robert Millan <rmh.grub@aybabtu.com>
28992
28993 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
28994 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
28995 case.
28996
5b153867 289972009-11-01 Felix Zielcke <fzielcke@z-51.de>
28998
28999 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
29000
d9e2cd70 290012009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29002
29003 Fix build problem.
29004
29005 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
29006 `-isystem=$(srcdir)/include'.
29007
805111a4 290082009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29009
29010 * util/i386/pc/grub-install.in: Remove hint that device.map should be
29011 checked (grub-install doesn't currently rely on it).
29012
fa6e945f 290132009-10-29 Robert Millan <rmh.grub@aybabtu.com>
29014
29015 Revert SVN r2660.
29016
29017 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
29018 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29019 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
29020 * conf/i386-ieee1275.rmk: Likewise.
29021 * conf/i386-pc.rmk: Likewise.
29022 * conf/powerpc-ieee1275.rmk: Likewise.
29023 * conf/sparc64-ieee1275.rmk: Likewise.
29024 * conf/x86_64-efi.rmk: Likewise.
29025
cee15086 290262009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29027
29028 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
29029
95b9239e 290302009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29031
29032 * include/grub/misc.h: Stop checking for APPLE_CC.
29033
2ed19dfd 290342009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29035
29036 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
29037 doesn't cause an infinite call loop.
29038
fdcdde19 290392009-10-28 Felix Zielcke <fzielcke@z-51.de>
29040
29041 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
29042 strings.
29043
cefabfe1 290442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29045
29046 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
29047 variable.
29048 * Makefile.in: Likewise.
29049
ed96ab6d 290502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29051
29052 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
29053
0579b753 290542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29055
29056 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
29057
478df409 290582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29059
29060 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
29061
083d1679 290622009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29063
29064 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
29065 from here ...
29066 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
29067
5947ae32 290682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29069
29070 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
29071 in $(MAKEINFO) invocation. This makes it clear in output that
29072 errors are being ignored.
29073
94180ff6 290742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29075
29076 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
29077 from here ...
29078 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29079 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
29080 * conf/i386-ieee1275.rmk: Likewise.
29081 * conf/i386-pc.rmk: Likewise.
29082 * conf/powerpc-ieee1275.rmk: Likewise.
29083 * conf/sparc64-ieee1275.rmk: Likewise.
29084 * conf/x86_64-efi.rmk: Likewise.
29085
9031b03a 290862009-10-26 Colin Watson <cjwatson@ubuntu.com>
29087
29088 * util/grub-editenv.c (main): If only a command is given, use
29089 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
29090 (usage): FILENAME is now optional and has a default.
29091
e4f6809b 290922009-10-26 Colin Watson <cjwatson@ubuntu.com>
29093
29094 Improve grub-mkconfig performance when there are several menu
29095 entries on a single filesystem.
29096
29097 * util/grub.d/10_linux.in (linux_entry): Cache the output of
29098 prepare_grub_to_access_device.
29099 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29100 * util/grub.d/30_os-prober.in: Likewise.
29101
67937d4d 291022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29103
29104 * util/grub.d/10_freebsd.in: Remove.
29105 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
29106 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
29107
ee3756cc 291082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29109
5c35048e 29110 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 29111
4dea1c6f 291122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29113
29114 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
29115 grub_util_error() call.
29116
042484d7 291172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29118
29119 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
29120 `reserved_first_sector' member.
29121 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
29122 `reserved_first_sector' to 1.
29123 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
29124 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
29125 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
29126 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
29127 filesystems which begin at first sector.
29128 (options): New option --skip-fs-probe.
29129 (main): Handle --skip-fs-probe and pass it to setup().
29130
d64448a7 291312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29132
29133 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
29134 (memset): Fix function prototype.
29135
508d42ec 291362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
291372009-10-25 Vasily Averin <vvs@parallels.com>
29138
29139 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
29140 `dirent.direntlen == 0'.
29141
b240e30c 291422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29143
29144 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
29145 `cpio'.
29146 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
29147
346e7fbe 291482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29149
29150 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
29151 `__trampoline_setup' and `__ucmpdi2'.
29152 * include/grub/powerpc/libgcc.h: Only export symbols for functions
29153 that libgcc provides.
29154
cdb308b0 291552009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29156
29157 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
29158 * include/grub/sparc64/libgcc.h (memset): Likewise.
29159 * include/grub/misc.h (memset, memcmp): New function prototypes.
29160
fb26abc2 291612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29162
29163 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
29164 `cpio'.
29165 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
29166
f6693890 291672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29168
29169 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
29170 * docs/grub.cfg: Compensate for recent change in multiboot
29171 loader (since 2009-08-14 it won't pass filename to payload).
29172 * util/grub.d/10_hurd.in: Likewise.
29173
0933cdc0 291742009-10-21 Felix Zielcke <fzielcke@z-51.de>
29175
29176 * config.guess: Update to latest version from config git
29177 repository.
29178 * config.sub: Likewise.
29179
3b2fe8c2 291802009-10-20 Robert Millan <rmh.grub@aybabtu.com>
29181
29182 Fix build on sparc64.
29183
29184 * configure.ac: Perform checks for libgcc symbols before
29185 adding `-nostdlib' to LDFLAGS.
29186
46695a62 291872009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29188
29189 Let user specify OpenBSD root device.
29190
29191 * loader/i386/bsd.c (openbsd_root): New variable.
29192 (openbsd_opts): New option 'root'.
29193 (OPENBSD_ROOT_ARG): New macro.
29194 (grub_openbsd_boot): Use 'openbsd_root'.
29195 (grub_cmd_openbsd): Fill 'openbsd_root'.
29196
d2b6b7fc 291972009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29198
29199 * NEWS: Misc adjustments.
29200
421bd7ac 292012009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29202
29203 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
29204
f1d29d87 292052009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29206
29207 * configure.ac: Bump version to 1.97.
29208
6f3cd880 292092009-10-16 Colin Watson <cjwatson@ubuntu.com>
29210
29211 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
29212 -mno-3dnow on x86 architectures. Some toolchains enable these
29213 features by default, but they rely on registers that aren't enabled
29214 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
29215
035f7122 292162009-10-15 Robert Millan <rmh.grub@aybabtu.com>
29217
29218 Make entry text a bit more readable.
29219
29220 * util/grub.d/10_linux.in: Add `with' before `Linux'.
29221
44998e58 292222009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29223
29224 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
29225
cd2851b3 292262009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29227
29228 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
29229 operations.
29230
c6f3b249 292312009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29232
29233 * configure.ac: Add missing dollar.
29234
6b5886ba 292352009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29236
29237 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
29238
29239 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
29240 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
29241 exports.
29242 * include/grub/sparc64/libgcc.h: Likewise. Use
29243 preprocessor conditionals.
29244
e9d66f6d 292452009-10-14 Robert Millan <rmh.grub@aybabtu.com>
29246
29247 * conf/common.rmk (grub-dumpbios): Remove rule.
29248 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
29249 * util/grub-dumpbios.in: Remove file.
29250
9155bc17 292512009-10-14 Robert Millan <rmh.grub@aybabtu.com>
29252
29253 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
29254 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
29255
29256 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
29257 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
29258 users.
29259
29260 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
29261 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
29262 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
29263 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
29264 users.
29265
bf7f7a18 292662009-10-12 Robert Millan <rmh.grub@aybabtu.com>
29267
29268 * term/tparm.c: Switch to GPLv3.
29269
86564c26 292702009-10-09 Robert Millan <rmh.grub@aybabtu.com>
29271
29272 * include/grub/i386/cpuid.h: Add header protection.
29273
5c936493 292742009-10-09 Robert Millan <rmh.grub@aybabtu.com>
29275
29276 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
29277
29278 * include/grub/i386/cpuid.h: New file.
29279 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
29280 (has_longmode): Rename to ...
29281 (grub_cpuid_has_longmode): ... this. Update all users. Remove
29282 `static' attribute.
29283 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
29284 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
29285 on a CPU that doesn't implement AMD64 instruction set.
29286
186e7cf2 292872009-10-06 Colin Watson <cjwatson@ubuntu.com>
29288
29289 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
29290 that version.texi is rebuilt on version number changes.
29291
83b65c4a 292922009-10-06 Colin Watson <cjwatson@ubuntu.com>
29293
29294 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
29295 Fixes bug #27602.
29296
d244281c 292972009-10-06 Colin Watson <cjwatson@ubuntu.com>
29298
29299 * util/i386/pc/grub-install.in: Source
29300 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
29301 that the --grub-probe option will work.
29302 * util/sparc64/ieee1275/grub-install.in: Likewise.
29303
da25306d 293042009-10-05 Robert Millan <rmh.grub@aybabtu.com>
29305
29306 * configure.ac: Bump version to 1.97~beta4.
29307
e8ee83c0 293082009-10-03 Robert Millan <rmh.grub@aybabtu.com>
29309
29310 Resync grub-mkdevicemap in x86_64-efi.
29311
29312 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
29313 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
29314 `util/devicemap.c'.
29315
50dcabcf 293162009-10-01 Colin Watson <cjwatson@ubuntu.com>
29317
29318 * util/grub-editenv.c (create_envblk_file): Write new block with a
29319 .new suffix and then rename it into place, to ensure atomic
29320 creation.
29321
0e51c3a7 293222009-09-28 Robert Millan <rmh.grub@aybabtu.com>
29323
29324 Do not automatically install headers.
29325
29326 * Makefile.in (include_DATA): Remove. Update all users.
29327
31299a95 293282009-09-26 Robert Millan <rmh.grub@aybabtu.com>
29329
29330 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
29331 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
29332
29333 * util/osdetect.lua: Remove.
29334 * script/lua/lauxlib.c: Likewise.
29335 * script/lua/ldebug.c: Likewise.
29336 * script/lua/grub_main.c: Likewise.
29337 * script/lua/lauxlib.h: Likewise.
29338 * script/lua/ldebug.h: Likewise.
29339 * script/lua/ltablib.c: Likewise.
29340 * script/lua/liolib.c: Likewise.
29341 * script/lua/lstrlib.c: Likewise.
29342 * script/lua/lualib.h: Likewise.
29343 * script/lua/ldo.c: Likewise.
29344 * script/lua/ldump.c: Likewise.
29345 * script/lua/ldo.h: Likewise.
29346 * script/lua/loslib.c: Likewise.
29347 * script/lua/lundump.c: Likewise.
29348 * script/lua/grub_lib.c: Likewise.
29349 * script/lua/ldblib.c: Likewise.
29350 * script/lua/lundump.h: Likewise.
29351 * script/lua/lmem.c: Likewise.
29352 * script/lua/grub_lib.h: Likewise.
29353 * script/lua/lmathlib.c: Likewise.
29354 * script/lua/lstate.c: Likewise.
29355 * script/lua/ltm.c: Likewise.
29356 * script/lua/lvm.c: Likewise.
29357 * script/lua/lmem.h: Likewise.
29358 * script/lua/lstate.h: Likewise.
29359 * script/lua/ltm.h: Likewise.
29360 * script/lua/ltable.c: Likewise.
29361 * script/lua/lvm.h: Likewise.
29362 * script/lua/llex.c: Likewise.
29363 * script/lua/lgc.c: Likewise.
29364 * script/lua/grub_lua.h: Likewise.
29365 * script/lua/loadlib.c: Likewise.
29366 * script/lua/lfunc.c: Likewise.
29367 * script/lua/lopcodes.c: Likewise.
29368 * script/lua/lparser.c: Likewise.
29369 * script/lua/ltable.h: Likewise.
29370 * script/lua/llex.h: Likewise.
29371 * script/lua/lgc.h: Likewise.
29372 * script/lua/lfunc.h: Likewise.
29373 * script/lua/lbaselib.c: Likewise.
29374 * script/lua/lopcodes.h: Likewise.
29375 * script/lua/lparser.h: Likewise.
29376 * script/lua/lzio.c: Likewise.
29377 * script/lua/linit.c: Likewise.
29378 * script/lua/lobject.c: Likewise.
29379 * script/lua/llimits.h: Likewise.
29380 * script/lua/lstring.c: Likewise.
29381 * script/lua/lzio.h: Likewise.
29382 * script/lua/lapi.c: Likewise.
29383 * script/lua/lcode.c: Likewise.
29384 * script/lua/lua.h: Likewise.
29385 * script/lua/lobject.h: Likewise.
29386 * script/lua/lstring.h: Likewise.
29387 * script/lua/lapi.h: Likewise.
29388 * script/lua/lcode.h: Likewise.
29389 * script/lua/luaconf.h: Likewise.
29390
cb8a2c38 293912009-09-26 Colin Watson <cjwatson@ubuntu.com>
29392
29393 * docs/grub.texi (Command-line and menu entry commands): Document
29394 date and echo commands.
29395
6b9b6276 293962009-09-24 Pavel Roskin <proski@gnu.org>
29397
29398 * include/grub/kernel.h (struct grub_module_header): Remove
29399 `grub_module_header_types'. Make `type' unsigned. Make `size'
29400 32-bit on all platforms.
29401 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
29402 8-bit field. Use grub_host_to_target32() for `size'.
29403 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
29404 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
29405 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
29406
4e5a02a7 294072009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29408
29409 Fix "lost keypress" bug in at_keyboard.
29410
29411 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
29412 Checks for readyness of input buffer (without flushing it).
29413 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
29414 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
29415
c6dcedf6 294162009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29417
29418 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
29419 size check within GRUB_MACHINE_PCBIOS section.
29420
74c958b1 294212009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29422
29423 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
29424 return value.
29425 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
29426 KEYBOARD_ISREADY check.
29427 (grub_at_keyboard_checkkey): Rename to ...
29428 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
29429 Remove gratuitous cast.
29430
ff420223 294312009-09-23 Colin Watson <cjwatson@ubuntu.com>
29432
29433 * configure.ac: Call AC_PROG_MKDIR_P.
29434 * Makefile.in (docs/stamp-vti): Create docs directory. Create
29435 version.texi in $(builddir) rather than $(srcdir).
29436 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
29437 to makeinfo's @include search path.
29438
d96875df 294392009-09-23 Felix Zielcke <fzielcke@z-51.de>
29440
29441 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
29442
9b3f8365 294432009-09-23 Felix Zielcke <fzielcke@z-51.de>
29444
29445 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
29446 for `*.dpkg-new'.
29447
c44c90db 294482009-09-21 Colin Watson <cjwatson@ubuntu.com>
29449
29450 Build info documentation. Some code borrowed from Automake.
29451
29452 * configure.ac: Check for makeinfo.
29453 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
29454 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
29455 docs/version.texi.
29456 (MOSTLYCLEANFILES): Add vti.tmp.
29457 (docs/version.texi, docs/stamp-vti): Update automatically.
29458 (docs/grub.info): Build info documentation. Use --force and ignore
29459 errors for now.
29460 (all-local): Add $(INFOS).
29461 (install-local): Install info files.
29462 (uninstall): Uninstall info files.
29463 * docs/version.texi: Remove from revision control. This file is
29464 automatically generated on build now.
29465 * gendistlist.sh: Add `*.info'.
29466
e0b37bb5 294672009-09-21 Felix Zielcke <fzielcke@z-51.de>
29468
29469 * kern/term.c: Fix indentation.
29470
5a78865b 294712009-09-21 Felix Zielcke <fzielcke@z-51.de>
29472
29473 * util/hostdisk.c: Fix a comment.
29474
dace7e8a 294752009-09-20 Robert Millan <rmh.grub@aybabtu.com>
29476
29477 Fix regression introduced in r2539.
29478
29479 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
29480 to 0xA1.
29481
a83d079b 294822009-09-19 Colin Watson <cjwatson@ubuntu.com>
29483
29484 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 29485 os-prober. Under normal operation, it does not print anything to
29486 stderr; if it does, we need to debug it, and throwing away stderr
29487 makes that excessively difficult.
a83d079b 29488
be94a509 294892009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
29490
29491 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
29492
63f745e8 294932009-09-16 Robert Millan <rmh.grub@aybabtu.com>
29494
29495 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
29496 AC_LANG_PROGRAM from autoconf.
29497 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
29498 prototypes (fixes warning).
29499
29500 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
29501 `--disable-werror' was used.
29502
bbb2a70f 295032009-09-16 Robert Millan <rmh.grub@aybabtu.com>
29504
29505 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
29506 uninitialized `lastaddr'.
29507
77c24f1d 295082009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
29509
0f0b8c87 29510 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 29511
07197f23 295122009-09-14 Colin Watson <cjwatson@ubuntu.com>
29513
29514 * commands/test.c (get_fileinfo): Return immediately if
29515 grub_fs_probe fails.
29516
dabf1798 295172009-09-14 José Martínez <xosemp@gmail.com>
29518
29519 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
29520
d52109a7 295212009-09-14 Colin Watson <cjwatson@ubuntu.com>
29522
29523 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
29524 output.
29525
56532179 295262009-09-13 Robert Millan <rmh.grub@aybabtu.com>
29527
29528 * configure.ac: Remove --enable-grub-pe2elf. Only build
29529 grub-pe2elf when needed by the build system itself.
29530 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
29531
8ef070f5 295322009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29533
29534 * configure.ac: Bump version to 1.97~beta3.
29535 * docs/version.texi: Likewise.
29536
61229557 295372009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29538
29539 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
29540 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
29541 from here ...
29542 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
29543 (grub_linux_setup_video): ... to here (with some adjustments).
29544
5c9f8d84 295452009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29546
29547 Fix memory corruption issue (spotted by Colin Watson).
29548
29549 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
29550 causing returned size to be stored in an incorrect memory location.
29551 Fix use of uninitialized value when storing the returned size.
29552
e8f5d6e9 295532009-09-12 Yves Blusseau <blusseau@zetam.org>
29554
29555 Change clean rules to properly remove files
29556
29557 * genmk.rb: add new clean rules
29558 * Makefile.in (clean): add the new targets
29559 (mostlyclean): likewise
29560
cda2a409 295612009-09-11 Colin Watson <cjwatson@ubuntu.com>
29562
29563 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
29564 to grub_uint64_t.
29565 * fs/ntfs.c (init_file): Understand 64-bit sizes for
29566 non-resident files.
29567
86695375 295682009-09-11 Colin Watson <cjwatson@ubuntu.com>
29569
29570 * configure.ac: Don't look for help2man when cross-compiling. Fixes
29571 part of bug #27349.
29572
8aa1541a 295732009-09-10 Felix Zielcke <fzielcke@z-51.de>
29574
29575 * util/grub-mkconfig.in: Make the created config mode 400 and
29576 print a warning if it fails.
29577
48d9bb0a 295782009-09-10 Robert Millan <rmh.grub@aybabtu.com>
29579
29580 * util/grub.d/40_custom.in: Ask user to type custom entries below
29581 comment, rather than below 'exec tail' line.
29582
3b0521be 295832009-09-10 Colin Watson <cjwatson@ubuntu.com>
29584
29585 * util/grub.d/40_custom.in: Make sure that the explanatory text is
29586 visible in grub.cfg.
29587
50051d55 295882009-09-10 Colin Watson <cjwatson@ubuntu.com>
29589
29590 * util/grub.d/40_custom.in: Make it a little clearer how to use this
29591 file.
29592
c0d34387 295932009-09-10 Felix Zielcke <fzielcke@z-51.de>
29594
29595 * docs/grub.cfg: Add an example menu entry for memtest86+.
29596
80a608f3 295972009-09-09 Felix Zielcke <fzielcke@z-51.de>
29598
a2094832 29599 * config.guess: Update to latest version from config git.
80a608f3 29600 * config.sub: Likewise.
29601
99423078 296022009-09-08 Colin Watson <cjwatson@ubuntu.com>
29603
29604 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
29605 unknown-command case. Fixes bug #27320.
29606
44454e4c 296072009-09-08 Felix Zielcke <fzielcke@z-51.de>
29608
29609 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
29610 `help' if the command exists.
29611
e30d87ad 296122009-09-06 Robert Millan <rmh.grub@aybabtu.com>
29613
29614 * INSTALL: Require GCC 4.1.3 or later.
29615
9a86f1ec 296162009-09-06 Yves Blusseau <blusseau@zetam.org>
29617
29618 * Makefile.in (RMKFILES): add i386-qemu.rmk
29619 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
29620 $(srcdir)/stamp-h.in
29621
7f26d466 296222009-09-05 Robert Millan <rmh.grub@aybabtu.com>
29623
29624 * util/grub-probe.c (probe): Comment out buggy codepath, which
29625 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
29626 should be re-enabled after 1.97.
29627
3a613259 296282009-09-05 Felix Zielcke <fzielcke@z-51.de>
29629
29630 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
29631 find searches for.
29632
197f76c7 296332009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
29634
29635 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
29636 unnecessary calls to grub_error.
29637
70ba68ce 296382009-09-04 Colin Watson <cjwatson@ubuntu.com>
29639
29640 * NEWS: Mention `keystatus' and Unicode fonts.
29641
4ff0d7a4 296422009-09-04 Robert Millan <rmh.grub@aybabtu.com>
29643
29644 * configure.ac: Bump version to 1.97~beta2.
29645 * docs/version.texi: Likewise.
29646
77c55a87 296472009-09-03 Colin Watson <cjwatson@ubuntu.com>
29648
29649 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
29650 containing unwind information in some cases where it previously did
29651 not. Use -fno-dwarf2-cfi-asm if available to restore the old
29652 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
29653 discussion.
29654
f79572cd 296552009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
29656
29657 Embedding loadenv module into grub-emu
29658
29659 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
29660 commands/loadenv.c
29661 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
29662 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
29663 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
29664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
29665 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
29666 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
29667
93a81088 296682009-09-03 Magnus Granberg <zorry@ume.nu>
29669
29670 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
29671 include -fPIE in the default specs.
29672 * configure.ac: Check if pie_possible is yes and add -fno-PIE
29673 to TARGET_CFLAGS.
29674
160034b2 296752009-09-03 Felix Zielcke <fzielcke@z-51.de>
29676
29677 * INSTALL: Note that GNU Bison 2.3 or later is required.
29678
087c07c4 296792009-09-03 Colin Watson <cjwatson@ubuntu.com>
29680
29681 * kern/i386/pc/startup.S: Fix typo.
29682
cbf978c0 296832009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
29684
29685 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
29686 according to GCS.
29687
296882009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 29689
29690 * docs/grub.texi (Naming convention): Describe one-based partition
29691 numbering.
29692 (Device syntax): Likewise.
29693 (File name syntax): Likewise.
29694 (Block list syntax): Likewise.
29695 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
29696 menu.lst.
29697 (File name syntax): Likewise.
29698 (Command-line and menu entry commands): Document acpi, blocklist,
29699 crc, export, insmod, keystatus, ls, set, and unset commands.
29700
f3e8cdfd 297012009-09-02 Colin Watson <cjwatson@ubuntu.com>
29702
29703 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
29704 to avoid implying that only one of --shift, --ctrl, or --alt may be
29705 used.
29706
c0bc232b 297072009-09-02 Colin Watson <cjwatson@ubuntu.com>
29708
29709 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
29710 rather than comparing against S_IFREG, which will almost never work.
29711
aa0f752d 297122009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
29713
29714 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
29715 (write_blocklists): Likewise.
29716
ecb3166a 297172009-09-01 Colin Watson <cjwatson@ubuntu.com>
29718
29719 * script/lua/grub_lua.h (fputs): Supply a format string as the first
29720 argument to grub_printf.
29721
c403a125 297222009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 29723
29724 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 29725 non GNU test.
31aba781 29726
b5e7312c 297272009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
29728
29729 * kern/file.c (grub_file_read): Spelling fix
29730
fe00f472 297312009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
29732
29733 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
29734 loading of headers in some cases.
29735
cc55302e 297362009-08-30 Robert Millan <rmh.grub@aybabtu.com>
29737
29738 * configure.ac: Bump version to 1.97~beta1.
29739 * docs/version.texi: Likewise.
29740
5c90cdd2 297412009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 29742
29743 * include/grub/i386/xnu.h: Add license header.
29744 include grub/err.h explicitly.
29745
c90edae4 297462009-08-29 Robert Millan <rmh.grub@aybabtu.com>
29747
29748 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
29749 to `ufs' in the vfs.root.mountfrom kernel parameter.
29750
d8888b5c 297512009-08-29 Robert Millan <rmh.grub@aybabtu.com>
29752
29753 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
29754
29755 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
29756 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
29757
29758 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
29759 `ARRAY_SIZE' macro.
29760
6f07b921 297612009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29762
29763 * kern/file.c (grub_file_read): Check offset.
29764 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
29765 * fs/jfs.c (grub_jfs_read_file): Likewise.
29766 * fs/ntfs.c (grub_ntfs_read): Likewise.
29767 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
29768 * fs/minix.c (grub_minix_read_file): Correct offset check.
29769 * fs/ufs.c (grub_ufs_read_file): Likewise.
29770
b4f34077 297712009-08-28 Colin Watson <cjwatson@ubuntu.com>
29772
29773 * term/i386/pc/console.c (bios_data_area): Cast
29774 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
29775
e7c69859 297762009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29777
29778 1-bit optimised blitters.
29779
29780 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
29781 prototype.
29782 (grub_video_fbblit_replace_24bit_1bit): Likewise.
29783 (grub_video_fbblit_replace_16bit_1bit): Likewise.
29784 (grub_video_fbblit_replace_8bit_1bit): Likewise.
29785 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
29786 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
29787 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
29788 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
29789 function.
29790 (grub_video_fbblit_replace_24bit_1bit): Likewise.
29791 (grub_video_fbblit_replace_16bit_1bit): Likewise.
29792 (grub_video_fbblit_replace_8bit_1bit): Likewise.
29793 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
29794 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
29795 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
29796 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
29797 when possible.
29798 * video/video.c (grub_video_get_blit_format): Return
29799 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
29800
a57da43f 298012009-08-28 Colin Watson <cjwatson@ubuntu.com>
29802
29803 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
29804 the first argument to grub_printf.
29805
4cbe67e5 298062009-08-28 Colin Watson <cjwatson@ubuntu.com>
298072009-08-28 Robert Millan <rmh.grub@aybabtu.com>
29808
29809 Add `getkeystatus' terminal method. Add a new `keystatus' command
29810 to query it.
29811
29812 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
29813 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
29814 modifier key bitmasks.
29815 (struct grub_term_input): Add `getkeystatus' member.
29816 (grub_getkeystatus): Add prototype.
29817 * kern/term.c (grub_getkeystatus): New function.
29818
29819 * include/grub/i386/pc/memory.h
29820 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
29821 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
29822 Data Area layout.
29823 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
29824 (grub_console_term_input): Set `getkeystatus' member.
29825 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
29826 constants.
29827 (grub_usb_keyboard_getreport): Likewise.
29828 (grub_usb_keyboard_checkkey): Likewise.
29829 (grub_usb_keyboard_getkeystatus): New function.
29830 (grub_usb_keyboard_term): Set `getkeystatus' member.
29831
29832 * commands/keystatus.c: New file.
29833 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
29834 (keystatus_mod_SOURCES): New variable.
29835 (keystatus_mod_CFLAGS): Likewise.
29836 (keystatus_mod_LDFLAGS): Likewise.
29837 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
29838 commands/keystatus.c.
29839 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29840 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29841 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29843 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29844 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 29845
6e2a9085 298462009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29847
29848 Split befs.mod and afs.mod into *_be.mod and *.mod
29849
29850 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
29851 (grub_fstest_SOURCES): Likewise.
29852 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
29853 (afs_be_mod_SOURCES): New variable.
29854 (afs_be_mod_CFLAGS): Likewise.
29855 (afs_be_mod_LDFLAGS): Likewise.
29856 (befs_be_mod_SOURCES): Likewise.
29857 (befs_be_mod_CFLAGS): Likewise.
29858 (befs_be_mod_LDFLAGS): Likewise.
29859 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
29860 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29861 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29862 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29863 (grub_emu_SOURCES): Likewise.
29864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29865 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29866 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29867 * fs/afs_be.c: New file.
29868 * fs/befs_be.c: New file.
29869 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
29870 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
29871 (U16): Replaced with ...
29872 (grub_afs_to_cpu16): ...this. All users updated.
29873 (U32): Replaced with ...
29874 (grub_afs_to_cpu32): ...this. All users updated.
29875 (U64): Replaced with ...
29876 (grub_afs_to_cpu64): ...this. All users updated.
29877 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
29878 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 29879 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 29880 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29881 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
29882 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
29883 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
29884 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29885 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
29886 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
29887 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
29888
32a71655 298892009-08-26 Bean <bean123ch@gmail.com>
29890
29891 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
29892 64-bit number.
29893 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
29894 (grub_xfs_inode_block): Change return type to grub_uint64_t.
29895 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
29896
552bf6c5 298972009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29898
29899 NetBSD memory map support.
29900
29901 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
29902 (grub_netbsd_btinfo_mmap_header): New structure.
29903 (grub_netbsd_btinfo_mmap_entry): Likewise.
29904 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
29905
1ae2078c 299062009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29907
29908 Enable bsd.mod on coreboot.
29909
29910 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
29911 (bsd_mod_SOURCES): New variable.
29912 (bsd_mod_CFLAGS): Likewise.
29913 (bsd_mod_LDFLAGS): Likewise.
29914 (bsd_mod_ASFLAGS): Likewise.
29915 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
29916 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
29917
beefc598 299182009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29919
29920 Cleanup NetBSD root support.
29921
29922 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
29923 grub_bsd_get_device.
29924 Fix typo.
29925
3b76e68b 299262009-08-25 Felix Zielcke <fzielcke@z-51.de>
29927
29928 * util/grub.d/00_header.in: Move check for the video backend of
29929 gfxterm from here ...
29930 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
29931 a suitable video backend.
29932
aea664ea 299332009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29934
29935 Fix breakage in grub-setup.
29936
29937 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
29938 "msdos_partition_map".
29939
ff747d50 299402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29941
29942 Fix breakage in normal/auth.c.
29943
29944 * normal/auth.c (grub_iswordseparator): New function.
29945
e7e1f93f 299462009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29947
29948 Authentication support.
29949
29950 * commands/password.c: New file.
29951 * conf/common.rmk (pkglib_MODULES): Add password.mod.
29952 (password_mod_SOURCES): New variable.
29953 (password_mod_CFLAGS): Likewise.
29954 (password_mod_LDFLAGS): Likewise.
29955 (normal_mod_SOURCES): Add normal/auth.c.
29956 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
29957 normal/auth.c.
29958 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29959 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29960 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29962 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29963 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29964 * include/grub/auth.h: New file.
29965 * include/grub/err.h (grub_err_t): New enum value
29966 GRUB_ERR_ACCESS_DENIED.
29967 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
29968 'users'.
29969 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
29970 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
29971 users updated.
29972 * normal/auth.c: New file.
29973 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
29974 (grub_cmdline_run): Don't allow to go to command line without
29975 authentication.
29976 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
29977 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
29978 menuentry without superuser rights.
29979 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
29980 user isn't a superuser.
29981
70f1161d 299822009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29983
29984 Save space by inlining misc.c functions.
29985
29986 * kern/misc.c (grub_iswordseparator): Made static.
29987 * kern/misc.c (grub_strcat): Moved from here ...
29988 * include/grub/misc.h (grub_strcat): ... here. Inlined.
29989 * kern/misc.c (grub_strncat): Moved from here ...
29990 * include/grub/misc.h (grub_strncat): ... here. Inlined.
29991 * kern/misc.c (grub_strcasecmp): Moved from here ...
29992 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
29993 * kern/misc.c (grub_strncasecmp): Moved from here ...
29994 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
29995 * kern/misc.c (grub_isalpha): Moved from here ...
29996 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
29997 * kern/misc.c (grub_isdigit): Moved from here ...
29998 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
29999 * kern/misc.c (grub_isgraph): Moved from here ...
30000 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
30001 * kern/misc.c (grub_tolower): Moved from here ...
30002 * include/grub/misc.h (grub_tolower): ... here. Inlined.
30003
48e40bff 300042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30005
30006 * script/sh/function.c (grub_script_function_find): Cut error message
30007 not to flood terminal.
30008 * script/sh/lexer.c (grub_script_yylex): Remove command line length
30009 limit.
30010 * script/sh/script.c (grub_script_arg_add): Duplicate string.
30011
c385bfc3 300122009-08-24 Colin Watson <cjwatson@ubuntu.com>
30013
30014 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
30015 `report' grub_uint8_t *.
30016 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
30017 Use a 50-millisecond timeout rather than just repeating
30018 grub_usb_keyboard_getreport 50 times.
30019 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
30020
2d21e3e8 300212009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30022
30023 Rename *_partition_map to part_*
30024
30025 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
30026 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
30027 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
30028 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
30029 All users updated.
30030 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
30031 All users updated.
30032 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
30033 * util/grub-probe.c (probe_partmap): Don't transform partition name
30034 to get module name.
30035
dd103c4e 300362009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30037
30038 Fix OpenBSD and NetBSD support.
30039
30040 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
30041 memory address conflict.
30042 (OPENBSD_MMAP_ACPI): New definition.
30043 (OPENBSD_MMAP_NVS): Likewise.
30044 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
30045 and OPENBSD_MMAP_NVS.
30046 Add memory map terminator
30047 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 30048 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 30049
16c84d74 300502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30051
30052 Let user specify NetBSD root device.
30053
30054 * loader/i386/bsd.c (netbsd_root): New variable.
30055 (netbsd_opts): New option 'root'.
30056 (NETBSD_ROOT_ARG): New macro.
30057 (grub_netbsd_boot): Use 'netbsd_root'.
30058 (grub_bsd_unload): Free 'netbsd_root'.
30059 (grub_cmd_netbsd): Fill 'netbsd_root'.
30060
adb29902 300612009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30062
30063 Support for 64-bit NetBSD.
30064
30065 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
30066 point when booting non-FreeBSD.
30067
f5ae9f74 300682009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30069
30070 Support --no-smp and --no-acpi for NetBSD.
30071
30072 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
30073 (NETBSD_AB_NOACPI): Likewise.
30074 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
30075 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
30076
de74f136 300772009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30078
30079 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
30080 errors.
30081 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
30082 errors. Call grub_error when needed.
30083
e9a925da 300842009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30085
30086 * commands/search.c (search_fs): Try searching without autoload first.
30087 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
30088 filesystem module explicitly for faster booting.
30089
5174302b 300902009-08-23 Colin Watson <cjwatson@ubuntu.com>
30091
30092 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
30093
c8c80635 300942009-08-23 Colin Watson <cjwatson@ubuntu.com>
30095
30096 * util/grub.d/30_os-prober.in: Disable os-prober if
30097 `GRUB_DISABLE_OS_PROBER' was set to true.
30098
71acf5e5 300992009-08-23 Robert Millan <rmh.grub@aybabtu.com>
30100
30101 * partmap/pc.c: Rename to ...
30102 * partmap/msdos.c: ... this. Update all users.
30103 (grub_pc_partition_map): Rename to ...
30104 (grub_msdos_partition_map): ... this. Update all users.
30105
30106 * parttool/pcpart.c: Rename to ...
30107 * parttool/msdospart.c: ... this. Update all users.
30108
30109 * include/grub/pc_partition.h: Rename to ...
30110 * include/grub/msdos_partition.h: ... this. Update all users.
30111 (grub_pc_partition_bsd_entry): Rename to ...
30112 (grub_msdos_partition_bsd_entry): ... this. Update all users.
30113 (grub_pc_partition_disk_label): Rename to ...
30114 (grub_msdos_partition_disk_label): ... this. Update all users.
30115 (grub_pc_partition_entry): Rename to ...
30116 (grub_msdos_partition_entry): ... this. Update all users.
30117 (grub_pc_partition_mbr): Rename to ...
30118 (grub_msdos_partition_mbr): ... this. Update all users.
30119 (grub_pc_partition): Rename to ...
30120 (grub_msdos_partition): ... this. Update all users.
30121 (grub_pc_partition_is_empty): Rename to ...
30122 (grub_msdos_partition_is_empty): ... this. Update all users.
30123 (grub_pc_partition_is_extended): Rename to ...
30124 (grub_msdos_partition_is_extended): ... this. Update all users.
30125 (grub_pc_partition_is_bsd): Rename to ...
30126 (grub_msdos_partition_is_bsd): ... this. Update all users.
30127
30128 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
30129 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
30130 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
30131 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
30132 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
30133 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
30134 (gpt_mod_LDFLAGS): Rename to ...
30135 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
30136 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
30137 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
30138 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
30139 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
30140 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
30141 (part_gpt_mod_LDFLAGS): ... this.
30142 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
30143 `pcpart.mod' to `msdospart.mod'.
30144 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
30145 to ...
30146 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
30147 (msdospart_mod_LDFLAGS): ... this.
30148
c11fded5 301492009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30150
30151 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
30152 (openbsd_opts): Likewise.
30153 (netbsd_opts): Likewise.
30154 (freebsd_flags): Added 0 terminator.
30155 (openbsd_flags): Likewise.
30156 (netbsd_flags): Likewise.
30157 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
30158 (grub_cmd_freebsd): Transformed into extended command.
30159 (grub_cmd_openbsd): Likewise.
30160 (grub_cmd_netbsd): Likewise.
30161 (cmd_freebsd): Changed type to grub_extcmd_t.
30162 (cmd_openbsd): Likewise.
30163 (cmd_netbsd): Likewise.
30164 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
30165 grub_cmd_openbsd as extended commands.
30166 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
30167 cmd_netbsd and cmd_openbsd
30168
11d1c769 301692009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
30170
30171 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
30172
7a9094e5 301732009-08-21 Pavel Roskin <proski@gnu.org>
30174
5496c37e 30175 * Makefile.in (install-local): When checking if a file is in the
30176 build directory, use "test -e" to detect symlinks.
30177
7a9094e5 30178 * Makefile.in (install-local): Remove all files in
30179 $(DESTDIR)$(pkglibdir) before installing new files there.
30180
e53cea11 301812009-08-18 Felix Zielcke <fzielcke@z-51.de>
30182
30183 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
30184 grub-mkelfimage.
30185
9aced544 301862009-08-18 Felix Zielcke <fzielcke@z-51.de>
30187
30188 * util/grub-mkconfig.in: Don't use gfxterm by default if not
30189 explicitly specified by the user.
30190
b7da6bab 301912009-08-18 Pavel Roskin <proski@gnu.org>
30192
30193 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
30194 grub_uint8_t pointer for data.
30195 * include/grub/fbutil.h (struct grub_video_fbblit_info):
30196 Likewise.
30197 * video/fb/fbutil.c: Remove unnecessary casts.
30198
19f1b335 301992009-08-17 Michal Suchanek <hramrach@centrum.cz>
30200
30201 VBE cleanup.
30202
30203 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
30204 (grub_vbe_set_video_mode): Save active mode info
30205 only after setting the mode.
30206 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
30207 second argument.
30208
2f467aa9 302092009-08-17 Michal Suchanek <hramrach@centrum.cz>
30210
30211 Rename variables for clarity.
30212
30213 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
30214 (active_vbe_mode_info): ... this. All users updated.
30215 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
30216 All users updated.
30217 (initial_mode): Rename to ...
30218 (initial_vbe_mode): ... this. All users updated.
30219 (mode_in_use): Rename to ..
30220 (vbe_mode_in_use): ... this. All users updated.
30221 (mode_list): Rename to ..
30222 (vbe_mode_list): ... this. All users updated.
30223 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
30224 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
30225 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
30226 'mode_list_size' to 'vbe_mode_list_size'.
30227 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
30228 'best_mode_info' to 'best_vbe_mode_info' and
30229 'best_mode' to 'best_vbe_mode'
30230
6025fcd7 302312009-08-17 Michal Suchanek <hramrach@centrum.cz>
30232
30233 Remove duplicate grub_video_fb_get_video_ptr.
30234
30235 * include/grub/fbutil.h (get_data_ptr): Rename to ...
30236 (grub_video_fb_get_video_ptr): ... this.
30237 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
30238 * video/fb/fbutil.c: Add comment about addressing.
30239 (get_data_ptr): Rename to ...
30240 (grub_video_fb_get_video_ptr): ... this. All users updated.
30241 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
30242
cc8c6faf 302432009-08-17 Robert Millan <rmh.grub@aybabtu.com>
30244
30245 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
30246 grub_dprintf() that was just added.
30247
08aa61f0 302482009-08-17 Robert Millan <rmh.grub@aybabtu.com>
30249
30250 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
30251 (DEFAULT_VIDEO_MODE): Remove macros.
30252 (grub_linux_boot): Remove assumption that Linux has FB support,
30253 and use "text" as default video mode.
30254
7cef4f75 302552009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
30256
30257 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
30258 grub_dprintf.
30259 * fs/fat.c (grub_fat_read_data): Likewise.
30260
e1f39873 302612009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30262
30263 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
30264 payload.
30265 (grub_module): Likewise.
30266
c166d79e 302672009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30268
30269 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
30270 mbi->cmdline but free playground.
30271
c60cee8e 302722009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30273
30274 Handle group offset on UFS1.
30275
30276 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
30277 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
30278
c0d8b5d4 302792009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30280
30281 Split ufs.mod into ufs1.mod and ufs2.mod.
30282
30283 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
30284 (grub_fstest_SOURCES): Likewise.
30285 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
30286 (ufs_mod_SOURCES): Remove.
30287 (ufs_mod_CFLAGS): Likewise.
30288 (ufs_mod_LDFLAGS): Likewise.
30289 (ufs1_mod_SOURCES): New variable.
30290 (ufs1_mod_CFLAGS): Likewise.
30291 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 30292 (ufs2_mod_SOURCES): New variable.
30293 (ufs2_mod_CFLAGS): Likewise.
30294 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 30295 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
30296 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
30297 Likewise.
30298 (grub_emu_SOURCES): Likewise.
30299 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30300 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30301 (grub_setup_SOURCES): Likewise.
30302 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30303 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
30304 (grub_setup_SOURCES): Likewise.
30305 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
30306 Likewise.
30307 * fs/ufs2.c: New file.
30308 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
30309
d3539132 303102009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30311
30312 Framebuffer split.
30313
30314 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
30315 subsystem at the end.
30316 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
30317 (video_fb_mod_SOURCES): New variable.
30318 (video_fb_mod_CFLAGS): Likewise.
30319 (video_fb_mod_LDFLAGS): Likewise.
30320 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
30321 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
30322 * video/i386/pc/vbeblit.c: Moved from here ...
30323 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
30324 * video/i386/pc/vbefill.c: Moved from here ...
30325 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
30326 * video/i386/pc/vbeutil.c: Moved from here ...
30327 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
30328 * include/grub/i386/pc/vbeblit.h: Moved from here ...
30329 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
30330 * include/grub/i386/pc/vbefill.h: Moved from here ...
30331 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
30332 * include/grub/i386/pc/vbeutil.h: Moved from here ...
30333 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
30334 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
30335 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
30336 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
30337 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
30338 (grub_video_adapter): Added 'get_info_and_fini'.
30339 (grub_video_get_info_and_fini): New prototype.
30340 (grub_video_set_mode): make modestring const char *.
30341 * loader/i386/linux.c (grub_linux_setup_video): Use
30342 grub_video_get_info_and_fini.
30343 (grub_linux_boot): Move modesetting just before booting.
30344 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
30345 grub_video_get_info_and_fini.
30346 * video/i386/pc/vbe.c: Moved framebuffer part ...
30347 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
30348 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
30349 grub_video_fbstd_colors and grub_video_fb_set_palette.
30350 (grub_video_vbe_init): Clear 'framebuffer' variable and use
30351 grub_video_fb_init.
30352 (grub_video_vbe_fini): Use grub_video_fb_fini.
30353 (grub_video_vbe_setup): Use framebuffer.render_target instead of
30354 render_target and use grub_video_fb_set_active_render_target and
30355 grub_video_fb_set_palette.
30356 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
30357 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
30358 (grub_video_vbe_adapter): Use framebuffer.
30359 * video/video.c (grub_video_get_info_and_fini): New function.
30360 (grub_video_set_mode): Make modestring const char *.
30361 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
30362 values are already initialised.
30363
d404ee56 303642009-08-14 Pavel Roskin <proski@gnu.org>
30365
30366 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
30367 ABS and APPLE_CC.
30368 * boot/i386/pc/diskboot.S: Likewise.
30369 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
30370 sectors allow compilation on MacOSX.
30371 * conf/i386-pc.rmk: Enable unconditional compilation of
30372 lnxboot.img.
30373
9a10df16 303742009-08-13 Colin Watson <cjwatson@ubuntu.com>
30375
30376 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
30377 * util/grub.d/00_header.in: Enter interruptible sleep if
30378 GRUB_HIDDEN_TIMEOUT is set.
30379
be3c9ca7 303802009-08-13 Yves Blusseau <blusseau@zetam.org>
30381
30382 * include/grub/symbol.h: Add the LOCAL macro.
30383 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
30384 starting with "L_".
30385
1f9e557e 303862009-08-13 Pavel Roskin <proski@gnu.org>
30387
9ca62843 30388 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
30389 any modern compilers we support.
30390
1f9e557e 30391 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
30392 Use local labels starting with "L_" so that Apple assembler
30393 knows they are local.
30394
81623db6 303952009-08-10 Robert Millan <rmh.grub@aybabtu.com>
30396
30397 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
30398 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
30399 (bsd_kernel_types): ... this enum.
30400
30401 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
30402 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
30403 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
30404
30405 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
30406 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
30407 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
30408 messages.
30409
f5d35e7a 304102009-08-08 Robert Millan <rmh.grub@aybabtu.com>
30411
30412 * util/grub-dumpdevtree: Moved from here ...
30413 * util/i386/efi/grub-dumpdevtree: ... to here.
30414 (hexify): New function. Converts a string to its hex version.
30415 Generate hex versions of "efi" and "device-properties" by calling
30416 hexify() on the ASCII strings rather than by hardcoding numbers.
30417
d1e1d527 304182009-08-08 Robert Millan <rmh.grub@aybabtu.com>
30419
30420 * fs/jfs.c: Update copyright year.
30421
1ebbe064 304222009-08-08 Felix Zielcke <fzielcke@z-51.de>
30423
30424 * util/grub.d/00_header.in: Fix a comment.
30425 * util/grub.d/10_linux.in: Likewise.
30426 * util/grub.d/10_windows.in: Likewise.
30427 * util/grub.d/10_hurd.in: Likewise.
30428
a78c8d24 304292009-08-08 Felix Zielcke <fzielcke@z-51.de>
30430
30431 * util/grub-mkconfig.in: Allow the user to specify the used font
30432 with GRUB_FONT.
30433
29a6b9e8 304342009-08-08 Pavel Roskin <proski@gnu.org>
30435
b5f16cc4 30436 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
30437 available, xfs.mod needs it now.
30438
2f5cb827 30439 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
30440 the "g" modifier in sed when the intention is to strip something
30441 once. This fixes comparison of kernels with multiple dashes.
30442
29a6b9e8 30443 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
30444 on it. Add missing space before closing bracket. Fix
30445 misleading formatting.
30446
892a3d98 304472009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30448
30449 * docs/grub.texi: Major overhaul. Remove all sections that are
30450 specific to GRUB Legacy, or mostly composed of Legacy-specific
30451 information.
30452
ed94253f 304532009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30454
30455 * docs/version.texi: New file. Provides version information for
30456 grub.texi.
30457
126d6628 304582009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30459
30460 * docs/grub.texi: Update CVS information to SVN.
30461 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
30462
998b5aa9 304632009-08-07 Felix Zielcke <fzielcke@z-51.de>
30464
30465 * util/grub-mkconfig.in: Remove a wrong `fi'.
30466
818e094a 304672009-08-07 Felix Zielcke <fzielcke@z-51.de>
30468
30469 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
30470 (grub_jfs_uuid): New function.
30471 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
30472
b969c52f 304732009-08-07 Felix Zielcke <fzielcke@z-51.de>
30474
30475 * util/grub-mkconfig_lib.in (font_path): Move the functionality
30476 of it to ...
30477 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
30478 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
30479
7a4894cc 304802009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30481
30482 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
30483 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
30484 Update all users.
30485
30486 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
30487 not just "vmlinu[zx]".
30488 Moved from here ...
30489 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
30490 all users.
30491
30492 * util/grub.d/10_linux.in (find_latest): Moved from here ...
30493 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
30494 all users.
30495
4e2171f8 304962009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30497
30498 * util/grub.d/10_freebsd.in: Use an absolute device path for
30499 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
30500
6dcfcb32 305012009-08-06 Felix Zielcke <fzielcke@z-51.de>
30502
30503 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
30504 handling of multiple abstraction modules.
30505
f56a8756 305062009-08-04 Robert Millan <rmh.grub@aybabtu.com>
30507
30508 Fix a bug resulting in black screen when loading Linux using a
30509 packed video mode.
30510
30511 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
30512 function.
30513
30514 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
30515 (grub_vbe_bios_getset_dac_palette_width): New function.
30516 (grub_vbe_bios_get_dac_palette_width)
30517 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
30518 grub_vbe_bios_getset_dac_palette_width()).
30519
30520 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
30521 check for return status.
30522 (grub_vbe_get_video_mode_info): When getting information for a packed
30523 mode (<= 8 bpp), obtain DAC palette width using
30524 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
30525 {red,green,blue}_mark_size.
30526
222671b2 305272009-08-04 Felix Zielcke <fzielcke@z-51.de>
30528
ecb1a6d9 30529 * commands/search.c (options): Fix help output to match actual code.
222671b2 30530
f84114f5 305312009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
30532
30533 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
30534 of homegrown code.
30535
bd288a20 305362009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 30537
30538 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
30539 on XFS or ReiserFS.
30540
8aab5e25 305412009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
30542
30543 Support Apple partition map with sector size different from 512 bytes.
30544
30545 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
30546 (apple_partition_map_iterate): Respect 'aheader.blocksize'
30547 and 'apart.partmap_size'.
30548
6ad6258a 305492009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
305502009-08-01 Robert Millan <rmh.grub@aybabtu.com>
30551
30552 Fix cpuid command.
30553
30554 * commands/i386/cpuid.c (options): New variable.
30555 (grub_cmd_cpuid): Return real error.
30556 (GRUB_MOD_INIT(cpuid)): Declare options.
30557
67459bc6 305582009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
30559
30560 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
30561 valid.
30562
fbc6ab54 305632009-07-31 Bean <bean123ch@gmail.com>
30564
30565 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
30566 log2_inode.
30567 (grub_fshelp_node): Move inode field to the end.
30568 (grub_xfs_data): Remove inode field.
30569 (grub_xfs_inode_block): Calculate inode size using sblock.
30570 (grub_xfs_inode_offset): Likewise.
30571 (grub_xfs_read_inode): Calculate inode size using sblock.
30572 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
30573 (grub_xfs_iterate_dir): Calculate inode size using sblock.
30574 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
30575 to match inode size.
30576 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
30577 not accessible when data is null.
30578 (grub_xfs_open): Likewise.
30579
f45d6cfc 305802009-07-31 Bean <bean123ch@gmail.com>
30581
30582 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
30583 Don't change pv->disk if it's already set.
30584
30585 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
30586 (grub_raid_register): ... here.
30587 (grub_raid_rescan): Removed.
30588
30589 * include/grub/raid.h (grub_raid_rescan): Removed.
30590
30591 * util/grub-fstest.c: Remove include file <grub/raid.h>.
30592 (fstest): Replace grub_raid_rescan with module fini function followed
30593 by init function.
30594
30595 * util/grub-probe.c: Add include file <grub/raid.h>.
30596 (probe_raid_level): New function.
30597 (probe): Detect abstraction by walking the disk device, support two
30598 level of abstraction (LVM on RAID) when detecting partition map.
30599
24443b5a 306002009-07-31 Pavel Roskin <proski@gnu.org>
30601
30602 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
30603 to grub_zalloc(), it was erroneous.
30604 Reported by Bean <bean123ch@gmail.com>
30605
a275d9e7 306062009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
30607
30608 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 30609 embedding zone, not only the first one.
a275d9e7 30610
56c5a47f 306112009-07-29 Joe Auricchio <jauricchio@gmail.com>
30612
30613 * term/gfxterm.c (clear_char): New function.
30614 (grub_virtual_screen_setup): Use clear_char.
30615 (scroll_up): Likewise.
30616 (grub_virtual_screen_cls): Likewise.
30617
67bb323a 306182009-07-29 Felix Zielcke <fzielcke@z-51.de>
30619
30620 * util/deviceiter.c (get_acceleraid_disk_name): New static
30621 function.
30622 (grub_util_iterate_devices): Handle Accelraid devices.
30623 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
30624
388a7c75 306252009-07-28 Robert Millan <rmh.grub@aybabtu.com>
30626
30627 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
30628 separator for the suggested gfxpayload string (';' collides with the
30629 parser and needs escaping).
30630
3bb7abcf 306312009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
30632
30633 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
30634 Clear direction flag before jumping to OS.
30635 (grub_multiboot2_real_boot): Likewise.
30636
2ddd36d7 306372009-07-28 Felix Zielcke <fzielcke@z-51.de>
30638
30639 * util/i386/pc/grub-install: Fix parsing of --disk-module
30640 option.
30641
c521b62b 306422009-07-28 Felix Zielcke <fzielcke@z-51.de>
30643
30644 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
30645 when embedding.
30646
880e0a0c 306472009-07-26 Felix Zielcke <fzielcke@z-51.de>
30648
30649 * util/grub-mkconfig.in (package_version): New variable.
30650 Use it do display the version.
30651
2366e356 306522009-07-25 Felix Zielcke <fzielcke@z-51.de>
30653
30654 * kern/file.c (grub_file_open): Revert to previous check with
30655 grub_errno.
30656
7ad8c80e 306572009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
30658
30659 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
30660 from help line. It's out of sync with code.
30661
72b9658b 306622009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
30663
30664 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
30665 entries on failed boot.
30666
77435277 306672009-07-25 Felix Zielcke <fzielcke@z-51.de>
30668
30669 * kern/file.c (grub_file_open): Fix an error check.
30670
fcaa8b21 306712009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
30672
35d16c74 30673 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
30674 partition map couldn't be identified.
fcaa8b21 30675
48904cd1 306762009-07-23 Pavel Roskin <proski@gnu.org>
30677
ef3c317f 30678 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
30679 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
30680 case of little endian words becomes just an optimization.
30681 Respect const modifier.
ad8ea1f4 30682 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 30683
48904cd1 30684 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
30685 to avoid loss of upper bits if align is unsigned and shorter
30686 than addr.
30687
260c9a89 306882009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
30689
30690 UUID support for UFS
30691
30692 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
30693 (grub_ufs_uuid): New function.
30694 (grub_ufs_fs): add .uuid
30695
f76ce889 306962009-07-21 Pavel Roskin <proski@gnu.org>
30697
30698 * kern/dl.c (grub_dl_check_header): Make static.
30699
6a6cbcaf 307002009-07-21 Felix Zielcke <fzielcke@z-51.de>
30701
30702 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
30703 add drivemap for Vista. It breaks Windows 7.
30704
cffcddb2 307052009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
30706
30707 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
30708 128 bytes
30709
1ef44b80 307102009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30711
30712 Add BFS support
30713
30714 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
30715 (grub_fstest_SOURCES): Likewise.
30716 (pkglib_MODULES): Add befs.mod.
30717 (befs_mod_SOURCES): New variable.
30718 (befs_mod_CFLAGS): Likewise.
30719 (befs_mod_LDFLAGS): Likewise.
30720 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30721 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30722 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30723 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30724 (grub_setup_SOURCES): Likewise.
30725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30726 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30727 (grub_setup_SOURCES): Likewise.
30728 * fs/befs.c: New file.
30729 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
30730 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
30731 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
30732 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
30733 (B_KEY_INDEX_ALIGN): New declaration.
30734 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
30735 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
30736 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
30737 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
30738 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
30739 (grub_afs_mount) [MODE_BFS]: Likewise.
30740 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
30741 (grub_afs_fs): Use GRUB_AFS_FSNAME
30742 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
30743 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
30744 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
30745 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
30746
4f253044 307472009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
30748
30749 * util/getroot.c (find_root_device): Add support for MacOSX.
30750 * util/hostdisk.c: Likewise.
30751
57a55913 307522009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30753
30754 * font/font.c (find_glyph): Check whether a font is present to avoid
30755 segmentation fault.
75421ca9 30756
307572009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 30758
30759 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
30760
e98cd0c2 307612009-07-20 Pavel Roskin <proski@gnu.org>
30762
30763 * configure.ac: Trim excessively wordy excuses.
30764
1d2d169a 307652009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30766
30767 Add symlink, mtime and label support to AtheFS.
30768
30769 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
30770 (grub_afs_iterate_dir): Handle symlinks.
30771 (grub_afs_open): Use grub_afs_read_symlink.
30772 (grub_afs_dir): Likewise.
30773 Pass mtime.
30774 (grub_afs_label): New function.
30775 (grub_afs_fs): Add grub_afs_label.
30776 (grub_afs_read_symlink): New function.
30777
186f3189 307782009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30779
30780 Fix AtheFS support.
30781
30782 * fs/afs.c: Fix comments style.
30783 (grub_afs_blockrun): Declare as packed.
30784 (grub_afs_datastream): Likewise.
30785 (grub_afs_bnode): Likewise.
30786 (grub_afs_btree): Likewise.
30787 (grub_afs_sblock): Likewise.
30788 Declare `name' as char.
30789 (grub_afs_inode): Declare as packed.
30790 Change void *vnode to grub_uint32_t unused.
30791 (grub_afs_iterate_dir): Check that key_size is positive.
30792 (grub_afs_mount): Don't read superblock twice.
75421ca9 30793 (grub_afs_dir): Don't free node in case of error,
186f3189 30794 grub_fshelp_find_file already handles this.
30795 (grub_afs_open): Likewise.
30796
5680109e 307972009-07-19 Pavel Roskin <proski@gnu.org>
30798
30799 * Makefile.in: Remove LIBLZO and enable_lzo.
30800 * conf/i386-pc.rmk: Remove lzo support.
30801 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
30802 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
30803 support.
30804 * kern/i386/pc/lzo1x.S: Remove.
30805 * kern/i386/pc/startup.S: Remove lzo support.
30806 * util/i386/pc/grub-mkimage.c: Likewise.
30807
ac70fa32 308082009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
30809
30810 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
30811 * fs/xfs.c (grub_xfs_dir): Likewise.
30812 * fs/afs.c (grub_afs_dir): Likewise.
30813 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
30814 (grub_iso9660_open): Likewise.
30815 * fs/jfs.c (grub_jfs_open): Likewise.
30816 * fs/ext2.c (grub_ext2_dir): Likewise.
30817 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
30818 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 30819
eab58da2 308202009-07-16 Pavel Roskin <proski@gnu.org>
30821
d2838156 30822 * configure.ac: Never add "-c" to CFLAGS.
30823
55c70904 30824 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
30825
43e6200c 30826 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
30827 grub_cv_cc_efiemu should be used.
30828
ce7a733d 30829 * configure.ac: Typo fixes.
30830
eab58da2 30831 * kern/mm.c (grub_zalloc): New function.
30832 (grub_debug_zalloc): Likewise.
30833 * include/grub/mm.h: Declare grub_zalloc() and
30834 grub_debug_zalloc().
30835 * util/misc.c (grub_zalloc): New function.
30836 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
30837 instead of grub_malloc(), remove unneeded initializations.
30838 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
30839 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
30840 * commands/parttool.c (grub_cmd_parttool): Likewise.
30841 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
30842 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
30843 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
30844 * disk/usbms.c (grub_usbms_finddevs): Likewise.
30845 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
30846 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
30847 (grub_cmd_efiemu_pnvram): Likewise.
30848 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
30849 * fs/iso9660.c (grub_iso9660_mount): Likewise.
30850 (grub_iso9660_iterate_dir): Likewise.
30851 * fs/jfs.c (grub_jfs_opendir): Likewise.
30852 * fs/ntfs.c (list_file): Likewise.
30853 (grub_ntfs_mount): Likewise.
30854 * kern/disk.c (grub_disk_open): Likewise.
30855 * kern/dl.c (grub_dl_load_core): Likewise.
30856 * kern/elf.c (grub_elf_file): Likewise.
30857 * kern/env.c (grub_env_context_open): Likewise.
30858 (grub_env_set): Likewise.
30859 (grub_env_set_data_slot): Likewise.
30860 * kern/file.c (grub_file_open): Likewise.
30861 * kern/fs.c (grub_fs_blocklist_open): Likewise.
30862 * loader/i386/multiboot.c (grub_module): Likewise.
30863 * loader/xnu.c (grub_xnu_create_key): Likewise.
30864 (grub_xnu_create_value): Likewise.
30865 * normal/main.c (grub_normal_add_menu_entry): Likewise.
30866 (read_config_file): Likewise.
30867 * normal/menu_entry.c (make_screen): Likewise.
30868 * partmap/sun.c (sun_partition_map_iterate): Likewise.
30869 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
30870 * script/sh/script.c (grub_script_parse): Likewise.
30871 * video/bitmap.c (grub_video_bitmap_create): Likewise.
30872 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
30873 * video/readers/png.c (grub_png_output_byte): Likewise.
30874 (grub_video_reader_png): Likewise.
30875
830afef7 308762009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 30877
30878 Enable all targets that can be built by default
30879
830afef7 30880 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 30881 grub-mkfont and grub-fstest if they can be built
30882
ee293aee 308832009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30884
30885 Fix hang and segmentation fault in grub-emu-usb
30886
30887 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
30888 * util/usb.c (grub_libusb_devices): likewise
30889 (grub_libusb_init): rename to ...
30890 (GRUB_MOD_INIT (libusb)):...this
30891 (grub_libusb_fini): rename to ..
30892 (GRUB_MOD_FINI (libusb)):...this
30893 * disk/usbms.c (grub_usbms_transfer): fix retry logic
30894 * include/grub/disk.h (grub_raid_init): removed, it's useless
30895 (grub_raid_fini): likewise
30896 (grub_lvm_init): likewise
30897 (grub_lvm_fini): likewise
30898 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
30899 by grub_init_all
30900
94414221 309012009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30902
30903 Fix libusb
30904
30905 * Makefile.in (LIBUSB): new macro
30906 * genmk.rb (Utility/print_tail): new method
30907 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
30908 (top level): call util.print_tail at the end.
30909
59ade63d 309102009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30911
30912 Make FreeBSD accept zpool.cache
30913
30914 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
30915 type is /boot/zfs/zpool.cache
30916
a58da8c7 309172009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30918
30919 Fix 64-bit efiemu
30920
30921 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
30922 correct wrong typedef
30923 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
30924
20591577 309252009-07-15 Pavel Roskin <proski@gnu.org>
30926
560ca572 30927 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
30928 * kern/disk.c (struct grub_disk_cache): Likewise.
30929
e8e8e4fd 30930 * commands/probe.c (options): Typo fix.
30931
fde24e10 30932 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
30933 Increase to 0x5a to accommodate FAT32. Adjust other offsets
30934 accordingly.
30935 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
30936
379c54c1 30937 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
30938 the end of "Error" to make the message more readable.
30939
7bd8f5bf 30940 * boot/i386/pc/boot.S (kernel_segment): Remove.
30941 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
30942 for destination.
30943
40b132c5 30944 * boot/i386/pc/boot.S (boot_version): Remove.
30945 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
30946 Remove.
30947
20591577 30948 * include/grub/i386/pc/boot.h: Sort all offsets.
30949 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
30950 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
30951 * boot/i386/pc/boot.S: Assert location of every offset listed in
30952 include/grub/i386/pc/boot.h.
30953
2df32b2c 309542009-07-13 Pavel Roskin <proski@gnu.org>
30955
44b5d879 30956 * include/grub/i386/coreboot/machine.h: Rename
30957 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
30958 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
30959 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
30960
17dc3751 30961 * kern/dl.c: Force native word size to suppress warnings when
30962 compiling grub-emu.
30963
2df32b2c 30964 * kern/device.c (grub_device_iterate): Change struct part_ent to
30965 hold the name, not a pointer to it. Use one grub_malloc() per
30966 partition, not two. Free partition_name if grub_malloc() fails.
30967 Set ents to NULL only before grub_partition_iterate() is called.
30968
75c59f59 309692009-07-11 Bean <bean123ch@gmail.com>
30970
30971 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
30972 childname.
30973
0ae1bf88 309742009-07-10 Bean <bean123ch@gmail.com>
309752009-07-10 Robert Millan <rmh.grub@aybabtu.com>
30976
30977 * kern/ieee1275/openfw.c (grub_children_iterate)
30978 (grub_devalias_iterate): Fix size evaluation for property or path
30979 strings, which was broken since r2132.
30980
8279cade 309812009-07-07 Pavel Roskin <proski@gnu.org>
30982
7d8a52d3 30983 * commands/search.c (search_file): Merge into ...
30984 (search_fs): ... this. Accept search type as argument.
30985 (grub_cmd_search): Pass search type to search_fs().
30986
25f9a05a 30987 * include/grub/util/console.h: New file.
30988 * util/console.c: Use it instead of grub/machine/console.h.
30989 * util/grub-emu.c: Likewise.
30990
8279cade 30991 * lib/arg.c (find_long_option): Remove.
30992 (find_long): Add `len' argument, make `s' const char *.
30993 (grub_arg_parse): Parse long options in place, not in a
30994 temporary buffer.
30995
4a11b60f 309962009-07-06 Pavel Roskin <proski@gnu.org>
30997
99f68041 30998 * commands/search.c (search_fs): Fix potential NULL pointer
30999 dereference.
31000
4a11b60f 31001 * commands/search.c (search_fs): Replace QUID macro with quid_fn
31002 function pointer.
31003
e110f4de 310042009-07-06 Daniel Mierswa <impulze@impulze.org>
31005
31006 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
31007 comparison.
31008
46eeb6a2 310092009-07-05 Pavel Roskin <proski@gnu.org>
31010
bab74958 31011 * include/grub/i386/linux.h (struct linux_kernel_params):
31012 Restore padding3, it's still needed.
31013
46eeb6a2 31014 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
31015 FreeBSD.
31016 * util/osdetect.lua: Likewise.
31017
b4a1dc79 310182009-07-05 Bean <bean123ch@gmail.com>
31019
31020 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
31021
31022 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
31023 (grub_lua_getenv): Likewise.
31024 (grub_lua_setenv): Likewise.
31025 (save_errno): New function.
31026 (push_result): Likewise.
31027 (grub_lua_enum_device): Likewise.
31028 (grub_lua_enum_file): Likewise.
31029 (grub_lua_file_open): Likewise.
31030 (grub_lua_file_close): Likewise.
31031 (grub_lua_file_seek): Likewise.
31032 (grub_lua_file_read): Likewise.
31033 (grub_lua_file_getline): Likewise.
31034 (grub_lua_file_getsize): Likewise.
31035 (grub_lua_file_getpos): Likewise.
31036 (grub_lua_file_eof): Likewise.
31037 (grub_lua_file_exist): Likewise.
31038 (grub_lua_add_menu): Likewise.
31039
31040 * script/lua/grub_lua.h (isupper): New inline function.
31041 (islower): Likewise.
31042 (ispunct): Likewise.
31043 (isxdigit): Likewise.
31044 (strcspn): Change to normal function.
31045 (strpbkr): New function declaration.
31046 (memchr): Likewise.
31047
31048 * script/lua/grub_main.c (scan_str): New function.
31049 (strcspn): Likewise.
31050 (strpbrk): Likewise.
31051 (memchr): Likewise.
31052
31053 * script/lua/linit.c (lualibs): Enable the string library.
31054
31055 * util/osdetect.lua: New file.
31056
2da92295 310572009-07-04 Robert Millan <rmh.grub@aybabtu.com>
31058
31059 * include/grub/i386/linux.h (struct linux_kernel_params): Add
31060 `capabilities' member.
31061
b2582ec9 310622009-07-02 Pavel Roskin <proski@gnu.org>
31063
31064 * genparttoollist.sh: Add missing newline at the end.
31065
32622956 310662009-07-01 Pavel Roskin <proski@gnu.org>
31067
87a7339e 31068 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
31069
d23af54e 31070 * util/hostdisk.c (open_device): Remove `const' from
31071 `sysctl_size', as sysctlbyname() can change it (in this case it
31072 doesn't actually happen).
31073
c94b18a9 31074 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
31075 using signed long int constants.
31076
c6cd3ef0 31077 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
31078 constant to avoid a warning on FreeBSD.
31079
0df63420 31080 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
31081 where it's needed.
31082
999577f1 31083 * Makefile.in: Install include/grub/machine symlink.
31084
6f41557f 31085 * Makefile.in: When installing symlinks, use "cp -fR", which
31086 works on FreeBSD and MacOSX.
31087 From Yves Blusseau <cl7m42e02@sneakemail.com>
31088
c8d22988 31089 * kern/dl.c (grub_dl_resolve_symbol): Make static.
31090 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
31091
1b96e952 31092 * util/misc.c: Move grub_reboot() and grub_halt() ...
31093 * util/grub-emu.c: ... here. Make main_env static.
31094 * include/grub/util/misc.h: Remove main_env.
31095
2ef0084d 31096 * kern/mm.c: Use correct format to print size_t.
31097
32622956 31098 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
31099 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
31100 * kern/powerpc/dl.c: Likewise.
31101 * kern/sparc64/dl.c: Likewise.
31102 * kern/x86_64/dl.c: Likewise.
31103
3f7f0cd0 311042009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31105
31106 Fix grub-emu build on sparc64-ieee1275.
31107
75421ca9 31108 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 31109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
31110
211d06b5 311112009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31112
31113 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
31114 (grub_reboot, grub_halt): New functions.
31115
31116 * util/i386/pc/misc.c: Delete. Update all users.
31117 * util/sparc64/ieee1275/misc.c: Likewise.
31118 * util/powerpc/ieee1275/misc.c: Likewise.
31119
aaf53e3c 311202009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31121
31122 * conf/i386.rmk (setjmp_mod_SOURCES)
31123 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
31124 * conf/common.rmk (setjmp_mod_SOURCES)
31125 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
31126 to use $(target_cpu).
31127 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
31128 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
31129 * conf/powerpc-ieee1275.rmk: Likewise.
31130 * conf/sparc64-ieee1275.rmk: Likewise.
31131
31132 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
31133 $(target_cpu) for kern/$(target_cpu)/dl.c.
31134 * conf/i386-efi.rmk: Likewise.
31135 * conf/i386-ieee1275.rmk: Likewise.
31136 * conf/x86_64-efi.rmk: Likewise.
31137 * conf/i386-coreboot.rmk: Likewise.
31138 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
31139 $(target_cpu) for kern/$(target_cpu)/dl.c and for
31140 kern/$(target_cpu)/cache.S.
31141 * conf/sparc64-ieee1275.rmk: Likewise.
31142
a337130b 311432009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31144
31145 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
31146 type to `grub_uint8_t', and adjust `padding9' accordingly.
31147
c6fe4d53 311482009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31149
b09db61d 31150 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
31151
c6fe4d53 31152 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
31153 assembly in final jump, using register constraints.
31154
b09db61d 31155 (grub_linux_boot): For text mode, initialize `have_vga' using
31156 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
31157
31158 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
31159 right before the final jump.
31160
31161 Set `video_mode' to 0x3.
31162
31163 Document initialization of `video_page', `video_mode' and
31164 `video_ega_bx'.
31165
28333ad0 311662009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31167
31168 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
31169 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 31170 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 31171
02164e1b 311722009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31173
31174 Fix build on Debian / sparc.
31175
31176 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
31177
18b6c557 311782009-06-28 Pavel Roskin <proski@gnu.org>
31179
85f2aab6 31180 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
31181 fix a warning.
31182
18b6c557 31183 * util/grub.d/10_linux.in: Match SUSE style initrd names.
31184
ad760f81 311852009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31186
31187 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
31188 `err'.
31189
87a4623b 311902009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31191
31192 Revert r2338.
31193
31194 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
31195 file can't be opened. grub_file_open() is already supposed to set
75421ca9 31196 grub_errno / grub_errmsg appropriately.
87a4623b 31197 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31198
8231fb77 311992009-06-27 Pavel Roskin <proski@gnu.org>
312002009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31201
31202 * include/grub/dl.h: Include grub/elf.h.
31203 (struct grub_dl): Add symtab field.
31204 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
31205 GRUB_MODULES_MACHINE_READONLY.
31206 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
31207 of the header for read-only modules.
31208 (grub_dl_unload): Free mod->symtab for read-only modules.
31209 * kern/i386/dl.c: Use mod->symtab.
31210 * kern/powerpc/dl.c: Likewise.
31211 * kern/sparc64/dl.c: Likewise.
31212 * kern/x86_64/dl.c: Likewise.
31213
31214 * conf/i386-qemu.rmk: New file.
31215 * kern/i386/qemu/startup.S: Likewise.
31216 * kern/i386/qemu/mmap.c: Likewise.
31217 * boot/i386/qemu/boot.S: Likewise.
31218 * include/grub/i386/qemu/time.h: Likewise.
31219 * include/grub/i386/qemu/serial.h: Likewise.
31220 * include/grub/i386/qemu/kernel.h: Likewise.
31221 * include/grub/i386/qemu/console.h: Likewise.
31222 * include/grub/i386/qemu/boot.h: Likewise.
31223 * include/grub/i386/qemu/init.h: Likewise.
31224 * include/grub/i386/qemu/machine.h: Likewise.
31225 * include/grub/i386/qemu/loader.h: Likewise.
31226 * include/grub/i386/qemu/memory.h: Likewise.
31227
31228 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
31229 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
31230 [qemu] (pkglib_IMAGES): Add `boot.img'.
31231 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
31232 [qemu] (boot_img_FORMAT): New variables.
31233 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
31234 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
31235 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
31236 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31237 [qemu] (kernel_img_FORMAT): New variables.
31238
31239 * configure.ac: Recognise `i386-qemu'.
31240
31241 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
31242 (for no compression).
31243 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
31244 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
31245 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
31246 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
31247 ifdefs).
31248
97fe384e 312492009-06-27 Pavel Roskin <proski@gnu.org>
31250
31251 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
31252 read.
31253 * efiemu/prepare32.c: Likewise.
31254 * efiemu/prepare64.c: Likewise.
31255
c402ab17 312562009-06-26 Pavel Roskin <proski@gnu.org>
31257
31258 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
31259 * include/grub/elf.h: Define symbols without "32" or "64" based
31260 on GRUB_TARGET_WORDSIZE.
31261 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
31262 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
31263 ELF definitions.
31264 * efiemu/loadcore64.c: Likewise.
31265 * loader/i386/bsd32.c: Likewise.
31266 * loader/i386/bsd64.c: Likewise.
31267 * kern/dl.c: Remove own ELF definitions.
31268 * util/i386/efi/grub-mkimage.c: Likewise.
31269
9bbdfd4d 312702009-06-23 Robert Millan <rmh.grub@aybabtu.com>
31271
31272 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
31273 segment 0x0 unconditionally, because the reference generated by
31274 GAS is an absolute address.
31275
a42ce6e9 312762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31277
31278 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
31279 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
31280
c952cf92 312812009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31282
31283 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
31284 indexes. Check for -f explicitly.
cc3752ad 31285 (search_file): Improve error message.
31286 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 31287
132a0a59 312882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31289
31290 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
31291 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
31292
387a140c 312932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31294
31295 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
31296 * conf/i386-ieee1275.rmk: Likewise.
31297 * conf/i386-coreboot.rmk: Likewise.
31298
31299 * kern/i386/pc/startup.S (grub_stop): Remove function.
31300 * kern/i386/ieee1275/startup.S: Likewise.
31301 * kern/i386/coreboot/startup.S: Likewise.
31302 * kern/i386/misc.S (grub_stop): New function.
31303
41da9665 313042009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31305
31306 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
31307 * kern/i386/realmode.S (real_to_prot): ... to here.
31308
bf337234 313092009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31310
31311 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
31312 with `kernel.img'.
31313 (kernel_elf_SOURCES): Rename to ...
31314 (kernel_img_SOURCES): ... this.
31315 (kernel_elf_HEADERS): Rename to ...
31316 (kernel_img_HEADERS): ... this. Update all users.
31317 (kernel_elf_ASFLAGS): Rename to ...
31318 (kernel_img_ASFLAGS): ... this.
31319 (kernel_elf_CFLAGS): Rename to ...
31320 (kernel_img_CFLAGS): ... this.
31321 (kernel_elf_LDFLAGS): Rename to ...
31322 (kernel_img_LDFLAGS): ... this.
31323 * conf/i386-coreboot.rmk: Likewise.
31324 * conf/powerpc-ieee1275.rmk: Likewise.
31325
31326 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
31327 with "kernel.img".
31328
f52196ff 313292009-06-21 Pavel Roskin <proski@gnu.org>
31330
c3cee413 31331 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
31332 to match nested functions.
31333 * loader/sparc64/ieee1275/linux.c: Likewise.
31334
f52196ff 31335 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
31336
58750afc 313372009-06-21 Robert Millan <rmh.grub@aybabtu.com>
31338
31339 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
31340 all i386 platforms.
31341
15355c7d 313422009-06-21 Robert Millan <rmh.grub@aybabtu.com>
31343
31344 Fix asm file handling on ELF, and remove workarounds.
31345
31346 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 31347 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 31348 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
31349 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
31350
3f3ec72b 313512009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
31352
31353 Load BSD ELF modules
31354
31355 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
31356 and loader/i386/bsd64.c
31357 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
31358 (FREEBSD_MODTYPE_ELF_MODULE): New definition
31359 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
31360 (grub_freebsd_load_elfmodule32): New declaration
31361 (grub_freebsd_load_elfmoduleobj64): Likewise
31362 (grub_freebsd_load_elf_meta32): Likewise
31363 (grub_freebsd_load_elf_meta64): Likewise
31364 (grub_freebsd_add_meta): Likewise
31365 (grub_freebsd_add_meta_module): Likewise
31366 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
31367 (grub_freebsd_add_meta_module): Likewise and move module-specific
31368 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
31369 (grub_cmd_freebsd): Add elf-kernel specific parts
31370 based on grub_freebsd_add_meta_module
31371 (grub_cmd_freebsd_module): Add type parsing moved from
31372 grub_freebsd_add_meta_module
31373 (grub_cmd_freebsd_module_elf): New function
31374 (cmd_freebsd_module_elf): New variable
31375 (GRUB_MOD_INIT): Register freebsd_module_elf
31376 * loader/i386/bsd32.c: New file
31377 * loader/i386/bsd64.c: Likewise
31378 * loader/i386/bsdXX.c: Likewise
31379 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
31380 (grub_elf64_load): Likewise
31381 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
31382 All users updated
31383 (grub_elf64_load_hook_t): Likewise
31384
0db15301 313852009-06-21 Colin Watson <cjwatson@ubuntu.com>
31386
31387 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
31388 variable.
31389 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
31390 don't write a menu entry for recovery mode.
31391
546796c1 313922009-06-20 Robert Millan <rmh.grub@aybabtu.com>
31393
31394 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
31395 after it's no longer needed.
31396
cd7310d5 313972009-06-20 Robert Millan <rmh.grub@aybabtu.com>
31398
31399 * include/grub/i386/loader.h (grub_linux_prot_size)
31400 (grub_linux_tmp_addr, grub_linux_real_addr)
31401 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
31402 GRUB_MACHINE_PCBIOS.
31403 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
31404 common grub_util_info() call to ...
31405 (generate_image): ... here.
31406 Fix use of uninitialized memory, comparison of signed with
31407 unsigned integers and memory leak.
31408 Remove bogus module address message.
31409
ab32d3b5 314102009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
31411
31412 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
31413 grub_raid_register
31414 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
31415
024ef597 314162009-06-19 Pavel Roskin <proski@gnu.org>
31417
31418 * configure.ac: Remove stray AC_MSG_CHECKING.
31419
3ac72b51 314202009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
31421
31422 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 31423
e14cd814 314242009-06-18 Pavel Roskin <proski@gnu.org>
31425
31426 * conf/common.rmk: Add fs_file.mod.
31427 * disk/fs_file.c: New file.
31428 * include/grub/disk.h (enum grub_disk_dev_id): Add
31429 GRUB_DISK_DEVICE_FILE_ID.
31430
26586d98 314312009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31432
31433 Fix build with Apple's toolchain. Part 2
31434
31435 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
31436 a fake start
31437
26de2bcd 314382009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31439
31440 Fix build with Apple's toolchain. Part 1
31441
31442 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
31443 for long calls
31444 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 31445 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 31446 Apple's toolchain
31447
09b3490b 314482009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31449
31450 Fix warnings
31451
31452 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
31453 (decomp_block): initialize ch
31454 use grub_memcpy instead of memcpy
31455
c22a006a 314562009-06-17 Pavel Roskin <proski@gnu.org>
31457
d3638678 31458 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
31459 version, use declarations needed to use vga_text as the startup
31460 console.
31461
c22a006a 31462 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
31463 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
31464 the kernel.
31465 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
31466 and grub_at_keyboard_fini(), it's done on module load and
31467 unload.
31468
05b129e0 314692009-06-17 Felix Zielcke <fzielcke@z-51.de>
31470
31471 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
31472 file can't be found.
31473 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31474
cf24ed9e 314752009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
31476
31477 Fix newline handling
31478
31479 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 31480 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 31481 (grub_script_yylex): don't segfault on unterminated script
31482 newline terminates command and variable
31483
74aa8e4b 314842009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
31485
31486 avoid double grub_adjust_range call. Bug reported by David Simner
31487
31488 * kern/disk.c (grub_disk_write): change to raw disk access before
31489 calling disk_read
31490
1bd265f3 314912009-06-17 Colin Watson <cjwatson@ubuntu.com>
31492
31493 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
31494 spaces, for the benefit of help2man.
31495 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31496
a2d08c06 314972009-06-16 Pavel Roskin <proski@gnu.org>
31498
31499 * kern/i386/halt.c: Include grub/machine/init.h.
31500 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
31501
b97bcb19 315022009-06-16 Felix Zielcke <fzielcke@z-51.de>
31503
31504 * util/grub.d/30_os-prober.in: Use ${root} in the generated
31505 drivemap menuentry.
31506
0644f96c 315072009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
31508
31509 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
31510 `echo' command.
31511
3ef17a2e 315122009-06-16 Pavel Roskin <proski@gnu.org>
31513
31514 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
31515 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
31516 save %dx, we only need %dl and we never change it.
31517 * boot/i386/pc/cdboot.S: Don't set the root drive.
31518 * boot/i386/pc/pxeboot.S: Likewise.
31519 * include/grub/i386/pc/boot.h: Remove
31520 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
31521 GRUB_BOOT_MACHINE_DRIVE_CHECK.
31522 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
31523 * kern/i386/pc/init.c (make_install_device): Remove references
31524 to grub_root_drive.
31525 * kern/i386/pc/startup.S: Likewise.
31526 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
31527
693fe637 315282009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
31529
31530 xnu_uuid command
31531
31532 * commands/xnu_uuid.c: new file
31533 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
31534 (xnu_uuid_mod_SOURCES): new variable
31535 (xnu_uuid_mod_CFLAGS): likewise
31536 (xnu_uuid_mod_LDFLAGS): likewise
31537 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
31538 * conf/i386-ieee1275.rmk: likewise
31539 * conf/i386-pc.rmk: likewise
31540 * conf/powerpc-ieee1275.rmk: likewise
31541 * conf/sparc64-ieee1275.rmk: likewise
31542 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
31543
c9da87d0 315442009-06-16 Pavel Roskin <proski@gnu.org>
31545
31546 * configure.ac: Avoid '==' in test command, it's not portable.
31547
9c6f4596 315482009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
31549
31550 Probe command
31551
31552 * commands/probe.c: new file
31553 * conf/common.rmk (pkglib_MODULES): add probe.mod
31554 (probe_mod_SOURCES): new variable
31555 (probe_mod_CFLAGS): likewise
31556 (probe_mod_LDFLAGS): likewise
31557 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
31558 * conf/i386-ieee1275.rmk: likewise
31559 * conf/i386-pc.rmk: likewise
31560 * conf/powerpc-ieee1275.rmk: likewise
31561 * conf/sparc64-ieee1275.rmk: likewise
31562
70b7f9fd 315632009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
31564
31565 Fix handling of string like \"hello\" and "a
31566 b"
31567
31568 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
31569 (grub_script_yylex): fix parsing of quoting, escaping and newline
31570
71c79a6b 315712009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
31572
dd74360c 31573 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 31574 handling
dd74360c 31575
0644f96c 315762009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 31577
31578 * util/grub-mkconfig.in: Fix parsing of --output option.
31579
e40893c3 315802009-06-12 Pavel Roskin <proski@gnu.org>
31581
31582 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
31583 genmk.rb don't need to be generated or installed.
31584
3a1acfe2 315852009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
31586
31587 * commands/i386/pc/drivemap_int13h.S: add more comments
31588
3a4575d4 315892009-06-11 Pavel Roskin <proski@gnu.org>
31590
0658e928 31591 * Makefile.in (uninstall): Uninstall manuals.
31592
ca0388f0 31593 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
31594 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
31595 and update-grub_lib in two places.
31596 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
31597
e3b27c39 31598 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
31599 a compiler warning.
31600
3a4575d4 31601 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
31602 `entry_lo' to fix variable shadowing.
31603
af1f4f55 316042009-06-11 Christian Franke <franke@computer.org>
31605
31606 * kern/misc.c (__enable_execute_stack): Add missing return type
31607 to prevent gcc warning.
31608
5225e649 316092009-06-11 Felix Zielcke <fzielcke@z-51.de>
31610
31611 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
31612
7d83bd47 316132009-06-11 Pavel Roskin <proski@gnu.org>
31614
c1cb63ba 31615 * Makefile.in: Don't rely on any scripts being executable.
31616 Always use $(SHELL) to run shell scripts.
31617
7d83bd47 31618 * configure.ac: Always define ___main if using -nostdlib. This
31619 fixes tests on Cygwin.
31620
948f48e7 316212009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
31622
31623 UDF fix
31624
7d83bd47 31625 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 31626 is in bytes and not in blocks
7d83bd47 31627
8ada9bc1 316282009-06-11 Pavel Roskin <proski@gnu.org>
31629
31630 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
31631 warning.
31632
25ad2323 316332009-06-11 Felix Zielcke <fzielcke@z-51.de>
31634
31635 * util/grub.d/30_os-prober.in: Fix a comment. Source
31636 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
31637 to set the root device. Place drivemap command in the generated
31638 chain entry.
31639
e65acb0c 316402009-06-11 Pavel Roskin <proski@gnu.org>
31641
31642 * configure.ac: Remove host_m32. Issues with 64-bit utilities
31643 have long been resolved.
31644
f285fe2d 316452009-06-11 Colin Watson <cjwatson@ubuntu.com>
31646
bd47b0b5 31647 * util/grub.d/10_linux.in: Capitalise "Linux".
31648
f285fe2d 31649 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
31650
a0c62e4e 316512009-06-11 Pavel Roskin <proski@gnu.org>
31652
b6783cb2 31653 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
31654 fix a gcc warning and ensure that the function won't ever exit.
31655
dde032e8 31656 * kern/i386/ieee1275/init.c: Add missing prototype for
31657 grub_stop_floppy().
31658
22cd079d 31659 * loader/ieee1275/multiboot2.c [__i386__]: Include
31660 grub/cpu/multiboot.h.
31661
a0c62e4e 31662 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
31663 casts to short - they are not portable and cause warnings. Fix
31664 use of uninitialized values in input_buf. Use ARRAY_SIZE.
31665
63963d17 316662009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
31667
31668 Drivemap fixes
31669
31670 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
31671 new function
31672 (grub_get_root_biosnumber_saved): new variable
31673 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
31674 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 31675 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 31676 %dx after the call if necessary
31677 * conf/common.rmk (pkglib_MODULES): remove boot.mod
31678 (boot_mod_SOURCES): remove
31679 (boot_mod_CFLAGS): remove
31680 (boot_mod_LDFLAGS): remove
31681 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
31682 (boot_mod_SOURCES): new variable
31683 (boot_mod_CFLAGS): likewise
31684 (boot_mod_LDFLAGS): likewise
31685 * conf/i386-efi.rmk: likewise
31686 * conf/i386-ieee1275.rmk: likewise
31687 * conf/i386-pc.rmk: likewise
31688 * conf/powerpc-ieee1275.rmk: likewise
31689 * conf/sparc64-ieee1275.rmk: likewise
31690 * conf/x86_64-efi.rmk: likewise
31691 * include/grub/i386/pc/biosnum.h: new file
31692 * lib/i386/pc/biosnum.c: likewise
31693 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
31694 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
31695 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 31696
33abf7ae 316972009-06-10 Pavel Roskin <proski@gnu.org>
31698
5ac35b35 31699 * io/gzio.c (test_header): Don't reuse one buffer for all data.
31700 Use separate variables. Read only the file size at the end, but
31701 not the checksum that we don't use.
31702
5c5215d5 31703 * kern/file.c (grub_file_read): Use void pointer for the buffer.
31704 Adjust all callers.
31705
27d5fef7 31706 * kern/ieee1275/openfw.c: Remove libc includes.
31707 * kern/ieee1275/cmain.c: Likewise.
31708 * include/grub/ieee1275/ieee1275.h: Likewise.
31709
33abf7ae 31710 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
31711 compiler warnings.
31712
19d50c2b 317132009-06-10 Felix Zielcke <fzielcke@z-51.de>
31714
31715 * Makefile.in: Remove all trailing whitespace.
31716 * conf/i386-pc.rmk: Likewise.
31717 * conf/powerpc-ieee1275.rmk: Likewise.
31718 * conf/sparc64-ieee1275.rmk: Likewise.
31719 * docs/grub.texi: Likewise.
31720 * docs/texinfo.tex: Likewise.
31721 * disk/fs_uuid.c: Likewise.
31722 * disk/lvm.c: Likewise.
31723 * disk/scsi.c: Likewise.
31724 * disk/ata.c: Likewise.
31725 * disk/ieee1275/ofdisk.c: Likewise.
31726 * disk/i386/pc/biosdisk.c: Likewise.
31727 * disk/host.c: Likewise.
31728 * disk/raid.c: Likewise.
31729 * disk/efi/efidisk.c: Likewise.
31730 * disk/usbms.c: Likewise.
31731 * disk/memdisk.c: Likewise.
31732 * disk/loopback.c: Likewise.
31733 * kern/powerpc/dl.c: Likewise.
31734 * kern/device.c: Likewise.
31735 * kern/dl.c: Likewise.
31736 * kern/sparc64/dl.c: Likewise.
31737 * kern/ieee1275/ieee1275.c: Likewise.
31738 * kern/term.c: Likewise.
31739 * kern/fs.c: Likewise.
31740 * kern/i386/dl.c: Likewise.
31741 * kern/i386/pc/startup.S: Likewise.
31742 * kern/i386/pc/init.c: Likewise.
31743 * kern/i386/pc/mmap.c: Likewise.
31744 * kern/i386/pc/lzo1x.S: Likewise.
31745 * kern/i386/ieee1275/init.c: Likewise.
31746 * kern/i386/realmode.S: Likewise.
31747 * kern/i386/tsc.c: Likewise.
31748 * kern/partition.c: Likewise.
31749 * kern/corecmd.c: Likewise.
31750 * kern/file.c: Likewise.
31751 * kern/efi/efi.c: Likewise.
31752 * kern/efi/init.c: Likewise.
31753 * kern/efi/mm.c: Likewise.
31754 * kern/main.c: Likewise.
31755 * kern/err.c: Likewise.
31756 * kern/env.c: Likewise.
31757 * kern/disk.c: Likewise.
31758 * kern/generic/millisleep.c: Likewise.
31759 * kern/generic/rtc_get_time_ms.c: Likewise.
31760 * kern/misc.c: Likewise.
31761 * kern/parser.c: Likewise.
31762 * genmk.rb: Likewise.
31763 * configure.ac: Likewise.
31764 * boot/i386/pc/diskboot.S: Likewise.
31765 * boot/i386/pc/pxeboot.S: Likewise.
31766 * boot/i386/pc/boot.S: Likewise.
31767 * boot/i386/pc/lnxboot.S: Likewise.
31768 * boot/i386/pc/cdboot.S: Likewise.
31769 * parttool/pcpart.c: Likewise.
31770 * video/readers/tga.c: Likewise.
31771 * video/video.c: Likewise.
31772 * video/bitmap.c: Likewise.
31773 * lib/envblk.c: Likewise.
31774 * lib/i386/setjmp.S: Likewise.
31775 * fs/xfs.c: Likewise.
31776 * fs/afs.c: Likewise.
31777 * fs/fat.c: Likewise.
31778 * fs/ntfs.c: Likewise.
31779 * fs/udf.c: Likewise.
31780 * fs/affs.c: Likewise.
31781 * fs/iso9660.c: Likewise.
31782 * fs/hfs.c: Likewise.
31783 * fs/fshelp.c: Likewise.
31784 * fs/ext2.c: Likewise.
31785 * fs/jfs.c: Likewise.
31786 * fs/reiserfs.c: Likewise.
31787 * fs/hfsplus.c: Likewise.
31788 * fs/minix.c: Likewise.
31789 * fs/cpio.c: Likewise.
31790 * fs/sfs.c: Likewise.
31791 * fs/ufs.c: Likewise.
31792 * efiemu/prepare.c: Likewise.
31793 * efiemu/loadcore_common.c: Likewise.
31794 * efiemu/runtime/efiemu.sh: Likewise.
31795 * efiemu/runtime/efiemu.S: Likewise.
31796 * efiemu/runtime/efiemu.c: Likewise.
31797 * efiemu/pnvram.c: Likewise.
31798 * efiemu/main.c: Likewise.
31799 * efiemu/i386/pc/cfgtables.c: Likewise.
31800 * efiemu/i386/loadcore64.c: Likewise.
31801 * efiemu/i386/loadcore32.c: Likewise.
31802 * efiemu/loadcore.c: Likewise.
31803 * efiemu/symbols.c: Likewise.
31804 * efiemu/mm.c: Likewise.
31805 * include/grub/autoefi.h: Likewise.
31806 * include/grub/datetime.h: Likewise.
31807 * include/grub/term.h: Likewise.
31808 * include/grub/hfs.h: Likewise.
31809 * include/grub/lvm.h: Likewise.
31810 * include/grub/i386/tsc.h: Likewise.
31811 * include/grub/i386/linux.h: Likewise.
31812 * include/grub/i386/xnu.h: Likewise.
31813 * include/grub/i386/efiemu.h: Likewise.
31814 * include/grub/i386/pc/biosdisk.h: Likewise.
31815 * include/grub/i386/pc/memory.h: Likewise.
31816 * include/grub/i386/pc/vbe.h: Likewise.
31817 * include/grub/parttool.h: Likewise.
31818 * include/grub/video.h: Likewise.
31819 * include/grub/memory.h: Likewise.
31820 * include/grub/fs.h: Likewise.
31821 * include/grub/partition.h: Likewise.
31822 * include/grub/xnu.h: Likewise.
31823 * include/grub/efi/api.h: Likewise.
31824 * include/grub/efi/pe32.h: Likewise.
31825 * include/grub/efi/memory.h: Likewise.
31826 * include/grub/multiboot.h: Likewise.
31827 * include/grub/usbdesc.h: Likewise.
31828 * include/grub/multiboot2.h: Likewise.
31829 * include/grub/acpi.h: Likewise.
31830 * include/grub/efiemu/efiemu.h: Likewise.
31831 * include/grub/disk.h: Likewise.
31832 * include/grub/ieee1275/ieee1275.h: Likewise.
31833 * include/grub/net.h: Likewise.
31834 * include/grub/machoload.h: Likewise.
31835 * include/grub/macho.h: Likewise.
31836 * include/multiboot.h: Likewise.
31837 * genmoddep.awk: Likewise.
31838 * normal/main.c: Likewise.
31839 * normal/menu_entry.c: Likewise.
31840 * normal/menu_viewer.c: Likewise.
31841 * normal/completion.c: Likewise.
31842 * normal/cmdline.c: Likewise.
31843 * normal/misc.c: Likewise.
31844 * normal/datetime.c: Likewise.
31845 * bus/usb/usbtrans.c: Likewise.
31846 * bus/usb/ohci.c: Likewise.
31847 * bus/usb/uhci.c: Likewise.
31848 * bus/usb/usb.c: Likewise.
31849 * mmap/efi/mmap.c: Likewise.
31850 * mmap/i386/pc/mmap_helper.S: Likewise.
31851 * mmap/i386/pc/mmap.c: Likewise.
31852 * mmap/i386/mmap.c: Likewise.
31853 * mmap/i386/uppermem.c: Likewise.
31854 * mmap/mmap.c: Likewise.
31855 * commands/acpi.c: Likewise.
31856 * commands/echo.c: Likewise.
31857 * commands/blocklist.c: Likewise.
31858 * commands/loadenv.c: Likewise.
31859 * commands/usbtest.c: Likewise.
31860 * commands/boot.c: Likewise.
31861 * commands/parttool.c: Likewise.
31862 * commands/search.c: Likewise.
31863 * commands/cat.c: Likewise.
31864 * commands/i386/pc/play.c: Likewise.
31865 * commands/i386/pc/drivemap.c: Likewise.
31866 * commands/i386/pc/vbeinfo.c: Likewise.
31867 * commands/i386/pc/acpi.c: Likewise.
31868 * commands/i386/pc/vbetest.c: Likewise.
31869 * commands/ls.c: Likewise.
31870 * commands/cmp.c: Likewise.
31871 * commands/test.c: Likewise.
31872 * commands/efi/acpi.c: Likewise.
31873 * commands/gptsync.c: Likewise.
31874 * commands/help.c: Likewise.
31875 * partmap/amiga.c: Likewise.
31876 * partmap/apple.c: Likewise.
31877 * partmap/acorn.c: Likewise.
31878 * partmap/pc.c: Likewise.
31879 * partmap/sun.c: Likewise.
31880 * partmap/gpt.c: Likewise.
31881 * script/sh/lexer.c: Likewise.
31882 * script/sh/function.c: Likewise.
31883 * font/font.c: Likewise.
31884 * font/font_cmd.c: Likewise.
31885 * loader/powerpc/ieee1275/linux.c: Likewise.
31886 * loader/efi/chainloader.c: Likewise.
31887 * loader/multiboot_loader.c: Likewise.
31888 * loader/macho.c: Likewise.
31889 * loader/i386/multiboot.c: Likewise.
31890 * loader/i386/linux.c: Likewise.
31891 * loader/i386/pc/linux.c: Likewise.
31892 * loader/i386/pc/multiboot2.c: Likewise.
31893 * loader/i386/pc/chainloader.c: Likewise.
31894 * loader/i386/pc/xnu.c: Likewise.
31895 * loader/i386/bsd_trampoline.S: Likewise.
31896 * loader/i386/efi/linux.c: Likewise.
31897 * loader/i386/multiboot_elfxx.c: Likewise.
31898 * loader/i386/bsd_helper.S: Likewise.
31899 * loader/i386/bsd.c: Likewise.
31900 * loader/i386/linux_trampoline.S: Likewise.
31901 * loader/i386/xnu_helper.S: Likewise.
31902 * loader/i386/xnu.c: Likewise.
31903 * loader/i386/bsd_pagetable.c: Likewise.
31904 * loader/i386/multiboot_helper.S: Likewise.
31905 * loader/xnu.c: Likewise.
31906 * loader/xnu_resume.c: Likewise.
31907 * io/gzio.c: Likewise.
31908 * term/efi/console.c: Likewise.
31909 * term/terminfo.c: Likewise.
31910 * term/ieee1275/ofconsole.c: Likewise.
31911 * term/i386/pc/serial.c: Likewise.
31912 * term/i386/pc/vesafb.c: Likewise.
31913 * term/i386/pc/vga.c: Likewise.
31914 * term/usb_keyboard.c: Likewise.
31915 * term/gfxterm.c: Likewise.
31916 * aclocal.m4: Likewise.
31917 * util/lvm.c: Likewise.
31918 * util/grub.d/30_os-prober.in: Likewise.
31919 * util/grub.d/10_hurd.in: Likewise.
31920 * util/console.c: Likewise.
31921 * util/grub-macho2img.c: Likewise.
31922 * util/grub-probe.c: Likewise.
31923 * util/hostfs.c: Likewise.
31924 * util/i386/pc/grub-mkimage.c: Likewise.
31925 * util/i386/pc/grub-setup.c: Likewise.
31926 * util/i386/efi/grub-mkimage.c: Likewise.
31927 * util/grub-mkconfig.in: Likewise.
31928 * util/raid.c: Likewise.
31929 * util/resolve.c: Likewise.
31930 * util/grub-mkdevicemap.c: Likewise.
31931 * util/grub-emu.c: Likewise.
31932 * util/getroot.c: Likewise.
31933 * util/hostdisk.c: Likewise.
31934 * util/usb.c: Likewise.
31935 * util/grub-editenv.c: Likewise.
31936 * util/misc.c: Likewise.
31937
d2d49665 319382009-06-10 Felix Zielcke <fzielcke@z-51.de>
31939
31940 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
31941 `genparttoollist.sh'.
31942 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
31943 Add `*.sh' to the list find searches for and change `mdate.sh'
31944 to `mdate-sh'.
31945
fe052e37 319462009-06-10 Pavel Roskin <proski@gnu.org>
31947
2763ac18 31948 * include/grub/multiboot2.h: Provide compatibility defines for
31949 multiboot2.h.
31950 * include/multiboot2.h: Include stdint.h only if needed, using
31951 angle brackets.
31952 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
31953 grub/multiboot2.h.
31954 * loader/ieee1275/multiboot2.c: Likewise.
31955 * loader/multiboot2.c: Likewise.
31956 * loader/multiboot_loader.c: Likewise.
31957
437e6adc 31958 * configure.ac: Use -nostdlib when probing for the target. It
31959 should not be required to have libc for the target.
31960
06a6836c 31961 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
31962 they fail without libc headers for the target.
31963 * include/grub/powerpc/libgcc.h: Use weak attribute for all
31964 exports.
31965 * include/grub/sparc64/libgcc.h: Likewise. Don't use
31966 preprocessor conditionals.
31967
fe052e37 31968 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
31969 build system doesn't need to be aware of the tar.c internals.
31970
afd22553 319712009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 31972
afd22553 31973 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 31974
6b787c4f 319752009-06-09 Robert Millan <rmh.grub@aybabtu.com>
31976
31977 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
31978 disk limit to 26 for IDE, Virtio, Xen and SCSI.
31979
319802009-06-09 Felix Zielcke <fzielcke@z-51.de>
31981
31982 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 31983 aren't available if ata.mod gets used.
6b787c4f 31984
473d1e45 319852009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 31986
473d1e45 31987 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 31988 initialising controller.
473d1e45 31989 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 31990
255a27d4 319912009-06-08 Felix Zielcke <fzielcke@z-51.de>
31992
31993 * util/i386/pc/grub-install.in: Add a parameter --disk-module
31994 to choose between ata and biosdisk module on i386-pc.
31995
473d1e45 319962009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 31997
d55842d8 31998 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
31999 Subclass and Programming Interface fields in terms of the 3 byte
32000 Class Code register.
32001 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32002
fa5db0b1 32003 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
32004 interface is OHCI. Add grub_dprintf for symmetry with
32005 bus/usb/uhci.c.
32006 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
32007 interface is UHCI. Add interf variable for programming
32008 interface. Print interface with class/subclass.
32009
c0947beb 32010 * bus/usb/ohci.c: Set interf with correct field.
32011
69da8877 32012 * bus/usb/uhci.c: Remove unneeded doubled lines.
32013 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
32014 Remove whitespace inside comment.
32015
9e172e30 320162009-06-08 Robert Millan <rmh.grub@aybabtu.com>
32017
32018 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
32019 as fallback an equivalent option without depth.
32020
de65ee2b 320212009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32022
32023 Not fail if unable to retrieve C/H/S on LBA disks
32024
473d1e45 32025 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 32026 if unable to retrieve C/H/S on LBA disks
32027
b57ea2c9 320282009-06-08 Pavel Roskin <proski@gnu.org>
32029
32030 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
32031 about aliasing.
32032
af361263 320332009-06-08 Felix Zielcke <fzielcke@z-51.de>
32034
32035 * Makefile.in (uninstall): Remove all $lib_DATA files.
32036
4c9ec6b3 320372009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32038
32039 Bugfix: install on partitionless device
32040
32041 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
32042 is a whole disk
32043
e76fc924 320442009-06-08 Felix Zielcke <fzielcke@z-51.de>
32045
32046 * Makefile.in (uninstall): Remove all $include_DATA files.
32047
ba5a0d05 320482009-06-08 Felix Zielcke <fzielcke@z-51.de>
32049
32050 * commands/true.c: New file. Implement the true and false commands.
32051 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
32052 (true_mod_SOURCES): New variable.
32053 (true_mod_CFLAGS): Likewise.
32054 (true_mod_LDFLAGS): Likewise.
32055
c8048e32 320562009-06-05 Colin D Bennett <colin@gibibit.com>
32057
32058 Optimized font character lookup using binary search instead of linear
32059 search. Fonts now are required to have the character index ordered by
32060 code point.
32061
32062 * font/font.c (load_font_index): Verify that fonts have ordered
32063 character indices.
32064 (find_glyph): Use binary search instead of linear search to find a
32065 character in a font.
32066
408305be 320672009-06-05 Michael Scherer <misc@mandriva.org>
32068
32069 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
32070 uses case sensitive btree.
32071 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
32072 only for case insensitive filesystems.
32073
8ee1e0d9 320742009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
32075
32076 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
32077 * conf/common.rmk (search_mod_CFLAGS): likewise
32078
a9966eb1 320792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32080
473d1e45 32081 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 32082 compensate a compiler bug
32083
9e7100fb 320842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32085
473d1e45 32086 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 32087 instead of '\b'
473d1e45 32088
ede21d71 320892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32090
32091 Definitions for creating asm symbols with Apple's CC
32092
32093 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
32094 [APPLE_CC] (VARIABLE): likewise
32095
9dbf7653 320962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32097
32098 Disable lnxboot.img when compiled
32099 with Apple's CC
32100
32101 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
32102 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
32103 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
32104 [! APPLE_CC] (CODE_LENG): skip
32105 [! APPLE_CC] (setup_sects): likewise
32106 [! APPLE_CC]: skip filling
473d1e45 32107
e93cdc3d 321082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32109
32110 Address in trampolines based on 32-bit registers when compiled
32111 with Apple's CC
32112
473d1e45 32113 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 32114 for addresses
32115 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
32116
6c688477 321172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32118
32119 Avoid aliases when compiling with Apple's CC for PCBIOS machine
32120
32121 * kern/misc.c [APPLE_CC] (memcpy): new function
32122 [APPLE_CC] (memmove): likewise
32123 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 32124 (memcpy): define alias conditionally on !APPLE_CC
6c688477 32125 (memset): likewise
32126 (abort): likewise
32127 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
32128 APPLE_CC are defined
32129 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
32130 (grub_assert_fail): make prototype conditional
32131
e37ffc5c 321322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32133
32134 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
32135
473d1e45 32136 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
32137 grub-macho2img
e37ffc5c 32138 (CLEANFILES): add grub-macho2img
32139 (grub_macho2img_SOURCES): new variable
32140 * kern/i386/pc/startup.S (bss_start): new variable
32141 (bss_end): likewise
32142 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
32143 * util/grub-macho2img.c: new file
32144
cf00df31 321452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32146
32147 Use objconv when compiling with Apple's CC
32148
32149 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
32150 (efiemu64.o): likewise
32151 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
32152 when compiling with Apple's CC
32153 (efiemu64_s.o): likewise
32154 * configure.ac: check for objconv when compiling with Apple's CC
32155 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 32156
d119a20c 321572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32158
32159 Define segment as well as section when compiling with
32160 Apple's CC
32161
32162 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
32163 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
32164 (efiemu_convert_pointer): likewise
32165 (efiemu_set_virtual_address_map): likewise
32166 (efiemu_convert_pointer): likewise
32167 (efiemu_getcrc32): likewise
32168 (init_crc32_table): likewise
32169 (reflect): likewise
32170 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
32171 (GRUB_MOD_DEP): likewise
473d1e45 32172
c8600122 321732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32174
32175 Allow a compilation without -mcmodel=large
32176
32177 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
32178 when compiled without -mcmodel=large
473d1e45 32179 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 32180 without -mcmodel=large
473d1e45 32181 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 32182 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 32183
e8df1d4e 321842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32185
32186 Remove nested functions in efiemu core
32187
32188 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 32189
cc6c3ac1 321902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32191
32192 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
32193
32194 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
32195 temporary storage
473d1e45 32196 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
32197 using Apple's CC
cc6c3ac1 32198 (grub_cpu_is_tsc_supported): likewise
32199 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 32200
3e325901 322012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32202
32203 Absolute addressing through constant with Apple's cc
32204
32205 * kern/i386/pc/startup.S: Define necessary constants
32206 and address through it when using ABS with Apple's CC
32207 * boot/i386/pc/diskboot.S: likewise
32208 * boot/i386/pc/boot.S: likewise
32209 * boot/i386/pc/lnxboot.S: likewise
32210 * boot/i386/pc/cdboot.S: likewise
32211 * mmap/i386/pc/mmap_helper.S: likewise
32212 * commands/i386/pc/drivemap_int13h.S: likewise
32213
2b167a72 322142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32215
32216 Check if compiler is apple cc
32217
32218 * Makefile.in (ASFLAGS): new variable
32219 (TARGET_ASFLAGS): likewise
32220 (TARGET_MODULE_FORMAT): likewise
32221 (TARGET_APPLE_CC): likewise
32222 (OBJCONV): likewise
32223 (TARGET_IMG_CFLAGS): likewise
32224 (TARGET_CPPFLAGS): add includedir
32225 * configure.ac: call grub_apple_cc and grub_apple_target_cc
32226 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
32227 Check for linker script only if compiler isn't Apple's CC
32228 (TARGET_MODULE_FORMAT): set
32229 (TARGET_APPLE_CC): likewise
32230 (TARGET_ASFLAGS): likewise
32231 (ASFLAGS): likewise
32232 Check for objcopy only if compiler isn't Apple's CC
32233 Check for BSS symbol only if compiler isn't Apple's CC
32234 * genmk.rb: adapt nm options if we use Apple's utils
32235 * aclocal.m4 (grub_apple_cc): new test
32236 (grub_apple_target_cc): likewise
473d1e45 32237
fb14123e 322382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32239
32240 Simplify sed expressions and improve awk
32241
32242 * Makefile.in (install-local): simplify sed expression
32243 * gencmdlist.sh: likewise
32244 * genmoddep.awk: avoid adding module as a dependency of itself
32245
5b889789 322462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32247
32248 Add missing start symbols
32249
32250 * boot/i386/pc/boot.S: add start
fb14123e 32251 * boot/i386/pc/pxeboot.S: likewise
473d1e45 32252
fd2bf2e3 322532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32254
32255 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 32256
32257 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 32258 (relocate_addresses): consider both r_addend and value at offset
32259 (make_mods_section): zerofill modinfo and header
32260 (convert_elf): write prefix here
473d1e45 32261
5389763d 322622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32263
32264 Use .asciz instead of .string
32265
32266 * i386/pc/diskboot.S: use .asciz instead of .string
32267 * i386/pc/boot.S: likewise
32268 * include/grub/dl.h (GRUB_MOD_DEP): likewise
32269 (GRUB_MOD_NAME): likewise
473d1e45 32270
3eb5ed4e 322712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32272
32273 gfxpayload support
32274
32275 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
32276 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
32277 (grub_video_setup): remove
32278 (grub_video_set_mode): new prototype
32279 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
32280 (vid_mode): remove
32281 (linux_vesafb_res): compile only on PCBIOS
32282 (grub_linux_boot): support gfxpayload
32283 * loader/i386/pc/xnu.c (video_hook): new function
32284 (grub_xnu_set_video): support gfxpayload
32285 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
32286 (DEFAULT_VIDEO_HEIGHT): likewise
32287 (DEFAULT_VIDEO_FLAGS): likewise
32288 (DEFAULT_VIDEO_MODE): new definition
32289 (video_hook): new function
32290 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 32291 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 32292 loading xnu
32293 * video/video.c (grub_video_setup): removed
473d1e45 32294 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 32295 grub_video_setup
32296
4b0e1143 322972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32298
32299 Avoid calling biosdisk in drivemap
32300
32301 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
32302 (revparse_biosdisk): likewise
32303 (list_mappings): derive name from id directly
32304 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 32305
fda6cb98 323062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32307
32308 Script fixes
32309
32310 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
32311 (grub_lexer_param): add tokenonhold
32312 (grub_script_create_cmdline): remove cmdline. All callers updated
32313 (grub_script_function_create): make functionname
32314 grub_script_arg. All callers updated
32315 (grub_script_execute_argument_to_string): new prototype
32316 * kern/parser.c (state_transitions): reorder
32317 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 32318 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 32319 make global
32320 (grub_script_execute_cmdline): use new format
32321 * script/sh/function.c (grub_script_function_create): make functionname
32322 grub_script_arg. All callers updated
473d1e45 32323 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 32324 (grub_script_yylex): remove
32325 (grub_script_yylex2): renamed to ...
32326 (grub_script_yylex): ...renamed
32327 parse the expressions like a${b}c
32328 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
32329 (GRUB_PARSER_TOKEN_VAR): remove
32330 (GRUB_PARSER_TOKEN_NAME): likewise
32331 ("if"): declare as typeless
32332 ("while"): likewise
32333 ("function"): likewise
32334 ("else"): likewise
32335 ("then"): likewise
32336 ("fi"): likewise
32337 (text): remove
32338 (argument): likewise
32339 (script): accept empty scripts and make exit on error
32340 (arguments): use GRUB_PARSER_TOKEN_ARG
32341 (function): likewise
32342 (command): move error handling to script
32343 (menuentry): move grub_script_lexer_ref before
473d1e45 32344 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 32345 argument. All callers updated
32346
f4448a07 323472009-06-04 Robert Millan <rmh.grub@aybabtu.com>
32348
32349 Prevent GRUB from probing floppies during boot.
32350
32351 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
32352 * commands/search.c (options): Add --no-floppy.
32353 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
32354 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
32355 --no-floppy when searching for UUIDs.
32356
2bf5885a 323572009-06-04 Robert Millan <rmh.grub@aybabtu.com>
32358
32359 Simplify the code duplication in commands/search.c.
32360
32361 * commands/search.c (search_label, search_fs_uuid): Merge into ...
32362 (search_fs): ... this. Update all users.
32363
f6fd460a 323642009-06-03 Felix Zielcke <fzielcke@z-51.de>
32365
32366 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
32367
cbb3c83e 323682009-05-28 Pavel Roskin <proski@gnu.org>
32369
57788cfd 32370 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
32371 Remove the original symlink explicitly.
32372
cbb3c83e 32373 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
32374 just one slash. That's how grub_fshelp_find_file() does it.
32375
cd0d5e30 323762009-05-26 Pavel Roskin <proski@gnu.org>
32377
f0f8bbe2 32378 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
32379 to `str'.
32380
cd0d5e30 32381 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
32382 possibly unused.
32383
8c2cab51 323842009-05-25 Christian Franke <franke@computer.org>
32385
32386 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
32387 register.
32388 (grub_atapi_identify): Add wait after drive select.
32389 (grub_ata_identify): Do more strict status register check before
32390 calling grub_atapi_identify (). Suppress error message if status
32391 register is 0x00 after command failure. Add status register
32392 check after PIO read to avoid bogus identify due to stuck DRQ.
32393 Thanks to Pavel Roskin for testing.
32394 (grub_device_initialize): Remove unsafe status register check.
32395 Thanks to 'phcoder' for problem report and patch.
32396 Prevent sign extension in debug message.
32397
230c0ad6 323982009-05-23 Colin D Bennett <colin@gibibit.com>
32399
32400 Cleaned up `include/grub/normal.h'. Grouped prototypes by
32401 definition file, and functions defined in `normal/menu.c' have had
32402 their prototypes moved to `include/grub/menu.h' for consistency.
32403
32404 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
32405 from normal.h.
32406 (grub_menu_get_entry): Likewise.
32407 (grub_menu_get_timeout): Likewise.
32408 (grub_menu_set_timeout): Likewise.
32409 (grub_menu_execute_entry): Likewise.
32410 (grub_menu_execute_with_fallback): Likewise.
32411 (grub_menu_entry_run): Likewise.
32412
32413 * include/grub/normal.h: Re-ordered and grouped function
32414 prototypes by file that the function is defined in.
32415 (grub_menu_execute_callback): Removed; moved to menu.h.
32416 (grub_menu_get_entry): Likewise.
32417 (grub_menu_get_timeout): Likewise.
32418 (grub_menu_set_timeout): Likewise.
32419 (grub_menu_execute_entry): Likewise.
32420 (grub_menu_execute_with_fallback): Likewise.
32421 (grub_menu_entry_run): Likewise.
32422 (grub_menu_addentry): Renamed from this ...
32423 (grub_normal_add_menu_entry): ... to this.
32424
32425 * normal/main.c (grub_menu_addentry): Renamed from this ...
32426 (grub_normal_add_menu_entry): ... to this.
32427
32428 * script/sh/execute.c (grub_script_execute_menuentry): Update
32429 reference to renamed grub_menu_addentry function.
32430
861f03a5 324312009-05-23 Felix Zielcke <fzielcke@z-51.de>
32432
32433 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
32434
96b1619a 324352009-05-22 Pavel Roskin <proski@gnu.org>
32436
bf6a5fb2 32437 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
32438 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
32439 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
32440 compiling for the i386 targets, but not for the utilities.
32441
96b1619a 32442 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
32443 to grub_uint8_t.
32444 (grub_root_drive): Likewise.
32445 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
32446 remove alignment.
32447 (grub_root_drive): Change size to byte.
32448 (grub_start_addr): Remove.
32449 (grub_end_addr): Likewise.
32450 (grub_apm_bios_info): Likewise.
32451
b729776b 324522009-05-21 Felix Zielcke <fzielcke@z-51.de>
32453
32454 * normal/i386: Remove.
32455 * normal/powerpc: Likewise.
32456 * normal/sparc64: Likewise.
32457 * normal/x86_64: Likewise.
32458
0a15ce80 324592009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
32460
32461 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 32462 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 32463 * loader/i386/xnu_helper.S: Likewise
d6da58e6 32464
33db9015 324652009-05-18 Colin D Bennett <colin@gibibit.com>
32466
d6da58e6 32467 Display error messages when parsing a Lua statement fails.
32468 Previously, executing a syntactically invalid statement like
32469 ")foo" or "bar;" would silently fail.
33db9015 32470
32471 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 32472 (grub_lua_parse_line): Improved reporting of Lua parser and
32473 execution errors.
33db9015 32474
46422c89 324752009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
32476
32477 Remove -Werror which causes build to fail on some systems
32478
32479 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
32480 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
32481 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 32482
22f53a96 324832009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
32484
32485 trampoline for linux on 64-bit platform
32486
18f547ad 32487 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
32488 loader/i386/efi/linux_trampoline.S
32489 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 32490 declaration
d6da58e6 32491 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
32492 here
22f53a96 32493 * loader/i386/linux_trampoline.S: moved here
d6da58e6 32494 * loader/i386/efi/linux.c (allocate_pages): reserve space for
32495 trampoline
22f53a96 32496 (jumpvector): removed
32497 (grub_linux_trampoline_start): new declaration
32498 (grub_linux_trampoline_end): likewise
32499 (grub_linux_boot): use trampoline when on 64-bit platform
32500 * loader/i386/linux.c: likewise
32501
cb5a0f40 325022009-05-16 Pavel Roskin <proski@gnu.org>
32503
32504 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
32505 const to avoid a warning.
32506 (grub_lua_setenv): Likewise.
32507 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
32508 lmsg to fix a warning.
32509
334f2c28 325102009-05-16 Felix Zielcke <fzielcke@z-51.de>
32511
32512 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 32513 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32514 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
32515 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32516 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
32517 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32518 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
32519 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 32520
59e5d3ec 325212009-05-16 Felix Zielcke <fzielcke@z-51.de>
32522
32523 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
32524
9d87a1ba 325252009-05-16 Bean <bean123ch@gmail.com>
32526
32527 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
32528 (lua_mod_SOURCES): New variable.
32529 (lua_mod_CFLAGS): Likewise.
32530 (lua_mod_LDFLAGS): Likewise.
32531
32532 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
32533 (setjmp_mod_SOURCES): New variable.
32534 (setjmp_mod_CFLAGS): Likewise.
32535 (setjmp_LDFLAGS): Likewise.
32536
32537 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
32538 (setjmp_mod_SOURCES): New variable.
32539 (setjmp_mod_CFLAGS): Likewise.
32540 (setjmp_LDFLAGS): Likewise.
32541
32542 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
32543 (setjmp_mod_SOURCES): New variable.
32544 (setjmp_mod_CFLAGS): Likewise.
32545 (setjmp_LDFLAGS): Likewise.
32546
32547 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
32548 (setjmp_mod_SOURCES): New variable.
32549 (setjmp_mod_CFLAGS): Likewise.
32550 (setjmp_LDFLAGS): Likewise.
32551
32552 * normal/i386/setjmp.S: Moved from here ...
32553 * lib/i386/setjmp.S: ... Moved here
32554 * normal/x86_64/setjmp.S: Moved from here ...
32555 * lib/x86_64/setjmp.S: ... Moved here
32556 * normal/powerpc/setjmp.S: Moved from here ...
32557 * lib/powerpc/setjmp.S: ... Moved here
32558 * normal/sparc64/setjmp.S: Moved from here ...
32559 * lib/sparc64/setjmp.S: ... Moved here
32560
32561 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
32562 returns_twice in mingw.
32563
32564 * script/lua/grub_lib.c: New file.
32565 * script/lua/grub_lib.h: Likewise.
32566 * script/lua/grub_lua.h: Likewise.
32567 * script/lua/grub_main.c: Likewise.
32568 * script/lua/lapi.c: Likewise.
32569 * script/lua/lapi.h: Likewise.
32570 * script/lua/lauxlib.c: Likewise.
32571 * script/lua/lauxlib.h: Likewise.
32572 * script/lua/lbaselib.c: Likewise.
32573 * script/lua/lcode.c: Likewise.
32574 * script/lua/lcode.h: Likewise.
32575 * script/lua/ldblib.c: Likewise.
32576 * script/lua/ldebug.c: Likewise.
32577 * script/lua/ldebug.h: Likewise.
32578 * script/lua/ldo.c: Likewise.
32579 * script/lua/ldo.h: Likewise.
32580 * script/lua/ldump.c: Likewise.
32581 * script/lua/lfunc.c: Likewise.
32582 * script/lua/lfunc.h: Likewise.
32583 * script/lua/lgc.c: Likewise.
32584 * script/lua/lgc.h: Likewise.
32585 * script/lua/linit.c: Likewise.
32586 * script/lua/liolib.c: Likewise.
32587 * script/lua/llex.c: Likewise.
32588 * script/lua/llex.h: Likewise.
32589 * script/lua/llimits.h: Likewise.
32590 * script/lua/lmathlib.c: Likewise.
32591 * script/lua/lmem.c: Likewise.
32592 * script/lua/lmem.h: Likewise.
32593 * script/lua/loadlib.c: Likewise.
32594 * script/lua/lobject.c: Likewise.
32595 * script/lua/lobject.h: Likewise.
32596 * script/lua/lopcodes.c: Likewise.
32597 * script/lua/lopcodes.h: Likewise.
32598 * script/lua/loslib.c: Likewise.
32599 * script/lua/lparser.c: Likewise.
32600 * script/lua/lparser.h: Likewise.
32601 * script/lua/lstate.c: Likewise.
32602 * script/lua/lstate.h: Likewise.
32603 * script/lua/lstring.c: Likewise.
32604 * script/lua/lstring.h: Likewise.
32605 * script/lua/lstrlib.c: Likewise.
32606 * script/lua/ltable.c: Likewise.
32607 * script/lua/ltable.h: Likewise.
32608 * script/lua/ltablib.c: Likewise.
32609 * script/lua/ltm.c: Likewise.
32610 * script/lua/ltm.h: Likewise.
32611 * script/lua/lua.h: Likewise.
32612 * script/lua/luaconf.h: Likewise.
32613 * script/lua/lualib.h: Likewise.
32614 * script/lua/lundump.c: Likewise.
32615 * script/lua/lundump.h: Likewise.
32616 * script/lua/lvm.c: Likewise.
32617 * script/lua/lvm.h: Likewise.
32618 * script/lua/lzio.c: Likewise.
32619 * script/lua/lzio.h: Likewise.
32620
5e898c9d 326212009-05-16 Bean <bean123ch@gmail.com>
32622
32623 * include/grub/kernel.h (grub_module_header_types): Add type
32624 OBJ_TYPE_CONFIG.
32625
32626 * kern/main.c (grub_load_config): New function.
32627 (grub_main): Call grub_load_config to read boot config.
32628
32629 * grub-mkimage (generate_image): New parameter config_path.
32630 (options): New option --config.
32631 (main): Parse --config option, and pass it to generate_image.
32632
cf353a47 326332009-05-14 Christian Franke <franke@computer.org>
32634
32635 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
32636 This fixes build on Cygwin.
32637
3834887f 326382009-05-14 Pavel Roskin <proski@gnu.org>
32639
32640 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
32641 jump. This saves two bytes, so the typical case of 2 swapped
32642 drives would fit 32 bytes.
32643
8090fc01 326442009-05-13 Pavel Roskin <proski@gnu.org>
32645
ac963883 32646 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
32647 grub_uint32_t to avoid a warning.
32648
8090fc01 32649 * loader/i386/linux.c (allocate_pages): When assigning
32650 real_mode_mem, cast through grub_size_t to fix a warning. The
32651 code already makes sure that the value would fit a pointer.
32652 (grub_linux_setup_video): Cast render_target->data to
32653 grub_size_t to fix a warning.
32654
18f547ad 326552009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 32656
32657 * commands/i386/pc/drivemap.c: New file - implement drivemap
32658 command.
32659 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
32660 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
32661
6f6a8b28 326622009-05-13 Pavel Roskin <proski@gnu.org>
32663
32664 * util/i386/pc/grub-setup.c (setup): Remove unused variable
32665 embedding_area_exists.
32666
15fbf4c4 326672009-05-13 Robert Millan <rmh.grub@aybabtu.com>
32668
32669 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
32670 it easier to understand / work with.
59978c8a 32671 Improve warning messages for cases where there's no embedding area,
32672 or when it is too small (or core.img too large).
15fbf4c4 32673
238e871f 326742009-05-13 Pavel Roskin <proski@gnu.org>
32675
0ab3a9a4 32676 * loader/i386/pc/multiboot2.c: Add necessary includes for
32677 grub_multiboot2_real_boot().
32678
a2c8c5f8 32679 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
32680 PX record is always little-endian. We only need the lower 2
32681 bytes of the mode.
32682
faec96af 32683 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
32684 facilitate code reuse.
32685 (grub_cpio_mount): Use "struct head", not a char buffer. This
32686 fixes a warning reported by gcc 4.4.
32687
238e871f 32688 * kernel/disk.c (grub_disk_read): Use void pointer for the
32689 buffer.
32690 (grub_disk_write): Use const void pointer for the buffer.
32691 Adjust all callers. Remove unnecessary casts.
32692
901d2f0c 326932009-05-10 Robert Millan <rmh.grub@aybabtu.com>
32694
32695 * util/i386/pc/grub-install.in: Update copyright year.
32696
18f547ad 326972009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 32698
32699 gptsync
32700
32701 * commands/gptsync.c: new file
32702 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
32703 (gptsync_mod_SOURCES): new variable
32704 (gptsync_mod_CFLAGS): likewise
32705 (gptsync_mod_LDFLAGS): likewise
18f547ad 32706 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 32707 new definition
32708 (GRUB_PC_PARTITION_TYPE_HFS): likewise
32709 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
32710 * conf/i386-ieee1275.rmk: likewise
32711 * conf/i386-pc.rmk: likewise
32712 * conf/powerpc-ieee1275.rmk: likewise
32713
b4ba690a 327142009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
32715
32716 Fixed grub-emu
32717
32718 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
32719 (grub_dl_ref): likewise
32720
317e1a44 327212009-05-08 Robert Millan <rmh.grub@aybabtu.com>
32722
32723 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
32724 split in two functions (one for msdos and one for gpt).
32725
041b8094 327262009-05-08 Pavel Roskin <proski@gnu.org>
32727
752473c2 32728 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
32729 not modified.
32730
041b8094 32731 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
32732 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
32733 Initialize them with -1. Add sanity check for bad1. Eliminate
32734 nerr variable.
32735
172800ce 327362009-05-08 David S. Miller <davem@davemloft.net>
32737
32738 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
32739
29aa5e81 327402009-05-06 Robert Millan <rmh.grub@aybabtu.com>
32741
32742 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 32743 existence.
29aa5e81 32744
96613b62 327452009-05-05 Felix Zielcke <fzielcke@z-51.de>
32746
32747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 32748 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 32749
eef73c8a 327502009-05-05 David S. Miller <davem@davemloft.net>
32751
32752 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
32753
119494b5 327542009-05-05 Pavel Roskin <proski@gnu.org>
32755
32756 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
32757 of grub_dl_ref() and grub_dl_unref().
32758 * commands/parttool.c: Remove preprocessor conditionals around
32759 grub_dl_ref() and grub_dl_unref().
32760 * fs/affs.c: Likewise.
32761 * fs/afs.c: Likewise.
32762 * fs/cpio.c: Likewise.
32763 * fs/ext2.c: Likewise.
32764 * fs/fat.c: Likewise.
32765 * fs/hfs.c: Likewise.
32766 * fs/hfsplus.c: Likewise.
32767 * fs/iso9660.c: Likewise.
32768 * fs/jfs.c: Likewise.
32769 * fs/minix.c: Likewise.
32770 * fs/ntfs.c: Likewise.
32771 * fs/reiserfs.c: Likewise.
32772 * fs/sfs.c: Likewise.
32773 * fs/udf.c: Likewise.
32774 * fs/ufs.c: Likewise.
32775 * fs/xfs.c: Likewise.
32776 * include/grub/dl.h: Likewise.
32777 * loader/xnu.c: Likewise.
32778
de5fd76e 327792009-05-04 Pavel Roskin <proski@gnu.org>
32780
32781 * commands/acpi.c: Remove unused variable my_mod.
32782 * partmap/amiga.c: Likewise.
32783 * partmap/apple.c: Likewise.
32784 * partmap/gpt.c: Likewise.
32785 * partmap/pc.c: Likewise.
32786 * partmap/sun.c: Likewise.
32787 * term/gfxterm.c: Likewise.
32788 * term/i386/pc/vesafb.c: Likewise.
32789 * term/i386/pc/vga.c: Likewise.
32790
983598ad 327912009-05-04 David S. Miller <davem@davemloft.net>
32792
32793 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
32794 pointer args to grub_ieee1275_get_property().
32795
8aadec43 32796 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
32797
9554b15e 32798 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
32799 devices, and do not traverse down under controller nodes.
32800
67e23c90 32801 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
32802 (grub_ofdisk_open): Use it to un-escape "," characters.
32803 * kern/disk.c (find_part_sep): New.
32804 (grub_disk_open): Use it to find the first non-escaped ','
32805 character in the disk name.
32806 * util/ieee1275/devicemap.c (escape_of_path): New.
32807 (grub_util_emit_devicemap_entry): Use it.
32808 * util/sparc64/ieee1275/grub-install.in: Update script to
32809 strip partition specifiers properly by not triggering on
32810 '\' escaped ',' characters.
32811
74bfdd2f 328122009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32813
32814 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
32815 to 0x300.
32816 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
32817 resolutions.
32818 (linux_vesafb_modes): Add a lot of additional modes to the list (based
32819 on documentation from Wikipedia).
32820
4241d2b1 328212009-05-04 Pavel Roskin <proski@gnu.org>
32822
32823 * disk/ata.c: Spelling fixes.
32824 * disk/raid.c: Likewise.
32825 * disk/usbms.c: Likewise.
32826 * disk/dmraid_nvidia.c: Likewise.
32827 * kern/ieee1275/openfw.c: Likewise.
32828 * kern/ieee1275/init.c: Likewise.
32829 * kern/ieee1275/cmain.c: Likewise.
32830 * boot/i386/pc/cdboot.S: Likewise.
32831 * video/readers/png.c: Likewise.
32832 * video/i386/pc/vbe.c: Likewise.
32833 * fs/udf.c: Likewise.
32834 * fs/hfs.c: Likewise.
32835 * fs/reiserfs.c: Likewise.
32836 * efiemu/runtime/efiemu.c: Likewise.
32837 * efiemu/main.c: Likewise.
32838 * efiemu/mm.c: Likewise.
32839 * include/grub/elf.h: Likewise.
32840 * include/grub/xnu.h: Likewise.
32841 * include/grub/usbdesc.h: Likewise.
32842 * include/grub/usb.h: Likewise.
32843 * include/grub/script_sh.h: Likewise.
32844 * include/grub/lib/LzmaEnc.h: Likewise.
32845 * include/grub/efiemu/efiemu.h: Likewise.
32846 * include/grub/command.h: Likewise.
32847 * normal/menu.c: Likewise.
32848 * normal/main.c: Likewise.
32849 * normal/datetime.c: Likewise.
32850 * bus/usb/uhci.c: Likewise.
32851 * mmap/i386/uppermem.c: Likewise.
32852 * mmap/mmap.c: Likewise.
32853 * commands/acpi.c: Likewise.
32854 * commands/test.c: Likewise.
32855 * partmap/apple.c: Likewise.
32856 * font/font.c: Likewise.
32857 * loader/sparc64/ieee1275/linux.c: Likewise.
32858 * loader/macho.c: Likewise.
32859 * loader/i386/bsd_trampoline.S: Likewise.
32860 * loader/i386/bsd.c: Likewise.
32861 * loader/xnu.c: Likewise.
32862 * term/i386/pc/vesafb.c: Likewise.
32863 * term/usb_keyboard.c: Likewise.
32864 * util/resolve.c: Likewise.
32865 * util/getroot.c: Likewise.
32866
0cfc0083 328672009-05-04 Felix Zielcke <fzielcke@z-51.de>
32868
32869 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
32870
7c1d00cd 328712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32872
32873 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
32874 build error.
32875
b01f0548 328762009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32877
32878 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
32879 parameter only available on BIOS.
32880
ecc3eb22 328812009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32882
32883 Removed wrong semicolon in declaration
32884
32885 * grub/misc.h (grub_dprintf): remove semicolon
32886
112972a9 328872009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32888
32889 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
32890 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
32891 is done by grub_cmd_linux() now).
32892 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
32893 restore video to text mode.
32894 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
32895 indicates lack of "vga=" parameter. "vga=0" is mapped to
32896 `GRUB_LINUX_VID_MODE_NORMAL'.
32897
afd5c115 328982009-05-04 Felix Zielcke <fzielcke@z-51.de>
32899
32900 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
32901 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
32902 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 32903 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 32904 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
32905 `grub_script.tab.c'.
32906
32907 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32908 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32910 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32911 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32912
faa517ce 32913 * Makefile.in: Remove duplicated 2008 in Copyright line.
32914
ae0c0bdc 329152009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32916
473d1e45 32917 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 32918 unconditionally.
32919 * include/grub/util/misc.h (grub_util_warn): New declaration.
32920
32921 * util/i386/pc/grub-install.in: Understand --force and pass it down
32922 to grub-setup.
32923
32924 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
32925 down to setup().
32926 (setup): Improve error messages and add warnings when requested to
32927 install in odd layouts. Refuse to install using blocklists unless
32928 --force was set.
32929
18f547ad 329302009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 32931
32932 * disk/raid.c (grub_raid_scan_device): Improve debug message.
32933
6d260daa 329342009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32935
32936 Updated copyright year
32937
32938 * fs/hfsplus.c: updated copyright year
18f547ad 32939
69f853f8 329402009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32941
32942 HFS+ UUID
32943
18f547ad 32944 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 32945 in the space previously used by unused3
32946 (grub_hfsplus_uuid): new function
32947 (grub_hfsplus_fs): added uuid field
32948
4c402e73 329492009-05-03 Pavel Roskin <proski@gnu.org>
32950
32951 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
32952 suppress warnings. It's no longer needed.
32953 * disk/host.c: Likewise.
32954 * disk/ata_pthru.c: Likewise.
32955 * disk/loopback.c: Likewise.
32956 * hook/datehook.c: Likewise.
32957 * parttool/pcpart.c: Likewise.
32958 * fs/i386/pc/pxe.c: Likewise.
32959 * fs/ntfscomp.c: Likewise.
32960 * efiemu/main.c: Likewise.
32961 * mmap/mmap.c: Likewise.
32962 * commands/crc.c: Likewise.
32963 * commands/hexdump.c: Likewise.
32964 * commands/hdparm.c: Likewise.
32965 * commands/acpi.c: Likewise.
32966 * commands/echo.c: Likewise.
32967 * commands/minicmd.c: Likewise.
32968 * commands/blocklist.c: Likewise.
32969 * commands/memrw.c: Likewise.
32970 * commands/loadenv.c: Likewise.
32971 * commands/usbtest.c: Likewise.
32972 * commands/lsmmap.c: Likewise.
32973 * commands/boot.c: Likewise.
32974 * commands/parttool.c: Likewise.
32975 * commands/configfile.c: Likewise.
32976 * commands/search.c: Likewise.
32977 * commands/ieee1275/suspend.c: Likewise.
32978 * commands/cat.c: Likewise.
32979 * commands/i386/pc/pxecmd.c: Likewise.
32980 * commands/i386/pc/play.c: Likewise.
32981 * commands/i386/pc/halt.c: Likewise.
32982 * commands/i386/pc/vbeinfo.c: Likewise.
32983 * commands/i386/pc/vbetest.c: Likewise.
32984 * commands/lspci.c: Likewise.
32985 * commands/date.c: Likewise.
32986 * commands/handler.c: Likewise.
32987 * commands/ls.c: Likewise.
32988 * commands/test.c: Likewise.
32989 * commands/cmp.c: Likewise.
32990 * commands/efi/loadbios.c: Likewise.
32991 * commands/efi/fixvideo.c: Likewise.
32992 * commands/halt.c: Likewise.
32993 * commands/help.c: Likewise.
32994 * commands/reboot.c: Likewise.
32995 * hello/hello.c: Likewise.
32996 * script/sh/main.c: Likewise.
32997 * loader/xnu.c: Likewise.
32998 * term/terminfo.c: Likewise.
32999 * term/i386/pc/serial.c: Likewise.
33000 * term/usb_keyboard.c: Likewise.
33001
515b5079 330022009-05-03 David S. Miller <davem@davemloft.net>
33003
33004 * normal/menu.c: Include grub/parser.h
33005
dfc31a22 330062009-05-03 Pavel Roskin <proski@gnu.org>
33007
2fee74f1 33008 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
33009 not char*.
33010 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
33011 Suggested by Javier Martín <lordhabbit@gmail.com>
33012
dfc31a22 33013 * util/i386/pc/grub-mkrescue.in: Allow for the case when
33014 efiemu??.o doesn't exist.
33015 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
33016 copying.
33017
18f547ad 330182009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 33019
33020 FreeBSD 64-bit support
33021
18f547ad 33022 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 33023 and loader/i386/bsd_trampoline.S
33024 (bsd_mod_ASFLAGS): new variable
33025 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
33026 (FREEBSD_MODTYPE_KERNEL64): likewise
33027 (grub_bsd64_trampoline_start): likewise
33028 (grub_bsd64_trampoline_end): likewise
33029 (grub_bsd64_trampoline_selfjump): likewise
33030 (grub_bsd64_trampoline_gdt): likewise
33031 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
33032 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
33033 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
33034 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 33035 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 33036 of "attrib" member
33037 * loader/i386/bsd_pagetable.c: new file
33038 * loader/i386/bsd_trampoline.S: likewise
33039 * loader/i386/bsd.c (ALIGN_QWORD): new macro
33040 (ALIGN_VAR): likewise
33041 (entry_hi): new variable
33042 (kern_end_mdofs): likewise
33043 (is_64bit): likewise
33044 (grub_freebsd_add_meta): use ALIGN_VAR
33045 (grub_e820_mmap): new declaration
33046 (grub_freebsd_add_mmap): new function
33047 (grub_freebsd_add_meta_module): support 64 bit kernels
33048 (grub_freebsd_list_modules): use ALIGN_VAR
33049 (gdt_descriptor): new declaration
33050 (grub_freebsd_boot): support 64 bit kernels
33051 (grub_bsd_elf64_hook): new function
33052 (grub_bsd_load_elf): support elf64
33053
038c5720 330542009-05-03 Bean <bean123ch@gmail.com>
33055
33056 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
33057 after we get the result of if statement.
33058
fc45fb58 330592009-05-03 Bean <bean123ch@gmail.com>
33060
33061 * Makefile.in (enable_efiemu): New variable.
33062
33063 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
33064 set.
33065 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
33066 path.
33067 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
33068 path, add -mno-red-zone option.
33069 (efiemu64_s.o): Likewise.
33070 (efiemu64.o): Use macro $^ for source file.
33071
33072 * configure.ac (--enable-efiemu): New option.
33073
bbee0f2b 330742009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
33075
33076 xnu support
33077
33078 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
33079 (pkglib_MODULES): add xnu.mod
33080 (xnu_mod_SOURCES): new variable
33081 (xnu_mod_CFLAGS): likewise
33082 (xnu_mod_LDFLAGS): likewise
33083 (xnu_mod_ASFLAGS): likewise
33084 * conf/i386-pc.rmk: likewise
33085 * conf/x86_64-efi.rmk: likewise
7dd4a573 33086 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 33087 new declaration
33088 * include/grub/i386/macho.h: new file
33089 * include/grub/i386/xnu.h: likewise
33090 * include/grub/macho.h: likewise
33091 * include/grub/machoload.h: likewise
33092 * include/grub/x86_64/macho.h: likewise
33093 * include/grub/x86_64/xnu.h: likewise
33094 * include/grub/xnu.h: likewise
33095 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
33096 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
33097 * loader/i386/efi/xnu.c: new file
33098 * loader/i386/pc/xnu.c: likewise
33099 * loader/i386/xnu.c: likewise
33100 * loader/i386/xnu_helper.S: likewise
33101 * loader/macho.c: likewise
33102 * loader/xnu.c: likewise
33103 * loader/xnu_resume.c: likewise
33104 * util/grub-dumpdevtree: likewise
33105 * include/grub/i386/pit.h: include grub/err.h
33106 (grub_pit_wait): export
33107 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 33108
5caf964d 331092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33110
33111 Efiemu
7dd4a573 33112
5caf964d 33113 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 33114 _linux_efi, linux_efi.
33115 new files in grub-emu
5caf964d 33116 new targets efiemu32.o and efiemu64.o
33117 * loader/linux_normal_efiemu.c: likewise
33118 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 33119 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 33120 files to copy
33121 * include/grub/autoefi.h: new file
7dd4a573 33122 * include/grub/i386/efiemu.h: likewise
5caf964d 33123 * include/grub/i386/pc/efiemu.h: likewise
33124 * include/grub/efi/api.h: add LL suffix when necessary
33125 new definitions relating to tables
33126 * include/grub/efiemu/efiemu.h: new file
33127 * include/grub/efiemu/runtime.h: likewise
33128 * efiemu/prepare.c: likewise
33129 * efiemu/loadcore_common.c: likewise
33130 * efiemu/loadcore64.c: likewise
33131 * efiemu/runtime/efiemu.sh: likewise
33132 * efiemu/runtime/efiemu.S: likewise
33133 * efiemu/runtime/efiemu.c: likewise
33134 * efiemu/runtime/config.h: likewise
33135 * efiemu/prepare32.c: likewise
33136 * efiemu/main.c: likewise
33137 * efiemu/modules/pnvram.c: likewise
33138 * efiemu/modules/i386: likewise
33139 * efiemu/modules/i386/pc: likewise
33140 * efiemu/modules/acpi.c: likewise
33141 * efiemu/i386/pc/cfgtables.c: likewise
33142 * efiemu/i386/loadcore64.c: likewise
33143 * efiemu/i386/loadcore32.c: likewise
33144 * efiemu/prepare64.c: likewise
33145 * efiemu/loadcore.c: likewise
33146 * efiemu/symbols.c: likewise
33147 * efiemu/mm.c: likewise
33148 * efiemu/loadcore32.c: likewise
7dd4a573 33149
331502009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 33151
33152 ACPI spoofing
33153
33154 * commands/acpi.c: new file
33155 * commands/i386/pc/acpi.c: likewise
33156 * commands/efi/acpi.c: likewise
33157 * include/grub/acpi.h: likewise
33158 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
33159 (acpi_mod_SOURCES): new variable
33160 (acpi_mod_CFLAGS): likewise
33161 (acpi_mod_LDFLAGS): likewise
33162 * conf/i386-efi.rmk: likewise
33163 * conf/x86_64-efi.rmk: likewise
33164
7dd4a573 331652009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 33166
33167 Missing part from mmap patch
33168
33169 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
33170 (grub_mmap_unregister)
33171 (grub_mmap_free_and_unregister): use grub_mmap_register
33172
7dd4a573 331732009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 33174
33175 Mmap services
33176
33177 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
33178 * loader/i386/linux.c (find_mmap_size): likewise
33179 (allocate_pages): likewise
33180 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
33181 (grub_fill_multiboot_mmap): likewise
33182 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
33183 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
33184 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
33185 (OPENBSD_MMAP_RESERVED): likewise
33186 * include/grub/i386/pc/memory.h: include grub/memory.h
33187 (grub_lower_mem): removed
33188 (grub_upper_mem): likewise
33189 (GRUB_MACHINE_MEMORY_ACPI): new definition
33190 (GRUB_MACHINE_MEMORY_NVS): likewise
33191 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
33192 (GRUB_MACHINE_MEMORY_HOLE): likewise
33193 (grub_machine_mmap_register): likewise
33194 (grub_machine_mmap_unregister): likewise
33195 (grub_machine_get_upper): likewise
33196 (grub_machine_get_lower): likewise
33197 (grub_machine_get_post64): likewise
33198 * include/grub/i386/efi/memory.h: new file
33199 * include/grub/x86_64/efi/memory.h: likewise
33200 * include/grub/efi/memory.h: likewise
33201 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
33202 (mmap_mod_SOURCES): new variable
33203 (mmap_mod_LDFLAGS): likewise
33204 (mmap_mod_ASFLAGS): likewise
33205 * conf/i386-coreboot.rmk: likewise
33206 * conf/i386-ieee1275.rmk: likewise
33207 * conf/i386-efi.rmk: likewise
33208 * conf/x86_64-efi.rmk: likewise
33209 * include/grub/types.h (UINT_TO_PTR): new macro
33210 (PTR_TO_UINT32): likewise
33211 (PTR_TO_UINT64): likewise
33212 * include/grub/memory.h: new file
33213 * mmap/i386/pc/mmap.c: likewise
33214 * mmap/i386/pc/mmap_helper.S: likewise
33215 * mmap/i386/uppermem.c: likewise
33216 * mmap/mmap.c: likewise
33217 * mmap/efi/mmap.c: likewise
7dd4a573 33218 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 33219 grub_upper_mem
33220 * kern/i386/pc/init.c (grub_lower_mem): removed variable
33221 (grub_upper_mem): likewise
33222 (grub_machine_init): don't use grub_upper_mem,
33223 make grub_lower_mem local
33224 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
33225 grub_mmap_iterate and grub_mmap_get_upper
33226 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
33227
d558e6b5 332282009-05-02 Bean <bean123ch@gmail.com>
33229
33230 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
33231 script/sh/parser.y.
33232 (pkglib_MODULES): Add normal.mod and sh.mod.
33233 (normal_SOURCES): New variable.
33234 (normal_mod_CFLAGS): Likewise.
33235 (normal_mod_LDFLAGS): Likewise.
33236 (sh_mod_SOURCES): Likewise.
33237 (sh_mod_CFLAGS): Likewise.
33238 (sh_mod_LDFLAGS): Likewise.
33239
33240 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
33241 script/sh/lexer.c_DEPENDENCIES.
33242 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
33243 kern/rescue_reader.c and kern/rescue_parser.c.
33244 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
33245 (grub_emu_SOURCES): Change source files.
33246 (pkglib_MODULES): Remove normal.mod.
33247 (normal_SOURCES): Removed.
33248 (normal_mod_CFLAGS): Likewise.
33249 (normal_mod_LDFLAGS): Likewise.
33250 * conf/i386-coreboot.rmk: Likewise.
33251 * conf/i386-efi.rmk: Likewise.
33252 * conf/i386-ieee1276.rmk: Likewise.
33253 * conf/powerpc-ieee1275.rmk: Likewise.
33254 * conf/sparc64-ieee1275.rmk: Likewise.
33255 * conf/x86_64-efi.rmk: Likewise.
33256
33257 * include/grub/command.h (grub_command_execute): New inline function.
33258
33259 * include/grub/menu.h (grub_menu_entry): Removed commands field.
33260
33261 * include/grub/normal.h: Remove <grub/setjmp.h>.
33262 (grub_fs_module_list): Moved to normal/autofs.c.
33263 (grub_exit_env): Removed.
33264 (grub_command_execute): Likewise.
33265 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
33266 parameter script.
33267 (read_command_list): New function declaration.
33268 (read_fs_list): Likewise.
33269
33270 * include/parser.h: Include <grub/reader.h>.
33271 (grub_parser_split_cmdline): Change type of getline parameter.
33272 (grub_parser): New structure.
33273 (grub_parser_class): New variable.
33274 (grub_parser_execute): New function declaration.
33275 (grub_register_rescue_parser): Likewise.
33276 (grub_parser_register): New inline function.
33277 (grub_parser_unregister): Likewise.
33278 (grub_parser_get_current): Likewise.
33279 (grub_parser_set_current): Likewise.
33280
33281 * include/grub/reader.h: New file.
33282 * kern/reader.c: Likewise.
33283 * kern/rescue_parser.c: Likewise.
33284 * kern/rescue_reader.c: Likewise.
33285 * normal/autofs.c: Likewise.
33286 * normal/dyncmd.c: Likewise.
33287
33288 * include/grub/rescue.h: Removed.
33289 * normal/command.h: Likewise.
33290
33291 * include/grub/script.h: Moved to ...
33292 * include/grub/script_sh.h: ... Moved here.
33293 * normal/execute.c: Moved to ...
33294 * script/sh/execute.c: ... Moved here.
33295 * normal/function.c: Moved to ...
33296 * script/sh/function.c: ... Moved here.
33297 * normal/lexer.c: Moved to ...
33298 * script/sh/lexer.c: ... Moved here.
33299 * normal/parser.y: Moved to ...
33300 * script/sh/parser.y: ... Moved here.
33301 * normal/script.c: Moved to ...
33302 * script/sh/script.c: ... Moved here.
33303
33304 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
33305 <grub/reader.h>.
33306 (grub_exit_env): Removed.
33307 (fs_module_list): Moved to normal/autofs.c.
33308 (grub_file_getline): Don't handle comment here.
33309 (free_menu): Skip removed field entry->commands.
33310 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
33311 script parameter.
33312 (read_config_file): Removed nested parameter, change getline function.
33313 (grub_enter_normal_mode): Removed.
33314 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
33315 (read_command_list): Likewise.
33316 (autoload_fs_module): Moved to normal/autofs.c.
33317 (read_fs_list): Likewise.
33318 (reader_nested): New variable.
33319 (grub_normal_execute): Run parser.sh to switch to sh parser.
33320 (grub_cmd_rescue): Removed.
33321 (cmd_normal): Removed.
33322 (grub_cmd_normal): Unregister itself at the beginning. Don't register
33323 rescue command.
33324 (grub_cmdline_run): New function.
33325 (grub_normal_reader_init): Likewise.
33326 (grub_normal_read_line): Likewise.
33327 (grub_env_write_pager): Likewise.
33328 (cmdline): New variable.
33329 (grub_normal_reader): Likewise.
33330 (GRUB_MOD_INIT): Register normal reader and set as current, register
33331 pager hook, register normal command with grub_register_command_prio,
33332 so that it won't show up in command.lst.
33333 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
33334 grub_fs_autoload_hook.
33335
33336 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
33337 (grub_menu_execute_entry): Replace grub_script_execute with
33338 grub_parser_execute, change parameter to grub_command_execute.
33339
33340 * normal/menu_text.c: Remove <grub/script.h>.
33341
33342 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
33343 and <grub/parser.h>.
33344 (run): Change editor_getline to use new parser interface. Change
33345 parameter to grub_command_execute.
33346
33347 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
33348 <grub/reader.h> and <grub/parser.h>.
33349 (grub_load_normal_mode): Execute normal command.
33350 (grub_main): Call grub_register_core_commands,
33351 grub_register_rescue_parser and grub_register_rescue_reader, use
33352 grub_reader_loop to enter input loop.
33353
7dd4a573 33354 * kern/parser.c (grub_parser_split_cmdline): Change type of
33355 getline parameter.
d558e6b5 33356 (grub_parser_class): New variable.
33357 (grub_parser_execute): New function.
33358
33359 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
33360 * loader/multiboot2.c: Likewise.
33361 * loader/sparc64/ieee1275/linux.c: Likewise.
33362
33363 * util/grub-emu.c (read_command_list): New dummy function.
33364
18db813d 333652009-05-02 Robert Millan <rmh.grub@aybabtu.com>
33366
33367 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
33368 count to 16 for CCISS and IDA.
33369
6c67de15 333702009-05-02 Robert Millan <rmh.grub@aybabtu.com>
33371
33372 * normal/menu_text.c (grub_wait_after_message): Print a newline
33373 after waiting for user input.
33374
33375 * loader/i386/linux.c: Include `<grub/normal.h>'.
33376 (grub_cmd_linux): Improve the error message about `ask' mode, by
33377 waiting for user input so it's not missed (we can do this, since
33378 user requested interaction).
33379
d9dc87b0 333802009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33381
33382 Added missing lst to grub-mkrescue
33383
33384 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
33385 and ${input_dir}/parttool.lst
33386
ac8a2baa 333872009-04-30 David S. Miller <davem@davemloft.net>
33388
ad22a610 33389 * util/hostdisk.c (device_is_wholedisk): New function.
33390 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
33391 zero only if device_is_wholedisk() returns true.
33392
6966215d 33393 * util/hostdisk.c (convert_system_partition_to_system_disk):
33394 Handle virtual disk devices named /dev/vdiskX as found on sparc
33395 and powerpc.
33396
ac8a2baa 33397 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
33398 lettered partition specifier is found, convert to numbered.
33399
979b4fb4 334002009-04-29 David S. Miller <davem@davemloft.net>
33401
e2bf39b2 33402 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
33403 * include/grub/sparc64/ieee1275/memory.h: Likewise.
33404
3c64e104 33405 * normal/command.c: Add missing newline at end of file.
33406
979b4fb4 33407 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
33408 warnings.
33409 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
33410 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
33411 grub_ofdisk_read): Likewise, and deal similarly with the fact that
33412 ihandles have a 32-bit type but need to be stored in a "void *".
33413
136d9f82 334142009-04-28 Pavel Roskin <proski@gnu.org>
33415
9459c306 33416 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
33417 not disk. Adjust all dependencies.
2e08a26a 33418 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 33419 grub_disk_close().
33420
136d9f82 33421 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
33422 parent's partition, don't copy it by reference, as it gets freed
33423 on close.
33424
7dd4a573 334252009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 33426
33427 Preboot hooks support
33428
33429 * commands/boot.c (struct grub_preboot_t): new declaration
33430 (preboots_head): new variable
33431 (preboots_tail): likewise
33432 (grub_loader_register_preboot_hook): new function
33433 (grub_loader_unregister_preboot_hook): likewise
33434 (grub_loader_set): launch preboot hooks
33435 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
33436 (grub_loader_register_preboot_hook): new declaration
33437 (grub_loader_unregister_preboot_hook): likewise
33438
5af922b5 334392009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
33440
33441 Warning fix
33442
7dd4a573 33443 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 33444 calling grub_dprintf
33445
a5562c30 334462009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
33447
33448 Bug and warning fixes
33449
7dd4a573 33450 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 33451 declaration
33452 * commands/test.c (test_parse): fixed bug with file tests and corrected
33453 declaration of find_file
33454
4006f85c 334552009-04-26 Pavel Roskin <proski@gnu.org>
33456
33457 * Makefile.in: Don't install empty manual pages if help2man is
33458 missing. Use help2man option for output, not shell redirection.
33459
5c77c3de 334602009-04-26 David S. Miller <davem@davemloft.net>
33461
33462 * util/grub-mkdevicemap.c (make_device_map): Add missing
33463 NESTED_FUNC_ATTR to process_device().
33464
033b10a8 334652009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33466
33467 Test command
33468
33469 * commands/test.c: rewritten to use bash-like test
33470
e4343593 334712009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33472
33473 Parttool autoloading and improvements
33474
7dd4a573 33475 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 33476 (parttool.lst): new target
33477 * genmk.rb: generate parttool-*
33478 (CLEANFILES): add #{parttool}
33479 (PARTTOOLFILES): new variable
33480 * genparttoollist.sh: new file
7dd4a573 33481 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 33482 (grub_pcpart_type): likewise
33483 * commands/parttool.c (helpmsg): new variable
33484 (grub_cmd_parttool): output help if not enough arguments are supplied
33485 autoload modules
33486 (GRUB_MOD_INIT(parttool)): use helpmsg
33487
0d312500 334882009-04-24 David S. Miller <davem@davemloft.net>
33489
7dd4a573 33490 Avoiding opening same device multiple times in device iterator.
0d312500 33491
33492 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 33493 and use it to build a list of partitions in iterate_disk() and
0d312500 33494 iterate_partition().
33495
ac20caff 33496 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
33497 on disk->data.
33498
0dcf7495 33499 * disk/ieee1275/nand.c (grub_nand_iterate): Return
33500 grub_devalias_iterate() result instead of unconditional 0.
33501 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
33502 Also, capture hook return value, either directly or via
33503 grub_children_iterate(), and propagate to caller.
33504 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
33505 grub_children_iterate): Return value is now 'int' instead of
33506 'grub_err_t'.
33507 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
33508 like a proper iterator, stopping when hooks return non-zero.
33509 (grub_devalias_iterate): Likewise.
33510
c8c08833 335112009-04-23 David S. Miller <davem@davemloft.net>
33512
33513 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
33514
f01005a8 335152009-04-22 David S. Miller <davem@davemloft.net>
33516
33517 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
33518 is larger than address_cells, use that value for address_cells too.
33519
4e8269da 33520 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
33521 IEEE1275_MAX_PATH_LEN): Define.
33522 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
33523 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
33524 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
33525 'devtype'. Explicitly NULL terminate devalias expansion.
33526
a1447506 33527 * util/sparc64/ieee1275/misc.c: New file.
33528 * util/sparc64/ieee1275/grub-setup.c: New file.
33529 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
33530 * util/sparc64/ieee1275/grub-mkimage.c: New file.
33531 * util/sparc64/ieee1275/grub-install.in: New file.
33532 * util/ieee1275/ofpath.c: New file.
33533 * util/ieee1275/devicemap.c: New file.
33534 * util/devicemap.c: New file.
33535 * util/deviceiter.c: New file.
33536 * kern/sparc64/ieee1275/init.c: New file.
33537 * include/grub/util/ofpath.h: New file.
33538 * include/grub/util/deviceiter.h: New file.
33539 * util/grub-mkdevicemap.c: Include deviceiter.h.
33540 Implement using grub_util_emit_devicemap_entry and
33541 grub_util_iterate_devices.
33542 * conf/i386-corebook.rmk: Build util/deviceiter.c and
33543 util/devicemap.c into grub-mkdevicemap
33544 * conf/i386-efi.rmk: Likewise.
33545 * conf/i386-ieee1275.rmk: Likewise.
33546 * conf/i386-pc.rmk: Likewise.
33547 * conf/powerpc-ieee1275.rmk: Likewise.
33548 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
33549 images and installation utilities. Build kernel as image
33550 instead of as elf binary. Use common rules as much as possible.
33551
7dd4a573 335522009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 33553
33554 Correct GPT definition
33555
7dd4a573 33556 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 33557 of "attrib" member
33558
c6c5219f 335592009-04-19 Felix Zielcke <fzielcke@z-51.de>
33560
33561 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
33562
0552ff9f 335632009-04-19 David S. Miller <davem@davemloft.net>
33564
33565 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
33566 (grub_rescue_cmd_linux): Rename to...
33567 (grub_cmd_linux): and fix prototype.
33568 (grub_rescue_cmd_initrd): Rename to...
33569 (grub_cmd_initrd): and fix prototype.
33570 (cmd_linux, cmd_initrd): New.
33571 (GRUB_MOD_INIT(linux)): Use grub_register_command().
33572 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
33573
d1a282fc 335742009-04-17 Pavel Roskin <proski@gnu.org>
33575
07c5039f 33576 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
33577 format.
33578 (grub_ohci_transfer): Likewise.
33579
b012002d 33580 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
33581
1bc09c35 33582 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
33583 return without a value. Fix inconsistent indentation.
33584
e0ff9126 33585 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
33586 match struct grub_fs.
33587
d1a282fc 33588 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
33589 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
33590 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33591 * commands/lspci.c (grub_lspci_iter): Likewise.
33592
a96df3f2 335932009-04-16 Bean <bean123ch@gmail.com>
33594
33595 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
33596 value.
33597
41bb0fe9 335982009-04-15 Pavel Roskin <proski@gnu.org>
33599
33600 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
33601 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
33602 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
33603 definitions.
33604
596c6970 336052009-04-15 Felix Zielcke <fzielcke@z-51.de>
33606
33607 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 33608 that no multiple data or metadata areas are supported and `Unknown
596c6970 33609 metadata header'.
33610
7dd4a573 336112009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 33612
33613 Move loader out of the kernel
33614
33615 * kern/loader.c: moved to ...
33616 * commands/boot.c: ... moved here
33617 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
33618 * commands/boot.c (grub_cmd_boot): moved here. All users updated
33619 * include/grub/kernel.h (grub_machine_fini): export
33620 * include/grub/loader.h (grub_loader_is_loaded): update declaration
33621 (grub_loader_set): likewise
33622 (grub_loader_unset): likewise
33623 (grub_loader_boot): likewise
33624 * conf/common.rmk: new module boot.mod
33625 (pkglib_MODULES): add boot.mod
33626 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
33627 (grub_emu_SOURCES): likewise
33628 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
33629 (grub_emu_SOURCES): likewise
33630 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
33631 (grub_emu_SOURCES): likewise
33632 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
33633 (grub_emu_SOURCES): likewise
33634 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
33635 (grub_emu_SOURCES): likewise
7dd4a573 33636 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
33637 (grub_emu_SOURCES): likewise
0d5d5653 33638 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 33639 (grub_emu_SOURCES): likewise
0d5d5653 33640
7dd4a573 336412009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 33642
33643 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 33644
5999d619 33645 * kern/misc.c (grub_itoa): Removed function
33646 (grub_ltoa): likewise
33647 (grub_vsprintf): use grub_lltoa
33648
7dd4a573 336492009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 33650
33651 Restore grub-emu
33652
33653 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
33654 * conf/i386-coreboot.rmk: likewise
33655 * conf/i386-ieee1275.rmk: likewise
33656 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 33657
20318222 336582009-04-15 Felix Zielcke <fzielcke@z-51.de>
33659
33660 * INSTALL: Add that `./autogen.sh' needs to be run before
33661 `./configure.'.
33662
d05f0df3 336632009-04-14 Bean <bean123ch@gmail.com>
33664
33665 * Makefile.in (pkglib_DATA): Add handler.lst.
33666 (handler.lst): New rule.
33667
33668 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
33669 * conf/i386-coreboot.rmk: Likewise.
33670 * conf/i386-ieee1275.rmk: Likewise.
33671 * conf/i386-efi.rmk: Likewise.
33672 * conf/x86_64-efi.rmk: Likewise.
33673 * conf/powerpc-ieee1275.rmk: Likewise.
33674 * conf/sparc64-ieee1275.rmk: Likewise.
33675
33676 * genhandlerlist.sh: New file.
33677
33678 * genmk.rb: Add rules to generate handler.lst.
33679
33680 * include/grub/normal.h (grub_file_getline): New function definition.
33681 (read_handler_list): Likewise.
33682 (free_handler_list): Likewise.
33683
33684 * include/grub/term.h (grub_term_register_input): Add name parameter
33685 for auto generation of handler.lst.
33686 (grub_term_register_output): Likewise.
33687
33688 * normal/handler.c: New file.
33689
33690 * normal/main.c (get_line): Renamed to grub_file_getline.
33691 (read_config_file): Use the newly renamed grub_file_getline.
33692 (read_command_list): Likewise.
33693 (read_fs_list): Likewise.
33694 (grub_normal_execute): Call read_handler_list to parse handler.lst.
33695 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
33696
33697 * term/efi/console.c (grub_console_init): Add name parameter for auto
33698 generation of handler.lst.
33699 * term/gfxterm.c: Likewise.
33700 * term/i386/pc/at_keyboard.c: Likewise.
33701 * term/i386/pc/console.c: Likewise.
33702 * term/i386/pc/serial.c: Likewise.
33703 * term/i386/pc/vesafb.c: Likewise.
33704 * term/i386/pc/vga.c: Likewise.
33705 * term/i386/pc/vga_text.c: Likewise.
33706 * term/ieee1275/ofconsole.c: Likewise.
33707 * term/usb_keyboard.c: Likewise.
33708
33c846be 337092009-04-14 Bean <bean123ch@gmail.com>
33710
33711 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
33712 properly with null character.
33713
4484e01e 337142009-04-14 Felix Zielcke <fzielcke@z-51.de>
33715
33716 * configure: Remove.
33717 * config.h.in: Likewise.
f93d668e 33718 * stamp-h.in: Likewise.
4484e01e 33719 * DISTLIST: Likewise.
33720 * conf/common.mk: Likewise.
33721 * conf/i386-coreboot.mk: Likewise.
33722 * conf/i386-efi.mk: Likewise.
33723 * conf/i386-ieee1275.mk: Likewise.
33724 * conf/i386.mk: Likewise.
33725 * conf/i386-pc.mk: Likewise.
33726 * conf/powerpc-ieee1275.mk: Likewise.
33727 * conf/sparc64-ieee1275.mk: Likewise.
33728 * conf/x86_64-efi.mk: Likewise.
33729
33730 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
33731 develop on GRUB.
33732
7dd4a573 337332009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 33734 David S. Miller <davem@davemloft.net>
33735
33736 * util/hostdisk.c (make_device_name): Fix buffer length
33737 calculations.
33738
e25b5a8c 337392009-04-14 Felix Zielcke <fzielcke@z-51.de>
33740
33741 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
33742 <sys/param.h> and <sys/sysctl.h>.
33743 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
33744 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
33745 opening the device and reset them afterwards.
33746
1f1f580c 337472009-04-13 Pavel Roskin <proski@gnu.org>
33748
33749 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
33750 Reported by John Stanley <jpsinthemix@verizon.net>
33751
7ebc2d6b 337522009-04-13 Robert Millan <rmh@aybabtu.com>
33753
33754 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 33755 that name for menuentries when appropriate.
7ebc2d6b 33756
d8ba3667 337572009-04-13 Felix Zielcke <fzielcke@z-51.de>
33758
33759 * util/grub.d/10_freebsd.in: Add a missing `fi'.
33760
cba416eb 337612009-04-13 Robert Millan <rmh@aybabtu.com>
33762
33763 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
33764 to Linux, simply abort telling the user it's no longer supported.
33765
a547a745 337662009-04-13 Felix Zielcke <fzielcke@z-51.de>
33767
33768 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 33769 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 33770 `freebsd_loadenv' only when devices.hints exist.
33771
232a769c 337722009-04-13 Pavel Roskin <proski@gnu.org>
33773
33774 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
33775
c3012039 337762009-04-13 Felix Zielcke <fzielcke@z-51.de>
33777
33778 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
33779 partition number.
33780 (grub_drive): Likewise.
33781
234022fe 337822009-04-13 David S. Miller <davem@davemloft.net>
33783
33784 * kern/sparc64/ieee1275/ieee1275.c: New file.
33785 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
33786 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
33787 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
33788 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
33789 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
33790 grub_ieee1275_alloc_physmem): Declare new exported functions.
33791
d8e1836c 33792 * include/grub/sparc64/ieee1275/loader.h: New file.
33793 * include/grub/sparc64/ieee1275/memory.h: Likewise.
33794 * include/grub/sparc64/kernel.h: Likewise.
33795 * loader/sparc64/ieee1275/linux.c: Likewise.
33796
96bd81ec 33797 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
33798 (grub_fstest_SOURCES): Likewise.
33799
6a4737e5 33800 * util/hostdisk.c (make_device_name): Do not make any assumptions
33801 about the length of drive names.
33802
1d7a72fd 33803 * kern/dl.c (grub_dl_load_file): Close file immediately when
33804 we are done using it.
33805
56bc2471 338062009-04-12 David S. Miller <davem@davemloft.net>
33807
33808 * kern/misc.c (grub_ltoa): Fix cast when handling negative
33809 values. Noticed by Pavel Roskin.
33810
df38d0bb 33811 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
33812 target compiler.
7dd4a573 33813
e382e93a 33814 * genmk.rb: Add more flexible image type specification, also
33815 pass --strip-unneeded to objcopy.
33816 * conf/i386-pc.rmk: Use *_FORMAT.
33817 * conf/i386-pc.mk: Rebuilt.
33818
f5dbbca9 33819 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
33820 (OFDISK_HASH_SZ): Define.
33821 (ofdisk_hash): New hash table.
33822 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
33823 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
33824 instead of device phandle which is not unique.
33825
91c88b12 33826 * kern/sparc64/ieee1275/init.c: Delete, replace with...
33827 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
33828 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
33829 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
33830 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
33831 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
33832 GRUB_KERNEL_MACHINE_DATA_END): Define.
33833 (grub_kernel_image_size, grub_total_module_size): Declare.
33834
5b5d4aa5 338352009-04-12 Pavel Roskin <proski@gnu.org>
33836
7dd4a573 33837 * configure.ac: Change the logic when we check for target tools.
33838 Do it when the target is specified and it's different from the
33839 specified value of the host.
5b5d4aa5 33840
c91e1793 338412009-04-11 Felix Zielcke <fzielcke@z-51.de>
33842
33843 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
33844 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
33845 GNU/kFreeBSD. Check if a device is a character device. Use
33846 DIOCGMEDIASIZE to get the size.
33847 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
33848 support for GNU/kFreeBSD.
33849 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
33850 is a character device instead of a block device. Add support for
33851 FreeBSD device names.
33852
33853 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
33854 is a character device instead of a block device.
33855
33856 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
33857 is a character device instead of a block device.
33858
b1ac8644 338592009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
33860
33861 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
33862 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
33863 FreeBSD. Check if a device is a character device. Use
33864 DIOCGMEDIASIZE to get the size.
33865 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
33866 support for FreeBSD.
33867 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
33868 is a character device instead of a block device. Add support for
33869 FreeBSD device names.
33870
33871 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
33872 a character device instead of a block device.
33873 (grub_util_check_char_device): New function.
33874
33875 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
33876 a character device instead of a block device.
33877
33878 * include/grub/util/getroot.h (grub_util_check_char_device): New
33879 prototype.
33880
a3f7515a 338812009-04-11 David S. Miller <davem@davemloft.net>
33882
33883 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
33884 static libgcc.
33885 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
33886 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
33887 function, if present.
33888 (__bswapdi2): Likewise.
33889
0d44993d 33890 * include/grub/sparc64/ieee1275/boot.h: New file.
33891 * boot/sparc64/ieee1275/boot.S: Likewise.
33892 * boot/sparc64/ieee1275/diskboot.S: Likewise.
33893
ed3d2bc2 33894 * kern/misc.c (grub_ltoa): New function.
33895 (grub_vsprintf): Use it to format 'long' integers.
33896
d3bfb59c 338972009-04-10 David S. Miller <davem@davemloft.net>
33898
33899 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
33900 slots are of type grub_ieee1275_cell_t.
33901 (grub_nand_read): Likewise.
33902 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
33903 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
33904 macros are used to compare values in arg/ret block of the call.
33905 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
33906 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
33907 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
33908 grub_ieee1275_instance_to_path, grub_ieee1275_write,
33909 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
33910 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
33911 grub_ieee1275_close, grub_ieee1275_set_property,
33912 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
33913 grub_ieee1275_cell_t.
33914 * kern/ieee1275/openfw.c (grub_map): Likewise.
33915 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
33916 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
33917
450e2238 33918 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
33919 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
33920 (grub_devalias_iterate): Likewise.
33921
7dd4a573 339222009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 33923
33924 UFS improvements
33925
33926 * fs/ufs.c (INODE_NBLOCKS): new definition
33927 (struct grub_ufs_dirent): added fields for non-BSD dirents
33928 (grub_ufs_get_file_block): fixed double indirect handling
33929 (grub_ufs_lookup_symlink): use more robust way to determine whether
33930 symlink is inline
33931 (grub_ufs_find_file): support for non-BSD dirents
33932 (grub_ufs_dir): support for non-BSD dirents
33933
e7e6862a 339342009-04-10 Bean <bean123ch@gnail.com>
33935
33936 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
33937 attribute, otherwise the size would be wrong for i386 platform.
33938
33939 * include/grub/pci.h (grub_pci_read_word): New inline function.
33940 (grub_pci_read_byte): Likewise.
33941 (grub_pci_write): Likewise.
33942 (grub_pci_write_word): Likewise.
33943 (grub_pci_write_byte): Likewise.
33944
33945 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
33946
33947 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
33948 (find_framebuf): Scan pci to locate the frame buffer address.
33949
33950 * commands/efi/fixvideo.c: New file.
33951
33952 * commands/efi/loadbios.c: Likewise.
33953
33954 * commands/memrw.c: Likewise.
33955
33956 * util/grub-dumpbios.in: Likewise.
33957
33958 * conf/common.rmk (grub-dumpbios): New utility.
33959 (pkglib_MODULES): New module memrw.mod.
33960 (memrw_mod_SOURCE): New macro.
33961 (memrw_mod_CFLAGS): Likewise.
33962 (memrw_mod_LDFLAGS): Likewise.
33963
7dd4a573 33964 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 33965 fixvideo.mod.
33966 (loadbios_mod_SOURCE): New macro.
33967 (loadbios_mod_CFLAGS): Likewise.
33968 (loadbios_mod_LDFLAGS): Likewise.
33969 (fixvideo_mod_SOURCE): Likewise.
33970 (fixvideo_mod_CFLAGS): Likewise.
33971 (fixvideo_mod_LDFLAGS): Likewise.
33972
7dd4a573 33973 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 33974 fixvideo.mod.
33975 (loadbios_mod_SOURCE): New macro.
33976 (loadbios_mod_CFLAGS): Likewise.
33977 (loadbios_mod_LDFLAGS): Likewise.
33978 (fixvideo_mod_SOURCE): Likewise.
33979 (fixvideo_mod_CFLAGS): Likewise.
33980 (fixvideo_mod_LDFLAGS): Likewise.
33981
af63ada2 339822009-04-08 Felix Zielcke <fzielcke@z-51.de>
33983
33984 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
33985
c2cdde70 339862009-04-07 David S. Miller <davem@davemloft.net>
33987
33988 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
33989 support for R_SPARC_OLO10 relocations. Fix compile warning for
33990 R_SPARC_WDISP30 case.
ea3f72cf 33991 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 33992
761319cf 339932009-04-06 Pavel Roskin <proski@gnu.org>
33994
1007d1f5 33995 * include/grub/misc.h (ARRAY_SIZE): New macro.
33996 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
33997 New macro.
33998 * loader/i386/linux.c (allocate_pages): Use free_pages().
33999 (grub_linux_unload): Don't use free_pages().
34000 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
34001 wrong index. Treat all other modes as text modes.
34002 (grub_cmd_linux): Initialize vid_mode unconditionally to
34003 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
34004
761319cf 34005 * commands/help.c (print_command_help): Use cmd->prio, not
34006 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
34007
ea761d40 340082009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 34009
ea761d40 34010 Parttool
34011
34012 * parttool/pcpart.c: new file
34013 * commands/parttool.c: likewise
34014 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
34015 (parttool_mod_SOURCES): new variable
34016 (parttool_mod_CFLAGS): likewise
34017 (parttool_mod_LDFLAGS): likewise
34018 (pcpart_mod_SOURCES): likewise
34019 (pcpart_mod_CFLAGS): likewise
34020 (pcpart_mod_LDFLAGS): likewise
7dd4a573 34021 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 34022 and parttool/pcpart.c
34023 * conf/i386-efi.rmk: likewise
34024 * conf/i386-ieee1275.rmk: likewise
34025 * conf/i386-pc.rmk: likewise
34026 * conf/powerpc-ieee1275.rmk: likewise
34027 * conf/sparc64-ieee1275.rmk: likewise
34028 * conf/x86_64-ieee1275.rmk: likewise
34029
05aaebfb 340302009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34031
34032 Support for mtime and further expandability of dir command
34033
34034 * include/grub/lib/datetime.h: moved to ...
7dd4a573 34035 * include/grub/datetime.h: ... moved here and added
05aaebfb 34036 declaration of grub_unixtime2datetime. All users updated
7dd4a573 34037 * include/grub/fs.h: new syntax for dir and mtime functions in
34038 struct grub_fs
05aaebfb 34039 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
34040 and GRUB_FSHELP_FLAGS_MASK
34041 * commands/ls.c (grub_ls_list_files): Write mtime in long format
34042 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
34043 (grub_ext2_mtime): new function
34044 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
34045 (grub_hfsplus_mtime): new function
34046 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
34047 (GRUB_UFS_ATTR_FILE): likewise
34048 (GRUB_UFS_ATTR_LNK): likewise
34049 (struct grub_ufs_sblock): new fields mtime
34050 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
34051 all users updated
34052 (grub_ufs_dir): mtime support
34053 (grub_ufs_mtime): new function
34054 * fs/affs.c (grub_affs_dir): use new dir syntax
34055 * fs/afs.c (grub_afs_dir): likewise
34056 * fs/cpio.c (grub_cpio_dir): likewise
34057 * fs/fat.c (grub_fat_find_dir): likewise
34058 * fs/hfs.c (grub_hfs_dir): likewise
34059 * fs/iso9660.c (grub_iso9660_dir): likewise
34060 * fs/jfs.c (grub_jfs_dir): likewise
34061 * fs/minix.c (grub_minix_dir): likewise
34062 * fs/ntfs.c (grub_ntfs_dir): likewise
34063 * fs/reiserfs.c (grub_reiserfs_dir): likewise
34064 * fs/sfs.c (grub_sfs_dir): likewise
34065 * fs/xfs.c (grub_xfs_dir): likewise
34066 * util/hostfs.c (grub_hostfs_dir): likewise
34067 * lib/datetime.c: moved to ...
34068 * normal/datetime.c: ... moved here
34069 (grub_unixtime2datetime): new function
34070 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 34071 * normal/completion.c (iterate_dir): use new dir syntax
34072 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 34073 last modification time of a volume
7dd4a573 34074 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 34075 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 34076 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 34077 (normal_mod_SOURCES): likewise
34078 (datetime_mod_SOURCES): Removed lib/datetime.c
34079 * conf/i386-efi.rmk: likewise
7dd4a573 34080 * conf/i386-ieee1275.rmk: likewise
05aaebfb 34081 * conf/i386-pc.rmk: likewise
34082 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34083 * conf/sparc64-ieee1275.rmk: likewise
34084 * conf/x86_64-efi.rmk: likewise
05aaebfb 34085
8a7e1a14 340862009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34087
34088 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 34089
34090 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 34091 on grub_fat_find_dir
34092 (grub_fat_find_dir): use grub_fat_iterate_dir
34093 (grub_fat_label): likewise
34094
04186a9c 340952009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
34096
7dd4a573 34097 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 34098 and command.h
34099 remove extraneous kernel_elf_HEADERS
34100
da4c0bb6 341012009-04-04 Bean <bean123ch@gnail.com>
34102
34103 * include/grub/util/misc.h: Add dummy function fsync for mingw.
34104
34105 * util/misc.c: Likewise.
34106
54ad9555 341072009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34108
34109 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
34110 instead of grub_printf.
34111
7a6bf9f2 341122009-04-03 Robert Millan <rmh@aybabtu.com>
34113
34114 * loader/i386/linux.c (grub_linux_setup_video): Fill
34115 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
34116 values from `mode info' structure instead of hardcoded
34117 values.
34118
3fcc2083 341192009-04-01 Pavel Roskin <proski@gnu.org>
34120
34121 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
34122 unused now.
34123 * genmk.rb: Likewise.
34124 * configure.ac: Likewise.
34125
5ec9740b 341262009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
34127
34128 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
34129 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
34130
5270cec8 341312009-04-01 David S. Miller <davem@davemloft.net>
34132
34133 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 34134 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 34135 (grub_setjmp): Mark with 'returns_twice' attribute.
34136 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
34137 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
34138 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
34139
9c3dd854 341402009-04-01 Robert Millan <rmh@aybabtu.com>
34141
34142 Reapply fix from 2008-07-28 which was accidentally reverted; also
34143 perform the same fix to a similar check in same function.
34144
34145 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34146 with the same number are found, just use issue a warning with
34147 grub_dprintf(), as this error has been reported to be non-fatal.
34148
0d818b7e 341492009-03-31 Pavel Roskin <proski@gnu.org>
34150
34151 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
34152 for cross-compilation.
34153
95646d92 341542009-03-30 Robert Millan <rmh@aybabtu.com>
34155
34156 Fix i386-ieee1275 build.
34157
34158 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
34159 Remove declaration.
34160
6a003ed1 341612009-03-30 Pavel Roskin <proski@gnu.org>
34162
34163 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
34164 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
34165 zero-terminated, rely only on the strlen value. Fix comparison
34166 of strings differing in length.
34167
92f33540 341682009-03-30 Robert Millan <rmh@aybabtu.com>
34169
34170 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
34171 checking for abi version. Improve error messages on BIOS to notify
34172 user about `linux16' command.
34173
a8c48fd5 341742009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
34175
f968172e 34176 Leak fixes
a8c48fd5 34177
f968172e 34178 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
34179 in case of collision
34180 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 34181
9c323f09 341822009-03-29 Robert Millan <rmh@aybabtu.com>
34183
34184 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
34185 set `vid_mode' accordingly.
34186 (grub_linux_boot): Process `vid_mode' and set video mode.
34187
ae68f423 341882009-03-29 Robert Millan <rmh@aybabtu.com>
34189
34190 * util/grub.d/10_linux.in (linux_entry): New function.
34191 Factorize generation of Linux boot entries.
34192
5709cfc4 341932009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
34194
34195 Make the format of Environment Block plain text. The boot loader
34196 part is not tested well yet.
7dd4a573 34197
5709cfc4 34198 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
34199 (buffer): Removed.
34200 (envblk): Likewise.
34201 (usage): Remove "info" and "clear". Add "unset". Update the
34202 description of "set", as this does not delete variables any
34203 longer.
34204 (create_envblk_file): Complete rewrite.
34205 (open_envblk_file): Likewise.
34206 (cmd_info): Removed.
34207 (cmd_list): Likewise.
34208 (cmd_set): Likewise.
34209 (cmd_clear): Likewise.
34210 (list_variables): New function.
34211 (write_envblk): Likewise.
34212 (set_variables): Likewise.
34213 (unset_variables): Likewise.
34214 (main): Complete rewrite.
34215
34216 * commands/loadenv.c (buffer): Removed.
34217 (envblk): Likewise.
34218 (open_envblk_file): New function.
34219 (read_envblk_file): Complete rewrite.
34220 (grub_cmd_load_env): Likewise.
34221 (grub_cmd_list_env): Likewise.
34222 (struct blocklist): New struct.
34223 (free_blocklists): New function.
34224 (check_blocklists): Likewise.
34225 (write_blocklists): Likewise.
34226 (grub_cmd_save_env): Complete rewrite.
34227
34228 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
34229 a plain text signature.
34230 (GRUB_ENVBLK_MAXLEN): Removed.
34231 (struct grub_envblk): Complete rewrite.
34232 (grub_envblk_find): Removed.
34233 (grub_envblk_insert): Likewise.
34234 (grub_envblk_open): New prototype.
34235 (grub_envblk_set): Likewise.
34236 (grub_envblk_delete): Put const to VALUE.
34237 (grub_envblk_iterate): Put const to NAME and VALUE.
34238 (grub_envblk_close): New prototype.
34239 (grub_envblk_buffer): New inline function.
34240 (grub_envblk_size): Likewise.
34241
34242 * lib/envblk.c: Include grub/mm.h.
34243 (grub_env_find): Removed.
34244 (grub_envblk_open): New function.
34245 (grub_envblk_close): Likewise.
34246 (escaped_value_len): Likewise.
34247 (find_next_line): Likewise.
34248 (grub_envblk_insert): Removed.
34249 (grub_envblk_set): New function.
34250 (grub_envblk_delete): Complete rewrite.
34251 (grub_envblk_iterate): Likewise.
34252
a9368fd3 342532009-03-28 Robert Millan <rmh@aybabtu.com>
34254
34255 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
34256 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
34257 variables. Use 16-bit loader.
34258 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
34259 loader.
34260 * kern/i386/loader.S (grub_linux_boot): Rename to ...
34261 (grub_linux16_boot): ... this. Update all users.
34262 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
34263 (grub_linux_boot): ... this. Update all users.
34264
34265 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
34266 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
34267 commands to `linux16' and `initrd16'.
34268 (GRUB_MOD_FINI(linux)): Rename to ...
34269 (GRUB_MOD_FINI(linux16)): ... this.
34270
e4dd5a7e 342712009-03-24 Pavel Roskin <proski@gnu.org>
34272
34273 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
34274 not just for compilation.
34275
c04d6e05 342762009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
34277
34278 Move multiboot helper out of kernel
34279
34280 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
34281 `loader/i386/multiboot_helper.S'.
34282 * conf/i386-coreboot.rmk: Likewise
34283 * conf/i386-ieee1275.rmk: Likewise
34284
34285 * kern/i386/loader.S: Move multiboot helpers from here...
34286 * loader/i386/multiboot_helper.S: ...moved here
34287 * include/grub/i386/loader.h: Move declarations of multiboot
34288 helpers from here...
34289 * include/grub/i386/multiboot.h: ...moved here
34290 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
34291
42a5b3fc 342922009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34293
34294 * kern/env.c (grub_env_context_open): Added an argument to specify
34295 whether a new context inherits exported variables from current
34296 one. This is useful when making a sandbox to interpret a config
34297 file.
34298 All callers updated.
34299
34300 * include/grub/env.h (grub_env_context_open): Updated the prototype.
34301
b28bbc4e 343022009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34303
34304 * kern/env.c (grub_env_context_close): Fix memory leaks.
34305
f04f02e4 343062009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34307
34308 * normal/main.c (grub_normal_execute): Added an argument
34309 BATCH to specify if an interactive interface should be provided
34310 after reading a config file.
34311 All callers updated.
34312 (read_command_list): Prevent being executed twice.
34313 (read_fs_list): Likewise.
34314
42a5b3fc 34315 * include/grub/normal.h (grub_normal_execute): Updated the
34316 prototype.
f04f02e4 34317
41473ac2 343182009-03-22 Pavel Roskin <proski@gno.org>
34319
fbc00b0c 34320 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
34321 _start.
34322 * kern/i386/pc/startup.S: Likewise.
34323 * kern/i386/efi/startup.S: Likewise.
34324 * kern/i386/ieee1275/startup.S: Likewise.
34325 * kern/i386/coreboot/startup.S: Likewise.
34326 * kern/x86_64/efi/startup.S: Likewise.
34327
41473ac2 34328 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
34329 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
34330 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
34331
2274cc8f 343322009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
34333
34334 Bugfixes in multiboot for bugs uncovered by solaris kernel.
34335
34336 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
34337 limit detection.
34338 Use vaddr of correct segment for entry_point.
34339
b1b797cb 343402009-03-21 Bean <bean123ch@gmail.com>
34341
34342 * commands/blocklist.c: Add include file <grub/command.h>, remove
34343 <grub/normal.h> and <grub/arg.h>.
34344 (grub_cmd_blocklist): Use the new command interface.
34345 (GRUB_MOD_INIT): Likewise.
34346 (GRUB_MOD_FINI): Likewise.
34347 * commands/boot.c: Likewise.
34348 * commands/cat.c: Likewise.
34349 * commands/cmp.c: Likewise.
34350 * commands/configfile.c: Likewise.
34351 * commands/crc.c: Likewise.
34352 * commands/echo.c: Likewise.
34353 * commands/halt.c: Likewise.
34354 * commands/handler.c: Likewise.
34355 * commands/hdparm.c: Likewise.
34356 * commands/help.c: Likewise.
34357 * commands/hexdump.c: Likewise.
34358 * commands/loadenv.c: Likewise.
34359 * commands/ls.c: Likewise.
34360 * commands/lsmmap.c: Likewise.
34361 * commands/lspci.c: Likewise.
34362 * commands/loadenv.c: Likewise.
34363 * commands/read.c: Likewise.
34364 * commands/reboot.c: Likewise.
34365 * commands/search.c: Likewise.
34366 * commands/sleep.c: Likewise.
34367 * commands/test.c: Likewise.
34368 * commands/usbtest.c: Likewise.
34369 * commands/videotest.c: Likewise.
34370 * commands/i386/cpuid.c: Likewise.
34371 * commands/i386/pc/halt.c: Likewise.
34372 * commands/i386/pc/play.c: Likewise.
34373 * commands/i386/pc/pxecmd.c: Likewise.
34374 * commands/i386/pc/vbeinfo.c: Likewise.
34375 * commands/i386/pc/vbetest.c: Likewise.
34376 * commands/ieee1275/suspend.c: Likewise.
34377 * disk/loopback.c: Likewise.
34378 * font/font_cmd.c: Likewise.
34379 * hello/hello.c: Likewise.
34380 * loader/efi/appleloader.c: Likewise.
34381 * loader/efi/chainloader.c: Likewise.
34382 * loader/i386/bsd.c: Likewise.
34383 * loader/i386/efi/linux.c: Likewise.
34384 * loader/i386/ieee1275/linux.c: Likewise.
34385 * loader/i386/linux.c: Likewise.
34386 * loader/i386/pc/chainloader.c: Likewise.
34387 * loader/i386/pc/linux.c: Likewise.
34388 * loader/powerpc/ieee1275/linux.c: Likewise.
34389 * loader/multiboot_loader.c: Likewise.
34390 * term/gfxterm.c: Likewise.
34391 * term/i386/pc/serial.c: Likewise.
34392 * term/terminfo.c: Likewise.
34393
34394 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
34395 * term/i386/pc/vga.c: Likewise.
34396 * video/readers/jpeg.c: Likewise.
34397 * video/readers/png.c: Likewise.
34398 * video/readers/tga.c: Likewise.
34399
34400 * util/grub-fstest (cmd_loopback): Removed.
34401 (cmd_blocklist): Likewise.
34402 (cmd_ls): Likewise.
34403 (grub_register_command): Likewise.
34404 (grub_unregister_command): Likewise.
34405 (execute_command): Use grub_command_find to locate command and execute
34406 it.
34407
34408 * include/grub/efi/chainloader.h: Removed.
34409 * loader/efi/chainloader_normal.c: Likewise.
34410 * loader/i386/bsd_normal.c: Likewise.
34411 * loader/i386/pc/chainloader_normal.c: Likewise.
34412 * loader/i386/pc/multiboot_normal.c: Likewise.
34413 * loader/linux_normal.c: Likewise.
34414 * loader/multiboot_loader_normal.c: Likewise.
34415 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34416
34417 * gencmdlist.sh: Scan new registration command grub_register_extcmd
34418 and grub_register_command_p1.
34419
34420 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
34421 kern/command.c, lib/arg.c and commands/extcmd.c.
34422 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
34423 (minicmd_mod_SOURCES): New variable.
34424 (minicmd_mod_CFLAGS): Likewise.
34425 (minicmd_mod_LDFLAGS): Likewise.
34426 (extcmd_mod_SOURCES): Likewise.
34427 (extcmd_mod_CFLAGS): Likewise.
34428 (extcmd_mod_LDFLAGS): Likewise.
34429 (boot_mod_SOURCES): Removed.
34430 (boot_mod_CFLAGS): Likewise.
34431 (boot_mod_LDFLAGS): Likewise.
34432
34433 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
34434 kern/corecmd.c.
34435 (kernel_img_HEADERS): Add command.h.
34436 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
34437 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
34438 and lib/arg.c.
34439 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
34440 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
34441 remove the corresponding normal mode command.
34442 (normal_mod_SOURCES): Remove normal/arg.c.
34443 * conf/i386-coreboot.rmk: Likewise.
34444 * conf/i386-efi.rmk: Likewise.
34445 * conf/i386-ieee1275.rmk: Likewise.
34446 * conf/powerpc-ieee1275.rmk: Likewise.
34447 * conf/x86_64-efi.rmk: Likewise.
34448
34449 * include/grub/arg.h: Move from here ...
34450 * include/grub/lib/arg.h: ... to here.
34451
34452 * normal/arg.c: Move from here ...
34453 * lib/arg.c: ... to here.
34454
34455 * commands/extcmd.c: New file.
34456 * commands/minicmd.c: Likewise.
34457 * include/grub/command.h: Likewise.
34458 * include/grub/extcmd.h: Likewise.
34459 * kern/command.c: Likewise.
34460 * kern/corecmd.c: Likewise.
34461
34462 * kern/list.c (grub_list_iterate): Return int instead of void.
34463 (grub_list_insert): New function.
34464 (grub_prio_list_insert): Likewise.
34465
34466 * kern/rescue.c (grub_rescue_command): Removed.
34467 (grub_rescue_command_list): Likewise.
34468 (grub_rescue_register_command): Likewise.
34469 (grub_rescue_unregister_command): Likewise.
34470 (grub_rescue_cmd_boot): Move to minicmd.c
34471 (grub_rescue_cmd_help): Likewise.
34472 (grub_rescue_cmd_info): Likewise.
34473 (grub_rescue_cmd_boot): Likewise.
34474 (grub_rescue_cmd_testload): Likewise.
34475 (grub_rescue_cmd_dump): Likewise.
34476 (grub_rescue_cmd_rmmod): Likewise.
34477 (grub_rescue_cmd_lsmod): Likewise.
34478 (grub_rescue_cmd_exit): Likewise.
34479 (grub_rescue_print_devices): Moved to corecmd.c.
34480 (grub_rescue_print_files): Likewise.
34481 (grub_rescue_cmd_ls): Likewise.
34482 (grub_rescue_cmd_insmod): Likewise.
34483 (grub_rescue_cmd_set): Likewise.
34484 (grub_rescue_cmd_unset): Likewise.
7d074e3c 34485 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 34486 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 34487 commands, remove grub_rescue_register_command calls.
b1b797cb 34488
7d074e3c 34489 * normal/command.c (grub_register_command): Removed.
b1b797cb 34490 (grub_unregister_command): Likewise.
34491 (grub_command_find): Likewise.
34492 (grub_iterate_commands): Likewise.
34493 (rescue_command): Likewise.
34494 (export_command): Moved to corecmd.c.
34495 (set_command): Removed.
34496 (unset_command): Likewise.
34497 (insmod_command): Likewise.
34498 (rmmod_command): Likewise.
34499 (lsmod_command): Likewise.
34500 (grub_command_init): Likewise.
34501
34502 * normal/completion.c (iterate_command): Use cmd->prio to check for
34503 active command.
34504 (complete_arguments): Use grub_extcmd_t structure to find options.
34505 (grub_normal_do_completion): Change function grub_iterate_commands to
34506 grub_command_iterate.
34507
34508 * normal/execute.c (grub_script_execute_cmd): No need to parse
34509 argument here.
34510
34511 * normal/main.c (grub_dyncmd_dispatcher): New function.
34512 (read_command_list): Register unload commands as dyncmd.
34513 (grub_cmd_normal): Use new command interface, register rescue,
34514 unregister normal at entry, register normal, unregister rescue at exit.
34515
34516 * include/grub/list.h (grub_list_test_t): New type.
34517 (grub_list_iterate): Return int instead of void.
34518 (grub_list_insert): New function.
34519 (GRUB_AS_NAMED_LIST_P): New macro.
34520 (GRUB_AS_PRIO_LIST): Likewise.
34521 (GRUB_AS_PRIO_LIST_P): Likewise.
34522 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
34523 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
34524 (grub_prio_list): New structure.
34525 (grub_prio_list_insert): New function.
34526 (grub_prio_list_remove): New inline function.
34527
34528 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
34529 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
34530 (GRUB_COMMAND_FLAG_MENU): Likewise.
34531 (GRUB_COMMAND_FLAG_BOTH): Likewise.
34532 (GRUB_COMMAND_FLAG_TITLE): Likewise.
34533 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
34534 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
34535 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
34536 (grub_command): Likewise.
34537 (grub_register_command): Likewise.
34538 (grub_command_find): Likewise.
34539 (grub_iterate_commands): Likewise.
34540 (grub_command_init): Likewise.
34541 (grub_arg_parse): Likewise.
34542 (grub_arg_show_help): Likewise.
34543
34544 * include/grub/rescue.h (grub_rescue_register_command): Removed.
34545 (grub_rescue_unregister_command): Likewise.
34546
34547 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
34548 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
34549 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
34550
34551 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
34552 grub_rescue_cmd_initrd.
34553 * include/grub/i386/loader.h: Likewise.
34554 * include/grub/x86_64/loader.h: Likewise.
34555
34556 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
34557
1f4147aa 345582009-03-21 Bean <bean123ch@gmail.com>
34559
34560 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
34561 instead of stat in mingw environment.
34562
34563 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
34564
34565 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
34566
34567 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
34568 AC_CONFIG_LINKS.
34569
2156d5ba 345702009-03-21 Bean <bean123ch@gmail.com>
34571
34572 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
34573 out of range error.
34574
177b82ca 345752009-03-18 Michel Dänzer <michel@daenzer.net>
34576
34577 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
34578 checking inode flags for EXT4_EXTENTS_FLAG.
34579
14aad807 345802009-03-18 Robert Millan <rmh@aybabtu.com>
34581
34582 * loader/i386/linux.c: Include `<grub/video.h>' and
34583 `<grub/i386/pc/vbe.h>'..
34584 (grub_linux_setup_video): New function. Loosely based on the EFI one.
34585 (grub_linux32_boot): Attempt to configure video settings with
34586 grub_linux_setup_video().
34587 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
34588 to avoid grub_console_fini() which would step out of graphical mode
34589 unconditionally.
34590
8cf83a27 345912009-03-14 Robert Millan <rmh@aybabtu.com>
34592
34593 Fix build on powerpc.
34594 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
34595
40164e75 345962009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
34597
34598 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
34599 background image command.
34600
c58bc32a 346012009-03-12 Colin D Bennett <colin@gibibit.com>
34602
34603 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
34604 (grub_gfxterm_putchar): Extract pairs of identical calls to
34605 draw_cursor out of conditional blocks.
34606
5415144a 346072009-03-11 Pavel Roskin <proski@gnu.org>
34608
34609 * fs/hfs.c (grub_hfs_strncasecmp): New function.
34610 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
34611
6394042e 346122009-03-11 Robert Millan <rmh@aybabtu.com>
34613
34614 * loader/i386/multiboot_elfxx.c
34615 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
34616
b7b50e5f 346172009-03-11 Felix Zielcke <fzielcke@z-51.de>
34618
34619 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
34620 `kern/handler.c'.
34621
1ca7fc96 346222009-03-11 Robert Millan <rmh@aybabtu.com>
34623
34624 * loader/i386/multiboot.c (code_size): New variable.
34625 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 34626 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 34627 4-byte alignment to MBI and others by increasing
7d074e3c 34628 `boot_loader_name_length' appropriately.
1ca7fc96 34629
34630 * loader/i386/multiboot_elfxx.c
34631 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
34632
a83ea1d2 346332009-03-09 Felix Zielcke <fzielcke@z-51.de>
34634
34635 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
34636 `fs/ext2.c'.
34637
aa9f3bff 346382009-03-08 Robert Millan <rmh@aybabtu.com>
34639
34640 Make loader/i386/linux.c usable on i386-pc again.
34641
34642 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
34643 memory to heap.
34644 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
34645 `#error' stanza.
34646
d8b3b60e 346472009-03-07 Bean <bean123ch@gmail.com>
34648
34649 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
34650 allocation.
34651
b362c9e9 346522009-03-06 Robert Millan <rmh@aybabtu.com>
34653
34654 Fix display issue on terminals with screen size other than 80x25
34655 (e.g. gfxterm with resolution higher than 640x480).
34656
34657 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 34658 position relative to the center of the terminal instead of relying
b362c9e9 34659 on a hardcoded offset.
34660
9304eef1 346612009-03-04 Robert Millan <rmh@aybabtu.com>
34662
34663 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
34664 installed.
34665
34666 * Makefile.in (host_kernel): New variable.
34667 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
34668 scripts instead of just the windows one.
34669 * configure.ac: Initialize and AC_SUBST `host_kernel'.
34670
eabc95fb 346712009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 34672
34673 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
34674 `kern/handler.c'.
34675 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34676 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34677 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34678 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34679 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34680 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34681
ceb1223c 346822009-03-04 Felix Zielcke <fzielcke@z-51.de>
34683
34684 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
34685 or if there's no space for the disk label and print the partition number on a
34686 invalid magic.
34687
4910684a 346882009-03-04 Felix Zielcke <fzielcke@z-51.de>
34689
34690 * util/misc.c: Include <time.h>.
34691 (grub_millisleep): New function.
34692
7e9ca17a 346932009-03-04 Bean <bean123ch@gmail.com>
34694
34695 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
34696 another option -mno-red-zone.
34697
34698 * commands/handler.c: Change module description.
34699
34700 * kern/handler.c: Add missing space at the end of description line.
34701
34702 * kern/list.c: Likewise.
34703
f501677c 347042009-03-03 Robert Millan <rmh@aybabtu.com>
34705
34706 Move more components to the relocation area, and fix mbi pointer
34707 handling to use the destination rather than the origin (thanks to
34708 Vladimir Serbinenko for spotting).
34709
34710 * loader/i386/multiboot.c (mbi_dest): New variable.
34711 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
34712 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
34713 relocation area.
34714
9902d047 347152009-03-01 Bean <bean123ch@gmail.com>
34716
50fb7002 34717 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 34718 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
34719 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
34720 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
34721
34722 * loader/i386/efi/linux.c (acpi_guid): New variable.
34723 (acpi_guid): Likewise.
34724 (EBDA_SEG_ADDR): New constant.
34725 (LOW_MEM_ADDR): Likewise.
34726 (FAKE_EBDA_SEG): Likewise.
34727 (fake_bios_data): New function.
34728 (grub_linux_boot): Call fake_bios_data.
34729
71b9f361 347302009-03-01 Bean <bean123ch@gmail.com>
34731
34732 * commands/terminal.c: Removed.
34733
34734 * commands/handler.c: New file.
34735
34736 * include/grub/list.h: Likewise.
34737
34738 * include/grub/handler.h: Likewise.
34739
34740 * kern/list.c: Likewise.
34741
34742 * kern/handler.c: Likewise.
34743
34744 * kern/term.h: Include header file <grub/handler.h>.
34745 (grub_term_input): Move next field to the beginning.
34746 (grub_term_output): Likewise.
34747 (grub_term_input_class): New variable.
34748 (grub_term_output_class): Likewise.
34749 (grub_term_register_input): Changed to inline function.
34750 (grub_term_register_output): Likewise.
34751 (grub_term_unregister_input): Likewise.
34752 (grub_term_unregister_output): Likewise.
34753 (grub_term_set_current_input): Likewise.
34754 (grub_term_set_current_output): Likewise.
34755 (grub_term_get_current_input): Likewise.
34756 (grub_term_get_current_output): Likewise.
34757 (grub_term_iterate_input): Removed.
34758 (grub_term_iterate_output): Likewise.
34759
34760 * kern/term.c (grub_term_list_input): Removed.
34761 (grub_term_list_output): Likewise.
34762 (grub_term_input_class): New variable.
34763 (grub_term_output_class): Likewise.
50fb7002 34764 (grub_cur_term_input): Change variable as macro.
71b9f361 34765 (grub_cur_term_output): Likewise.
34766 (grub_term_register_input): Removed.
34767 (grub_term_register_output): Likewise.
34768 (grub_term_unregister_input): Likewise.
34769 (grub_term_unregister_output): Likewise.
34770 (grub_term_set_current_input): Likewise.
34771 (grub_term_set_current_output): Likewise.
34772 (grub_term_iterate_input): Likewise.
34773 (grub_term_iterate_output): Likewise.
34774 (grub_term_get_current_input): Likewise.
34775 (grub_term_get_current_output): Likewise.
34776
34777 * util/grub-editenv.c: Include header file <grub/handler.h>.
34778 (grub_term_get_current_input): Removed.
34779 (grub_term_get_current_output): Likewise.
34780 (grub_term_input_class): New variable.
50fb7002 34781 (grub_term_output_class): Likewise.
71b9f361 34782
34783 * util/grub-fstest.c (grub_term_get_current_input): Removed.
34784 (grub_term_get_current_output): Likewise.
34785 (grub_term_input_class): New variable.
50fb7002 34786 (grub_term_output_class): Likewise.
71b9f361 34787
34788 * util/grub-probe.c (grub_term_get_current_input): Removed.
34789 (grub_term_get_current_output): Likewise.
34790 (grub_term_input_class): New variable.
50fb7002 34791 (grub_term_output_class): Likewise.
71b9f361 34792
34793 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
34794 (grub_term_get_current_output): Likewise.
34795 (grub_term_input_class): New variable.
50fb7002 34796 (grub_term_output_class): Likewise.
71b9f361 34797
34798 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
34799 (terminal_mod_SOURCES): Likewise.
34800 (terminal_mod_CFLAGS): Likewise.
34801 (terminal_mod_LDFLAGS): Likewise.
34802
34803 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
34804 handler.c.
34805 (kernel_img_SOURCES): Add list.c and handler.c.
34806 (kernel_img_HEADERS): Add list.h and handler.h.
34807
34808 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
34809 handler.c.
34810 (kernel_mod_SOURCES): Add list.c and handler.c.
34811 (kernel_mod_HEADERS): Add list.h and handler.h.
34812
34813 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
34814 handler.c.
34815 (kernel_elf_SOURCES): Add list.c and handler.c.
34816 (kernel_elf_HEADERS): Add list.h and handler.h.
34817
34818 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34819 handler.c.
34820 (kernel_elf_SOURCES): Add list.c and handler.c.
34821 (kernel_elf_HEADERS): Add list.h and handler.h.
34822
34823 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
34824 handler.c.
34825 (kernel_mod_SOURCES): Add list.c and handler.c.
34826 (kernel_mod_HEADERS): Add list.h and handler.h.
34827
34828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34829 handler.c.
34830 (kernel_elf_SOURCES): Add list.c and handler.c.
34831 (kernel_elf_HEADERS): Add list.h and handler.h.
34832
8a31787f 348332009-02-27 Robert Millan <rmh@aybabtu.com>
34834
34835 Factorize elf32 / elf64 code in Multiboot loader. This will
34836 prevent it from getting out of sync again.
34837
34838 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
34839 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
34840 grub_multiboot_load_elf64): Move from here ...
34841 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
34842 grub_multiboot_load_elf): ... to here (new file).
34843
51cd3dfc 348442009-02-27 Robert Millan <rmh@aybabtu.com>
34845
34846 * util/grub.d/10_linux.in: Rename "single-user mode" to
34847 "recovery mode".
34848
6e8c9c3a 348492009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
34850
34851 Don't leak in SCSI code.
34852 * disk/scsi.c (grub_scsi_close): free `scsi'.
34853
4b6bf4f9 348542009-02-27 Robert Millan <rmh@aybabtu.com>
34855
34856 * loader/i386/pc/multiboot.c: Move from here ...
34857 * loader/i386/multiboot.c: ... to here. Update all users.
34858
b9413424 348592009-02-27 Robert Millan <rmh@aybabtu.com>
34860
34861 Patch from Alexandre Bique <bique.alexandre@gmail.com>
34862 * util/i386/pc/grub-setup.c (setup): Fix directory path.
34863
50fb7002 348642009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 34865
34866 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
34867 b-tree.
34868
8cc50345 348692009-02-27 Robert Millan <rmh@aybabtu.com>
34870
34871 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
34872 `0x' qualifier as 0 when base is specified as parameter).
34873
6e09b8b7 348742009-02-24 Bean <bean123ch@gmail.com>
34875
34876 * configure.ac: Check for -mcmodel=large in x86_64 target.
34877
34878 * include/grub/efi/api.h (efi_call_10): New macro.
34879 (efi_wrap_10): New function.
34880
34881 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
34882 (GRUB_PE32_REL_BASED_HIGH): Likewise.
34883 (GRUB_PE32_REL_BASED_LOW): Likewise.
34884 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
34885 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
34886 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
34887 (GRUB_PE32_REL_BASED_SECTION): Likewise.
34888 (GRUB_PE32_REL_BASED_REL): Likewise.
34889 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
34890 (GRUB_PE32_REL_BASED_DIR64): Likewise.
34891 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
34892
34893 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
34894 issue.
34895
34896 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
34897 (efi_wrap_10): New function.
34898
34899 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
34900
34901 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
34902 MB/MBP model (NV chipset).
34903 (devdata_devs): Add devpath_5 to the list.
34904
34905 * load/i386/efi/linux.c (video_base): Remove variable.
34906 (RGB_MASK): New macro.
34907 (RGB_MAGIC): Likewise.
34908 (LINE_MIN): Likewise.
34909 (LINE_MAX): Likewise.
34910 (FBTEST_STEP): Likewise.
34911 (FBTEST_COUNT): Likewise.
34912 (fb_list): New variable.
34913 (grub_find_video_card): Remove function.
34914 (find_framebuf): New function.
34915 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
34916 line length.
34917
34918 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
34919 problem for x86_64.
34920
74b21bee 349212009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
34922
34923 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
34924
34925 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
34926 coding tool name.
34927
a455f472 349282009-02-22 Robert Millan <rmh@aybabtu.com>
34929
34930 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
34931 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
34932 in our relocation, instead of using it directly from heap. Also
34933 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
34934
6374daf3 349352009-02-21 Robert Millan <rmh@aybabtu.com>
34936
34937 Implement USB keyboard support (based on patch by Marco Gerards)
34938
34939 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
34940 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
34941 (usb_keyboard_mod_LDFLAGS): New variables.
34942
34943 * term/usb_keyboard.c: New file.
34944
8fa4ea70 349452009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
34946
34947 Corrected wrong declaration
34948
34949 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
34950
353976ac 349512009-02-14 Christian Franke <franke@computer.org>
34952
34953 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
34954 (grub_lspci_iter): Print class code and programming interface byte.
34955
6aa1169b 349562009-02-14 Christian Franke <franke@computer.org>
34957
34958 * gendistlist.sh: Ignore `.svn' directories.
34959
265372ca 349602009-02-14 Felix Zielcke <fzielcke@z-51.de>
34961
34962 * fs/fat.c: Add 2009 to Copyright line.
34963
9ff516f3 349642009-02-14 Christian Franke <franke@computer.org>
34965
34966 * commands/hdparm.c: New file. Provides `hdparm' command
34967 which sends ATA commands via grub_disk_ata_pass_through ().
34968
34969 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
34970
34971 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
34972 and <grub/cpu/io.h> to include/grub/ata.h.
34973 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
34974 (GRUB_CDROM_SECTOR_SIZE): Remove.
34975 (GRUB_ATA_*): Move to include/grub/ata.h.
34976 (GRUB_ATAPI_*): Likewise.
34977 (enum grub_ata_commands): Likewise.
34978 (enum grub_ata_timeout_milliseconds): Likewise.
34979 (struct grub_ata_device): Likewise.
34980 (grub_ata_regset): Likewise.
34981 (grub_ata_regget): Likewise.
34982 (grub_ata_regset2): Likewise.
34983 (grub_ata_regget2): Likewise.
34984 (grub_ata_check_ready): Likewise.
34985 (grub_ata_wait_not_busy): Remove static, exported in
34986 include/grub/ata.h.
34987 (grub_ata_wait_drq): Likewise.
34988 (grub_ata_pio_read): Likewise.
34989
34990 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
34991 function for hdparm.mod.
34992
34993 * include/grub/ata.h: New file, contains declarations from
34994 disk/ata.c.
34995 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
34996
34997 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
34998 (grub_disk_ata_pass_through): New exported variable.
34999
35000 * kern/disk.c (grub_disk_ata_pass_through): New variable.
35001
772e23da 350022009-02-13 Colin D Bennett <colin@gibibit.com>
35003
35004 Support multiple fallback entries, and provide an API to support
35005 executing default+fallback menu entries. Renamed the `terminal' menu
35006 viewer to `text'.
35007
35008 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
35009 variable declaration.
35010 (grub_menu_execute_callback): New structure declaration.
35011 (grub_menu_execute_callback_t): New typedef.
35012 (grub_menu_execute_with_fallback): New function declaration.
35013 (grub_menu_get_entry): Likewise.
35014 (grub_menu_get_timeout): Likewise.
35015 (grub_menu_set_timeout): Likewise.
35016
35017 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
35018
35019 * normal/menu.c (grub_wait_after_message): Moved to
35020 `normal/menu_text.c'.
35021 (draw_border): Likewise.
35022 (print_message): Likewise.
35023 (print_entry): Likewise.
35024 (print_entries): Likewise.
35025 (grub_menu_init_page): Likewise.
35026 (get_entry_number): Likewise.
35027 (print_timeout): Likewise.
35028 (run_menu): Likewise.
35029 (grub_menu_execute_entry): Likewise.
35030 (show_text_menu): Likewise.
35031 (get_and_remove_first_entry_number): New function.
35032 (grub_menu_execute_with_fallback): Likewise.
35033 (get_entry): Renamed to ...
35034 (grub_menu_get_entry): .. this and made it global.
35035 (get_timeout): Renamed to ...
35036 (grub_menu_get_timeout): ... this and made it global.
35037 (set_timeout): Renamed to ...
35038 (grub_menu_set_timeout): ... this and made it global.
35039 (grub_normal_terminal_menu_viewer): Renamed to ...
35040 (grub_normal_text_menu_viewer): ... this.
35041
35042 * normal/menu_text.c: New file. Extracted text-menu-specific code
35043 from normal/menu.c.
35044
35045 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
35046 (normal_mod_SOURCES): Likewise.
35047
35048 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35049 (normal_mod_SOURCES): Likewise.
35050
35051 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35052 (normal_mod_SOURCES): Likewise.
35053
35054 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
35055 (normal_mod_SOURCES): Likewise.
35056
35057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35058 (normal_mod_SOURCES): Likewise.
35059
35060 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35061 (normal_mod_SOURCES): Likewise.
35062
35063 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35064 (normal_mod_SOURCES): Likewise.
35065
16ac430e 350662009-02-11 Robert Millan <rmh@aybabtu.com>
35067
35068 * util/grub.d/00_header.in: Update old reference to `font' command.
35069
06ff20fc 350702009-02-10 Felix Zielcke <fzielcke@z-51.de>
35071
35072 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
35073
35074 Based on patch from Javier Martín.
35075
96da9407 350762009-02-09 Felix Zielcke <fzielcke@z-51.de>
35077
35078 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 35079 to avoid false positives with FAT.
96da9407 35080 (grub_fstest_SOURCES): Likewise.
35081 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35082 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35084 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35085 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35086 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35087
6dca6fe4 350882009-02-09 Felix Zielcke <fzielcke@z-51.de>
35089
06ff20fc 35090 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 35091 bpb.version_specific.fat12_or_fat16.fstype and
35092 bpb.version_specific.fat32.fstype.
35093
2550c62f 350942009-02-08 Robert Millan <rmh@aybabtu.com>
35095
be110b30 35096 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 35097
56978920 350982009-02-08 Robert Millan <rmh@aybabtu.com>
35099
35100 * Makefile.in (host_os, host_cpu): New variables.
35101 (target_os): Remove. Update all users.
35102
d64399b5 351032009-02-08 Marco Gerards <marco@gnu.org>
35104
35105 * Makefile.in (enable_grub_emu_usb): New variable.
35106 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
35107 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
35108 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
35109 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
35110 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
35111 `usbtest.mod' and `usbms.mod'.
35112 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
35113 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
35114 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
35115 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
35116 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
35117 variables.
35118
35119 * disk/usbms.c: New file.
35120
35121 * include/grub/usb.h: Likewise.
35122
35123 * include/grub/usbtrans.h: Likewise.
35124
35125 * include/grub/usbdesc.h: Likewise.
35126
35127 * bus/usb/usbtrans.c: Likewise.
35128
35129 * bus/usb/ohci.c: Likewise.
35130
35131 * bus/usb/uhci.c: Likewise.
35132
35133 * bus/usb/usbhub.c: Likewise.
35134
35135 * bus/usb/usb.c: Likewise.
35136
35137 * commands/usbtest.c: Likewise.
35138
35139 * util/usb.c: Likewise.
50fb7002 35140
d64399b5 35141 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
35142
35143 * configure.ac: Test for libusb presence.
50fb7002 35144
d64399b5 35145 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
35146
2b40d6bb 351472009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
35148
35149 * kern/mm.c: Add more comments.
35150
73a4ce81 351512009-02-08 Robert Millan <rmh@aybabtu.com>
35152
35153 Patch from Javier Martín.
35154 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
35155 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
35156
f821ce59 351572009-02-08 Robert Millan <rmh@aybabtu.com>
35158
35159 * fs/cpio.c: Split tar functionality to ...
35160 * fs/tar.c: ... here (new file). Update all users.
35161
aebfc4b0 351622009-02-07 Robert Millan <rmh@aybabtu.com>
35163
35164 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
35165 backward-incompatible features.
35166
35167 Based on patch from Javier Martín, with some adjustments.
35168
50fb7002 351692009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 35170
35171 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
35172
0bb5115e 351732009-02-07 Robert Millan <rmh@aybabtu.com>
35174
35175 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
35176 position of `disk/lvm.c' to ensure grub_init_all() always picks it
35177 after the RAID stuff.
35178
38a0f8e7 351792009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
35180
50fb7002 35181 Fixes problem when running vbetest command as reported by
38a0f8e7 35182 Vladimir Serbinenko <phcoder@gmail.com>.
35183
35184 * (grub_vbe_set_video_mode): Fixed problem with text modes.
35185
3143cc1c 351862009-02-04 Felix Zielcke <fzielcke@z-51.de>
35187
35188 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
35189 /dev/md/NpN style mdraid devices.
35190
9cba6fce 351912009-02-03 Felix Zielcke <fzielcke@z-51.de>
35192
35193 * util/unifont2pff.rb: Remove.
35194
e507a2c1 351952009-02-03 Felix Zielcke <fzielcke@z-51.de>
35196
35197 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
35198 `#'.
35199
d2c2b4cd 352002009-02-03 Felix Zielcke <fzielcke@z-51.de>
35201
35202 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
35203 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35204 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35205 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35207 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35208 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35209
b4315fb0 352102009-02-02 Christian Franke <franke@computer.org>
35211
35212 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
35213
de3aa260 352142009-02-01 Felix Zielcke <fzielcke@z-51.de>
35215
7c3ff286 35216 * INSTALL: Note that we now require at least autoconf 2.59 and
35217 that LZO is optional.
de3aa260 35218
825a182b 352192009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35220
35221 Base on patch on bug #24154 created by Tomas Tintera
35222 <trosos@seznam.cz>.
35223
35224 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
35225
a69ef770 352262009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35227
7c3ff286 35228 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 35229 <bero@arklinux.org>.
35230
35231 * normal/parser.y (script_init): Add missing semicolon.
35232
6fa42fa6 352332009-01-31 Colin D Bennett <colin@gibibit.com>
35234
7c3ff286 35235 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 35236 (free_menu_entry_classes): Added.
35237 (grub_normal_menu_addentry): Added class property handling.
35238 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
35239 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
35240
35241 * normal/menu_viewer.c: New file.
35242
35243 * normal/menu.c (run_menu_entry): Renamed to ...
35244 (grub_menu_execute_entry): ... this and made it as global.
35245 (grub_menu_run): Renamed to ...
35246 (show_text_menu): ... this and made it local.
35247 (show_text_menu): Adapt to new function names.
35248 (grub_normal_terminal_menu_viewer): New global variable.
35249
35250 * include/grub/menu.h: New file.
35251
35252 * include/grub/menu_viewer.h: New file.
35253
35254 * include/grub/normal.h: Added include to grub/menu.h.
35255 (grub_menu_entry): Moved to include/grub/menu.h.
35256 (grub_menu_entry_t): Likewise.
35257 (grub_menu): Likewise.
35258 (grub_menu_t): Likewise.
35259 (grub_normal_terminal_menu_viewer): Added.
35260 (grub_menu_execute_entry): Likewise.
35261 (grub_menu_run): Removed.
35262
35263 * DISTLIST: Added include/grub/menu.h.
35264 Added include/grub/menu_viewer.h.
35265 Added normal/menu_viewer.c.
35266
352672009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
35268
35269 * normal/execute.c (grub_script_execute_menuentry): Changed to use
35270 arglist for menutitle arguments.
35271
35272 * normal/main.c (grub_normal_menu_addentry): Likewise.
35273
35274 * normal/parser.y (menuentry): Likewise.
35275
35276 * normal/script.c (grub_script_create_cmdmenu): Likewise.
35277
35278 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
35279 (grub_script_create_cmdmenu): Likewise.
35280
35281 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
35282
35283 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
35284 changes.
35285
35286 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
35287
35288 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
35289
35290 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
35291
35292 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35293
35294 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35295
35296 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35297
56192c23 352982009-01-30 Christian Franke <franke@computer.org>
35299
35300 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
35301 in option help text.
35302
d72521b3 353032009-01-27 Pavel Roskin <proski@gnu.org>
35304
35305 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
35306
994b5e84 353072009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
35308
35309 * commands/lsmmap.c: Add include to grub/machine/memory.h.
35310
35311 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
35312
35313 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
35314 unregister function.
35315
6a7eab2c 353162009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
35317
35318 * disk/scsi.c (grub_scsi_read): Fix sign problem.
35319
35320 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
35321
35322 * util/grub-mkfont.c (usage): Fix typo.
35323
35324 * util/elf/grub-mkimage.c (load_modules): Fix warning.
35325
1806b56e 353262009-01-26 Daniel Mierswa <impulze@impulze.org>
35327
3fb18f09 35328 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
35329
336e1fb9 35330 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
35331
1806b56e 35332 * kern/misc.c (grub_strcasecmp): New function.
35333 (grub_strcasecmp): Use grub_size_t instead of int for length.
35334 Fix return value.
35335 * include/grub/misc.h: Update function prototypes.
35336
580b2a0f 353372009-01-26 Robert Millan <rmh@aybabtu.com>
35338
35339 * configure.ac: Fix cross-compilation check.
ef257b36 35340
d31c24f1 353412009-01-22 Christian Franke <franke@computer.org>
35342
35343 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
35344 (precision) digit string. Allow `.format2' without `format1' (width).
35345 Limit input chars for `%s' output to `format2' if specified. This is
35346 compatible with standard printf ().
35347
3138b44c 353482009-01-22 Christian Franke <franke@computer.org>
35349
35350 * disk/ata.c (grub_ata_wait_status): Replace by ...
35351 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
35352 other status bits may be invalid while BSY is asserted.
35353 (grub_ata_check_ready): New function.
35354 (grub_ata_cmd): Removed.
35355 (grub_ata_wait_drq): New function.
35356 (grub_ata_strncpy): Remove inline.
35357 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
35358 and error check now done by grub_ata_wait_drq ().
35359 (grub_ata_pio_write): Likewise.
35360 (grub_atapi_identify): Set DEV before check for !BSY. Use
35361 grub_ata_wait_drq () to wait for data.
35362 (grub_ata_device_initialize): Add status register check to
35363 detect missing SATA slave devices. Add debug messages.
35364 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
35365 (grub_atapi_packet): Set DEV before check for !BSY. Replace
35366 transfer loop by grub_ata_pio_write ().
35367 (grub_ata_identify): Set DEV before check for !BSY. Use
35368 grub_ata_wait_drq () to wait for data.
ef257b36 35369 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 35370 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
35371 read/write in one loop. Fix invalid command on write. Fix incomplete
35372 command on (size % batch) == 0. Add missing error check after write of
35373 last block. Add debug messages.
35374 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
35375
59a64ef6 353762009-01-19 Christian Franke <franke@computer.org>
35377
35378 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
35379 (GRUB_ATAPI_IREASON_*): Likewise.
35380 (grub_ata_pio_write): Fix timeout error return.
35381 (grub_atapi_identify): Add grub_ata_wait () after cmd.
35382 (grub_atapi_wait_drq): New function.
35383 (grub_atapi_packet): New parameter `size'.
35384 Use grub_atapi_wait_drq () and direct write instead of
35385 grub_ata_pio_write ().
35386 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
35387 reads the number of bytes requested by the device for each DRQ
35388 assertion.
35389 (grub_atapi_write): Remove old implementation, return not
35390 implemented instead.
35391
1cfe20b3 353922009-01-19 Christian Franke <franke@computer.org>
35393
35394 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
35395 of 512 to calculate data size.
35396 (grub_scsi_read12): Likewise.
35397 (grub_scsi_write10): Likewise.
35398 (grub_scsi_write12): Likewise.
35399 (grub_scsi_read): Adjust size according to blocksize.
35400 Add checks for invalid blocksize and unaligned transfer.
35401
bee5fe5d 354022009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
35403
35404 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
35405
ef257b36 35406 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 35407 width glyphs.
35408
3e643f8c 354092009-01-19 Robert Millan <rmh@aybabtu.com>
35410
35411 * config.guess: Update to latest version from config git.
35412 * config.sub: Likewise.
35413
4fa80998 354142009-01-17 Felix Zielcke <fzielcke@z-51.de>
35415
35416 * Makefile.in: Change font compilation to use new grub-mkfont instead
35417 of java version.
35418
35419 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
35420 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
35421 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35422 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35423 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
35424 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
35425 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
35426 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
35427 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
35428
7086085b 354292009-01-16 Christian Franke <franke@computer.org>
35430
35431 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
35432 (enum grub_ata_timeout_milliseconds): New enum.
35433 (grub_ata_wait_status): Add parameter milliseconds.
35434 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
35435 recovery from timed-out commands.
35436 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
35437 return grub_errno instead of REG_ERROR.
35438 (grub_ata_pio_write): Add parameter milliseconds.
35439 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
35440 Pass milliseconds to grub_ata_wait_status () and
35441 grub_ata_pio_read ().
35442 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
35443 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
35444 grub_ata_wait_status (). Fix IDENTIFY timeout check.
35445 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
35446 It is not suitable for device detection, because DEV bit is ignored,
35447 the command may run too long, and not all devices set the signature
35448 properly.
35449 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
35450 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
35451 Fix device selection, DEV bit must be set first to address the registers
35452 of the correct device.
35453 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
35454 grub_ata_pio_read/write ().
35455 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
35456 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
35457
4a412913 354582009-01-13 Carles Pina i Estany <carles@pina.cat>
35459
35460 * util/grub-editenv.c (main): Use fseeko(), not fseek().
35461
7795c55e 354622009-01-13 Bean <bean123ch@gmail.com>
d913988c 35463
35464 * util/grub-mkfont.c (write_font): forget to remove some debug code.
35465
7795c55e 354662009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 35467
35468 * Makefile.in: (enable_grub_mkfont): New variable.
35469 (freetype_cflags): Likewise.
35470 (freetype_libs): Likewise.
35471
35472 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
35473 (grub_mkfont_SOURCES): New variable.
35474 (grub_mkfont_CFLAGS): Likewise.
35475 (grub_mkfont_LDFLAGS): Likewise.
35476
35477 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
35478 library if `--enable-grub-mkfont' is requested.
35479 (enable_grub_mkfont): New variable.
35480 (freetype_cflags): Likewise.
35481 (freetype_libs): Likewise.
35482
35483 * util/grub-mkfont.c: New file.
35484
093af1fe 354852009-01-12 Christian Franke <franke@computer.org>
35486
35487 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
35488 mode check. Fix setting of compat_use[].
35489
f36cc108 354902009-01-10 Robert Millan <rmh@aybabtu.com>
35491
35492 Update a few copyright years which we forgot to do in 2008 (only for
35493 files whose changes made in 2008 were copyright-significant)
35494
35495 * Makefile.in: Add 2008 to Copyright line.
35496 * disk/ieee1275/ofdisk.c: Likewise.
35497 * disk/efi/efidisk.c: Likewise.
35498 * kern/dl.c: Likewise.
35499 * kern/sparc64/ieee1275/init.c: Likewise.
35500 * kern/mm.c: Likewise.
35501 * kern/efi/mm.c: Likewise.
35502 * boot/i386/pc/boot.S: Likewise.
35503 * genfslist.sh: Likewise.
35504 * fs/iso9660.c: Likewise.
35505 * fs/hfs.c: Likewise.
35506 * fs/jfs.c: Likewise.
35507 * fs/minix.c: Likewise.
35508 * fs/ufs.c: Likewise.
35509 * gensymlist.sh.in: Likewise.
35510 * genkernsyms.sh.in: Likewise.
35511 * include/grub/misc.h: Likewise.
35512 * include/grub/types.h: Likewise.
35513 * include/grub/symbol.h: Likewise.
35514 * include/grub/elf.h: Likewise.
35515 * include/grub/kernel.h: Likewise.
35516 * include/grub/disk.h: Likewise.
35517 * include/grub/dl.h: Likewise.
35518 * include/grub/i386/linux.h: Likewise.
35519 * include/grub/i386/pc/biosdisk.h: Likewise.
35520 * include/grub/efi/api.h: Likewise.
35521 * include/grub/efi/pe32.h: Likewise.
35522 * include/grub/util/misc.h: Likewise.
35523 * normal/execute.c: Likewise.
35524 * normal/arg.c: Likewise.
35525 * normal/completion.c: Likewise.
35526 * normal/lexer.c: Likewise.
35527 * normal/parser.y: Likewise.
35528 * normal/misc.c: Likewise.
35529 * commands/i386/pc/vbeinfo.c: Likewise.
35530 * commands/hexdump.c: Likewise.
35531 * commands/terminal.c: Likewise.
35532 * commands/ls.c: Likewise.
35533 * commands/help.c: Likewise.
35534 * partmap/pc.c: Likewise.
35535 * loader/efi/chainloader.c: Likewise.
35536 * loader/multiboot_loader.c: Likewise.
35537 * loader/i386/pc/multiboot2.c: Likewise.
35538 * term/efi/console.c: Likewise.
35539 * term/i386/pc/serial.c: Likewise.
35540 * util/lvm.c: Likewise.
35541 * util/console.c: Likewise.
35542 * util/i386/efi/grub-mkimage.c: Likewise.
35543 * util/raid.c: Likewise.
35544
7f02114b 355452009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
35546
35547 * commands/videotest.c: Removed include to grub/machine/memory.h.
35548
35549 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
35550 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
35551 (video_mod_SOURCES): Removed.
35552 (video_mod_CFLAGS): Likewise.
35553 (video_mod_LDFLAGS): Likewise.
35554 (gfxterm_mod_SOURCES): Likewise.
35555 (gfxterm_mod_CFLAGS): Likewise.
35556 (gfxterm_mod_LDFLAGS): Likewise.
35557 (videotest_mod_SOURCES): Likewise.
35558 (videotest_mod_CFLAGS): Likewise.
35559 (videotest_mod_LDFLAGS): Likewise.
35560 (bitmap_mod_SOURCES): Likewise.
35561 (bitmap_mod_CFLAGS): Likewise.
35562 (bitmap_mod_LDFLAGS): Likewise.
35563 (tga_mod_SOURCES): Likewise.
35564 (tga_mod_CFLAGS): Likewise.
35565 (tga_mod_LDFLAGS): Likewise.
35566 (jpeg_mod_SOURCES): Likewise.
35567 (jpeg_mod_CFLAGS): Likewise.
35568 (jpeg_mod_LDFLAGS): Likewise.
35569 (png_mod_SOURCES): Likewise.
35570 (png_mod_CFLAGS): Likewise.
35571 (png_mod_LDFLAGS): Likewise.
35572
35573 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
35574 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
35575 (video_mod_SOURCES): Added.
35576 (video_mod_CFLAGS): Likewise.
35577 (video_mod_LDFLAGS): Likewise.
35578 (videotest_mod_SOURCES): Likewise.
35579 (videotest_mod_CFLAGS): Likewise.
35580 (videotest_mod_LDFLAGS): Likewise.
35581 (bitmap_mod_SOURCES): Likewise.
35582 (bitmap_mod_CFLAGS): Likewise.
35583 (bitmap_mod_LDFLAGS): Likewise.
35584 (tga_mod_SOURCES): Likewise.
35585 (tga_mod_CFLAGS): Likewise.
35586 (tga_mod_LDFLAGS): Likewise.
35587 (jpeg_mod_SOURCES): Likewise.
35588 (jpeg_mod_CFLAGS): Likewise.
35589 (jpeg_mod_LDFLAGS): Likewise.
35590 (png_mod_SOURCES): Likewise.
35591 (png_mod_CFLAGS): Likewise.
35592 (png_mod_LDFLAGS): Likewise.
35593 (gfxterm_mod_SOURCES): Likewise.
35594 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 35595 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 35596
35597 * term/gfxterm.c: Removed include to grub/machine/memory.h,
35598 grub/machine/console.h.
35599
644fff97 356002009-01-04 Jerone Young <jerone@gmail.com>
35601
35602 Make on screen instructions clearer
35603
35604 Based on patch created by Jidanni <jidanni@jidanni.org>
35605
35606 * normal/menu.c: print clearer instructions on the screen
35607
1e901a75 356082009-01-02 Colin D Bennett <colin@gibibit.com>
35609
35610 New font engine.
34c44600 35611
1e901a75 35612 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
35613 build system and fixed gfxterm.c to work with different sized fonts.
35614
35615 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 35616
1e901a75 35617 * configure: Re-generated.
34c44600 35618
1e901a75 35619 * DISTLIST: Removed font/manager.c.
35620 Added font/font.c.
35621 Added font/font_cmd.c.
34c44600 35622
1e901a75 35623 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
35624 compilation.
34c44600 35625
1e901a75 35626 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 35627
35628 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 35629
35630 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 35631
1e901a75 35632 * normal/menu.c: Likewise.
34c44600 35633
1e901a75 35634 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
35635 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 35636
1e901a75 35637 * include/grub/font.h: Replaced with new file.
34c44600 35638
1e901a75 35639 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
35640 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
35641 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
35642 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
35643 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 35644 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 35645 fg_red, fg_green, fg_blue, fg_alpha.
35646 (grub_video_adapter): Removed blit_glyph.
34c44600 35647 (grub_video_blit_glyph): Removed.
35648
1e901a75 35649 * font/manager.c: Removed file.
34c44600 35650
35651 * font/font.c: New file.
35652
1e901a75 35653 * font/font_cmd.c: Likewise.
34c44600 35654
1e901a75 35655 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 35656
1e901a75 35657 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
35658 (grub_video_vbe_map_rgba): Likewise.
35659 (grub_video_vbe_unmap_color_int): Likewise.
35660 (grub_video_vbe_blit_glyph): Removed.
35661 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 35662
1e901a75 35663 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
35664 (get_pixel): Likewise.
34c44600 35665 (set_pixel): Likewise.
35666
1e901a75 35667 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 35668
1e901a75 35669 * term/gfxterm.c: Adapted to new font engine.
34c44600 35670
1e901a75 35671 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 35672
1e901a75 35673 * term/i386/pc/vga.c: Likewise.
34c44600 35674
1e901a75 35675 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 35676
1e901a75 35677 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 35678
1e901a75 35679 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 35680
1e901a75 35681 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 35682
1e901a75 35683 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 35684
1e901a75 35685 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 35686
1e901a75 35687 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 35688
1e901a75 35689 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 35690
1e901a75 35691 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
35692
35693 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 35694
1e901a75 35695 * util/grub-mkconfig_lib.in: Changed font extension.
35696
278922e8 356972008-12-28 Felix Zielcke <fzielcke@z-51.de>
35698
35699 * util/getroot.c (grub_util_get_grub_dev): Add support for
35700 /dev/md/dNNpNN style partitionable mdraid devices.
35701
3ced05cf 357022008-12-12 Alex Smith <alex@alex-smith.me.uk>
35703
35704 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
35705 at a time limit of the PXE TFTP API correctly.
35706 (grub_pxefs_close): Likewise.
35707
7fd0ee30 357082008-11-29 Robert Millan <rmh@aybabtu.com>
35709
34c44600 35710 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 35711 grub_ata_device_initialize() calls.
35712
34c44600 357132008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 35714
35715 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
35716 iteration failed.
35717 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
35718
89313780 357192008-11-28 Robert Millan <rmh@aybabtu.com>
35720
35721 Fix build on powerpc-ieee1275. Based on patch created by
35722 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
35723 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35724 `kern/ieee1275/mmap.c'.
35725 * include/grub/powerpc/ieee1275/memory.h: New file.
35726
15257703 35727 Provide grub-install on coreboot.
35728 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
35729 (grub_install_SOURCES): New variable.
35730 * util/i386/pc/grub-install.in: Add a few condition checks to make it
35731 usable on coreboot.
35732
9fc5388a 357332008-11-25 Felix Zielcke <fzielcke@z-51.de>
35734
35735 * util/grub-fstest.c (grub_term_get_current_input): Change return type
35736 to `grub_term_input_t'.
35737 (grub_term_get_current_output): Change return type to
35738 `grub_term_output_t'.
35739
bc3a2f31 357402008-11-22 Robert Millan <rmh@aybabtu.com>
35741
34c44600 35742 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 35743 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
35744 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
35745 grub_vga_text_cls().
35746
80fc88f2 35747 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 35748 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 35749
cbf36fd3 35750 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
35751 to 0x200000 (avoids trouble with some OFW implementations, and matches
35752 with the one in Yaboot).
35753 Reported by Manoel Abranches
35754
73e8e268 357552008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 35756
35757 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
35758 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
35759
73e8e268 35760 * util/grub-mkconfig_lib.in (grub_warn): New function.
35761 (convert_system_path_to_grub_path): Use grub_warn() when issuing
35762 warnings, to obtain consistent formatting.
35763 * util/grub.d/00_header.in: Likewise.
35764 * util/update-grub_lib.in: Likewise.
35765
e94045a1 35766 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 35767 Move comment text to `#error' stanza.
e94045a1 35768
79d29fd7 35769 Harmonize ieee1275's grub_available_iterate() with the generic
35770 grub_machine_mmap_iterate() interface (fixes a recently-introduced
35771 build problem on i386-ieee1275):
35772 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
35773 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
35774 parameter `type'. Update all users of this function.
35775 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35776 `kern/ieee1275/mmap.c'.
35777 * kern/ieee1275/init.c
35778 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
35779 with ...
35780 (grub_machine_mmap_iterate): ... this.
35781 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
35782 return type to `grub_err_t'. Update all implementations of this
35783 function prototype.
35784 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
35785 Likewise.
35786
60d6b16e 35787 Add `lsmmap' command (lists firmware-provided memory map):
35788 * commands/lsmmap.c: New file.
35789 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
35790 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
35791 variables.
35792 * conf/powerpc-ieee1275.rmk: Likewise.
35793 * conf/i386-coreboot.rmk: Likewise.
35794 * conf/i386-ieee1275.rmk: Likewise.
35795
ebaaf49b 357962008-11-19 Robert Millan <rmh@aybabtu.com>
35797
35798 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 35799 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
35800 constraints to initrd allocation (based on code from
35801 loader/i386/pc/linux.c). Without them, initrd was allocated too high
35802 for Linux to find it.
ebaaf49b 35803
dfab719f 358042008-11-14 Robert Millan <rmh@aybabtu.com>
35805
35806 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
35807 order to cope with duplicate slashes.
35808
10fc3eb9 358092008-11-14 Robert Millan <rmh@aybabtu.com>
35810
35811 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
35812 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
35813 don't want to mess with lower memory, because it is used in the Linux
35814 loader.
35815
35816 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 35817 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 35818 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
35819 is in our heap (probably as a result of it being corrupted during
2f2a3442 35820 decompression). Add #error instance with comment to explain why this
35821 loader isn't currently usable on PC/BIOS.
10fc3eb9 35822
e2e07847 358232008-11-14 Robert Millan <rmh@aybabtu.com>
35824
35825 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 35826 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 35827
fe8e8d69 358282008-11-12 Robert Millan <rmh@aybabtu.com>
35829
35830 Make loader/i386/linux.c buildable on i386-pc (although disabled).
35831
35832 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
35833 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
35834 from here ...
35835 * include/grub/i386/pc/memory.h: ... to here.
35836
976b07d0 358372008-11-12 Robert Millan <rmh@aybabtu.com>
35838
35839 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
35840 split).
35841
35842 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
35843 (grub_console_cur_color, grub_console_real_putchar)
35844 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35845 (grub_console_setcolorstate, grub_console_setcolor)
35846 (grub_console_getcolor): Move from here ...
35847 * include/grub/i386/vga_common.h: ... to here (new file).
35848
35849 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
35850 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
35851 `<grub/i386/io.h>'.
35852 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
35853 `<grub/i386/vga_common.h>'.
35854
76679cd3 358552008-11-12 Robert Millan <rmh@aybabtu.com>
35856
35857 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
35858 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
35859 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
35860 variables.
35861 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
35862 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
35863
35864 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
35865 grub_console_init() with call to grub_vga_text_init().
35866 (grub_machine_fini): Replace call to
35867 grub_console_fini() with call to grub_vga_text_fini() and
35868 grub_at_keyboard_fini().
35869
35870 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
35871 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35872 (grub_console_setcolorstate, grub_console_setcolor)
35873 (grub_console_getcolor): New function prototypes.
35874
35875 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
35876 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
35877 (grub_vga_text_setcursor): Static-ize.
35878 (grub_vga_text_term): New structure.
35879 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
35880
35881 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
35882 (grub_console_cur_color, grub_console_standard_color)
35883 (grub_console_normal_color, grub_console_highlight_color)
35884 (map_char, grub_console_putchar, grub_console_getcharwidth)
35885 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
35886 (grub_console_getcolor): Move from here ...
35887 * term/i386/vga_common.c: ... to here (same function names).
35888
95b841d3 358892008-11-12 Robert Millan <rmh@aybabtu.com>
35890
35891 Use newly-added Multiboot support in coreboot.
35892
35893 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
35894 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
35895
35896 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
35897 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
35898 (codestart): Store the MBI in `startup_multiboot_info' when we're
35899 being loaded using Multiboot.
35900
35901 * kern/i386/coreboot/init.c (grub_machine_init): Move
35902 grub_at_keyboard_init() call to beginning of function (useful for
35903 debugging). Call grub_machine_mmap_init() before attempting to use
35904 grub_machine_mmap_iterate().
35905 (grub_lower_mem, grub_upper_mem): Move from here ...
35906 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
35907 here (new file).
35908
35909 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
35910 function prototype.
35911
761ca975 359122008-11-12 Robert Millan <rmh@aybabtu.com>
35913
35914 Fix a regression introduced by the at_keyboard.mod split. Because
35915 some terminals are default on some platforms and non-default on
35916 others, the first terminal being registered determines which is
35917 going to be default.
35918
35919 * kern/term.c (grub_term_register_input): If this is the first
35920 terminal being registered, set it as the current one.
35921 (grub_term_register_output): Likewise.
35922
35923 * term/efi/console.c (grub_console_init): Do not call
35924 grub_term_set_current_output() or grub_term_set_current_input().
35925 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
35926 * term/i386/pc/console.c (grub_console_init): Likewise.
35927 (grub_console_fini): Do not call grub_term_set_current_input()
35928 (but leave grub_term_set_current_output() to restore text mode).
35929
6c529df7 359302008-11-10 Robert Millan <rmh@aybabtu.com>
35931
35932 * util/grub.d/00_header.in: Add backward compatibility check for
35933 versions of terminal.mod that don't understand `terminal_input' or
35934 `terminal_output'.
35935
132e4113 359362008-11-09 Robert Millan <rmh@aybabtu.com>
35937
35938 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
35939 `terminal_input' / `terminal_output', not `terminal'.
35940
ac293d50 359412008-11-08 Robert Millan <rmh@aybabtu.com>
35942
35943 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 35944 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 35945
0025933a 359462008-11-08 Robert Millan <rmh@aybabtu.com>
35947
35948 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 35949 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 35950 members. Update all users.
35951 * util/console.c (grub_ncurses_term): Split in ...
35952 (grub_ncurses_term_input): ... this, and ...
35953 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 35954 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 35955
37c86336 359562008-11-08 Robert Millan <rmh@aybabtu.com>
35957
35958 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
35959 (PKGDATA): Add $(pkgdata_SRCDIR).
35960 (pkglib_BUILDDIR): New variable.
35961 (pkgdata_SRCDIR): New variable.
35962 (build_env.mk): New target.
35963 (include_DATA): New variable.
35964 (install-local): Install $(include_DATA) files in $(includedir).
35965
b6c15a2d 359662008-11-07 Pavel Roskin <proski@gnu.org>
35967
d99d46f1 35968 * gendistlist.sh: Use C locale for sorting to ensure consistent
35969 output on all systems.
35970
b6c15a2d 35971 * util/grub.d/00_header.in: Remove incorrect space before
35972 "serial".
35973
c32ee8c9 359742008-11-07 Robert Millan <rmh@aybabtu.com>
35975
35976 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
35977 per specification.
35978 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
35979 * loader/multiboot_loader.c (find_multi_boot2_header): New function
35980 (based on find_multi_boot1_header).
35981 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
35982 using find_multi_boot2_header(), and abort if neither Multiboot or
35983 Multiboot headers were found.
35984
651c29b7 359852008-11-07 Robert Millan <rmh@aybabtu.com>
35986
35987 Modularize at_keyboard.mod:
35988
35989 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
35990 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
35991 (at_keyboard_mod_LDFLAGS): New variables.
35992
35993 Actual terminal split:
35994
35995 * include/grub/term.h (struct grub_term): Split in ...
35996 (struct grub_term_input): ... this, and ...
35997 (struct grub_term_output): ... this. Update all users.
35998 (grub_term_set_current): Split in ...
35999 (grub_term_set_current_input): ... this, and ...
36000 (grub_term_set_current_output): ... this.
36001 (grub_term_get_current): Split in ...
36002 (grub_term_get_current_input): ... this, and ...
36003 (grub_term_get_current_output): ... this.
36004 (grub_term_register): Split in ...
36005 (grub_term_register_input): ... this, and ...
36006 (grub_term_register_output): ... this.
36007 (grub_term_unregister): Split in ...
36008 (grub_term_unregister_input): ... this, and ...
36009 (grub_term_unregister_output): ... this.
36010 (grub_term_iterate): Split in ...
36011 (grub_term_iterate_input): ... this, and ...
36012 (grub_term_iterate_output): ... this.
36013
36014 * kern/term.c (grub_term_list): Split in ...
36015 (grub_term_list_input): ... this, and ...
36016 (grub_term_list_output): ... this. Update all users.
36017 (grub_cur_term): Split in ...
36018 (grub_cur_term_input): ... this, and ...
36019 (grub_cur_term_output): ... this. Update all users.
36020 (grub_term_set_current): Split in ...
36021 (grub_term_set_current_input): ... this, and ...
36022 (grub_term_set_current_output): ... this.
36023 (grub_term_get_current): Split in ...
36024 (grub_term_get_current_input): ... this, and ...
36025 (grub_term_get_current_output): ... this.
36026 (grub_term_register): Split in ...
36027 (grub_term_register_input): ... this, and ...
36028 (grub_term_register_output): ... this.
36029 (grub_term_unregister): Split in ...
36030 (grub_term_unregister_input): ... this, and ...
36031 (grub_term_unregister_output): ... this.
36032 (grub_term_iterate): Split in ...
36033 (grub_term_iterate_input): ... this, and ...
36034 (grub_term_iterate_output): ... this.
36035
36036 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
36037 a check for input and one for output (and only attempt to get keys
36038 from user when input works).
36039
36040 * util/grub-probe.c (grub_term_get_current): Split in ...
36041 (grub_term_get_current_input): ... this, and ...
36042 (grub_term_get_current_output): ... this.
36043 * util/grub-fstest.c: Likewise.
36044 * util/i386/pc/grub-setup.c: Likewise.
36045 * util/grub-editenv.c: Likewise.
36046
36047 Portability adjustments:
36048
36049 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
36050 `term/i386/pc/at_keyboard.c'.
36051 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
36052 grub_keyboard_controller_init() (now handled by terminal .init).
36053 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
36054 grub_at_keyboard_init().
36055 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
36056 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
36057 at_keyboard.mod via input terminal interface).
36058 * include/grub/i386/coreboot/console.h: Convert into a stub for
36059 `<grub/i386/pc/console.h>'.
36060
36061 Migrate full terminals to new API:
36062
36063 * term/efi/console.c (grub_console_term): Split into ...
36064 (grub_console_term_input): ... this, and ...
36065 (grub_console_term_output): ... this. Update all users.
36066 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
36067 (grub_ofconsole_init): Split into ...
36068 (grub_ofconsole_init_input): ... this, and ...
36069 (grub_ofconsole_init_output): ... this.
36070 (grub_ofconsole_term): Split into ...
36071 (grub_ofconsole_term_input): ... this, and ...
36072 (grub_ofconsole_term_output): ... this. Update all users.
36073 * term/i386/pc/serial.c (grub_serial_term): Split into ...
36074 (grub_serial_term_input): ... this, and ...
36075 (grub_serial_term_output): ... this. Update all users.
36076 * term/i386/pc/console.c (grub_console_term): Split into ...
36077 (grub_console_term_input): ... this, and ...
36078 (grub_console_term_output): ... this. Update all users.
36079 (grub_console_term_input): Only enable it on PC/BIOS platform.
36080 (grub_console_init): Remove grub_keyboard_controller_init() call.
36081
36082 Migrate input terminals to new API:
36083
36084 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
36085 `i386' and `i386/pc' to enable build on x86_64 (this driver is
36086 i386-specific anyway).
36087 (grub_console_checkkey): Rename to ...
36088 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
36089 users.
36090 (grub_keyboard_controller_orig): New variable.
36091 (grub_console_getkey): Rename to ...
36092 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
36093 users.
36094 (grub_keyboard_controller_init): Static-ize. Save original
36095 controller value so that it can be restored ...
36096 (grub_keyboard_controller_fini): ... here (new function).
36097 (grub_at_keyboard_term): New structure.
36098 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
36099 functions.
36100
36101 Migrate output terminals to new API:
36102
36103 * term/i386/pc/vga.c (grub_vga_term): Change type to
36104 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36105 members. Update all users.
36106 * term/gfxterm.c (grub_video_term): Change type to
36107 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36108 members. Update all users.
36109 * include/grub/i386/pc/console.h (grub_console_checkkey)
36110 (grub_console_getkey): Do not export (no longer needed by gfxterm,
36111 etc).
36112
36113 Migrate `terminal' command and userland tools to new API:
36114
36115 * commands/terminal.c (grub_cmd_terminal): Split into ...
36116 (grub_cmd_terminal_input): ... this, and ...
36117 (grub_cmd_terminal_output): ... this.
36118 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
36119 `terminal_input' and `terminal_output'.
36120 * util/grub.d/00_header.in: Adjust `terminal' calls to new
36121 `terminal_input' / `terminal_output' API.
36122 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
36123 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
36124 provided ${GRUB_TERMINAL}, convert it).
36125
96e5d876 361262008-11-04 Robert Millan <rmh@aybabtu.com>
36127
36128 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
36129 for FreeBSD.
36130 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
36131
556f3775 361322008-11-03 Bean <bean123ch@gmail.com>
36133
36134 * kern/elf.c (grub_elf32_load): Revert to previous code.
36135 (grub_elf64_load): Likewise.
36136
36137 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
36138
926b9823 361392008-11-01 Robert Millan <rmh@aybabtu.com>
36140
36141 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
36142 (TARGET_CPPFLAGS): Likewise.
36143 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
36144
1432e958 361452008-11-01 Carles Pina i Estany <carles@pina.cat>
36146
36147 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
36148
dba3f844 361492008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 36150
36151 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
36152 addition of objects until the code is not going to be able to fail.
36153
dba3f844 361542008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 36155
36156 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
36157 (add a missing NULL check, and correct them by moving the pointer
36158 operations after the actual check).
36159
7ab28c21 361602008-10-29 Robert Millan <rmh@aybabtu.com>
36161
36162 * util/i386/pc/grub-install.in: Handle empty string as output from
36163 make_system_path_relative_to_its_root().
36164
1b7748eb 361652008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
36166
36167 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
36168 circular metadata worst case scenario. If the metadata is circular
36169 then copy the wrap in place.
36170 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
36171 project lib/format_text/layout.h
36172 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
36173
c9618ab2 361742008-10-03 Felix Zielcke <fzielcke@z-51.de>
36175
7a36edca 36176 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 36177
bf981c62 361782008-10-03 Felix Zielcke <fzielcke@z-51.de>
36179
36180 * util/update-grub_lib.in: Mention filename in warning message.
36181
6d994591 361822008-09-29 Felix Zielcke <fzielcke@z-51.de>
36183
36184 * NEWS: Update for rename of update-grub to grub-mkconfig.
36185
18ade780 361862008-09-29 Felix Zielcke <fzielcke@z-51.de>
36187
36188 * util/update-grub_lib.in: Copy to ...
36189 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 36190 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 36191 * util/update-grub.in: Rename to ...
36192 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
36193 option. Add `--output' option to allow users to specify the generated
36194 configuration file. Default to stdout.
36195 (update_grub_dir): Rename to ...
36196 (grub_mkconfig_dir): ... this.
36197 (grub_cfg): Default to an empty string.
36198 * conf/common.rmk (update-grub): Rename to ...
36199 (grub-mkconfig): ... this.
36200 (update-grub_lib): Copy to ...
36201 (grub-mkconfig_lib): ... this.
36202 (update-grub_SCRIPTS): Copy to ...
36203 (grub-mkconfig_SCRIPTS): ... this. Update all users.
36204 (update-grub_DATA): Rename to ...
36205 (grub-mkconfig_DATA): ... this.
36206
556ce6ac 362072008-09-28 Robert Millan <rmh@aybabtu.com>
36208
36209 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
36210 to `modified'. Add the real `created' field.
36211 (grub_iso9660_uuid): Use `modified' rather than `created' for
36212 constructing the UUID.
36213
362142008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 36215
36216 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
36217 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
36218
92274e85 362192008-09-28 Bean <bean123ch@gmail.com>
36220
36221 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
36222 Thanks to Christian Franke for finding this bug.
36223
add6f17a 362242008-09-25 Robert Millan <rmh@aybabtu.com>
36225
36226 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
36227 instances of grub_util_get_disk_name() (see previous commit).
36228
d2a367b8 362292008-09-25 Robert Millan <rmh@aybabtu.com>
36230
36231 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
36232 `util/i386/get_disk_name.c'.
36233 * conf/i386-efi.rmk: Likewise.
36234 * conf/x86_64-efi.rmk: Likewise.
36235 * conf/i386-coreboot.rmk: Likewise.
36236 * conf/i386-ieee1275.rmk: Likewise.
36237 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
36238 `util/ieee1275/get_disk_name.c'.
36239 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
36240 * util/ieee1275/get_disk_name.c: Remove file.
36241 * util/i386/get_disk_name.c: Remove file.
36242 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
36243 "hd%d" for device.map entries, rather than using
36244 grub_util_get_disk_name().
36245
81a06771 362462008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 36247
36248 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
36249 warning.
36250 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
36251
5a004279 362522008-09-24 Carles Pina i Estany <carles@pina.cat>
36253
36254 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
36255 Changed to 0x5100.
36256 (GRUB_TERM_PPAGE): Changed to 0x4900.
36257
397093d3 362582008-09-24 Robert Millan <rmh@aybabtu.com>
36259
36260 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
36261 macros (they were i386-pc specific).
36262 * include/grub/sparc64/ieee1275/console.h: Likewise.
36263 * include/grub/efi/console.h: Likewise.
36264
a91b6c7c 362652008-09-22 Bean <bean123ch@gmail.com>
36266
36267 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
36268 resident and in attribute list.
36269
36270 * include/grub/ntfs.h (BMP_LEN): Removed.
36271
c40fd116 362722008-09-22 Bean <bean123ch@gmail.com>
36273
81a06771 36274 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 36275 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
36276
36277 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
36278 error occurs, as grub_disk_open will call grub_disk_close, which will
36279 call p->close (scsi).
36280
81a06771 362812008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 36282
36283 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
36284 (AC_PREREQ): Bumped to 2.59.
36285 (AC_TRY_COMPILE): Replace obsolete macro with ...
36286 (AC_COMPILE_IFELSE): ... this.
36287 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
36288 (AC_LINK_IFELSE): ... this.
36289
5dc43410 362902008-09-21 Felix Zielcke <fzielcke@z-51.de>
36291
36292 * autogen.sh: Add a call to `gendistlist.sh'.
36293
9035dce4 362942008-09-19 Christian Franke <franke@computer.org>
36295
36296 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
36297 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
36298 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
36299 Export __enable_execute_stack() to modules.
36300 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
36301 New function.
36302
7fd75377 363032008-09-09 Felix Zielcke <fzielcke@z-51.de>
36304
040030b3 36305 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
36306 Sort the list.
36307
363082008-09-09 Felix Zielcke <fzielcke@z-51.de>
36309
36310 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 36311 #include <grub/util/hostdisk.h>.
36312
89d5ffcf 363132008-09-08 Robert Millan <rmh@aybabtu.com>
36314
36315 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
36316 segments when their filesz is zero (grub_file_read() interprets
81a06771 36317 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 36318 Use `lowest_segment' rather than 0 for calculating the current
36319 segment load address.
36320
40da438f 363212008-09-08 Robert Millan <rmh@aybabtu.com>
36322
36323 * util/hostdisk.c (open_device): Replace a grub_util_info() call
36324 with grub_dprintf("hostdisk", ...), as it was so verbose that it
36325 clobbered useful information.
36326
ddbf5556 363272008-09-08 Robert Millan <rmh@aybabtu.com>
36328
36329 * include/grub/util/biosdisk.h: Move to ...
36330 * include/grub/util/hostdisk.h: ... here. Update all users.
36331 * util/biosdisk.c: Move to ...
36332 * util/hostdisk.c: ... here. Update all users.
36333
783d0f48 363342008-09-07 Robert Millan <rmh@aybabtu.com>
36335
36336 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
36337 variables.
36338 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
36339 and length can be stored directly in the `mbi->mmap_addr' and
36340 `mbi->mmap_length' struct fields.
36341
548e2ea5 363422008-09-07 Robert Millan <rmh@aybabtu.com>
36343
36344 * conf/i386.rmk: New file. Provides declaration for building
36345 `cpuid.mod'.
36346 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
36347 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
36348 variables.
36349 Include `conf/i386.mk'.
36350 * conf/i386-efi.rmk: Likewise.
36351 * conf/x86_64-efi.rmk: Likewise.
36352 * conf/i386-coreboot.rmk: Likewise.
36353 * conf/i386-ieee1275.rmk: Likewise.
36354
0ea85a37 363552008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
36356
36357 Based on patch created by Colin D Bennett <colin@gibibit.com>.
36358 Adds optimization support for BGR based modes.
36359
36360 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
36361 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
36362 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36363 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36364 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36365 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36366 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36367 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36368 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36369 (grub_video_i386_vbeblit_index_index): Likewise.
36370 (grub_video_i386_vbeblit_replace_directN): Added.
36371 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
36372 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
36373 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
36374 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
36375 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
36376 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 36377 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 36378 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
36379 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
36380 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
36381 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
36382 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
36383 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
36384
36385 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
36386 (grub_video_i386_vbefill_R8G8B8): Likewise.
36387 (grub_video_i386_vbefill_index): Likewise.
36388 (grub_video_i386_vbefill_direct32): Added.
36389 (grub_video_i386_vbefill_direct24): Likewise.
36390 (grub_video_i386_vbefill_direct16): Likewise.
36391 (grub_video_i386_vbefill_direct8): Likewise.
36392
81a06771 36393 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 36394 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
36395 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
36396 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
36397 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
36398 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 36399
0ea85a37 36400 * video/video.c (grub_video_get_blit_format): Updated to use new
36401 blit formats. Added handling for 16 bit color modes.
81a06771 36402
36403 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 36404 fillers.
36405 (common_blitter): Updated to use new blitters.
36406
36407 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
36408 Removed.
36409 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
36410 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36411 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36412 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36413 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36414 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36415 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36416 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36417 (grub_video_i386_vbeblit_index_index): Likewise.
36418 (grub_video_i386_vbeblit_replace_directN): Added.
36419 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
36420 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
36421 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
36422 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
36423 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
36424 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
36425 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
36426 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
36427 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
36428 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
36429 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
36430 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
36431 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 36432
0ea85a37 36433 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
36434 (grub_video_i386_vbefill_R8G8B8): Likewise.
36435 (grub_video_i386_vbefill_index): Likewise.
36436 (grub_video_i386_vbefill_direct32): Added.
36437 (grub_video_i386_vbefill_direct24): Likewise.
36438 (grub_video_i386_vbefill_direct16): Likewise.
36439 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 36440
0ea85a37 36441 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
36442 types.
81a06771 36443
0ea85a37 36444 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
36445 types.
81a06771 36446
0ea85a37 36447 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
36448 blitter types.
81a06771 36449
0ea85a37 36450 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
36451 types.
36452
e8a83df6 364532008-09-06 Felix Zielcke <fzielcke@z-51.de>
36454
36455 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
36456 RAID level 1.
36457
6bcd8ee5 364582008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 36459
6bcd8ee5 36460 * fs/iso9660.c (grub_iso9660_date): New structure.
36461 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
36462 (grub_iso9660_uuid): New function.
c375ae58 36463
59261157 364642008-09-05 Bean <bean123ch@gmail.com>
36465
36466 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
36467
36468 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
36469 insensitive bit for names in Win32 and Win32 & DOS namespace.
36470
36471 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
36472
36473 * include/grub/types.h (LONG_MAX): Likewise.
36474
58b6645a 364752008-09-04 Felix Zielcke <fzielcke@z-51.de>
36476
4ee55921 36477 * util/getroot.c: Include <config.h>.
36478 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
36479 add support for /dev/md/N devices and handle LVM double dash escaping.
36480
364812008-09-04 Felix Zielcke <fzielcke@z-51.de>
36482
36483 * config.guess: Update to latest version from config git.
36484 * config.sub: Likewise.
58b6645a 36485
9124f65d 364862008-09-03 Robert Millan <rmh@aybabtu.com>
36487
36488 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
36489 `disk->total_sectors'.
36490
81a06771 364912008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 36492
36493 * include/grub/normal.h: Fixed incorrect comment for
36494 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
36495
81a06771 364962008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 36497
36498 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
36499 values with defines.
36500
36501 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
36502 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
36503 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
36504 (GRUB_VBE_MODEATTR_COLOR): Likewise.
36505 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
36506 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
36507 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
36508 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
36509 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
36510 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
36511 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
36512 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
36513 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
36514 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
36515 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
36516 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
36517 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
36518 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
36519 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
36520
93d5cbf8 365212008-08-31 Robert Millan <rmh@aybabtu.com>
36522
36523 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
36524 declaration.
36525 (grub_multiboot): Fix a few warnings.
36526
21751d50 365272008-08-31 Robert Millan <rmh@aybabtu.com>
36528
36529 * loader/i386/pc/multiboot.c: Update comment not to say that
36530 boot_device support is unimplemented.
36531
e27a75c5 365322008-08-31 Robert Millan <rmh@aybabtu.com>
36533
36534 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
36535 or memory map support are unimplemented.
36536
81a06771 365372008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 36538
36539 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
36540
81a06771 365412008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 36542
36543 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
36544 total video memory in 'vbeinfo' output; show color format details for
36545 each video mode.
36546
7c5d8d95 365472008-08-30 Pavel Roskin <proski@gnu.org>
36548
36549 * util/genmoddep.c: Remove for real this time.
36550 * DISTLIST: Remove util/genmoddep.c.
36551
4cebd25a 365522008-08-30 Robert Millan <rmh@aybabtu.com>
36553
36554 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
36555 as required by Multiboot spec (it was already 4-byte aligned, but
36556 only by chance).
36557
b497a269 365582008-08-29 Pavel Roskin <proski@gnu.org>
36559
e3925185 36560 * kern/powerpc/ieee1275/crt0.S: Rename to ...
36561 * kern/powerpc/ieee1275/startup.S: ... this.
36562 * conf/powerpc-ieee1275.rmk: Adjust for the above.
36563 * DISTLIST: Likewise.
36564
b497a269 36565 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
36566 grub/cpu/kernel.h. Add start label for consistency with other
36567 platforms. Add grub_prefix immediately after start. Add jump
36568 to the code after grub_prefix.
36569 * include/grub/powerpc/kernel.h: Provide valid values for
36570 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
36571
6e5a42fe 365722008-08-29 Bean <bean123ch@gmail.com>
36573
36574 * configure.ac: Change host_os to cygwin for mingw.
36575 (asprintf): New check for function.
36576
36577 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
36578 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
36579
36580 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 36581 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 36582 sync, sleep and grub_util_get_disk_size for mingw.
36583
36584 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
36585 to get size in mingw.
36586 (open_device): Use flag O_BINARY if it's defined.
36587 (find_root_device): Add dummy code for mingw.
36588
36589 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
36590 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
36591 (get_scsi_disk_name): Return 0 for mingw.
36592
36593 * util/hostfs.c: #include <grub/util/misc.h>.
36594 (grub_hostfs_open): Use "rb" flag to open file, use
36595 grub_util_get_disk_size to get disk size for mingw.
36596
36597 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
36598 (asprintf): New function if HAVE_ASPRINTF is not set.
36599 (sync): New function for mingw.
36600 (sleep): Likewise.
36601 (grub_util_get_disk_size): Likewise.
36602
ab3f2673 366032008-08-28 Pavel Roskin <proski@gnu.org>
36604
36605 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36606 kern/time.c.
36607
1c282483 366082008-08-28 Robert Millan <rmh@aybabtu.com>
36609
36610 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
36611
678e849c 366122008-08-28 Robert Millan <rmh@aybabtu.com>
36613
36614 Change find_grub_drive() syntax so it doesn't prevent it from
36615 detecting NULL names as errors.
36616
36617 * util/biosdisk.c (find_grub_drive): Move free slot search code
36618 from here ...
36619 (find_free_slot): ... to here.
36620 (read_device_map): Use find_free_slot() to search for free slots.
36621
965c75ca 366222008-08-27 Marco Gerards <marco@gnu.org>
36623
36624 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
36625 (scsi_mod_SOURCES): New variable.
36626 (scsi_mod_CFLAGS): Likewise
36627 (scsi_mod_LDFLAGS): Likewise.
36628
36629 * disk/scsi.c: New file.
36630
36631 * include/grub/scsi.h: Likewise.
36632
36633 * include/grub/scsicmd.h: Likewise.
36634
36635 * disk/ata.c: Include <grub/scsi.h>.
36636 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
36637 instead.
36638 (grub_ata_iterate): Skip ATAPI devices.
36639 (grub_ata_open): Only handle ATAPI devices.
36640 (struct grub_atapi_read): Removed.
36641 (grub_atapi_readsector): Likewise.
36642 (grub_ata_read): No longer handle ATAPI devices.
36643 (grub_ata_write): Likewise.
36644 (grub_atapi_iterate): New function.
36645 (grub_atapi_read): Likewise.
36646 (grub_atapi_write): Likewise.
36647 (grub_atapi_open): Likewise.
36648 (grub_atapi_close): Likewise.
36649 (grub_atapi_dev): New variable.
36650 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
36651 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
36652
36653 * include/grub/disk.h (enum grub_disk_dev_id): Add
36654 `GRUB_DISK_DEVICE_SCSI_ID'.
36655
c07ae501 366562008-08-26 Robert Millan <rmh@aybabtu.com>
36657
36658 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
36659 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
36660 descriptive.
36661
5ed20adc 366622008-08-23 Bean <bean123ch@gmail.com>
36663
36664 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
36665 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
36666 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
36667 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
36668 dm_nv.mod.
36669 (raid5rec_mod_SOURCES): New macro.
36670 (raid5rec_mod_CFLAGS): Likewise.
36671 (raid5rec_mod_LDFLAGS): Likewise.
36672 (raid6rec_mod_SOURCES): Likewise.
36673 (raid6rec_mod_CFLAGS): Likewise.
36674 (raid6rec_mod_LDFLAGS): Likewise.
36675 (mdraid_mod_SOURCES): Likewise.
36676 (mdraid_mod_CFLAGS): Likewise.
36677 (mdraid_mod_LDFLAGS): Likewise.
36678 (dm_nv_mod_SOURCES): Likewise.
36679 (dm_nv_mod_CFLAGS): Likewise.
36680 (dm_nv_mod_LDFLAGS): Likewise.
36681
36682 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
36683 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
36684 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
36685
36686 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
36687 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
36688
36689 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36690
36691 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36692
36693 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36694
36695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36696
36697 * disk/raid5_recover.c: New file.
36698
36699 * disk/raid6_recover.c: Likewise.
36700
36701 * disk/mdraid_linux.c: Likewise.
36702
36703 * disk/dmraid_nvidia.c: Likewise.
36704
36705 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
36706 ULONG_MAX.
36707
36708 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
36709 calculate the size of raid device.
36710 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
36711 different layout of raid5.
36712 (grub_raid_scan_device): Remove code specific to mdraid.
36713 (grub_raid_list): New variable.
36714 (free_array): New function.
36715 (grub_raid_register): Likewise.
36716 (grub_raid_unregister): Likewise.
36717 (grub_raid_rescan): Likewise.
36718 (GRUB_MOD_INIT): Don't iterate device here.
36719 (GRUB_MOD_FINI): Use free_array to release resource.
36720
36721 * include/grub/raid.h: Remove macro and structure specific to mdraid.
36722 (grub_raid5_recover_func_t): New function variable type.
36723 (grub_raid6_recover_func_t): Likewise.
36724 (grub_raid5_recover_func): New variable.
36725 (grub_raid6_recover_func): Likewise.
36726 (grub_raid_register): New function.
36727 (grub_raid_unregister): Likewise.
36728 (grub_raid_rescan): Likewise.
36729 (grub_raid_block_xor): Likewise.
36730
36731 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
36732 (CMD_CRC): New macro.
36733 (part): Removed.
36734 (read_file): Handle device as well as file.
36735 (cmd_crc): New function.
36736 (fstest): Handle multiple disks.
36737 (options): Remove part, raw and long, add root and diskcount.
36738 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 36739 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 36740 add handling for the new options, support multiple disks.
36741
36742 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
36743
29c18915 367442008-08-23 Bean <bean123ch@gmail.com>
36745
36746 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
36747
36748 * genfslist.sh: Ignore kernel.mod.
36749
36750 * genpartmaplist.sh: Likewise.
36751
8415f261 367522008-08-23 Robert Millan <rmh@aybabtu.com>
36753
36754 * util/getroot.c (find_root_device): Skip anything that starts with
36755 a dot, not just directories. This avoids things like /dev/.tmp.md0.
36756
d5a7dc5b 367572008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 36758
d5a7dc5b 36759 * util/update-grub.in (GRUB_GFXMODE): Export variable.
36760 * util/grub.d/00_header.in: Allow the administrator to change default
36761 gfxmode via ${GRUB_GFXMODE}.
36762
380cfbb4 367632008-08-21 Felix Zielcke <fzielcke@z-51.de>
36764
36765 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
36766
c9baafe7 367672008-08-21 Robert Millan <rmh@aybabtu.com>
36768
36769 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
36770 loader.
36771 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
36772 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
36773
e290bef2 367742008-08-20 Carles Pina i Estany <carles@pina.cat>
36775
36776 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
36777 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
36778
f9dbfc96 367792008-08-19 Robert Millan <rmh@aybabtu.com>
36780
36781 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
36782 (struct grub_virtual_screen): Remove `cursor_color'.
36783 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
36784 initialization.
36785 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
36786
dd6bd6ab 367872008-08-18 Robert Millan <rmh@aybabtu.com>
36788
36789 Unify (identical) linux_normal.c files.
36790 * loader/i386/efi/linux_normal.c: Move from here ...
36791 * loader/linux_normal.c: ... to here. Update all users.
36792 * loader/i386/pc/linux_normal.c: Delete. Update all users.
36793 * loader/i386/ieee1275/linux_normal.c: Likewise.
36794
7f42f83e 367952008-08-18 Robert Millan <rmh@aybabtu.com>
36796
36797 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
36798 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
36799 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
36800 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
36801 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
36802 New macros.
36803 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
36804 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
36805 (GRUB_LINUX_CL_END_OFFSET): ... to here.
36806 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
36807 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
36808 (GRUB_EFI_CL_END_OFFSET): Rename to ...
36809 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
36810 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
36811 Initialize `params->video_cursor_x' and `params->video_cursor_y'
36812 portably using grub_getxy().
36813 Replace `-EFI' with `-bzImage' in boot message.
36814
38487ddb 368152008-08-17 Robert Millan <rmh@aybabtu.com>
36816
36817 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
36818
deceb3ec 368192008-08-17 Robert Millan <rmh@aybabtu.com>
36820
36821 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
36822
36823 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
36824 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
36825 (grub_machine_mmap_iterate): New function declaration.
36826 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
36827 structure.
36828 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
36829 macros.
36830
36831 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
36832 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
36833 Move e820 parsing from here ...
36834 * kern/i386/pc/mmap.c: New file.
36835 (grub_machine_mmap_iterate): ... to here.
36836
36837 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
36838 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
36839 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
36840 (grub_available_iterate): Redeclare to return `void', and redeclare
36841 its hook to use grub_uint64_t as addr and size parameters, and rename
36842 to ...
36843 (grub_machine_mmap_iterate): ... this. Update all users.
36844
36845 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
36846 to make it more readable. Rename to ...
36847 (grub_machine_mmap_iterate): ... this.
36848
36849 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
36850 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
36851 (grub_multiboot): Allocate an extra region after the payload, and fill
36852 it with a Multiboot memory map. Adjust a.out loader to calculate size
36853 with the extra space.
36854 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
36855 with the extra space.
36856
f8aa0f43 368572008-08-17 Carles Pina i Estany <carles@pina.cat>
36858
9807deb9 36859 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 36860
605f5bb6 368612008-08-17 Felix Zielcke <fzielcke@z-51.de>
36862
36863 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
36864 mdate-sh to the list `find' searches for.
36865 * DISTLIST: Regenerated.
36866
210db6c6 368672008-08-16 Felix Zielcke <fzielcke@z-51.de>
36868
36869 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
36870 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 36871 genmoddep.awk, gensymlist.sh.in.
36872 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 36873 * DISTLIST: Regenerated.
48cdbfd4 36874 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 36875
1082b929 368762008-08-16 Robert Millan <rmh@aybabtu.com>
36877
36878 * disk/raid.c (grub_raid_init): Handle/report errors set by
36879 grub_device_iterate().
36880 * disk/lvm.c (grub_lvm_init): Likewise.
36881
42ce5170 368822008-08-15 Bean <bean123ch@gmail.com>
36883
36884 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36885 and datehook.mod.
36886 (datetime_mod_SOURCES): New macro.
36887 (datetime_mod_CFLAGS): Likewise.
36888 (datetime_mod_LDFLAGS): Likewise.
36889 (date_mod_SOURCES): Likewise.
36890 (date_mod_CFLAGS): Likewise.
36891 (date_mod_LDFLAGS): Likewise.
36892 (datehook_mod_SOURCES): Likewise.
36893 (datehook_mod_CFLAGS): Likewise.
36894 (datehook_mod_LDFLAGS): Likewise.
36895
36896 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36897 and datehook.mod.
36898 (datetime_mod_SOURCES): New macro.
36899 (datetime_mod_CFLAGS): Likewise.
36900 (datetime_mod_LDFLAGS): Likewise.
36901 (date_mod_SOURCES): Likewise.
36902 (date_mod_CFLAGS): Likewise.
36903 (date_mod_LDFLAGS): Likewise.
36904 (datehook_mod_SOURCES): Likewise.
36905 (datehook_mod_CFLAGS): Likewise.
36906 (datehook_mod_LDFLAGS): Likewise.
36907
36908 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36909 and datehook.mod.
36910 (datetime_mod_SOURCES): New macro.
36911 (datetime_mod_CFLAGS): Likewise.
36912 (datetime_mod_LDFLAGS): Likewise.
36913 (date_mod_SOURCES): Likewise.
36914 (date_mod_CFLAGS): Likewise.
36915 (date_mod_LDFLAGS): Likewise.
36916 (datehook_mod_SOURCES): Likewise.
36917 (datehook_mod_CFLAGS): Likewise.
36918 (datehook_mod_LDFLAGS): Likewise.
36919
36920 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36921 and datehook.mod.
36922 (datetime_mod_SOURCES): New macro.
36923 (datetime_mod_CFLAGS): Likewise.
36924 (datetime_mod_LDFLAGS): Likewise.
36925 (date_mod_SOURCES): Likewise.
36926 (date_mod_CFLAGS): Likewise.
36927 (date_mod_LDFLAGS): Likewise.
36928 (datehook_mod_SOURCES): Likewise.
36929 (datehook_mod_CFLAGS): Likewise.
36930 (datehook_mod_LDFLAGS): Likewise.
36931
36932 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36933 and datehook.mod.
36934 (datetime_mod_SOURCES): New macro.
36935 (datetime_mod_CFLAGS): Likewise.
36936 (datetime_mod_LDFLAGS): Likewise.
36937 (date_mod_SOURCES): Likewise.
36938 (date_mod_CFLAGS): Likewise.
36939 (date_mod_LDFLAGS): Likewise.
36940 (datehook_mod_SOURCES): Likewise.
36941 (datehook_mod_CFLAGS): Likewise.
36942 (datehook_mod_LDFLAGS): Likewise.
36943
36944 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
36945
36946 * commands/date.c: New file.
36947
36948 * hook/datehook.c: Likewise.
36949
36950 * include/grub/lib/datetime.h: Likewise.
36951
36952 * include/grub/i386/cmos.h: Likewise.
36953
36954 * lib/datetime.c: Likewise.
36955
36956 * lib/i386/datetime.c: Likewise.
36957
36958 * lib/efi/datetime.c: Likewise.
36959
0e9242da 369602008-08-14 Robert Millan <rmh@aybabtu.com>
36961
36962 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
36963 (grub_mkelfimage_SOURCES): New variable.
36964 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
36965
36966 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
36967 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
36968 * conf/powerpc-ieee1275.rmk: Likewise.
36969 * conf/i386-ieee1275.rmk: Likewise.
36970
36971 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
36972 * kern/i386/coreboot/init.c: Likewise.
36973
36974 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
36975 with `<grub/cpu/kernel.h>'.
36976 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
36977 to ...
36978 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
36979 * kern/i386/coreboot/startup.S: Likewise.
36980
36981 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
36982 (GRUB_MOD_GAP): Remove.
36983 * include/grub/powerpc/kernel.h: New file.
36984 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
36985 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
36986 * include/grub/i386/kernel.h: New file.
36987 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
36988 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
36989 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
36990
36991 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
36992 `grub-mkelfimage'.
36993 Use --directory when invoking grub_mkimage.
36994
36995 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
36996 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
36997 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
36998 and GRUB_KERNEL_CPU_PREFIX.
36999
b86408f8 370002008-08-14 Felix Zielcke <fzielcke@z-51.de>
37001
d5e619ca 37002 * include/grub/err.h (grub_err_printf): New function prototype.
37003 * util/misc.c (grub_err_printf): New function.
37004 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
37005 grub_printf.
37006 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 37007
7161f0e0 370082008-08-13 Robert Millan <rmh@aybabtu.com>
37009
37010 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
37011
a1967522 370122008-08-13 Robert Millan <rmh@aybabtu.com>
37013
37014 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
37015 boot entry.
37016
371458b5 370172008-08-12 Robert Millan <rmh@aybabtu.com>
37018
37019 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
37020 of the relocation code from here ...
37021 (grub_multiboot): ... to here.
37022 (forward_relocator, backward_relocator): Move from here ...
37023 * kern/i386/loader.S (grub_multiboot_forward_relocator)
37024 (grub_multiboot_backward_relocator): ... to here.
37025 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
37026 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
37027 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
37028 (grub_multiboot_forward_relocator_end)
37029 (grub_multiboot_backward_relocator)
37030 (grub_multiboot_backward_relocator_end): New variables.
37031
05f9452b 370322008-08-12 Bean <bean123ch@gmail.com>
37033
37034 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
37035
20024ab0 370362008-08-11 Robert Millan <rmh@aybabtu.com>
37037
37038 * kern/i386/linuxbios/startup.S: Move from here ...
37039 * kern/i386/coreboot/startup.S: ... to here.
37040
37041 * kern/i386/linuxbios/init.c: Move from here ...
37042 * kern/i386/coreboot/init.c: ... to here.
37043
37044 * kern/i386/linuxbios/table.c: Move from here ...
37045 * kern/i386/coreboot/mmap.c: ... to here.
37046
37047 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
37048
e352e9cd 370492008-08-11 Robert Millan <rmh@aybabtu.com>
37050
37051 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
37052 errors. Leave it to the upper layer to handle them.
37053
2d05bc6a 370542008-08-09 Christian Franke <franke@computer.org>
37055
37056 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
37057 * conf/common.rmk: Install `grub-pe2elf' only if requested.
37058 Install `grub.d/10_windows' only on Cygwin.
37059 * configure.ac: Add subst of `target_os'.
37060 Check `target_os' also before setting TARGET_OBJ2ELF.
37061 Add `--enable-grub-pe2elf'.
37062
042bd419 370632008-08-08 Robert Millan <rmh@aybabtu.com>
37064
37065 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37066 (grub_last_time): Change type to grub_uint64_t.
37067 (grub_disk_open): Migrate code from to using grub_get_time_ms().
37068 (grub_disk_close): Likewise.
37069
37070 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37071 (run_menu): Migrate code from to using grub_get_time_ms().
37072
37073 * util/misc.c (grub_get_time_ms): New function.
37074
7f280db5 370752008-08-08 Marco Gerards <marco@gnu.org>
37076
37077 * disk/ata.c (grub_ata_regget): Change return type to
37078 `grub_uint8_t'.
37079 (grub_ata_regget2): Likewise.
37080 (grub_ata_wait_status): New function.
37081 (grub_ata_wait_busy): Removed function, updated all users to use
37082 `grub_ata_wait_status'.
37083 (grub_ata_wait_drq): Likewise.
37084 (grub_ata_cmd): New function.
37085 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
37086 error handling.
37087 (grub_ata_pio_write): Add error handling.
37088 (grub_atapi_identify): Likewise.
37089 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
37090 handling.
37091 (grub_ata_identify): Use `grub_ata_cmd' and improve error
37092 handling. Actually use the detected registers. Reorder the
37093 detection logic such that it is easier to read.
37094 (grub_ata_pciinit): Do not assign the same ID to each controller.
37095 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
37096 handling.
37097 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
37098
37099 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
37100
1fbc5e66 371012008-08-08 Marco Gerards <marco@gnu.org>
37102
37103 * NEWS: Update.
37104
819ce6c0 371052008-08-07 Bean <bean123ch@gmail.com>
37106
37107 * include/grub/x86_64/pci.h: New file.
37108
5c41d44d 371092008-08-07 Christian Franke <franke@computer.org>
37110
37111 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
37112 (TIMER2_GATE): Likewise.
37113 (grub_pit_wait): Add enable/disable of the timer2 gate
37114 bit of port 0x61. This fixes a possible infinite loop.
37115
5ebc275d 371162008-08-07 Bean <bean123ch@gmail.com>
37117
37118 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
37119 kern/i386/tsc.c and kern/i386/pit.c.
37120
37121 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
37122 x86_64 platform.
37123
37124 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
37125 <grub/i386/tsc.h>.
37126
37127 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
37128
e383b3d0 371292008-08-07 Bean <bean123ch@gmail.com>
37130
37131 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
37132
37133 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
37134
37135 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
37136 multiple inclusion. Add #include <grub/types.h>.
37137
1cbb58ac 371382008-08-06 Christian Franke <franke@computer.org>
37139
37140 * conf/common.rmk: Build and install `10_windows'.
37141 * util/grub.d/10_windows.in: New script.
37142
337f5a1e 371432008-08-06 Pavel Roskin <proski@gnu.org>
37144
37145 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
37146
057bc4ac 371472008-08-06 Robert Millan <rmh@aybabtu.com>
37148
37149 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
37150 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
37151
2b99f123 371522008-08-06 Bean <bean123ch@gmail.com>
37153
37154 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
37155 (grub_pxefs_fs_int): Remove dummy definition.
37156 (grub_pxefs_open): Use data->block_size to store the current block
37157 size setting.
37158 (grub_pxefs_read): Use block size stored in data->block_size. As the
37159 value of grub_pxe_blksize can be changed after the file is opened.
37160
9f0234cb 371612008-08-06 Bean <bean123ch@gmail.com>
37162
37163 * fs/i386/pc/pxe.c (curr_file): new variable.
37164 (grub_pxefs_open): Simply the handling of pxe file system. Don't
37165 require the dummy internal file system anymore.
37166 (grub_pxefs_read): Removed.
37167 (grub_pxefs_close): Likewise.
37168 (grub_pxefs_fs_int): Likewise.
37169 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
37170 connection when we switch file.
37171 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
37172
a55d42e0 371732008-08-06 Robert Millan <rmh@aybabtu.com>
37174
37175 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
37176 `halt.mod'.
37177 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
37178 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
37179
37180 * kern/i386/halt.c: New file.
37181 * kern/i386/reboot.c: Likewise.
37182 * include/grub/i386/reboot.h: Likewise.
37183 * include/grub/i386/halt.h: Likewise.
37184
37185 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
37186 Include `<grub/cpu/halt.h>'.
37187 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
37188 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
37189
37190 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
37191 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
37192 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
37193 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
37194 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
37195 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
37196 from here ...
37197 * include/grub/i386/at_keyboard.h: ... to here.
37198
24371d26 371992008-08-05 Robert Millan <rmh@aybabtu.com>
37200
37201 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
37202 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
37203 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
37204 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37205 `kern/generic/millisleep.c'.
37206
37207 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
37208 instead of grub_get_rtc().
37209 (grub_tsc_init): Initialize `tsc_boot_time'.
37210
37211 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
37212 (grub_machine_init): Use grub_tsc_init() rather than
37213 installing an RTC-based handler via grub_install_get_time_ms().
37214
37215 * kern/i386/pit.c: New file.
37216 * include/grub/i386/pit.h: Likewise.
37217
9e7007b3 372182008-08-05 Bean <bean123ch@gmail.com>
37219
37220 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
37221
37222 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
37223 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
37224 (pxe_mod_SOURCES): New macro.
37225 (pxe_mod_CFLAGS): Likewise.
37226 (pxe_mod_LDFLAGS): Likewise.
37227 (pxecmd_mod_SOURCES): Likewise.
37228 (pxecmd_mod_CFLAGS): Likewise.
37229 (pxecmd_mod_LDFLAGS): Likewise.
37230
37231 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
37232 (grub_pxe_call): Likewise.
37233
37234 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
37235
37236 * commands/i386/pc/pxecmd.c: New file.
37237
9f0234cb 37238 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 37239
37240 * include/grub/i386/pc/pxe.h: Likewise.
37241
6977d49f 372422008-08-05 Bean <bean123ch@gmail.com>
37243
37244 * util/console.c (grub_console_cur_color): New variable.
37245 (grub_console_standard_color): Likewise.
37246 (grub_console_normal_color): Likewise.
37247 (grub_console_highlight_color): Likewise.
37248 (color_map): Likewise.
37249 (use_color): Likewise.
37250 (NUM_COLORS): New macro.
37251 (grub_ncurses_setcolorstate): Handle color properly.
37252 (grub_ncurses_setcolor): Don't change color here, just remember the
37253 settings, color will be set in grub_ncurses_setcolorstate.
37254 (grub_ncurses_getcolor): New function.
37255 (grub_ncurses_init): Initialize color pairs.
37256 (grub_ncurses_term): New member grub_ncurses_getcolor.
37257
9c2ff3ee 372582008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 37259
9c2ff3ee 37260 High resolution timer support. Implemented for x86 CPUs using TSC.
37261 Extracted generic grub_millisleep() so it's linked in only as needed.
37262 This requires a Pentium compatible CPU; if the RDTSC instruction is
37263 not supported, then it falls back on the generic grub_get_time_ms()
37264 implementation that uses the machine's RTC.
37265
37266 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
37267 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37268 `kern/generic/millisleep.c'.
37269
37270 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
37271 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
37272
37273 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
37274 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
37275
37276 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37277
37278 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37279 `kern/generic/millisleep.c'.
37280
37281 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37282
37283 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
37284
37285 * kern/generic/rtc_get_time_ms.c: New file.
37286
37287 * kern/generic/millisleep.c: New file.
337f5a1e 37288
9c2ff3ee 37289 * kern/misc.c: Don't include
37290 <kern/time.h> anymore.
37291 (grub_millisleep_generic): Removed.
37292
37293 * commands/sleep.c (grub_interruptible_millisleep): Uses
37294 grub_get_time_ms() instead of grub_get_rtc().
37295
37296 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
37297 function.
37298 (grub_cpu_is_cpuid_supported): New inline function.
37299 (grub_cpu_is_tsc_supported): New inline function.
37300 (grub_tsc_init): New function prototype.
37301 (grub_tsc_get_time_ms): New function prototype.
37302
37303 * kern/i386/tsc.c (grub_get_time_ms): New file.
37304
37305 * include/grub/time.h: Include <grub/types.h.
37306 (grub_millisleep_generic): Removed.
37307 (grub_get_time_ms): New prototype.
37308 (grub_install_get_time_ms): New prototype.
37309 (grub_rtc_get_time_ms): New prototype.
37310
37311 * kern/time.c (grub_get_time_ms): New function.
37312 (grub_install_get_time_ms): New function.
37313
37314 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
37315 <grub/time.h> anymore.
37316 (grub_millisleep): Removed.
37317 (grub_machine_init): Call grub_tsc_init.
37318
37319 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
37320 get_time_ms() implementation.
37321
37322 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
37323 (ieee1275_get_time_ms): New function.
37324 (grub_machine_init): Install get_time_ms() implementation.
37325
37326 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
37327 (grub_machine_init): Call grub_tsc_init().
37328 (grub_millisleep): Removed.
bf06a93f 37329
9c2ff3ee 37330 * kern/ieee1275/init.c (grub_millisleep): Removed.
37331 (grub_machine_init): Install ieee1275_get_time_ms()
37332 implementation.
37333 (ieee1275_get_time_ms): New function.
37334 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
37335 real work.
37336
9ec92aaf 373372008-08-05 Marco Gerards <marco@gnu.org>
37338
37339 * disk/ata.c: Include <grub/pci.h>.
37340 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
37341 (grub_ata_initialize): Rewritten.
37342 (grub_ata_device_initialize): New function.
37343
8d23f507 373442008-08-04 Pavel Roskin <proski@gnu.org>
37345
37346 * kern/main.c: Include grub/mm.h.
37347
5e15ee3d 373482008-08-04 Robert Millan <rmh@aybabtu.com>
37349
37350 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
37351 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
37352 corruption problem).
37353
a9053f8f 373542008-08-04 Robert Millan <rmh@aybabtu.com>
37355
37356 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
37357 warnings introduced in my last commit.
37358
dd19c7d7 373592008-08-03 Robert Millan <rmh@aybabtu.com>
37360
37361 Make PCI available on all i386 architectures.
37362
37363 * include/grub/i386/pc/pci.h: Move from here ...
37364 * include/grub/i386/pci.h: ... to here.
37365
37366 * include/grub/i386/pc/pci.h: Remove.
37367 * include/grub/i386/efi/pci.h: Remove.
37368 * include/grub/x86_64/efi/pci.h: Remove.
37369
37370 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
37371 `<grub/cpu/pci.h>'.
37372
37373 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
37374 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
37375 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
37376
37377 * conf/i386-ieee1275.rmk: Likewise.
37378
e14a6184 373792008-08-03 Robert Millan <rmh@aybabtu.com>
37380
37381 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
37382 (grub_console_setcursor): Make it possible to set cursor off.
37383
52768e37 373842008-08-03 Robert Millan <rmh@aybabtu.com>
37385
37386 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
37387 of modules instead of assuming which platform provides what.
37388 * util/update-grub.in: Likewise.
37389
2d52f57f 373902008-08-03 Robert Millan <rmh@aybabtu.com>
37391
37392 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
37393 instead of `grub_install_dos_part' to determine whether a drive needs
37394 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 37395 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 37396
2a5cd121 373972008-08-02 Robert Millan <rmh@aybabtu.com>
37398
37399 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
37400
93808428 374012008-08-02 Robert Millan <rmh@aybabtu.com>
37402
37403 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
37404 of informational grub_dprintf() calls.
37405
3bd0a12a 374062008-08-02 Robert Millan <rmh@aybabtu.com>
37407
37408 * disk/memdisk.c (memdisk_size): Don't initialize.
37409 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
37410
37411 * include/grub/i386/pc/kernel.h
37412 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
37413 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
37414 (grub_memdisk_image_size, grub_arch_memdisk_addr)
37415 (grub_arch_memdisk_size): Remove.
37416
37417 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
37418 field (was only used to transfer a constant). Add `type' field to
37419 support multiple module types.
37420 (grub_module_iterate): New function.
37421
37422 * kern/device.c (grub_device_open): Do not hide error messages
37423 when grub_disk_open() fails. Use grub_print_error() instead.
37424
37425 * kern/i386/pc/init.c (grub_arch_modules_addr)
37426 (grub_arch_memdisk_size): Remove functions.
37427 (grub_arch_modules_addr): Return the module address in high memory
37428 (now that it isn't copied anymore).
37429
37430 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
37431 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
37432 decompression routine (grub_total_module_size already includes that
37433 now). Don't copy modules back to low memory.
37434
37435 * kern/main.c: Include `<grub/mm.h>'.
37436 (grub_load_modules): Split out (and use) ...
37437 (grub_module_iterate): ... this function, which iterates through
37438 module objects and runs a hook.
37439 Comment out grub_mm_init_region() call, as it would cause non-ELF
37440 modules to be overwritten.
37441
37442 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
37443 the memdisk image in its own region, make it part of the module list.
37444 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
37445 (main): Parse --memdisk|-m option, and pass user-provided path as
37446 parameter to generate_image().
37447 (add_segments): Pass `memdisk_path' down to load_modules().
37448 (load_modules): Embed memdisk image in module section when requested.
37449 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
37450 `header.type' instead of `header.offset'.
37451
37452 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
37453 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
37454 (memdisk_mod_LDFLAGS): New variables.
37455 * conf/i386-coreboot.rmk: Likewise.
37456 * conf/i386-ieee1275.rmk: Likewise.
37457
a927cc73 374582008-08-02 Robert Millan <rmh@aybabtu.com>
37459
37460 * loader/i386/pc/multiboot.c (playground, forward_relocator)
37461 (backward_relocator): New variables. Used to allocate and relocate
37462 the payload, respectively.
37463 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 37464 address, install the appropriate relocator code in each bound of
a927cc73 37465 the payload, and set the entry point such that
37466 grub_multiboot_real_boot() will jump to one of them.
37467
37468 * kern/i386/loader.S (grub_multiboot_payload_size)
37469 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
37470 (grub_multiboot_payload_entry_offset): New variables.
37471 (grub_multiboot_real_boot): Set cpu context to what the relocator
37472 expects, and jump to the relocator instead of the payload.
37473
37474 * include/grub/i386/loader.h (grub_multiboot_payload_size)
37475 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
37476 (grub_multiboot_payload_entry_offset): Export.
37477
b15d8a0c 374782008-08-01 Bean <bean123ch@gmail.com>
37479
37480 * normal/menu_entry.c (editor_getline): Don't return the original
37481 string as result, as it will be released by lexer once it has done
37482 using it.
37483
cdfb3d22 374842008-08-01 Robert Millan <rmh@aybabtu.com>
37485
37486 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
37487 within menuentries, not before them.
37488 util/grub.d/10_hurd.in: Likewise.
37489
9175e93d 374902008-08-01 Bean <bean123ch@gmail.com>
37491
37492 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
37493 (bufio_mod_SOURCES): New macro.
37494 (bufio_mod_CFLAGS): Likewise.
37495 (bufio_mod_LDFLAGS): Likewise.
37496
37497 * include/grub/bufio.h: New file.
37498
37499 * io/bufio.c: Likewise.
37500
37501 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
37502 (grub_video_reader_png): Use grub_buffile_open to open file.
37503
37504 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
37505 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
37506
37507 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
37508 (grub_video_reader_tga): Use grub_buffile_open to open file.
37509
37510 * font/manager.c: Include <grub/bufio.h>.
37511 (add_font): Use grub_buffile_open to open file.
37512
3d8383e7 375132008-07-31 Robert Millan <rmh@aybabtu.com>
37514
37515 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
37516 ELF segments, use a macro for arbitrarily accessing any of them instead
37517 of preparing a pointer that allows access to one at a time.
37518 (grub_multiboot_load_elf64): Likewise.
37519
16e641b6 375202008-07-31 Bean <bean123ch@gmail.com>
37521
37522 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
37523 GRUB_KERNEL_MACHINE_DATA_END.
37524
59198b72 375252008-07-30 Robert Millan <rmh@aybabtu.com>
37526
37527 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
37528 Increase from 0x50 to 0x60.
37529 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
37530 use UUIDs to identify the root drive for them. If that's not
37531 possible, abort.
37532 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
37533 check, for cross-disk installs.
37534
ae88bca3 375352008-07-30 Robert Millan <rmh@aybabtu.com>
37536
37537 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
37538 is non-empty, use it to set the `prefix' environment variable instead
37539 of the usual approach.
37540 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
37541 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
37542 environment variable instead of dummy make_install_device().
37543
37544 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
37545 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 37546 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 37547
37548 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
37549 New variable reference.
37550 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
37551 New macro. Defines offset of `grub_prefix' within startup.S (relative
37552 to `start').
37553 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
37554 section within startup.S (relative to `start').
37555 * include/grub/i386/coreboot/kernel.h: Likewise.
37556
37557 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
37558 Overwrite grub_prefix with its contents, at the beginning of the
37559 first segment.
37560 (main): Understand -p|--prefix.
37561
14f41dd1 375622008-07-30 Robert Millan <rmh@aybabtu.com>
37563
37564 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
37565
4ca049a3 375662008-07-30 Robert Millan <rmh@aybabtu.com>
37567
37568 * term/i386/pc/vga_text.c (grub_console_cls): Use
37569 grub_console_gotoxy() to go back to beginning of the screen.
37570 Found by Patrick Georgi <patrick.georgi@coresystems.de>
37571
2921d337 375722008-07-29 Christian Franke <franke@computer.org>
37573
37574 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37575 Add conversion of emulated mount points on Cygwin.
37576
b609876d 375772008-07-29 Christian Franke <franke@computer.org>
37578
37579 * util/update-grub.in: Add a check for admin
37580 group on Cygwin.
37581 Remove old `grub.cfg.new' before creation.
37582 Add `-f' to `mv' to handle the different filesystem
37583 semantics of Windows.
37584
e93e4679 375852008-07-29 Bean <bean123ch@gmail.com>
37586
37587 * normal/main.c (get_line): Fix buffer overflow bug.
37588
41694fd0 375892008-07-28 Robert Millan <rmh@aybabtu.com>
37590
37591 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
37592 (struct grub_apple_header): New struct. Describes the layout of
37593 the partmap header.
37594 (apple_partition_map_iterate): Check the header magic as well as the
37595 partition magic (which was already being checked).
37596
cfd0b4e6 375972008-07-28 Pavel Roskin <proski@gnu.org>
37598
37599 * genmk.rb: Add a warning to the beginning of the output that
37600 it's a generated file and should not be edited.
37601
93cce016 376022008-07-28 Robert Millan <rmh@aybabtu.com>
37603
37604 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37605 with the same number are found, just use issue a warning with
37606 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 37607
cd1df915 376082008-07-27 Robert Millan <rmh@aybabtu.com>
37609
37610 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
37611 information.
37612
b70a8427 376132008-07-27 Bean <bean123ch@gmail.com>
37614
37615 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
37616 (grub_fat_find_dir): Ignore case when comparing filename.
37617
8f5e379f 376182008-07-27 Bean <bean123ch@gmail.com>
37619
37620 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
37621 smallino, as it's more descriptive, and i8count can be confused with
37622 the other field count.
37623 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
37624 inode type.
37625
a85cd5a0 376262008-07-27 Bean <bean123ch@gmail.com>
37627
37628 * commands/crc.c: New file.
37629
37630 * lib/crc.c: Likewise.
37631
37632 * include/grub/lib/crc.h: Likewise.
37633
37634 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
37635
37636 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
37637 (hexdump): Move this function to ...
37638
37639 * lib/hexdump.c: ... here.
37640
37641 * include/grub/hexdump.h: Renamed to ...
37642
37643 * include/grub/lib/hexdump.h: ... this.
37644
37645 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
37646
37647 * util/grub-editenv.c: Likewise.
37648
37649 * include/envblk.h: Renamed to ...
37650
37651 * include/lib/envblk.h: ... this.
37652
37653 * util/envblk.c: Renamed to ...
37654
37655 * lib/envblk.c: ... this.
37656
37657 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
37658 lib/hexdump.c.
37659 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
37660 (pkglib_MODULES): Add crc.mod.
37661 (hexdump_mod_SOURCES): Add lib/hexdump.c.
37662 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
37663 (crc_mod_SOURCES): New macro.
37664 (crc_mod_CFLAGS): Likewise.
37665 (crc_mod_LDFLAGS): Likewise.
37666
37667 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
37668
37669 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37670
37671 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37672
37673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37674
37675 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37676
c298def0 376772008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 37678
37679 * commands/help.c: Include <grub/term.h>.
37680 (TERM_WIDTH): Removed. Updated all users.
37681
cc349fb3 376822008-07-27 Pavel Roskin <proski@gnu.org>
37683
37684 * util/getroot.c (find_root_device): Rephrase a comment to avoid
37685 spurious warnings about a comment within a comment.
37686
9051607e 376872008-07-25 Robert Millan <rmh@aybabtu.com>
37688
37689 * util/getroot.c (find_root_device): Skip devices that match
37690 /dev/dm-[0-9]. This lets the real device be found for any type of
37691 abstraction (LVM, EVMS, RAID..).
37692 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
37693 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
37694 device is found first, find_root_device() will now skip it.
37695
01453bfc 376962008-07-24 Pavel Roskin <proski@gnu.org>
37697
37698 * include/grub/types.h: Use __builtin_bswap32() and
37699 __builtin_bswap64() with gcc 4.3 and newer.
37700
6af9849f 377012008-07-24 Christian Franke <franke@computer.org>
37702
3a0fa256 37703 * util/i386/pc/grub-install.in: If `--debug' is specified,
37704 pass `--verbose' to grub-setup.
37705 Abort script if make_system_path_relative_to_its_root() fails.
37706
7810e747 377072008-07-24 Bean <bean123ch@gmail.com>
37708
37709 * configure.ac: Fixed a bug caused by the previous cygwin patch,
37710 variable `target_platform' should be `platform'.
37711
42290e17 377122008-07-24 Bean <bean123ch@gmail.com>
37713
51cc5193 37714 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 37715 (grub_png_init_fixed_block): New function.
37716 (grub_png_decode_image_data): Handle fixed huffman code compression.
37717
2a8a80e4 377182008-07-24 Bean <bean123ch@gmail.com>
37719
37720 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
37721 (grub_pe2elf_SOURCES): New macro.
37722 (CLEANFILES): Add grub-pe2elf.
37723
37724 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
37725 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
37726 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
37727 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
37728 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
37729 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
37730 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
37731 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
37732 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
37733 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
37734 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
37735 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
37736 (GRUB_PE32_DT_FUNCTION): Likewise.
37737 (GRUB_PE32_REL_I386_DIR32): Likewise.
37738 (GRUB_PE32_REL_I386_REL32): Likewise.
37739 (grub_pe32_symbol): New structure.
37740 (grub_pe32_reloc): Likewise.
37741
37742 * util/grub-pe2elf.c: New file.
37743
37744 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
37745 start symbol in non pc platform.
37746
37747 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
37748
37749 The following patches are from Christian Franke.
37750
37751 * include/grub/dl.h: Remove .previous, gas supports this only
37752 for ELF format.
37753
37754 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
37755 Remove .type, gas supports this only for ELF format.
37756
37757 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
37758 nullbytes in symbol table. This fixes an infinite loop if table is
37759 zero filled.
37760
37761 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
37762 TARGET_IMG_LDFLAGS and EXEEXT.
37763
37764 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
37765 TARGET_IMG_LDFLAGS_AC.
37766 (grub_CHECK_STACK_ARG_PROBE): New function.
37767
37768 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
37769
37770 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
37771
37772 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
37773 to set TARGET_IMG_LD* accordingly.
37774 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
37775 Add call to grub_CHECK_STACK_ARG_PROBE.
37776 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
37777
37778 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
37779
37780 * genmk.rb: Add EXEEXT to CLEANFILES.
37781
12ccdb75 377822008-07-23 Robert Millan <rmh@aybabtu.com>
37783
37784 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
37785 define the codes for arrows and lines used for the menu).
37786 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
37787 as well.
37788
37789 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
37790 fonts, because the latter are too slow.
37791
18eeaf04 377922008-07-21 Bean <bean123ch@gmail.com>
37793
37794 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
37795 a20. Run keyboard test last, as it will cause macbook to halt.
37796
b095e2ad 377972008-07-18 Pavel Roskin <proski@gnu.org>
37798
37799 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
37800 load foreign architecture modules correctly anyway. Keep
37801 support for loading host architecture modules, whether we
37802 compile them or not.
37803
737feb35 378042008-07-17 Pavel Roskin <proski@gnu.org>
37805
3f4ce737 37806 * configure.ac: Use -m32 or -m64 regardless of whether we had to
37807 change target_cpu. The compiler default can mismatch target_cpu
37808 in any case.
37809
4ad2d049 37810 * disk/efi/efidisk.c: Fix format warnings on x86_64.
37811 * kern/efi/efi.c: Likewise.
37812
f6130a12 37813 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
37814 target compiler is functional.
37815 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
37816 are set up.
37817
58393a2d 37818 * configure.ac: Default to efi platform for x86_64-apple. Allow
37819 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
37820 adjustments from the rest, only do them if target is not
37821 explicitly given. Merge other adjustments with the final sanity
37822 check. Remove an extraneous check for supported CPU. Be
37823 specific which CPU and which platform is not supported.
37824
737feb35 37825 * configure.ac: Default to pc platform for x86_64.
37826
546f966a 378272008-07-17 Robert Millan <rmh@aybabtu.com>
37828
37829 Partial LinuxBIOS -> Coreboot rename.
37830
37831 * conf/i386-linuxbios.rmk: Renamed to ...
37832 * conf/i386-coreboot.rmk: ... this.
37833 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
37834 * configure.ac: Accept "coreboot" as input platform (but maintain
37835 compatibility with "linuxbios").
37836 * include/grub/i386/linuxbios: Renamed to ...
37837 * include/grub/i386/coreboot: ... this.
37838
20011694 378392008-07-17 Bean <bean123ch@gmail.com>
37840
37841 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 37842 (appleldr_mod_SOURCE): New variable.
20011694 37843 (appleldr_mod_CFLAGS): Likewise.
37844 (appleldr_mod_LDFLAGS): Likewise.
37845 (pci_mod_SOURCES): Likewise.
37846 (pci_mod_CFLAGS): Likewise.
37847 (pci_mod_LDFLAGS): Likewise.
37848 (lspci_mod_SOURCES): Likewise.
37849 (lspci_mod_CFLAGS): Likewise.
37850 (lspci_mod_LDFLAGS): Likewise.
37851
37852 * conf/x86_64-efi.rmk: New file.
37853
37854 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
37855 macro.
37856 (grub_efidisk_write): Likewise.
37857
37858 * include/efi/api.h (efi_call_0): New macro.
37859 (efi_call_1): Likewise.
37860 (efi_call_2): Likewise.
37861 (efi_call_3): Likewise.
37862 (efi_call_4): Likewise.
37863 (efi_call_5): Likewise.
37864 (efi_call_6): Likewise.
37865
37866 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
37867 grub_rescue_cmd_chainloader.
37868
37869 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
37870 (grub_pe32_optional_header): Change some fields based on i386 or
37871 x86_64 platform.
37872 (GRUB_PE32_PE32_MAGIC): Likewise.
37873
37874 * include/grub/efi/uga_draw.h: New file.
37875
37876 * include/grub/elf.h (STN_ABS): New constant.
37877 (R_X86_64_NONE): Relocation constant for x86_64.
37878 (R_X86_64_64): Likewise.
37879 (R_X86_64_PC32): Likewise.
37880 (R_X86_64_GOT32): Likewise.
37881 (R_X86_64_PLT32): Likewise.
37882 (R_X86_64_COPY): Likewise.
37883 (R_X86_64_GLOB_DAT): Likewise.
37884 (R_X86_64_JUMP_SLOT): Likewise.
37885 (R_X86_64_RELATIVE): Likewise.
37886 (R_X86_64_GOTPCREL): Likewise.
37887 (R_X86_64_32): Likewise.
37888 (R_X86_64_32S): Likewise.
37889 (R_X86_64_16): Likewise.
37890 (R_X86_64_PC16): Likewise.
37891 (R_X86_64_8): Likewise.
37892 (R_X86_64_PC8): Likewise.
37893
37894 * include/grub/i386/efi/pci.h: New file.
37895
37896 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
37897 Change it value based on platform.
37898 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
37899 (GRUB_E820_RAM): Likewise.
37900 (GRUB_E820_RESERVED): Likewise.
37901 (GRUB_E820_ACPI): Likewise.
37902 (GRUB_E820_NVS): Likewise.
37903 (GRUB_E820_EXEC_CODE): Likewise.
37904 (GRUB_E820_MAX_ENTRY): Likewise.
37905 (grub_e820_mmap): New structure.
37906 (linux_kernel_header): Change the efi field according to different
37907 kernel version, also field from linux_kernel_header.
37908
37909 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
37910
37911 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
37912 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
37913 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
37914 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
37915 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
37916 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
37917 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
37918 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
37919 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
37920 (GRUB_PCI_ADDR_IO_MASK): Likewise.
37921
37922 * include/grub/x86_64/efi/kernel.h: New file.
37923
37924 * include/grub/x86_64/efi/loader.h: Likewise.
37925
37926 * include/grub/x86_64/efi/machine.h: Likewise.
37927
37928 * include/grub/x86_64/efi/pci.h: Likewise.
37929
37930 * include/grub/x86_64/efi/time.h: Likewise.
37931
37932 * include/grub/x86_64/linux.h: Likewise.
37933
37934 * include/grub/x86_64/setjmp.h: Likewise.
37935
37936 * include/grub/x86_64/time.h: Likewise.
37937
37938 * include/grub/x86_64/types.h: Likewise.
37939
37940 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
37941 GRUB_TARGET_SIZEOF_VOID_P.
37942
37943 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
37944 (grub_efi_locate_handle): Likewise.
37945 (grub_efi_open_protocol): Likewise.
37946 (grub_efi_set_text_mode): Likewise.
37947 (grub_efi_stall): Likewise.
37948 (grub_exit): Likewise.
37949 (grub_reboot): Likewise.
37950 (grub_halt): Likewise.
37951 (grub_efi_exit_boot_services): Likewise.
37952 (grub_get_rtc): Likewise.
37953
37954 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
37955 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
37956 (grub_efi_allocate_pages): Wrap efi calls.
37957 (grub_efi_free_pages): Wrap efi calls.
37958 (grub_efi_get_memory_map): Wrap efi calls.
37959
37960 * kern/x86_64/dl.c: New file.
37961
37962 * kern/x86_64/efi/callwrap.S: Likewise.
37963
37964 * kern/x86_64/efi/startup.S: Likewise.
37965
37966 * loader/efi/appleloader.c: Likewise.
37967
37968 * loader/efi/chainloader.c (cmdline): New variable.
37969 (grub_chainloader_unload): Wrap efi calls.
37970 (grub_chainloader_boot): Likewise.
37971 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
37972 command line.
37973
37974 * loader/efi/chainloader_normal.c (chainloader_command):
37975 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
37976 command line.
37977
37978 * loader/i386/efi/linux.c (allocate_pages): Change allocation
37979 method.
37980 (grub_e820_add_region): New function.
37981 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
37982 booting.
37983 (grub_find_video_card): New function.
37984 (grub_linux_setup_video): New function.
37985 (grub_rescue_cmd_linux): Probe for video information.
37986
37987 * normal/x86_64/setjmp.S: New file.
37988
37989 * term/efi/console.c (map_char): New function.
37990 (grub_console_putchar): Map unicode char.
37991 (grub_console_checkkey): Wrap efi calls.
37992 (grub_console_getkey): Likewise.
37993 (grub_console_getwh): Likewise.
37994 (grub_console_gotoxy): Likewise.
37995 (grub_console_cls): Likewise.
37996 (grub_console_setcolorstate): Likewise.
37997 (grub_console_setcursor): Likewise.
37998
37999 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
38000
59652a20 380012008-07-16 Pavel Roskin <proski@gnu.org>
38002
ef294055 38003 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
38004 format strings.
38005
59652a20 38006 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
38007 pointer, not an integer. This fixes a warning and prevents
38008 precision loss on 64-bit systems.
38009 (relocate_addresses): Remove unneeded cast.
38010
afc3b5d7 380112008-07-15 Pavel Roskin <proski@gnu.org>
38012
506b2b3e 38013 * kern/i386/ieee1275/init.c: Include grub/cache.h.
38014
62ead89c 38015 * term/ieee1275/ofconsole.c: Disable code unused on i386.
38016
c4cd51d7 38017 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
38018 Fix comparison between signed and unsigned.
38019
0d3d8f28 38020 * include/grub/i386/ieee1275/console.h: Declare
38021 grub_console_init() and grub_console_fini().
38022
8804b286 38023 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
38024 It's empty and unused.
38025
ee01cf35 38026 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
38027 beginning to avoid warnings with some compilers.
38028
afc3b5d7 38029 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
38030 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
38031
e4e8eaa5 380322008-07-14 Pavel Roskin <proski@gnu.org>
38033
407aceb4 38034 * kern/env.c (grub_register_variable_hook): Don't copy empty
38035 string, it leaks memory. Pass "" to grub_env_set(), it should
38036 handle constant strings.
38037
e4e8eaa5 38038 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
38039 * commands/cmp.c (grub_cmd_cmp): Likewise.
38040 * kern/dl.c (grub_dl_flush_cache): Likewise.
38041 (grub_dl_load_core): Likewise.
38042 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
38043 (grub_elf64_load_phdrs): Likewise.
38044
d4e2dad3 380452008-07-13 Pavel Roskin <proski@gnu.org>
38046
38047 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
38048 between signed and unsigned.
38049 (LzmaEnc_Finish): Fix warning about an unused parameter.
38050
aa24b516 380512008-07-13 Bean <bean123ch@gmail.com>
38052
38053 * Makefile.in (enable_lzo): New rule.
38054
38055 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
38056
38057 * configure.ac (ENABLE_LZO): New option --enable-lzo.
38058
38059 * boot/i386/pc/lnxboot.S: #include <config.h>.
38060
38061 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 38062 its value according to the compression algorithm used, lzo or lzma.
aa24b516 38063
38064 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
38065 compression algorithm according to configure macro.
38066
38067 * kern/i386/pc/startup.S (codestart): Likewise.
38068
38069 * kern/i386/pc/lzma_decode.S: New file.
38070
38071 * include/grub/lib/LzFind.h: Likewise.
38072
38073 * include/grub/lib/LzHash.h: Likewise.
38074
38075 * include/grub/lib/LzmaDec.h: Likewise.
38076
38077 * include/grub/lib/LzmaEnc.h: Likewise.
38078
38079 * include/grub/lib/LzmaTypes.h: Likewise.
38080
38081 * lib/LzFind.c: Likewise.
38082
38083 * lib/LzmaDec.c: Likewise.
38084
38085 * lib/LzmaEnc.c: Likewise.
38086
4ae821ac 380872008-07-13 Bean <bean123ch@gmail.com>
38088
38089 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
38090 (grub_ext4_extent_header): New structure.
38091 (grub_ext4_extent): Likewise.
38092 (grub_ext4_extent_idx): Likewise.
38093 (grub_ext4_find_leaf): New function.
38094 (grub_ext2_read_block): Handle extents.
38095
9a745147 380962008-07-12 Robert Millan <rmh@aybabtu.com>
38097
38098 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
38099
d49a4cf6 381002008-07-11 Robert Millan <rmh@aybabtu.com>
38101
38102 * util/grub.d/40_custom.in: New file. Example on how to add custom
38103 entries to /etc/grub.d.
38104 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
38105 40_custom (implicitly, by merging all the grub.d rules).
38106
947414b4 381072008-07-11 Pavel Roskin <proski@gnu.org>
38108
0059cf6f 38109 * commands/read.c (grub_getline): Fix invalid memory access.
38110 Don't add newline to the variable value.
38111
947414b4 38112 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
38113 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
38114 (serial_hw_get_port): Check validity of the port number.
38115 (grub_cmd_serial): Check return value of serial_hw_get_port().
38116
62a02d00 381172008-07-07 Pavel Roskin <proski@gnu.org>
38118
38119 * boot/i386/pc/diskboot.S (notification_string): Replace
38120 "Loading kernel" with just "loading". This is shorter, less
38121 confusing and saves a few bytes for possible future changes.
38122
3e5581b0 381232008-07-05 Pavel Roskin <proski@gnu.org>
38124
ea387a48 38125 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
38126 size for ATAPI devices, they are undefined. Output sector
38127 number in decimal form.
38128
3e5581b0 38129 * disk/ata.c: Use named constants for status bits.
38130
fdecb8fd 381312008-07-04 Pavel Roskin <proski@gnu.org>
38132
bcd35b90 38133 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
38134 grub_addr_t before casting it to the void pointer to fix a
38135 warning. Non-addressable regions are discarded earlier.
38136 (grub_arch_modules_addr): Cast _end to grub_addr_t.
38137 * kern/i386/linuxbios/table.c: Include grub/misc.h.
38138 (check_signature): Don't shadow table_header.
38139 (grub_linuxbios_table_iterate): Cast numeric constants to
38140 grub_linuxbios_table_header_t.
38141 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
38142 grub_stop().
38143
af58ab3d 38144 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
38145 prevent warnings.
38146
1759aa57 38147 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
38148 pointer, which can cause warnings. Support 64-bit addresses.
38149
fdecb8fd 38150 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
38151 of sizeof(long). This fixes PowerPC image generation on x86_64.
38152
8516d2a8 381532008-07-04 Robert Millan <rmh@aybabtu.com>
38154
38155 This fixes a performance issue when pc & gpt partmap iterators
38156 didn't abort iteration even after our hook found what it was
fe987087 38157 looking for (often causing expensive probes of non-existent drives).
8516d2a8 38158
38159 Some callers relied on previous buggy behaviour, since they would
34c44600 38160 raise an error when their own hooks caused early abortion of its
8516d2a8 38161 iteration.
38162
38163 * kern/device.c (grub_device_open): Improve error message.
38164 * disk/lvm.c (grub_lvm_open): Likewise.
38165 * disk/raid.c (grub_raid_open): Likewise.
38166
38167 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
38168 when hook requests it, independently of grub_errno.
38169 (pc_partition_map_probe): Do not fail when find_func() caused
38170 early abortion of pc_partition_map_iterate().
38171
38172 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
38173 when hook requests it, independently of grub_errno.
38174 (gpt_partition_map_probe): Do not fail when find_func() caused
38175 early abortion of gpt_partition_map_iterate().
38176
38177 * kern/partition.c (grub_partition_iterate): Abort parent iteration
38178 when hook requests it, independently of grub_errno. Do not fail when
38179 part_map_iterate_hook() caused early abortion of p->iterate().
38180
38181 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
38182 when grub_partition_iterate() returned with non-zero.
38183
277d0de9 381842008-07-03 Pavel Roskin <proski@gnu.org>
38185
38186 * disk/ata.c (grub_ata_pio_write): Check status before writing,
38187 like we do in grub_ata_pio_read().
38188 (grub_ata_readwrite): Always write individual sectors. Fix the
38189 sector count for the remainder.
38190 (grub_ata_write): Enable writing to ATA devices. Correctly
38191 report error for ATAPI devices.
38192
d4c9b428 381932008-07-02 Pavel Roskin <proski@gnu.org>
38194
e43fc690 38195 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
38196 warning.
38197
f707af42 38198 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
38199 for every read sector, we already increment it for the whole
38200 batch. This fixes reading more than 256 sectors at once.
38201
11e16b15 38202 * util/grub-editenv.c (cmd_info): Cast argument to long
38203 explicitly. ptrdiff_t reduces to int on i386.
38204
cbabfdd4 38205 * util/grub-editenv.c (main): Be specific which parameter is
38206 missing.
38207
b8fbce0a 38208 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
38209 (memdisk): Make memdisk_orig_addr a pointer.
38210
c9c8e606 38211 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
38212 for file offsets, use grub_off_t instead. Fix printf format
38213 warnings.
38214
ca62e598 38215 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
38216 there. Real unexpected warnings should not drown in the noise
38217 about known problems.
38218
ce8d1766 38219 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
38220 grub_disk_addr_t for memory addresses.
38221
00c7a56a 38222 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
38223 explicitly to fix a warning.
38224
08d3ef09 38225 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
38226
cb71ba20 38227 * Makefile.in (MODULE_LDFLAGS): New variable.
38228 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
38229 the linker accepts --build-id=none.
38230 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
38231 MODULE_LDFLAGS.
38232 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
38233
d4c9b428 38234 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
38235 those in Linux XFS code. Provide a way to access 64-bit parent
38236 inode.
38237 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
38238 the end of struct grub_xfs_dir_header.
38239
d4156eee 382402008-07-02 Bean <bean123ch@gmail.com>
38241
38242 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
38243 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
38244 and GRUB_IEEE1275_FLAG_NO_ANSI.
38245
38246 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
38247 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
38248 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
38249
38250 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
38251 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
38252
38253 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
38254 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
38255
38256 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
38257 esc sequence on non ANSI terminal.
38258 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
38259
38260 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
38261 beginning of file.
38262
2270f77b 382632008-07-02 Bean <bean123ch@gmail.com>
38264
38265 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
38266 (grub_editenv_SOURCES): New variable.
38267 (pkglib_MODULES): Add loadenv.mod.
38268 (loadenv_mod_SOURCES): New variable.
38269 (loadenv_mod_CFLAGS): Likewise.
38270 (loadenv_mod_LDFLAGS): Likewise.
38271
38272 * include/grub/envblk.h: New file.
38273
38274 * util/envblk.c: New file.
38275
38276 * util/grub-editenv.c: New file.
38277
38278 * commands/loadenv.c: New file.
38279
0e9e51ec 382802008-07-01 Pavel Roskin <proski@gnu.org>
38281
d89b7634 38282 * include/multiboot2.h (struct multiboot_tag_module): Use char,
38283 not unsigned char. This fixes warnings and is consistent with
38284 other tags.
38285
bf1835b1 38286 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
38287
8222a04b 38288 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
38289
6a42d99d 38290 * term/tparm.c (analyze): Always set *popcount.
38291
10b159d1 38292 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
38293 cast to fix a warning.
38294
b8789f6c 38295 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
38296 cast to suppress a warning.
38297
29d7e38a 38298 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
38299 grub_fshelp_read_file() expects.
38300
f341f669 38301 * fs/fat.c: Fix UUID calculation on big-endian systems. We
38302 write uuid as a 32-bit value in CPU byte order, so declare and
38303 use it as such.
38304
0e9e51ec 38305 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
38306 long if the format specifier expects it.
38307 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
38308 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38309 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
38310 long to fix a warning.
38311 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
38312 grub_dprintf() arguments to fix warnings.
38313
3aefa857 383142008-06-30 Pavel Roskin <proski@gnu.org>
38315
56c7668b 38316 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
38317 install_bsd_part immediately before core.img is embedded or
38318 modified on disk. This fixes core.img verification if core.img
38319 cannot be embedded.
38320
3aefa857 38321 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
38322 core_path to calculate the blocklist.
38323 Patch from Javier Martín <lordhabbit@gmail.com>
38324
5444088d 383252008-06-29 Robert Millan <rmh@aybabtu.com>
38326
38327 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
38328 block to disk block.
38329 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
38330 Patch from Niels Böhm <bitbucket@arcor.de>
38331
674835c8 383322008-06-29 Robert Millan <rmh@aybabtu.com>
38333
38334 * util/update-grub_lib.in (font_path): Search for fonts in
38335 /boot/grub first, which is more likely to be readable (we aren't
38336 deciding where fonts live, just looking for them).
38337
f527dbc8 383382008-06-26 Pavel Roskin <proski@gnu.org>
38339
6c2d8df6 38340 * util/biosdisk.c (read_device_map): Don't leave dead map
38341 entries for devices failing stat() check.
38342
f527dbc8 38343 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
38344 core_path_dev for the core.img path on the target device.
38345
aebe3d13 383462008-06-26 Robert Millan <rmh@aybabtu.com>
38347
38348 * disk/fs_uuid.c: New file.
38349 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
38350 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
38351 (fs_uuid_mod_LDFLAGS): New variables.
38352 * include/grub/disk.h (grub_disk_dev_id): Add
38353 `GRUB_DISK_DEVICE_UUID_ID'.
38354 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
38355 implement iterate().
38356
37aaf354 383572008-06-26 Robert Millan <rmh@aybabtu.com>
38358
38359 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
38360 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
38361 Linux image includes no initrd.
38362
25ff262a 383632008-06-21 Javier Martín <lordhabbit@gmail.com>
38364
38365 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
38366 call to resolve the core image location that effectively appended the
38367 name twice.
38368
76a2bd44 383692008-06-21 Robert Millan <rmh@aybabtu.com>
38370
38371 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
38372 call from here ...
38373
38374 * util/grub.d/10_hurd.in: ... to here ...
38375 * util/grub.d/10_linux.in: ... and here.
38376
650e1c79 383772008-06-19 Robert Millan <rmh@aybabtu.com>
38378
fe987087 38379 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 38380 after it has been set by grub_machine_set_prefix().
38381
6ce63911 383822008-06-19 Robert Millan <rmh@aybabtu.com>
38383
38384 * commands/search.c (search_label, search_fs_uuid, search_file): Print
38385 search result when not saving to variable, not the other way around.
38386 When saving to variable, abort iteration as soon as a match is found.
38387
73940cec 383882008-06-19 Robert Millan <rmh@aybabtu.com>
38389
38390 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
38391 check for partition that provides /boot/grub. Its logic is flawed,
38392 as it prevents prepare_grub_to_access_device() from being called
38393 multiple times.
38394
3c62a39d 383952008-06-19 Robert Millan <rmh@aybabtu.com>
38396
38397 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
38398 "insmod" command directly when abstraction modules are needed,
fe987087 38399 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 38400 since it had already been processed).
38401
47395a42 384022008-06-19 Pavel Roskin <proski@gnu.org>
38403
38404 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
38405 changed. This is needed in case GRUB_LIBDIR changes.
38406 * conf/i386-ieee1275.rmk: Likewise.
38407 * conf/i386-linuxbios.rmk: Likewise.
38408 * conf/i386-pc.rmk: Likewise.
38409 * conf/powerpc-ieee1275.rmk: Likewise.
38410
a145ac2d 384112008-06-18 Pavel Roskin <proski@gnu.org>
38412
38413 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
38414 kernel_elf_symlist.c to symlist.c for consistency with other
38415 architectures. Update all users.
38416 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38417
7847c51e 384182008-06-18 Robert Millan <rmh@aybabtu.com>
38419
38420 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
38421 it in prefix.
38422
38423 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
38424 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
38425 a RAID device, run setup() for all members independently on whether
38426 LVM abstraction is being used.
38427 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
38428 If grub-mkimage has set `*install_dos_part == -2', don't override this
38429 value.
38430 Perform *install_dos_part adjustments independently on whether
38431 we're embedding or not.
38432 Clarify error message when image is too big for embedding.
38433 Remove duplicate *install_dos_part stanza.
38434
b23e5644 384352008-06-17 Robert Millan <rmh@aybabtu.com>
38436
38437 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
38438 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
38439 variables.
38440 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
38441 values in grub_ofconsole_normal_color and
38442 grub_ofconsole_highlight_color (they're not directly related to
38443 background and foreground).
38444 (grub_ofconsole_setcolorstate): Extract background and foreground
38445 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
38446
0aac2f79 384472008-06-17 Robert Millan <rmh@aybabtu.com>
38448
38449 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
38450 /boot/grub for the check in last commit, not /boot (they could be
38451 different partitions).
38452
3cca7ef3 384532008-06-16 Robert Millan <rmh@aybabtu.com>
38454
38455 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
38456 asked to setup access for the same partition that provides /boot,
38457 don't bother using UUIDs since our root already has the value we
38458 want.
38459
347396d8 384602008-06-16 Robert Millan <rmh@aybabtu.com>
38461
38462 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
38463 I2O devices.
38464 Patch from Sven Mueller <sven@debian.org>.
38465
991477f8 384662008-06-16 Robert Millan <rmh@aybabtu.com>
38467
38468 * util/update-grub.in: Check for $EUID instead of $UID.
38469 Reported by Vincent Zweije.
38470
d31a32a1 384712008-06-16 Bean <bean123ch@gmail.com>
38472
fe987087 38473 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 38474 (grub_ext2_read_block): Likewise.
38475 (grub_ext2_read_inode): Likewise.
38476 (grub_ext2_mount): Likewise.
38477 (grub_ext2_close): Likewise.
38478 (grub_ext3_get_journal): Removed.
38479
fe987087 38480 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 38481 (grub_reiserfs_read_symlink): Likewise.
38482 (grub_reiserfs_mount): Likewise.
38483 (grub_reiserfs_open): Likewise.
38484 (grub_reiserfs_read): Likewise.
38485 (grub_reiserfs_close): Likewise.
38486 (grub_reiserfs_get_journal): Removed.
38487
38488 * fs/fshelp.c (grub_fshelp_read): Removed.
38489 (grub_fshelp_map_block): Likewise.
38490
38491 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
38492 (grub_fshelp_journal): Likewise.
38493 (grub_fshelp_read): Likewise.
38494 (grub_fshelp_map_block): Likewise.
38495
3540a760 384962008-06-16 Pavel Roskin <proski@gnu.org>
38497
38498 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
38499 floating point anymore.
38500 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
38501
95614c84 385022008-06-15 Pavel Roskin <proski@gnu.org>
38503
38504 * commands/ls.c (grub_ls_list_files): Use integer calculations
38505 for human readable format, avoid floating point use.
38506 * kern/misc.c (grub_ftoa): Remove.
38507 (grub_vsprintf): Remove floating point support.
38508
50465dd6 385092008-06-15 Robert Millan <rmh@aybabtu.com>
38510
fe6b695a 38511 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 38512 devices.
38513 Reported by Max Vozeler.
38514
a9207284 385152008-06-15 Robert Millan <rmh@aybabtu.com>
38516
38517 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
38518 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
38519 skipped later.
38520 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
38521 the beginning of the prefix.
38522
38523 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
38524 It is assumed that if we have a memdisk, grub-mkimage has set
38525 grub_prefix to include the "(memdisk)" drive in it.
38526
a7cbd45a 385272008-06-15 Robert Millan <rmh@aybabtu.com>
38528
38529 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
38530 Initialize keyboard controller after registering the terminal, so that
38531 grub_printf() can be called from grub_keyboard_controller_init().
38532
21cf716a 385332008-06-15 Robert Millan <rmh@aybabtu.com>
38534
38535 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
38536 extent-btree which is written as big endian on disk.
38537 Reported by Alain Greppin <al@chilibi.org>.
38538
23a64d8e 385392008-06-14 Robert Millan <rmh@aybabtu.com>
38540
38541 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
38542 * util/i386/pc/grub-install.in (modules): Likewise.
38543
d687651c 385442008-06-13 Pavel Roskin <proski@gnu.org>
38545
38546 * commands/ls.c (grub_ls_list_files): Fix format warnings.
38547
dfe9ddd4 385482008-06-13 Bean <bean123ch@gmail.com>
38549
38550 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
38551
38552 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
38553
38554 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
38555 to indicate sparse block.
38556
16ae7781 385572008-06-12 Pavel Roskin <proski@gnu.org>
38558
e6d1a308 38559 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
38560 number, grub_fshelp_read() does it for us.
38561
16ae7781 38562 * fs/fshelp.c (grub_fshelp_read): New function. Implement
38563 linear disk read with journal translation.
38564 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
38565 * include/grub/fshelp.h: Declare grub_fshelp_read().
38566
40fd3a2b 385672008-06-09 Pavel Roskin <proski@gnu.org>
38568
38569 * fs/minix.c (grub_minix_mount): Handle error reading
38570 superblock.
38571
f5679726 385722008-06-08 Robert Millan <rmh@aybabtu.com>
38573
38574 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
38575 don't append the RAID prefix afterwards.
38576 Reported by Clint Adams.
38577
ce525529 385782008-06-08 Robert Millan <rmh@aybabtu.com>
38579
38580 Based on description from Pavel:
38581 * kern/disk.c (grub_disk_check_range): Rename to ...
38582 (grub_disk_adjust_range): ... this. Add a comment explaining the
38583 tasks performed by this function.
38584
ad4936a0 385852008-06-08 Robert Millan <rmh@aybabtu.com>
38586
38587 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
38588 `num_serial' (for consistency with other variables).
38589 (struct grub_ntfs_data): Add `uuid' member.
38590 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
38591 (grub_ntfs_uuid): New function.
38592 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
38593
dc20b0f9 385942008-06-07 Pavel Roskin <proski@gnu.org>
38595
38596 * util/biosdisk.c (open_device): Revert last change to the
38597 function, it broke installation. The sector needs to be
38598 different dependent on which device is opened.
38599
c5e3cfba 386002008-06-06 Robert Millan <rmh@aybabtu.com>
38601
38602 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
38603 rest of GRUB, and breakage doesn't happen if its value were modified.
38604
38605 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38606 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
38607 a constant (same value).
38608 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
38609 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
38610
26a1f8c4 386112008-06-06 Robert Millan <rmh@aybabtu.com>
38612
38613 * util/biosdisk.c (open_device): Do not modify sector offset when
38614 accessing a partition. kern/disk.c already handles this for us.
38615
25d6b327 386162008-06-06 Robert Millan <rmh@aybabtu.com>
38617
38618 * util/grub-emu.c (grub_machine_init): Move code in this function from
38619 here ...
38620 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
38621 segfault in case grub_printf() is called).
38622
38623 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
38624 grub_probe. Update all users not to explicitly add it again.
38625 (grub_device): New variable; contains corresponding device for grubdir.
38626 (fs_module, partmap_module, devabstraction_module): Pass
38627 `--device ${grub_device}' to grub_probe to avoid traversing /dev
38628 every time.
38629
9ece62fb 386302008-06-05 Robert Millan <rmh@aybabtu.com>
38631
38632 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
38633 is found, print it (same layout as with labels).
38634
1ad36d37 386352008-06-04 Robert Millan <rmh@aybabtu.com>
38636
38637 * util/biosdisk.c (get_drive): Rename to ...
38638 (find_grub_drive): ... this. Update all users.
38639
38640 (get_os_disk): Rename to ...
38641 (convert_system_partition_to_system_disk): ... this. Update all users.
38642
38643 (find_drive): Rename to ...
38644 (find_system_device): ... this. Update all users.
38645
e6a30859 386462008-06-04 Robert Millan <rmh@aybabtu.com>
38647
38648 * util/biosdisk.c (get_os_disk): Handle IDA devices.
38649 * util/grub-mkdevicemap.c (get_mmc_disk_name)
38650 (make_device_map): Likewise.
38651
00c108a4 386522008-06-01 Robert Millan <rmh@aybabtu.com>
38653
38654 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
38655 before dereferencing it.
38656
38657 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
38658 union with fat12/fat16-specific ones. Add some new fields, including
38659 `num_serial' for both versions.
38660 (struct grub_fat_data): Add `uuid' member.
38661 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
38662 names. Initialize `data->uuid' using `num_serial'.
38663 (grub_fat_uuid): New function.
38664 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
38665
38666 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
38667 (grub_reiserfs_uuid): New function.
38668 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
38669 member.
38670
38671 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
38672 (grub_xfs_uuid): New function.
38673 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
38674
1385c5bb 386752008-06-01 Robert Millan <rmh@aybabtu.com>
38676
38677 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
38678 code that is backward compatible with pre-uuid search command.
38679
c682dfd7 386802008-05-31 Robert Millan <rmh@aybabtu.com>
38681
38682 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
38683 floppies after everything else, to ensure floppy drive isn't accessed
38684 unnecessarily (patch from Bean).
38685
b7db5d47 386862008-05-31 Robert Millan <rmh@aybabtu.com>
38687
38688 * commands/search.c (search_label, search_fs_uuid, search_file): Do
38689 not print device names when we were asked to set a variable.
38690
6e037aa9 386912008-05-31 Robert Millan <rmh@aybabtu.com>
38692
38693 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
38694 using "cursor-on" and "cursor-off" commands (understood at least by
38695 the Open Firmware flavour on OLPC).
38696
41305bc8 386972008-05-31 Michael Gorven <michael@gorven.za.net>
38698
38699 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
38700 on and off sequences.
38701
69ba137e 387022008-05-31 Robert Millan <rmh@aybabtu.com>
38703
38704 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
38705 * util/update-grub.in: Likewise.
38706
520ae21b 387072008-05-30 Pavel Roskin <proski@gnu.org>
38708
38709 * util/biosdisk.c (linux_find_partition): Simplify logic and
38710 make the code more universal. Keep special processing for
38711 devfs, but use a simple rule for all other devices. If the
38712 device ends with a number, append 'p' and the partition number.
38713 Otherwise, append only the partition number.
38714
5786569b 387152008-05-30 Robert Millan <rmh@aybabtu.com>
38716
38717 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
38718 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
38719 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
38720 the `root' parameter to Linux.
38721
51500452 387222008-05-30 Robert Millan <rmh@aybabtu.com>
38723
38724 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
38725 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
38726 --fs_uuid with --fs-uuid.
38727 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
38728 all filesystems support them).
38729
811d3878 387302008-05-30 Robert Millan <rmh@aybabtu.com>
38731
38732 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 38733 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 38734
cab63c95 387352008-05-30 Robert Millan <rmh@aybabtu.com>
38736
38737 * util/grub.d/00_header.in: Remove obsolete comment referencing
38738 convert_system_path_to_grub_path().
38739 * util/update-grub.in: Likewise.
38740 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
38741 (convert_system_path_to_grub_path): Add a warning message explaining
38742 that this function is deprecated. Rely on is_path_readable_by_grub()
38743 for the readability checks.
38744 (font_path): Use is_path_readable_by_grub() for the readability
38745 check rather than convert_system_path_to_grub_path().
38746
972e2f7a 387472008-05-30 Robert Millan <rmh@aybabtu.com>
38748
38749 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
38750 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
38751 converting it first.
38752 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
38753 grub.cfg for access to font file, and afterwards call it again to set
38754 the root device.
38755
62191274 387562008-05-30 Robert Millan <rmh@aybabtu.com>
38757
38758 * commands/search.c (options): Add --fs_uuid option.
38759 (search_fs_uuid): New function.
38760 (grub_cmd_search): Fix --set argument passing.
38761 Use search_fs_uuid() when requested via --fs_uuid.
38762 (grub_search_init): Update help message.
38763 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
38764 and redeclare it as an array of 16-bit words.
38765 (grub_ext2_uuid): New function.
38766 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
38767 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
38768 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
38769 (GRUB_DEVICE_BOOT_UUID): New variables.
38770 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
38771 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
38772 whenever possible.
38773 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
38774 just assume `root' variable has the right value.
38775 * util/grub.d/10_linux.in: Likewise.
38776 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
38777 via PRINT_FS_UUID.
38778 (main): Recognise `-t fs_uuid' argument.
38779
01b73ec8 387802008-05-30 Robert Millan <rmh@aybabtu.com>
38781
38782 * util/biosdisk.c (map): Redefine structure to hold information
38783 about GRUB drive name.
fe6b695a 38784 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 38785 drive names.
38786 (call_hook): Remove.
38787 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
38788 member. Assume drive has partitions.
38789 (grub_util_biosdisk_open): Access device names via `.device' struct
38790 member.
38791 (open_device): Likewise.
38792 (find_drive): Likewise.
38793 (read_device_map): Adjust map[] usage to match the new struct
38794 definition. Don't check for duplicates (still possible, but not cheap
38795 anymore).
38796 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
38797 (make_device_name): Remove assumption of BIOS-like drive names.
38798
22f16596 387992008-05-30 Pavel Roskin <proski@gnu.org>
38800
38801 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
38802 compiling execute.c doesn't need grub_script.tab.h anymore.
38803 (normal/command.c_DEPENDENCIES): Likewise.
38804 (normal/function.c_DEPENDENCIES): Likewise.
38805 * conf/i386-ieee1275.rmk: Likewise.
38806 * conf/i386-linuxbios.rmk: Likewise.
38807 * conf/i386-pc.rmk: Likewise.
38808 * conf/powerpc-ieee1275.rmk: Likewise.
38809 * conf/sparc64-ieee1275.rmk: Likewise.
38810
528ad8f2 388112008-05-29 Pavel Roskin <proski@gnu.org>
38812
d1dff95d 38813 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
38814 when scanning metadata for volume group name.
38815
528ad8f2 38816 * include/grub/script.h: Don't include grub_script.tab.h. It's
38817 a generated file, which may only be included from the files with
38818 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
38819 use union YYSTYPE, as the later allows forward declaration.
38820 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
38821
47248e08 388222008-05-29 Robert Millan <rmh@aybabtu.com>
38823
38824 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
38825 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
38826 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
38827 (grub_console_checkkey): Add grub_dprintf() call to report unknown
38828 scan codes.
38829
ee632529 388302008-05-29 Robert Millan <rmh@aybabtu.com>
38831
38832 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
38833 control key combinations.
38834
eee96e08 388352008-05-29 Robert Millan <rmh@aybabtu.com>
38836
38837 * util/powerpc/ieee1275/grub-install.in: Move from here ...
38838 * util/ieee1275/grub-install.in: ... to here.
38839 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
38840 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
38841 (grub_install_SOURCES): Likewise.
38842
da9a6a94 388432008-05-29 Robert Millan <rmh@aybabtu.com>
38844
38845 * fs/affs.c: Update copyright year.
38846 * fs/ext2.c: Likewise.
38847 * fs/fshelp.c: Likewise.
38848 * fs/hfsplus.c: Likewise.
38849 * fs/ntfs.c: Likewise.
38850 * fs/xfs.c: Likewise.
38851 * include/grub/fshelp.h: Likewise.
38852 * util/grub-mkdevicemap.c: Likewise.
38853
12e65f3a 388542008-05-28 Robert Millan <rmh@aybabtu.com>
38855
38856 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
38857 might need to be fatfs to support some firmware implementations
38858 (e.g. OFW or EFI).
38859
23023641 388602008-05-28 Robert Millan <rmh@aybabtu.com>
38861
38862 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
38863 devices.
38864 * util/grub-mkdevicemap.c (get_mmc_disk_name)
38865 (make_device_map): Likewise.
38866
887d2619 388672008-05-20 Bean <bean123ch@gmail.com>
38868
38869 * fs/fshelp.c (grub_fshelp_map_block): New function.
38870 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
38871 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
38872
38873 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
38874 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
38875 (grub_fshelp_journal): New structure.
38876 (grub_fshelp_map_block): New function prototype.
38877 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
38878 (grub_fshelp_map_block): Likewise.
38879
38880 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
38881 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
38882 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
38883 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
38884 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
38885 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
38886 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
38887 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
38888 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
38889 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
38890 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
38891 (grub_ext2_sblock): New members for journal support.
38892 (grub_ext3_journal_header): New structure.
38893 (grub_ext3_journal_revoke_header): Likewise.
38894 (grub_ext3_journal_block_tag): Likewise.
38895 (grub_ext3_journal_sblock): Likewise.
38896 (grub_fshelp_node): New members logfile and journal.
38897 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
38898 grub_fshelp_map_block to get real block number.
38899 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
38900 number.
38901 (grub_ext2_read_inode): Likewise.
38902 (grub_ext3_get_journal): New function.
38903 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
38904 (grub_ext2_close): Release memory used by journal.
38905
38906 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
38907 (REISERFS_MAGIC_DESC_BLOCK): New macro.
38908 (grub_reiserfs_transaction_header): Renamed to
38909 grub_reiserfs_description_block, replace field data with real_blocks.
38910 (grub_reiserfs_commit_block): New structure.
38911 (grub_reiserfs_data): New member journal.
38912 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
38913 number.
38914 (grub_reiserfs_read_symlink): Likewise.
38915 (grub_reiserfs_iterate_dir): Likewise.
38916 (grub_reiserfs_open): Likewise.
38917 (grub_reiserfs_read): Likewise.
38918 (grub_reiserfs_get_journal): New function.
38919 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
38920 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
38921 using grub_reiserfs_get_journal.
38922 (grub_reiserfs_close): Release memory used by journal.
38923
38924 * fs/affs.c (grub_affs_read_block): Change block type to
38925 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
38926
38927 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
38928
38929 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
38930
38931 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
38932
38933 * fs/udf.c (grub_udf_read_block): Change block type to
38934 grub_disk_addr_t. Use type cast to avoid warning.
38935
38936 * fs/xfs.c (grub_xfs_read_block): Likewise.
38937
b7c6bed5 389382008-05-16 Christian Franke <franke@computer.org>
38939
38940 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
38941 to ensure that break with ESC will always work.
38942 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
38943 Remove ESC from keyboard queue.
38944
eedf167f 389452008-05-16 Christian Franke <franke@computer.org>
38946
38947 * util/biosdisk.c: [__CYGWIN__] Add includes.
38948 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
38949 (get_os_disk): Move variable declarations to OS specific
38950 parts to avoid warning.
38951 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
38952 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
38953 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
38954 Cygwin.
38955 * util/getroot.c: [__CYGWIN__] Add includes.
38956 (strip_extra_slashes): Fix "/" case.
38957 [__CYGWIN__] (get_win32_path): New function.
38958 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
38959 [__CYGWIN__] (find_root_device): Disable.
38960 [__CYGWIN__] (get_bootsec_serial): New function.
38961 [__CYGWIN__] (find_cygwin_root_device): Likewise.
38962 [__linux__] (grub_guess_root_device): Add early returns to simplify
38963 structure.
38964 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
38965 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
38966 check for Linux only.
38967
a079699e 389682008-05-15 Bean <bean123ch@gmail.com>
38969
38970 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
38971 keyboard hang problem in apple's intel mac.
38972
1cf4059a 389732008-05-09 Robert Millan <rmh@aybabtu.com>
38974
38975 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
38976 devices.
38977 * util/grub-mkdevicemap.c (get_virtio_disk_name)
38978 (make_device_map): Likewise.
38979 Reported by Aurelien Jarno <aurel32@debian.org>
38980
ed759390 389812008-05-07 Ian Campbell <ijc@hellion.org.uk>
38982
38983 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
38984 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
38985 (make_device_map): Output entries for xvd type disks.
38986
b56c4eaa 389872008-05-07 Robert Millan <rmh@aybabtu.com>
38988
38989 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
38990 devices.
38991 * util/grub-mkdevicemap.c (get_cciss_disk_name)
38992 (make_device_map): Likewise.
38993 Reported by Roland Dreier <rdreier@cisco.com>
38994
7f8866ed 389952008-05-07 Robert Millan <rmh@aybabtu.com>
38996
38997 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
38998 grub_strstr() call. Correct a few mistakes in failure path handling.
38999
b0346e0f 390002008-05-06 Robert Millan <rmh@aybabtu.com>
39001
39002 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39003 Do not print a trailing slash (therefore, the root directory is an
39004 empty string).
39005 (convert_system_path_to_grub_path): Do not remove trailing slash
39006 from make_system_path_relative_to_its_root() output.
39007
39008 * util/i386/pc/grub-install.in: Add trailing slash to output from
39009 make_system_path_relative_to_its_root().
39010
6cf12cbd 390112008-05-06 Robert Millan <rmh@aybabtu.com>
39012
39013 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
39014 ensures that output lines aren't intermangled with those sent to
39015 stderr (via grub_util_info()).
39016 * util/grub-probe.c (grub_refresh): Likewise.
39017 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
39018
0fbb3117 390192008-05-05 Christian Franke <franke@computer.org>
39020
39021 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
39022 Add Cygwin device names.
39023 (get_ide_disk_name) [__CYGWIN__]: Likewise.
39024 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
39025 (check_device): Return error instead of success on empty name.
39026 (make_device_map): Move label inside linux specific code to
39027 prevent compiler warning.
39028
8124cdb7 390292008-04-30 Robert Millan <rmh@aybabtu.com>
39030
39031 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
39032 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
39033 first boot option.
39034 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
39035
094c01d0 390362008-04-29 Robert Millan <rmh@aybabtu.com>
39037
39038 * docs/grub.cfg: New file (example GRUB configuration).
39039
f4b1fc02 390402008-04-26 Robert Millan <rmh@aybabtu.com>
39041
329ce2a5 39042 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
39043 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
39044 and `disk/ieee1275/nand.c'.
f4b1fc02 39045
25f16ec1 390462008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 39047
25f16ec1 39048 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
39049 i386-linuxbios.
39050
39051 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
39052 change the buffer size to 4096 for cdrom device.
39053
39054 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
39055 and nand.mod.
39056 (_linux_mod_SOURCES): New variable.
39057 (_linux_mod_CFLAGS): Likewise.
39058 (_linux_mod_LDFLAGS): Likewise.
39059 (linux_mod_SOURCES): Likewise.
39060 (linux_mod_CFLAGS): Likewise.
39061 (linux_mod_LDFLAGS): Likewise.
39062 (nand_mod_SOURCES): Likewise.
39063 (nand_mod_CFLAGS): Likewise.
39064 (nand_mod_LDFLAGS): Likewise.
39065
39066 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
39067 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
39068 type property. (nand device in olpc don't have this property)
39069
39070 * include/grub/disk.h (grub_disk_dev_id): New macro
39071 GRUB_DISK_DEVICE_NAND_ID.
39072
39073 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
39074 function prototype.
39075 (grub_rescue_cmd_initrd): Likewise.
39076
39077 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
39078 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
39079 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 39080
25f16ec1 39081 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
39082 GRUB_MACHINE_IEEE1275 is defined.
39083
39084 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
39085 Use NESTED_FUNC_ATTR attribute on the hook parameter.
39086
39087 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
39088 on nested function heap_init.
39089 (grub_upper_mem): New variable for i386-ieee1275.
39090 (grub_get_extended_memory): New function for i386-ieee1275.
39091 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
39092
39093 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
39094 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
39095 property.
f19dbdb7 39096
25f16ec1 39097 * loader/i386/ieee1275/linux.c: New file.
39098
39099 * loader/i386/ieee1275/linux_normal.c: New file.
39100
39101 * disk/ieee1275/nand.c: New file.
39102
e89d61e9 391032008-04-18 Thomas Schwinge <tschwinge@gnu.org>
39104
39105 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
39106 value.
39107 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
39108
602566f6 391092008-04-18 Robert Millan <rmh@aybabtu.com>
39110
39111 Restructures early code path on ieee1275 to unify grub_main() as
39112 the first C function that is executed in every platform.
39113
39114 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
39115 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
39116 cmain().
39117 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
39118 * kern/ieee1275/cmain.c (cmain): Rename to ...
39119 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
39120 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
39121 at the beginning.
39122
57490c2b 391232008-04-18 Robert Millan <rmh@aybabtu.com>
39124
39125 * util/update-grub.in: Fix syntax error when setting
39126 `GRUB_PRELOAD_MODULES'.
39127 Reported by Stephane Chazelas <stephane@artesyncp.com>
39128
1977517d 391292008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
39130
39131 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
39132 section into account, newer toolchains generate unique build ids
39133 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 39134 we want build ids to be preserved
1977517d 39135 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
39136 far from other sections don't cause the raw binary images grow
39137 size
39138
bfb1f1a2 391392008-04-15 Robert Millan <rmh@aybabtu.com>
39140
39141 * disk/lvm.c: Update copyright year.
39142 * kern/misc.c: Likewise.
39143
01979850 391442008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39145
39146 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 39147 there is no memory left for physical volume name.
01979850 39148
0a1150e2 391492008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39150
39151 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
39152 volume name mapping to support bigger than 9 character names properly.
39153
82ead3fe 391542008-04-13 Robert Millan <rmh@aybabtu.com>
39155
39156 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
39157 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
39158
e54a72f5 391592008-04-13 Christian Franke <franke@computer.org>
39160
39161 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
39162 to create a floppy emulation boot CD when non emulation mode
39163 does not work.
39164 Enable Joliet CD filesystem extension.
39165
9fe86034 391662008-04-13 Robert Millan <rmh@aybabtu.com>
39167
39168 * kern/misc.c (grub_strncat): Fix off-by-one error.
39169 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
39170
39171 * kern/env.c (grub_env_context_close): Clear current context, not
39172 previous one.
39173 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
39174
39175 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
39176
7ceeee39 391772008-04-13 Robert Millan <rmh@aybabtu.com>
39178
39179 Improve robustness when handling LVM.
39180
39181 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 39182 (and leave `*p' unmodified).
7ceeee39 39183 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
39184 through it.
39185 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
39186 iterating through it.
39187 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
39188 through it.
fe6b695a 39189 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 39190 when due) on each grub_lvm_getvalue() or grub_strstr() call.
39191 Don't assume `vg->pvs != NULL' when iterating through it.
39192
58cd3d85 391932008-04-13 Robert Millan <rmh@aybabtu.com>
39194
39195 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
39196 * genmk.rb (partmap): New variable.
39197 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
39198 (#{partmap}): New target rule.
39199 * genpartmaplist.sh: New file.
39200 * Makefile.in (pkglib_DATA): Add partmap.lst.
39201 (partmap.lst): New target rule.
39202 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
39203 modules (including all partition maps), instead of preloading them.
39204
78b51059 392052007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
39206
39207 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
39208 `linux-boot-prober' (if installed) to detect other operating
39209 systems which are installed on the computer and add them to
39210 the boot menu.
39211 * conf/common.rmk: Build and install 30_os-prober.
39212
a91627b4 392132008-04-12 Robert Millan <rmh@aybabtu.com>
39214
39215 * kern/powerpc/ieee1275/init.c: Move from here ...
39216 * kern/ieee1275/init.c: ... to here. Update all users.
39217
39218 * kern/powerpc/ieee1275/cmain.c: Move from here ...
39219 * kern/ieee1275/cmain.c: ... to here. Update all users.
39220
39221 * kern/powerpc/ieee1275/openfw.c: Move from here ...
39222 * kern/ieee1275/openfw.c: ... to here. Update all users.
39223
39224 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
39225 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
39226
322562ea 392272008-04-10 Pavel Roskin <proski@gnu.org>
39228
39229 * configure.ac: Always use "_cv_" in cache variables for
39230 compatibility with Autoconf 2.62.
39231
a02a73c5 392322008-04-07 Robert Millan <rmh@aybabtu.com>
39233
39234 Revert grub/machine/init.h addition by Pavel (since it breaks on
39235 i386-ieee1275 and others):
39236 * util/i386/pc/misc.c: Remove grub/machine/init.h.
39237 * util/powerpc/ieee1275/misc.c: Likewise.
39238
25c024b1 392392008-04-07 Robert Millan <rmh@aybabtu.com>
39240
39241 * util/grub-probe.c (probe): Improve error message.
39242
3cbd2f98 392432008-04-07 Robert Millan <rmh@aybabtu.com>
39244
39245 * util/biosdisk.c (read_device_map): Skip devices that don't exist
39246 (this prevents the presence of a bogus entry from ruining the whole
39247 thing).
39248
87a297bf 392492008-04-06 Pavel Roskin <proski@gnu.org>
39250
36747a62 39251 * util/biosdisk.c: Include grub/util/biosdisk.h.
39252 * util/grub-fstest.c (execute_command): Make static.
39253 * util/grub-mkdevicemap.c (check_device): Likewise.
39254 * util/i386/pc/misc.c: Include grub/machine/init.h.
39255 * util/powerpc/ieee1275/misc.c: Likewise.
39256 * util/lvm.c: Include grub/util/lvm.h.
39257 * util/misc.c: Include grub/kernel.h, grub/misc.h and
39258 grub/cache.h.
39259 * util/raid.c: Include grub/util/raid.h.
39260 (grub_util_getdiskname): Make static.
39261
87a297bf 39262 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
39263 grub_hostfs_fini(), as they are called from grub_init_all() and
39264 grub_fini_all() respectively. This fixes an infinite loop in
39265 grub-fstest due to double registration of hostfs.
39266 Reported by Christian Franke <Christian.Franke@t-online.de>
39267
f6ce7629 392682008-04-05 Pavel Roskin <proski@gnu.org>
39269
39270 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
39271 all 8 functions. Otherwise, probe function 0 only.
39272
070e49e4 392732008-04-04 Pavel Roskin <proski@gnu.org>
39274
8b088a4c 39275 * commands/lspci.c (grub_lspci_iter): Print the bus number
39276 correctly.
39277
4f657021 39278 * commands/lspci.c (grub_pci_classes): Fix typos.
39279 (grub_lspci_iter): Don't print func twice. Print vendor ID
39280 before device ID, as it's normally done.
39281
070e49e4 39282 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39283 Fix signedness warnings.
39284 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
39285 Likewise.
39286 * util/ieee1275/get_disk_name.c: Include config.h so that
39287 _GNU_SOURCE is defined and getline() is declared. Mark an
39288 unused argument as such. Fix a signedness warning.
39289
ba7328dc 392902008-04-02 Pavel Roskin <proski@gnu.org>
39291
26887f22 39292 * genkernsyms.sh.in: Use more robust assignments for CC and
39293 srcdir. Quote srcdir.
39294 * gensymlist.sh.in: Likewise. Assert at the compile time that
39295 the symbol table is not empty.
39296
ba7328dc 39297 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
39298 * fs/cpio.c (grub_cpio_read): Likewise.
39299
0f582c6b 393002008-04-01 Pavel Roskin <proski@gnu.org>
39301
4b6e1995 39302 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
39303 * disk/host.c (grub_host_open): Likewise.
39304 * disk/loopback.c (grub_loopback_open): Likewise.
39305 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
39306 disk->id as in disk/host.c, not a multi-character constant.
39307
828a2768 39308 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
39309 later is obsolete, potentially dangerous and sets a bad example.
39310 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
39311 * util/misc.c (grub_util_get_image_size): Likewise.
39312
2bb4fb47 39313 * disk/loopback.c (options): Improve help for "--partitions".
39314
0f582c6b 39315 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
39316 options to align them with the short options, e.g. "echo -e".
39317
a33224e0 393182008-03-31 Bean <bean123ch@gmail.com>
39319
39320 * video/reader/png.c (grub_png_data): New member is_16bit and
39321 image_data.
39322 (grub_png_decode_image_header): Detect 16 bit png image.
39323 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
39324 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
39325 (grub_video_reader_png): Release memory occupied by image_data.
39326
39327 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
39328 4096 bytes.
39329 (grub_nfs_mount): Skip the test for sector per cluster.
39330
39331 * include/grub/ntfs.h (MAX_SPC): Removed.
39332
86cb4f54 393332008-03-31 Bean <bean123ch@gmail.com>
39334
39335 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
39336 (grub_probe_SOURCES): Add fs/afs.c.
39337 (grub_fstest_SOURCES): Likewise.
39338 (afs_mod_SOURCES): New variable.
39339 (afs_mod_CFLAGS): Likewise.
39340 (afs_mod_LDFLAGS): Likewise.
39341
39342 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
39343 (grub_emu_SOURCES): Likewise.
39344
39345 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39346
39347 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39348
39349 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39350
39351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39352
39353 * fs/afs.c: New file.
39354
17c74c21 393552008-03-30 Pavel Roskin <proski@gnu.org>
39356
4cb68e89 39357 * disk/host.c: Include grub/misc.h to fix a warning.
39358 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
39359 warnings about implicit declarations.
39360
8790bb04 39361 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
39362 variable.
39363 * include/grub/i386/loader.h: Change declaration of
39364 grub_linux_boot() to match what grub_loader_set() expects.
39365 * util/getroot.c (grub_guess_root_device): Return const char* to
39366 fix a warning.
39367 * util/grub-probe.c (probe): Fix a warning about uninitialized
39368 abstraction_name variable.
39369 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
39370 second argument as unused to fix a warning.
39371
9a3f3296 39372 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
39373 missing grub_error() call.
39374
0ecef90d 39375 * util/update-grub_lib.in: Define datarootdir, since Autoconf
39376 2.60 and newer uses it to define datadir.
39377
0bf6d401 39378 * commands/sleep.c: Fix warning about implicit declaration.
39379 * disk/memdisk.c: Likewise.
39380 * loader/aout.c: Likewise.
39381 * loader/i386/bsd_normal.c: Likewise.
39382 * util/grub-probe.c: Likewise.
39383
7cdacf97 39384 * commands/i386/cpuid.c (has_longmode): Make static.
39385 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
39386 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
39387
17c74c21 39388 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
39389 GDT. This is more robust, as %ds can change.
39390 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
39391 calling real_to_prot().
39392 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
39393
80a3e68b 393942008-03-28 Pavel Roskin <proski@gnu.org>
39395
39396 * kern/i386/pc/startup.S: Assert that uncompressed functions
39397 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
39398 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
39399 code, as they push parts of the code (error handlers) beyond
39400 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
39401 code as correctness and size.
39402
77bcd272 394032008-03-28 Pavel Roskin <proski@gnu.org>
39404
39405 * kern/i386/pc/startup.S
39406 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
39407 data block address to the real mode, keep offset minimal. This
39408 works around a bug in AWARD BIOS on old Athlon systems, which
39409 makes CD detection hang.
39410
c5dfd43b 394112008-03-26 Pavel Roskin <proski@gnu.org>
39412
39413 * normal/color.c (grub_parse_color_name_pair): Make `name' a
39414 const.
39415 * include/grub/normal.h: Add grub_parse_color_name_pair()
39416 declaration.
39417
bf962df2 394182008-03-24 Bean <bean123ch@gmail.com>
39419
39420 * disk/i386/pc/biosdisk.c (cd_start): Removed.
39421 (cd_count): Removed.
39422 (cd_drive): New variable.
39423 (grub_biosdisk_get_drive): Don't check for (cdN) device.
39424 (grub_biosdisk_call_hook): Likewise.
39425 (grub_biosdisk_iterate): Change cdrom detection method.
39426 (grub_biosdisk_open): Replace cd_start with cd_drive.
39427 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
39428 detect cdrom device.
39429
39430 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
39431 Removed.
39432 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
39433 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
39434 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
39435 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
39436 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
39437 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
39438 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
39439 (grub_biosdisk_cdrp): New structure.
39440 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
39441
39442 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
39443
39444 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
39445 device.
39446
39447 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
39448 New function.
39449
68e7fc7a 394502008-03-20 Robert Millan <rmh@aybabtu.com>
39451
39452 Remove 2 TiB limit in ata.mod.
39453 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
39454 (grub_ata_dumpinfo): Print sector count with 0x%llx.
39455 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
39456 grub_uint64_t instead of grub_uint32_t.
39457
38ad2cf5 394582008-03-05 Bean <bean123ch@gmail.com>
39459
39460 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
39461 (grub_multiboot): Set boot device.
39462
39463 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
39464
2b89344e 394652008-03-02 Bean <bean123ch@gmail.com>
39466
39467 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
39468 symlink_buffer.
39469
87a95d1f 394702008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
39471
39472 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
39473 texinfo.tex.
39474
39475 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
39476 modified.
39477
39478 * docs/fdl.texi: New file.
f19dbdb7 39479
87a95d1f 39480 * docs/mdate-sh: New file. Copied from gnulib.
39481 * docs/texinfo.tex: Likewise.
39482
39483 * config.guess: Updated from gnulib.
39484 * install-sh: Likewise.
39485
7dc15d8e 394862008-02-28 Robert Millan <rmh@aybabtu.com>
39487
39488 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
39489 (aout_mod_SOURCES): New variable.
39490 (aout_mod_CFLAGS): Likewise.
39491 (aout_mod_LDFLAGS): Likewise.
39492
39493 * conf/i386-ieee1275.rmk: Likewise.
39494
b00ab696 394952008-02-28 Robert Millan <rmh@aybabtu.com>
39496
39497 * util/update-grub.in: Reorganise terminal validity check. Accept
39498 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
39499 Based on suggestion by Franklin PIAT.
39500
79ca2d78 395012008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
39502
39503 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
39504 function.
39505 * util/getroot.c (grub_util_check_block_device): New function that
39506 returns the given argument if it is a block device and returns NULL else.
39507 * util/grub-probe.c (argument_is_device): New variable.
39508 (probe): Promote device_name from a variable to an argument. Receive
39509 device_name from grub_util_check_block_device() if path is NULL and from
39510 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 39511 (options): Introduce new parameter '-d, --device'.
79ca2d78 39512 (main): Add description of the new parameter to the help screen.
39513 Rename path variable to argument. Set argument_is_device if the '-d'
39514 option is given. Pass argument to probe() depending on
39515 argument_is_device.
39516
0d16e571 395172008-02-24 Bean <bean123ch@gmail.com>
39518
39519 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
39520 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
39521 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
39522 (GRUB_ISO9660_VOLDESC_PART): Likewise.
39523 (GRUB_ISO9660_VOLDESC_END): Likewise.
39524 (grub_iso9660_primary_voldesc): New member escape.
39525 (grub_iso9660_data): New member joliet.
39526 (grub_iso9660_convert_string): New function.
39527 (grub_iso9660_mount): Detect joliet extension.
39528 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
39529 (grub_iso9660_iso9660_label): Likewise.
39530
39531 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
39532 (grub_setup_SOURCES): Add fs/udf.c.
39533 (grub_fstest_SOURCES): Likewise.
39534 (udf_mod_SOURCES): New variable.
39535 (udf_mod_CFLAGS): Likewise.
39536 (udf_mod_LDFLAGS): Likewise.
39537
39538 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
39539 (grub_emu_SOURCES): Likewise.
39540
39541 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39542
39543 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39544
39545 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39546
39547 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39548
39549 * fs/udf.c: New file.
39550
8a594a17 395512008-02-24 Robert Millan <rmh@aybabtu.com>
39552
39553 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
39554 (normal/lexer.c_DEPENDENCIES): New variables.
39555 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39556 (normal/lexer.c_DEPENDENCIES): Likewise.
39557 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
39558 (normal/lexer.c_DEPENDENCIES): Likewise.
39559 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
39560 (normal/lexer.c_DEPENDENCIES): Likewise.
39561 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39562 (normal/lexer.c_DEPENDENCIES): Likewise.
39563 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39564 (normal/lexer.c_DEPENDENCIES): Likewise.
39565
2dc33c03 395662008-02-23 Robert Millan <rmh@aybabtu.com>
39567
39568 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
39569 since they were intended to be in hex. This didn't break previously
39570 because of a bug in gpt_partition_map_iterate() (see below).
39571
39572 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
39573 when checking the validity of GPT header.
39574 Remove `partno', since it always provides the same information as `i'.
39575
f6f4cfb0 395762008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
39577
39578 * include/grub/efi/time.h: Fix a wrong comment.
39579
79ff665f 395802008-02-19 Pavel Roskin <proski@gnu.org>
39581
39582 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
39583 message.
39584
d38e24c2 395852008-02-19 Bean <bean123ch@gmail.com>
39586
39587 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
39588 (aout_mod_SOURCES): New variable.
39589 (aout_mod_CFLAGS): Likewise.
39590 (aout_mod_LDFLAGS): Likewise.
39591 (_bsd_mod_SOURCES): New variable.
39592 (_bsd_mod_CFLAGS): Likewise.
39593 (_bsd_mod_LDFLAGS): Likewise.
39594 (bsd_mod_SOURCES): New variable.
39595 (bsd_mod_CFLAGS): Likewise.
39596 (bsd_mod_LDFLAGS): Likewise.
39597
39598 * include/grub/aout.h: New file.
39599
39600 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
39601
39602 * include/grub/i386/bsd.h: New file.
39603
39604 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
39605 to make it public.
39606
39607 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
39608 function is called, so that it's possible to change it inside the hook.
39609 (grub_elf64_load): Likewise.
39610 (grub_elf_file): Don't close the file if elf header is not found.
39611 (grub_elf_close): Close the file if grub_elf_file fails (The new
39612 grub_elf_file won't close it).
39613 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
39614 (grub_elf64_size): Likewise.
39615
39616 * kern/i386/loader.S (grub_unix_real_boot): New function.
39617
39618 * loader/aout.c: New file.
39619
39620 * loader/i386/bsd.c: New file.
39621
39622 * loader/i386/bsd_normal.c: New file.
39623
39624 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
39625
39626 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 39627 can test other formats.
d38e24c2 39628
b93bdb0f 396292008-02-19 Robert Millan <rmh@aybabtu.com>
39630
39631 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
39632 (grub_gpt_partition_type_empty): Redefine with macro from
39633 `<grub/gpt_partition.h>'.
39634 (gpt_partition_map_iterate): Adjust partition type comparison.
39635
39636 Export `entry' as partmap-specific `part.data' struct.
39637 (grub_gpt_header, grub_gpt_partentry): Move from here ...
39638
39639 * include/grub/gpt_partition.h (grub_gpt_header)
39640 (grub_gpt_partentry): ... to here (new file).
39641
39642 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
39643
39644 (grub_gpt_partition_type_bios_boot): New const variable, defined
39645 with macro from `<grub/gpt_partition.h>'.
39646
39647 (setup): Replace `first_start' with `embed_region', which keeps
39648 track of the embed region (and is partmap-agnostic).
39649
39650 Replace find_first_partition_start() with find_usable_region(),
39651 which finds a usable region for embedding using partmap-specific
39652 knowledge (supports PC/MSDOS and GPT).
39653
39654 Fix all assumptions that the embed region start at sector 1, using
39655 `embed_region.start' from now on. Similarly, use `embed_region.end'
39656 rather than `first_start' to calculate available size.
39657
39658 In grub_util_info() message, replace "into after the MBR" with an
39659 indication of the specific sector our embed region starts at.
39660
66cb40f6 396612008-02-19 Robert Millan <rmh@aybabtu.com>
39662
39663 * DISTLIST: Replace `commands/ieee1275/halt.c' and
39664 `commands/ieee1275/reboot.c' with `commands/halt.c' and
39665 `commands/reboot.c'.
39666 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
39667 (halt_mod_SOURCES): Likewise.
39668 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
39669 (halt_mod_SOURCES): Likewise.
39670
b7202015 396712008-02-17 Christian Franke <franke@computer.org>
39672
39673 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
39674
32b0fc49 396752008-02-17 Robert Millan <rmh@aybabtu.com>
39676
39677 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
39678 set `first_start' to 0 for non-PC/MSDOS partition maps.
39679
aca63502 396802008-02-16 Robert Millan <rmh@aybabtu.com>
39681
39682 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
39683 do not assume partition map is PC/MSDOS before performing checks that
39684 are specific to that layout.
39685
0de8be86 396862008-02-13 Robert Millan <rmh@aybabtu.com>
39687
39688 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
39689 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
39690 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
39691
c3db8364 396922008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
39693
39694 * configure.ac: Only a cosmetic change on the handling of
39695 -fno-stack-protector.
39696
f714229e 396972008-02-12 Alexandre Boeglin <alex@boeglin.org>
39698
c3db8364 39699 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
39700 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
39701 reboot.c.
f714229e 39702 (grub_install_SOURCES): Add halt.mod and reboot.mod.
39703 (halt_mod_SOURCES): New variable.
39704 (halt_mod_CFLAGS): Likewise.
39705 (halt_mod_LDFLAGS): Likewise.
39706 (reboot_mod_SOURCES): Likewise.
39707 (reboot_mod_CFLAGS): Likewise.
39708 (reboot_mod_LDFLAGS): Likewise.
39709
c3db8364 39710 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
39711 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
39712 reboot.c.
f714229e 39713 (halt_mod_SOURCES): Likewise.
39714 (reboot_mod_SOURCES): Likewise.
39715
c3db8364 39716 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
39717 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 39718 (reboot_mod_SOURCES): Likewise.
39719
39720 * commands/i386/pc/reboot.c: merge this file ...
39721
39722 * commands/ieee1275/reboot.c: ... and this file ...
39723
39724 * commands/reboot.c: ... to this file.
c3db8364 39725 Add some precompiler directive to include the correct header for
39726 each machine.
f714229e 39727
39728 * commands/ieee1275/halt.c: move this file ...
39729
39730 * commands/halt.c: ... to here.
c3db8364 39731 Add some precompiler directive to include the correct header for
39732 each machine.
f714229e 39733
39734 * include/grub/efi/efi.h (grub_reboot): New function declaration.
39735 (grub_halt): Likewise.
39736
39737 * kern/efi/efi.c (grub_reboot): New function.
39738 (grub_halt): Likewise.
39739
c74493e0 397402008-02-12 Robert Millan <rmh@aybabtu.com>
39741
39742 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
39743 /dev (like it is done for /dev/mapper). This doesn't provide support
39744 for EVMS, but at least it is now easy to identify the problem when it
39745 arises.
39746
d0db4b04 397472008-02-11 Robert Millan <rmh@aybabtu.com>
39748
39749 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
39750 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
39751 comparing it with -1, not 0.
39752
bf748642 397532008-02-10 Robert Millan <rmh@aybabtu.com>
39754
39755 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
39756 `disk/lvm.c'.
39757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39758 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
39759
39760 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
39761 `disk/lvm.c' to the end of the list.
39762 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39763 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39764
b5db202a 397652008-02-10 Robert Millan <rmh@aybabtu.com>
39766
39767 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
39768 grub_print_error() instead. This will let user know why we're entering
39769 rescue mode.
39770 Based on suggestions from Sam Morris.
39771
83abee31 397722008-02-10 Alexandre Boeglin <alex@boeglin.org>
39773
39774 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
39775 on remaining N args, instead of "--" arg N times.
39776
78d5a08b 397772008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
39778
39779 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
39780 (fill_with_default_glyph): Changed to use unknown_glyph for fill
39781 pattern for unknown glyphs.
39782
68807e5f 397832008-02-09 Robert Millan <rmh@aybabtu.com>
39784
39785 * configure.ac: Probe for `help2man'.
39786 * Makefile.in (builddir): New variable.
39787 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
39788 or otherwise add a few flags/options to it.
39789 (install-local): For every executable utility or script that is
39790 installed, invoke $(HELP2MAN) to install a manpage based on --help
39791 output.
39792
39793 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
39794 that it doesn't prevent --help from working in build tree.
39795
39796 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
39797 with `bug-grub@gnu.org'.
39798 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
39799 * util/update-grub.in (usage): New function.
39800 Implement proper argument check, with support for --help and --version
39801 (as well as existing -y).
39802
398032008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 39804
39805 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
39806 avoid overwriting previous output.
39807 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
39808
c1962162 398092008-02-09 Robert Millan <rmh@aybabtu.com>
39810
39811 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
39812 drawing the menu.
39813
3dac2e3f 398142008-02-09 Robert Millan <rmh@aybabtu.com>
39815
39816 * commands/sleep.c: New file.
39817 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
39818 (sleep_mod_SOURCES): New variable.
39819 (sleep_mod_CFLAGS): Likewise.
39820 (sleep_mod_LDFLAGS): Likewise.
39821
7a634e08 398222008-02-09 Robert Millan <rmh@aybabtu.com>
39823
39824 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
39825 situations in which we can deduce the RAID size and the superblock
39826 doesn't match it.
39827
b92f0c18 398282008-02-09 Robert Millan <rmh@aybabtu.com>
39829
39830 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
39831 and return a grub_diskmemberlist_t composed of LVM physical volumes.
39832 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
39833
39834 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
39835 and return a grub_diskmemberlist_t composed of physical array members.
39836 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
39837
39838 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
39839 prototype.
39840 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
39841 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
39842 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
39843
39844 * util/grub-probe.c (probe): Move partmap probing code from here ...
39845 (probe_partmap): ... to here.
39846 (probe): Use probe_partmap() once for the disk we're probing, and
39847 additionally, when such disk contains a memberlist() struct member,
39848 once for each disk that is contained in the structure returned by
39849 memberlist().
39850
91a4bf68 398512008-02-09 Robert Millan <rmh@aybabtu.com>
39852
39853 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
39854 environment variable to 'all' in order to obtain debug output from
39855 non-util/ code.
39856 * util/i386/pc/grub-setup.c (main): Likewise.
39857
a96f9caa 398582008-02-08 Robert Millan <rmh@aybabtu.com>
39859
39860 * disk/raid.c (grub_raid_scan_device): Check for
39861 `array->device[sb.this_disk.number]' rather than for
39862 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 39863 guaranteed to be accessible.
a96f9caa 39864
b37a9222 398652008-02-08 Robert Millan <rmh@aybabtu.com>
39866
39867 * disk/raid.c: Update copyright.
39868 * fs/cpio.c: Likewise.
39869 * include/grub/raid.h: Likewise.
39870 * loader/i386/pc/multiboot.c: Likewise.
39871 * util/hostfs.c: Likewise.
39872
5626aee1 398732008-02-08 Robert Millan <rmh@aybabtu.com>
39874
39875 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
39876 to a grub_disk_t array.
39877 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
39878 `device[x]'.
39879 (grub_raid_scan_device): Replace `device[x].name' accesses with
39880 `device[x]->name'. Simplify initialization of `array->device[x]'.
39881
554f0187 398822008-02-08 Robert Millan <rmh@aybabtu.com>
39883
39884 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
39885 grub_dprintf() calls.
39886 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
39887 error message.
39888
1ec8425d 398892008-02-07 Christian Franke <franke@computer.org>
39890
39891 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
39892 instead of fseek and ftell to support large files.
39893 (grub_hostfs_read): Likewise.
39894
f2156fda 398952008-02-07 Robert Millan <rmh@aybabtu.com>
39896
39897 Patch from Jeroen Dekkers.
39898 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 39899 failure, since successfully reading all array members might not be
f2156fda 39900 required.
39901
9216e0e7 399022008-02-06 Robert Millan <rmh@aybabtu.com>
39903
39904 * util/grub-probe.c (probe): Simplify partmap probing (with the
39905 assumption that the first word up to the underscore equals to
39906 the module name).
39907
b0dfd29a 399082008-02-06 Christian Franke <franke@computer.org>
39909
39910 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
39911 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
39912 last block of a cpio or tar stream.
39913 Check for "TRAILER!!!" instead of any empty data
39914 block to detect last block of a cpio stream.
39915 (grub_cpio_dir): Fix constness of variable np.
39916 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
39917 cpio or tar trailer is detected. This fixes a crash
39918 on open of a non existing file.
39919
c32865bf 399202008-02-05 Bean <bean123ch@gmail.com>
39921
39922 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
39923 address of entry.
39924 (grub_multiboot_load_elf64): Likewise.
39925 (grub_multiboot): Initialize mbi structure.
39926
39927 * util/grub-fstest.c: Don't include unused header file script.h.
39928
fe6b695a 39929 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 39930 of file.
39931 (grub_fstest_SOURCES): Likewise.
39932
409480b7 399332008-02-05 Robert Millan <rmh@aybabtu.com>
39934
39935 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
39936 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
39937 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
39938 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
39939
39940 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
39941 (translation_table): Replace hardcoded values with macros
39942 provided by `<grub/term.h>'.
39943
39944 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
39945 (keyboard_map): Correct/add a few values, with macros provided
39946 by `<grub/term.h>'.
39947 (keyboard_map_shift): Zero values that don't differ from their
39948 `keyboard_map' equivalents.
39949 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
39950 Discard the second scan code that is always sent by Caps lock.
39951 Only use `keyboard_map_shift' when it provides a non-zero value,
39952 otherwise fallback to `keyboard_map'.
39953
99fadbaa 399542008-02-04 Bean <bean123ch@gmail.com>
39955
39956 * Makefile.in (enable_grub_fstest): New variable.
39957
39958 * conf/common.rmk (grub_fstest_init.lst): New rule.
39959 (grub_fstest_init.h): Likewise.
39960 (grub_fstest_init.c): Likewise.
39961 (util/grub-fstest.c_DEPENDENCIES): New variable.
39962 (grub_fstest_SOURCES): Likewise.
39963
39964 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
39965
39966 * util/grub-fstest.c: New file.
39967
bf567c50 399682008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39969
39970 Make grub-setup handle a separate root device.
f19dbdb7 39971
bf567c50 39972 * util/i386/pc/grub-setup.c (setup): Always open the root device,
39973 so that the root device can be compared with the destination
39974 device.
39975 When embedding the core image, if the root and destination devices
39976 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
39977 0xFF.
39978 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 39979
9be6b98b 399802008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39981
39982 Add support for having a grub directory in a different drive. This
39983 is still only the data handling part.
f19dbdb7 39984
9be6b98b 39985 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
39986 (codestart): Save %dh in GRUB_ROOT_DRIVE.
39987 (grub_root_drive): New variable.
39988
39989 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
39990 instead of GRUB_BOOT_DRIVE to construct a device name. Set
39991 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
39992 as it was.
39993
39994 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
39995
39996 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
39997 macro.
39998 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
39999
40000 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
40001 is bogus, because PXE booting does not specify any drive
40002 correctly.
40003
40004 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
40005 am not sure if this is really correct.
40006
40007 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
40008 is always identical to the boot drive when booting from a CD.
40009
40010 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
40011 longer.
40012 (root_drive): New variable.
40013 (real_start): Unconditionally set %dh to ROOT_DRIVE.
40014 (setup_sectors): Push %dx right after popping it, because %dh will
40015 be modified later.
40016 (copy_buffer): Restore %dx.
40017
e0ca0677 400182008-02-03 Robert Millan <rmh@aybabtu.com>
40019
40020 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
40021 use `cdboot.img' for cdrom images.
40022
3b3f6629 400232008-02-03 Robert Millan <rmh@aybabtu.com>
40024
40025 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
40026 only setup gfxterm when `font' command has succeeded.
40027
d42b3672 400282008-02-03 Robert Millan <rmh@aybabtu.com>
40029
40030 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
40031 (grub_rescue_cmd_multiboot_loader)
40032 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
40033
fa370ea6 400342008-02-03 Pavel Roskin <proski@gnu.org>
40035
e0c5dacb 40036 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 40037 %edx and %esi from stack only after grub_gate_a20() is called.
40038 grub_gate_a20() clobbers %edx.
40039
f2a76e1d 400402008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40041
40042 * configure.ac (AC_INIT): Bumped to 1.96.
40043
40044 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
40045 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
40046 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
40047 video/readers/png.c.
40048
90fd32d1 400492008-02-03 Bean <bean123ch@gmail.com>
9be665dd 40050
40051 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
40052 (cdboot_img_SOURCES): New variable.
40053 (cdboot_img_ASFLAGS): New variable.
40054 (cdboot_img_LDFLAGS): New variable.
40055
40056 * boot/i386/pc/cdboot.S: New file.
40057
40058 * disk/i386/pc/biosdisk.c (cd_start): New variable.
40059 (cd_count): Likewise.
40060 (grub_biosdisk_get_drive): Add support for cd device.
40061 (grub_biosdisk_call_hook): Likewise.
40062 (grub_biosdisk_iterate): Likewise.
40063 (grub_biosdisk_open): Likewise.
40064 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
40065 (grub_biosdisk_rw): Support reading from cd device.
40066 (GRUB_MOD_INIT): Iterate cd devices.
40067
40068 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
40069 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
40070 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
40071
40072 * kern/i386/pc/init.c (make_install_device): Check for cd device.
40073
4020aa53 400742008-02-02 Robert Millan <rmh@aybabtu.com>
40075
40076 * commands/read.c: New file.
40077 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
40078 (read_mod_SOURCES): New variable.
40079 (read_mod_CFLAGS): Likewise.
40080 (read_mod_LDFLAGS): Likewise.
40081
e03a1132 400822008-02-02 Robert Millan <rmh@aybabtu.com>
40083
40084 * normal/main.c (grub_normal_execute): Check for `menu->size' when
40085 determining whether menu has to be displayed.
40086
58c69220 400872008-02-02 Marco Gerards <marco@gnu.org>
40088
40089 * bus/pci.c: New file.
40090
40091 * include/grub/pci.h: Likewise.
40092
40093 * include/grub/i386/pc/pci.h: Likewise.
40094
40095 * commands/lspci.c: Likewise.
40096
40097 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
40098 `lspci.mod'.
40099 (pci_mod_SOURCES): New variable.
40100 (pci_mod_CFLAGS): Likewise.
40101 (pci_mod_LDFLAGS): Likewise.
40102 (lspci_mod_SOURCES): Likewise.
40103 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 40104 (lspci_mod_LDFLAGS): Likewise.
58c69220 40105
c004e1b4 401062008-02-02 Bean <bean123ch@gmail.com>
40107
40108 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
40109 (grub_ufs_get_file_block): Fix indirect block calculation problem.
40110
40111 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
40112 (grub_xfs_btree_node): New structure.
40113 (grub_xfs_btree_root): New structure.
40114 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
40115 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
40116 (GRUB_XFS_EXTENT_BLOCK): Likewise.
40117 (GRUB_XFS_EXTENT_SIZE): Likewise.
40118 (grub_xfs_read_block): Support btree format type.
40119 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
40120 Use directory block as basic unit.
40121
40122 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
40123
40124 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
40125 __attribute__ ((__regparm__ (1))).
40126
f95562bf 401272008-02-01 Robert Millan <rmh@aybabtu.com>
40128
40129 Correct a mistake in previous commit.
40130
40131 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
40132 top.
40133 (normal/command.c_DEPENDENCIES): New variable.
40134
7d31f41f 401352008-02-01 Robert Millan <rmh@aybabtu.com>
40136
40137 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
40138 top.
40139 (normal/command.c_DEPENDENCIES): New variable.
40140 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
40141 * conf/i386-ieee1275.rmk: Likewise.
40142 * conf/i386-linuxbios.rmk: Likewise.
40143 * conf/i386-pc.rmk: Likewise.
40144 * conf/sparc64-ieee1275.rmk: Likewise.
40145 * conf/powerpc-ieee1275.rmk: Likewise.
40146 (grub_emu_SOURCES): Add `fs/fshelp.c'.
40147
40148 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
40149
60b6be74 401502008-02-01 Robert Millan <rmh@aybabtu.com>
40151
40152 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
40153 call at beginning of function.
40154
078522ab 401552008-01-31 Pavel Roskin <proski@gnu.org>
40156
40157 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 40158 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
40159 (grub_mkrescue_SOURCES): Likewise.
078522ab 40160 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
40161
ccaa8a5f 401622008-01-30 Robert Millan <rmh@aybabtu.com>
40163
40164 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
40165 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
40166 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
40167 (grub_probe_SOURCES): ... to here.
40168
40169 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
40170 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
40171 * conf/i386-ieee1275.rmk: Likewise.
40172 * conf/i386-linuxbios.rmk: Likewise.
40173 * conf/powerpc-ieee1275.rmk: Likewise.
40174
ae5a9cd7 401752008-01-30 Tristan Gingold <gingold@free.fr>
40176
40177 * kern/rescue.c: Silently accept empty lines.
40178
70bc2ef2 401792008-01-29 Bean <bean123ch@gmail.com>
40180
40181 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
40182 (real_code_2): Code cleanup and change comment style.
40183 (move_memory): Avoid using 32-bit address mode.
40184
6a4d50ea 401852008-01-29 Bean <bean123ch@gmail.com>
40186
40187 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
40188 (png_mod_SOURCES): New variable.
40189 (png_mod_CFLAGS): Likewise.
40190 (png_mod_LDFLAGS): Likewise.
40191
40192 * video/readers/png.c: New file.
40193
11cc30ac 401942008-01-28 Robert Millan <rmh@aybabtu.com>
40195
40196 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
40197 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
40198 `ifndef GRUB_MOD_GAP' hack.
40199 * util/elf/grub-mkimage.c (add_segments): Likewise.
40200
3abc589f 402012008-01-27 Robert Millan <rmh@aybabtu.com>
40202
40203 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
40204 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 40205 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 40206
e1907778 402072008-01-27 Robert Millan <rmh@aybabtu.com>
40208
40209 Get grub-emu to build again (including parallel builds).
40210
40211 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
40212 Split into ...
40213 (util/grub-emu.c_DEPENDENCIES): ... this, ...
40214 (normal/execute.c_DEPENDENCIES): ... this, ...
40215 (grub-emu_DEPENDENCIES): ... and this.
40216
40217 * conf/i386-efi.rmk: Likewise.
40218 * conf/i386-linuxbios.rmk: Likewise.
40219 * conf/i386-ieee1275.rmk: Likewise.
40220 * conf/powerpc-ieee1275.rmk: Likewise.
40221 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
40222
2216b101 402232008-01-27 Robert Millan <rmh@aybabtu.com>
40224
40225 * NEWS: Add a few items.
40226
f75172d9 402272008-01-27 Robert Millan <rmh@aybabtu.com>
40228
40229 Fix parallel builds with grub-emu. Based on earlier commit for
40230 grub-probe and grub-setup.
40231
40232 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40233 (util/grub-emu.c_DEPENDENCIES): ... this.
40234 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40235 (util/grub-emu.c_DEPENDENCIES): ... this.
40236 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40237 (util/grub-emu.c_DEPENDENCIES): ... this.
40238 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40239 (util/grub-emu.c_DEPENDENCIES): ... this.
40240 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40241 (util/grub-emu.c_DEPENDENCIES): ... this.
40242
3f51de77 402432008-01-27 Pavel Roskin <proski@gnu.org>
40244
40245 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
40246 to create a gap between _end and the modules added to the image
40247 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
40248 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
40249 * util/elf/grub-mkimage.c (add_segments): Likewise.
40250
2033f53e 402512008-01-26 Pavel Roskin <proski@gnu.org>
40252
40253 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
40254 just return an error.
40255
22da1f6f 402562008-01-26 Bean <bean123ch@gmail.com>
40257
40258 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
40259 (grub_reiserfs_get_item): Save offset of the next item.
40260 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
40261
2a9525e6 402622008-01-25 Robert Millan <rmh@aybabtu.com>
40263
40264 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
40265 make all filesystem sources appear together (possibly fixing omissions
40266 while at it).
40267 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40268 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40269 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40270 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40271
40272 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
40273 add `kern/file.c'.
40274 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
40275 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
40276 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
40277 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
40278
40279 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
40280 (probe): Add a sanity check to make sure of our ability to read
40281 requested files when probing for filesystem type.
40282
40283 * genmk.rb: Update copyright year (2007).
40284
40285 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
40286 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
40287 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
40288 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
40289 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
40290 : Remove function prototypes.
40291
b95f71b5 402922008-01-25 Robert Millan <rmh@aybabtu.com>
40293
40294 Revert my previous commits (based on wrong assumption of how grub_errno
40295 works).
40296
fe6b695a 40297 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 40298 * kern/file.c (grub_file_open): Likewise.
40299
d08bbb49 403002008-01-24 Pavel Roskin <proski@gnu.org>
40301
40302 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
40303 that hang if GRUB tries to setup colors.
40304 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
40305 colors for firmwares that don't support it.
40306 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
40307 Recognize Open Hack'Ware, set flags to work around its
40308 limitations.
40309
605e36ed 403102008-01-24 Robert Millan <rmh@aybabtu.com>
40311
40312 * kern/file.c (grub_file_open): Do not account previous failures of
40313 unrelated functions when grub_errno is checked for.
40314 Reported by Oleg Strikov.
40315
bac332a1 403162008-01-24 Bean <bean123ch@gmail.com>
40317
40318 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
40319 (grub_ufs_sblock): New member volume name.
40320 (grub_ufs_find_file): Fix string copy bug.
40321 (grub_ufs_label): Implement this function properly.
40322
40323 * fs/hfs.c (grub_hfs_cnid_type): New enum.
40324 (grub_hfs_iterate_records): Use the correct file number for extents
40325 and catalog file. Fix problem in next index calculation.
40326 (grub_hfs_find_node): Replace recursive function call with loop.
40327 (grub_hfs_iterate_dir): Replace recursive function call with loop.
40328
15c80c09 403292008-01-23 Robert Millan <rmh@aybabtu.com>
40330
40331 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
40332 `<grub/symbol.h>' and `<grub/multiboot.h>'.
40333 (grub_multiboot2_real_boot): New function prototype.
40334
40335 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
40336 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
40337
40338 * kern/i386/ieee1275/init.c (grub_os_area_addr)
40339 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
40340
305338fd 403412008-01-23 Robert Millan <rmh@aybabtu.com>
40342
40343 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
40344 #ifdef'ed out grub_printf().
40345
3ea52685 403462008-01-23 Robert Millan <rmh@aybabtu.com>
40347
40348 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
40349 grub_dprintf calls, since they make "debug=all" mode unusable.
40350 (grub_console_checkkey): Likewise.
40351
5882ae4b 403522008-01-23 Robert Millan <rmh@aybabtu.com>
40353
40354 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40355 `term/i386/pc/at_keyboard.c'.
40356 (pkglib_MODULES): Add `serial.mod'.
40357 (serial_mod_SOURCES): New variable.
40358 (serial_mod_CFLAGS): Likewise.
40359 (serial_mod_LDFLAGS): Likewise.
40360
40361 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
40362 `<grub/powerpc/ieee1275/console.h>'.
40363 (grub_keyboard_controller_init): New function prototype.
40364 (grub_console_checkkey): Likewise.
40365 (grub_console_getkey): Likewise.
40366
40367 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
40368 keyboard on i386.
40369
40370 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
40371 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
40372
06ab5303 403732008-01-23 Robert Millan <rmh@aybabtu.com>
40374
40375 * kern/i386/pc/init.c (make_install_device): When memdisk image is
40376 present, "(memdisk)/boot/grub" becomes the default prefix.
40377
40378 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
40379 a memdisk tarball with all the modules. Add --overlay=DIR option that
40380 allows users to overlay additional files into the image.
40381
dbb475a4 403822008-01-23 Robert Millan <rmh@aybabtu.com>
40383
40384 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
40385 and `machine/memory.h'.
40386 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
40387 (_multiboot_mod_SOURCES): New variable.
40388 (_multiboot_mod_CFLAGS): Likewise.
40389 (_multiboot_mod_LDFLAGS): Likewise.
40390 (multiboot_mod_SOURCES): Likewise.
40391 (multiboot_mod_CFLAGS): Likewise.
40392 (multiboot_mod_LDFLAGS): Likewise.
40393
40394 * include/grub/i386/ieee1275/loader.h: New file.
40395
40396 * include/grub/i386/ieee1275/machine.h: Likewise.
40397
40398 * include/grub/i386/ieee1275/memory.h: Likewise.
40399
40400 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
40401 variable declaration.
40402 (grub_os_area_size): Likewise.
40403
40404 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
40405 (grub_lower_mem, grub_upper_mem): New variables.
40406 (grub_stop_floppy): New function (just to make
40407 grub_multiboot2_real_boot() happy).
40408
40409 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
40410 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
40411 (grub_stop): New function.
40412 Include `"../realmode.S"' and `"../loader.S"'.
40413
40414 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
40415 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
40416
40417 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
40418 rely on grub_multiboot2_real_boot() for final boot.
40419
25638629 404202008-01-22 Robert Millan <rmh@aybabtu.com>
40421
40422 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
40423 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
40424 device that doesn't look like an SD card.
40425 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
40426 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
40427 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
40428 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
40429 found.
40430
9dad816d 404312008-01-22 Robert Millan <rmh@aybabtu.com>
40432
40433 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
40434 avoid claiming over our own code.
40435
34842f2d 404362008-01-22 Bean <bean123ch@gmail.com>
40437
40438 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
40439 (jpeg_mod_SOURCES): New variable.
40440 (jpeg_mod_CFLAGS): Likewise.
40441 (jpeg_mod_LDFLAGS): Likewise.
40442
40443 * video/readers/jpeg.c : New file.
40444
44023a28 404452008-01-22 Bean <bean123ch@gmail.com>
40446
40447 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
40448 there are no more items.
40449
bc2d8ac6 404502008-01-21 Robert Millan <rmh@aybabtu.com>
40451
40452 * kern/mm.c (grub_mm_init_region): Improve debug message.
40453
261bd4bc 404542008-01-21 Robert Millan <rmh@aybabtu.com>
40455
40456 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
40457 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
40458 address.
40459 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
40460 a C macro.
40461 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
40462 Indicates start of upper memory.
40463 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
40464 (generate_image): Abort when image size is big enough to corrupt
40465 upper memory.
40466
40467 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
40468 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
40469 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
40470 instead of hardcoding 0xA0000.
40471 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
40472 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
40473 instead of hardcoding 0xA0000.
40474
f970b55e 404752008-01-21 Robert Millan <rmh@aybabtu.com>
40476
40477 * disk/memdisk.c (memdisk_size): New variable.
40478 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
40479 `memdisk_size'.
40480 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
40481 image to dynamic memory.
40482 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
40483 `memdisk_size'. Free memdisk block.
40484
1a8b0526 404852008-01-21 Robert Millan <rmh@aybabtu.com>
40486
40487 Fix detection of very small filesystems (like tar).
40488
40489 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
40490 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
40491 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
40492 a problem with this disk).
40493
6e9b4aab 404942008-01-21 Robert Millan <rmh@aybabtu.com>
40495
40496 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
40497 on grub_biosdisk_rw_standard() error.
40498
0d8837b2 404992008-01-21 Robert Millan <rmh@aybabtu.com>
40500
40501 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
40502 recent changes.
40503 * kern/elf.c: Likewise.
40504 * kern/ieee1275/ieee1275.c: Likewise.
40505 * kern/powerpc/ieee1275/openfw.c: Likewise.
40506 * term/ieee1275/ofconsole.c: Likewise.
40507
ffd36e34 405082008-01-21 Robert Millan <rmh@aybabtu.com>
40509
40510 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
40511
3f0093d0 40512 * include/grub/kernel.h (grub_arch_memdisk_addr)
40513 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 40514
3f0093d0 40515 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
40516 (grub_arch_memdisk_size): ... to here.
ffd36e34 40517
6c391b21 405182008-01-21 Robert Millan <rmh@aybabtu.com>
40519
40520 Mostly based on bugfix from Bean.
40521
40522 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
40523 attribute with hook() parameter.
40524 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
40525 declaration.
40526 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
40527 attribute with hook() parameter.
40528 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
40529 declaration.
40530
55a581dc 405312008-01-21 Robert Millan <rmh@aybabtu.com>
40532
40533 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
40534 (pkglib_MODULES): Add `memdisk.mod'.
40535 (memdisk_mod_SOURCES): New variable.
40536 (memdisk_mod_CFLAGS): Likewise.
40537 (memdisk_mod_LDFLAGS): Likewise.
40538
40539 * disk/memdisk.c: New file.
40540
40541 * include/grub/disk.h (grub_disk_dev_id): Add
40542 `GRUB_DISK_DEVICE_MEMDISK_ID'.
40543
40544 * include/grub/i386/pc/kernel.h
40545 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
40546 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
40547 (grub_kernel_image_size): New variable declaration.
40548 (grub_total_module_size): Likewise.
40549 (grub_memdisk_image_size): Likewise.
40550
40551 * include/grub/i386/pc/memory.h
40552 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
40553
40554 * include/grub/kernel.h: Include `<grub/symbol.h>'.
40555 (grub_arch_memdisk_addr): New variable declaration.
40556 (grub_arch_memdisk_size): Likewise.
40557
40558 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
40559 (grub_arch_memdisk_size): Likewise.
40560
40561 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
40562 (codestart): Replace hardcoded `0x100000' with
40563 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
40564
40565 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
40566 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
40567 not NULL, append the contents of the file it refers to, at the end of
40568 the compressed kernel image. Initialize `grub_memdisk_image_size'
40569 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
40570 (options): Add "memdisk"|'m' option.
40571 (main): Parse --memdisk|-m option, and pass user-provided path as
40572 parameter to generate_image().
40573
3d7f54c9 405742008-01-20 Robert Millan <rmh@aybabtu.com>
40575
40576 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
40577 grub_dprintf() calls from here ...
40578 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
40579
0bf74728 405802008-01-20 Robert Millan <rmh@aybabtu.com>
40581
40582 Fix detection of "real mode" when /options/real-mode? doesn't exist.
40583
40584 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
40585 declaration.
40586 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
40587 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
40588 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 40589 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 40590 property).
40591 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
40592 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
40593
33bf70a7 405942008-01-19 Robert Millan <rmh@aybabtu.com>
40595
fe6b695a 40596 Get rid of confusing function (superseded by
33bf70a7 40597 `grub_ieee1275_get_integer_property')
40598 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
40599 prototype.
40600 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
40601 function.
40602 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
40603 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 40604 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 40605
e2da7d26 406062008-01-19 Robert Millan <rmh@aybabtu.com>
40607
40608 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
40609 command after "shut-down", since implementations differ on which
40610 the command for halt is.
40611
59f1fd8d 406122008-01-19 Robert Millan <rmh@aybabtu.com>
40613
40614 * include/grub/i386/linuxbios/console.h: Add header protection.
40615 (grub_keyboard_controller_init): New function prototype.
40616 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
40617 (KEYBOARD_COMMAND_READ): Likewise.
40618 (KEYBOARD_COMMAND_WRITE): Likewise.
40619 (KEYBOARD_SCANCODE_SET1): Likewise.
40620 (grub_keyboard_controller_write): New function.
40621 (grub_keyboard_controller_read): Likewise.
40622 (grub_keyboard_controller_init): Likewise.
40623
40624 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
40625 (grub_console_init): On coreboot/LinuxBIOS, call
40626 grub_keyboard_controller_init().
40627
5f5a7c15 406282008-01-19 Robert Millan <rmh@aybabtu.com>
40629
40630 PowerPC changes provided by Pavel Roskin.
40631
40632 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
40633 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
40634 don't rely on cmain() doing it.
40635 * kern/i386/ieee1275/startup.S (_start): Store %eax in
40636 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
40637
1210e168 406382008-01-16 Robert Millan <rmh@aybabtu.com>
40639
40640 * include/grub/i386/linuxbios/memory.h
40641 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
40642 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
40643 receive `table_header' as argument. Instead, probe for it in the
40644 known memory ranges where it can be present.
40645 (grub_available_iterate): Do not pass a fixed `table_header' address
40646 to grub_linuxbios_table_iterate().
40647
3d04eab8 406482008-01-15 Robert Millan <rmh@aybabtu.com>
40649
40650 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
40651 * conf/i386-ieee1275.rmk: New file.
40652 * include/grub/i386/ieee1275/console.h: Likewise.
40653 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
40654 * include/grub/i386/ieee1275/kernel.h: Likewise.
40655 * include/grub/i386/ieee1275/time.h: Likewise.
40656 * kern/i386/ieee1275/init.c: Likewise.
40657 * kern/i386/ieee1275/startup.S: Likewise.
40658
d1bc1b73 406592008-01-15 Robert Millan <rmh@aybabtu.com>
40660
40661 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
40662 when pointers are 32-bit (but still do set it to one when they are
40663 64-bit).
40664
66a65807 406652008-01-15 Robert Millan <rmh@aybabtu.com>
40666
40667 * include/grub/ieee1275/ieee1275.h
40668 (grub_ieee1275_get_integer_property): New function prototype.
40669
40670 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
40671 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 40672 grub_ieee1275_get_property() to handle endianness.
66a65807 40673
40674 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
40675 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 40676 where appropriate.
66a65807 40677 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
40678 (grub_map): Likewise.
40679 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
40680
a83ccafd 406812008-01-15 Bean <bean123ch@gmail.com>
40682
40683 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
40684 (grub_script_execute_cmdline): Reset grub_errno.
40685
40686 * normal/main.c (read_config_file): Reset grub_errno.
40687
40688 * normal/parse.y (script_init): New.
40689 (script): Move function and menuentry here.
40690 (delimiter): New.
40691 (command): Add delimiter at the end of command.
40692 (commands): Adjust to match the new command.
40693 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 40694 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 40695 (if): Use the new commands.
40696
40697 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
40698
df6ecfc6 406992008-01-15 Robert Millan <rmh@aybabtu.com>
40700
40701 * normal/menu.c (run_menu): Move timeout message from here ...
40702 (print_timeout): ... to here.
40703 (run_menu): Use print_timeout() once during initial draw to print
40704 the whole message, and again in every clock tick to update only
40705 the number of seconds.
40706
87ae25eb 407072008-01-15 Robert Millan <rmh@aybabtu.com>
40708
40709 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
40710 actual size of `available' from grub_ieee1275_get_property(), and
40711 restrict parsing to that bound.
40712
47bf09a4 407132008-01-15 Christian Franke <franke@computer.org>
40714
40715 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
40716 (argp_program_version): Remove variable.
40717 (argp_program_bug_address): Likewise.
40718 (options): Convert from struct argp_option to struct option.
40719 (struct arguments): Remove.
40720 (parse_opt): Remove.
40721 (usage): New function.
40722 (main): Replace struct args members by simple variables.
40723 Replace argp_parse() by getopt_long().
40724 Add switch to evaluate options.
40725 Add missing "(...)" around root_dev in prefix string.
40726
c86f1469 407272008-01-14 Robert Millan <rmh@aybabtu.com>
40728
40729 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
40730 for grub_ieee1275_exit(), in order to improve portability.
40731
e622c559 407322008-01-14 Robert Millan <rmh@aybabtu.com>
40733
40734 * util/grub.d/10_linux.in (prefix): Define.
40735 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
40736
44cb1ec8 407372008-01-13 Pavel Roskin <proski@gnu.org>
40738
40739 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
40740 grub_errno if no errors have been detected.
40741
1eb8c802 407422008-01-12 Robert Millan <rmh@aybabtu.com>
40743
40744 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
40745 (grub_util_get_dev_abstraction): New function prototype.
40746
40747 * util/getroot.c: Include `<grub/util/getroot.h>'
40748 (grub_util_get_grub_dev): Move detection of abstraction type to ...
40749 (grub_util_get_dev_abstraction): ... here (new function).
40750
40751 * util/grub-probe.c: Convert PRINT_* to an enum. Add
40752 `PRINT_ABSTRACTION'.
40753 (probe): Probe for abstraction type when requested.
40754 (main): Understand `--target=abstraction'.
40755
40756 * util/i386/efi/grub-install.in: Add abstraction module to core
40757 image when it is found to be necessary.
40758 * util/i386/pc/grub-install.in: Likewise.
40759 * util/powerpc/ieee1275/grub-install.in: Likewise.
40760
40761 * util/update-grub_lib.in (font_path): Return system path without
40762 converting to GRUB path.
40763 * util/update-grub.in: Convert system path returned by font_path()
40764 to a GRUB path. Use `grub-probe -t abstraction' to determine what
40765 abstraction module is needed for loading fonts (if any). Export
40766 that as `GRUB_PRELOAD_MODULES'.
40767 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
40768 insmod commands).
40769
52bd3de9 407702008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
40771
40772 Remove some unused code from reiserfs.
f19dbdb7 40773
52bd3de9 40774 * fs/reiserfs.c (struct grub_reiserfs_key)
40775 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
40776 (struct grub_reiserfs_node_body): Removed.
40777 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
40778 Likewise.
40779 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40780 Likewise.
40781 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40782 Likewise.
40783 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40784 Likewise.
40785 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
40786 Likewise.
40787 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
40788 Likewise.
40789 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40790 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40791 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40792
2f80039d 407932008-01-10 Robert Millan <rmh@aybabtu.com>
40794
40795 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
40796 Determines if a file is garbage left by packaging systems, etc.
40797 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
40798 for processing /etc/grub.d scripts.
40799 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
40800 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
40801 as a condition for processing Linux images.
40802
87888032 408032008-01-10 Pavel Roskin <proski@gnu.org>
40804
40805 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
40806 to compile reiserfs.c on PowerPC.
40807
7e54fced 408082008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 40809
40810 * kern/device.c (grub_device_iterate): Do not abort device iteration
40811 when one of the devices cannot be opened.
40812 * kern/disk.c (grub_disk_open): Do not account previous failures of
40813 unrelated functions when grub_errno is checked for.
40814
5aa541e6 408152008-01-08 Robert Millan <rmh@aybabtu.com>
40816
40817 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
40818 `! grub_linux_is_bzimage', change order of address comparison to make
40819 it more intuitive, and improve "too big zImage" error message.
40820
7076340d 408212008-01-08 Robert Millan <rmh@aybabtu.com>
40822
40823 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
40824 `$(update-grub_DATA)'.
40825 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
40826 targets.
40827
9ca70333 408282008-01-07 Robert Millan <rmh@aybabtu.com>
40829
40830 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
40831 which instruction is modified by grub-setup during installation
40832 (since it wasn't obvious by only looking at this file).
40833
38ccf575 408342008-01-07 Robert Millan <rmh@aybabtu.com>
40835
40836 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
40837 listing actual TODO items.
40838
f5db4291 408392008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40840
868967cf 40841 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
40842 correctly.
40843 (grub_reiserfs_get_key_offset): Likewise.
40844 (grub_reiserfs_set_key_offset): Likewise.
40845 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 40846 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 40847
40848 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
40849 better to remove the bitfield version completely.
f19dbdb7 40850
868967cf 408512008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40852
f5db4291 40853 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
40854 allocated from the heap, due to the fshelp implementation.
40855 (grub_reiserfs_dir): Free NODE, due to the same reason.
40856
492e6d9d 408572008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40858
40859 Mostly from Vincent Pelletier:
f19dbdb7 40860
492e6d9d 40861 * fs/reiserfs.c: New file.
f19dbdb7 40862
492e6d9d 40863 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
40864 (reiserfs_mod_SOURCES): New variable.
40865 (reiserfs_mod_CFLAGS): Likewise.
40866 (reiserfs_mod_LDFLAGS): Likewise.
40867
40868 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
40869 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
40870 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
40871 normal/color.c.
40872
9ce3e7c1 408732008-01-06 Robert Millan <rmh@aybabtu.com>
40874
40875 * normal/color.c: Remove `<grub/env.h>'.
40876
f3b58148 408772008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
40878
40879 * include/grub/normal.h: Include <grub/env.h>.
40880
7ac3bcfa 408812008-01-05 Robert Millan <rmh@aybabtu.com>
40882
40883 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
40884 usage example with `(hd0,1)'.
fb358190 40885 Reported by Samuel Thibault.
7ac3bcfa 40886
c8ee99d7 408872008-01-05 Robert Millan <rmh@aybabtu.com>
40888
40889 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
40890 (grub_linux_boot_zimage): Rename to ...
40891 (grub_linux_boot): ... this.
40892 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
40893 (grub_linux_boot_zimage): Conditionalize zImage copy.
40894
40895 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
40896 (grub_linux_boot_bzimage): Remove prototype.
40897 (grub_linux_boot_zimage): Rename to ...
40898 (grub_linux_boot): ... this.
40899
40900 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
40901 (grub_linux_boot): Remove function.
40902
0ece25b1 409032008-01-05 Robert Millan <rmh@aybabtu.com>
40904
40905 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
40906 (grub_env_write_color_highlight): Likewise.
40907 (grub_wait_after_message): Likewise.
40908
40909 * normal/color.c: New file.
40910
40911 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40912 (normal_mod_DEPENDENCIES): Likewise.
40913
40914 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40915 (normal_mod_DEPENDENCIES): Likewise.
40916
40917 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40918 (normal_mod_DEPENDENCIES): Likewise.
40919
40920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40921 (normal_mod_DEPENDENCIES): Likewise.
40922
40923 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
40924 for waiting after a message is printed.
40925 * normal/main.c (read_config_file): Likewise.
40926 (grub_normal_init): Register grub_env_write_color_normal() and
40927 grub_env_write_color_highlight() hooks. Mark `color_normal' and
40928 `color_highlight' variables as global.
40929
40930 * normal/menu.c (grub_wait_after_message): New function.
40931 (grub_color_menu_normal): New variable. Replaces ...
40932 (GRUB_COLOR_MENU_NORMAL): ... this macro.
40933 (grub_color_menu_highlight): New variable. Replaces ...
40934 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
40935 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
40936 `GRUB_TERM_COLOR_STANDARD'.
40937 (print_message): Use `grub_setcolorstate' to reload colors. Rename
40938 `normal_code' and `highlight_code' to `old_color_normal' and
40939 `old_color_highlight', respectively.
40940 (grub_menu_init_page): Update colors when drawing the menu, based on
40941 `menu_color_normal' and `menu_color_highlight' variables.
40942 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
40943 a message is printed.
40944
182dd4e5 409452008-01-05 Robert Millan <rmh@aybabtu.com>
40946
40947 * kern/env.c (grub_env_context_open): Propagate hooks for global
40948 variables to new context.
40949
40950 * kern/main.c (grub_set_root_dev): Export `root' variable.
40951
ddf8f6ad 409522008-01-05 Robert Millan <rmh@aybabtu.com>
40953
40954 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 40955 discs unconditionally, since udev and others have options to provide
ddf8f6ad 40956 them.
40957
d8b43d9b 409582008-01-05 Robert Millan <rmh@aybabtu.com>
40959
40960 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
40961
2bff2de3 409622008-01-04 Christian Franke <franke@computer.org>
40963
40964 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
40965 of eisa_mmap.
40966
97eab917 409672008-01-03 Pavel Roskin <proski@gnu.org>
40968
40969 * kern/i386/linuxbios/init.c: Put "void" to all function
40970 declarations with no arguments.
40971 * kern/powerpc/ieee1275/init.c: Likewise.
40972 * term/i386/pc/at_keyboard.c: Likewise.
40973 * term/i386/pc/vga_text.c: Likewise.
40974 * util/grub-mkdevicemap.c: Likewise.
40975
b9416d00 409762008-01-02 Robert Millan <rmh@aybabtu.com>
40977
40978 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
40979 message when loaded image is out of bounds.
40980 (grub_multiboot_load_elf64): Likewise.
40981
92695df9 409822008-01-02 Pavel Roskin <proski@gnu.org>
40983
40984 * util/grub.d/10_linux.in: Try version without ".old" when
40985 looking for initrd. It's better to use initrd from the newer
40986 kernel of the same version than no initrd at all.
40987
d98d9cad 409882008-01-01 Robert Millan <rmh@aybabtu.com>
40989
40990 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
40991
dbfdce36 409922008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
40993
f19dbdb7 40994 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 40995 grub_video_get_active_render_target.
40996 (grub_video_adapter): Added unmap_color and get_active_render_target.
40997
f19dbdb7 40998 * video/video.c: Added grub_video_unmap_color and
dbfdce36 40999 grub_video_get_active_render_target.
41000 (grub_video_get_info): Changed method to accept NULL pointer as an
41001 argument to allow detection of active video adapter.
41002
41003 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
41004 grub_video_vbe_unmap_color_int.
41005 Added grub_video_vbe_unmap_color and
41006 grub_video_vbe_get_active_render_target.
41007 (grub_video_vbe_adapter): Added unmap_color and
41008 get_active_render_target.
41009
f19dbdb7 41010 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 41011 with grub_video_vbe_unmap_color_int.
41012
41013 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
41014 (DEFAULT_NORMAL_COLOR): Likewise.
41015 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
41016 (DEFAULT_FG_COLOR): Removed.
41017 (DEFAULT_BG_COLOR): Likewise.
41018 (DEFAULT_CURSOR_COLOR): Changed value.
41019 (grub_virtual_screen): Added standard_color_setting,
41020 normal_color_setting, highlight_color_setting and term_color.
41021 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
41022 (bitmap_width): Added.
41023 (bitmap_height): Likewise.
41024 (bitmap): Likewise.
41025 (set_term_color): Likewise.
41026 (grub_virtual_screen_setup): Changed to use new terminal coloring
41027 settings.
41028 (grub_gfxterm_init): Added init for bitmap.
41029 (grub_gfxterm_fini): Added destroy for bitmap.
41030 (redraw_screen_rect): Updated to use background bitmap and new
41031 terminal coloring.
41032 (scroll_up): Added optimization for case when there is no bitmap.
41033 (grub_gfxterm_cls): Fixed to use correct background color.
41034 (grub_virtual_screen_setcolorstate): Changed to use new terminal
41035 coloring.
41036 (grub_virtual_screen_setcolor): Likewise.
41037 (grub_virtual_screen_getcolor): Added.
41038 (grub_gfxterm_background_image_cmd): Likewise.
41039 (grub_video_term): Added setcolor and getcolor.
41040 (MOD_INIT): Added registration of background_image command.
41041 (MOD_TERM): Added unregistration for background_image command.
41042
c3c20931 410432007-12-30 Pavel Roskin <proski@gnu.org>
41044
41045 * loader/multiboot_loader.c: Fix multiboot command
41046 unregistration. Fix all typos in the word "multiboot".
41047
df266716 410482007-12-29 Pavel Roskin <proski@gnu.org>
94239199 41049
41050 * util/grub.d/10_linux.in: Refactor search for initrd. Add
41051 support for initrd names used in Fedora.
41052
fc6e896c 410532007-12-26 Bean <bean123ch@gmail.com>
41054
41055 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
41056 (cpio_mod_SOURCES): New variable.
41057 (cpio_mod_CFLAGS): Likewise.
41058 (cpio_mod_LDFLAGS): Likewise.
41059
41060 * fs/cpio.c: New file.
41061
41062 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
41063
41064 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41065
41066 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41067
41068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41069
533110ad 410702007-12-25 Robert Millan <rmh@aybabtu.com>
41071
41072 * include/grub/term.h (struct grub_term): Add `getcolor' function.
41073 (grub_getcolor): New function.
41074
41075 * kern/term.c (grub_getcolor): New function.
41076 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
41077 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
41078 (print_entry): Set normal and highlight colors to
41079 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
41080 respectively, before printing and restore them to old
41081 values afterwards.
41082 (grub_menu_init_page): Likewise. Fill an additional colored space
41083 that would otherwise be left blank.
41084
41085 * term/efi/console.c (grub_console_getcolor): New function.
41086 (struct grub_console_term.getcolor): New variable.
41087 * term/i386/pc/console.c (grub_console_getcolor): New function.
41088 (struct grub_console_term.getcolor): New variable.
41089 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
41090 (struct grub_console_term.getcolor): New variable.
41091
41092 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
41093 (struct grub_console_term.setcolor): Remove variable.
41094 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
41095 (struct grub_console_term.setcolor): Remove variable.
41096 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
41097 (struct grub_console_term.setcolor): Remove variable.
41098 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
41099 (struct grub_console_term.setcolor): Remove variable.
41100
4931827f 411012007-12-25 Robert Millan <rmh@aybabtu.com>
41102
41103 * configure.ac: Search for possible unifont.hex locations, and
41104 define UNIFONT_HEX if found.
41105
41106 * Makefile.in (UNIFONT_HEX): Define variable.
41107 (DATA): Rename to ...
41108 (PKGLIB): ... this. Update all users.
41109 (PKGDATA): New variable.
41110 (pkgdata_IMAGES): Rename to ...
41111 (pkglib_IMAGES): ... this. Update all users.
41112 (pkgdata_MODULES): Rename to ...
41113 (pkglib_MODULES): ... this. Update all users.
41114 (pkgdata_PROGRAMS): Rename to ...
41115 (pkglib_PROGRAMS): ... this. Update all users.
41116 (pkgdata_DATA): Rename to ...
41117 (pkglib_DATA): ... this. Update all users.
41118 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
41119 (unicode.pff, ascii.pff): New rules.
41120 (all-local): Add `$(PKGDATA)' dependency.
41121 (install-local): Process `$(PKGDATA)'.
41122
41123 * util/update-grub_lib.in (font_path): Search for *.pff files in
41124 a few more locations, including `${pkgdata}'.
41125
57e57e31 411262007-12-23 Robert Millan <rmh@aybabtu.com>
41127
41128 Patch from Bean <bean123ch@gmail.com>:
41129 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
41130 `size'.
41131
4bc72aa9 411322007-12-21 Bean <bean123ch@gmail.com>
41133
41134 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
41135 (ntfscomp_mod_SOURCES): New variable.
41136 (ntfscomp_mod_CFLAGS): Likewise.
41137 (ntfscomp_mod_LDFLAGS): Likewise.
41138
41139 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
41140 (grub_probe_SOURCES): Likewise.
41141 (grub_emu_SOURCES): Likewise.
41142
41143 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41144 (grub_emu_SOURCES): Likewise.
41145
41146 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41147 (grub_emu_SOURCES): Likewise.
41148
41149 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41150 (grub_emu_SOURCES): Likewise.
41151
41152 * fs/ntfs.c (grub_ntfscomp_func): New variable.
41153 (read_run_list): Renamed to grub_ntfs_read_run_list.
41154 (decomp_nextvcn): Moved to ntfscomp.c.
41155 (decomp_getch): Likewise.
41156 (decomp_get16): Likewise.
41157 (decomp_block): Likewise.
41158 (read_block): Likewise.
41159 (read_data): Partially moved to ntfscomp.c.
41160 (fixup): Change unsigned to grub_uint16_t.
41161 (read_mft): Change unsigned long to grub_uint32_t.
41162 (read_attr): Likewise.
41163 (read_data): Likewise.
41164 (read_run_data): Likewise.
41165 (read_run_list): Likewise.
41166 (read_mft): Likewise.
41167
41168 * fs/ntfscomp.c: New file.
41169
41170 * include/grub/ntfs.h: New file.
41171
af680a87 411722007-12-16 Robert Millan <rmh@aybabtu.com>
41173
41174 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
41175 IDE disk check, since Linux is known to support 20 IDE disks.
41176 Reported by Colin Watson.
41177
84be7599 411782007-12-15 Bean <bean123ch@gmail.com>
41179
41180 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
41181 (lnxboot_img_SOURCES): New variable.
41182 (lnxboot_img_ASFLAGS): Likewise.
41183 (lnxboot_img_LDFLAGS): Likewise.
41184
41185 * boot/i386/pc/lnxboot.S: New file.
41186
6af9db01 411872007-11-24 Pavel Roskin <proski@gnu.org>
41188
41189 * configure.ac: Test if '--build-id=none' is supported by the
41190 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
41191 objcopy to generate incorrect binary files (binutils
41192 2.17.50.0.18-1 as shipped by Fedora 8).
41193 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
41194 linking, so that build ID doesn't break the test.
41195
7361cfe6 411962007-11-24 Pavel Roskin <proski@gnu.org>
41197
41198 * include/grub/i386/time.h: use "void" in the argument list
41199 of grub_cpu_idle().
41200 * include/grub/powerpc/time.h: Likewise.
41201 * include/grub/sparc64/time.h: Likewise.
41202
1593e10c 412032007-11-18 Christian Franke <franke@computer.org>
41204
41205 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
41206 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
41207 This fixes the problem that function keys did not work in grub-emu.
41208
3b8db1a8 412092007-11-18 Christian Franke <franke@computer.org>
41210
41211 * disk/host.c (grub_host_open): Remove attribute unused from
41212 name parameter. Add check for "host". This fixes the problem
41213 that grub-emu does not find partitions.
41214
2e29408d 412152007-11-18 Christian Franke <franke@computer.org>
41216
41217 * util/hostfs.c (is_dir): New function.
41218 (grub_hostfs_dir): Handle missing dirent.d_type case.
41219 (grub_hostfs_read): Add missing fseek().
41220 (grub_hostfs_label): Clear label pointer. This fixes a crash
41221 of grub-emu on "ls (host)".
41222
398cd047 412232007-11-18 Christian Franke <franke@computer.org>
41224
41225 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
41226 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
41227 to 64 bit boundary by default.
41228
c405c391 412292007-11-18 Bean <bean123ch@gmail.com>
41230
41231 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
41232 (hexdump_mod_SOURCES): New variable.
41233 (hexdump_mod_CFLAGS): Likewise.
41234 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 41235
c405c391 41236 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41237
41238 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41239
41240 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41241
41242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41243
41244 * include/grub/hexdump.h: New file.
41245
41246 * commands/hexdump.c: New file.
41247
5cced7fd 412482007-11-10 Robert Millan <rmh@aybabtu.com>
41249
41250 * commands/i386/pc/play.c (beep_off): Switch order of arguments
41251 in grub_outb() calls.
41252 (beep_on): Likewise.
41253
8b714eb0 412542007-11-10 Christian Franke <franke@computer.org>
41255
41256 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
41257 (grub_menu_run): Likewise.
41258
ce0f1839 412592007-11-10 Robert Millan <rmh@aybabtu.com>
41260
41261 * include/grub/i386/efi/machine.h: New file.
41262 * include/grub/i386/linuxbios/machine.h: Likewise.
41263 * include/grub/i386/pc/machine.h: Likewise.
41264 * include/grub/powerpc/ieee1275/machine.h: Likewise.
41265 * include/grub/sparc64/ieee1275/machine.h: Likewise.
41266
41267 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
41268 (serial_hw_io_addr): New variable.
41269 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
41270 instead of `(unsigned short *) 0x400'.
41271
270c237d 412722007-11-10 Bean <bean123ch@gmail.com>
41273
41274 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
41275
a87783bf 412762007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
41277
41278 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
41279 (vga_mod_SOURCES): Added.
41280 (vga_mod_CFLAGS): Likewise.
41281 (vga_mod_LDFLAGS): Likewise.
41282
41283 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
41284 grub_outb() calls.
41285 (set_map_mask): Likewise.
41286 (set_read_map): Likewise.
41287 (set_read_address): Likewise.
41288 (vga_font): Removed variable.
41289 (get_vga_glyph): Removed function.
41290 (invalidate_char): Likewise.
41291 (write_char): Changed to use grub_font_get_glyph() for font
41292 information.
41293 (grub_vga_putchar): Likewise.
41294 (grub_vga_getcharwidth): Likewise.
41295
6433b448 412962007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
41297
41298 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
41299 flags.
41300 (pxeboot_img_LDFLAGS): Likewise.
41301 (diskboot_img_LDFLAGS): Likewise.
41302 (kernel_img_LDFLAGS): Likewise.
41303
49178511 413042007-11-06 Robert Millan <rmh@aybabtu.com>
41305
41306 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
41307 in grub_outb() calls.
41308 (serial_hw_init): Likewise.
41309
53b052de 413102007-11-05 Robert Millan <rmh@aybabtu.com>
41311
41312 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
41313 spaces. Skip non-regular files.
41314
5ab33bba 413152007-11-05 Robert Millan <rmh@aybabtu.com>
41316
41317 * kern/disk.c (grub_disk_firmware_fini)
41318 (grub_disk_firmware_is_tainted): New variables.
41319
41320 * include/grub/disk.h (grub_disk_firmware_fini)
41321 (grub_disk_firmware_is_tainted): Likewise.
41322
41323 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
41324 (grub_disk_biosdisk_fini): ... to here.
41325 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
41326 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
41327 is set. Register grub_disk_biosdisk_fini() in
41328 `grub_disk_firmware_fini'.
41329
41330 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
41331 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
41332 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
41333 to finish existing firmware disk interface.
41334
41335 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
41336 (ata_mod_SOURCES): New variable.
41337 (ata_mod_CFLAGS): Likewise.
41338 (ata_mod_LDFLAGS): Likewise.
41339
0149ab7c 413402007-11-05 Robert Millan <rmh@aybabtu.com>
41341
41342 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
41343 (grub_ata_wait): Reimplement using grub_millisleep().
41344
41345 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
41346 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
41347
be7ac41e 413482007-11-03 Marco Gerards <marco@gnu.org>
41349
41350 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
41351 (CRTC_ADDR_PORT): New macro.
41352 (CRTC_DATA_PORT): Likewise.
41353 (CRTC_CURSOR): Likewise.
41354 (CRTC_CURSOR_ADDR_HIGH): Likewise.
41355 (CRTC_CURSOR_ADDR_LOW): Likewise.
41356 (update_cursor): New function.
41357 (grub_console_real_putchar): Call `update_cursor'.
41358 (grub_console_gotoxy): Likewise.
41359 (grub_console_cls): Set the default color when clearing the
41360 screen.
41361 (grub_console_setcursor): Implemented.
41362
bb06ab2e 413632007-11-03 Marco Gerards <marco@gnu.org>
41364
41365 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
41366 become activate.
41367 (grub_ata_pio_write): Likewise.
41368
41369 (grub_atapi_identify): Wait after issuing an ATA command.
41370 (grub_atapi_packet): Likewise.
41371 (grub_ata_identify): Likewise.
41372 (grub_ata_readwrite): Likewise.
41373
cf8f780b 413742007-11-03 Marco Gerards <marco@gnu.org>
41375
41376 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
41377 (grub_ata_pio_write): Likewise.
41378 (grub_ata_readwrite): Use `grub_error', instead of
41379 returning `grub_errno'.
41380
ed649e54 413812007-11-03 Marco Gerards <marco@gnu.org>
41382
41383 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
41384 grub_ata_pio_write once for every single sector, instead of for
41385 multiple sectors.
41386
ca25d8f0 413872007-10-31 Robert Millan <rmh@aybabtu.com>
41388
41389 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
41390
41391 * conf/i386-linuxbios.rmk: New file.
41392
41393 * kern/i386/pc/hardware.c: Likewise.
41394 * term/i386/pc/at_keyboard.c: Likewise.
41395 * term/i386/pc/vga_text.c: Likewise.
41396
41397 * include/grub/i386/linuxbios/boot.h: Likewise.
41398 * include/grub/i386/linuxbios/console.h: Likewise.
41399 * include/grub/i386/linuxbios/init.h: Likewise.
41400 * include/grub/i386/linuxbios/kernel.h: Likewise.
41401 * include/grub/i386/linuxbios/loader.h: Likewise.
41402 * include/grub/i386/linuxbios/memory.h: Likewise.
41403 * include/grub/i386/linuxbios/serial.h: Likewise.
41404 * include/grub/i386/linuxbios/time.h: Likewise.
41405
41406 * kern/i386/linuxbios/init.c: Likewise.
41407 * kern/i386/linuxbios/startup.S: Likewise.
41408 * kern/i386/linuxbios/table.c: Likewise.
41409
e911ecc1 414102007-10-31 Marco Gerards <marco@gnu.org>
41411
41412 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
41413 (ata_mod_SOURCES): New variable.
41414 (ata_mod_CFLAGS): Likewise.
41415 (ata_mod_LDFLAGS): Likewise.
41416
41417 * disk/ata.c: New file.
41418
41419 * include/grub/disk.h (grub_disk_dev_id): Add
41420 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 41421
7f66d0e0 414222007-10-31 Robert Millan <rmh@aybabtu.com>
41423
41424 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
41425 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
41426
41427 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
41428 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
41429
41430 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
41431 `<grub/types.h>'.
41432
41433 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
41434
5cd7dd46 414352007-10-27 Robert Millan <rmh@aybabtu.com>
41436
3236ca65 41437 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 41438
2ebfc90f 414392007-10-22 Robert Millan <rmh@aybabtu.com>
41440
41441 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
41442 `"../realmode.S"'.
41443 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
41444
73fcb0f3 414452007-10-22 Robert Millan <rmh@aybabtu.com>
41446
41447 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
41448 (pkgdata_MODULES): Add `biosdisk.mod'.
41449 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
41450 variables.
41451
41452 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
41453 (grub_biosdisk_init): Replace with ...
41454 (GRUB_MOD_INIT(biosdisk)): ... this.
41455 (grub_biosdisk_fini): Replace with ...
41456 (GRUB_MOD_FINI(biosdisk)): ... this.
41457
41458 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
41459 (grub_machine_init): Remove call to grub_biosdisk_init().
41460 (grub_machine_fini): Remove call to grub_machine_fini().
41461
41462 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
41463
3381d274 414642007-10-22 Robert Millan <rmh@aybabtu.com>
41465
41466 * include/grub/time.h: New file.
41467 * include/grub/i386/time.h: Likewise.
41468 * include/grub/powerpc/time.h: Likewise.
41469 * include/grub/sparc64/time.h: Likewise.
41470
41471 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
41472 instances to ...
41473 (KERNEL_MACHINE_TIME_HEADER): ... this.
41474 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
41475 instances to ...
41476 (KERNEL_MACHINE_TIME_HEADER): ... this.
41477 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
41478 instances to ...
41479 (KERNEL_MACHINE_TIME_HEADER): ... this.
41480
41481 * kern/i386/efi/init.c: Include `<grub/time.h>'.
41482 (grub_millisleep): New function.
41483 * kern/i386/pc/init.c: Include `<grub/time.h>'.
41484 (grub_millisleep): New function.
41485 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
41486 Remove `grub/machine/time.h' include.
41487 (grub_millisleep): New function.
41488 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
41489 Remove `grub/machine/time.h' include.
41490 (grub_millisleep): New function.
41491
41492 * include/grub/misc.h (grub_div_roundup): New function.
41493
41494 * kern/misc.c: Include `<grub/time.h>'.
41495 (grub_millisleep_generic): New function.
41496
41497 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
41498 Add `time.h'.
41499 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
41500 Add `time.h'.
41501 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
41502 `machine/time.h'. Add `time.h'.
41503 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
41504
a39a0312 415052007-10-21 Robert Millan <rmh@aybabtu.com>
41506
41507 * include/grub/misc.h (grub_max): New function.
41508
2aad70e2 415092007-10-21 Robert Millan <rmh@aybabtu.com>
41510
41511 * util/misc.c (grub_util_info): Call fflush() before returning.
41512
54b71c4b 415132007-10-20 Robert Millan <rmh@aybabtu.com>
41514
41515 * genmk.rb (Image): Copy `extra_flags' from here ...
41516 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
41517
41518 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
41519 to `argc' and `args' arguments.
41520
a979f513 415212007-10-17 Robert Millan <rmh@aybabtu.com>
41522
41523 * kern/i386/loader.S: New file.
41524
41525 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
41526 * kern/i386/loader.S (grub_linux_prot_size)... to here.
41527 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
41528 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
41529 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
41530 * kern/i386/loader.S (grub_linux_real_addr)... to here.
41531 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
41532 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
41533 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
41534 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
41535 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
41536 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
41537 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
41538 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
41539
41540 * kern/i386/realmode.S: New file.
41541
41542 * kern/i386/pc/startup.S (protstack): Moved from here ...
41543 * kern/i386/realmode.S (protstack)... to here.
41544 * kern/i386/pc/startup.S (gdt): Moved from here ...
41545 * kern/i386/realmode.S (gdt)... to here.
41546 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
41547 * kern/i386/realmode.S (prot_to_real)... to here.
41548
41549 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
41550 `kern/i386/realmode.S'.
41551
825fc8fd 415522007-10-17 Robert Millan <rmh@aybabtu.com>
41553
41554 * include/grub/i386/loader.h: New file.
41555
41556 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
41557 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
41558 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
41559 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
41560 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
41561 * include/grub/i386/loader.h (grub_linux_prot_size)
41562 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
41563 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
41564 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
41565 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
41566
41567 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
41568
e179b2f4 415692007-10-15 Robert Millan <rmh@aybabtu.com>
41570
41571 * normal/misc.c (grub_normal_print_device_info): Do not probe for
41572 filesystem when dev->disk is unset.
41573 Do probe for filesystem even when dev->disk->has_partitions is set.
41574 In case a filesystem is found, always report it.
41575 In case it isn't, if dev->disk->has_partitions is set, report that
41576 a partition table was found instead of reporting that no filesystem
41577 could be identified.
41578
5db82af6 415792007-10-12 Robert Millan <rmh@aybabtu.com>
41580
41581 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
41582 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
41583
68f6ac74 41584 * include/grub/types.h (grub_host_to_target16): New macro.
41585 (grub_host_to_target32): Likewise.
41586 (grub_host_to_target64): Likewise.
41587 (grub_target_to_host16): Likewise.
41588 (grub_target_to_host32): Likewise.
41589 (grub_target_to_host64): Likewise.
5db82af6 41590
41591 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
41592 Renamed from to ...
41593 (GRUB_MOD_ALIGN): ...this. Update all users.
41594
68f6ac74 41595 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
41596 grub_host_to_target32.
41597 Replace grub_be_to_cpu32 with grub_target_to_host32.
41598 (load_modules): Likewise.
41599 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
41600 Replace grub_be_to_cpu32 with grub_target_to_host32.
41601 Replace grub_cpu_to_be16 with grub_host_to_target16.
41602 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 41603
3cf497cc 416042007-10-12 Robert Millan <rmh@aybabtu.com>
41605
41606 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
41607 * util/elf/grub-mkimage.c: ... here.
41608
41609 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
41610 `util/powerpc/ieee1275/grub-mkimage.c'.
41611
c8cc3692 416122007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 41613
c8cc3692 41614 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
41615 and make it easier to figure out.
41616 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
41617 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
41618 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
41619 leave us with less than HEAP_MIN_SIZE total heap.
41620 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 41621
5c58b791 416222007-10-03 Robert Millan <rmh@aybabtu.com>
41623
41624 * include/grub/i386/io.h: New file.
41625 * commands/i386/pc/play.c (inb): Removed.
41626 (outb): Removed.
41627 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
41628 with grub_outb().
afcd2ef8 41629 * term/i386/pc/serial.c (inb): Removed.
41630 (outb): Removed.
41631 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
41632 with grub_outb().
41633 * term/i386/pc/vga.c (inb): Removed.
41634 (outb): Removed.
41635 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
41636 with grub_outb().
5c58b791 41637
1a477ed6 416382007-10-02 Robert Millan <rmh@aybabtu.com>
41639
41640 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
41641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41642 Reported by Marcin Kurek.
41643
6b5d80fa 416442007-09-07 Robert Millan <rmh@aybabtu.com>
41645
41646 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
41647 SmartFirmware version updates (as released by Sven Luther), and avoid
41648 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
41649 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
41650 known broken.
41651
5618afbf 416522007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41653
41654 From Hitoshi Ozeki:
41655 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
41656 when merging two regions.
41657
6139dcd9 416582007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41659
508e39ee 41660 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
41661 * normal/completion.c (grub_normal_do_completion): Likewise.
41662 Reported by Hitoshi Ozeki.
41663
416642007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41665
6139dcd9 41666 Do not use devices at boot in chainloading.
f19dbdb7 41667
6139dcd9 41668 * loader/i386/pc/chainloader.c (boot_drive): New variable.
41669 (boot_part_addr): Likewise.
41670 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
41671 with BOOT_DRIVE and BOOT_PART_ADDR.
41672 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
41673 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
41674
38da6516 416752007-08-29 Robert Millan <rmh@aybabtu.com>
41676
41677 Patch from Simon Peter <dn.tlp@gmx.net>:
41678 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
41679 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
41680 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
41681 util/i386/pc/grub-setup.c_DEPENDENCIES.
41682 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
41683 util/grub-probe.c_DEPENDENCIES.
41684 * conf/powerpc-ieee1275.rmk: Likewise.
41685
29d0928c 416862007-08-28 Robert Millan <rmh@aybabtu.com>
41687
41688 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
41689 to tell grub-mkdevicemap how to name devices.
41690 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
41691 feature).
41692
41693 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
41694 util/i386/get_disk_name.c.
41695 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
41696 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
41697 util/ieee1275/get_disk_name.c.
41698
41699 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
41700
41701 * DISTLIST: Add util/i386/get_disk_name.c and
41702 util/ieee1275/get_disk_name.c.
41703
41704 * util/grub-mkdevicemap.c: Replace device naming logic with
41705 grub_util_get_disk_name() calls.
41706
5a0d3cca 417072007-08-20 Robert Millan <rmh@aybabtu.com>
41708
41709 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
41710 (so that it works for both plural and singular quantities).
41711
8b72db2f 417122007-08-05 Robert Millan <rmh@aybabtu.com>
41713
41714 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
41715 so that [xz] isn't taken into account when determining order.
41716
352466bf 417172007-08-02 Marco Gerards <marco@gnu.org>
41718
41719 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
41720 `include/multiboot2.h', `include/grub/elfload.h',
41721 `include/multiboot.h', `include/grub/multiboot.h',
41722 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
41723 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
41724 `kern/elf.c', `loader/multiboot_loader.c',
41725 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
41726 `loader/i386/pc/multiboot2.c',
41727 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
41728 `util/i386/pc/grub-mkrescue.in'. Remove
41729 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
41730 `include/grub/i386/pc/util/biosdisk.h' and
41731 `include/grub/powerpc/ieee1275/multiboot.h'.
41732
8f096014 417332007-08-02 Bean <bean123ch@gmail.com>
41734
41735 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
41736 (ntfs_mod_SOURCES): New variable.
41737 (ntfs_mod_CFLAGS): Likewise.
41738 (ntfs_mod_LDFLAGS): Likewise.
41739
41740 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
41741 (grub_probe_SOURCES): Likewise.
41742 (grub_emu_SOURCES): Likewise.
41743
41744 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
41745 (grub_emu_SOURCES): Likewise.
41746
41747 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
41748 (grub_emu_SOURCES): Likewise.
f19dbdb7 41749
8f096014 41750 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
41751
41752 * fs/ntfs.c: New file.
41753
9959f7db 417542007-08-02 Bean <bean123ch@gmail.com>
41755
41756 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
41757
41758 * file.h (grub_file): Likewise.
41759
41760 * fshelp.h (grub_fshelp_read_file): Likewise.
41761
41762 * util/i386/pc/grub-setup.c (setup): Likewise.
41763 (save_first_sector): Likewise.
41764 (save_blocklists): Likewise.
f19dbdb7 41765
9959f7db 41766 * fs/affs.c (grub_affs_read_file): Likewise.
41767
41768 * fs/ext2.c (grub_ext2_read_file): Likewise.
41769
41770 * fs/fat.c (grub_fat_read_data): Likewise.
41771
41772 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
41773
41774 * fs/hfs.c (grub_hfs_read_file): Likewise.
41775
41776 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41777
41778 * fs/jfs.c (grub_jfs_read_file): Likewise.
41779
41780 * fs/minix.c (grub_minix_read_file): Likewise.
41781
41782 * fs/sfs.c (grub_sfs_read_file): Likewise.
41783
41784 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 41785
9959f7db 41786 * fs/xfs.c (grub_xfs_read_file): Likewise.
41787
41788 * command/blocklist.c (read_blocklist): Likewise.
41789 (print_blocklist): Likewise.
41790
0a203f83 417912007-08-02 Marco Gerards <marco@gnu.org>
41792
41793 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
41794 `util/hostfs.c'.
41795
41796 * disk/host.c: New file.
41797
41798 * util/hostfs.c: Likewise.
41799
41800 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
41801 return `GRUB_ERR_BAD_FS'.
41802 * fs/sfs.c (grub_sfs_mount): Likewise.
41803 * fs/xfs.c (grub_xfs_mount): Likewise.
41804
41805 * include/grub/disk.h (enum grub_disk_dev_id): Add
41806 `GRUB_DISK_DEVICE_HOST_ID'.
41807
41808 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
41809
e5dfe777 418102007-07-24 Jerone Young <jerone@gmail.com>
41811
f19dbdb7 41812 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 41813 modules for compilation.
41814 * conf/powerpc-ieee1275.rmk: Likewise.
41815
41816 * include/multiboot.h: Move multiboot definitions to one file. Rename
41817 many definitions to not get grub specific.
41818 * include/multiboot2.h: Create header with multiboot 2 definitions.
41819 * include/grub/multiboot.h: Header for grub specific function
41820 prototypes and definitions.
41821 * include/grub/multiboot2.h: Likewise.
41822 * include/grub/multiboot_loader.h: Likewise.
41823 * include/grub/i386/pc/multiboot.h: Removed.
41824 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
41825
41826 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
41827 and 2 to allow for one multiboot and module commands.
41828 * loader/multiboot2.c: Add multiboot2 functionality.
41829 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
41830 and definition names.
41831 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
41832 2 functions.
41833 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
41834 ieee1275 specific multiboot2 code.
41835
41836 * kern/i386/pc/startup.S: Change headers and definition names for
41837 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
41838
daf0f0ba 418392007-07-22 Robert Millan <rmh@aybabtu.com>
41840
41841 * geninitheader.sh: Process file specified in first parameter rather
41842 than hardcoding grub_modules_init.lst.
fe6b695a 41843 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 41844 than hardcoding grub_modules_init.h.
41845
41846 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
41847 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
41848 grub_probe_init.[ch] and grub_setup_init.[ch].
41849
41850 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
41851 grub_modules_init.h with grub_emu_init.h.
41852 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
41853 grub_probe_init.[ch] files.
41854 * conf/i386-efi.rmk: Likewise.
41855 * conf/i386-pc.rmk: Likewise.
41856 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
41857 grub_setup_init.[ch] files.
41858
41859 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
41860 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
41861 to initialize modules rather than a list of hardcoded functions.
41862 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
41863 grub_init_all() to initialize modules rather than a list of hardcoded
41864 functions.
41865
54cdc1cc 418662007-07-22 Robert Millan <rmh@aybabtu.com>
41867
41868 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
41869 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
41870
ad0686cc 418712007-07-22 Robert Millan <rmh@aybabtu.com>
41872
41873 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41874 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
41875 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
41876 flag when running on SmartFirmware.
41877 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
41878 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
41879 was set.
41880
41881 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
41882 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
41883 rather than decreasing it.
41884
41885 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
41886 there's not enough space to do it, fail in the same way as when it
41887 can't be done because there are no partitions.
41888
41889 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
41890 when nvsetenv failed.
41891
969c02ec 418922007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
41893
41894 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
41895 because this rule is automatically generated.
41896 (grub-mkrescue): Removed for the same reason as above.
41897
5a79f472 418982007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
41899
41900 Migrate to GNU General Public License Version 3.
f19dbdb7 41901
5a79f472 41902 * COPYING: Replaced with the plain text version of GPLv3.
41903
41904 * config.guess: Updated from gnulib.
41905 * config.sub: Likewise.
41906
41907 * geninit.sh: Output a GPLv3 copyright notice.
41908 * geninitheader.sh: Likewise.
41909 * genmodsrc.sh: Likewise.
41910 * gensymlist.sh.in: Likewise.
41911
41912 * boot/i386/pc/boot.S: Upgraded to GPLv3.
41913 * boot/i386/pc/diskboot.S: Likewise.
41914 * boot/i386/pc/pxeboot.S: Likewise.
41915 * commands/blocklist.c: Likewise.
41916 * commands/boot.c: Likewise.
41917 * commands/cat.c: Likewise.
41918 * commands/cmp.c: Likewise.
41919 * commands/configfile.c: Likewise.
41920 * commands/echo.c: Likewise.
41921 * commands/help.c: Likewise.
41922 * commands/ls.c: Likewise.
41923 * commands/search.c: Likewise.
41924 * commands/terminal.c: Likewise.
41925 * commands/test.c: Likewise.
41926 * commands/videotest.c: Likewise.
41927 * commands/i386/cpuid.c: Likewise.
41928 * commands/i386/pc/halt.c: Likewise.
41929 * commands/i386/pc/play.c: Likewise.
41930 * commands/i386/pc/reboot.c: Likewise.
41931 * commands/i386/pc/vbeinfo.c: Likewise.
41932 * commands/i386/pc/vbetest.c: Likewise.
41933 * commands/ieee1275/halt.c: Likewise.
41934 * commands/ieee1275/reboot.c: Likewise.
41935 * commands/ieee1275/suspend.c: Likewise.
41936 * disk/loopback.c: Likewise.
41937 * disk/lvm.c: Likewise.
41938 * disk/raid.c: Likewise.
41939 * disk/efi/efidisk.c: Likewise.
41940 * disk/i386/pc/biosdisk.c: Likewise.
41941 * disk/ieee1275/ofdisk.c: Likewise.
41942 * font/manager.c: Likewise.
41943 * fs/affs.c: Likewise.
41944 * fs/ext2.c: Likewise.
41945 * fs/fat.c: Likewise.
41946 * fs/fshelp.c: Likewise.
41947 * fs/hfs.c: Likewise.
41948 * fs/hfsplus.c: Likewise.
41949 * fs/iso9660.c: Likewise.
41950 * fs/jfs.c: Likewise.
41951 * fs/minix.c: Likewise.
41952 * fs/sfs.c: Likewise.
41953 * fs/ufs.c: Likewise.
41954 * fs/xfs.c: Likewise.
41955 * hello/hello.c: Likewise.
41956 * include/grub/acorn_filecore.h: Likewise.
41957 * include/grub/arg.h: Likewise.
41958 * include/grub/bitmap.h: Likewise.
41959 * include/grub/boot.h: Likewise.
41960 * include/grub/cache.h: Likewise.
41961 * include/grub/device.h: Likewise.
41962 * include/grub/disk.h: Likewise.
41963 * include/grub/dl.h: Likewise.
41964 * include/grub/elfload.h: Likewise.
41965 * include/grub/env.h: Likewise.
41966 * include/grub/err.h: Likewise.
41967 * include/grub/file.h: Likewise.
41968 * include/grub/font.h: Likewise.
41969 * include/grub/fs.h: Likewise.
41970 * include/grub/fshelp.h: Likewise.
41971 * include/grub/gzio.h: Likewise.
41972 * include/grub/hfs.h: Likewise.
41973 * include/grub/kernel.h: Likewise.
41974 * include/grub/loader.h: Likewise.
41975 * include/grub/lvm.h: Likewise.
41976 * include/grub/misc.h: Likewise.
41977 * include/grub/mm.h: Likewise.
41978 * include/grub/net.h: Likewise.
41979 * include/grub/normal.h: Likewise.
41980 * include/grub/parser.h: Likewise.
41981 * include/grub/partition.h: Likewise.
41982 * include/grub/pc_partition.h: Likewise.
41983 * include/grub/raid.h: Likewise.
41984 * include/grub/rescue.h: Likewise.
41985 * include/grub/script.h: Likewise.
41986 * include/grub/setjmp.h: Likewise.
41987 * include/grub/symbol.h: Likewise.
41988 * include/grub/term.h: Likewise.
41989 * include/grub/terminfo.h: Likewise.
41990 * include/grub/tparm.h: Likewise.
41991 * include/grub/types.h: Likewise.
41992 * include/grub/video.h: Likewise.
41993 * include/grub/efi/api.h: Likewise.
41994 * include/grub/efi/chainloader.h: Likewise.
41995 * include/grub/efi/console.h: Likewise.
41996 * include/grub/efi/console_control.h: Likewise.
41997 * include/grub/efi/disk.h: Likewise.
41998 * include/grub/efi/efi.h: Likewise.
41999 * include/grub/efi/pe32.h: Likewise.
42000 * include/grub/efi/time.h: Likewise.
42001 * include/grub/i386/linux.h: Likewise.
42002 * include/grub/i386/setjmp.h: Likewise.
42003 * include/grub/i386/types.h: Likewise.
42004 * include/grub/i386/efi/kernel.h: Likewise.
42005 * include/grub/i386/efi/loader.h: Likewise.
42006 * include/grub/i386/efi/time.h: Likewise.
42007 * include/grub/i386/pc/biosdisk.h: Likewise.
42008 * include/grub/i386/pc/boot.h: Likewise.
42009 * include/grub/i386/pc/chainloader.h: Likewise.
42010 * include/grub/i386/pc/console.h: Likewise.
42011 * include/grub/i386/pc/init.h: Likewise.
42012 * include/grub/i386/pc/kernel.h: Likewise.
42013 * include/grub/i386/pc/loader.h: Likewise.
42014 * include/grub/i386/pc/memory.h: Likewise.
42015 * include/grub/i386/pc/multiboot.h: Likewise.
42016 * include/grub/i386/pc/serial.h: Likewise.
42017 * include/grub/i386/pc/time.h: Likewise.
42018 * include/grub/i386/pc/vbe.h: Likewise.
42019 * include/grub/i386/pc/vbeblit.h: Likewise.
42020 * include/grub/i386/pc/vbefill.h: Likewise.
42021 * include/grub/i386/pc/vbeutil.h: Likewise.
42022 * include/grub/i386/pc/vga.h: Likewise.
42023 * include/grub/ieee1275/ieee1275.h: Likewise.
42024 * include/grub/ieee1275/ofdisk.h: Likewise.
42025 * include/grub/powerpc/libgcc.h: Likewise.
42026 * include/grub/powerpc/setjmp.h: Likewise.
42027 * include/grub/powerpc/types.h: Likewise.
42028 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
42029 * include/grub/powerpc/ieee1275/console.h: Likewise.
42030 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
42031 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
42032 * include/grub/powerpc/ieee1275/loader.h: Likewise.
42033 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
42034 * include/grub/powerpc/ieee1275/time.h: Likewise.
42035 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
42036 * include/grub/sparc64/libgcc.h: Likewise.
42037 * include/grub/sparc64/setjmp.h: Likewise.
42038 * include/grub/sparc64/types.h: Likewise.
42039 * include/grub/sparc64/ieee1275/console.h: Likewise.
42040 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42041 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42042 * include/grub/sparc64/ieee1275/time.h: Likewise.
42043 * include/grub/util/biosdisk.h: Likewise.
42044 * include/grub/util/getroot.h: Likewise.
42045 * include/grub/util/lvm.h: Likewise.
42046 * include/grub/util/misc.h: Likewise.
42047 * include/grub/util/raid.h: Likewise.
42048 * include/grub/util/resolve.h: Likewise.
42049 * io/gzio.c: Likewise.
42050 * kern/device.c: Likewise.
42051 * kern/disk.c: Likewise.
42052 * kern/dl.c: Likewise.
42053 * kern/elf.c: Likewise.
42054 * kern/env.c: Likewise.
42055 * kern/err.c: Likewise.
42056 * kern/file.c: Likewise.
42057 * kern/fs.c: Likewise.
42058 * kern/loader.c: Likewise.
42059 * kern/main.c: Likewise.
42060 * kern/misc.c: Likewise.
42061 * kern/mm.c: Likewise.
42062 * kern/parser.c: Likewise.
42063 * kern/partition.c: Likewise.
42064 * kern/rescue.c: Likewise.
42065 * kern/term.c: Likewise.
42066 * kern/efi/efi.c: Likewise.
42067 * kern/efi/init.c: Likewise.
42068 * kern/efi/mm.c: Likewise.
42069 * kern/i386/dl.c: Likewise.
42070 * kern/i386/efi/init.c: Likewise.
42071 * kern/i386/efi/startup.S: Likewise.
42072 * kern/i386/pc/init.c: Likewise.
42073 * kern/i386/pc/lzo1x.S: Likewise.
42074 * kern/i386/pc/startup.S: Likewise.
42075 * kern/ieee1275/ieee1275.c: Likewise.
42076 * kern/powerpc/cache.S: Likewise.
42077 * kern/powerpc/dl.c: Likewise.
42078 * kern/powerpc/ieee1275/cmain.c: Likewise.
42079 * kern/powerpc/ieee1275/crt0.S: Likewise.
42080 * kern/powerpc/ieee1275/init.c: Likewise.
42081 * kern/powerpc/ieee1275/openfw.c: Likewise.
42082 * kern/sparc64/cache.S: Likewise.
42083 * kern/sparc64/dl.c: Likewise.
42084 * kern/sparc64/ieee1275/init.c: Likewise.
42085 * kern/sparc64/ieee1275/openfw.c: Likewise.
42086 * loader/efi/chainloader.c: Likewise.
42087 * loader/efi/chainloader_normal.c: Likewise.
42088 * loader/i386/efi/linux.c: Likewise.
42089 * loader/i386/efi/linux_normal.c: Likewise.
42090 * loader/i386/pc/chainloader.c: Likewise.
42091 * loader/i386/pc/chainloader_normal.c: Likewise.
42092 * loader/i386/pc/linux.c: Likewise.
42093 * loader/i386/pc/linux_normal.c: Likewise.
42094 * loader/i386/pc/multiboot.c: Likewise.
42095 * loader/i386/pc/multiboot_normal.c: Likewise.
42096 * loader/powerpc/ieee1275/linux.c: Likewise.
42097 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42098 * normal/arg.c: Likewise.
42099 * normal/cmdline.c: Likewise.
42100 * normal/command.c: Likewise.
42101 * normal/completion.c: Likewise.
42102 * normal/execute.c: Likewise.
42103 * normal/function.c: Likewise.
42104 * normal/lexer.c: Likewise.
42105 * normal/main.c: Likewise.
42106 * normal/menu.c: Likewise.
42107 * normal/menu_entry.c: Likewise.
42108 * normal/misc.c: Likewise.
42109 * normal/parser.y: Likewise.
42110 * normal/script.c: Likewise.
42111 * normal/i386/setjmp.S: Likewise.
42112 * normal/powerpc/setjmp.S: Likewise.
42113 * normal/sparc64/setjmp.S: Likewise.
42114 * partmap/acorn.c: Likewise.
42115 * partmap/amiga.c: Likewise.
42116 * partmap/apple.c: Likewise.
42117 * partmap/gpt.c: Likewise.
42118 * partmap/pc.c: Likewise.
42119 * partmap/sun.c: Likewise.
42120 * term/gfxterm.c: Likewise.
42121 * term/terminfo.c: Likewise.
42122 * term/efi/console.c: Likewise.
42123 * term/i386/pc/console.c: Likewise.
42124 * term/i386/pc/serial.c: Likewise.
42125 * term/i386/pc/vesafb.c: Likewise.
42126 * term/i386/pc/vga.c: Likewise.
42127 * term/ieee1275/ofconsole.c: Likewise.
42128 * util/biosdisk.c: Likewise.
42129 * util/console.c: Likewise.
42130 * util/genmoddep.c: Likewise.
42131 * util/getroot.c: Likewise.
42132 * util/grub-emu.c: Likewise.
42133 * util/grub-mkdevicemap.c: Likewise.
42134 * util/grub-probe.c: Likewise.
42135 * util/lvm.c: Likewise.
42136 * util/misc.c: Likewise.
42137 * util/raid.c: Likewise.
42138 * util/resolve.c: Likewise.
42139 * util/update-grub.in: Likewise.
42140 * util/update-grub_lib.in: Likewise.
42141 * util/grub.d/00_header.in: Likewise.
42142 * util/grub.d/10_hurd.in: Likewise.
42143 * util/grub.d/10_linux.in: Likewise.
42144 * util/i386/efi/grub-install.in: Likewise.
42145 * util/i386/efi/grub-mkimage.c: Likewise.
42146 * util/i386/pc/grub-install.in: Likewise.
42147 * util/i386/pc/grub-mkimage.c: Likewise.
42148 * util/i386/pc/grub-mkrescue.in: Likewise.
42149 * util/i386/pc/grub-setup.c: Likewise.
42150 * util/i386/pc/misc.c: Likewise.
42151 * util/powerpc/ieee1275/grub-install.in: Likewise.
42152 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
42153 * util/powerpc/ieee1275/misc.c: Likewise.
42154 * video/bitmap.c: Likewise.
42155 * video/video.c: Likewise.
42156 * video/i386/pc/vbe.c: Likewise.
42157 * video/i386/pc/vbeblit.c: Likewise.
42158 * video/i386/pc/vbefill.c: Likewise.
42159 * video/i386/pc/vbeutil.c: Likewise.
42160 * video/readers/tga.c: Likewise.
42161
3572d015 421622007-07-02 Robert Millan <rmh@aybabtu.com>
42163
42164 * conf/i386-efi.rmk: Replace obsolete reference to
42165 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
42166 with util/getroot.c.
42167 * conf/powerpc-ieee1275.rmk: Likewise.
42168 * conf/sparc64-ieee1275.rmk: Likewise.
42169
42170 * util/grub-emu.c (main): Fix unchecked pointer handling.
42171
2c2a681b 421722007-07-02 Robert Millan <rmh@aybabtu.com>
42173
42174 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
42175 invocation to fail, in order to support partition-less media.
42176
42177 * util/i386/pc/grub-install.in: Likewise.
42178
42179 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
42180 which fs or partmap modules are needed (akin to its sister scripts).
42181
42182 Also use grub-probe to get rid of unportable /proc/mounts check.
42183
42184 Print the same informational message that the other scripts do, before
fe6b695a 42185 exiting.
2c2a681b 42186
6193defe 421872007-06-23 Robert Millan <rmh@aybabtu.com>
42188
fe6b695a 42189 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 42190 a font file can be found and, if so, echo the GRUB path to it.
42191
42192 * util/update-grub.in: Handle multiple terminals depending on user
42193 input, platform availability and font file presence. Propagate
42194 variables of our findings to /etc/grub.d/ children.
42195
42196 * util/grub.d/00_header.in: Handle multiple terminals, based on
42197 environment setup by update-grub.
42198
eface1dc 421992007-06-23 Robert Millan <rmh@aybabtu.com>
42200
ba50d28f 42201 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 42202
bf697e28 422032007-06-21 Robert Millan <rmh@aybabtu.com>
42204
42205 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
42206 indicate end of data section in kernel image.
42207 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
42208 GRUB_KERNEL_MACHINE_DATA_END.
42209
42210 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
42211 space for it.
42212 * kern/i386/efi/startup.S: Likewise.
42213
42214 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
42215 during image generation. Implement --prefix option to override this
42216 patch.
42217 * util/i386/efi/grub-mkimage.c: Likewise.
42218
42219 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
42220 code to make path relative to its root into a separate function.
42221
42222 * util/i386/pc/grub-install.in: Use newly provided
42223 make_system_path_relative_to_its_root() to convert ${grubdir}, then
42224 pass the result to grub-install --prefix.
42225
baa574b4 422262007-06-13 Robert Millan <rmh@aybabtu.com>
42227
42228 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
42229 DEFAULT_DEVICE_MAP.
42230 * util/grub-emu.c: Use above definitions from misc.h instead of
42231 defining them.
42232 * util/grub-mkdevicemap.c: Likewise.
42233 * util/i386/pc/grub-setup.c: Likewise.
42234 * util/grub-probe.c: Likewise.
42235 (probe): Abort with grub_util_error() when either
42236 grub_guess_root_device or grub_util_get_grub_dev fails.
42237
0215dcbf 422382007-06-12 Robert Millan <rmh@aybabtu.com>
42239
42240 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
42241 "pager" assignment.
42242 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
42243 "pcdata".
42244 * util/grub-probe.c (probe): Likewise for "drive_name".
42245
8af2ab7b 422462007-06-11 Robert Millan <rmh@aybabtu.com>
42247
42248 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
42249 not just the cdrom one.
42250
59d31694 422512007-06-11 Robert Millan <rmh@aybabtu.com>
42252
42253 * util/i386/pc/grub-mkrescue.in: Add "set -e".
42254 Add --pkglibdir=DIR option to override pkglibdir.
42255 Mention --image-type=TYPE in help output.
42256 Fix --grub-mkimage (it was a no-op).
fe6b695a 42257 Abort gracefully when no parameter is given.
59d31694 42258
7ee367e4 422592007-06-11 Robert Millan <rmh@aybabtu.com>
42260
42261 * util/i386/pc/grub-mkrescue.in: New file.
42262 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
42263 * Makefile.in: Handle bin_SCRIPTS.
42264
29b0ed46 422652007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
42266
42267 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
42268 list of video modes.
42269
c0f90770 422702007-06-06 Robert Millan <rmh@aybabtu.com>
42271
42272 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
42273 file doesn't exist, or if it is in a filesystem grub can't read.
42274
42275 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
42276 not abort if GRUB_DRIVE could not be defined. Rearrange generated
42277 header comment to fit in 80 columns when the variables are resolved.
42278
42279 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
42280 could be identified by update-grub. Remove redundant check for
fe6b695a 42281 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 42282 handles that).
42283
fb36dc26 422842007-06-04 Robert Millan <rmh@aybabtu.com>
42285
42286 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
42287
42288 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
42289
42290 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
42291
0c68c93e 422922007-06-04 Robert Millan <rmh@aybabtu.com>
42293
42294 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
42295
42296 * include/grub/partition.h: Declare grub_apple_partition_map_init and
42297 grub_apple_partition_map_fini.
42298
42299 * util/biosdisk.c
42300 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
42301 to access >2 TiB disks).
42302
42303 Print disk->total_sectors with %llu instead of %lu, since this
42304 variable is always 64-bit (prevents wrong disk size from being displayed
42305 on either >2 TiB disk or big-endian CPU).
42306
42307 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
42308 into a generic case that supports all (sane) partition maps.
42309
42310 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
42311 breaks big-endian.
42312
42313 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
42314 and grub_apple_partition_map_fini() after that.
42315
0f23eb74 423162007-06-01 Robert Millan <rmh@aybabtu.com>
42317
42318 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
42319
42320 * util/grub.d/00_header.in: Only enable gfxterm when
42321 convert_system_path_to_grub_path() succeeds.
42322
42c71976 423232007-05-20 Robert Millan <rmh@aybabtu.com>
42324
42325 * util/update-grub_lib.in: New file.
42326 * DISTLIST: Add update-grub_lib.in.
42327 * conf/common.rmk: Generate update-grub_lib and install it in
42328 $(lib_DATA).
42329 * Makefile.in: Add install routine for $(lib_DATA).
42330
42331 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
42332 function provided by update-grub_lib to support arbitrary paths of
42333 unifont.pff.
42334 * util/update-grub.in: Use convert_system_path_to_grub_path() to
42335 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
42336
5beb2291 423372007-05-19 Robert Millan <rmh@aybabtu.com>
42338
42339 * commands/i386/cpuid.c: New module.
42340 * DISTLIST: Add it.
42341 * conf/i386-efi.rmk: Enable cpuid.mod.
42342 * conf/i386-pc.rmk: Likewise.
42343
7262eca1 423442007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
42345
42346 * kern/disk.c (grub_disk_read): Check return value of
42347 grub_realloc().
42348
260ba823 423492007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
42350
42351 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
42352 arrays.
42353 * disk/raid.c (grub_raid_open): Likewise.
42354
1ecb6cf2 423552007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
42356
42357 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
42358 stack instead of on the heap.
42359
42360 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
42361 before doing a read on it.
42362
42363 * configure.ac: Only use -fno-stack-protector for the target
42364 environment.
f19dbdb7 42365
21c8cbb1 423662007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
42367
42368 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
42369 __attribute_ ((unused)) to mode_type argument.
42370
42371 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 42372
21c8cbb1 42373 * kern/misc.c (memcmp): Fix prototype.
42374
42375 * include/grub/partition.h [GRUB_UTIL]
42376 (grub_gpt_partition_map_init): Add prototype.
42377 (grub_gpt_partition_map_fini): Likewise.
42378
42379 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
42380 at the right place.
42381
42382 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
42383 (grub_fat_read_data): Likewise.
42384 (grub_fat_find_dir): Likewise.
42385
42386 * font/manager.c (find_glyph): Make table a const.
42387 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 42388
849d55d3 423892007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
42390
42391 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
42392 code, first search for device in /dev/mapper, then in /dev.
42393 (grub_util_get_grub_dev): New function.
42394 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
42395 prototype.
42396 * util/grub-probe.c (probe): Remove check for RAID, call
42397 grub_util_get_grub_dev() instead of
42398 grub_util_biosdisk_get_grub_dev().
42399 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
42400 grub_util_biosdisk_get_grub_dev().
42401 * util/i386/pc/grub-setup.c (main): Likewise.
42402
8fff7c2f 424032007-05-16 Robert Millan <rmh@aybabtu.com>
42404
42405 * DISTLIST: Update for the latest changes.
42406 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
42407 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
42408 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
42409 grub/util/biosdisk.h.
42410 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
42411 grub/util/biosdisk.h.
42412
48e12b52 424132007-05-16 Robert Millan <rmh@aybabtu.com>
42414
42415 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
42416
46b9d128 424172007-05-16 Robert Millan <rmh@aybabtu.com>
42418
42419 * util/i386/efi/grub-install.in: New.
42420 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
42421 newly added grub-install.
42422 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
42423 include.
42424 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
42425 grub/util/biosdisk.h.
42426 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
42427 grub/util/biosdisk.h.
42428
2d1a40a9 424292007-05-16 Robert Millan <rmh@aybabtu.com>
42430
42431 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
42432 * include/grub/util/biosdisk.h: ... here.
42433 * util/i386/pc/biosdisk.c: Moved to ...
42434 * util/biosdisk.c: ... here.
42435 * util/i386/pc/getroot.c: Moved to ...
42436 * util/getroot.c: ... here.
42437 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
42438 * util/grub-mkdevicemap.c: ... here.
42439 * util/i386/pc/grub-probe.c: Moved to ...
42440 * util/grub-probe.c: ... here.
42441
9e26e3bc 424422007-05-15 Robert Millan <rmh@aybabtu.com>
42443
42444 * util/update-grub.in: Remove duplicated line in grub.cfg header
42445 message.
42446
57f96397 424472007-05-13 Robert Millan <rmh@aybabtu.com>
42448
42449 * util/update-grub.in: Fix a few assumptions about the devices holding
42450 /, /boot and /boot/grub being the same.
42451 * util/grub.d/00_header.in: Likewise.
42452 * util/grub.d/10_hurd.in: Likewise.
42453 * util/grub.d/10_linux.in: Likewise.
42454
42455 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
42456 patterns. Use that to define the `.old' suffix as older than `'.
42457
42458 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
42459
42460 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
42461 the grub.cfg header message.
42462
2e610d62 424632007-05-11 Robert Millan <rmh@aybabtu.com>
42464
42465 * util/update-grub.in: Create device.map if it doesn't already exist,
42466 before attempting to run grub-probe.
42467 Check for grub-probe and grub-mkdevicemap with the same code
42468 grub-install is using.
42469 Remove test mode.
42470
3f6a10ef 424712007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
42472
42473 * Makefile.in: Add the datarootdir autoconf variable.
42474
02e7b75e 424752007-05-09 Robert Millan <rmh@aybabtu.com>
42476
42477 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 42478 fail gracefully if dev->disk->partition == NULL.
02e7b75e 42479
75f396cc 424802007-05-07 Robert Millan <rmh@aybabtu.com>
42481
42482 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
42483 determine partition map module.
42484 * util/i386/pc/grub-install.in: Use this feature to decide which
42485 partition module to load, instead of hardcoding pc and gpt.
42486
da65cb36 424872007-05-07 Robert Millan <rmh@aybabtu.com>
42488
42489 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
42490 source directory differs from build directory.
42491
b57d6a91 424922007-05-05 Robert Millan <rmh@aybabtu.com>
42493
42494 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
42495 initialisation.
42496
509d00f1 424972007-05-05 Robert Millan <rmh@aybabtu.com>
42498
42499 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
42500
c48f23ef 425012007-05-05 Robert Millan <rmh@aybabtu.com>
42502
42503 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
42504 command-line arguments via ${GRUB_CMDLINE_LINUX}.
42505
20b97658 425062007-05-05 Robert Millan <rmh@aybabtu.com>
42507
42508 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
42509 (grub_probe_SOURCES): Likewise.
42510 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
42511 GPT and initialize dos_part and bsd_part accordingly.
42512 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
42513 install_bsd_part.
42514 (main): Activate gpt module for use during partition identification,
42515 and deactivate it afterwards.
42516 * util/i386/pc/grub-install.in: Add gpt module to core.img.
42517 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
42518 partition identification, and deactivate it afterwards.
42519
99123174 425202007-05-05 Robert Millan <rmh@aybabtu.com>
42521
42522 * term/i386/pc/console.c (grub_console_fini): Call
42523 grub_term_set_current() before grub_term_unregister().
42524
ebd97f6e 425252007-05-04 Robert Millan <rmh@aybabtu.com>
42526
42527 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
42528 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
42529 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
42530 and update-grub_DATA.
42531 * conf/common.rmk: Build and install update-grub components.
42532 * conf/common.mk: Regenerate.
42533 * util/update-grub.in: New. Core of update-grub.
42534 * util/grub.d/00_header.in: New. Generates grub.cfg header.
42535 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
42536 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
42537 * util/grub.d/README: New. Document grub.d directory layout.
42538
b06a264d 425392007-05-01 Robert Millan <rmh@aybabtu.com>
42540
42541 * util/grub-emu.c: Move initialization functions
42542 grub_util_biosdisk_init() and grub_init_all() before
42543 grub_util_biosdisk_get_grub_dev(), which relies on them.
42544
41f0050e 425452007-04-19 Robert Millan <rmh@aybabtu.com>
42546
42547 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
42548 it is used later.
42549
04582bb3 425502007-04-18 Jerone Young <jerone@gmail.com>
42551
f19dbdb7 42552 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 42553 stanza.
42554
08db4632 425552007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 42556
08db4632 42557 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
42558 continue on and look for device node with real device name.
42559
801b76be 425602007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 42561
fe6b695a 42562 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 42563 ability.
42564 * Makefile.in: Add autoconf package transformation code.
42565 * util/i386/pc/grub-install.in: Likewise.
42566 * util/powerpc/ieee1275/grub-install.in: Likewise.
42567
6795c4e1 425682007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42569
42570 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
42571 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
42572 (EXT2_REVISION): Likewise.
42573 (EXT2_INODE_SIZE): Likewise.
42574 (struct grub_ext2_block_group): Added a missing member
42575 "used_dirs".
42576 (grub_ext2_read_inode): Divide by the inode size in a superblock
42577 instead of 128 to obtain INODES_PER_BLOCK.
42578 Use the macro EXT2_INODE_SIZE instead of directly using
42579 SBLOCK->INODE_SIZE.
42580
d70af616 425812007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42582
42583 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
42584 superblock instead of the structure size to compute an
42585 offset. This fixes the problem that GRUB could not read a
42586 filesystem when inode size is different from 128-byte.
42587
3b801603 425882007-03-05 Marco Gerards <marco@gnu.org>
42589
42590 * normal/main.c (read_config_file): When "menu" is not set, create
42591 an initial context.
42592
4785bfe4 425932007-02-21 Hollis Blanchard <hollis@penguinppc.org>
42594
42595 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
42596 (HEAP_LIMIT): New macro.
42597 (grub_claim_heap): Claim memory up to `heaplimit'.
42598
a0cbb023 425992007-02-21 Hollis Blanchard <hollis@penguinppc.org>
42600
42601 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
42602 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
42603 (_start): Likewise.
42604 (grub_arch_modules_addr): Return address after `_end'.
42605 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
42606 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
42607 (add_segments): Calculate `_end' from phdr size and location.
42608 (ALIGN_UP): Moved to ...
42609 * include/grub/misc.h: here.
42610 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42611 New macro.
42612 (GRUB_IEEE1275_MODULE_BASE): Removed.
42613
fd7d8eba 426142007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42615
42616 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
42617 loop boundary.
42618
9b09e6fc 426192007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42620
42621 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
42622 All users updated.
42623 (grub_elf64_load_hook_t): Likewise.
42624 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
42625 debug output.
42626
3ce27299 426272007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42628
42629 * kern/mm.c: Update copyright.
42630 (grub_mm_debug): Correct syntax error.
42631 (grub_mm_dump_free): New function.
42632 (grub_debug_free): Call `grub_free'.
42633 * include/grub/mm.h: Update copyright.
42634 (grub_mm_dump_free): Add declaration.
42635
077d5fee 426362007-02-12 Hollis Blanchard <hollis@penguinppc.org>
42637
42638 * include/grub/ieee1275/ieee1275.h: Update copyright.
42639 * kern/powerpc/ieee1275/init.c: Likewise.
42640 * kern/powerpc/ieee1275/openfw.c: Likewise.
42641
42642 * loader/powerpc/ieee1275/linux.c: Likewise.
42643 * include/grub/elfload.h: Likewise.
42644 * kern/elf.c: Likewise.
42645 (grub_elf32_load): Pass `base' and `size' parameters. Update all
42646 callers.
42647 (grub_elf64_load): Likewise.
42648 (grub_elf32_load_segment): Move to a nested function.
42649 (grub_elf64_load_segment): Likewise.
42650
dc946850 426512007-02-12 Hollis Blanchard <hollis@penguinppc.org>
42652
42653 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
42654 prototype.
42655 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
42656 (grub_heap_len): Likewise.
42657 (HEAP_SIZE): New macro.
42658 (grub_claim_heap): New function.
42659 (grub_machine_init): Don't claim heap directly. Call
42660 `grub_claim_heap'.
42661 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
42662 (grub_available_iterate): New function.
42663
baa2a121 426642007-02-03 Thomas Schwinge <tschwinge@gnu.org>
42665
42666 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
42667 * configure.ac: Use it for testing the HOST and TARGET compilers.
42668
4fe9862e 426692006-12-13 Thomas Schwinge <tschwinge@gnu.org>
42670
42671 * Makefile.in (enable_grub_emu): New variable.
42672 * configure.ac (--enable-grub-emu): New option.
42673 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
42674 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
42675 * conf/i386-pc.rmk: Likewise.
42676 * conf/powerpc-ieee1275.rmk: Likewise.
42677 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
42678
a8aa5762 426792006-12-12 Marco Gerards <marco@gnu.org>
42680
42681 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
42682
42683 * kern/env.c (grub_env_unset): Don't free the member `value' when
42684 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
42685 pointer.
42686
42687 * normal/main.c (current_menu): Removed.
42688 (free_menu): Unset the `menu' environment variable.
42689 (grub_normal_menu_addentry): Make use of the environment variable
42690 `menu', instead of using the global `current_menu'. Allocate
42691 memory for the sourcecode of this entry.
42692 (read_config_file): New argument `nested', changed all callers.
42693 Only in the case of a new context, initialize a new menu. Set the
42694 `menu' environment variable.
42695 (grub_normal_execute): Don't set and unset the environment
42696 variable `menu' here anymore. Only free the menu when leaving the
42697 context.
42698
42699 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
42700 leak.
42701
957b3a3e 427022006-12-11 Marco Gerards <marco@gnu.org>
42703
42704 * normal/menu_entry.c (run): Fix off by one bug so the last line
42705 is executed. Move the loader check to outside the loop.
42706
ef875714 427072006-12-08 Hollis Blanchard <hollis@penguinppc.org>
42708
42709 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
42710
4e739985 427112006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
42712
42713 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
42714 the number of sectors. Reported by Andrey Shuvikov
42715 <mr_hyro@yahoo.com>.
f19dbdb7 42716
790707f2 427172006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
42718
42719 * kern/disk.c (grub_disk_read): When there is a read error, always
42720 try to read only the necessary data.
f19dbdb7 42721
790707f2 42722 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
42723 disk/raid.c.
42724 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
42725 prototype.
42726 [GRUB_UTIL] (grub_raid_fini): Likewise.
42727 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 42728 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 42729 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
42730 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
42731 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
42732 and grub_raid_fini().
f19dbdb7 42733
03e58196 427342006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42735
42736 * include/grub/types.h (__unused): Rename to UNUSED.
42737 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
42738 (grub_elf64_size): Likewise.
f19dbdb7 42739
ae4f23bf 427402006-11-03 Hollis Blanchard <hollis@penguinppc.org>
42741
42742 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
42743 grub_error_push and grub_error_pop in the error-handling path.
42744 (grub_elf32_load_segment): Only call grub_file_read with non-zero
42745 length.
42746
2166cc83 427472006-11-03 Hollis Blanchard <hollis@penguinppc.org>
42748
42749 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
42750 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42752 (kernel_elf_SOURCES): Likewise.
42753 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
42754 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
42755 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42756 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42757 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
42758 (elf_mod_SOURCES): New variable.
42759 (elf_mod_CFLAGS): Likewise.
42760 (elf_mod_LDFLAGS): Likewise.
42761 * include/grub/types.h (__unused): New macro.
42762 * include/grub/elfload.h: New file.
42763 * kern/elf.c: Likewise.
42764 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
42765 (ELF32_LOADMASK): New macro.
42766 (ELF64_LOADMASK): Likewise.
42767 (vmlinux): Removed.
42768 (grub_linux_load32): New function.
42769 (grub_linux_load64): Likewise.
42770 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
42771 Use grub_elf_t instead of grub_file_t.
42772
a09d5aa5 427732006-11-02 Hollis Blanchard <hollis@penguinppc.org>
42774
42775 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
42776 `catch_result' to struct set_color_args.
42777
d976fc51 427782006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42779
42780 * normal/menu.c: Include grub/script.h.
42781 * normal/menu_entry.c: Likewise.
42782 * include/grub/normal.h: Do not include grub/script.h.
42783
67507549 427842006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42785
42786 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
42787
69203a99 427882006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42789
42790 * kern/disk.c (grub_disk_open): Print debug messages when opening a
42791 disk.
42792 (grub_disk_close): Print debug messages when closing a disk.
42793 (grub_disk_read): Print debug messages when disk read fails.
42794 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
42795 filesystem type.
42796 * kern/partition.c: Include misc.h.
42797 (grub_partition_iterate): Print debug messages when detecting
42798 partition type.
42799
e2b8278c 428002006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42801
42802 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
42803 is negative.
42804 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
42805
97b2f2ff 428062006-10-26 Hollis Blanchard <hollis@penguinppc.org>
42807
42808 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42809 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
42810
6555d655 428112006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
42812
42813 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
42814 instead of sizeof(lv). Patch by Michael Guntsche.
42815
4d42b77f 428162006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
42817
42818 * disk/lvm.c: Rename VGS to VG_LIST.
42819 (grub_lvm_iterate): Change VGS->LV to VG-LV.
42820 (grub_lvm_open): Likewise.
42821 Thanks to Michael Guntsche for finding this bug.
42822
5d74d927 428232006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42824
42825 * configure.ac (AC_INIT): Bumped to 1.95.
42826
a1bb27e4 428272006-10-14 Robert Millan <rmh@aybabtu.com>
42828
42829 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
42830 with "/dev/.static/dev/md".
42831
e0994b8b 428322006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42833
42834 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
42835 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
42836 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
42837 DRIVE_NAME are always freed.
42838
42839 * util/i386/pc/biosdisk.c (make_device_name): Add one into
42840 DOS_PART, as a DOS partition is counted from one instead of zero
42841 now. Reported by Robert Millan.
42842
ddd5cee9 428432006-10-14 Robert Millan <rmh@aybabtu.com>
42844
42845 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
42846 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
42847 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
42848 string returned by grub_guess_root_device.
42849 * util/i386/pc/grub-setup.c: Likewise.
42850 * util/i386/pc/grub-probefs.c: Likewise.
42851
42852 * util/i386/pc/grub-probefs.c: Rename to ...
42853 * util/i386/pc/grub-probe.c: ... this.
42854 * DISTLIST: Remove grub-probefs, add grub-probe.
42855 * conf/i386-efi.rmk: Likewise.
42856 * conf/i386-pc.rmk: Likewise.
42857 * util/i386/pc/grub-install.in: Likewise.
42858
42859 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
42860 choose which information we want to print.
42861
2b002173 428622006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42863
42864 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
42865 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
42866 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
42867 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
42868 video/readers/tga.c and video/i386/pc/vbeutil.c.
42869
428702006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
42871
42872 Added support for RAID and LVM.
f19dbdb7 42873
2b002173 42874 * disk/lvm.c: New file.
42875 * disk/raid.c: Likewise.
42876 * include/grub/lvm.h: Likewise.
f19dbdb7 42877 * include/grub/raid.h: Likewise.
2b002173 42878 * include/grub/util/lvm.h: Likewise.
42879 * include/grub/util/raid.h: Likewise.
42880 * util/lvm.c: Likewise.
42881 * util/raid.c: Likewise.
42882
42883 * include/grub/disk.h (grub_disk_dev_id): Add
42884 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
42885 (grub_disk_get_size): New prototype.
42886 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
42887 returns a partition.
42888 (grub_disk_get_size): New function.
f19dbdb7 42889
2b002173 42890 * kern/i386/pc/init.c (make_install_device): Copy the prefix
42891 verbatim if grub_install_dos_part is -2.
42892
42893 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
42894 and LVM devices.
42895
42896 * util/i386/pc/grub-setup.c (setup): New argument
42897 MUST_EMBED. Force embedding of GRUB when the argument is
42898 true. Close FILE before returning.
42899 (main): Add support for RAID and LVM.
f19dbdb7 42900
2b002173 42901 * conf/common.rmk: Add RAID and LVM modules.
42902 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
42903 util/lvm.c.
42904 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
42905
42906 * kern/misc.c (grub_strstr): New function.
42907 * include/grub/misc.h (grub_strstr): New prototype.
42908
050548d0 429092006-10-10 Tristan Gingold <tristan.gingold@bull.net>
42910
42911 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
42912
da849d2d 429132006-10-05 Tristan Gingold <tristan.gingold@bull.net>
42914
42915 * kern/misc.c (grub_strtoull): Guess the base only if not
42916 specified.
42917
97b2f2ff 429182006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 42919
42920 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
42921 PowerMac support.
42922
97b2f2ff 429232006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 42924
42925 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
42926
42927 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
42928 Remove `flags' argument. All callers changed.
42929 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
42930 (IEEE1275_IHANDLE_INVALID): New variable.
42931 (IEEE1275_CELL_INVALID): New variable.
42932 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
42933 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
42934 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
42935 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
42936 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
42937 codes from Open Firmware. All callers updated.
42938 (grub_ieee1275_next_property): Directly return Open Firmware return
42939 code.
42940 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
42941 Standardize error checking from `grub_ieee1275_get_property'.
42942 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
42943 `devalias' to `aliases'. Correct comments. Consolidate error paths.
42944
97b2f2ff 429452006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 42946
42947 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
42948 `instance_to_package_args' to `instance_to_path_args'.
42949
42950 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
42951 `grub_ieee1275_chosen'.
42952
42953 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
42954 `grub_ieee1275_interpret'.
42955
97b2f2ff 429562006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 42957
42958 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
42959
97b2f2ff 429602006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 42961
42962 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
42963 (__cmpdi): Likewise.
42964
42965 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
42966 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
42967 `grub_ssize_t'.
42968
02bb8acc 42969 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 42970
42971 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
42972 to type `grub_ssize_t'.
42973 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
42974
7f9a8531 429752006-09-22 Marco Gerards <marco@gnu.org>
42976
42977 * normal/script.c (grub_script_create_cmdmenu): Skip leading
42978 newlines.
42979
b5ef1102 429802006-09-22 Marco Gerards <marco@gnu.org>
42981
42982 * commands/echo.c: New file.
42983
42984 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
42985
42986 * conf/common.rmk (echo_mod_SOURCES): New variable.
42987 (echo_mod_CFLAGS): Likewise.
42988 (echo_mod_LDFLAGS): Likewise.
42989
2cff3677 429902006-09-22 Marco Gerards <marco@gnu.org>
42991
42992 * normal/main.c (get_line): Malloc memory instead of using
42993 preallocated memory. Removed the arguments `cmdline' and
42994 `max_len'. Updated all callers.
42995
6ba4688b 429962006-09-22 Marco Gerards <marco@gnu.org>
42997
42998 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
42999 (normal_mod_DEPENDENCIES): Likewise.
43000
43001 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
43002 (normal_mod_DEPENDENCIES): Likewise.
43003
43004 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
43005
e02ac02c 430062006-09-22 Johan Rydberg <jrydberg@gnu.org>
43007
43008 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
43009 programs.
43010 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
43011 (normal_mod_DEPENDENCIES): Likewise.
43012 * conf/i386-pc.mk: Regenerate.
43013 * conf/i386-efi.mk: Likewise
43014 * conf/common.mk: Likewise.
43015 * conf/powerpc-ieee1275.mk: Likewise.
43016 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43017
8d252e44 430182006-09-22 Robert Millan <rmh@aybabtu.com>
43019
43020 Sync with i386 version.
43021 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
43022 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
43023
209bf7ac 430242006-09-21 Robert Millan <rmh@aybabtu.com>
43025
43026 Import from GRUB Legacy (lib/device.c):
43027 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
43028 (init_device_map) [__linux__]: Add support for I2O devices.
43029
6b146090 430302006-09-14 Marco Gerards <marco@gnu.org>
43031
43032 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
43033 `-melf_i386'.
43034
e38600a8 430352006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 43036
43037 * util/i386/pc/grub-install.in: Skip menu.lst when removing
43038 /boot/grub/*.lst.
78fa1790 43039
2952da5d 43040 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 43041
2952da5d 43042 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
43043 before adding it to device.map.
43044
01b82a64 430452006-08-15 Johan Rydberg <jrydberg@gnu.org>
43046
fe6b695a 43047 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 43048 compiles a file; using the -MD option.
43049 * conf/common.mk: Regenerate.
43050 * conf/i386-pc.mk: Likewise.
43051 * conf/i386-efi.mk: Likewise.
43052 * conf/powerpc-ieee1275.mk: Likewise.
43053 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43054
1064790d 430552006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
43056
43057 Move the prototypes of grub_setjmp and grub_longjmp to
43058 cpu/setjmp.h, so that each architecture may specify different
43059 attributes.
f19dbdb7 43060
1064790d 43061 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
43062 (grub_longjmp): Likewise.
43063 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
43064 (grub_longjmp): Likewise.
43065 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
43066 (grub_longjmp): Likewise.
43067
43068 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
43069 [!GRUB_UTIL] (grub_longjmp): Removed.
43070
29dda3ed 430712006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
43072
43073 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
43074 "color!" method does not return any value.
43075
ad2a06ed 430762006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43077
43078 * include/grub/bitmap.h: New file.
43079
43080 * include/grub/i386/pc/vbeutil.h: Likewise.
43081
43082 * video/bitmap.c: Likewise.
43083
43084 * video/readers/tga.c: Likewise.
43085
43086 * video/i386/pc/vbeutil.c: Likewise.
43087
43088 * commands/videotest.c: Code cleanup and updated to reflect to new
43089 video API.
43090
43091 * term/gfxterm.c: Likewise.
43092
43093 * video/video.c: Likewise.
43094
43095 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
43096 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
43097 (bitmap_mod_SOURCES): New entry.
43098 (bitmap_mod_CFLAGS): Likewise.
43099 (bitmap_mod_LDFLAGS): Likewise.
43100 (tga_mod_SOURCES): Likewise.
43101 (tga_mod_CFLAGS): Likewise.
43102 (tga_mod_LDFLAGS): Likewise.
43103
43104 * include/grub/video.h (grub_video_blit_operators): New enum type.
43105 (grub_video_render_target): Changed as forward declaration and moved
43106 actual definition to be video driver specific.
43107 (grub_video_adapter.blit_bitmap): Added blitting operator.
43108 (grub_video_adapter.blit_render_target): Likewise.
43109 (grub_video_blit_bitmap): Likewise.
43110 (grub_video_blit_render_target): Likewise.
43111
43112 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
43113 driver specific render target definition.
43114 (grub_video_vbe_map_rgba): Added driver internal helper.
43115 (grub_video_vbe_unmap_color): Updated to use
43116 grub_video_i386_vbeblit_info.
43117 (grub_video_vbe_get_video_ptr): Likewise.
43118
43119 * include/grub/i386/pc/vbeblit.h
43120 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
43121 grub_video_i386_vbeblit_info.
43122 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
43123 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
43124 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
43125 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
43126 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
43127 (grub_video_i386_vbeblit_index_index): Likewise.
43128 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
43129 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
43130 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
43131 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
43132 operator.
43133 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
43134 operator.
43135
43136 * video/i386/pc/vbeblit.c: Updated to reflect changes on
43137 include/grub/i386/pc/vbeblit.h.
43138
43139 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
43140 Updated to use grub_video_i386_vbeblit_info.
43141 (grub_video_i386_vbefill_R8G8B8): Likewise.
43142 (grub_video_i386_vbefill_index): Likewise.
43143 (grub_video_i386_vbefill): Added generic filler.
43144
43145 * video/i386/pc/vbefill.c: Updated to reflect changes on
43146 include/grub/i386/pc/vbefill.h.
43147
43148 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
43149 grub_video_i386_vbeblit_info.
43150 (grub_video_vbe_unmap_color): Likewise.
43151 (grub_video_vbe_blit_glyph): Likewise.
43152 (grub_video_vbe_scroll): Likewise.
43153 (grub_video_vbe_draw_pixel): Removed function.
43154 (grub_video_vbe_get_pixel): Likewise.
43155 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
43156 updated code to use it.
43157 (common_blitter): Added common blitter for render target and bitmap.
43158 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
43159 (grub_video_vbe_blit_render_target): Likewise.
43160
bc8c036d 431612006-07-30 Johan Rydberg <jrydberg@gnu.org>
43162
43163 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
43164 is in text mode if there is no console control protocol instance
43165 available.
43166
684a8eff 431672006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43168
43169 * include/grub/video.h: Code cleanup.
43170
43171 * include/grub/i386/pc/vbe.h: Likewise.
43172
43173 * video/i386/pc/vbe.c: Likewise.
43174
43175 * video/i386/pc/vbeblit.c: Likewise.
43176
43177 * video/i386/pc/vbefill.c: Likewise.
43178
43179 * video/video.c: Likewise. Also added more comments.
43180
5915059b 431812006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43182
43183 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
43184 (struct grub_biosdisk_dap): Likewise.
43185
43186 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
43187 linkage settings for all functions.
43188
90ce5d56 431892006-07-12 Marco Gerards <marco@gnu.org>
43190
43191 * configure.ac (--enable-mm-debug): Fix typo.
43192
43193 * genkernsyms.sh.in: Use proper quoting for `CC'.
43194
43e7f879 431952006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
43196
43197 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
43198 (normal_mod_ASFLAGS): Remove "-m32".
43199
4889bdec 432002006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
43201
43202 * util/misc.c: Include config.h.
43203 [!HAVE_MEMALIGN]: Do not include malloc.h.
43204 (grub_memalign): Use posix_memalign, if present. Then, use
43205 memalign, if present. Otherwise, emit an error.
43206
43207 * util/grub-emu.c: Do not include malloc.h.
43208
43209 * include/grub/util/misc.h: Include unistd.h. This is required for
43210 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
43211 D. Eades III <hde@foobar-qux.org>.
43212
43213 * configure.ac (AC_GNU_SOURCE): Added.
43214 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
43215 type.
43216
fd39d4da 432172006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
43218
43219 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
43220 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
43221
b786f3b5 432222006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
43223
43224 * include/grub/types.h (grub_host_addr_t): Rename to
43225 grub_target_addr_t.
43226 (grub_host_off_t): Rename to grub_target_off_t.
43227 (grub_host_size_t): Rename to grub_target_size_t.
43228 (grub_host_ssize_t): Rename to grub_target_ssize_t.
43229 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
43230
43231 * include/grub/kernel.h (struct grub_module_header): Change type
43232 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
43233 (grub_module_info): Likewise.
f19dbdb7 43234
051988bb 432352006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
43236
43237 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
43238 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
43239 Velazquez <jesus.velazquez@gmail.com>.
43240
deae281b 432412006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
43242
43243 Count partitions from 1 instead of 0 in the string representation
43244 of partitions. Still use 0-based internally.
f19dbdb7 43245
deae281b 43246 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
43247 (sun_partition_map_iterate): Use grub_partition_t instead of
43248 struct grub_partition *. Cast DESC->START_CYLINDER to
43249 grub_uint64_t after converting the endian.
43250 (sun_partition_map_probe): Subtract 1 for PARTNUM.
43251 (sun_partition_map_get_name): Add 1 to P->INDEX.
43252
43253 * partmap/pc.c (grub_partition_parse): Subtract 1 for
43254 PCDATA->DOS_PART.
43255 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
43256
43257 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
43258 zero instead of one.
43259 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
43260 (gpt_partition_map_get_name): Add 1 into P->INDEX.
43261
43262 * partmap/apple.c (apple_partition_map_iterate): Change the type
43263 of POS to unsigned.
43264 (apple_partition_map_probe): Subtract 1 for PARTNUM.
43265 (apple_partition_map_get_name): Add 1 into P->INDEX.
43266
43267 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
43268 of POS to unsigned.
43269 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
43270 calculate the offset of a partition.
43271 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
43272 (amiga_partition_map_get_name): Add 1 into P->INDEX.
43273
43274 * partmap/acorn.c (acorn_partition_map_find): Change the type of
43275 SECTOR to grub_disk_addr_t.
43276 (acorn_partition_map_iterate): Likewise.
43277 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
43278 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
43279 top.
43280 (acorn_partition_map_get_name): Add 1 into P->INDEX.
43281
43282 * kern/i386/pc/init.c (make_install_device): Add 1 into
43283 GRUB_INSTALL_DOS_PART.
43284
43285 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
43286 conditional.
43287
524a1e6a 432882006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
43289
43290 Clean up the code to support 64-bit addressing in disks and
43291 files. This change is not enough for filesystems yet.
f19dbdb7 43292
524a1e6a 43293 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
43294 type of "start" to grub_uint64_t.
43295 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
43296 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
43297 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
43298 convert addresses.
43299
43300 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
43301 to grub_disk_addr_t.
43302
43303 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
43304 string.
43305
43306 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43307
43308 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
43309 to char *.
43310
43311 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
43312
43313 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
43314
43315 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
43316
43317 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
43318 to grub_off_t, to detect an error from grub_file_seek.
43319 (grub_multiboot_load_elf32): Likewise.
43320
43321 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
43322 maximum unsigned long value when an overflow is detected.
43323 (grub_strtoull): New function.
43324 (grub_divmod64): Likewise.
43325 (grub_lltoa): use grub_divmod64.
43326
43327 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
43328 grub_disk_addr_t.
43329 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
43330 the pointer to next character. Use grub_strtoull instead of
43331 grub_strtoul.
43332 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
43333 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
43334 respectively.
43335
fe6b695a 43336 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 43337 return value is signed.
43338 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
43339 test if OFFSET is less than zero, as OFFSET is unsigned now.
43340
43341 * kern/disk.c (struct grub_disk_cache): Change the type of
43342 "sector" to grub_disk_addr_t.
43343 (grub_disk_cache_get_index): Change the type of SECTOR to
43344 grub_disk_addr_t. Calculate the hash with SECTOR casted to
43345 unsigned after shifting.
43346 (grub_disk_cache_invalidate): Change the type of SECTOR to
43347 grub_disk_addr_t.
43348 (grub_disk_cache_unlock): Likewise.
43349 (grub_disk_cache_store): Likewise.
43350 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
43351 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
43352 grub_disk_addr_t and grub_uint64_t, respectively.
43353 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
43354 body, as the value of OFFSET is tweaked by
43355 grub_disk_check_range. Change the types of START_SECTOR, LEN and
43356 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
43357 respectively.
43358 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
43359 body, as the value of OFFSET is tweaked by
43360 grub_disk_check_range. Change the types of LEN and N to
43361 grub_size_t.
43362
43363 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
43364 and "saved_offset" to grub_off_t.
43365 (test_header): Cast BUF to char *.
43366 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
43367 to char *.
43368 (grub_gzio_read): Change the types of OFFSET and SIZE to
43369 grub_off_t and grub_size_t, respectively.
43370
43371 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
43372 Removed.
43373 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
43374 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
43375 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
43376 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
43377 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
43378
43379 * include/grub/types.h (grub_off_t): Unconditionally set to
43380 grub_uint64_t.
43381 (grub_disk_addr_t): Changed to grub_uint64_t.
43382
43383 * include/grub/partition.h (struct grub_partition): Change the
43384 types of "start", "len" and "offset" to grub_disk_addr_t,
43385 grub_uint64_t and grub_disk_addr_t, respectively.
43386 (grub_partition_get_start): Return grub_disk_addr_t.
43387 (grub_partition_get_len): Return grub_uint64_t.
43388
43389 * include/grub/misc.h (grub_strtoull): New prototype.
43390 (grub_divmod64): Likewise.
43391
43392 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
43393 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
43394 grub_off_t, respectively.
43395 All callers and references changed.
43396
43397 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
43398 grub_size_t in "read".
43399 All callers and references changed.
43400
43401 * include/grub/file.h (struct grub_file): Change the types of
43402 "offset" and "size" to grub_off_t and grub_off_t,
43403 respectively. Change the type of SECTOR to grub_disk_addr_t in
43404 "read_hook".
43405 (grub_file_read): Change the type of LEN to grub_size_t.
43406 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
43407 grub_off_t.
43408 (grub_file_size): Return grub_off_t.
43409 (grub_file_tell): Likewise.
43410 All callers and references changed.
43411
43412 * include/grub/disk.h (struct grub_disk_dev): Change the types of
43413 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
43414 "write".
43415 (struct grub_disk): Change the type of "total_sectors" to
43416 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 43417 "read_hook".
524a1e6a 43418 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
43419 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
43420 (grub_disk_write): Likewise.
43421 All callers and references changed.
43422
43423 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
43424 char * for grub_strncmp to silence gcc.
43425 (grub_iso9660_mount): Likewise.
43426 (grub_iso9660_mount): Likewise.
43427 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
43428 return statement.
43429 (grub_iso9660_iterate_dir): Likewise.
43430 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
43431
43432 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
43433 LEN to grub_disk_addr_t and grub_size_t, respectively.
43434
43435 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43436
43437 * fs/jfs.c (grub_jfs_read_file): Likewise.
43438
43439 * fs/minix.c (grub_jfs_read_file): Likewise.
43440
43441 * fs/sfs.c (grub_jfs_read_file): Likewise.
43442
43443 * fs/ufs.c (grub_jfs_read_file): Likewise.
43444
43445 * fs/xfs.c (grub_jfs_read_file): Likewise.
43446
43447 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
43448 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
43449 respectively.
43450
43451 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
43452 BLKNR to -1 instead of returning GRUB_ERRNO.
43453 (grub_ext2_read_file): Change the types of SECTOR and
43454 LEN to grub_disk_addr_t and grub_size_t, respectively.
43455
43456 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
43457 LEN to grub_disk_addr_t and grub_size_t, respectively.
43458
43459 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
43460 grub_file_read.
43461
43462 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
43463 string. Do not cast SECTOR explicitly.
43464
43465 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
43466 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
43467 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
43468 grub_disk_addr_t and grub_size_t, respectively. If the sector is
43469 over 2TB and LBA mode is not supported, raise an error.
43470 (get_safe_sectors): New function.
43471 (grub_biosdisk_read): Use get_safe_sectors.
43472 (grub_biosdisk_write): Likewise.
43473
43474 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
43475 (grub_efidisk_write): Likewise.
43476
43477 * disk/loopback.c (delete_loopback): Cosmetic changes.
43478 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
43479 correctly.
43480 (grub_loopback_open): Likewise.
43481 (grub_loopback_read): Likewise. Also, change the type of POS to
43482 grub_off_t, and fix the usage of grub_memset.
43483
43484 * commands/i386/pc/play.c: Include grub/machine/time.h.
43485
43486 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
43487 print FILE->SIZE.
43488
43489 * commands/configfile.c: Include grub/env.h.
43490
43491 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
43492 GRUB_ERRNO directly instead. Change the type of POS to
43493 grub_off_t. Follow the coding standard.
43494
43495 * commands/blocklist.c: Include grub/partition.h.
43496 (grub_cmd_blocklist): Return an error if the underlying device is
43497 not a disk. Take the starting sector of a partition into account,
43498 if a partition is used.
43499
43500 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
43501 a length field.
43502 (lba_mode): Support 64-bit addresses.
43503 (chs_mode): Likewise.
43504 (copy_buffer): Adapted to the new offsets of a length field and a
43505 segment field.
43506 (blocklist_default_start): Allocate 64-bit space.
43507
43508 * boot/i386/pc/boot.S (force_lba): Removed.
43509 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 43510 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 43511 space.
43512 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
43513 is useless.
43514 (lba_mode): Refactored to support a 64-bit address. More size
43515 optimization.
43516 (setup_sectors): Likewise.
43517
53af98ad 435182006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
43519
43520 * DISTLIST: Added include/grub/i386/linux.h. Removed
43521 include/grub/i386/pc/linux.h
43522
43523 * configure.ac (AC_INIT): Bumped to 1.94.
43524
43525 * config.guess: Updated from gnulib.
43526 * config.sub: Likewise.
43527 * install-sh: Likewise.
43528 * mkinstalldirs: Likewise.
43529
b4c1940a 435302006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
43531
43532 * conf/common.rmk (grub_modules_init.lst): Depended on
43533 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
43534 MODSRCFILES.
43535
43536 * genmk.rb (PModule::rule): Reverted the previous change.
43537
cfca1cfd 435382006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
43539
43540 * conf/common.rmk (grub_modules_init.lst): Depends on
43541 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
43542 that the target does not exist before producing.
43543 (grub_modules_init.h): Remove the target before generating.
43544 (grub_emu_init.c): Likewise.
43545
43546 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
43547
aa6d7826 435482006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
43549
43550 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
43551 for the target-specific tests. Make sure that we also have the
43552 up-to-date target variables for those tests.
43553
26c607b9 435542006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
43555
43556 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
43557 (PModule::rule): Likewise.
43558
0162321a 435592006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
43560
43561 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
43562 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
43563 target-specific flags should be prefixed.
43564 (PModule::rule): Likewise.
43565
6c826348 435662006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
43567
43568 * configure.ac (CMP): Check if cmp is available explicitly.
43569
b977bf01 435702006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
43571
43572 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
43573 (target_cpu): New variable.
43574 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 43575
b977bf01 43576 * util/i386/pc/grub-install.in (host_cpu): Removed.
43577 (target_cpu): New variable.
43578 (pkglibdir): Use target_cpu instead of host_cpu.
43579
43580 * util/genmoddep.c: Removed.
f19dbdb7 43581
b977bf01 43582 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
43583 instead of GRUB_HOST_SIZEOF_VOID_P.
43584 * kern/dl.c: Likewise.
43585
43586 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
43587 ...
43588 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43589 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43590 (GRUB_TARGET_SIZEOF_LONG): ... this.
43591 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43592 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43593 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
43594 to ...
43595 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43596 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43597 (GRUB_TARGET_SIZEOF_LONG): ... this.
43598 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43599 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43600 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
43601 to ...
43602 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43603 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43604 (GRUB_TARGET_SIZEOF_LONG): ... this.
43605 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43606 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43607
43608 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
43609 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
43610 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
43611 instead of GRUB_HOST_SIZEOF_LONG.
43612 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
43613 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
43614 GRUB_CPU_WORDS_BIGENDIAN.
43615 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
43616 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
43617 grub_host_ssize_t.
43618
43619 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
43620 (genmoddep_SOURCES): Likewise.
43621 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
43622 (genmoddep_SOURCES): Likewise.
43623 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
43624 (genmoddep_SOURCES): Likewise.
43625 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
43626 Likewise.
43627 (genmoddep_SOURCES): Likewise.
43628
43629 * genmoddep.awk: New file.
43630
43631 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
43632 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
43633 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
43634 (PModule::rule): Likewise.
43635 (Program::rule): Likewise.
43636 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
43637 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
43638 respectively.
43639
43640 * configure.ac: Rewritten intensively to use host and target
43641 instead of build and host, respectively.
43642
43643 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
43644 (host_cpu): Removed.
43645 (target_cpu): New variable.
43646 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
43647 (BUILD_CC): Removed.
43648 (BUILD_CFLAGS): Likewise.
43649 (BUILD_CPPFLAGS): Likewise.
43650 (TARGET_CC): New variable.
43651 (TARGET_CFLAGS): Likewise.
43652 (TARGET_CPPFLAGS): Likewise.
43653 (TARGET_LDFLAGS): Likewise.
43654 (AWK): Likewise.
43655 (include): Use target_cpu instead of host_cpu.
43656 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 43657
b977bf01 43658 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
43659
f09771a1 436602006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
43661
43662 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
43663 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
43664 field 'false' to 'exec_on_false'.
43665 (grub_script_create_cmdif): Renamed argument names to reflect above
43666 changes.
43667
43668 * normal/execute.c (grub_script_execute_cmdif): Likewise.
43669
43670 * normal/script.c (grub_script_create_cmdif): Likewise.
43671
118f4fb3 436722006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
43673
43674 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
43675 top.
43676 (grub_hfsplus_btree_recptr): Likewise.
43677 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
43678 FILEBLOCK both to pass a block number and store next block
43679 number.
43680 (grub_hfsplus_read_block): Rewritten heavily to support an extent
43681 overflow file correctly. Specify errors appropriately, because
43682 fshelp expects that GRUB_ERRNO is set when fails. Reuse
43683 grub_hfsplus_btree_recptr to get the pointer to a found key.
43684 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
43685 is found.
43686
43687 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
43688 linux.mod.
43689 (_linux_mod_SOURCES): New variable.
43690 (_linux_mod_CFLAGS): Likewise.
43691 (_linux_mod_LDFLAGS): Likewise.
43692 (linux_mod_SOURCES): Likewise.
43693 (linux_mod_CFLAGS): Likewise.
43694 (linux_mod_LDFLAGS): Likewise.
43695
43696 * DISTLIST: Added loader/i386/efi/linux.c,
43697 loader/i386/efi/linux_normal.c and
43698 include/grub/i386/efi/loader.h.
43699
43700 * loader/i386/efi/linux.c: New file.
43701 * loader/i386/efi/linux_normal.c: Likewise.
43702 * include/grub/i386/efi/loader.h: Likewise.
43703
89a7d726 437042006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
43705
43706 * commands/blocklist.c: New file.
43707
43708 * DISTLIST: Added commands/blocklist.c.
43709
43710 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 43711 color for the background, and a darker color for the foreground.
89a7d726 43712 (grub_console_checkkey): Return READ_KEY.
43713 (grub_console_cls): Set the background to
43714 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
43715
43716 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
43717
43718 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
43719 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
43720
43721 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
43722 prototype.
43723
43724 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
43725 BG. The spec is wrong again.
43726
43727 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
43728 prototype.
43729 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
43730
43731 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43732 commands/blocklist.c.
43733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 43734
89a7d726 43735 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
43736 (blocklist_mod_SOURCES): New variable.
43737 (blocklist_mod_CFLAGS): Likewise.
43738 (blocklist_mod_LDFLAGS): Likewise.
43739
75c8f258 437402006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
43741
43742 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
43743 duplication.
43744 (lba_mode): Use %eax more intensively to reduce the code size.
43745
da2eb181 437462006-05-20 Marco Gerards <marco@gnu.org>
43747
43748 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
43749
43750 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
43751 for `menuentry'.
43752 (script): Accept leading newlines.
43753 (newlines): New rule to describe 0 or more newlines.
43754 (commands): Accept `command' with trailing newline. Fixed the
43755 order in which arguments were passed to `grub_script_add_cmd'.
43756 Accept commands separated by newlines.
43757 (function): Changed to accept newlines.
43758 (menuentry) Rewritten.
43759
43760 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
43761 front of the list, instead of to the end.
43762
577b4050 437632006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
43764
43765 * util/i386/pc/grub-install.in (bindir): New variable.
43766 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
43767 Shaver <lbgwjl@gmail.com>.
43768
0d6e1189 437692006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
43770
43771 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
43772 grub/machine/linux.h
43773 * loader/i386/pc/linux.c: Likewise.
43774
43775 * include/grub/i386/pc/linux.h: Moved to ...
43776 * include/grub/i386/linux.h: ... here.
43777
43778 * include/grub/i386/linux.h (struct linux_kernel_params): New
43779 struct.
f19dbdb7 43780
31b86e9f 437812006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
43782
43783 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
43784 checking.
43785 (grub_video_vbe_blit_glyph): Likewise.
43786 (grub_video_vbe_blit_bitmap): Likewise.
43787 (grub_video_vbe_blit_render_target): Likewise.
43788
83b984de 437892006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
43790
43791 * configure.ac (--with-platform): Properly quote the square
43792 brackets.
43793
5f0413bd 437942006-05-08 Marco Gerards <marco@gnu.org>
43795
43796 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
43797 this...
43798 (kernel_elf_HEADERS): ...to this. Updated all users.
43799 (grubof_symlist.c): Renamed from this...
43800 (kernel_elf_symlist.c): ...to this. Updated all users.
43801 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
43802 (grubof_SOURCES): Renamed from this...
43803 (kernel_elf_SOURCES): ...to this.
43804 (grubof_HEADERS): Renamed from this...
43805 (kernel_elf_HEADERS): ...to this.
43806 (grubof_CFLAGS): Renamed from this...
43807 (kernel_elf_CFLAGS): ...to this.
43808 (grubof_ASFLAGS): Renamed from this...
43809 (kernel_elf_ASFLAGS): ...to this.
43810 (grubof_LDFLAGS): Renamed from this...
43811 (kernel_elf_LDFLAGS): ...to this.
43812
43813 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
43814 this...
43815 (kernel_elf_HEADERS): ...to this. Updated all users.
43816 (grubof_symlist.c): Renamed from this...
43817 (kernel_elf_symlist.c): ...to this. Updated all users.
43818 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
43819 (grubof_SOURCES): Renamed from this...
43820 (kernel_elf_SOURCES): ...to this.
43821 (grubof_HEADERS): Renamed from this...
43822 (kernel_elf_HEADERS): ...to this.
43823 (grubof_CFLAGS): Renamed from this...
43824 (kernel_elf_CFLAGS): ...to this.
43825 (grubof_ASFLAGS): Renamed from this...
43826 (kernel_elf_ASFLAGS): ...to this.
43827 (grubof_LDFLAGS): Renamed from this...
43828 (kernel_elf_LDFLAGS): ...to this.
43829
43830 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
43831 `kernel.elf' instead of `grubof'.
43832
05568c2e 438332006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
43834
43835 Add --with-platform to configure. Use pkglibdir instead of
43836 pkgdatadir. This is reported by Roger Leigh.
43837
43838 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
43839 (host_vendor): Likewise.
43840 (host_os): Likewise.
43841 (pkgdatadir): Likewise.
43842 (platform): New variable.
43843 (pkglibdir): Likewise.
43844 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 43845
05568c2e 43846 * util/i386/pc/grub-install.in (datadir): Removed.
43847 (host_vendor): Likewise.
43848 (host_os): Likewise.
43849 (pkgdatadir): Likewise.
43850 (platform): New variable.
43851 (pkglibdir): Likewise.
43852 Use PKGLIBDIR instead of PKGDATADIR.
43853
43854 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
43855 instead of GRUB_DATADIR.
43856 (main): Likewise.
43857 * util/i386/pc/grub-mkimage.c (usage): Likewise.
43858 (main): Likewise.
43859 * util/i386/efi/grub-mkimage.c (usage): Likewise.
43860 (main): Likewise.
43861
43862 * configure.ac (--with-platform): New option.
43863 Use PLATFORM instead of HOST_VENDOR to specify a platform.
43864
43865 * Makefile.in: Include a makefile based on PLATFORM instead of
43866 HOST_VENDOR.
43867 (pkgdatadir): Not appended by the machine type.
43868 (pkglibdir): Appended by the machine type.
43869 (host_vendor): Removed.
43870 (platform): New variable.
43871 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
43872 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
43873 (uninstall): Likewise.
43874
4e93851c 438752006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
43876
43877 Use the environment context in the menu. Remove the commands
43878 "default" and "timeout", and use variables instead.
f19dbdb7 43879
4e93851c 43880 * normal/menu.c: Include grub/env.h.
43881 (print_entry): Cast TITLE to silence gcc.
43882 (get_timeout): New function.
43883 (set_timeout): Likewise.
43884 (get_entry_number): Likewise.
43885 (run_menu): Use a default entry, a fallback entry and a timeout
43886 in the environment variables "default", "fallback" and
43887 "timeout". Also, tweak the default entry if it is not within the
43888 current menu entries.
43889 (grub_menu_run): Use a fallback entry in the environment variable
43890 "fallback".
43891
43892 * normal/main.c (read_config_file): Do not initialize
43893 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
43894 NEWMENU->TIMEOUT.
43895 (grub_normal_execute): Use a data slot to store the menu.
43896
43897 * include/grub/normal.h (struct grub_menu): Removed default_entry,
43898 fallback_entry and timeout.
43899 (struct grub_menu_list): Removed.
43900 (grub_menu_list_t): Likewise.
43901 (struct grub_context): Likewise.
43902 (grub_context_t): Likewise.
43903 (grub_context_get): Likewise.
43904 (grub_context_get_current_menu): Likewise.
43905 (grub_context_push_menu): Likewise.
43906 (grub_context_pop_menu): Likewise.
43907 (grub_default_init): Likewise.
43908 (grub_default_fini): Likewise.
43909 (grub_timeout_init): Likewise.
43910 (grub_timeout_fini): Likewise.
43911
43912 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
43913 and timeout.mod.
43914 (normal_mod_SOURCES): Removed normal/context.c.
43915
43916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
43917 commands/default.c, commands/timeout.c and normal/context.c.
43918 (normal_mod_SOURCES): Removed normal/context.c.
43919
43920 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
43921 commands/timeout.c and normal/context.c.
43922 (normal_mod_SOURCES): Removed normal/context.c.
43923
43924 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
43925 commands/default.c, commands/timeout.c and normal/context.c.
43926 (normal_mod_SOURCES): Removed normal/context.c.
43927
43928 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
43929 timeout.mod.
43930 (default_mod_SOURCES): Removed.
43931 (default_mod_CFLAGS): Likewise.
43932 (default_mod_LDFLAGS): Likewise.
43933 (timeout_mod_SOURCES): Removed.
43934 (timeout_mod_CFLAGS): Likewise.
43935 (timeout_mod_LDFLAGS): Likewise.
43936
43937 * DISTLIST: Removed commands/default.c, commands/timeout.c and
43938 normal/context.c.
43939
43940 * commands/default.c: Removed.
43941 * commands/timeout.c: Likewise.
43942 * normal/context.c: Likewise.
43943
1eb9cc1d 439442006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
43945
43946 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
43947
385bd9c1 439482006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
43949
43950 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
43951 "next" to "prev" for readability.
43952 (struct grub_env_sorted_var): New struct.
43953 (grub_env_context): Renamed to ...
43954 (initial_context): ... this.
43955 (grub_env_var_context): Renamed to ...
43956 (current_context): ... this.
43957 (grub_env_find): Look only at CURRENT_CONTEXT.
43958 (grub_env_context_open): Rewritten to copy exported variables from
43959 previous context.
43960 (grub_env_context_close): Rewritten according to the new
43961 scheme. Also, add an assertion to prevent the initial context from
43962 removed.
43963 (grub_env_insert): Removed the code for the sorted list.
43964 (grub_env_remove): Likewise.
43965 (grub_env_export): Simply mark the variable with
43966 GRUB_ENV_VAR_GLOBAL.
43967 (grub_env_set): A cosmetic change for naming consistency.
43968 (grub_env_get): Likewise.
43969 (grub_env_unset): Likewise.
43970 (grub_env_iterate): Rewritten to sort variables within this
43971 function.
43972 (grub_register_variable_hook): Fixed for naming consistency. Call
43973 grub_env_find again, only if NAME is not found at the first time.
43974 (mangle_data_slot_name): New function.
43975 (grub_env_set_data_slot): Likewise.
43976 (grub_env_get_data_slot): Likewise.
43977 (grub_env_unset_data_slot): Likewise.
43978
43979 * include/grub/env.h (grub_env_var_type): New enum.
43980 (GRUB_ENV_VAR_LOCAL): New constant.
43981 (GRUB_ENV_VAR_GLOBAL): Likewise.
43982 (GRUB_ENV_VAR_DATA): Likewise.
43983 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
43984 "type".
43985 (grub_env_set): Replace VAR with NAME for consistency.
43986 (grub_register_variable_hook): Likewise.
43987 (grub_env_export): Specify the name of the argument.
43988 (grub_env_set_data_slot): New prototype.
43989 (grub_env_get_data_slot): Likewise.
43990 (grub_env_unset_data_slot): Likewise.
43991
7f362539 439922006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
43993
43994 Extend the loader so that GRUB can accept a loader which comes
43995 back to GRUB when a loaded image exits. Also, this change adds
43996 support for a chainloader on EFI.
f19dbdb7 43997
7f362539 43998 * term/efi/console.c: Include grub/misc.h.
43999 (grub_console_checkkey): Display a scan code on the top for
44000 debugging. This will be removed once the EFI port gets stable.
44001 Correct the scan code mapping.
44002
44003 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
44004 allocate memory from larger regions, in order to reduce the number
44005 of allocated regions. Otherwise, the MacOSX loader panics.
44006 (filter_memory_map): Avoid less than 1MB for compatibility with
44007 other loaders.
44008 (add_memory_regions): Allocate from the tail of a region, if
44009 possible, to avoid allocating a region near to 1MB, for the MacOSX
44010 loader.
44011
44012 * kern/efi/init.c (grub_efi_set_prefix): Specify
44013 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
44014
44015 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
44016 argument IMAGE_HANDLE and specify it to get a loaded image.
44017 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
44018 grub_efi_get_loaded_image.
fe6b695a 44019 (grub_efi_get_filename): Divide the length by the size of
7f362539 44020 grub_efi_char16_t.
44021 (grub_efi_get_device_path): New function.
44022 (grub_efi_print_device_path): Print End Device Path nodes. Divide
44023 the length by the size of grub_efi_char16_t for a file path device
44024 path node.
44025
44026 * kern/loader.c (grub_loader_noreturn): New variable.
44027 (grub_loader_set): Accept a new argument NORETURN. Set
44028 GRUB_LOADER_NORETURN to NORETURN.
44029 All callers changed.
44030 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
44031 grub_machine_fini.
44032
44033 * include/grub/efi/efi.h (grub_efi_get_device_path): New
44034 prototype.
44035 (grub_efi_get_loaded_image): Take an argument to specify an image
44036 handle.
44037
44038 * include/grub/loader.h (grub_loader_set): Added one more argument
44039 NORETURN.
44040
44041 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
44042 instead of grub_efi_open_protocol.
44043 (grub_efidisk_get_device_name): Likewise.
44044 (grub_efidisk_close): Print a newline.
44045 (grub_efidisk_get_device_handle): Fixed to use
44046 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
44047 GRUB_EFI_DEVICE_PATH_TYPE.
44048
44049 * disk/efi/efidisk.c (device_path_guid): Moved to ...
44050 * kern/efi/efi.c (device_path_guid): ... here.
44051
44052 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
44053 chain.mod.
44054 (kernel_mod_HEADERS): Added efi/disk.h.
44055 (_chain_mod_SOURCES): New variable.
44056 (_chain_mod_CFLAGS): Likewise.
44057 (_chain_mod_LDFLAGS): Likewise.
44058 (chain_mod_SOURCES): Likewise.
44059 (chain_mod_CFLAGS): Likewise.
44060 (chain_mod_LDFLAGS): Likewise.
44061
44062 * DISTLIST: Added include/grub/efi/chainloader.h,
44063 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
44064
44065 * include/grub/efi/chainloader.h: New file.
44066 * loader/efi/chainloader.c: Likewise.
44067 * loader/efi/chainloader_normal.c: Likewise.
44068
c0111d6e 440692006-04-30 Marco Gerards <marco@gnu.org>
44070
44071 * commands/configfile.c (grub_cmd_source): New function.
44072 (GRUB_MOD_INIT): Register the commands `source' and `.'.
44073 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
44074
df5341da 440752006-04-30 Marco Gerards <marco@gnu.org>
44076
44077 * normal/execute.c (grub_script_execute_cmd): Change the return
44078 type to `grub_err_t'. Correctly return the error.
44079 (grub_script_execute_cmdline): In case a command line is not a
44080 command or a function, try to interpret it as an assignment.
44081
f85934bd 440822006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44083
44084 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
44085 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
44086 skip a node whose name is obviously invalid as UTF-16,
44087 i.e. contains a NUL character. Stop the iteration when the last
44088 directory entry is found. Instead of using the return value of
44089 grub_hfsplus_btree_iterate_node, store the value in RET and use
44090 it, because the iterator can be stopped by the last directory
44091 entry.
44092
8f8a2cf8 440932006-04-30 Marco Gerards <marco@gnu.org>
44094
44095 * include/grub/env.h (grub_env_export): New prototype. Reported
44096 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
44097
a27e84ce 440982006-04-30 Marco Gerards <marco@gnu.org>
44099
44100 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
44101 size of the extents in a catalog file record.
44102
eaef0553 441032006-04-29 Marco Gerards <marco@gnu.org>
44104
44105 * commands/configfile.c (grub_cmd_configfile): Execute the
44106 configfile within its own context.
44107
44108 * include/grub/env.h (grub_env_context_open): New prototype.
44109 (grub_env_context_close): Likewise.
44110
44111 * kern/env.c (grub_env): Removed.
44112 (grub_env_sorted): Likewise.
44113 (grub_env_context): New variable.
44114 (grub_env_var_context): Likewise.
44115 (grub_env_find): Search both the active context and the global
44116 context.
44117 (grub_env_context_open): New function.
44118 (grub_env_context_close): Likewise.
44119 (grub_env_insert): Likewise.
44120 (grub_env_remove): Likewise.
44121 (grub_env_export): Likewise.
44122 (grub_env_set): Changed to use helper functions to avoid code
44123 duplication.
44124 (grub_env_iterate): Rewritten so both the current context and the
44125 global context are being used.
44126
44127 * normal/command.c (export_command): New function.
44128 (grub_command_init): Register the `export' function.
44129
7b455f4d 441302006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
44131
44132 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
44133 explicitly to suppress gcc's warnings.
44134 * fs/fat.c (grub_fat_find_dir): Likewise.
44135 (grub_fat_label): Likewise.
44136 * fs/xfs.c (grub_xfs_read_inode): Likewise.
44137 (grub_xfs_mount): Likewise.
44138 (grub_xfs_label): Likewise.
44139 * fs/affs.c (grub_affs_mount): Likewise.
44140 (grub_affs_label): Likewise.
44141 (grub_affs_iterate_dir): Likewise.
44142 * fs/sfs.c (grub_sfs_mount): Likewise.
44143 (grub_sfs_iterate_dir): Likewise.
44144 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
44145 * fs/hfs.c (grub_hfs_mount): Likewise.
44146 (grub_hfs_cmp_catkeys): Likewise.
44147 (grub_hfs_find_dir): Likewise.
44148 (grub_hfs_dir): Likewise.
44149 (grub_hfs_label): Likewise.
44150 * fs/jfs.c (grub_jfs_mount): Likewise.
44151 (grub_jfs_opendir): Likewise.
44152 (grub_jfs_getent): Likewise.
44153 (grub_jfs_lookup_symlink): Likewise.
44154 (grub_jfs_label): Likewise.
44155 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
44156 (grub_hfsplus_iterate_dir): Likewise.
44157 (grub_hfsplus_btree_iterate_node): Made static.
44158
44159 * util/grub-emu.c (prefix): New variable.
44160 (grub_machine_set_prefix): New function.
44161 (main): Do not set the environment variable "prefix" here. Only
44162 set PREFIX, which is used later by grub_machine_set_prefix.
44163
44164 * include/grub/video.h: Do not include grub/symbol.h.
44165 (grub_video_register): Not exported. This symbol is not defined in
44166 the kernel.
44167 (grub_video_unregister): Likewise.
44168 (grub_video_iterate): Likewise.
44169 (grub_video_setup): Likewise.
44170 (grub_video_restore): Likewise.
44171 (grub_video_get_info): Likewise.
44172 (grub_video_get_blit_format): Likewise.
44173 (grub_video_set_palette): Likewise.
44174 (grub_video_get_palette): Likewise.
44175 (grub_video_set_viewport): Likewise.
44176 (grub_video_get_viewport): Likewise.
44177 (grub_video_map_color): Likewise.
44178 (grub_video_map_rgb): Likewise.
44179 (grub_video_map_rgba): Likewise.
44180 (grub_video_fill_rect): Likewise.
44181 (grub_video_blit_glyph): Likewise.
44182 (grub_video_blit_bitmap): Likewise.
44183 (grub_video_blit_render_target): Likewise.
44184 (grub_video_scroll): Likewise.
44185 (grub_video_swap_buffers): Likewise.
44186 (grub_video_create_render_target): Likewise.
44187 (grub_video_delete_render_target): Likewise.
44188 (grub_video_set_active_render_target): Likewise.
44189
44190 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
44191 Undefined.
44192 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
44193
44194 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
44195 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44196 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44197 instead of $(srcdir)/genkernsyms.sh.
44198
44199 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
44200 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44201 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44202 instead of $(srcdir)/genkernsyms.sh.
44203
44204 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
44205 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44206 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44207 instead of $(srcdir)/genkernsyms.sh.
44208
44209 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
44210 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44211 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44212 instead of $(srcdir)/genkernsyms.sh.
44213
44214 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
44215 genkernsyms.sh.
44216
44217 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
44218 genkernsyms.sh.
44219 (gensymlist.sh): New target.
44220 (genkernsyms.sh): Likewise.
44221
44222 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
44223 genkernsyms.sh.in and gensymlist.sh.in.
44224
44225 * genkernsyms.sh: Removed.
44226 * gensymlist.sh: Likewise.
f19dbdb7 44227
7b455f4d 44228 * genkernsyms.sh.in: New file.
44229 * gensymlist.sh.in: Likewise.
44230
1885bb27 442312006-04-25 Hollis Blanchard <hollis@penguinppc.org>
44232
44233 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
44234 clobber "prefix", since we may have already set it manually.
44235
71538dff 442362006-04-25 Hollis Blanchard <hollis@penguinppc.org>
44237
44238 * kern/misc.c (abort): New alias for grub_abort.
44239
2965c7cc 442402006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
44241
44242 A new machine-specific function "grub_machine_set_prefix" is
44243 defined. This is called after loading modules, so that a prefix
44244 initialization can use modules. Also, this change adds an
44245 intensive debugging feature for the memory manager via the
44246 configure option "--enable-mm-debug".
f19dbdb7 44247
2965c7cc 44248 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
44249 PART.LEN.
44250
44251 * kern/sparc64/ieee1275/init.c (abort): Removed.
44252 (grub_stop): Likewise.
44253 (grub_exit): New function.
44254 (grub_set_prefix): Renamed to ...
44255 (grub_machine_set_prefix): ... this.
44256 (grub_machine_init): Do not call grub_set_prefix.
44257
44258 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
44259 (grub_machine_set_prefix): ... this.
44260 (grub_machine_init): Do not call grub_set_prefix.
44261
44262 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
44263 (grub_machine_init): Do not set the prefix here.
44264
44265 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
44266
44267 * kern/efi/init.c: Include grub/mm.h.
44268 (grub_efi_set_prefix): New function.
44269
44270 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
44271 (grub_efi_get_filename): New function.
44272 (grub_print_device_path): Renamed to ...
44273 (grub_efi_print_device_path): ... this.
44274
44275 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
44276 [MM_DEBUG] (grub_realloc): Likewise.
44277 [MM_DEBUG] (grub_free): Likewise.
44278 [MM_DEBUG] (grub_memalign): Likewise.
44279 [MM_DEBUG] (grub_mm_debug): New variable.
44280 [MM_DEBUG] (grub_debug_malloc): New function.
44281 [MM_DEBUG] (grub_debug_free): New function.
44282 [MM_DEBUG] (grub_debug_realloc): New function.
44283 [MM_DEBUG] (grub_debug_memalign): New function.
44284
44285 * kern/misc.c (grub_abort): Print a newline to distinguish
44286 the message.
44287
44288 * kern/main.c (grub_main): Call grub_machine_set_prefix and
44289 grub_set_root_dev after loading modules. This is necessary when
44290 setting a prefix depends on modules.
44291
44292 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
44293 (grub_efi_print_device_path): ... this.
44294 (grub_efi_get_filename): New prototype.
44295 (grub_efi_set_prefix): Likewise.
44296
44297 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
44298 and grub/disk.h.
44299 (grub_efidisk_get_device_handle): New prototype.
44300 (grub_efidisk_get_device_name): Likewise.
44301
44302 * include/grub/mm.h: Include config.h.
44303 (MM_DEBUG): Removed.
44304 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
44305 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
44306 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
44307 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
44308 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
44309 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
44310 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
44311 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
44312 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
44313
44314 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
44315
44316 * disk/efi/efidisk.c: Include grub/partition.h.
44317 (iterate_child_devices): New function.
44318 (add_device): First, compare only last device path nodes, so that
44319 devices are sorted by the types.
44320 (grub_efidisk_get_device_handle): New function.
44321 (grub_efidisk_get_device_name): Likewise.
44322
44323 * configure.ac (--enable-mm-debug): New option to enable the
44324 memory manager debugging feature. This makes the binary much
44325 bigger, so is disabled by default.
44326
9cacaa17 443272006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
44328
44329 Use grub_abort instead of grub_stop, and grub_exit must be
44330 define in each architecture now. Also, this change adds support
44331 for EFI disks.
f19dbdb7 44332
9cacaa17 44333 * util/i386/pc/grub-probefs.c: Include grub/term.h.
44334 (grub_getkey): New function.
44335 (grub_term_get_current): Likewise.
44336
44337 * util/i386/pc/grub-setup.c: Include grub/term.h.
44338 (grub_getkey): New function.
44339 (grub_term_get_current): Likewise.
44340
44341 * util/misc.c (grub_stop): Renamed to ...
44342 (grub_exit): ... this.
44343
44344 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
44345 (grub_exit): ... this.
44346 (grub_machine_init): Use grub_abort instead of abort.
44347 (grub_stop): Removed.
44348
44349 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
44350 abort.
44351
44352 * kern/i386/pc/startup.S (grub_exit): New function.
44353 (cold_reboot): New label.
44354
44355 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
44356 (grub_efi_init): Call grub_efidisk_init.
44357 (grub_efi_fini): Call grub_efidisk_fini.
44358
44359 * kern/efi/efi.c: Include grub/mm.h.
44360 (grub_efi_console_control_guid): Renamed to ...
44361 (console_control_guid): ... this.
44362 (grub_efi_loaded_image_guid): Renamed to ...
44363 (loaded_image_guid): ... this.
44364 (grub_efi_locate_handle): New function.
44365 (grub_efi_open_protocol): Likewise.
44366 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
44367 GRUB_EFI_CONSOLE_CONTROL_GUID.
44368 (grub_efi_exit): Removed.
44369 (grub_stop): Likewise.
44370 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
44371 (grub_exit): New function.
44372 (grub_print_device_path): Likewise.
44373
44374 * kern/rescue.c (grub_rescue_cmd_exit): New function.
44375 (grub_enter_rescue_mode): Register "exit".
44376
44377 * kern/misc.c (grub_real_dprintf): A cosmetic change.
44378 (grub_abort): New function.
44379
44380 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
44381
44382 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
44383
44384 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
44385
44386 * include/grub/efi/efi.h (grub_efi_exit): Removed.
44387 (grub_print_device_path): New prototype.
44388 (grub_efi_locate_handle): Likewise.
44389 (grub_efi_open_protocol): Likewise.
44390
44391 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
44392 * disk/efi/efidisk.c: Likewise.
44393
44394 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
44395
44396 * include/grub/efi/console_control.h
44397 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
44398
44399 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
44400 last 8 bytes as an array.
44401 (GRUB_EFI_DISK_IO_GUID): New macro.
44402 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
44403 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
44404 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
44405 grub_uint8_t.
44406 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
44407 (struct grub_efi_device_path): Rename the member "sub_type" to
44408 "subtype".
44409 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
44410 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
44411 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
44412 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
44413 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
44414 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
44415 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
44416 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
44417 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
44418 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
44419 (struct grub_efi_pci_device_path): New structure.
44420 (grub_efi_pci_device_path_t): New type.
44421 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
44422 (struct grub_efi_pccard_device_path): New structure.
44423 (grub_efi_pccard_device_path_t): New type.
44424 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
44425 (struct grub_efi_memory_mapped_device_path): New structure.
44426 (grub_efi_memory_mapped_device_path_t): New type.
44427 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
44428 (struct grub_efi_vendor_device_path): New structure.
44429 (grub_efi_vendor_device_path_t): New type.
44430 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
44431 (struct grub_efi_controller_device_path): New structure.
44432 (grub_efi_controller_device_path_t): New type.
44433 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
44434 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
44435 (struct grub_efi_acpi_device_path): New structure.
44436 (grub_efi_acpi_device_path_t): New type.
44437 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
44438 (struct grub_efi_expanded_acpi_device_path): New structure.
44439 (grub_efi_expanded_acpi_device_path_t): New type.
44440 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
44441 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
44442 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
44443 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
44444 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
44445 (struct grub_efi_atapi_device_path): New structure.
44446 (grub_efi_atapi_device_path_t): New type.
44447 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
44448 (struct grub_efi_fibre_channel_device_path): New structure.
44449 (grub_efi_fibre_channel_device_path_t): New type.
44450 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
44451 (struct grub_efi_1394_device_path): New structure.
44452 (grub_efi_1394_device_path_t): New type.
44453 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
44454 (struct grub_efi_usb_device_path): New structure.
44455 (grub_efi_usb_device_path_t): New type.
44456 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
44457 (struct grub_efi_usb_class_device_path): New structure.
44458 (grub_efi_usb_class_device_path_t): New type.
44459 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
44460 (struct grub_efi_i2o_device_path): New structure.
44461 (grub_efi_i2o_device_path_t): New type.
44462 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
44463 (struct grub_efi_mac_address_device_path): New structure.
44464 (grub_efi_mac_address_device_path_t): New type.
44465 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
44466 (struct grub_efi_ipv4_device_path): New structure.
44467 (grub_efi_ipv4_device_path_t): New type.
44468 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
44469 (struct grub_efi_ipv6_device_path): New structure.
44470 (grub_efi_ipv6_device_path_t): New type.
44471 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
44472 (struct grub_efi_infiniband_device_path): New structure.
44473 (grub_efi_infiniband_device_path_t): New type.
44474 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
44475 (struct grub_efi_uart_device_path): New structure.
44476 (grub_efi_uart_device_path_t): New type.
44477 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
44478 (struct grub_efi_vendor_messaging_device_path): New structure.
44479 (grub_efi_vendor_messaging_device_path_t): New type.
44480 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
44481 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
44482 (struct grub_efi_hard_drive_device_path): New structure.
44483 (grub_efi_hard_drive_device_path_t): New type.
44484 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
44485 (struct grub_efi_cdrom_device_path): New structure.
44486 (grub_efi_cdrom_device_path_t): New type.
44487 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
44488 (struct grub_efi_vendor_media_device_path): New structure.
44489 (grub_efi_vendor_media_device_path_t): New type.
44490 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
44491 (struct grub_efi_file_path_device_path): New structure.
44492 (grub_efi_file_path_device_path_t): New type.
44493 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
44494 (struct grub_efi_protocol_device_path): New structure.
44495 (grub_efi_protocol_device_path_t): New type.
44496 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
44497 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
44498 (struct grub_efi_bios_device_path): New structure.
44499 (grub_efi_bios_device_path_t): New type.
44500 (struct grub_efi_disk_io): New structure.
44501 (grub_efi_disk_io_t): New type.
44502 (struct grub_efi_block_io_media): New structure.
44503 (grub_efi_block_io_media_t): New type.
44504 (struct grub_efi_block_io): New structure.
44505 (grub_efi_block_io_t): New type.
44506
44507 * include/grub/misc.h (grub_stop): Removed.
44508 (grub_exit): New prototype.
44509 (grub_abort): Likewise.
44510
44511 * include/grub/disk.h (enum grub_disk_dev_id): Added
44512 GRUB_DISK_DEVICE_EFIDISK_ID.
44513
44514 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
44515 disk/efi/efidisk.c.
44516 (kernel_syms.lst): Remove the target if an error occurs.
44517
49986a9f 445182006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
44519
44520 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
44521 as it was simply too buggy.
44522
970d3b8a 445232006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
44524
44525 * kern/misc.c (grub_lltoa): New function.
44526 (grub_vsprintf): Added support for the long long suffix,
44527 i.e. "ll".
44528
ff04ec24 445292006-04-20 Hollis Blanchard <hollis@penguinppc.org>
44530
44531 * Makefile.in (LDFLAGS): Add variable.
44532 (LD): Remove variable.
44533 * configure.ac: Add -m32 to LDFLAGS.
44534 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
44535 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
44536 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
44537 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
44538 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
44539 variables.
44540 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
44541 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
44542 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
44543
37e5e1a4 445442006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
44545
44546 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
44547 length for unknown glyph.
44548
c352d8dd 445492006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
44550
2eab1c0d 44551 Add support for pre-loaded modules into the EFI port.
f19dbdb7 44552
2eab1c0d 44553 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
44554 completely. Accept one more argument DIR. The caller has changed.
44555
44556 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
44557
44558 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
44559 (grub_efi_loaded_image_guid): New variable.
44560 (grub_efi_get_loaded_image): New function.
44561 (grub_arch_modules_addr): Likewise.
44562
44563 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
44564 prototype.
44565
44566 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
44567 (struct grub_efi_loaded_image): New structure.
44568 (grub_efi_loaded_image_t): New type.
44569
445702006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44571
c352d8dd 44572 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
44573 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
44574 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
44575
6d01d6b4 445762006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
44577
44578 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
44579
976a4ea0 445802006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
44581
44582 * DISTLIST: Added include/grub/efi/console.h,
44583 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
44584 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
44585
44586 * include/grub/efi/console.h: New file.
44587 * include/grub/efi/time.h: Likewise.
44588 * include/grub/i386/efi/kernel.h: Likewise.
44589 * kern/efi/init.c: Likewise.
44590 * kern/efi/mm.c: Likewise.
44591 * term/efi/console.c: Likewise.
f19dbdb7 44592
976a4ea0 44593 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
44594 (grub_stop): Removed.
44595 (grub_get_rtc): Likewise.
44596 (grub_machine_init): Simply call grub_efi_init.
44597 (grub_machine_fini): Call grub_efi_fini.
44598
44599 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
44600 (grub_efi_output_string): Removed.
44601 (grub_efi_stall): New function.
44602 (grub_stop): Likewise.
44603 (grub_get_rtc): Likewise.
44604
44605 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
44606 (grub_efi_stall): New prototype.
44607 (grub_efi_allocate_pages): Likewise.
44608 (grub_efi_free_pages): Likewise.
44609 (grub_efi_get_memory_map): Likewise.
44610 (grub_efi_mm_init): Likewise.
44611 (grub_efi_mm_fini): Likewise.
44612 (grub_efi_init): Likewise.
44613 (grub_efi_fini): Likewise.
44614
44615 * include/grub/i386/efi/time.h: Do not include
44616 grub/symbol.h. Include grub/efi/time.h.
44617 (GRUB_TICKS_PER_SECOND): Removed.
44618 (grub_get_rtc): Likewise.
44619
44620 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
44621 Added padding. The EFI spec is buggy.
44622 (GRUB_EFI_BLACK): New macro.
44623 (GRUB_EFI_BLUE): Likewise.
44624 (GRUB_EFI_GREEN): Likewise.
44625 (GRUB_EFI_CYAN): Likewise.
44626 (GRUB_EFI_RED): Likewise.
44627 (GRUB_EFI_MAGENTA): Likewise.
44628 (GRUB_EFI_BROWN): Likewise.
44629 (GRUB_EFI_LIGHTGRAY): Likewise.
44630 (GRUB_EFI_BRIGHT): Likewise.
44631 (GRUB_EFI_DARKGRAY): Likewise.
44632 (GRUB_EFI_LIGHTBLUE): Likewise.
44633 (GRUB_EFI_LIGHTGREEN): Likewise.
44634 (GRUB_EFI_LIGHTCYAN): Likewise.
44635 (GRUB_EFI_LIGHTRED): Likewise.
44636 (GRUB_EFI_LIGHTMAGENTA): Likewise.
44637 (GRUB_EFI_YELLOW): Likewise.
44638 (GRUB_EFI_WHITE): Likewise.
44639 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
44640 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
44641 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
44642 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
44643 (GRUB_EFI_BACKGROUND_RED): Likewise.
44644 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
44645 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
44646 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
44647 (GRUB_EFI_TEXT_ATTR): Likewise.
44648
44649 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
44650 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
44651 (kernel_mod_HEADERS): Added efi/time.h.
44652
83709125 446532006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
44654
44655 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
44656 include/grub/efi/api.h, include/grub/efi/console_control.h,
44657 include/grub/efi/efi.h, include/grub/efi/pe32.h,
44658 include/grub/i386/efi/time.h, kern/efi/efi.c,
44659 kern/i386/efi/init.c, kern/i386/efi/startup.S,
44660 and util/i386/efi/grub-mkimage.c.
44661
44662 * Makefile.in (RMKFILES): Added i386-efi.rmk.
44663
44664 * genmk.rb (PModule#rule): Do not export symbols if
44665 #{prefix}_EXPORTS is set to "no".
44666
44667 * conf/i386-efi.mk: New file.
44668 * conf/i386-efi.rmk: Likewise.
44669 * include/grub/efi/api.h: Likewise.
44670 * include/grub/efi/console_control.h: Likewise.
44671 * include/grub/efi/efi.h: Likewise.
44672 * include/grub/efi/pe32.h: Likewise.
44673 * include/grub/i386/efi/time.h: Likewise.
44674 * kern/efi/efi.c: Likewise.
44675 * kern/i386/efi/init.c: Likewise.
44676 * kern/i386/efi/startup.S: Likewise.
44677 * util/i386/efi/grub-mkimage.c: Likewise.
44678
446792006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 44680
44681 * include/grub/script.h: Include <grub/parser.h> and
44682 "grub_script.tab.h".
44683 (struct grub_lexer_param): New struct.
44684 (struct grub_parser_param): Likewise.
44685 (grub_script_create_arglist): Pass the state in an argument.
44686 (grub_script_add_arglist): Likewise.
44687 (grub_script_create_cmdline): Likewise.
44688 (grub_script_create_cmdblock): Likewise.
44689 (grub_script_create_cmdif): Likewise.
44690 (grub_script_create_cmdmenu): Likewise.
44691 (grub_script_add_cmd): Likewise.
44692 (grub_script_arg_add): Likewise.
44693 (grub_script_lexer_ref): Likewise.
44694 (grub_script_lexer_deref): Likewise.
44695 (grub_script_lexer_record_start): Likewise.
44696 (grub_script_lexer_record_stop): Likewise.
44697 (grub_script_mem_record): Likewise.
44698 (grub_script_mem_record_stop): Likewise.
44699 (grub_script_malloc): Likewise.
44700 (grub_script_yylex): Likewise.
44701 (grub_script_yyparse): Likewise.
44702 (grub_script_yyerror): Likewise.
44703 (grub_script_yylex): Likewise.
44704 (grub_script_lexer_init): Return the state.
44705
44706 * normal/lexer.c (grub_script_lexer_state): Removed variable.
44707 (grub_script_lexer_done): Likewise.
44708 (grub_script_lexer_getline): Likewise.
44709 (grub_script_lexer_refs): Likewise.
44710 (script): Likewise.
44711 (newscript): Likewise.
44712 (record): Likewise.
44713 (recording): Likewise.
44714 (recordpos): Likewise.
44715 (recordlen): Likewise.
44716 (grub_script_lexer_init): Return the state instead of setting
44717 global variables.
44718 (grub_script_lexer_ref): Use the newly added argument for state
44719 instead of globals.
44720 (grub_script_lexer_deref): Likewise.
44721 (grub_script_lexer_record_start): Likewise.
44722 (grub_script_lexer_record_stop): Likewise.
44723 (recordchar): Likewise.
44724 (nextchar): Likewise.
44725 (grub_script_yylex2): Likewise.
44726 (grub_script_yylex): Likewise.
44727 (grub_script_yyerror): Likewise.
44728
44729 * normal/parser.y (func_mem): Removed variable.
44730 (menu_entry): Likewise.
44731 (err): Likewise.
44732 (%lex-param): New parser option.
44733 (%parse-param): Likewise.
44734 (script): Always return the AST.
44735 (argument): Pass the state around.
44736 (arguments): Likewise.
44737 (grubcmd): Likewise.
44738 (commands): Likewise.
44739 (function): Likewise.
44740 (menuentry): Likewise.
44741 (if_statement): Likewise.
44742 (if): Likewise.
44743
44744 * normal/script.c (grub_script_memused): Removed variable.
44745 (grub_script_parsed): Likewise.
44746 (grub_script_malloc): Added a state argument. Use that instead of
44747 global variables.
44748 (grub_script_mem_record): Likewise.
44749 (grub_script_mem_record_stop): Likewise.
44750 (grub_script_arg_add): Likewise.
44751 (grub_script_add_arglist): Likewise.
44752 (grub_script_create_cmdline): Likewise.
44753 (grub_script_create_cmdif): Likewise.
44754 (grub_script_create_cmdmenu): Likewise.
44755 (grub_script_add_cmd): Likewise.
44756 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 44757
e2a8c904 447582006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 44759
44760 * normal/command.c (grub_command_init): Remove the title command.
44761
44762 * normal/lexer.c (grub_script_yylex): Renamed from this...
44763 (grub_script_yylex2): ... to this.
44764 (grub_script_yylex): New function. Temporary
44765 introduced to filter some tokens.
44766 (grub_script_yyerror): Print a newline.
44767
44768 * normal/main.c (read_config_file): Output information about the
44769 lines that contain errors. Wait for a key after all lines have
44770 been processed. Don't return an empty menu.
44771
44772 * normal/parser.y (func_mem): Don't initialize.
44773 (menu_entry): Likewise.
44774 (err): New variable.
44775 (script): Don't return anything when an error was encountered.
44776 (ws, returns): Removed rules.
44777 (argument): Disabled concatenated variable support.
44778 (arguments): Remove explicit separators.
44779 (grubcmd): Likewise.
44780 (function): Likewise.
44781 (menuentry): Likewise.
44782 (if): Likewise.
44783 (commands): Likewise. Add error handling.
44784
44785 * normal/script.c (grub_script_create_cmdline): If
44786 `grub_script_parsed' is 0, assume the parser encountered an error.
44787
c9a86192 447882006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
44789
44790 * configure.ac: Add support for EFI. Fix the typo
44791 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
44792
70f3b243 447932006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
44794
44795 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
44796 foreign multibyte characters should be shown correctly.
44797
65f201ad 447982006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
44799
44800 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
44801 calculation.
44802 (read_config_file): Made it to close file before returning.
44803
b4b93674 448042006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
44805
44806 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
44807 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
44808 video/i386/pc/vbefill.c.
44809
44810 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
44811 video/i386/pc/vbefill.c.
44812
44813 * include/grub/video.h (grub_video_blit_format): New enum.
44814 (grub_video_mode_info): Added new member blit_format.
44815 (grub_video_get_blit_format): New function prototype.
44816
44817 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
44818 function prototype.
44819 (grub_video_vbe_map_rgb): Likewise.
44820 (grub_video_vbe_unmap_color): Likewise.
44821
44822 * include/grub/i386/pc/vbeblit.h: New file.
44823
44824 * include/grub/i386/pc/vbefill.h: New file.
44825
44826 * video/video.c (grub_video_get_blit_format): New function.
44827 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
44828 (grub_video_vbe_map_rgb): Likewise.
44829 (grub_video_vbe_unmap_color): Likewise.
44830
44831 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
44832 optimized fills.
44833 (grub_video_vbe_blit_render_target): Changed to use more optimized
44834 blits.
44835 (grub_video_vbe_setup): Added detection for optimized settings.
44836 (grub_video_vbe_create_render_target): Likewise.
44837
44838 * video/i386/pc/vbeblit.c: New file.
44839
44840 * video/i386/pc/vbefill.c: New file.
44841
c2379b9c 448422006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
44843
44844 * font/manager.c (grub_font_get_glyph): Removed font fixup from
44845 here...
44846
44847 * util/unifont2pff.rb: ... and moved it to here. Improved argument
44848 parsing to support both hex and dec ranges. If filename was missing
44849 show usage information.
44850
bd0d7896 448512006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
44852
44853 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
44854 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
44855
44856 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
44857 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
44858 (video_mod_SOURCES): Added.
44859 (video_mod_CFLAGS): Likewise.
44860 (video_mod_LDFLAGS): Likewise.
44861 (gfxterm_mod_SOURCES): Likewise.
44862 (gfxterm_mod_CFLAGS): Likewise.
44863 (gfxterm_mod_LDFLAGS): Likewise.
44864 (videotest_mod_SOURCES): Likewise.
44865 (videotest_mod_CFLAGS): Likewise.
44866 (videotest_mod_LDFLAGS): Likewise.
44867 (vesafb_mod_SOURCES): Removed.
44868 (vesafb_mod_CFLAGS): Likewise.
44869 (vesafb_mod_LDFLAGS): Likewise.
44870 (vga_mod_SOURCES): Likewise.
44871 (vga_mod_CFLAGS): Likewise.
44872 (vga_mod_LDFLAGS): Likewise.
44873
44874 * commands/videotest.c: New file.
44875
44876 * font/manager.c (fill_with_default_glyph): Modified to use
44877 grub_font_glyph.
44878 (grub_font_get_glyph): Likewise.
44879 (fontmanager): Renamed from this...
44880 (font_manager): ... to this.
44881
44882 * include/grub/font.h (grub_font_glyph): Added new structure.
44883 (grub_font_get_glyph): Modified to use grub_font_glyph.
44884
44885 * include/grub/misc.h (grub_abs): Added as inline function.
44886
44887 * include/grub/video.h: New file.
44888
44889 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
44890 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
44891 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
44892 (grub_vbe_get_controller_info): Renamed from this...
44893 (grub_vbe_bios_get_controller_info): ... to this.
44894 (grub_vbe_get_mode_info): Renamed from this...
44895 (grub_vbe_bios_get_mode_info): ... to this.
44896 (grub_vbe_set_mode): Renamed from this...
44897 (grub_vbe_bios_set_mode): ... to this.
44898 (grub_vbe_get_mode): Renamed from this...
44899 (grub_vbe_bios_get_mode): ... to this.
44900 (grub_vbe_set_memory_window): Renamed from this...
44901 (grub_vbe_bios_set_memory_window): ... to this.
44902 (grub_vbe_get_memory_window): Renamed from this...
44903 (grub_vbe_bios_get_memory_window): ... to this.
44904 (grub_vbe_set_scanline_length): Renamed from this...
44905 (grub_vbe_set_scanline_length): ... to this.
44906 (grub_vbe_get_scanline_length): Renamed from this...
44907 (grub_vbe_bios_get_scanline_length): ... to this.
44908 (grub_vbe_set_display_start): Renamed from this...
44909 (grub_vbe_bios_set_display_start): ... to this.
44910 (grub_vbe_get_display_start): Renamed from this...
44911 (grub_vbe_bios_get_display_start): ... to this.
44912 (grub_vbe_set_palette_data): Renamed from this...
44913 (grub_vbe_bios_set_palette_data): ... to this.
44914 (grub_vbe_set_pixel_rgb): Removed.
44915 (grub_vbe_set_pixel_index): Likewise.
44916
44917 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
44918 from this...
44919 (grub_vbe_bios_get_controller_info): ... to this.
44920 (grub_vbe_get_mode_info): Renamed from this...
44921 (grub_vbe_bios_get_mode_info): ... to this.
44922 (grub_vbe_set_mode): Renamed from this...
44923 (grub_vbe_bios_set_mode): ... to this.
44924 (grub_vbe_get_mode): Renamed from this...
44925 (grub_vbe_bios_get_mode): ... to this.
44926 (grub_vbe_set_memory_window): Renamed from this...
44927 (grub_vbe_bios_set_memory_window): ... to this.
44928 (grub_vbe_get_memory_window): Renamed from this...
44929 (grub_vbe_bios_get_memory_window): ... to this.
44930 (grub_vbe_set_scanline_length): Renamed from this...
44931 (grub_vbe_set_scanline_length): ... to this.
44932 (grub_vbe_get_scanline_length): Renamed from this...
44933 (grub_vbe_bios_get_scanline_length): ... to this.
44934 (grub_vbe_set_display_start): Renamed from this...
44935 (grub_vbe_bios_set_display_start): ... to this.
44936 (grub_vbe_get_display_start): Renamed from this...
44937 (grub_vbe_bios_get_display_start): ... to this.
44938 (grub_vbe_set_palette_data): Renamed from this...
44939 (grub_vbe_bios_set_palette_data): ... to this.
44940 (grub_vbe_bios_get_controller_info): Fixed problem with registers
44941 getting corrupted after calling it. Added more pushes and pops.
44942 (grub_vbe_bios_set_mode): Likewise.
44943 (grub_vbe_bios_get_mode): Likewise.
44944 (grub_vbe_bios_get_memory_window): Likewise.
44945 (grub_vbe_bios_set_scanline_length): Likewise.
44946 (grub_vbe_bios_get_scanline_length): Likewise.
44947 (grub_vbe_bios_get_display_start): Likewise.
44948 (grub_vbe_bios_set_palette_data): Likewise.
44949
44950 * normal/cmdline.c (cl_set_pos): Refresh the screen.
44951 (cl_insert): Likewise.
44952 (cl_delete): Likewise.
44953
44954 * term/gfxterm.c: New file.
44955
44956 * term/i386/pc/vesafb.c: Removed file.
44957
44958 * video/video.c: New file.
44959
44960 * video/i386/pc/vbe.c (real2pm): Added new function.
44961 (grub_video_vbe_draw_pixel): Likewise.
44962 (grub_video_vbe_get_video_ptr): Likewise.
44963 (grub_video_vbe_get_pixel): Likewise
44964 (grub_video_vbe_init): Likewise.
44965 (grub_video_vbe_fini): Likewise.
44966 (grub_video_vbe_setup): Likewise.
44967 (grub_video_vbe_get_info): Likewise.
44968 (grub_video_vbe_set_palette): Likewise.
44969 (grub_video_vbe_get_palette): Likewise.
44970 (grub_video_vbe_set_viewport): Likewise.
44971 (grub_video_vbe_get_viewport): Likewise.
44972 (grub_video_vbe_map_color): Likewise.
44973 (grub_video_vbe_map_rgb): Likewise.
44974 (grub_video_vbe_map_rgba): Likewise.
44975 (grub_video_vbe_unmap_color): Likewise.
44976 (grub_video_vbe_fill_rect): Likewise.
44977 (grub_video_vbe_blit_glyph): Likewise.
44978 (grub_video_vbe_blit_bitmap): Likewise.
44979 (grub_video_vbe_blit_render_target): Likewise.
44980 (grub_video_vbe_scroll): Likewise.
44981 (grub_video_vbe_swap_buffers): Likewise.
44982 (grub_video_vbe_create_render_target): Likewise.
44983 (grub_video_vbe_delete_render_target): Likewise.
44984 (grub_video_vbe_set_active_render_target): Likewise.
44985 (grub_vbe_set_pixel_rgb): Remove function.
44986 (grub_vbe_set_pixel_index): Likewise.
44987 (index_color_mode): Remove static variable.
44988 (active_mode): Likewise.
44989 (framebuffer): Likewise.
44990 (bytes_per_scan_line): Likewise.
44991 (grub_video_vbe_adapter): Added new static variable.
44992 (framebuffer): Likewise.
44993 (render_target): Likewise.
44994 (initial_mode): Likewise.
44995 (mode_in_use): Likewise.
44996 (mode_list): Likewise.
44997
5f97350b 449982006-03-10 Marco Gerards <marco@gnu.org>
44999
45000 * configure.ac (AC_INIT): Bumped to 1.93.
45001
45002 * DISTLIST: Added `include/grub/hfs.h'.
45003
a3c5c6f8 450042006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
45005
45006 * boot/i386/pc/boot.S (general_error): Before looping, try INT
45007 18H, which might help the BIOS falling back to next boot media.
45008
6de53d26 450092006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
45010
45011 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
45012 Poe Chen <poe.poechen@gmail.com>.
45013
77c4a393 450142006-01-17 Marco Gerards <marco@gnu.org>
45015
45016 * include/grub/normal.h: Include <grub/script.h>.
45017 (grub_command_list): Removed struct.
45018 (grub_command_list_t): Removed type.
45019 (grub_menu_entry): Remove members `num' and `command_list'. Add
45020 members `commands' and `sourcecode'.
45021 * include/grub/script.h: Add inclusion guards.
45022 (grub_script_cmd_menuentry): New struct.
45023 (grub_script_execute_menuentry): New prototype.
45024 (grub_script_lexer_record_start): Likewise.
45025 (grub_script_lexer_record_stop): Likewise.
45026 * normal/execute.c (grub_script_execute_menuentry): New function.
45027 * normal/lexer.c (record, recording, recordpos, recordlen): New
45028 variables.
45029 (grub_script_lexer_record_start): New function.
45030 (grub_script_lexer_record_stop): Likewise.
45031 (recordchar): Likewise.
45032 (nextchar): Likewise.
45033 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
45034 2048 as the buffer size. Add the tokens `menuentry' and `@'.
45035 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
45036 (current_menu): New variable.
45037 (free_menu): Mainly rewritten.
45038 (grub_normal_menu_addentry): New function.
45039 (read_config_file): Rewritten.
45040 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 45041 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 45042 the menu entry.
45043 (run): Mainly rewritten.
45044 * normal/parser.y (menu_entry): New variable.
45045 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
45046 (menuentry): New rule.
45047 (command): Add `menuentry'.
45048 (if_statement): Allow additional returns before `fi'.
45049 * normal/script.c (grub_script_create_cmdmenu): New function.
45050
144f1f98 450512006-01-03 Marco Gerards <marco@gnu.org>
45052
45053 * INSTALL: GNU Bison is required.
45054 * configure.ac: Rewritten the test to detect Bison.
45055 * Makefile.in (YACC): New variable. Reported by Xun Sun
45056 <xun.sun.cn@gmail.com>.
45057
af4b2d89 450582006-01-03 Marco Gerards <marco@gnu.org>
45059
45060 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
45061 the HFS+ filesystem to filesystem blocks.
45062 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
45063 GCC warning is silenced.
45064
15643b71 450652006-01-03 Marco Gerards <marco@gnu.org>
45066
45067 * partmap/apple.c (apple_partition_map_iterate): Convert the data
45068 read from disk from big endian to host byte order.
45069
00905879 450702006-01-03 Hollis Blanchard <hollis@penguinppc.org>
45071
45072 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
45073 documentation.
45074 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
45075 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
45076 embedded HFS+ filesystem.
45077 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
45078 (grub_hfs_sblock): Move from here...
45079 * include/grub/hfs.h: To here... New file.
45080 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
45081 documentation.
45082 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
45083 New macros.
45084 (grub_hfsplus_volheader): Change type of member `magic' to
45085 `grub_uint16_t'.
45086 (grub_hfsplus_data): Add new member `embedded_offset'.
45087 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
45088 returned block.
45089 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
45090 Calculate the offset.
45091
8899bc3e 450922005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45093
45094 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
45095 Removed.
45096 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
45097
ae8c0277 450982005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45099
45100 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
45101 ENV->NAME is NULL after allocating ENV->VALUE.
45102
07084456 451032005-12-25 Marco Gerards <marco@gnu.org>
45104
45105 * kern/env.c (grub_env_set): Rewritten the error handling code.
45106
4750f5f1 451072005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45108
45109 * geninit.sh: Made more robust, and more portable.
45110
50214199 451112005-12-25 Marco Gerards <marco@gnu.org>
45112
45113 Add support for Apple HFS+ filesystems.
f19dbdb7 45114
50214199 45115 * fs/hfsplus.c: New file.
45116
45117 * DISTLIST: Added `fs/hfsplus.c'.
45118
45119 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
45120 (hfsplus_mod_SOURCES): New variable.
45121 (hfsplus_mod_CFLAGS): Likewise.
45122 (hfsplus_mod_LDFLAGS): Likewise.
45123 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
45124 (grub_setup_SOURCES): Likewise.
45125 (grub_mkdevicemap_SOURCES): Likewise.
45126 (grub_emu_SOURCES): Likewise.
45127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45128
45129 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
45130
45131 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
45132
befaed6c 451332005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45134
45135 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
45136 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
45137 include/grub/parser.h, include/grub/script.h, kern/parser.c,
45138 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
45139 normal/lexer.c, normal/parser.y, normal/script.c, and
45140 partmap/gpt.c.
45141 Removed kern/sparc64/cache.c.
45142
45143 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
45144 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
45145 grub_emu_init.c.
45146
45147 * configure.ac (AC_INIT): Bumped to 1.92.
45148
6a124103 451492005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
45150
45151 * kern/err.c (grub_error_push): Added new function to support error
45152 stacks.
45153 (grub_error_pop): Likewise.
45154 (grub_error_stack_items): New local variable to support error stacks.
45155 (grub_error_stack_pos): Likewise.
45156 (grub_error_stack_assert): Likewise.
45157 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
45158 stack depth.
45159 (grub_print_error): Added support to print errors from error stack.
45160
45161 * include/grub/err.h (grub_error_push): Added function prototype.
45162 (grub_error_pop): Likewise.
45163
be973c1b 451642005-12-09 Hollis Blanchard <hollis@penguinppc.org>
45165
45166 * configure.ac: Accept `powerpc64' as host_cpu.
45167 (amd64): Rename to `biarch32'.
45168
45169 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
45170 non-cacheline-aligned addresses.
45171
45172 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
45173 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
45174 if `size' is non-zero.
45175
b04216ab 451762005-12-03 Marco Gerards <mgerards@xs4all.nl>
45177
45178 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
45179 and `cd' to make sure the filename is not prefixed with a
45180 directory name.
45181 (pkgdata_MODULES): Add `gpt.mod'.
45182 (gpt_mod_SOURCES): New variable.
45183 (gpt_mod_CFLAGS): Likewise.
45184 (gpt_mod_LDFLAGS): Likewise.
45185
45186 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
45187
45188 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
45189 New macro.
45190
45191 * partmap/gpt.c: New file.
45192
45193 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
45194 GPT partition map is detected.
45195
41730ed9 451962005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
45197
45198 * commands/i386/pc/play.c: New file.
45199 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
45200 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
45201 macros.
f19dbdb7 45202
95dc3643 452032005-11-27 Marco Gerards <mgerards@xs4all.nl>
45204
45205 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
45206 ((unused))' to silence gcc warning.
45207
1569ec51 452082005-11-26 Hollis Blanchard <hollis@penguinppc.org>
45209
45210 * configure.ac: Correct `AC_PROG_YACC' test.
45211
9abde152 452122005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45213
45214 * util/powerpc/ieee1275/grub-install.in: Run the mount point
45215 check before installing files.
45216
44b83271 452172005-11-22 Mike Small <smallm@panix.com>
45218
45219 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
45220 number regex so multidigit numbers are recognized correctly.
45221
452222005-11-22 Mike Small <smallm@panix.com>
45223
45224 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
45225 debugging message before attempting to claim memory.
45226 (grub_rescue_cmd_initrd): Add a claim debugging message and try
45227 multiple addresses in case of failure.
45228
9c12956b 452292005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45230
45231 * term/tparm.c (get_space): Remove empty `if' statement.
45232
45233 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
45234
45235 * kern/parser.c (check_varstate): Rename `state' to 's'.
45236
aeaf81d9 452372005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45238
45239 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
45240 variable definitions to the beginning of each function. Sort stack
45241 variables by size.
45242 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
45243 `buf' argument to `char *'.
45244
79bbb63f 452452005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45246
45247 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
45248 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 45249 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 45250 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
45251 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
45252 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
45253 configfile.mod, search.mod, gzio.mod and test.mod.
45254 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
45255 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
45256 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
45257 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
45258 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
45259 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
45260 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
45261 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
45262 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
45263 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
45264 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45265 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45266 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
45267 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
45268 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
45269 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
45270 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45271 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
45272 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
45273 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
45274 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
45275 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
45276 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
45277
45278 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
45279 `grep --include'.
45280 (pkgdata_MODULES): Add test.mod.
45281
233b1628 452822005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45283
45284 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
45285 appending to variables with "+=".
45286 (PModule): Use full pathname to generate *.lst filenames.
45287
45288 * Makefile.in: Fixed list rules moved from genmk.rb.
45289 (.DELETE_ON_ERROR): New special target.
45290 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
45291
45292 * conf/i386-pc.rmk: Include conf/common.mk.
45293 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 45294 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 45295 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
45296 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
45297 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
45298 configfile.mod, search.mod, gzio.mod and test.mod.
45299 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
45300 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
45301 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
45302 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
45303 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
45304 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
45305 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
45306 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
45307 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
45308 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
45309 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45310 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45311 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
45312 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
45313 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
45314 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
45315 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45316 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
45317 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
45318 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
45319 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
45320 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
45321 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
45322 here...
45323 * conf/common.rmk: ... to here. New file.
45324
45325 * conf/common.mk: New file.
45326
16f820c8 453272005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
45328
45329 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
45330 (grub_script.tab.c): ... here.
45331
45332 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
45333 (grub_script.tab.c): ... here.
45334
45335 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
45336 (grub_script.tab.c): ... here.
45337
45338 * normal/command.c (grub_command_find): Fixed a memory leak of
45339 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
45340
63ba1554 453412005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45342
45343 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
45344 "@" which marks the start of a comment on ARM.
45345 (VARIABLE): Likewise.
45346
7f67dc13 453472005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45348
79bbb63f 45349 Add support for Linux/ADFS partition tables.
7f67dc13 45350
45351 * partmap/acorn.c: New file.
45352
45353 * include/grub/acorn_filecore.h: Likewise.
45354
45355 * DISTLIST: Added `partmap/acorn.c' and
45356 `include/grub/acorn_filecore.h'.
f19dbdb7 45357
7f67dc13 45358 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45359 `partmap/acorn.c'.
45360 (pkgdata_MODULES): Add `acorn.mod'.
45361 (acorn_mod_SOURCES): New variable.
45362 (acorn_mod_CFLAGS): Likewise.
45363
45364 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
45365 `partmap/acorn.c'.
45366 (pkgdata_MODULES): Add `acorn.mod'.
45367 (acorn_mod_SOURCES): New variable.
45368 (acorn_mod_CFLAGS): Likewise.
45369
45370 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
45371 (pkgdata_MODULES): Add `acorn.mod'.
45372 (acorn_mod_SOURCES): New variable.
45373 (acorn_mod_CFLAGS): Likewise.
45374 (acorn_mod_LDFLAGS): Likewise.
45375
45376 * include/types.h (grub_disk_addr_t): New typedef.
45377
6d099807 453782005-11-13 Marco Gerards <mgerards@xs4all.nl>
45379
45380 * geninit.sh: New file.
45381
45382 * geninitheader.sh: Likewise.
45383
45384 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
45385 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
45386 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
45387 * commands/configfile.c (grub_configfile_init)
45388 (grub_configfile_fini): Likewise.
45389 * commands/default.c (grub_default_init, grub_default_fini):
45390 Likewise.
45391 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
45392 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
45393 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
45394 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
45395 Likewise.
45396 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
45397 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
45398 Likewise.
45399 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 45400 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 45401 Likewise.
45402 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
45403 Likewise.
fe6b695a 45404 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 45405 Likewise.
45406 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
45407 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
45408 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
45409 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
45410 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
45411 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
45412 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
45413 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
45414 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
45415 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
45416 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
45417 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
45418 * partmap/amiga.c (grub_amiga_partition_map_init)
45419 (grub_amiga_partition_map_fini): Likewise.
45420 * partmap/apple.c (grub_apple_partition_map_init)
45421 (grub_apple_partition_map_fini): Likewise.
45422 * partmap/pc.c (grub_pc_partition_map_init)
45423 (grub_pc_partition_map_fini): Likewise.
45424 * partmap/sun.c (grub_sun_partition_map_init,
45425 grub_sun_partition_map_fini): Likewise.
45426 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
45427 Likewise.
45428
45429 * util/grub-emu.c: Include <grub_modules_init.h>.
45430 (main): Don't initialize and de-initialize any modules directly,
45431 use `grub_init_all' and `grub_fini_all' instead.
45432
45433 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
45434 `grub_vesafb_mod_init'.
45435 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
45436 all users.
45437 * term/i386/pc/vga.c (grub_vga_init): Renamed to
45438 `grub_vga_mod_init'. Updated all users.
45439 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 45440
6d099807 45441 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
45442 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
45443 rules.
45444
45445 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
45446 Generate a function to initialize the module in utilities.
45447 Updated all callers.
45448 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
45449 initialize the module in utilities. Updated all callers.
45450
9046bcf0 454512005-11-09 Hollis Blanchard <hollis@penguinppc.org>
45452
45453 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
45454 escape sequence and a literal ^L to clear the screen.
45455
45456 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
45457 when returning from Open Firmware.
45458
d13ea639 454592005-11-09 Hollis Blanchard <hollis@penguinppc.org>
45460
45461 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
45462 (grub_ofconsole_height): Likewise.
45463 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
45464 manually insert a '\n'.
45465 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
45466 `grub_ofconsole_height'. Return early if these are already set.
45467
a8fcf206 454682005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
45469
45470 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
45471 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
45472 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
45473 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
45474 and `normal/script.c'.
45475 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45476 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45477 (test_mod_SOURCES): New variable.
45478 (test_mod_CFLAGS): Likewise.
45479 (test_mod_LDFLAGS): Likewise.
45480 (pkgdata_MODULES): Add `test.mod'.
45481 (grub_script.tab.c): New rule.
45482 (grub_script.tab.h): Likewise.
45483
b6b32745 454842005-11-07 Marco Gerards <mgerards@xs4all.nl>
45485
45486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45487 `commands/test.c', `normal/execute.c', `normal/lexer.c',
45488 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45489 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45490 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45491 (test_mod_SOURCES): New variable.
45492 (test_mod_CFLAGS): Likewise.
45493 (pkgdata_MODULES): Add `test.mod'.
45494 (grub_script.tab.c): New rule.
45495 (grub_script.tab.h): Likewise.
45496
daac212a 454972005-11-06 Marco Gerards <mgerards@xs4all.nl>
45498
45499 Add initial scripting support.
45500
45501 * commands/test.c: New file.
45502 * include/grub/script.h: Likewise.
45503 * normal/execute.c: Likewise.
45504 * normal/function.c: Likewise.
45505 * normal/lexer.c: Likewise.
45506 * normal/parser.y: Likewise.
45507 * normal/script.c: Likewise.
45508
45509 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 45510
daac212a 45511 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
45512 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
45513 `normal/function.c' and `normal/script.c'.
45514 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45515 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 45516 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
45517 variables.
daac212a 45518 (pkgdata_MODULES): Add `test.mod'.
45519 (grub_script.tab.c): New rule.
45520 (grub_script.tab.h): Likewise.
45521
45522 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
45523
45524 * include/grub/normal.h (grub_test_init): New prototype.
45525 (grub_test_fini): Likewise.
f19dbdb7 45526
daac212a 45527 * normal/command.c: Include <grub/script.h>.
45528 (grub_command_execute): Rewritten.
f19dbdb7 45529
daac212a 45530 * util/grub-emu.c (main): Call `grub_test_init' and
45531 `grub_test_fini'.
45532
77500b2b 455332005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45534
45535 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
45536 to 0.
45537 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
45538 there are no pending characters.
45539
e45deb9e 455402005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45541
45542 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
45543 `grub_strndup' to drop device arguments. Replace unnecessary
45544 `grub_strndup' with `grub_strdup'.
45545
4ce32619 455462005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45547
45548 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
45549 `debug' environment variable has been set.
45550
455512005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 45552
4ce32619 45553 * Makefile.in (install-local): Use $(DATA).
45554 (uninstall): Likewise.
45555 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
45556 (sbin_UTILITIES): ... to here.
45557 (sbin_SCRIPTS): New variable.
45558 (grub_install_SOURCES): New variable.
45559 * util/powerpc/ieee1275/grub-install.in: New file.
45560 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
45561 variable.
45562 (add_segments): Call `grub_util_get_path'.
45563
25fe6f03 455642005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
45565
45566 From Timothy Baldwin:
45567 * commands/ls.c (grub_ls_list_files): Close FILE with
45568 grub_file_close.
45569 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
45570
04ccf3ec 455712005-10-24 Marco Gerards <mgerards@xs4all.nl>
45572
45573 * include/grub/parser.h: New file.
45574
45575 * kern/parser.c: Likewise.
45576
45577 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
45578 (grub_setup_SOURCES): Likewise.
45579 (grub_probefs_SOURCES): Likewise.
45580 (grub_emu_SOURCES): Likewise.
45581 (kernel_img_HEADERS): Add `parser.h'.
45582
45583 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
45584 (grub_emu_SOURCES): Add `kern/parser.c'.
45585 (grubof_SOURCES): Likewise.
45586
45587 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
45588 (grubof_SOURCES): Add `kern/parser.c'.
45589
45590 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
45591
45592 * kern/misc.c (grub_split_cmdline): Removed function.
45593
45594 * kern/rescue.c: Include <grub/parser.h>.
45595 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
45596 of `grub_split_cmdline'.
45597
45598 * normal/command.c: Include <grub/parser.h>.
45599 (grub_command_execute): Use `grub_parser_split_cmdline' instead
45600 of `grub_split_cmdline'.
45601
45602 * normal/completion.c: Include <grub/parser.h>.
45603 (cmdline_state): New variable.
45604 (iterate_dir): End the filename with a quote depending on the
45605 command line state.
45606 (get_state): new function.
45607 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
45608 split the arguments and determine the current argument. When the
45609 argument string is not quoted, escape all spaces.
45610
6d8f4b0e 456112005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45612
45613 * normal/sparc64/setjmp.S: New file.
45614
15cf03ed 456152005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45616
45617 * include/grub/sparc64/libgcc.h: New file.
45618 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
45619 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
45620 normal/sparc64/setjmp.c.
45621
03e8661a 456222005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45623
45624 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
45625 * kern/sparc64/cache.S: New file.
45626 * kern/sparc64/cache.c: Removed.
45627 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
45628 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
45629 -mtune=ultrasparc.
45630 (COMMON_LDFLAGS): Add -melf64_sparc.
45631 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
45632 (grubof_SOURCES): Use cache.S instead of cache.c.
45633 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
45634 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
45635 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
45636 commented though.
45637 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
45638 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
45639 (linux_mod_CFLAGS): Commented out.
45640 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
45641 out because module isn't built.
45642 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
45643 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
45644 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
45645 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
45646 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
45647 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
45648 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
45649 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
45650 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
45651 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
45652 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45653 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45654 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
45655 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
45656
34eeec8a 456572005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
45658
45659 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
45660 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
45661 longer, because HFS should not be used on PC.
45662
708367a3 456632005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45664
45665 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
45666 consistently within the loop.
45667
6fa1251a 456682005-10-15 Marco Gerards <mgerards@xs4all.nl>
45669
45670 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
45671 directory can not be read.
45672
4801580b 456732005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45674
45675 * configure.ac (AC_INIT): Increase the version number to 1.91.
45676
45677 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
45678 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
45679 term/i386/pc/serial.c.
45680
219ad426 456812005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45682
45683 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
45684 file size must be permitted.
45685
45686 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
45687 between %ah and %al.
45688
688e5699 456892005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45690
45691 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
45692 grub_uint64_t.
45693 Call the hook with a NUL-terminated filename.
45694 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
45695 grub_cpu_to_be32.
45696
45697 * kern/term.c (cursor_state): New variable.
45698 (grub_term_set_current): Reset the cursor state on a new
45699 terminal.
45700 (grub_setcursor): Rewritten to use CURSOR_STATE.
45701 (grub_getcursor): New function.
45702
45703 * include/grub/term.h (grub_getcursor): New prototype.
45704
45705 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
45706 integers on ARM. Reported by Timothy Baldwin
45707 <T.E.Baldwin99@members.leeds.ac.uk>.
45708
bb34586c 457092005-10-11 Marco Gerards <mgerards@xs4all.nl>
45710
45711 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
45712 allocated.
45713 (grub_sfs_dir): Likewise.
45714
9a909877 457152005-10-09 Marco Gerards <mgerards@xs4all.nl>
45716
45717 Add support for the SFS filesystem.
45718
45719 * fs/sfs.c: New file.
45720
45721 * DISTLIST: Added `fs/sfs.c'.
45722
45723 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
45724 (grub_probefs_SOURCES): Likewise.
45725 (grub_emu_SOURCES): Likewise.
45726 (pkgdata_MODULES): Add `sfs.mod'.
45727 (sfs_mod_SOURCES): New variable.
45728 (sfs_mod_CFLAGS): Likewise.
45729 (sfs_mod_LDFLAGS): Likewise.
45730
45731 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
45732 (pkgdata_MODULES): Add `sfs.mod'.
45733 (sfs_mod_SOURCES): New variable.
45734 (sfs_mod_CFLAGS): Likewise.
45735
45736 * util/grub-emu.c (main): Call `grub_sfs_init' and
45737 `grub_sfs_fini'.
45738
45739 * include/grub/fs.h (grub_sfs_init): New prototype.
45740 (grub_sfs_fini): Likewise.
45741
57bdbde3 457422005-10-07 Marco Gerards <mgerards@xs4all.nl>
45743
45744 Add support for the AFFS filesystem.
45745
45746 * fs/affs.c: New file.
45747
45748 * DISTLIST: Added `fs/affs.c'.
45749
45750 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
45751 (grub_probefs_SOURCES): Likewise.
45752 (grub_emu_SOURCES): Likewise.
45753 (pkgdata_MODULES): Add `affs.mod'.
45754 (affs_mod_SOURCES): New variable.
45755 (affs_mod_CFLAGS): Likewise.
45756 (affs_mod_LDFLAGS): Likewise.
45757
45758 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
45759 (pkgdata_MODULES): Add `affs.mod'.
45760 (affs_mod_SOURCES): New variable.
45761 (affs_mod_CFLAGS): Likewise.
45762
45763 * util/grub-emu.c (main): Call `grub_affs_init' and
45764 `grub_affs_fini'.
45765
45766 * include/grub/fs.h (grub_affs_init): New prototype.
45767 (grub_affs_fini): Likewise.
45768
047b67e0 457692005-10-01 Marco Gerards <mgerards@xs4all.nl>
45770
45771 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
45772
59b8208a 457732005-10-01 Marco Gerards <mgerards@xs4all.nl>
45774
45775 * configure.ac: Accept `x86_64' as host_cpu. In that case add
45776 `-m32' to CFLAGS.
45777
45778 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
45779 linking.
f19dbdb7 45780
59b8208a 45781 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
45782 (COMMON_LDFLAGS): New variable.
45783 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
45784 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
45785 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
45786 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
45787 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
45788 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
45789 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
45790 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
45791 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
45792 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
45793 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
45794 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
45795 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
45796 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
45797 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
45798 variables.
45799 (normal_mod_ASFLAGS): Add `-m32'.
45800
45801 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
45802 (grub_host_size_t, grub_host_ssize_t): New types.
45803 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 45804 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 45805 `GRUB_HOST_SIZEOF_VOID_P'.
45806
45807 * include/grub/kernel.h (struct grub_module_header): Type of
45808 member offset changed to `grub_host_off_t'. Type of member size
45809 changed to `grub_host_size_t'.
45810 (struct grub_module_info): Type of member offset changed to
45811 `grub_host_off_t'. Type of member size changed to
45812 `grub_host_size_t'.
45813
b4093103 458142005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
45815
45816 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 45817
b4093103 45818 * kern/i386/pc/startup.S (multiboot_header): New label.
45819 (multiboot_entry): Likewise.
45820 (multiboot_trampoline): Likewise.
45821
45822 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
45823 Increased to 0x4A0.
45824
45825 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
45826 put parentheses after a question mark.
45827 [!GRUB_UTIL] (my_mod): New variable.
45828
45829 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
45830
b2499b29 458312005-09-28 Marco Gerards <mgerards@xs4all.nl>
45832
45833 Adds support for the XFS filesystem. Btrees are not supported
45834 yet.
45835
45836 * fs/xfs.c: New file.
45837
45838 * DISTLIST: Added `fs/xfs.c'.
45839
45840 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
45841 (grub_probefs_SOURCES): Likewise.
45842 (grub_emu_SOURCES): Likewise.
45843 (pkgdata_MODULES): Add `xfs.mod'.
45844 (xfs_mod_SOURCES): New variable.
45845 (xfs_mod_CFLAGS): Likewise.
45846
45847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
45848 (pkgdata_MODULES): Add `xfs.mod'.
45849 (xfs_mod_SOURCES): New variable.
45850 (xfs_mod_CFLAGS): Likewise.
45851
45852 * util/grub-emu.c (main): Call `grub_xfs_init' and
45853 `grub_xfs_fini'.
45854
45855 * include/grub/fs.h (grub_xfs_init): New prototype.
45856 (grub_xfs_fini): Likewise.
45857
f19dbdb7 45858
83d37a62 458592005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
45860
45861 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
45862 color modes, allow greater than 16 colors to be configured as
45863 a default palette.
45864
47d2d65e 458652005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45866
45867 * normal/completion.c (complete_arguments): Add the qualifier
45868 const into OPTIONS.
45869
45870 From Omniflux <omniflux+lists@omniflux.com>:
45871 * include/grub/terminfo.h: New file.
45872 * include/grub/tparm.h: Likewise.
45873 * include/grub/i386/pc/serial.h: Likewise.
45874 * term/terminfo.c: Likewise.
45875 * term/tparm.c: Likewise.
45876 * term/i386/pc/serial.c: Likewise.
45877 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
45878 serial.mod.
45879 (terminfo_mod_SOURCES): New variable.
45880 (terminfo_mod_CFLAGS): Likewise.
45881 (serial_mod_SOURCES): Likewise.
45882 (serial_mod_CFLAGS): Likewise.
45883
48b671ff 458842005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
45885
45886 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
45887 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
45888 and kern/powerpc/ieee1275/cmain.c, respectively.
45889
45890 * boot/powerpc/ieee1275/crt0.S: Moved to ...
45891 * kern/powerpc/ieee1275/crt0.S: ... here.
45892
45893 * boot/powerpc/ieee1275/cmain.c: Moved to ...
45894 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 45895
48b671ff 45896 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
45897 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
45898 instead of boot/powerpc/ieee1275/crt0.S and
45899 boot/powerpc/ieee1275/cmain.c, respectively.
45900
45901 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
45902 sectors. It was not used anyway.
45903
09fc77a7 459042005-08-30 Hollis Blanchard <hollis@penguinppc.org>
45905
45906 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
45907 `unused parameter' warning.
45908
003789c7 459092005-08-30 Hollis Blanchard <hollis@penguinppc.org>
45910
45911 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
45912 function.
45913 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
45914 getcharwidth.
45915
67f44c86 459162005-08-28 Marco Gerards <metgerards@student.han.nl>
45917
45918 * include/grub/normal.h (enum grub_completion_type): Added
45919 `GRUB_COMPLETION_TYPE_ARGUMENT'.
45920
45921 * normal/cmdline.c (print_completion): Handle
45922 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
45923 * normal/menu_entry.c (store_completion): Likewise.
45924
45925 * normal/completion.c (complete_arguments): New function.
45926 (grub_normal_do_completion): Call `complete_arguments' when the
45927 current words start with a dash.
45928
0b5abe02 459292005-08-27 Marco Gerards <metgerards@student.han.nl>
45930
45931 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
45932 `gzio.mod' instead of `io.mod').
45933
d9864ee1 459342005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
45935
45936 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
45937 (DISTDIRS): Added io and video.
45938 Rewrite the search routine to make an output consistently.
45939
45940 * DISTLIST: Added conf/sparc64-ieee1275.mk,
45941 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
45942 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
45943 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
45944 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
45945 util/powerpc/ieee1275/misc.c.
f19dbdb7 45946
d9864ee1 45947 * include/grub/gzio.h: New file.
45948 * io/gzio.c: Likewise.
f19dbdb7 45949
d9864ee1 45950 * kern/file.c (grub_file_close): Call grub_device_close only if
45951 FILE->DEVICE is not NULL.
45952
45953 * include/grub/mm.h [!NULL] (NULL): New macro.
45954
45955 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
45956
45957 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
45958 (pkgdata_MODULES): Added gzio.mod.
45959 (gzio_mod_SOURCES): New variable.
45960 (gzio_mod_CFLAGS): Likewise.
45961
45962 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
45963 (pkgdata_MODULES): Added gzio.mod.
45964 (gzio_mod_SOURCES): New variable.
45965 (gzio_mod_CFLAGS): Likewise.
45966
45967 * commands/cat.c: Include grub/gzio.h.
45968 (grub_cmd_cat): Use grub_gzfile_open instead of
45969 grub_file_open.
f19dbdb7 45970
d9864ee1 45971 * commands/cmp.c: Include grub/gzio.h.
45972 (grub_cmd_cmp): Use grub_gzfile_open instead of
45973 grub_file_open.
45974
45975 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
45976 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
45977 grub_file_open.
45978 (grub_rescue_cmd_module): Likewise.
45979
fa46f4b5 459802005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
45981
45982 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
45983 kern/sparc64/ieee1275/init.c because it contains _start.
45984 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
45985
e9211b5d 459862005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
45987
45988 * configure.ac: Add support for sparc64 host with ieee1275
45989 firmware.
45990 * configure: Generated from configure.ac.
45991 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
45992 instead of int.
45993 (grub_ofdisk_read): Likewise.
45994 (grub_ofdisk_open): Use %p to print pointer values, and cast the
45995 pointers as (void *) to remove a warning.
45996 (grub_ofdisk_close): Likewise.
45997 (grub_ofdisk_read): Likewise.
45998 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
45999 returns, so make it return void to remove a warning.
46000 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
46001 Corresponding prototype change.
46002 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
46003 values, and cast the pointers as (void *) to remove a warning.
46004 (grub_mm_dump): Likewise.
46005 * conf/sparc64-ieee1275.mk: New file.
46006 * conf/sparc64-ieee1275.rmk: Likewise.
46007 * include/grub/sparc64/setjmp.h: Likewise.
46008 * include/grub/sparc64/types.h: Likewise.
46009 * include/grub/sparc64/ieee1275/console.h: Likewise.
46010 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46011 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46012 * include/grub/sparc64/ieee1275/time.h: Likewise.
46013 * kern/sparc64/cache.c: Likewise.
46014 * kern/sparc64/dl.c: Likewise.
46015 * kern/sparc64/ieee1275/init.c: Likewise.
46016 * kern/sparc64/ieee1275/openfw.c: Likewise.
46017
385c6a92 460182005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46019
46020 * util/console.c (grub_ncurses_putchar): If C is greater than
46021 0x7f, set C to a question mark.
46022 (grub_ncurses_getcharwidth): New function.
46023 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
46024 getcharwidth.
46025
46026 * normal/menu.c (print_entry): Made aware of Unicode. First,
46027 convert TITLE to UCS-4, and predict the cursor position by
46028 grub_getcharwidth.
46029
46030 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
46031 const to SRC.
46032 * kern/misc.c (grub_utf16_to_utf8): Likewise.
46033
16ccb8b1 460342005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46035
46036 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
46037 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46038 grub_strcat.
46039
46040 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
46041 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46042 grub_strcpy and grub_strlen. Take it into account that a space
46043 character is inserted as a delimiter.
46044
6a85ce79 460452005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46046
46047 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 46048 invalid magic in the error.
6a85ce79 46049
46050 * commands/search.c: New file.
f19dbdb7 46051
6a85ce79 46052 * util/grub-emu.c (main): Call grub_search_init and
46053 grub_search_fini.
46054
46055 * kern/rescue.c (grub_rescue_print_disks): Removed.
46056 (grub_rescue_print_devices): New function.
46057 (grub_rescue_cmd_ls): Use grub_device_iterate with
46058 grub_rescue_print_devices instead of grub_disk_dev_iterate with
46059 grub_rescue_print_disks.
46060
46061 * kern/partition.c (grub_partition_iterate): Return the result of
46062 PARTMAP->ITERATE instead of GRUB_ERRNO.
46063
46064 * kern/device.c: Include grub/partition.h.
46065 (grub_device_iterate): New function.
46066
46067 * include/grub/partition.h (grub_partition_iterate): Return int
46068 instead of grub_err_t.
46069
46070 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
46071 prototype.
46072 [GRUB_UTIL] (grub_search_fini): Likewise.
46073
46074 * include/grub/device.h (grub_device_iterate): New prototype.
46075
46076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46077 commands/search.c.
46078 (pkgdata_MODULES): Added search.mod.
46079 (search_mod_SOURCES): New variable.
46080 (search_mod_CFLAGS): Likewise.
46081
46082 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
46083 (pkgdata_MODULES): Added search.mod.
46084 (search_mod_SOURCES): New variable.
46085 (search_mod_CFLAGS): Likewise.
46086
46087 * commands/ls.c (grub_ls_list_disks): Renamed to ...
46088 (grub_ls_list_devices): ... this, and use grub_device_iterate.
46089 All callers changed.
46090
46091 * DISTLIST: Added commands/search.c.
46092
ef095434 460932005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46094
46095 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
46096 conversion.
46097 (grub_getcharwidth): New function.
46098
46099 * kern/misc.c (grub_utf8_to_ucs4): New function.
46100
46101 * include/grub/term.h (struct grub_term): Added a new member
46102 "getcharwidth".
46103 (grub_getcharwidth): New prototype.
46104
46105 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
46106
46107 * term/i386/pc/console.c (map_char): New function. Segregated from
46108 grub_console_putchar.
46109 (grub_console_putchar): Use map_char.
46110 (grub_console_getcharwidth): New function.
46111 (grub_console_term): Specified grub_console_getcharwidth as
46112 getcharwidth.
46113
46114 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
46115 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
46116
46117 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
46118 GRUB_ERRNO.
46119 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
46120 on grub_strtoul completely.
46121 (write_char): Declare local variables in the beginning of the
46122 function.
46123 (grub_vesafb_getcharwidth): New function.
46124 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
46125 getcharwidth.
46126
1f0a95e4 461272005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
46128
46129 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
46130 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
46131 commands/i386/pc/vbetest.c.
46132
46133 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
46134 call grub_vbe_get_controller_info again, because the returned
46135 information is volatile.
46136 (grub_vbe_set_video_mode): Mostly rewritten.
46137 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
46138 grub_vbe_status_t correctly.
46139 (grub_vbe_get_video_mode_info): Likewise.
46140 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
46141 several if statements.
46142
46143 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
46144 * commands/i386/pc/vbeinfo.c: ... this.
46145
46146 * commands/i386/pc/vbe_test.c: Renamed to ...
46147 * commands/i386/pc/vbetest.c: ... this.
46148
46149 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
46150 ...
46151 (grub_cmd_vbeinfo): ... this. Save video modes before
46152 iterating. Skip a video mode, if it is not available, not enough
46153 information is given or it is monochrome. Show the memory
46154 model. Leave the interpretation of MODEVAR to grub_strtoul
46155 completely.
46156 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
46157 (GRUB_MOD_FINI): Likewise.
46158
46159 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
46160 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
46161 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
46162 duplicated grub_env_get. Leave the interpretation of MODEVAR to
46163 grub_strtoul completely.
46164 (real2pm): Removed.
46165 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
46166 (GRUB_MOD_FINI): Likewise.
46167
46168 * normal/misc.c: Include grub/mm.h.
46169
46170 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
46171 vbe_list_modes with vbetest.mod and vbeinfo.mod.
46172 (vbe_list_modes_mod_SOURCES): Removed.
46173 (vbe_list_modes_mod_CFLAGS): Likewise.
46174 (vbe_test_mod_SOURCES): Likewise.
46175 (vbe_test_mod_CFLAGS): Likewise.
46176 (vbeinfo_mod_SOURCES): New variable.
46177 (vbeinfo_mod_CFLAGS): Likewise.
46178 (vbetest_mod_SOURCES): Likewise.
46179 (vbetest_mod_CFLAGS): Likewise.
46180
992ffbbe 461812005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
46182
46183 * normal/misc.c: New file.
46184
46185 * DISTLIST: Added normal/misc.c.
f19dbdb7 46186
992ffbbe 46187 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
46188 DISK to HOOK. Call HOOK with DISK.
46189 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46190 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46191 * partmap/sun.c (sun_partition_map_iterate): Likewise.
46192
46193 * normal/menu_entry.c (struct screen): Added a new member
46194 "completion_shown".
46195 (completion_buffer): New global variable.
46196 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
46197 (store_completion): New function.
46198 (complete): Likewise.
46199 (clear_completions): Likewise.
46200 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
46201 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
46202 a tab, call complete.
46203
46204 * normal/completion.c (disk_dev): Removed.
46205 (print_simple_completion): Likewise.
46206 (print_partition_completion): Likewise.
46207 (print_func): New global variable.
46208 (add_completion): Do not take the arguments WHAT or PRINT any
46209 longer. Added a new argument TYPE. Instead of printing directly,
46210 call PRINT_FUNC if not NULL.
46211 All callers changed.
46212 (complete_device): Use a local variable DEV instead of
46213 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
46214 (grub_normal_do_completion): Take a new argument HOOK. Do not
46215 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
46216 empty string, return NULL instead.
46217 All callers changed.
46218
46219 * normal/cmdline.c (print_completion): New function.
46220
46221 * kern/partition.c (grub_partition_iterate): Add an argument DISK
46222 to HOOK.
46223 All callers changed.
46224
46225 * kern/disk.c (grub_print_partinfo): Removed.
46226
46227 * include/grub/partition.h (struct grub_partition_map): Add a new
46228 argument DISK into HOOK of ITERATE.
46229 (grub_partition_iterate): Add a new argument DISK to HOOK.
46230
46231 * include/grub/normal.h (enum grub_completion_type): New enum.
46232 (grub_completion_type_t): New type.
46233 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
46234 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
46235 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
46236 (GRUB_COMPLETION_TYPE_FILE): Likewise.
46237 (grub_normal_do_completion): Added a new argument HOOK.
46238 (grub_normal_print_device_info): New prototype.
46239
46240 * include/grub/disk.h (grub_print_partinfo): Removed.
46241
46242 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
46243 (normal_mod_SOURCES): Likewise.
46244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46245 (normal_mod_SOURCES): Likewise.
46246
46247 * commands/ls.c (grub_ls_list_disks): Use
46248 grub_normal_print_device_info instead of grub_print_partinfo. Free
46249 PNAME.
46250 (grub_ls_list_files): Use grub_normal_print_device_info instead of
46251 duplicating the code.
46252
0bd41162 462532005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
46254
46255 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 46256 follow GCS more precisely.
46257 * commands/i386/pc/vbe_test.c: Likewise.
46258 * include/grub/i386/pc/vbe.h: Likewise.
46259 * term/i386/pc/vesafb.c: Likewise.
46260 * video/i386/pc/vbe.c: Likewise.
0bd41162 46261
6323696a 462622005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
46263
46264 * DISTLIST: Added term/i386/pc/vesafb.c
46265 DISTLIST: Added video/i386/pc/vbe.c
46266 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
46267 DISTLIST: Added commands/i386/pc/vbe_test.c.
46268 * commands/i386/pc/vbe_list_modes.c: New file.
46269 * commands/i386/pc/vbe_test.c: Likewise.
46270 * term/i386/pc/vesafb.c: Likewise.
46271 * video/i386/pc/vbe.c: Likewise.
46272 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
46273 (grub_vbe_probe) Added prototype.
46274 (grub_vbe_set_video_mode) Likewise.
46275 (grub_vbe_get_video_mode) Likewise.
46276 (grub_vbe_get_video_mode_info) Likewise.
46277 (grub_vbe_set_pixel_rgb) Likewise.
46278 (grub_vbe_set_pixel_index) Likewise.
46279 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
46280 (pkgdata_MODULES): Added vesafb.mod.
46281 (pkgdata_MODULES): Added vbe_list_modes.mod.
46282 (pkgdata_MODULES): Added vbe_test.mod.
46283 (vbe_mod_SOURCES): Added.
46284 (vbe_mod_CFLAGS): Likewise.
46285 (vesafb_mod_SOURCES): Likewise.
46286 (vesafb_mod_CFLAGS): Likewise.
46287 (vbe_list_modes_mod_SOURCES): Likewise.
46288 (vbe_list_modes_mod_CFLAGS): Likewise.
46289 (vbe_test_mod_SOURCES): Likewise.
46290 (vbe_test_mod_CFLAGS): Likewise.
46291
0a74e62f 462922005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
46293
0a74e62f 46294 * normal/command.c (grub_command_execute): If INTERACTIVE is
46295 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
46296 CMDLINE. Disable the pager if INTERACTIVE is true.
46297 All callers are changed.
46298
46299 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
46300 before reading a config file.
46301 * normal/main.c (read_config_file): Even if a command is not
46302 found, register it if it is within an entry.
46303
46304 * util/grub-emu.c: Include sys/types.h and unistd.h.
46305 (options): Added --hold.
46306 (struct arguments): Added a new member "hold".
46307 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
46308 missing.
46309 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
46310 cleared by a debugger, if it is not zero.
46311
46312 * include/grub/normal.h (grub_command_execute): Add an argument
46313 INTERACTIVE.
46314
e51f85ae 463152005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
46316
46317 * DISTLIST: Added include/grub/i386/pc/vbe.h.
46318
e9c6f39b 463192005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
46320
46321 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
46322 program with another one, because the old one didn't detect a bug
46323 in gcc-3.4. Always use regparm 2, because the new test is still
46324 not enough for gcc-4.0. Someone must investigate a simple test
46325 case which detects a bug in gcc-4.0.
46326
8de3495c 463272005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
46328
46329 * DISTLIST: Added normal/completion.c.
46330
46331 * normal/completion.c: New file.
f19dbdb7 46332
8de3495c 46333 * term/i386/pc/console.c (grub_console_getwh): New function.
46334 (grub_console_term): Assign grub_console_getwh to getwh.
46335
46336 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
46337 function is defined in normal/completion.c as
46338 grub_normal_do_completion.
46339 (grub_cmdline_get): Use grub_normal_do_completion instead of
46340 grub_tab_complete.
46341
46342 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
46343 returns non-zero, otherwise return 0.
46344 (grub_partition_iterate): First, probe the partition map. Then,
46345 call ITERATE only for this partition map.
46346
46347 * kern/misc.c (grub_strncmp): Rewritten.
46348
46349 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
46350 returns non-zero. Otherwise return 0.
46351
46352 * include/grub/partition.h (grub_partition_map_iterate): Return
46353 int instead of void.
46354
46355 * include/grub/normal.h (grub_normal_do_completion): New prototype.
46356
46357 * include/grub/misc.h (grub_strncmp): Change the type of N to
46358 grub_size_t.
46359
46360 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
46361 of void.
46362
46363 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 46364 unsigned explicitly before comparing it with I.
8de3495c 46365
46366 * kern/main.c (grub_env_write_root): Add the attribute unused into
46367 VAR.
46368
46369 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46370 normal/completion.c.
46371 (normal_mod_SOURCES): Likewise.
46372 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46373 (normal_mod_SOURCES): Likewise.
46374
46375 * normal/command.c (grub_iterate_commands): If ITERATE returns
46376 non-zero, return one immediately.
46377
e85e144b 463782005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
46379
46380 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
46381 * kern/i386/pc/startup.S: Updated Global Descriptor table's
46382 descriptions.
46383 (grub_vbe_get_controller_info): New function.
46384 (grub_vbe_get_mode_info): Likewise.
46385 (grub_vbe_set_mode): Likewise.
46386 (grub_vbe_get_mode): Likewise.
46387 (grub_vbe_set_memory_window): Likewise.
46388 (grub_vbe_get_memory_window): Likewise.
46389 (grub_vbe_set_scanline_length): Likewise.
46390 (grub_vbe_get_scanline_length): Likewise.
46391 (grub_vbe_set_display_start): Likewise.
46392 (grub_vbe_get_display_start): Likewise.
46393 (grub_vbe_set_palette_data): Likewise.
46394 * include/grub/i386/pc/vbe.h: New file.
46395
c46153d2 463962005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46397
46398 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
46399 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
46400 * DISTLIST: Likewise.
46401 * kern/ieee1275/of.c: Moved to ...
46402 * kern/ieee1275/ieee1275.c: ... here.
46403
0cb90c45 464042005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46405
46406 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
46407 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
46408 Pass 0 as `end' parameter to grub_strtoul().
46409
a19fb360 464102005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46411
46412 * include/grub/powerpc/ieee1275/console.h: Do not include
46413 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
46414 ifdef.
46415 (grub_console_cur_color): Remove i386-specific prototype.
46416 (grub_console_real_putchar): Likewise.
46417 (grub_console_checkkey): Likewise.
46418 (grub_console_getkey): Likewise.
46419 (grub_console_getxy): Likewise.
46420 (grub_console_gotoxy): Likewise.
46421 (grub_console_cls): Likewise.
46422 (grub_console_setcursor): Likewise.
46423 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
46424 Include <grub/machine/console.h>.
46425 * term/ieee1275/ofconsole.c: Likewise.
46426
4ac9bd04 464272005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
46428
46429 * Makefile.in (LIBLZO): New variable.
46430
46431 * configure.ac: Check for LZO version 2.
46432
46433 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
46434 lzo/lzo1x.h instead of lzo1x.h.
46435
46436 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
46437 of -llzo.
46438
46439 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
46440 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
46441
46442 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
46443 copying the data from PARTITION to P.
46444
f4917dfd 464452005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46446
46447 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
46448 negative, unload the module.
46449
46450 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
46451 map is "pc_partition_map" but not "pc".
46452 (usage): Fix the description. The options are --boot-image and
46453 --core-image but not --boot-file or --core-file.
46454 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
46455 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
46456 DEFAULT_DIRECTORY.
46457
46458 * util/i386/pc/grub-install.in: Do not specify --boot-file or
46459 --core-file. Specify INSTALL_DEVICE as an argument.
46460
46461 * util/console.c: Include config.h.
46462 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
46463 [HAVE_NCURSES_H]: Include ncurses.h.
46464 [HAVE_CURSES_H]: Include curses.h.
46465 [!A_NORMAL] (A_NORMAL): Defined as zero.
46466 [!A_STANDOUT] (A_STANDOUT): Likewise.
46467
46468 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
46469 -lncurses.
46470 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
46471
46472 * configure.ac: Check for curses libraries and headers.
46473
46474 * Makefile.in (LIBCURSES): New variable.
46475
46476 * genmk.rb (Script::rule): Set the executable bits.
46477
46478 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
46479 name of the PC partition map is "pc_partition_map" but not "pc".
46480
0e143073 464812005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46482
46483 * util/i386/pc/grub-install.in (grub_probefs): New variable.
46484 (modules): Likewise.
46485 (usage): Added descriptions for --modules and --grub-probefs.
46486 Handle --modules and --grub-probefs. Save the arguments in MODULES
46487 and GRUB_PROBEFS, respectively.
46488 Auto-detect a filesystem module against GRUBDIR. If the result is
46489 empty and modules are not specified explicitly, abort the
46490 installation. Add the result to MODULES.
46491
46492 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
46493 disk/powerpc/ieee1275/ofdisk.c,
46494 include/grub/powerpc/ieee1275/init.h and
46495 term/powerpc/ieee1275/ofconsole.c.
46496 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
46497 term/ieee1275/ofconsole.c.
46498
46499 * include/grub/powerpc/ieee1275/console.h: Resurrected.
46500
46501 * COPYING: Upgraded to the latest version. Only the address of the
46502 FSF office has changed.
f19dbdb7 46503
efd6e6d5 465042005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46505
46506 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
46507 kern/ieee1275.c with kern/ieee1275/of.c.
46508
46509 * kern/ieee1275.c: Moved to ...
46510 * kern/ieee1275/of.c: ... here.
46511
8ceafda2 465122005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
46513
46514 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 46515 readability.
8ceafda2 46516
46517 * config.guess: Updated to the latest version from gnulib.
46518 * config.sub: Likewise.
46519 * install.sh: Likewise.
46520 * mkinstalldirs: Likewise.
46521
46522 * include/grub/console.h: Removed. This file is arch-specific. Do
46523 not put this in include/grub.
46524
46525 * include/grub/i386/pc/console.h: Resurrected.
46526
46527 * util/console.c: Include grub/machine/console.h instead of
46528 grub/console.h.
46529 * util/grub-emu.c: Likewise.
46530
267f6cd9 465312005-08-04 Marco Gerards <metgerards@student.han.nl>
46532
46533 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
46534 hardcoded value.
f19dbdb7 46535
267f6cd9 46536 From Vincent Pelletier <subdino2004@yahoo.fr>
46537 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
46538 Redefined to use grub_getwh.
46539 (grub_term): New member named getwh.
46540 (grub_getwh): New prototype.
46541 * kern/term.c (grub_getwh): New function.
46542 * term/i386/pc/console.c (grub_console_getwh): New function.
46543 (grub_console_term): New member `getwh'.
46544 * term/i386/pc/vga.c (grub_vga_getwh): New function.
46545 (grub_vga_term): New member `getwh'.
0b5abe02 46546 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 46547 grub_ssize_t.
46548 (grub_ofconsole_getw): New function.
46549 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
46550 (grub_ofconsole_term): New field named getwh and new initial
46551 value.
46552
3be7266d 465532005-08-03 Hollis Blanchard <hollis@penguinppc.org>
46554
46555 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
46556 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
46557 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
46558 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
46559 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
46560 of <grub/machine/ieee1275.h>.
46561 * commands/ieee1275/reboot.c: Likewise.
46562 * boot/powerpc/ieee1275/ieee1275.c: Move ...
46563 * kern/ieee1275.c: ... to here. All users updated. Change all
46564 parameter structs to use new type `grub_ieee1275_cell_t'.
46565 * term/powerpc/ieee1275/ofconsole.c: Move ...
46566 * term/ieee1275/ofconsole.c: ... to here. All users updated.
46567 * disk/powerpc/ieee1275/ofdisk.c: Move ...
46568 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
46569 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
46570 to return int.
46571 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
46572 Remove unused prototypes. All users updated.
46573 * include/grub/powerpc/ieee1275/console.h: Removed.
46574 * include/grub/powerpc/ieee1275/ieee1275.h: Define
46575 `grub_ieee1275_cell_t'.
46576 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
46577 Cast comparisons with -1 to the correct type.
46578 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
46579 type to match `grub_ieee1275_entry_fn'.
46580
8b5f3938 465812005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
46582
46583 * DISTLIST: Added util/i386/pc/grub-probefs.c.
46584
46585 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
46586 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
46587 partmap/sun.c.
46588 (grub_probefs_SOURCES): New variable.
46589
46590 * util/i386/pc/grub-probefs.c: New file.
46591
46592 * util/i386/pc/grub-setup.c (main): Call
46593 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
46594 grub_hfs_init and grub_jfs_init to initialize the system. Call
46595 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
46596 grub_pc_partition_map_fini to finish the system.
46597
ea409713 465982005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
46599
46600 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
46601 function.
46602 (grub_multiboot_load_elf32): Likewise.
46603 (grub_multiboot_is_elf64): Likewise.
46604 (grub_multiboot_load_elf64): Likewise.
46605 (grub_multiboot_load_elf): Likewise.
46606 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
46607 an ELF32 or ELF64 file.
46608 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
46609
46610 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
46611 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
46612 NULL before calling FS->LABEL.
46613 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
46614 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
46615 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
46616 before calling FS->LABEL.
46617
141a288b 466182005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
46619
46620 * util/i386/pc/grub-install.in (datadir): New variable.
46621 (libdir): Removed.
46622 (pkgdatadir): New variable.
46623 (pkglibdir): Removed.
46624
0d5f8a54 466252005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
46626
46627 * DISTLIST: Added util/i386/pc/grub-install.in.
46628
46629 * util/i386/pc/grub-install.in: New file.
46630
46631 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
46632 (grub_install_SOURCES): Likewise.
46633
46634 * genmk.rb: Added support for scripts.
46635 (Script): New class.
46636 (scripts): New variable.
46637
46638 * Makefile.in (install-local): Install sbin_SCRIPTS by
46639 INSTALL_SCRIPT.
46640 (uninstall): Remove sbin_SCRIPTS.
46641
46642 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
46643 device, try to get a GRUB device by
46644 grub_util_biosdisk_get_grub_dev.
46645 Free DEST_DEV.
46646
46647 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
46648 description for --device-map.
46649
5f968e1e 466502005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
46651
46652 Change the semantics of variable hooks. They now return strings
46653 instead of error values.
f19dbdb7 46654
5f968e1e 46655 * util/i386/pc/grub-setup.c: Include grub/env.h.
46656 (setup): Use grub_device_set_root instead of grub_env_set.
46657
46658 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
46659 grub_env_get instead of grub_device_set_root and
46660 grub_device_get_root, respectively.
46661
46662 * kern/main.c (grub_env_write_root): New function.
46663 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
46664 grub_env_set instead of grub_device_set_root.
46665
46666 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
46667 many variables.
46668 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
46669 rather than calling ENV->WRITE_HOOK afterwards.
46670 (grub_env_get): Return the result of ENV->READ_HOOK rather than
46671 passing a pointer of a pointer.
46672 (grub_register_variable_hook): Change the types of "read_hook" and
46673 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
46674 respectively.
46675 Allocate the default empty string on the heap, because this string
46676 may be freed later.
46677
46678 * kern/device.c: Include grub/env.h.
46679 (grub_device_set_root): Removed.
46680 (grub_device_get_root): Likewise.
46681 (grub_device_open): Use grub_env_get instead of
46682 grub_device_get_root.
46683
46684 * include/grub/env.h (grub_env_read_hook_t): New type.
46685 (grub_env_write_hook_t): Likewise.
46686 (grub_env_var): Change the types of "read_hook" and "write_hook"
46687 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
46688 (grub_register_variable_hook): Likewise.
46689
46690 * include/grub/device.h (grub_device_set_root): Removed.
46691 (grub_device_set_root): Likewise.
46692
46693 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
46694 make sure that DIRNAME terminates with '/', so that
46695 grub_fat_find_dir will fail if PATH is not a directory.
46696
46697 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
46698 from DIRNAME.
46699 Use the qualifier auto for print_files and print_files_long.
46700 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
46701 as a regular file.
46702 Put a newline only if there is no error.
46703 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
46704 used.
46705
896f0afd 467062005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
46707
46708 * kern/partition.c (grub_partition_probe): Initialize PART to
46709 NULL. Otherwise, when no partition map is registered, this returns
46710 a garbage.
46711
b28b81b2 467122005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
46713
46714 * partmap/apple.c (apple_partition_map_iterate): Check if POS
46715 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
46716 valid.
46717
5f3607e0 467182005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
46719
46720 * commands/ls.c (grub_ls_list_disks): Print the filesystem
46721 information on each device, if it does not have partitions. Print
46722 "Device" instead of "Disk", because this function is not specific
46723 to disk devices.
46724
46725 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
46726 static to ensure that it is put on the memory rather than a
46727 register.
46728
502c87e8 467292005-07-17 Yoshinori Okuji <okuji@enbug.org>
46730
46731 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
46732 (grub_cat_init): Likewise.
46733 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
46734 (options): Likewise.
46735 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
46736 (grub_configfile_init): Likewise.
46737 * font/manager.c (GRUB_MOD_INIT): Likewise.
46738 * commands/help.c (GRUB_MOD_INIT): Likewise.
46739 (grub_help_init): Likewise.
46740 * normal/command.c (grub_command_init): Likewise.
46741 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
46742 * disk/loopback.c (grub_loop_init): Likewise.
46743 (GRUB_MOD_INIT): Likewise.
46744 * commands/ls.c (grub_ls_init): Likewise.
46745 (GRUB_MOD_INIT): Likewise.
46746 (options): Likewise.
46747 * commands/boot.c (grub_boot_init): Likewise.
46748 (GRUB_MOD_INIT): Likewise.
46749 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
46750 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
46751 (GRUB_MOD_INIT): Likewise.
46752 * commands/cmp.c (grub_cmp_init): Likewise.
46753 (GRUB_MOD_INIT): Likewise.
46754
46755 * normal/arg.c: Use <> instead of "" to include header files.
46756 (SHORT_ARG_HELP): New macro.
46757 (SHORT_ARG_USAGE): Likewise.
46758 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
46759 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
46760 descriptions.
46761 (find_short): Check if C is 'h' or 'u' explicitly.
46762 (grub_arg_show_help): Use space characters instead of tabs. Treat
46763 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
46764 are shown with --help and --usage only if they are not used for
46765 the command itself.
46766 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
46767 'h' and 'u'.
46768
46769 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
46770 const into "longarg". Change the type of "shortarg" to int.
46771
f806d18e 467722005-07-17 Yoshinori Okuji <okuji@enbug.org>
46773
46774 * boot/i386/pc/boot.S (boot_drive_check): New label.
46775
46776 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
46777 macro.
46778
46779 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
46780 which do not pass a boot drive correctly. Copied from GRUB Legacy.
46781
e293232b 467822005-07-17 Yoshinori Okuji <okuji@enbug.org>
46783
46784 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
46785 When turning off Gate A20, skip the check and return immediately,
46786 because this is not fatal usually.
46787
ebedfd00 467882005-07-17 Yoshinori Okuji <okuji@enbug.org>
46789
46790 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
46791 be 0x7C00 instead of 0x8000.
46792
46793 * boot/i386/pc/pxeboot.S: Rewritten.
46794
46795 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
46796 EXT_C.
46797 (gate_a20_check_state): Read a byte from 0x108000. Invert the
46798 result.
46799
654fc59f 468002005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
46801
46802 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
46803 robustness. This routine now supports a BIOS call and System
46804 Control Port A to modify the gate A20.
46805
46806 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46807 Increased to 0x440.
46808
09f9923f 468092005-07-12 Hollis Blanchard <hollis@penguinppc.org>
46810
46811 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
46812 device path and resulting ihandle.
46813 (grub_ofdisk_close): dprintf the ihandle being closed.
46814 (grub_ofdisk_read): dprintf function parameters.
46815 * kern/mm.c (grub_mm_init_region): Likewise.
46816 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
46817 (grub_linux_boot): dprintf the Linux entry point, initrd address and
46818 size, and boot arguments.
46819 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
46820 before loading into memory.
46821 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
46822 before loading into memory.
46823
7ef504d8 468242005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
46825
46826 * kern/mm.c: Added much documentation.
46827 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
46828 8, set to 5 instead of 8.
46829
e0f050c2 468302005-07-10 Yoshinori Okuji <okuji@enbug.org>
46831
46832 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
46833
46834 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
46835 (grub_mkdevicemap_SOURCES): New variable.
46836
46837 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
46838 lib/device.c of GRUB Legacy.
46839
7224189a 468402005-07-10 Yoshinori Okuji <okuji@enbug.org>
46841
46842 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
46843 instead of PATH is NULL.
46844
68c864eb 468452005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
46846
46847 * commands/cmp.c (BUFFER_SIZE): New macro.
46848 (grub_cmd_cmp): Close the right file at the right time. Compare
46849 only data just read. Don't report files of different size as
46850 identical. Dynamically allocate buffers. Move variable
46851 declarations at the beginning of function.
46852
e6f3e614 468532005-07-09 Yoshinori Okuji <okuji@enbug.org>
46854
46855 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
46856 reverse.
46857
f8f1559a 468582004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
46859
46860 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
46861 when backspace is pressed at beginning of line.
46862
39c9d41d 468632005-07-03 Yoshinori Okuji <okuji@enbug.org>
46864
46865 * DISTLIST: Added genfslist.sh.
46866
46867 * normal/main.c (fs_module_list): New variable.
46868 (autoload_fs_module): New function.
46869 (read_fs_list): Likewise.
46870 (grub_normal_execute): Call read_fs_list.
46871
46872 * kern/fs.c (grub_fs_autoload_hook): New variable.
46873 (grub_fs_probe): Added support for auto-loading.
46874
46875 * include/grub/normal.h (struct grub_fs_module_list): New struct.
46876 (grub_fs_module_list_t): New type.
46877
46878 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
46879 (grub_fs_autoload_hook): New prototype.
46880
46881 * genfslist.sh: New file.
f19dbdb7 46882
39c9d41d 46883 * genmk.rb: Added a rule to generate a filesystem list.
46884
121c1d83 468852005-06-30 Marco Gerards <metgerards@student.han.nl>
46886
46887 * configure.ac: Fix the test for cross-compiling.
46888
46889 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
46890 define GRUB_UTIL anymore.
46891
46892 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
46893 so this function works on other systems than just big endian.
46894 (load_modules): Likewise.
46895 (add_segments): Likewise.
46896
e75d76e1 468972005-06-23 Hollis Blanchard <hollis@penguinppc.org>
46898
46899 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
46900 contains `l' modifier, get a long from va_arg().
46901
50b5a0a7 469022005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
46903
46904 * kern/mm.c (grub_free): If the next free block which is being
46905 merged is the first free block, set the first block to the block
46906 being freed.
46907 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
46908
89371b20 469092005-05-08 Hollis Blanchard <hollis@penguinppc.org>
46910
46911 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
46912 `grub_ieee1275_chosen'.
46913
168d6e58 469142005-05-08 Hollis Blanchard <hollis@penguinppc.org>
46915
46916 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
46917 (grub_ieee1275_chosen): New variable.
46918 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
46919 `chosen'.
46920 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
46921 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46922 Rename first argument to `phandle' for consistency.
46923 (grub_ieee1275_get_property_length): Likewise.
46924 (grub_ieee1275_next_property): Likewise. Change type of first argument
46925 to grub_ieee1275_phandle_t.
46926 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
46927 Move export next to declaration.
46928 (grub_ieee1275_chosen): New variable.
46929 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
46930 Correct cosmetic typo.
46931 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
46932 `grub_ieee1275_chosen'.
46933 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
46934 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
46935 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
46936 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
46937 `grub_ieee1275_chosen'.
46938
ca5baa3f 469392005-05-10 Hollis Blanchard <hollis@penguinppc.org>
46940
46941 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
46942 /chosen/bootargs.
46943 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
46944 /chosen/bootargs as "variable=value" pairs.
46945
708b345f 469462005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
46947
46948 * include/grub/misc.h (grub_dprintf): New macro.
46949 (grub_real_dprintf): New prototype.
46950 (grub_strword): Likewise.
46951 (grub_iswordseparator): Likewise.
46952 * kern/misc.c (grub_real_dprintf): New function.
46953 (grub_strword): Likewise.
46954 (grub_iswordseparator): Likewise.
46955
f4c5e67c 469562005-04-30 Hollis Blanchard <hollis@penguinppc.org>
46957
46958 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
46959 (roundup): Remove macro.
46960 (grub_ieee1275_flags): Make static.
46961 (grub_ieee1275_realmode): Remove.
46962 (grub_ieee1275_test_flag): New function.
46963 (grub_ieee1275_set_flag): Likewise.
46964 (find_options): Rename to `grub_ieee1275_find_options'; update
46965 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
46966 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
46967 (cmain): New prototype.
46968 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
46969 `grub_ieee1275_flags' directly.
46970 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
46971 machine/biosdisk.h.
46972 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
46973 Don't include grub/machine/init.h.
46974 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
46975 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
46976 Remove prototype.
46977 (grub_ieee1275_realmode): Likewise.
46978 (grub_ieee1275_flag): New enum.
46979 (grub_ieee1275_test_flag): New prototype.
46980 (grub_ieee1275_set_flag): New prototype.
46981 * include/grub/powerpc/ieee1275/init.h: Remove file.
46982 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
46983 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
46984 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
46985 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
46986 comment.
46987 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
46988 `grub_ieee1275_test_flag'.
46989 (grub_ieee1275_encode_devname): Likewise.
46990
ed16607e 469912005-04-21 Hollis Blanchard <hollis@penguinppc.org>
46992
46993 * include/grub/powerpc/ieee1275/ieee1275.h
46994 (grub_ieee1275_encode_devname): New prototype.
46995 (grub_ieee1275_get_filename): Likewise.
46996 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
46997 function.
46998 (grub_set_prefix): Likewise.
46999 (grub_machine_init): Call grub_set_prefix.
47000 * kern/powerpc/ieee1275/openfw.c: Fix typos.
47001 (grub_parse_type): New enum.
47002 (grub_ieee1275_get_devargs): New function.
47003 (grub_ieee1275_get_devname): Likewise.
47004 (grub_ieee1275_parse_args): Likewise.
47005 (grub_ieee1275_get_filename): Likewise.
47006 (grub_ieee1275_encode_devname): Likewise.
47007
be369920 470082005-03-30 Marco Gerards <metgerards@student.han.nl>
47009
47010 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
47011 `grub_loader_unset'.
47012
a5ce3a4a 470132005-03-26 Hollis Blanchard <hollis@penguinppc.org>
47014
47015 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
47016 instead of grub_ieee1275_interpret.
47017 (grub_halt_init): New function.
47018 (grub_halt_fini): Likewise.
47019 (GRUB_MOD_INIT): Correct message grammar.
47020 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
47021 instead of grub_ieee1275_interpret.
47022 (grub_reboot_init): New function.
47023 (grub_reboot_fini): Likewise.
47024 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
47025 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
47026 util/i386/pc/misc.c with commands/ieee1275/halt.c,
47027 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
47028 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
47029 function.
47030 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
47031 Add prototype.
47032 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
47033 prototype.
47034 (grub_halt): Likewise.
47035 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
47036 (cmain): Remove __attribute__((unused)).
47037 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
47038 (grub_heap_len): Likewise.
47039 (grub_machine_fini): New function.
47040 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
47041 (grub_halt): Likewise.
47042 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
47043 function.
47044 * util/powerpc/ieee1275/misc.c: New file.
47045
0058f771 470462005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47047
47048 * DISTLIST: New file.
47049 * gendistlist.sh: Likewise.
f19dbdb7 47050
0058f771 47051 * Makefile.in (COMMON_DISTFILES): Removed.
47052 (BOOT_DISTFILES): Likewise.
47053 (CONF_DISTFILES): Likewise.
47054 (DISK_DISTFILES): Likewise.
47055 (FS_DISTFILES): Likewise.
47056 (INCLUDE_DISTFILES): Likewise.
47057 (KERN_DISTFILES): Likewise.
47058 (LOADER_DISTFILES): Likewise.
47059 (TERM_DISTFILES): Likewise.
47060 (UTIL_DISTFILES): Likewise.
47061 (DISTFILES): Likewise.
47062 (uninstall): Uninstall files in $(pkgdata_DATA).
47063 (DISTLIST): New target.
47064 (distdir): Use the contents of the file DISTLIST to get a list of
47065 distributed files.
47066
46b3b8a5 470672005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47068
47069 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
47070 descriptor. This is ported from GRUB Legacy.
47071
47072 * gencmdlist.sh: Added an extra semicolon to make it work with
47073 old sed versions. Reported by Robert Bihlmeyer
47074 <robbe@orcus.priv.at>.
47075
5822ff87 470762005-03-08 Yoshinori Okuji <okuji@enbug.org>
47077
47078 Automatic loading of commands is supported.
f19dbdb7 47079
5822ff87 47080 * normal/main.c (read_command_list): New function.
47081 (grub_normal_execute): Call read_command_list.
47082
47083 * normal/command.c (grub_register_command): Return zero or CMD.
47084 Allocate CMD->NAME from the heap.
47085 Initialize CMD->MODULE_NAME to zero.
47086 Find the same name as well. If the same command is found and it is
47087 a dummy command, overwrite members. If it is not a dummy command,
47088 return zero.
47089 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
47090 (grub_command_find): If a dummy command is found, load a module
47091 and retry to find a command only once.
47092
47093 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
47094 make sure that each command is loaded.
47095
47096 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
47097 macro.
47098 (struct grub_command): Remove const from the member `name'.
47099 Add a new member `module_name'.
47100 (grub_register_command): Return grub_command_t.
47101
47102 * commands/help.c (grub_cmd_help): Call grub_command_find to make
47103 sure that each command is loaded.
47104
47105 * genmk.rb (PModule::rule): Specify a module name without the
47106 suffix ".mod" to gencmdlist.sh.
47107
7b1f4b57 471082005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47109
47110 * gencmdlist.sh: New file.
f19dbdb7 47111
7b1f4b57 47112 * genmk.rb (PModule::rule): Generate a rule for a command list.
47113 Clean command.lst.
47114 Generate command.lst from $(COMMANDFILES).
47115
47116 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
47117 (DATA): Added $(pkgdata_DATA).
47118 (install-local): Install files in $(pkgdata_DATA).
47119
062aaf39 471202005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47121
47122 * term/i386/pc/vga.c (debug_command): Removed.
47123 (GRUB_MOD_INIT): Do not register the command "debug".
47124
47125 From Hollis Blanchard:
47126 * commands/configfile.c: New file.
47127 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47128 commands/configfile.c.
47129 (pkgdata_MODULES): Added configfile.mod.
47130 (configfile_mod_SOURCES): New variable.
47131 (configfile_mod_CFLAGS): Likewise.
47132 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47133 commands/configfile.c.
47134 (pkgdata_MODULES): Added configfile.mod.
47135 (configfile_mod_SOURCES): New variable.
47136 (configfile_mod_CFLAGS): Likewise.
47137 * util/grub-emu.c (main): Call grub_configfile_init and
47138 grub_configfile_fini.
47139 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
47140 prototype.
47141 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 47142
cee01aa6 471432005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47144
47145 * normal/arg.c (grub_arg_show_help): Do not show the bug report
47146 address.
47147
47148 * commands/help.c (grub_cmd_help): Do not print newlines after
47149 the last command in print_command_help.
47150
93f3a1d8 471512005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47152
47153 * commands/default.h: New file.
47154 * commands/timeout.h: Likewise.
47155 * normal/context.c: Likewise.
f19dbdb7 47156
93f3a1d8 47157 * util/misc.c: Do not include sys/times.h.
47158 Include sys/time.h and grub/machine/time.h.
47159 (grub_get_rtc): Rewritten with gettimeofday.
47160
47161 * util/grub-emu.c (main): Call grub_default_init and
47162 grub_timeout_init before grub_normal_init, and call
47163 grub_timeout_fini and grub_default_fini after grub_main.
47164
47165 * util/console.c (grub_ncurses_checkkey): Return the read
47166 character or -1.
47167
47168 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
47169 timeouts.
47170
47171 * normal/main.c (read_config_file): Push MENU. If this fails,
47172 print an error and wait for a user input.
47173 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
47174 If a menu is empty or an error occurs, pop MENU.
47175 (grub_normal_execute): Pop and free MENU after grub_menu_run
47176 returns.
47177
47178 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
47179
47180 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
47181 include time.h.
47182 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47183 without GRUB_UTIL.
47184 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
47185 time.h.
47186 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47187 without GRUB_UTIL.
47188
47189 * include/grub/normal.h (struct grub_menu_list): New struct.
47190 (grub_menu_list_t): New type.
47191 (struct grub_context): New struct.
47192 (grub_context_t): New type.
47193 (grub_register_command): Got rid of EXPORT_FUNC.
47194 (grub_unregister_command): Likewise.
47195 (grub_context_get): New prototype.
47196 (grub_context_get_current_menu): Likewise.
47197 (grub_context_push_menu): Likewise.
47198 (grub_context_pop_menu): Likewise.
47199 [GRUB_UTIL] (grub_default_init): Likewise.
47200 [GRUB_UTIL] (grub_default_fini): Likewise.
47201 [GRUB_UTIL] (grub_timeout_init): Likewise.
47202 [GRUB_UTIL] (grub_timeout_fini): Likewise.
47203
47204 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
47205 commands/timeout.c and normal/context.c.
47206 (pkgdata_MODULES): Added default.mod and timeout.mod.
47207 (normal_mod_SOURCES): Added normal/context.c.
47208 (default_mod_SOURCES): New variable.
47209 (default_mod_CFLAGS): Likewise.
47210 (timeout_mod_SOURCES): Likewise.
47211 (timeout_mod_CFLAGS): Likewise.
47212 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
47213 conf/i386-pc.rmk.
47214 (pkgdata_MODULES): Added default.mod and timeout.mod.
47215 (normal_mod_SOURCES): Added normal/context.c.
47216 (default_mod_SOURCES): New variable.
47217 (default_mod_CFLAGS): Likewise.
47218 (timeout_mod_SOURCES): Likewise.
47219 (timeout_mod_CFLAGS): Likewise.
47220
47221 * Makefile.in (all-local): Added $(MKFILES).
47222
4ed2e1dd 472232005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
47224
47225 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
47226 (grub_emu_SOURCES): Likewise.
47227 (pkgdata_MODULES): Add `sun.mod'.
47228 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
47229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47230 `partmap/sun.c'.
47231 (pkgdata_MODULES): Add `sun.mod'.
47232 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
47233 * include/grub/partition.h (grub_sun_partition_map_init): New
47234 prototype.
47235 (grub_sun_partition_map_fini): Likewise.
47236 * partmap/sun.c: New file.
47237 * util/grub-emu.c (main): Initialize and de-initialize the sun
47238 partitionmap support.
47239
4d4e372e 472402005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
47241
47242 This implements an Emacs-like menu entry editor.
f19dbdb7 47243
4d4e372e 47244 * normal/menu_entry.c: New file.
f19dbdb7 47245
4d4e372e 47246 * util/console.c (grub_ncurses_putchar): Translate some Unicode
47247 characters to ASCII.
47248 (saved_char): New variable.
47249 (grub_ncurses_checkkey): Rewritten completely.
47250 (grub_ncurses_getkey): Likewise.
47251 (grub_ncurses_init): Call raw instead of cbreak.
47252
47253 * normal/menu.c (print_entry): Do not put a space.
47254 (init_page): Renamed to ...
47255 (grub_menu_init_page): ... this. All callers changed.
47256 (edit_menu_entry): Removed.
47257 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
47258
47259 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
47260
47261 * kern/misc.c (grub_vprintf): Call grub_refresh.
47262
47263 * normal/menu.c (DISP_LEFT): Renamed to ...
47264 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
47265 * normal/menu.c (DISP_UP): Renamed to ...
47266 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
47267 * normal/menu.c (DISP_RIGHT): Renamed to ...
47268 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
47269 * normal/menu.c (DISP_DOWN): Renamed to ...
47270 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
47271 * normal/menu.c (DISP_HLINE): Renamed to ...
47272 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
47273 * normal/menu.c (DISP_VLINE): Renamed to ...
47274 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
47275 * normal/menu.c (DISP_UL): Renamed to ...
47276 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
47277 * normal/menu.c (DISP_UR): Renamed to ...
47278 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
47279 * normal/menu.c (DISP_LL): Renamed to ...
47280 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
47281 * normal/menu.c (DISP_LR): Renamed to ...
47282 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
47283 * normal/menu.c (TERM_WIDTH): Renamed to ...
47284 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
47285 * normal/menu.c (TERM_HEIGHT): Renamed to ...
47286 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
47287 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
47288 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
47289 * normal/menu.c (TERM_MARGIN): Renamed to ...
47290 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
47291 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
47292 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
47293 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
47294 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
47295 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
47296 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
47297 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
47298 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
47299 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
47300 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
47301 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
47302 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
47303 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
47304 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
47305 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
47306 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
47307 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
47308 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
47309 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
47310 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
47311 All callers changed.
47312
47313 * include/grub/normal.h: New prototype.
47314
47315 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47316 normal/menu_entry.c.
47317 (normal_mod_SOURCES): Likewise.
47318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47319 (normal_mod_SOURCES): Likewise.
47320
e6b92c8a 473212005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
47322
47323 * include/grub/normal.h (grub_halt_init): New prototype.
47324 (grub_halt_fini): Likewise.
47325 (grub_reboot_init): Likewise.
47326 (grub_reboot_fini): Likewise.
47327
47328 * util/grub-emu.c: Include signal.h.
47329 (main_env): New global variable.
47330 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
47331 catch C-c.
47332 (grub_machine_fini): New function.
47333 (main): Call grub_halt_init and grub_reboot_init before
47334 grub_main, and grub_reboot_fini and grub_halt_fini after it.
47335 Call setjmp with MAIN_ENV to go back afterwards.
47336 Call grub_machine_fini right before return.
47337
47338 * include/grub/util/misc.h: Include setjmp.h.
47339 (main_env): New prototype.
47340
47341 * include/grub/kernel.h (grub_machine_fini): New prototype.
47342 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
47343 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
47344
47345 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
47346 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
47347 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 47348
e6b92c8a 47349 * util/i386/pc/misc.c: New file.
f19dbdb7 47350
e6b92c8a 47351 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47352 util/i386/pc/misc.c, commands/i386/pc/halt.c and
47353 commands/i386/pc/reboot.c.
47354
c642636f 473552005-02-14 Guillem Jover <guillem@hadrons.org>
47356
47357 * include/grub/dl.h (grub_dl_check_header): New prototype.
47358 (grub_arch_dl_check_header): Change return type to grub_err_t,
47359 remove size parameter and export function. Update all callers.
47360 * kern/dl.c (grub_dl_check_header): New function.
47361 (grub_dl_load_core): Use `grub_dl_check_header' instead of
47362 `grub_arch_dl_check_header'. Check ELF type. Check if sections
47363 are inside the core.
47364 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
47365 independent ELF header checks.
47366 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
47367 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
47368 `grub_dl_check_header' instead of explicit checks. Check for the
47369 ELF type.
47370 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
47371 `grub_dl_check_header' instead of explicit checks. Remove arch
47372 specific ELF header checks.
47373
e6b92c8a 47374 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
47375 argument SIZE.
47376
5eabe94b 473772005-02-13 Hollis Blanchard <hollis@penguinppc.org>
47378
47379 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
47380 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
47381
1b14a681 473822005-02-12 Hollis Blanchard <hollis@penguinppc.org>
47383
47384 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 47385 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 47386 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 47387 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 47388 * partmap/amiga.c (amiga_partition_map_iterate): Return
47389 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
47390 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47391
aca108aa 473922005-02-01 Guillem Jover <guillem@hadrons.org>
47393
47394 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
47395 help info.
47396
c9f9c556 473972005-01-31 Marco Gerards <metgerards@student.han.nl>
47398
47399 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
47400 Removed prototype.
47401 (grub_rescue_cmd_linux): New prototype.
47402 (grub_rescue_cmd_initrd): Likewise.
47403 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
47404 `bi_rec'.
47405 (grub_linux_release_mem): Release the memory for the initrd.
47406 (grub_load_linux): Renamed from this...
47407 (grub_rescue_cmd_linux): ...To this. Changed all callers.
47408 Changed `entry' not to be static. Loop over memory regions to
47409 find another one when the default fails.
47410 (grub_rescue_cmd_initrd): New function.
47411 (grub_linux_init): Remove function.
47412 (grub_linux_fini): Likewise.
47413 (GRUB_MOD_INIT): Register `initrd'.
47414 (GRUB_MOD_FINI): Unregister `initrd'.
47415 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
47416 Function removed.
47417 (grub_linux_normal_fini): Likewise.
47418 (GRUB_MOD_INIT): Register `initrd'.
47419 (GRUB_MOD_FINI): Unregister `initrd'.
47420
990cf3aa 474212005-01-31 Marco Gerards <metgerards@student.han.nl>
47422
47423 * commands/help.c: New file.
47424 * normal/arg.c (show_help): Renamed to...
47425 (grub_arg_show_help): ... this.
47426 * commands/i386/pc/halt.c: New file.
47427 * commands/i386/pc/reboot.c: Likewise.
47428 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
47429 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
47430 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
47431 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
47432 variables.
47433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47434 `commands/help.c'.
47435 (pkgdata_MODULES): Add `help.mod'.
47436 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
47437 * grub/i386/pc/init.h (grub_reboot): New prototype.
47438 (grub_halt): Likewise.
47439 * include/grub/normal.h (grub_arg_show_help): New prototype.
47440 (grub_help_init): Likewise.
47441 (grub_help_fini): Likewise.
47442 * util/grub-emu.c (main): Initialize and deinitialize the help
47443 command.
47444
47445 * normal/cmdline.c (grub_cmdline_get): Doc fix.
47446
47447 * normal/command.c (grub_command_init): Fixed the description of
47448 the `set' and `unset' commands.
47449
474502005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 47451
47452 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
47453 function.
47454 * commands/ieee1275/halt.c: New file.
47455 * commands/ieee1275/reboot.c: Likewise.
47456 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
47457 `__attribute__ ((unused))'. Some GCS related fixed.
47458 (grub_suspend_init) [GRUB_UTIL]: Function removed.
47459 (grub_suspend_fini): Likewise.
47460 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
47461 and `halt.mod'.
47462 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
47463 (halt_mod_CFLAGS): New variables.
47464 * include/grub/powerpc/ieee1275/ieee1275.h
47465 (grub_ieee1275_interpret): New prototype.
47466
1ab09cc7 474672005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
47468
47469 * include/grub/misc.h (memmove): New prototype.
47470 (memcpy): Likewise.
47471
8b8cbdb2 474722005-01-22 Hollis Blanchard <hollis@penguinppc.org>
47473
47474 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
47475 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
47476
e3741a27 474772005-01-22 Marco Gerards <metgerards@student.han.nl>
47478
47479 * kern/misc.c (grub_strndup): Function rewritten.
47480
776bd780 474812005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
47482
47483 * normal/menu.c (TERM_WIDTH): Macro redefined.
47484 (TERM_TOP_BORDER_Y): Likewise.
47485 (draw_border): Replaced while-loop by a for-loop. Make the number
47486 of lines consistent with the number of lines displayed in
47487 print_entries. Added a margin below the rectangle.
47488 (print_entry): Make the entry fit in the rectangle.
47489 (print_entries): Display the scroll arrows next to the right
47490 border.
47491
78026bce 474922005-01-21 Marco Gerards <metgerards@student.han.nl>
47493
47494 * fs/minix.c (grub_minix_find_file): Reserve more space for
47495 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
47496 `grub_strncpy' to copy `path' into it.
47497
67bbaf0f 474982005-01-21 Marco Gerards <metgerards@student.han.nl>
47499
47500 Add the loopback device, a device via which files can be accessed
47501 as devices.
f19dbdb7 47502
67bbaf0f 47503 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
47504 (pkgdata_MODULES): Add loopback.mod.
47505 (loopback_mod_SOURCES): New variable.
47506 (loopback_mod_CFLAGS): Likewise.
47507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47508 `disk/loopback.c'.
47509 (pkgdata_MODULES): Add loopback.mod.
47510 (loopback_mod_SOURCES): New variable.
47511 (loopback_mod_CFLAGS): Likewise.
47512 * disk/loopback.c: new file.
47513 * include/grub/normal.h (grub_loop_init): New prototype.
47514 (grub_loop_fini): New prototype.
47515 * util/grub-emu.c (main): Initialize and de-initialize loopback
47516 support.
47517 * include/grub/disk.h (grub_disk_dev_id): Add
47518 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
47519
6f1c18bd 475202005-01-20 Hollis Blanchard <hollis@penguinppc.org>
47521
47522 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
47523 function.
47524 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
47525 (suspend_mod_SOURCES): New variable.
47526 (suspend_mod_CFLAGS): Likewise.
47527 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
47528 New prototype.
47529 * commands/ieee1275/suspend.c: New file.
47530
b38551da 475312005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47532
47533 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 47534 ((unused))' to `__attribute__ ((used))'.
b38551da 47535 (GRUB_MOD_FINI): Likewise.
47536 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
47537 * genmk.rb (PModule): Assign space to common symbols when linking
47538 modules.
47539
777aff39 475402005-01-20 Marco Gerards <metgerards@student.han.nl>
47541
47542 * include/grub/mm.h (grub_mm_init_region): Change the type of the
47543 `unsigned' arguments to `grub_size_t'.
47544 (grub_malloc): Likewise.
47545 (grub_realloc): Likewise.
47546 (grub_memalign): Likewise.
47547 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
47548 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
47549 * util/misc.c (grub_malloc): Likewise.
47550 (grub_realloc): Likewise.
47551 * kern/mm.c (get_header_from_pointer): Change the casts to
47552 `unsigned' into a cast to `grub_size_t'.
47553
47554 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
47555 point to `currnode' when `currnode' is changed.
47556
47557 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
47558 Schottelius <nico-linux@schottelius.org>.
47559
d0ff18e1 475602005-01-09 Hollis Blanchard <hollis@penguinppc.org>
47561
47562 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
47563 (note_path): Remove variable.
47564 (GRUB_IEEE1275_NOTE_NAME): New macro.
47565 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
47566 (grub_ieee1275_note_hdr): New structure.
47567 (grub_ieee1275_note_desc): Likewise.
47568 (grub_ieee1275_note): Likewise.
47569 (load_note): Remove `dir' argument. All callers updated. Remove
47570 `note_img' and `path'. Do not load a file from `note_path'.
47571 Initialize a struct grub_ieee1275_note and write that to `out'.
47572 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
47573
4ca7004c 475742005-01-05 Marco Gerards <metgerards@student.han.nl>
47575
47576 * util/misc.c (grub_util_read_image): Revert last change. It
47577 called `grub_util_read_at', which seeks from the beginning of the
47578 file.
47579
0b412211 475802005-01-04 Hollis Blanchard <hollis@penguinppc.org>
47581
47582 * TODO: Add note about endianness in grub-mkimage.
47583 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
47584 section.
47585 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
47586 (grub_mkimage_SOURCES): New target.
47587 * include/grub/kernel.h (grub_start_addr): Remove variable.
47588 (grub_end_addr): Likewise.
47589 (grub_total_module_size): Likewise.
47590 (grub_kernel_image_size): Likewise.
47591 (GRUB_MODULE_MAGIC): New constant.
47592 (grub_module_info): New structure.
47593 (grub_arch_modules_addr): New prototype.
47594 (grub_get_end_addr): Remove prototype.
47595 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
47596 * include/grub/powerpc/ieee1275/kernel.h: New file.
47597 * include/grub/util/misc.h (grub_util_get_fp_size): New
47598 prototype.
47599 (grub_util_read_at): Likewise.
47600 (grub_util_write_image_at): Likewise.
47601 * kern/main.c (grub_get_end_addr): Remove function.
47602 (grub_load_modules): Call grub_arch_modules_addr instead of using
47603 grub_end_addr. Look for a grub_module_info struct in memory. Use
47604 the grub_module_info fields instead of calling grub_get_end_addr
47605 as loop conditions. Move grub_add_unused_region code here.
47606 (grub_add_unused_region): Remove function.
47607 * kern/i386/pc/init.c: Include grub/cache.h.
47608 (grub_machine_init): Remove call to grub_get_end_addr. Remove
47609 one call to add_mem_region.
47610 (grub_arch_modules_addr): New function.
47611 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
47612 (grub_total_module_size): Likewise.
47613 Include grub/machine/kernel.h.
47614 (grub_arch_modules_addr): New function.
47615 * util/grub-emu.c (grub_end_addr): Remove variable.
47616 (grub_total_module_size): Likewise.
47617 (grub_arch_modules_addr): New function.
47618 * util/misc.c: Include unistd.h.
47619 (grub_util_get_fp_size): New function.
47620 (grub_util_read_at): Likewise.
47621 (grub_util_write_image_at): Likewise.
47622 (grub_util_read_image): Call grub_util_read_at.
47623 (grub_util_write_image): Call grub_util_write_image_at.
47624 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
47625 additional memory in kernel_img for a struct grub_module_info.
47626 Fill in that grub_module_info.
47627 * util/powerpc/ieee1275/grub-mkimage.c: New file.
47628
458786f8 476292005-01-03 Hollis Blanchard <hollis@penguinppc.org>
47630
47631 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
47632 New function.
47633 * include/grub/powerpc/ieee1275/ieee1275.h
47634 (grub_ieee1275_milliseconds): New prototype.
47635 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
47636 Change to 1000.
47637 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
47638 grub_ieee1275_milliseconds.
47639
ac507d1b 476402005-01-03 Hollis Blanchard <hollis@penguinppc.org>
47641
47642 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
47643 variable.
47644 (find_options): New function.
47645 (cmain): Call find_options.
47646 * include/grub/powerpc/ieee1275/ieee1275.h
47647 (grub_ieee1275_realmode): New extern variable.
47648 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
47649 grub_map if grub_ieee1275_realmode is false.
47650
6b8fd1c4 476512004-12-29 Marco Gerards <metgerards@student.han.nl>
47652
47653 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
47654 lines are inserted and make it work like readline. Reported by
47655 Vincent Pelletier <subdino2004@yahoo.fr>.
47656
8514a1e0 476572004-12-28 Marco Gerards <metgerards@student.han.nl>
47658
47659 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
47660
47661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
47662 `kern/powerpc/cache.S'.
47663
924b6140 476642004-12-27 Marco Gerards <metgerards@student.han.nl>
47665
47666 * genmk.rb: Handle the `Program' class in the main loop. Written
47667 by Johan Rydberg <jrydberg@gnu.org>.
47668 (Program): New class.
47669 (programs): New variable.
47670 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
47671 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
47672 instead of "grub/kernel.h". Include <grub/machine/init.h>.
47673 (help_arch): Function removed.
47674 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
47675 `powerpc/libgcc.h' and `loader.h'.
47676 (pkgdata_PROGRAMS): New variable.
47677 (sbin_UTILITIES): Variable removed.
47678 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
47679 (grubof_SOURCES): Variable re-defined so it only includes the
47680 core functionality.
47681 (grubof_CFLAGS): Remove `-DGRUBOF'.
47682 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
47683 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
47684 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
47685 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
47686 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
47687 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
47688 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
47689 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
47690 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
47691 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
47692 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47693 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
47694 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
47695 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
47696 (pc_mod_CFLAGS): New variables.
47697 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
47698 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
47699 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
47700 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
47701 Moved from here...
47702 * include/grub/i386/pc/init.h (grub_os_area_addr)
47703 (rub_os_area_size): ... to here.
47704 * include/grub/powerpc/ieee1275/ieee1275.h
47705 (grub_ieee1275_entry_fn): Export symbol.
47706 * include/grub/powerpc/ieee1275/init.h: New file.
47707 * include/grub/powerpc/libgcc.h: Likewise.
47708 * include/grub/cache.h: Likewise.
47709 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
47710 <hollis@penguinppc.org>.
47711 * kern/dl.c: Include <grub/cache.h>.
47712 (grub_dl_flush_cache): New function.
47713 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
47714 for this module.
47715 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
47716 (grub_console_init): Removed prototypes.
47717 (grub_machine_init): Don't initialize the modules anymore.
47718 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
47719 static.
47720 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
47721 Macro undef removed.
47722 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
47723 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
47724 relocation `R_PPC_REL32'. Return an error when the relocation is
47725 unknown.
47726 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
47727 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
47728 * util/misc.c (grub_arch_sync_caches): Likewise.
47729
e4b47e0c 477302004-12-19 Marco Gerards <metgerards@student.han.nl>
47731
47732 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
47733 `symlist.c', add `grubof_symlist.c'.
47734 (symlist.c): Variable removed.
47735 (grubof_HEADERS): Variable added.
47736 (grubof_symlist.c): New target.
47737 (kernel_syms.lst): Use `grubof_HEADERS' instead of
47738 `kernel_img_HEADERS'.
47739 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
47740 * kern/powerpc/dl.c: New file.
47741 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
47742 Function removed.
47743 (grub_arch_dl_relocate_symbols): Likewise.
47744 (grub_register_exported_symbols): Likewise.
47745
4ceb3636 477462004-12-13 Marco Gerards <metgerards@student.han.nl>
47747
47748 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
47749 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
47750 to fail instead. Reported by Vincent Pelletier
47751 <subdino2004@yahoo.fr>.
47752
47753 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
47754 it is not allocated. Reported by Vincent Pelletier
47755 <subdino2004@yahoo.fr>.
47756
47757 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
47758 output so the output looks better.
f19dbdb7 47759
3f1578fe 477602004-12-04 Marco Gerards <metgerards@student.han.nl>
47761
47762 Modulize the partition map support and add support for the amiga
47763 partition map.
f19dbdb7 47764
3f1578fe 47765 * commands/ls.c: Include <grub/partition.h> instead of
47766 <grub/machine/partition.h>.
47767 * kern/disk.c: Likewise.
47768 * kern/rescue.c: Likewise.
47769 * loader/i386/pc/chainloader.c: Likewise.
47770 * normal/cmdline.c: Likewise.
47771 * kern/powerpc/ieee1275/init.c: Likewise.
47772 (grub_machine_init): Call `grub_pc_partition_map_init',
47773 `grub_amiga_partition_map_init' and
47774 `grub_apple_partition_map_init'.
47775 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
47776 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
47777 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
47778 `partition.h' and `pc_partition.h'.
47779 (grub_setup_SOURCES): Remove
47780 `disk/i386/pc/partition.c'. Add `kern/partition.c',
47781 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
47782 (grub_emu_SOURCES): Likewise.
47783 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
47784 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
47785 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
47786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
47787 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
47788 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
47789 (grubof_SOURCES): Likewise.
47790 * disk/i386/pc/partition.c: File removed.
47791 * disk/powerpc/ieee1275/partition.c: Likewise.
47792 * include/grub/powerpc/ieee1275/partition.h: Likewise.
47793 * include/grub/i386/pc/partition.h: Likewise.
47794 * kern/partition.c: New file.
47795 * partmap/amiga.c: Likewise.
47796 * partmap/apple.c: Likewise.
47797 * partmap/pc.c: Likewise.
47798 * include/grub/partition.h: Likewise..
47799 * include/grub/pc_partition.h: Likewise.
47800 * util/grub-emu.c: Include <grub/partition.h> instead of
47801 <grub/machine/partition.h>.
47802 (main): Call `grub_pc_partition_map_init',
47803 `grub_amiga_partition_map_init' and
47804 `grub_apple_partition_map_init' and deinitialize afterwards.
47805 * util/i386/pc/biosdisk.c: Include `#include
47806 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
47807 `<grub/machine/partition.h>'.
47808 * util/i386/pc/grub-setup.c: Likewise.
47809 * util/i386/pc/biosdisk.c: Likewise.
47810 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
47811 partition information in case of a PC partition.
47812 * util/i386/pc/grub-setup.c: Include `#include
47813 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
47814 `<grub/machine/partition.h>'.
47815 (setup): Only access the PC specific partition information in case
47816 of a PC partition.
47817
0ef4ced9 478182004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47819
0ef4ced9 47820 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
47821 (grub_longjmp): Likewise.
47822 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
47823 20.
47824 * normal/powerpc/setjmp.S: New file.
47825 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
47826 `normal/powerpc/setjmp.S'.
47827 (grubof_CFLAGS): Add `-DGRUBOF'.
47828 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
47829 [GRUB_UTIL && !GRUBOF].
f19dbdb7 47830
19950e29 478312004-11-16 Marco Gerards <metgerards@student.han.nl>
47832
47833 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
47834 property named `name'. Correctly handle the error returned by
47835 `grub_ieee1275_finddevice' if a device can not be opened.
47836
a2fea427 478372004-11-02 Hollis Blanchard <hollis@penguinppc.org>
47838
47839 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
47840 `actual' for negativity.
47841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
47842 kern/fshelp.c.
47843
41ea0ea3 478442004-11-01 Marco Gerards <metgerards@student.han.nl>
47845
47846 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
47847 (PAGE_OFFSET): New macro.
47848 (CRTC_ADDR_PORT): Likewise.
47849 (CRTC_DATA_PORT): Likewise.
47850 (START_ADDR_HIGH_REGISTER): Likewise.
47851 (START_ADDR_LOW_REGISTER): Likewise.
47852 (GRAPHICS_ADDR_PORT): Likewise.
47853 (GRAPHICS_DATA_PORT): Likewise.
47854 (READ_MAP_REGISTER): Likewise.
47855 (INPUT_STATUS1_REGISTER): Likewise.
47856 (INPUT_STATUS1_VERTR_BIT): Likewise.
47857 (page): New variable.
47858 (wait_vretrace): New function.
47859 (set_read_map): Likewise.
47860 (set_start_address): Likewise.
47861 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
47862 the right page.
47863 (check_vga_mem): Take the page into account.
47864 (write_char): Likewise.
47865 (write_cursor): Likewise.
47866 (scroll_up): Likewise. Copy the page to the page that is not
47867 shown and switch between both pages.
47868 (grub_vga_putchar): Fix off by one error.
47869 (grub_vga_cls): Wait for the vertical retrace. Take the page into
47870 account.
47871
ad0bd20b 478722004-11-01 Marco Gerards <metgerards@student.han.nl>
47873
47874 Add support for iso9660 (including rockridge).
f19dbdb7 47875
ad0bd20b 47876 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47877 (iso9660_mod_SOURCES): New variable.
47878 (iso9660_mod_CFLAGS): Likewise.
47879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47880 * include/grub/fs.h (grub_iso9660_init): New prototype.
47881 * util/grub-emu.c (main): Call `grub_iso9660_init'.
47882 * fs/iso9660.c: New file.
47883
47884 * include/grub/misc.h (grub_strncat): New prototype.
47885 * kern/misc.c (grub_strncat): New function.
f19dbdb7 47886
ad0bd20b 47887 * fs/hfs.c (grub_hfs_mount): Translate the error
47888 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
47889 * fs/jfs.c (grub_jfs_mount): Likewise.
47890 * fs/ufs.c (grub_ufs_mount): Likewise.
47891
a5477a59 478922004-10-28 Hollis Blanchard <hollis@penguinppc.org>
47893
47894 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
47895 which initialized BAT registers.
47896 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
47897 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
47898 Move from here...
47899 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
47900 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
47901 ... to here.
47902 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
47903 (grub_mapclaim): Likewise.
47904 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
47905 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
47906 hand.
47907
9304c1f8 479082004-10-19 Hollis Blanchard <hollis@penguinppc.org>
47909
47910 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
47911 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
47912 -ffreestanding and -msoft-float.
47913
86f4ae25 479142004-10-15 Hollis Blanchard <hollis@penguinppc.org>
47915
47916 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
47917 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
47918 set in grub_ieee1275_flags.
47919
38912228 479202004-10-14 Hollis Blanchard <hollis@penguinppc.org>
47921
47922 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
47923 prototype.
47924 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
47925 grub_console_init first.
47926 Change the memory range used for grub_ieee1275_claim and
47927 grub_mm_init_region.
47928 Print an error message if the claim fails.
47929 Include <grub/misc.h>.
47930
d1923dc8 479312004-10-13 Hollis Blanchard <hollis@penguinppc.org>
47932
47933 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
47934 Call grub_children_iterate for device nodes of type `scsi',
47935 `ide', or `ata'.
47936 (grub_ofdisk_open): Remove manual device alias resolution.
47937 Fix memory leak when device cannot be opened.
f19dbdb7 47938 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 47939 (grub_children_iterate): New prototype.
47940 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
47941 New function.
47942 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47943 Return -1 if args.size was -1.
47944
4512e4f3 479452004-10-11 Hollis Blanchard <hollis@penguinppc.org>
47946
47947 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
47948 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
47949 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
47950 Open Firmware's memory for it; claim memory from _start to _end.
47951 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
47952 (_end): New extern.
47953 (_start): Zero BSS from __bss_start to _end.
47954 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47955 New extern.
47956 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
47957
4d61feb0 479582004-10-11 Hollis Blanchard <hollis@penguinppc.org>
47959
ad0bd20b 47960 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
47961 -1 if args.base was -1.
4d61feb0 47962
026fa2f9 479632004-10-08 Hollis Blanchard <hollis@penguinppc.org>
47964
47965 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
47966 escape sequence instead of a literal ^L. Also call
47967 grub_ofconsole_gotoxy.
47968
9f2220ef 479692004-10-03 Hollis Blanchard <hollis@penguinppc.org>
47970
47971 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
47972 void * arguments to grub_addr_t. All callers updated. Also make
47973 the `result' argument optional.
47974 (grub_ieee1275_release): change void * arguments to grub_addr_t.
47975 All callers updated.
47976
8a572cd7 479772004-09-22 Hollis Blanchard <hollis@penguinppc.org>
47978
47979 * commands/ls.c (grub_ls_list_files): Use the string following the
47980 initial ')', if present, as the filesystem path.
47981 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
47982
47983 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
47984
18aa81f2 479852004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
47986
47987 Make the source code of the menu interface more readable.
f19dbdb7 47988
18aa81f2 47989 * normal/menu.c: Include grub/mm.h.
47990 (TERM_WIDTH): New macro.
47991 (TERM_HEIGHT): Likewise.
47992 (TERM_INFO_HEIGHT): Likewise.
47993 (TERM_MARGIN): Likewise.
47994 (TERM_SCROLL_WIDTH): Likewise.
47995 (TERM_TOP_BORDER_Y): Likewise.
47996 (TERM_LEFT_BORDER_X): Likewise.
47997 (TERM_BORDER_WIDTH): Likewise.
47998 (TERM_MESSAGE_HEIGHT): Likewise.
47999 (TERM_BORDER_HEIGHT): Likewise.
48000 (TERM_NUM_ENTRIES): Likewise.
48001 (TERM_FIRST_ENTRY_Y): Likewise.
48002 (TERM_ENTRY_WIDTH): Likewise.
48003 (TERM_CURSOR_X): Likewise.
48004 (draw_border): Use macros instead of magic numbers.
48005 (print_entry): Likewise.
48006 (print_entries): Likewise.
48007 (run_menu): Likewise. Also, handle the key 'e'.
48008 (run_menu_entry): Ignore empty command lines.
48009 (print_message): Added a new argument EDIT. If EDIT is true,
48010 print a different message.
48011 (init_page): Likewise.
48012 (edit_menu_entry): New function. Not implemented yet.
48013
b47efe30 480142004-09-17 Marco Gerards <metgerards@student.han.nl>
48015
48016 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
48017 can be loaded from normal mode.
f19dbdb7 48018
b47efe30 48019 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
48020 `multiboot.mod'.
48021 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
48022 (multiboot_mod_CFLAGS): New variables.
48023 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 48024 * loader/i386/pc/multiboot_normal.c: Likewise.
48025
b47efe30 48026 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
48027 attribute `unused'.
f19dbdb7 48028
b47efe30 48029 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
48030 `fdiro' to read the mode information from instead of `diro'.
48031
48032 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
48033 looking up a symlink.
48034
48035 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
48036 macro.
48037 * normal/command.c (grub_command_execute): Don't parse the
48038 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
48039 flags of the command.
48040
48041 * normal/menu.c (grub_menu_run): Fix typo.
48042
da75ac71 480432004-09-14 Hollis Blanchard <hollis@penguinppc.org>
48044
48045 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
48046
48047 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
48048 `y + 1' instead of `y - 1'.
48049
48050 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 48051
062b24c2 480522004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
48053
48054 From Hollis Blanchard <hollis@penguinppc.org>:
48055 * kern/misc.c (memmove): New alias for grub_memmove.
48056 (memcmp): New alias for grub_memcmp.
48057 (memset): New alias for grub_memset.
f19dbdb7 48058 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 48059 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 48060 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 48061 (grub_ieee1275_get_property): Likewise.
f19dbdb7 48062
8ddad845 480632004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
48064
48065 Added normal mode command `chainloader' as module chain.mod, which
48066 depends on normal.mod and _chain.mod.
f19dbdb7 48067
8ddad845 48068 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
48069 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
48070 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
48071 Deleted prototype.
48072 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
48073 but arguments parsing moved to ...
48074 (grub_chainloader_cmd): ... here. New function.
48075 * include/grub/i386/pc/chainloader.h: New file.
48076 * loader/i386/pc/chainloader_normal.c: Likewise.
48077
2c1f4ce3 480782004-09-11 Marco Gerards <metgerards@student.han.nl>
48079
48080 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
48081 (grub_mkimage_LDFLAGS): Likewise.
48082 (grub_emu_SOURCES): Likewise.
48083 (kernel_img_HEADERS): Added fshelp.h.
48084 * fs/ext2.c: Include <grub/fshelp.h>.
48085 (FILETYPE_REG): New macro.
48086 (FILETYPE_INO_REG): Likewise.
48087 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
48088 Changed all users.
48089 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
48090 all users.
48091 (grub_fshelp_node): New struct.
48092 (grub_ext2_data): Added member `diropen'. Changed member `inode'
48093 to a pointer.
48094 (grub_ext2_get_file_block): Removed function.
48095 (grub_ext2_read_block): New function.
48096 (grub_ext2_read_file): Replaced parameter `data' by `node'.
48097 This function was written.
48098 (grub_ext2_mount): Read the root inode. Create a diropen struct.
48099 (grub_ext2_find_file): Removed function.
48100 (grub_ext2_read_symlink): New function.
48101 (grub_ext2_iterate_dir): Likewise.
48102 (grub_ext2_open): Rewritten.
48103 (grub_ext2_dir): Rewritten.
48104 * include/grub/fshelp.h: New file.
48105 * fs/fshelp.c: Likewise.
48106
3c52136a 481072004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
48108
48109 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
48110 (print_message): Add a missing newline.
48111 (run_menu): Added timeout support.
48112 (run_menu_entry): New local function.
48113 (grub_menu_run): Added support for booting.
48114
48115 * kern/loader.c (grub_loader_is_loaded): New function.
48116
48117 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
48118 (grub_get_rtc): Exported.
48119
48120 * include/grub/i386/pc/time.h: Include grub/symbol.h.
48121 (grub_get_rtc): Exported.
48122
48123 * include/grub/normal.h (struct grub_command_list): Remove
48124 constant from the member `command'.
48125
48126 * include/grub/loader.h (grub_loader_is_loaded): Declared.
48127
48128 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
48129
48130 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
48131
aa033560 481322004-08-28 Marco Gerards <metgerards@student.han.nl>
48133
48134 Add support for the JFS filesystem.
48135
48136 * fs/jfs.c: New file.
48137 * include/grub/fs.h (grub_jfs_init): New prototype.
48138 (grub_jfs_fini): New prototype.
48139 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
48140 (grub_emu_SOURCES): Likewise.
48141 (pkgdata_MODULES): Add jfs.mod.
48142 (jfs_mod_SOURCES): New variable.
48143 (jfs_mod_CFLAGS): Likewise.
48144 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
48145 (grubof_SOURCES): Likewise.
48146 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
48147
48148 * fs/fat.c (grub_fat_find_dir): Convert the filename little
48149 endian to the host endian.
48150 (grub_fat_utf16_to_utf8): Move function from there...
48151 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 48152 the endianness of the source string anymore.
aa033560 48153 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
48154
94bc45af 481552004-08-24 Marco Gerards <metgerards@student.han.nl>
48156
48157 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
48158 (grub_boot_fini) [GRUB_UTIL]: Likewise.
48159 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
48160 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 48161
94bc45af 48162 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
48163 (grub_hfs_iterate_dir): Make the function static. Add prototypes
48164 for `node_found' and `it_dir'.
48165 (grub_hfs_dir): Add prototype for `dir_hook'.
48166
48167 * fs/minix.c (grub_minix_get_file_block): Add prototype for
48168 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
48169 and `indir32' to silence a gcc warning.
48170
48171 * include/grub/fs.h (grub_hfs_init): New prototype.
48172 (grub_hfs_fini): Likewise.
f19dbdb7 48173
48174
97543f08 481752004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48176
48177 Each disk device has its own id now. This is useful to make use
48178 of multiple disk devices.
f19dbdb7 48179
97543f08 48180 * include/grub/disk.h (grub_disk_dev_id): New enum.
48181 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
48182 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
48183
48184 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
48185 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48186
48187 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
48188 GRUB_DISK_DEVICE_OFDISK_ID as an id.
48189
48190 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
48191 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48192
48193 * include/grub/disk.h (struct grub_disk_dev): Added a new member
48194 "id" which is used by the cache manager.
48195
48196 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
48197 of just "GRUB".
48198
64372eb4 481992004-08-18 Marco Gerards <metgerards@student.han.nl>
48200
48201 * fs/hfs.c: New file.
48202 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
48203 (grub_emu_SOURCES): Likewise.
48204 (pkgdata_MODULES): Add hfs.mod.
48205 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
48206 (grubof_SOURCES): Likewise.
48207 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
48208
48209 * include/grub/misc.h (grub_strncasecmp): Add prototype.
48210 * kern/misc.c (grub_strncasecmp): Add function.
48211
cc61b58f 482122004-08-14 Marco Gerards <metgerards@student.han.nl>
48213
48214 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
48215 with parentheses.
48216
48217 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
48218 (grub_ext2_dir): In case the directory entry type is unknown, read
48219 it from the inode.
48220
0ef123f6 482212004-08-02 Peter Bruin <pjbruin@dds.nl>
48222
48223 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
48224 grub_load_linux instead of grub_rescue_cmd_linux as second
48225 argument of grub_rescue_register_command.
48226
48227 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
48228
a447c5df 482292004-07-27 Marco Gerards <metgerards@student.han.nl>
48230
48231 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
48232 function.
48233 * commands/boot.c: Remove the check for `GRUB_UTIL'.
48234 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48235 `loader/powerpc/ieee1275/linux.c',
48236 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
48237 * include/grub/powerpc/ieee1275/ieee1275.h
48238 (grub_ieee1275_release): New prototype.
48239 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
48240 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
48241 normal, boot, linux and linux_normal.
48242 * loader/powerpc/ieee1275/linux.c: New file.
48243 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
48244
5a9e3546 482452004-07-12 Marco Gerards <metgerards@student.han.nl>
48246
48247 * normal/arg.c (grub_arg_parse): Correct error handling after
48248 reallocating the argumentlist (check if `argl' is not null instead
48249 of checking if `args' is not null).
48250 * kern/mm.c (grub_realloc): Return the same pointer when using the
48251 same region, instead of returning the header address.
48252
e15199cb 482532004-07-11 Marco Gerards <metgerards@student.han.nl>
48254
48255 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
48256 one block instead of two when looking for the initial partition.
48257 (grub_partition_probe): Initialize the local variable `p' with 0.
48258 Use base 10 for the grub_strtoul call.
48259 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
48260 need for one local variable.
48261 (grub_strtoul): Don't add the new value to `num', instead of that
48262 just assign it.
48263
020616c2 482642004-07-11 Marco Gerards <metgerards@student.han.nl>
48265
48266 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
48267 (pxeboot_img_SOURCES): New variable.
48268 (pxeboot_img_ASFLAGS): Likewise.
48269 (pxeboot_img_LDFLAGS): Likewise.
48270 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
48271 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
48272 <lode_leroy@hotmail.com>.
48273
6c51eb64 482742004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48275
48276 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
48277 there was no input.
48278
cfb12aff 482792004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48280
48281 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
48282 the history buffer logic.
48283
6eabba74 482842004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48285
48286 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
48287 (FILETYPE_INO_SYMLINK): New macros.
48288 (grub_ext2_find_file): Check if the node is a directory using the
48289 inode stat information instead of using the filetype in the
48290 dirent. Exclude the first character of an absolute symlink.
48291 (grub_ext2_dir): Mask out the filetype part of the mode member of
48292 the inode.
48293
66e19ef8 482942004-05-24 Marco Gerards <metgerards@student.han.nl>
48295
48296 Add support for UFS version 1 and 2. Add support for the minix
48297 filesystem version 1 and 2, both the variants with 14 and 30 long
48298 filenames.
f19dbdb7 48299
66e19ef8 48300 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
48301 fs/minix.c.
48302 (grub_emu_SOURCES): Likewise.
48303 (pkgdata_MODULES): Add ufs.mod and minix.mod.
48304 (ufs_mod_SOURCES): New variable.
48305 (ufs_mod_CFLAGS): Likewise.
48306 (minix_mod_SOURCES): Likewise.
48307 (minix_mod_CFLAGS): Likewise.
48308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
48309 fs/minix.c.
48310 (grubof_SOURCES): Likewise.
48311 * fs/ufs.c: New file.
48312 * fs/minix.c: New file.
48313 * include/grub/fs.h (grub_ufs_init): New prototype.
48314 (grub_ufs_fini): Likewise.
48315 (grub_minix_init): Likewise.
48316 (grub_minix_fini): Likewise.
48317 * util/grub-emu.c (main): Initialize and deinitialize UFS and
48318 minix fs.
48319
cc2e748a 483202004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
48321
48322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
48323 commands/ls.c, commands/terminal.c, commands/boot.c,
48324 commands/cmp.c and commands/cat.c.
48325 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
48326
48327 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
48328 "env.h"
48329
4b13b216 483302004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
48331
48332 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
48333 and grub_, respectively. Because the conversion is trivial and
48334 mechanical, I omit the details here. Please refer to the CVS
48335 if you need more information.
48336
6a142551 483372004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
48338
48339 * include/pupa: Renamed to ...
48340 * include/grub: ... this.
48341 * util/i386/pc/pupa-mkimage.c: Renamed to ...
48342 * util/i386/pc/grub-mkimage.c: ... this.
48343 * util/i386/pc/pupa-setup.c: Renamed to ...
48344 * util/i386/pc/grub-setup.c: ... this.
48345 * util/pupa-emu.c: Renamed to ...
48346 * util/grub-emu.c: ... this.
48347
e56cdf21 483482004-03-29 Marco Gerards <metgerards@student.han.nl>
48349
48350 Add support for the newworld apple macintosh (PPC). This has been
48351 tested on the powerbook 2000 only. It only adds support for
48352 generic ieee1275 functions, console and disk support. This should
48353 be easy to port to other architectures with support for Open
48354 Firmware.
f19dbdb7 48355
e56cdf21 48356 * configure.ac: Accept the powerpc as host_cpu. In the case of
48357 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
48358 specific tests are only executed while building for the i386.
48359 Inverse test for crosscompile.
48360 * genmk.rb (Utility): Allow assembler files.
48361 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
48362 * conf/powerpc-ieee1275.rmk: New file.
48363 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
48364 * disk/powerpc/ieee1275/partition.c: Likewise.
48365 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
48366 * include/pupa/powerpc/ieee1275/console.h: Likewise.
48367 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
48368 * include/pupa/powerpc/ieee1275/time.h: Likewise.
48369 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
48370 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
48371 * include/pupa/powerpc/ieee1275/loader.h
48372 * include/pupa/powerpc/setjmp.h: Likewise.
48373 * include/pupa/powerpc/types.h: Likewise.
48374 * kern/powerpc/ieee1275/init.c: Likewise.
48375 * kern/powerpc/ieee1275/openfw.c: Likewise.
48376 * term/powerpc/ieee1275/ofconsole.c: Likewise.
48377
48378 These files were written by Johan Rydberg
48379 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 48380
e56cdf21 48381 * boot/powerpc/ieee1275/cmain.c: New file.
48382 * boot/powerpc/ieee1275/crt0.S: Likewise.
48383 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
48384 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
48385
8c8cc205 483862004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
48387
48388 * Makefile.in: Update copyright.
48389 * genmodsrc.sh: Likewise.
48390 * gensymlist.sh: Likewise.
48391 * term/i386/pc/vga.c: Indent correctly.
48392
48393 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
48394 bugreporting address.
48395 * util/i386/pc/pupa-setup.c (usage): Likewise,
48396 (main): Call pupa_ext2_init and pupa_ext2_fini.
48397
f19dbdb7 48398 * fs/fat.c (log2): Renamed to ...
8c8cc205 48399 (fat_log2): ... this.
48400 All callers changed.
48401 * kern/misc.c (memcpy): Alias to pupa_memmove.
48402 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
48403 lvalue cast.
48404 * util/console.c (pupa_ncurses_fini): Return 0.
48405
48406 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
48407 Move fail label here.
48408 [__GNU__]: Don't warn when using stat.
48409 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
48410 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
48411 long int. Use strtol instead of strtoul.
f19dbdb7 48412
db1771cf 484132004-03-14 Marco Gerards <metgerards@student.han.nl>
48414
48415 * commands/boot.c: New file.
48416 * commands/cat.c: Likewise.
48417 * commands/cmp.c: Likewise.
48418 * commands/ls.c: Likewise.
48419 * commands/terminal.c: Likewise.
48420 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
48421 (pupa_register_command): Changed interface to match the new
48422 argument parser.
48423 (pupa_command_execute): Changed (almost rewritten) so it uses
48424 pupa_split_command. Added support for setting variables using the
48425 syntax `foo=bar'.
48426 (rescue_command): Changed to work with the new argument parser.
48427 (terminal_command): Moved from here to commands/terminal.c.
48428 (set_command): New function.
48429 (unset_command): New function.
48430 (insmod_command): New function.
48431 (rmmod_command): New function.
48432 (lsmod_command): New function.
48433 (pupa_command_init): Don't initialize the command terminal
48434 anymore. Initialize the commands set, unset, insmod, rmmod and
48435 lsmod.
48436 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
48437 (kernel_img_HEADERS): Add arg.h and env.h.
48438 (pupa_mkimage_LDFLAGS): Add kern/env.c.
48439 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
48440 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
48441 normal/arg.c.
48442 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
48443 terminal.mod.
48444 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
48445 (boot_mod_SOURCES): New variable.
48446 (terminal_mod_SOURCES): Likewise.
48447 (ls_mod_SOURCES): Likewise.
48448 (cmp_mod_SOURCES): Likewise.
48449 (cat_mod_SOURCES): Likewise.
48450
48451 * normal/arg.c: New file.
48452 * kern/env.c: Likewise.
48453 * include/pupa/arg.h: Likewise.
48454 * include/pupa/env.h: Likewise.
48455 * font/manager.c (font_command): Changed to match argument parsing
48456 interface changes.
48457 (PUPA_MOD_INIT): Likewise.
48458 * hello/hello.c (pupa_cmd_hello): Likewise.
48459 (PUPA_MOD_INIT): Likewise.
48460 * include/pupa/disk.h: Include <pupa/device.h>.
48461 (pupa_print_partinfo): New prototype.
48462 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
48463 (pupa_dl_get_prefix): Likewise.
48464 * include/pupa/misc.h: Include <pupa/err.h>.
48465 (pupa_isgraph): New prototype.
48466 (pupa_isdigit): Likewise.
48467 (pupa_split_cmdline): Likewise.
48468 * include/pupa/normal.h: Include <pupa/arg.h>.
48469 (pupa_command): Changed the prototype of the member `func' to
48470 match the argument parsing interface. Added member `options'.
48471 (pupa_register_command): Updated to match function.
48472 (pupa_arg_parse): New prototype.
48473 (pupa_hello_init) [PUPA_UTIL]: New prototype.
48474 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
48475 (pupa_ls_init) [PUPA_UTIL]: Likewise.
48476 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
48477 (pupa_cat_init) [PUPA_UTIL]: Likewise.
48478 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
48479 (pupa_boot_init) [PUPA_UTIL]: Likewise.
48480 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
48481 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
48482 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
48483 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
48484 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
48485 * kern/disk.c: Include <pupa/file.h>.
48486 (pupa_print_partinfo): New function.
48487 * kern/dl.c: Include <pupa/env.h>.
48488 (pupa_dl_dir): Variable removed.
48489 (pupa_dl_load): Use the environment variable `prefix' instead of
48490 the variable pupa_dl_dir.
48491 (pupa_dl_set_prefix): Function removed.
48492 (pupa_dl_get_prefix): Likewise.
48493 * kern/i386/pc/init.c: Include <pupa/env.h>.
48494 (pupa_machine_init): Use the environment variable `prefix' instead of
48495 using pupa_dl_set_prefix to set the prefix.
48496 * kern/main.c: Include <pupa/env.h>.
48497 (pupa_set_root_dev): Use the environment variable `prefix' instead of
48498 using pupa_dl_get_prefix to get the prefix.
48499 * kern/misc.c: Include <pupa/env.h>.
48500 (pupa_isdigit): New function.
48501 (pupa_isgraph): Likewise.
48502 (pupa_ftoa): Likewise.
48503 (pupa_vsprintf): Added support for printing values of the type
48504 `double'. Make it possible to format variable output when using
48505 formatting like `%1.2%f'.
48506 (pupa_split_cmdline): New function.
48507 * kern/rescue.c: Include <pupa/env.h>.
48508 (next_word): Removed function.
48509 (pupa_rescue_cmd_prefix): Likewise.
48510 (pupa_rescue_cmd_set): New function.
48511 (pupa_rescue_cmd_unset): New function.
48512 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
48513 split the command line instead of splitting it here. Added
48514 support for setting variables using the syntax `foo=bar'. Don't
48515 initialize the prefix command anymore. Initialized the set and
48516 unset commands.
48517 * normal/cmdline.c: Include <pupa/env.h>.
48518 (pupa_tab_complete): Added prototypes for print_simple_completion,
48519 print_partition_completion, add_completion, iterate_commands,
48520 iterate_dev, iterate_part and iterate_dir. Moved code to print
48521 partition information from here to kern/disk.c.
fe6b695a 48522 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 48523 * normal/main.c: Include <pupa/env.h>.
48524 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
48525 instead of using pupa_dl_get_prefix to get the prefix.
48526 * term/i386/pc/vga.c: Include <pupa/arg.h>.
48527 (check_vga_mem): Cast pointers to `void *' to silence a gcc
48528 warning.
48529 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
48530 (pupa_vga_setcolor): Declare unused variables with `__attribute__
48531 ((unused))' to silence a gcc warning.
48532 (pupa_vga_setcolor): Likewise.
48533 (debug_command): Changed to match argument parsing
48534 interface changes.
48535 * util/pupa-emu.c: Include <pupa/env.h>.
48536 (options): Added 0's for unused fields to silence a gcc warning.
48537 (argp): Likewise.
48538 (main): Use the environment variable `prefix' instead of using
48539 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
48540 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
48541 and terminal.
48542
48543 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
48544 * util/misc.c: Include <malloc.h>.
48545 (pupa_malloc): Rewritten so errors are correctly reported.
48546 (pupa_realloc): Likewise.
48547 (pupa_memalign): Likewise.
48548 (pupa_mm_init_region): Declare unused variables with
48549 `__attribute__ ((unused))' to silence a gcc warning.
48550 * normal/i386/setjmp.S: Remove tab at the end of the file to
48551 silence a gcc warning.
48552 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
48553 variables with `__attribute__ ((unused))' to silence a gcc
48554 warning.
48555 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
48556 local variable i unsigned to silence a gcc warning.
48557
48558 * kern/term.c: Include <pupa/misc.h>.
48559 (pupa_more_lines): New variable.
48560 (pupa_more): Likewise.
48561 (pupa_putcode): When the pager is active pause at the end of every
48562 screen.
48563 (pupa_set_more): New function.
48564 * include/pupa/term.h (pupa_set_more): New prototype.
48565
48566
3b1139cb 485672004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
48568
48569 Now this project is GRUB 2 rather than PUPA. The location of
48570 the CVS repository was moved to GRUB's.
f19dbdb7 48571
3b1139cb 48572 * configure.ac: Use bug-grub as the reporting address.
48573 Use GRUB instead of PUPA.
48574 Change the version number to 1.90.
48575
8367695c 485762004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
48577
48578 * genkernsyms.sh: Updated copyright information.
48579 * genmk.rb: Likewise.
48580 * genmodsrc.sh: Likewise.
48581 * gensymlist.sh: Likewise.
48582 * boot/i386/pc/boot.S: Likewise.
48583 * boot/i386/pc/diskboot.S: Likewise.
48584 * disk/i386/pc/biosdisk.c: Likewise.
48585 * disk/i386/pc/partition.c: Likewise.
48586 * font/manager.c: Likewise.
48587 * fs/ext2.c: Likewise.
48588 * fs/fat.c: Likewise.
48589 * include/pupa/boot.h: Likewise.
48590 * include/pupa/device.h: Likewise.
48591 * include/pupa/disk.h: Likewise.
48592 * include/pupa/dl.h: Likewise.
48593 * include/pupa/elf.h: Likewise.
48594 * include/pupa/err.h: Likewise.
48595 * include/pupa/file.h: Likewise.
48596 * include/pupa/font.h: Likewise.
48597 * include/pupa/fs.h: Likewise.
48598 * include/pupa/kernel.h: Likewise.
48599 * include/pupa/loader.h: Likewise.
48600 * include/pupa/misc.h: Likewise.
48601 * include/pupa/mm.h: Likewise.
48602 * include/pupa/net.h: Likewise.
48603 * include/pupa/normal.h: Likewise.
48604 * include/pupa/rescue.h: Likewise.
48605 * include/pupa/setjmp.h: Likewise.
48606 * include/pupa/symbol.h: Likewise.
48607 * include/pupa/term.h: Likewise.
48608 * include/pupa/types.h: Likewise.
48609 * include/pupa/i386/setjmp.h: Likewise.
48610 * include/pupa/i386/types.h: Likewise.
48611 * include/pupa/i386/pc/biosdisk.h: Likewise.
48612 * include/pupa/i386/pc/boot.h: Likewise.
48613 * include/pupa/i386/pc/console.h: Likewise.
48614 * include/pupa/i386/pc/init.h: Likewise.
48615 * include/pupa/i386/pc/kernel.h: Likewise.
48616 * include/pupa/i386/pc/linux.h: Likewise.
48617 * include/pupa/i386/pc/loader.h: Likewise.
48618 * include/pupa/i386/pc/memory.h: Likewise.
48619 * include/pupa/i386/pc/multiboot.h: Likewise.
48620 * include/pupa/i386/pc/partition.h: Likewise.
48621 * include/pupa/i386/pc/time.h: Likewise.
48622 * include/pupa/i386/pc/vga.h: Likewise.
48623 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
48624 * include/pupa/util/getroot.h: Likewise.
48625 * include/pupa/util/misc.h: Likewise.
48626 * include/pupa/util/resolve.h: Likewise.
48627 * kern/device.c: Likewise.
48628 * kern/disk.c: Likewise.
48629 * kern/dl.c: Likewise.
48630 * kern/err.c: Likewise.
48631 * kern/file.c: Likewise.
48632 * kern/fs.c: Likewise.
48633 * kern/loader.c: Likewise.
48634 * kern/main.c: Likewise.
48635 * kern/misc.c: Likewise.
48636 * kern/mm.c: Likewise.
48637 * kern/rescue.c: Likewise.
48638 * kern/term.c: Likewise.
48639 * kern/i386/dl.c: Likewise.
48640 * kern/i386/pc/init.c: Likewise.
48641 * kern/i386/pc/lzo1x.S: Likewise.
48642 * kern/i386/pc/startup.S: Likewise.
48643 * loader/i386/pc/chainloader.c: Likewise.
48644 * loader/i386/pc/linux.c: Likewise.
48645 * loader/i386/pc/multiboot.c: Likewise.
48646 * normal/cmdline.c: Likewise.
48647 * normal/command.c: Likewise.
48648 * normal/main.c: Likewise.
48649 * normal/menu.c: Likewise.
48650 * normal/i386/setjmp.S: Likewise.
48651 * term/i386/pc/console.c: Likewise.
48652 * term/i386/pc/vga.c: Likewise.
48653 * util/console.c: Likewise.
48654 * util/genmoddep.c: Likewise.
48655 * util/misc.c: Likewise.
48656 * util/pupa-emu.c: Likewise.
48657 * util/resolve.c: Likewise.
48658 * util/unifont2pff.rb: Likewise.
48659 * util/i386/pc/biosdisk.c: Likewise.
48660 * util/i386/pc/getroot.c: Likewise.
48661 * util/i386/pc/pupa-mkimage.c: Likewise.
48662 * util/i386/pc/pupa-setup.c: Likewise.
48663
e6eced71 486642004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
48665
48666 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
48667 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
48668 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
48669 reading and reset it after reading.
48670 (pupa_ext2_close): Return PUPA_ERR_NONE.
48671
48672 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
48673 Correct value.
48674 (struct linux_kernel_header): Add kernel_version and
48675 initrd_addr_max.
48676 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
48677 pupa_file_read succeeds.
48678 (pupa_rescue_cmd_initrd): Implement.
48679
5aded270 486802003-12-03 Marco Gerards <metgerards@student.han.nl>
48681
48682 * fs/ext2.c (pupa_ext2_label): New function.
48683 (pupa_ext2_fs): Added label.
48684 * fs/fat.c (pupa_fat_label): New function.
48685 (pupa_fat_fs): Added label.
48686 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
48687
48688 * kern/misc.c (pupa_strndup): New function.
48689 * include/pupa/misc.h (pupa_strndup): New prototype.
48690
48691 * include/pupa/normal.h: Include <pupa/err.h>.
48692 (pupa_set_history): New prototype.
48693 (pupa_iterate_commands): New prototype.
48694 * normal/cmdline.c: Include <pupa/machine/partition.h>,
48695 <pupa/disk.h>, <pupa/file.h>.
48696 (hist_size): New variable.
48697 (hist_lines): Likewise.
48698 (hist_end): Likewise.
48699 (hist_used): Likewise.
48700 (pupa_set_history): New function.
48701 (pupa_history_get): Likewise.
48702 (pupa_history_add): Likewise.
48703 (pupa_history_replace): Likewise.
48704 (pupa_tab_complete): Likewise.
48705 (pupa_cmdline_run): Added tab completion and history buffer. Tab
48706 completion shows partitionnames while completing partitions, this
48707 feature was suggested by Jeff Bailey.
48708 * normal/command.c (pupa_iterate_commands): New function.
48709 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
48710 (pupa_normal_init): Initialize history buffer.
48711 (PUPA_MOD_INIT): Likewise.
48712 (pupa_normal_fini): Free the history buffer.
48713 (PUPA_MOD_FINI): Likewise.
48714
48715 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
48716 key.
48717
48718 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
48719 * configure.ac [i386]: Check for regparam bug.
48720 (NESTED_FUNC_ATTR) [! i386]: Defined.
48721
1f7315a3 487222003-11-17 Marco Gerards <metgerards@student.han.nl>
48723
48724 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
48725 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
48726 (pupa_emu_SOURCES): New variable.
48727 (pupa_emu_LDFLAGS): Likewise.
48728 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
48729 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
48730 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
48731 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
48732 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
48733 (pupa_jmp_buf): New typedef.
48734 (pupa_setjmp) [PUPA_UTIL]: New macro.
48735 (pupa_longjmp) [PUPA_UTIL]: Likewise.
48736 * include/pupa/term.h (struct pupa_term): New member `refresh'.
48737 (pupa_refresh): New prototype.
48738 * include/pupa/util/getroot.h: New file.
48739 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
48740 it.
48741 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
48742 (pupa_rescue_cmd_cat): Likewise.
48743 (pupa_rescue_cmd_ls): Likewise.
48744 (pupa_rescue_cmd_testload): Likewise.
48745 (pupa_rescue_cmd_lsmod): Likewise.
48746 * normal/cmdline.c (pupa_cmdline_get): Likewise.
48747 * normal/menu.c (run_menu): Likewise.
48748 * kern/term.c (pupa_cls): Likewise.
48749 (pupa_refresh): New function.
48750 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
48751 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
48752 * util/console.c: New file.
f19dbdb7 48753
1f7315a3 48754 * util/i386/pc/getroot.c: New file.
48755 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
48756 (pupa_putchar): New function.
48757 (pupa_refresh): Likewise.
48758 (xgetcwd): Function moved to ...
48759 (strip_extra_slashes): Likewise.
48760 (get_prefix): Likewise.
f19dbdb7 48761 * util/i386/pc/getroot.c: ... here.
1f7315a3 48762 (find_root_device): Function moved and renamed to...
48763 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
48764 Changed all callers.
48765 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
48766 and renamed to...
48767 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
48768 Changed all callers.
48769 * util/misc.c (pupa_memalign): New function.
48770 (pupa_mm_init_region): Likewise.
48771 (pupa_register_exported_symbols): Likewise.
48772 (pupa_putchar): Function removed.
48773 * util/pupa-emu.c: New file.
48774
9a5c1ade 487752003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
48776
48777 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
48778 (_multiboot_mod_SOURCES): New variable.
48779 (_multiboot_mod_CFLAGS): Likewise.
48780 * loader/i386/pc/multiboot.c: New file.
48781 * include/pupa/i386/pc/multiboot.h: Likewise.
48782 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
48783 (pupa_multiboot_real_boot): New function.
48784 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
48785 (pupa_multiboot_real_boot): New prototype.
48786 (pupa_rescue_cmd_multiboot): Likewise
48787 (pupa_rescue_cmd_module): Likewise.
48788
48789 * kern/loader.c (pupa_loader_set): Continue when
48790 pupa_loader_unload_func() fails.
48791 (pupa_loader_unset): New function.
48792 * include/pupa/loader.h (pupa_loader_unset): New prototype.
48793
48794 * kern/misc.c (pupa_stpcpy): New function.
48795 * include/pupa/misc.h (pupa_stpcpy): New prototype.
48796
8e72a9c0 487972003-11-12 Marco Gerards <metgerards@student.han.nl>
48798
48799 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
48800 for available extensions.
48801
48802 * include/pupa/i386/pc/time.h: New file.
48803 * kern/disk.c: Include <pupa/machine/time.h>.
48804 (PUPA_CACHE_TIMEOUT): New macro.
48805 (pupa_last_time): New variable.
48806 (pupa_disk_open): Flush the cache when there was a timeout.
48807 (pupa_disk_close): Reset the timer.
48808 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
48809 pupa_currticks.
48810 * util/misc.c: Include <sys/times.h>
48811 (pupa_get_rtc): New function.
48812
c4adbd32 488132003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48814
48815 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
48816 as blocks.
48817 (pupa_ext2_get_file_block): Use blocks member.
48818
48819 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
48820 first block. Return -1 instead of pupa_errno on error.
48821
bfd30f06 488222003-10-27 Marco Gerards <metgerards@student.han.nl>
48823
48824 * README: In the pupa-mkimage example use _chain instead of chain
48825 and ext2 instead of fat.
48826 * TODO: Replace ext2fs with jfs as an example. Add an item for
48827 adding journal playback for ext2fs.
48828 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
48829 (pkgdata_MODULES): Added ext2.mod.
48830 (ext2_mod_SOURCES): New variable.
48831 (ext2_mod_CFLAGS): Likewise.
48832 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
48833 * include/pupa/misc.h (pupa_strncpy): New prototype.
48834 (pupa_strcat): Likewise.
48835 (pupa_strncmp): Likewise.
48836 * kern/misc.c (pupa_strcat): Enable function.
48837 (pupa_strncpy): New function.
48838 (pupa_strncmp): Likewise.
48839 * fs/ext2.c: New file.
f19dbdb7 48840
bfd30f06 48841 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
48842 when the read failed before retrying.
48843 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
48844 (_FILE_OFFSET_BITS): Likewise.
48845 * configure.ac: Added AC_SYS_LARGEFILE.
48846
98d15063 488472003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48848
48849 * genmk.rb (PModule#rule): Make sure to get only symbol names
48850 from the output of nm.
59cad637 48851 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 48852
18d9c7cd 488532003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48854
48855 I forgot to check in these changes for a long time. This adds
48856 incomplete support for VGA console, and this is still very
48857 buggy. Also, a lot of consideration is required for I18N,
48858 UNICODE, and VGA font issues. Therefore, assume that this is
48859 such that "better than nothing".
f19dbdb7 48860
18d9c7cd 48861 * font/manager.c: New file.
48862 * include/pupa/font.h: Likewise.
48863 * include/pupa/i386/pc/vga.h: Likewise.
48864 * term/i386/pc/vga.c: Likewise.
48865 * util/unifont2pff.rb: Likewise.
48866
48867 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
48868 (pkgdata_MODULES): Added vga.mod and font.mod.
48869 (vga_mod_SOURCES): New variables.
48870 (vga_mod_CFLAGS): Likewise.
48871 (font_mod_SOURCES): Likewise.
48872 (font_mod_CFLAGS): Likewise.
48873
48874 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
48875
48876 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 48877 (struct pupa_term): Added init and fini.
18d9c7cd 48878 Changed the argument of putchar to pupa_uint32_t.
48879
48880 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
48881 (pupa_console_real_putchar): New prototype.
48882 (pupa_console_putchar): Removed.
48883 (pupa_console_checkkey): Exported.
48884 (pupa_console_getkey): Likewise.
48885
48886 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
48887 characters.
48888
48889 * kern/term.c (pupa_term_set_current): Rewritten.
48890 (pupa_putchar): Likewise.
48891 (pupa_putcode): New function.
48892
48893 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
48894 (pupa_console_real_putchar): ... this.
48895 (pupa_vga_set_mode): New function.
48896 (pupa_vga_get_font): Likewise.
48897
48898 * normal/command.c: Include pupa/term.h.
48899 (terminal_command): New function.
48900 (pupa_command_init): Register the command "terminal".
48901
48902 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
48903 (DISP_UP): Likewise.
48904 (DISP_RIGHT): Likewise.
48905 (DISP_DOWN): Likewise.
48906 (DISP_HLINE): Likewise.
48907 (DISP_VLINE): Likewise.
48908 (DISP_UL): Likewise.
48909 (DISP_UR): Likewise.
48910 (DISP_LL): Likewise.
48911 (DISP_LR): Likewise.
48912
48913 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 48914
977329f5 489152003-02-08 NIIBE Yutaka <gniibe@m17n.org>
48916
48917 * util/resolve.c (pupa_util_resolve_dependencies): BUG
48918 FIX. Reverse the path_list.
48919
48920 * include/pupa/normal.h: Export pupa_register_command and
48921 pupa_unregister_command.
48922
48923 * hello/hello.c (pupa_cmd_hello): New module.
48924 * conf/i386-pc.rmk: Added hello.mod.
48925
1f5ab428 489262003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
48927
48928 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 48929
1f5ab428 48930 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
48931 (compress_kernel): New variable.
48932 (generate_image): Heavily modified to support compressing a
48933 large part of the core image.
48934
48935 * util/misc.c (pupa_util_read_image): Fix a file descriptor
48936 leak.
48937 (pupa_util_load_image): New function.
48938
48939 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
48940 (pupa_compressed_size): New variable.
48941 (codestart): Enable Gate A20 here.
48942 Decompress the compressed part of the core image.
48943 Rearrange the code to put functions and variables which are
48944 required for initialization in the non-compressed part.
48945 Include lzo1x.S.
48946
48947 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
48948 here.
48949
48950 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
48951
f19dbdb7 48952 * include/pupa/i386/pc/kernel.h
1f5ab428 48953 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
48954 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
48955 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
48956 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
48957 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
48958
48959 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
48960
48961 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
48962 (Utility#rule): Likewise.
48963
48964 * configure.ac: Check if LZO is available.
48965
ce5bf700 489662003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
48967
48968 * include/pupa/normal.h: New file.
48969 * include/pupa/setjmp.h: Likewise.
48970 * include/pupa/i386/setjmp.h: Likewise.
48971 * normal/cmdline.c: Likewise.
48972 * normal/command.c: Likewise.
48973 * normal/main.c: Likewise.
48974 * normal/menu.c: Likewise.
48975 * normal/i386/setjmp.S: Likewise.
f19dbdb7 48976
ce5bf700 48977 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
48978 (pupa_rescue_cmd_initrd): Likewise.
48979
48980 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
48981 Likewise.
48982
48983 * kern/i386/pc/startup.S (translation_table): New variable.
48984 (translate_keycode): New function.
48985 (pupa_console_getkey): Call translate_keycode.
48986
48987 * kern/rescue.c (attempt_normal_mode): New function.
48988 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
48989 it failed, print a message.
48990
48991 * kern/mm.c (pupa_real_malloc): Print more information when a
48992 free magic is broken.
48993 (pupa_free): If the first free header is not free actually, set
48994 it to P.
48995
48996 * kern/main.c (pupa_load_normal_mode): Just load the module
48997 "normal".
48998 (pupa_main): Don't print the message
48999 "Entering into rescue mode..." here.
49000
49001 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
49002 Declared.
49003 (pupa_rescue_cmd_initrd): Likewise.
49004 (pupa_rescue_cmd_initrd): Likewise.
49005
49006 * include/pupa/symbol.h (FUNCTION): Specify the type.
49007 (VARIABLE): Likewise.
49008
49009 * include/pupa/err.h (pupa_err_t): Added
49010 PUPA_ERR_UNKNOWN_COMMAND.
49011
49012 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
49013 (pupa_dl_get_prefix): Likewise.
49014
49015 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
49016 Added _chain.mod and _linux.mod instead of chain.mod and
49017 linux.mod.
49018 (chain_mod_SOURCES): Renamed to ...
49019 (_chain_mod_SOURCES): ... this.
49020 (chain_mod_CFLAGS): Renamed to ...
49021 (_chain_mod_CFLAGS): ... this.
49022 (linux_mod_SOURCES): Renamed to ...
49023 (_linux_mod_SOURCES): ... this.
49024 (linux_mod_CFLAGS): Renamed to ...
49025 (_linux_mod_CFLAGS): ... this.
49026 (normal_mod_SOURCES): New variable.
49027 (normal_mod_CFLAGS): Likewise.
49028 (normal_mod_ASFLAGS): Likewise.
49029
490302003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
49031
49032 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
49033 possible.
49034
fe6b695a 49035 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 49036 recursively.
49037 (pupa_dl_unref): Unrefer depending modules recursively.
49038 Don't call pupa_dl_unload implicitly, because PUPA can crash if
49039 a module is unloaded before one depending on that module is
49040 unloaded.
49041 (pupa_dl_unload): Unload depending modules explicitly,
49042 if possible.
49043
c04da074 490442003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
49045
49046 * include/pupa/i386/pc/linux.h: New file.
49047 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 49048
c04da074 49049 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
49050 Removed.
49051 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
49052 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
49053 of PUPA_CHAINLOADER_BOOT_SECTOR.
49054
49055 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
49056 (pupa_linux_prot_size): New variable.
49057 (pupa_linux_tmp_addr): Likewise.
49058 (pupa_linux_real_addr): Likewise.
49059 (pupa_linux_boot_zimage): New function.
49060 (pupa_linux_boot_bzimage): Likewise.
49061
49062 * kern/i386/pc/init.c (struct mem_region): New structure.
49063 (MAX_REGIONS): New macro.
49064 (mem_regions): New variable.
49065 (num_regions): Likewise.
49066 (pupa_os_area_addr): Likewise.
49067 (pupa_os_area_size): Likewise.
49068 (pupa_lower_mem): Likewise.
49069 (pupa_upper_mem): Likewise.
49070 (add_mem_region): New function.
49071 (compact_mem_regions): Likewise.
49072 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
49073 the size of the conventional memory and that of so-called upper
49074 memory (before the first memory hole).
49075 Instead of adding each found region to free memory, use
49076 add_mem_region and add them after removing overlaps.
49077 Also, add only 1/4 of the upper memory to free memory. The rest
49078 is used for loading OS images. Maybe this is ad hoc, but this
49079 makes it much easier to relocate OS images when booting.
49080
49081 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
49082 (pupa_enter_rescue_mode): Don't register initrd and module.
49083
49084 * kern/mm.c: Include pupa/dl.h.
49085
49086 * kern/main.c: Include pupa/file.h and pupa/device.h.
49087
49088 * kern/loader.c (pupa_loader_load_module_func): Removed.
49089 (pupa_loader_load_module): Likewise.
49090
49091 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
49092 ``.o''.
49093
49094 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
49095 (pupa_linux_tmp_addr): Likewise.
49096 (pupa_linux_real_addr): Likewise.
49097 (pupa_linux_boot_zimage): Likewise.
49098 (pupa_linux_boot_bzimage): Likewise.
49099
49100 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
49101 (pupa_upper_mem): Likewise.
49102 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
49103 module is too dangerous.
49104
49105 * include/pupa/loader.h (pupa_os_area_addr): Declared.
49106 (pupa_os_area_size): Likewise.
49107 (pupa_loader_set): Remove the first argument. Loader doesn't
49108 manage modules or initrd any longer.
49109 (pupa_loader_load_module): Removed.
49110
49111 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
49112 (linux_mod_SOURCES): New variable.
49113 (linux_mod_CFLAGS): Likewise.
49114
a13f9237 491152003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
49116
49117 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
49118 the length of a blocklist correctly.
49119
49120 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
49121 Use ioctl only if the OS file is a block device.
49122 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
49123 not very useful for normal files.
49124
49125 * kern/main.c (pupa_set_root_dev): New function.
49126 (pupa_load_normal_mode): Likewise.
49127 (pupa_main): Call those above.
49128
49129 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
49130 pupa_uint16_t.
49131
49132 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
49133
a5ffe966 491342003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
49135
49136 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
49137 (setup): Configure the installed partition information and the
49138 dl prefix.
49139
49140 * loader/i386/pc/chainloader.c (my_mod): New variable.
49141 (pupa_chainloader_unload): New function.
49142 (pupa_rescue_cmd_chainloader): Refer itself.
49143 (PUPA_MOD_INIT): Save its own module in MY_MOD.
49144
49145 * kern/i386/pc/startup.S (install_partition): Removed.
49146 (version_string): Likewise.
49147 (config_file): Likewise.
49148 (pupa_install_dos_part): New variable.
49149 (pupa_install_bsd_part): Likewise.
49150 (pupa_prefix): Likewise.
49151 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
49152
49153 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
49154 and pupa/misc.h.
49155 (make_install_device): New function.
49156 (pupa_machine_init): Set the dl prefix.
49157
49158 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
49159 (buf): Renamed to ...
49160 (linebuf): ... this.
49161 (pupa_rescue_cmd_prefix): New function.
49162 (pupa_rescue_cmd_insmod): Likewise.
49163 (pupa_rescue_cmd_rmmod): Likewise.
49164 (pupa_rescue_cmd_lsmod): Likewise.
49165 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
49166 rmmod and lsmod.
49167
49168 * kern/mm.c (pupa_memalign): If failed even after invalidating
49169 disk caches, unload unneeded modules and retry.
49170
49171 * kern/misc.c (pupa_memmove): New function.
49172 (pupa_memcpy): Removed.
49173 (pupa_strcpy): New function.
49174 (pupa_itoa): Made static.
49175
49176 * kern/dl.c (pupa_dl_iterate): New function.
49177 (pupa_dl_ref): Likewise.
49178 (pupa_dl_unref): Likewise.
49179 (pupa_dl_unload): Return if succeeded or not.
49180 (pupa_dl_unload_unneeded): New function.
49181 (pupa_dl_unload_all): Likewise.
49182 (pupa_dl_init): Renamed to ...
49183 (pupa_dl_set_prefix): ... this.
49184 (pupa_dl_get_prefix): New function.
49185
49186 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
49187 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
49188 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49189 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49190 (pupa_install_dos_part): Declared.
49191 (pupa_install_bsd_part): Likewise.
49192 (pupa_prefix): Likewise.
49193 (pupa_boot_drive): Likewise.
49194
49195 * include/pupa/types.h: Fix a typo.
49196
49197 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
49198 pupa_memmove.
49199 (pupa_memmove): Declared.
49200 (pupa_strcpy): Likewise.
49201
49202 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
49203 pupa_mod_init takes one argument, its own module.
49204 (pupa_dl_unload_unneeded): Declared.
49205 (pupa_dl_unload_all): Likewise.
49206 (pupa_dl_ref): Likewise.
49207 (pupa_dl_unref): Likewise.
49208 (pupa_dl_iterate): Likewise.
49209 (pupa_dl_init): Renamed to ...
49210 (pupa_dl_set_prefix): ... this.
49211 (pupa_dl_get_prefix): Declared.
49212
49213 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 49214 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 49215 unloaded.
49216 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
49217 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
49218
49219 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
49220 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
49221
012d7999 492222003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
49223
49224 * util/i386/pc/pupa-setup.c (setup): Define the internal
49225 function find_first_partition_start at the top level, because GCC
49226 3.0.x cannot compile internal functions in deeper scopes
49227 correctly.
49228 (find_root_device): Use lstat instead of stat.
49229 Don't follow symbolic links.
49230 Fix the path-constructing code.
49231
49232 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
49233 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
49234 by a BLKGETSIZE ioctl first, because block devices don't fill
49235 the member st_mode of the structure stat on Linux.
49236 [__linux__] (linux_find_partition): Use a temporary buffer
49237 REAL_DEV for the working space. Copy it to DEV before returning.
49238 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
49239 buffer cache consistent.
49240 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
49241 strncmp. The previous value was merely wrong.
49242 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
49243
49244 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
49245 FAT size is 12. The previous value was merely wrong.
49246
49247 * kern/main.c (pupa_main): Don't split the starting message from
49248 newlines.
49249
49250 * kern/term.c (pupa_putchar): Put CR after LF instead of before
49251 LF, because BIOS goes crazy about character attributes in this
49252 case.
49253
1cc73a62 492542003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
49255
49256 * include/i386/pc/util/biosdisk.h: New file.
49257 * util/i386/pc/biosdisk.c: Likewise.
49258 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 49259
1cc73a62 49260 * Makefile.in (INCLUDE_DISTFILES): Added
49261 include/pupa/i386/pc/util/biosdisk.h.
49262 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
49263 directory util/i386/pc.
49264 (install-local): Added a rule for sbin_UTILITIES.
49265 (uninstall): Likewise.
49266
49267 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
49268
49269 * util/misc.c (xrealloc): New function.
49270 (pupa_malloc): Likewise.
49271 (pupa_free): Likewise.
49272 (pupa_realloc): Likewise.
49273 (pupa_stop): Likewise.
49274 (pupa_putchar): Likewise.
49275
49276 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
49277
49278 * include/pupa/util/misc.h (xrealloc): Declared.
49279
49280 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
49281 macro.
49282 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
49283 (PUPA_BOOT_MACHINE_BPB_END): ... this.
49284
49285 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
49286 [PUPA_UTIL] (pupa_fat_fini): Likewise.
49287
49288 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
49289 way should be implemented.
49290 [PUPA_UTIL] (pupa_fat_fini): Likewise.
49291
49292 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
49293 the size of NAME for safety.
49294 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
49295 0x88.
49296
49297 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
49298 (pupa_setup_SOURCES): Likewise.
49299
49300 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
49301
08b70fe8 493022002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
49303
49304 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
49305 bunch of pushl's from pusha, because this destroys the return
49306 value.
49307
62ddcc8f 493082002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
49309
49310 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
49311 This means that any missing prototypes could be fatal. Also, you
49312 must take care when writing assembly code. See the comments at
49313 the beginning of startup.S, for more details.
f19dbdb7 49314
62ddcc8f 49315 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
49316 compilation mechanism.
49317 (pupa_chainloader_real_boot): Likewise.
49318 (pupa_biosdisk_rw_int13_extensions): Likewise.
49319 (pupa_biosdisk_rw_standard): Likewise.
49320 (pupa_biosdisk_check_int13_extensions): Likewise.
49321 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
49322 (pupa_biosdisk_get_diskinfo_standard): Likewise.
49323 (pupa_get_memsize): Likewise.
49324 (pupa_get_mmap_entry): Likewise.
49325 (pupa_console_putchar): Likewise.
49326 (pupa_console_setcursor): Likewise.
49327 (pupa_getrtsecs): Use pushl instead of push.
49328
49329 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
49330 memory instead of the stack for a mmap entry, because some
49331 BIOSes may ignore the maximum size and overflow.
49332
49333 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
49334
49335 * genmk.rb (PModule#rule): Compile automatically generated
49336 sources with module-specific CFLAGS as well as other sources.
49337
9962ed99 493382002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49339
49340 * configure.ac: Check ld.
49341 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
49342 respectively, before checking endianness and sizes.
49343
49344 * Makefile.in (LD): New variable.
f19dbdb7 49345
abdfc3c5 493462002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49347
49348 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
49349
6a161fa9 493502002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49351
49352 * Changelog: New file.
49353