]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
[grub2.git] / ChangeLog
CommitLineData
a62ae90c
VS
12013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
4 standard rather than noral color, in line with other terminals.
5
4ed41392
VS
62013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
9 analysis.
10
3719fbc5
VS
112013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/loader/arm/linux.c: Change printf to dprintf.
14
459b1d91
VS
152013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
18 inappropriate printf.
19
f4e1ab9d
AB
202013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
21
22 * .bzrignore: Remove grub-core/lib/dtc-grub,
23 grub-core/Makefile.libfdt.def
24 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
25
fa471bfa
VS
262013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * include/grub/video.h (grub_video_register): Keep double-linked as
29 well as single-linked invariants.
30 Reported by: qwertial.
31
d65be02b
VS
322013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/commands/nativedisk.c (get_uuid): Handle
35 GRUB_DISK_DEVICE_UBOOTDISK_ID.
36
ba8bc620
VT
372013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
38
39 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
40 maximum of NW, N, NE heights instead of N's height and maximum of
41 NW, W, SW widths instead of W's width. (So the box will be always
42 correctly drawn)
43
4f0ad029
GS
442013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
45
46 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
47 Fix misuse of variable count.
48
43d53b72
LL
492013-07-18 Leif Lindholm <leif.lindholm@arm.com>
502013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
512013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 52
43d53b72
LL
53 New ports to arm-uboot and arm-efi.
54 Mostly by Leif Lindholm with some additions from
55 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 56
88f8d146
VS
572013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
60 and not before.
61 Reported by: Leon Drugi.
62
3f42504c
VS
632013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
66 Reported by: Paulo Flabiano Smorigo.
67
d110499b
VT
682013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
69
70 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
71
a8674ad3
VT
722013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
73
74 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
75
286fe4b3
VS
762013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
79
1bd57aa3
VS
802013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
83
7a87d69f
AB
842013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
85
86 * grub-core/net/bootp.c: Export net_* variables.
87 * grub-core/net/net.c: Likewise.
88
b2182299
VS
892013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
90
91 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
92
795b3dc0
VS
932013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
96
68714c43
VS
972013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
100
af211bab
VS
1012013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
104
0036f02d
MM
1052013-07-14 Massimo Maggi <me@massimo-maggi.eu>
106
107 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
108 <= 0.
109
6d0ddff3
MM
1102013-07-14 Massimo Maggi <me@massimo-maggi.eu>
111
112 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
113 functions.
114
038016f4
MM
1152013-07-14 Massimo Maggi <me@massimo-maggi.eu>
116
117 * grub-core/fs/zfs/zfs_lz4.c: New file.
118 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
119
776bdce2
MM
1202013-07-14 Massimo Maggi <me@massimo-maggi.eu>
121
122 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
123
c71dbd40
MM
1242013-07-14 Massimo Maggi <me@massimo-maggi.eu>
125
126 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
127 (check_pool_label): Likewise.
128 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
129
1302013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
131
132 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
133
8e67b50f
AB
1342013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
135
136 * docs/grub.texi (Commands): Document postition parameters
137 for menuentry command.
138
f5ae3717
AB
1392013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
140
141 * util/grub-mknetdir.in: Remove stray line from help output.
142
9c28da2a
VS
1432013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
144
145 Remove early sm712 init as there is no reason for it (the "watchdog"
146 effect was due to wrong GPIO map).
147
139072b8
VS
1482013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * grub-core/commands/pcidump.c: Remove static variables.
151
c6a61bda
VS
1522013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * grub-core/commands/sleep.c: Refresh screen before sleeping.
155
51369614
VS
1562013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * configure.ac: Move delimiter after the infos.
159
efa8640a
VS
1602013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
163
6f80a7b2
VS
1642013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
167 not filling whole 8x16 space.
168
a2371e19
VS
1692013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
172
64fce2d8
VS
1732013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
174
175 * configure.ac: Indicate which liblzma is used if any.
176
eb272d84
PW
1772013-06-21 Paul Wise <pabs3@bonedaddy.net>
1782013-06-21 Craig Sanders <savannah@taz.net.au>
179
180 * util/grub-reboot.in: Document submenu usage.
181
a9e5abee
CW
1822013-06-25 Colin Watson <cjwatson@ubuntu.com>
183
184 * .bzrignore: Update with a number of new test-related files.
185
e639c204
CW
1862013-06-25 Colin Watson <cjwatson@ubuntu.com>
187
188 * util/grub-script-check.c: Fail on scripts containing no
189 commands, to guard against corrupted grub-mkconfig setups that
190 produce no useful output.
191 * tests/grub_script_no_commands.in: New test.
192 * Makefile.util.def (grub_script_no_commands): Add.
193 Reported by Hans Putter. Fixes Debian bug #713886.
194
a4c89b17
AB
1952013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
196
197 * grub-core/disk/diskfilter.c: Forgot to remove comment
198 from previous commit.
199
5b06b53c
AB
2002013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
201
202 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
203 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
204
702da5c9
AB
2052013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
206
207 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
208
aa62a5b7
AB
2092013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
210
211 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
212 rescan diskfilter devices until nothing new is found.
213
4aa237c8
VS
2142013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
215
216 Fix casts when compiling coreboot-specific code for 64-bit EFI.
217
93d8479b
VS
2182013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
219
220 Don't try to detect cbfs on *-emu.
221
837222cc
VS
2222013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * grub-core/term/gfxterm.c: USe right background color when scrolling.
225
99c971af
VS
2262013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
227
228 Add support for processed coreboot payload chainloading.
229
e6930a45
VS
2302013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
231
232 Enable coreboot information commands even when not loaded as
233 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
234
5027af38
VS
2352013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
236
237 Support for cbfs. Also factor out the part which is common
238 for all archives to a separate module. This splits tar from cpio
239 as they are very different but keeps cpio, cpio_be, odc and newc
240 together since they're very similar.
241
a5b55c4b
DM
2422013-06-15 David Michael <fedora.dm0@gmail.com>
243
244 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
245 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
246
0301a8b3
VS
2472013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * tests/grub_script_eval.in: Really add the eval test.
250
3d84cb17
VS
2512013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
252
253 Move flavour-specific parts out of common cpio.c file and
254 rename remaining to cpio_common.c
255
593e430c
AB
2562013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
257
258 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
259 off new function grub_script_execute_new_scope. Change callers to use
260 either of them as appropriate.
261 * grub-core/commands/eval.c: New command eval.
262 * docs/grub.texi (Commands): Document it.
263
63c29849
AB
2642013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
265
266 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
267 to fetch values when listing.
268
cc284112
AB
2692013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
270
271 Fix make dist on non-pc.
272
2732013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
274
275 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
276 without a device name.
277
69544d1e
VS
2782013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
279
280 Remove enable_executable_check as it's not needed anymore.
281 Reported by: dougray.
282
96dbe648
VS
2832013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
286 ambigouos RAID before discovering RAIDs on top of it.
287 Reported by: bodom.
288
ccfc0bdb
VS
2892013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
290
291 Fix typo (failback vs fallback).
292
f2587088
AB
2932013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
294
295 * util/grub.d/30_os-prober.in: Add support for probing EFI
296 System Partition (as of os-prober 1.58).
297
cec5cf0c
VS
2982013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
299
300 * configure.ac: Add yet another path to unifont. For parabola.
301
e40b4596
JT
3022013-05-30 Josh Triplett <josh@joshtriplett.org>
303
304 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
305 handling to copy the killed characters to the kill buffer as
306 UCS4 stored as grub_uint32_t rather than as 8-bit characters
307 stored as char. Eliminates UCS4 truncation and corruption
308 observed when killing characters with Ctrl-u and yanking them
309 back with Ctrl-y.
310
fc4c4fdd
VS
3112013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
312
313 Detach optional parts of gfxterm and integrate in with coreboot init.
314
6570b205
VS
3152013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
316
317 Move blit and fill dispatcher to appropriate files to decrease export
318 and relocation overhead.
319
b8323067
VS
3202013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/font/font.c, include/grub/font.h: Inline simple font
323 functions.
324
3cc1878f
VS
3252013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * grub-core/Makefile.am: Fix compilation problem with some
328 automake versions.
329
4b80e43c
VS
3302013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
331
332 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
333
57e0c20c
VS
3342013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
337 automake versions.
338
4fd42c53
VS
3392013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
342 SSDT.
343
1e908b34
RS
3442013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
345
346 * grub-core/partmap/dfly.c: New partition map.
347
1359e474
VS
3482013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
351 checking.
352 Reported by: Francesco Lavra.
353
17806392
AB
3542013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
355
356 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
357 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
358 false conditions.
359 * conf/Makefile.common: define dist_grubconf_DATA
360
cdce14fa
VS
3612013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
362
363 Progressively skip menu elements on small terminals rather
364 than crashing.
365
c8d6cc3c
VS
3662013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
369 to avoid losing last column.
370
a73b31ce
VS
3712013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * po/exclude.pot: Add missing string "%C".
374
1202c764
VS
3752013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
378 after the test.
379
50268344
VS
3802013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * util/grub-install.in: Gettextize "Not found" message.
383
62b15edf
VS
3842013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
385
386 Fix distfiles list.
387 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
388
3892013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
390
391 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
392 present.
393 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
394
709ad61b
VS
3952013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
396
397 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
398
d128901a
VS
3992013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
402 attribute since structure is not necessarily aligned.
403
34b22f5c
AB
4042013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
405
406 * docs/grub.texi (Device syntax): Clarify description of network
407 drives.
408
0f7e980b
VS
4092013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
410
411 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
412 for vasprintf presence.
413
30b03dc2
VS
4142013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * util/grub-install.in: Handle efibootmgr presence check.
417 Reported by: Leif Lindholm.
418
0dc11c08
VS
4192013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
422 new strings to translate.
423
f8024c3f
VS
4242013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
427 yet another string (pun intended) to translate.
428
b4c1da62
VS
4292013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * po/POTFILES-shell.in: Autogenerate it.
432
0ef7478b
VS
4332013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
436
8200fa15
VS
4372013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
440 misnomer.
441
091945b2
AB
4422013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
443
444 * docs/grub.texi (Network): Add description of net_default_interface,
445 net_default_ip and net_default_mac. Rewrite variables description
446 to emphasize that they are per-interface.
447
0e7b2e32
VS
4482013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
449
450 New test: cmdline and cat.
451
16f7c8f6
VS
4522013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * grub-core/commands/cat.c: Show UTF-8 characters.
455
3e912fda
VS
4562013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * conf/Makefile.common: Poison float and double on non-emu.
459
ee0220bc
VS
4602013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * configure.ac: Don't disable extended registers on emu.
463
89e0240c
VS
4642013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
465
466 * configure.ac: Don't use extended registers on x86_64.
467 Reported by: Peter Jones.
468
e56d9637
VS
4692013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * grub-core/term/efi/console.c: Fix compile error.
472
8098f655
VS
4732013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
474
475 Compressed HFS+ support.
476
16940e07
VS
4772013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
480 pixel".
481
c5dbc13d
VS
4822013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
483
484 Menu color test.
485
011f8ae8
VS
4862013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * grub-core/tests/setjmp_test.c: New test.
489
2aa072d7
VS
4902013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
491
492 New variables 'net_default_*' to determine MAC/IP of default interface.
493
43fe02cb
VS
4942013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * tests/gettext_strings_test.in: A test to check for strings not
497 marked for translation.
498
bed06142
VS
4992013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * autogen.sh: Exclude unused libgcrypt files from translation.
502
fb2666b5
VS
5032013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
504
505 Simplify few strings.
506
d22840ec
VS
5072013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
508
509 Mark few forgotten strings for translation.
510
e34092fd
VS
5112013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
514 rather than printf.
515
47cf82b4
VS
5162013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
517
518 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
519 rather than printf.
520 * grub-core/video/readers/tga.c: Likewise.
521
1eed0e6e
VS
5222013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * tests/priority_queue_unit_test.cc: New test.
525
c5b7697b
VS
5262013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
529 than printf.
530
5945c2f8
AB
5312013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
532
533 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
534 variable for one time boot menu entry.
535
fa292343
B
5362013-05-05 Bean <bean123ch@gmail.com>
537
538 * grub-core/commands/testspeed.c: New command testspeed.
539
310d4214
VS
5402013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
541
542 Factor-out human-size printing.
543
85002bf3
VS
5442013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
545
546 Agglomerate more mallocs to speed-up gfxterm.
547
22b06e96
VS
5482013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
549
550 Speed-up gfxterm by slightly agglomerating mallocs.
551
b7c036bc
VS
5522013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
553
554 More video checks.
555
92323d1f
VS
5562013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
557
558 Speed-up gfxterm by saving intermediate results in index+alpha
559 format.
560
0fb356a3
VS
5612013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
564 test.
565
44dea3f9
VS
5662013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
569 line of timeout as it may contain the rest of long line.
570
14af86e4
VS
5712013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * grub-core/normal/main.c: Fix freed memory dereference.
574
03f7c8c3
VS
5752013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
576
577 Fix several memory leaks.
578
c686014c
VS
5792013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
582
0788a695
VS
5832013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
586
daf01d61
VS
5872013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
588
589 Fix test -a and -o precedence.
590 Reported by: adrian15.
591
82ae74d7
VS
5922013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
593
594 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
595
8cec7bd4
AB
5962013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
597
598 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
599 and add it as source to functional_test module.
600
aa73d688
VS
6012013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
604
c104b6f9
VS
6052013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
606
607 New series of tests for gfxterm and gfxmenu.
608
7391c4d5
VS
6092013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
612 the theme path relative to $prefix/themes.
613
cff50118
VS
6142013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
617 Fix order bug.
618 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
619
7c332bdc
VS
6202013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
623 descriptor.
624
a4f9a5ff
VS
6252013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
628 grub_gfxmenu_timeout_notifications.
629 (grub_gfxmenu_view_destroy): Likewise.
630
b5a2114d
VS
6312013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
634
a8905e8a
VS
6352013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
636
637 Several fixes to ieee1275 and big-endian video.
638
813c1622
VS
6392013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
640
641 Add missing exports on mips.
642
3f3e7326
VS
6432013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
646 if no unifont is found.
647 Restore original keyboard.
648
095accd1
VS
6492013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
652 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
653
50361660
VS
6542013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
655
656 First automated video test (running videotest and comparing results)
657
cd0f6eec
VS
6582013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
661 instead of 2 to have full RGB/CMY test pattern.
662
3f9634e5
VS
6632013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
664
665 Add few more tests.
666
583e5b64
VS
6672013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * include/grub/arc/arc.h: Account for missing "other" peripheral on
670 ARCS. All users updated.
671
aa7bcb99
VS
6722013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
675
95ef1a54
VS
6762013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
677
678 * grub-core/partmap/amiga.c: Fix size of checksummed block.
679
46546fc5
VS
6802013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
683 Reported by: qwertial.
684
3476e0ef
VT
6852013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
686
687 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
688 with syntax "XXX deg"/"XXX °".
689
96f33fed
VS
6902013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
691
692 Make PCI init in i386-qemu port more robust.
693
6942013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
695
696 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
697 cached view is reused.
698 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
699 open boot menus.
700
c53b4e67
VS
7012013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
702
703 Unify more code in grub-install_header.
704
f7457fb2
VS
7052013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
706
707 Add few new tests.
708
e2f27a8c
VS
7092013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
710
711 Enforce disabling of firmware disk drivers when native drivers kick in.
712
ef9d8cd5
VS
7132013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * grub-core/commands/nativedisk.c: Customize the list of modules on
716 platform. Don't try to search for disks already using native drivers.
717
f7bf6c31
VS
7182013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
721 platforms.
722
bdc4add8
VS
7232013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
726 handling of variables containing backslash.
727
e9e46c9a
VS
7282013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
731 dereference.
732 Reported by: qwertial.
733
0e90dee8
VS
7342013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
737
e0aacf24
VS
7382013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
741 dereference.
742 Reported by: qwertial.
743
3c0003c3
VS
7442013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * docs/grub.texi: Add a comment about usefullness of nativedisk.
747
adb7d667
VS
7482013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
751
7cd0df84
VS
7522013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
753
754 New command `nativedisk'.
755
02adbb93
VS
7562013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
759 * grub-core/loader/i386/bsd.c: Likewise.
760
9fb0fd4f
VS
7612013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
762
763 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
764
bd69257a
VS
7652013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
768 grub_get_unaligned16 rather than shifts.
769
178c2764
VS
7702013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * grub-core/kern/file.c: Use const char * rather than casting to
773 non-const.
774
eadfad24
VS
7752013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * grub-core/commands/probe.c: Add missing grub_device_close.
778
9f73ebd4
VS
7792013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * INSTALL: Document linguas.sh.
782
965fa829
VS
7832013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
784
785 Remove POTFILES.in and regenerate it in autogen.sh.
786
d417ddc4
VS
7872013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
788
789 Move --directory/--override-directorry to grub-install_header and unify.
790
f97ec546
VS
7912013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/term/morse.c: Macroify dih and dah.
794
b2d7470c
PFS
7952013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
796
797 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
798
141e2a78
VS
7992013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * grub-core/term/ns8250.c: Systematically probe ports by writing
802 to SR before using them.
803
1dd70ebd
PFS
8042013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
805
806 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
807 disks.
808 (check_sas): Get sas_adress info.
809
c796a107
VS
8102013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
813 ports.
814
43168646
LD
8152013-04-27 Leon Drugi <eyak>
816
817 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
818 BSS clearing.
819
e7b8fd08
VS
8202013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
821
822 Core compression test.
823
17f9fd29
VS
8242013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
825
826 Implement grub_machine_get_bootlocation for ARC.
827
dc2a6c8b
VS
8282013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
829
830 Improve AHCI detection and command issuing.
831
f25a2ba6
VS
8322013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
833
834 Fix pseries test.
835
a6393224
VS
8362013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
837
838 Make 'make check' work on emu.
839
db99fbe8
VS
8402013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
841
842 Replace libcurses with our own vt100 handling for the ease of testing
843 and decreasing prerequisites.
844
b24ca7cd
VS
8452013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
848
63314aa4
VS
8492013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
852 compile when not needed.
853
c1b00fff
VS
8542013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * tests/pseries_test.in: New test.
857
f93e89ef
VS
8582013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
859
860 Add test to check that different boot mediums work.
861
c4b456d3
VS
8622013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
865 ofw limited ISO support.
866
5fe67f39
VS
8672013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * configure.ac: Fix loongson conditional.
870
7f63a64f
VS
8712013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
872
873 Enable mipsel-arc.
874
b04b5990
VS
8752013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
876
877 Add serial on ARC platform.
878
88d2f302
VS
8792013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
882 commit.
883
86eb23bc
VS
8842013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * tests/partmap_test.in: Add missing double semicolon.
887
eec3bb75
VS
8882013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * util/grub-mkrescue.in: Fix loongson filename.
891
e0810df3
VS
8922013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
893
894 * util/grub-mkrescue.in: Move all files that don't have a location
895 set in stone under /boot/grub. Use ISO hard links rather than copies
896 to save some space.
897
65a6b30b
VS
8982013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
901 bogus SLOF values.
902
6aff0107
VS
9032013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
904
905 Make check work on mips-arc.
906
5e013e56
VS
9072013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * util/grub-mkrescue.in: Alias sashARCS as sash.
910
d1989e2e
VS
9112013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
914 it's serial.
915
1a25e72c
VS
9162013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * util/grub-install.in: Fix target fo qemu_mips.
919 Fix extension on EFI.
920
a59a9826
VS
9212013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
924 in front of chosen entry to mark it even if highlighting is lost.
925
1a40f80c
VS
9262013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
927
928 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
929 gfxpayload=keep if cbfb is active.
930
e343549c
VS
9312013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
934
45fbd9a2
VS
9352013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
936
937 Add missing video ids to coreboot and ieee1275 video.
938
ab1440bd
VS
9392013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * util/grub-mkrescue.in: Add mips-arc support.
942
cdeb8324
VS
9432013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
946
8528c879
VS
9472013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
948
949 Move mips-arc link address. Previous link address was chosen
950 in belief that RAM on SGI platforms grows down while in fact it
951 grows up from an unusual base.
952
17fca573
VS
9532013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
956 Fix a type which prevented CD-ROM and floppy boot.
957
d178788e
VS
9582013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
959
960 Support coreboot framebuffer.
961
962 * grub-core/video/i386/coreboot/cbfb.c: New file.
963
fe4c3e7e
VS
9642013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
967 detecting too small regions.
968
ec2dd179
VS
9692013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
972
872dac83
VS
9732013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
976 Remove dprintf.
977 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
978
90ec4b7f
VS
9792013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
982 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
983 * grub-core/loader/powerpc/ieee1275/linux.c
984 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
985
f32555dd
VS
9862013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
989 Look for /boot-rom as well as /rom/boot-rom.
990
38649799
VS
9912013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
994 handling when creating text_layer failed.
995 * grub-core/video/video.c (grub_video_create_render_target):
996 Set result to 0 on error.
997 (grub_video_delete_render_target): Do not dereference NULL.
998
aeace7f7
VS
9992013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
1002 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
1003 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
1004 (grub_linux_load64): Mask out 2 high bits.
1005
4eafa175
AB
10062013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
1007
1008 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
1009 more place.
1010
daaa64bd
VS
10112013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 Add support for pseries and other bootinfo machines to grub-mkrescue.
1014
1015 Tested by: Paulo Flabiano Smorigo.
1016
d0d2daa6
VS
10172013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * util/grub-mkrescue.in: Add GPT for EFI boot.
1020
b193e100
VS
10212013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
1024 It improves performance in qemu.
1025
a0f8f3ac
VS
10262013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * build-aux/snippet: Add missing gnulib files.
1029
284df0e2
AB
10302013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1031
1032 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
1033
740201f3
AB
10342013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1035
1036 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
1037
a7e03923
PJ
10382013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
10392013-04-15 Peter Jones <pjones@redhat.com>
1040
1041 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
1042 sectors.
1043 Based on patch by Peter Jones.
1044
25fc51a8
VS
10452013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 Fix DMRAID partition handling.
1048
88017d47
VS
10492013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * tests/grub_cmd_date.in: Skip on sparc64.
1052
fa7d914e
VS
10532013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
1056 firmware error messages.
1057
cbe57a48
VS
10582013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
1061 source and destination differ.
1062
21aecce0
VS
10632013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
1066 detection.
1067
25092d29
VS
10682013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
1071 match config-util.h to avoid warnings and increase compatibility.
1072
79451522 10732013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 10742013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
1075
1076 Add option to compress files on install/image creation.
1077
78b7d77b
VS
10782013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 * docs/grub-dev.texi: Rearrange menu to match the section order.
1081 Reported by: Bryan Hundven.
1082
cc2fa5ec
VS
10832013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
1086
b49fe879
VS
10872013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 Move GRUB out of system area when using xorriso 1.2.9 or later.
1090
5351da81
VS
10912013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * tests/grub_cmd_date.in: Add missing exit 1.
1094
c9d586ea
VS
10952013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * tests/partmap_test.in: Skip on sparc64.
1098
3f729741
VS
10992013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 Support grub-shell on sparc64.
1102
8ca86b3a
VS
11032013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 Support mkrescue on sparc64.
1106
aa1af9bb
VS
11072013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 Allow IEEE1275 ports on path even if it wasn't detected automatically.
1110 Needed on OpenBIOS due to incomplete device tree.
1111
ac4fea79
VS
11122013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
1115 would be otherwise excluded.
1116
11172013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
1118
1119 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1120 Inline name defines used only once.
1121
fe22b071
VS
11222013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 Fix memory leaks in ofnet.
1125 Reported by: Francesco Lavra.
1126
9d21381b
VS
11272013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * docs/man/grub-glue-efi.h2m: Add missing file.
1130
07aec23c
VS
11312013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
1134
67ab8353
VS
11352013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 Better support Apple Intel Macs on CD.
1138
ba44ca6d
VS
11392013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 Replace stpcpy with grub_stpcpy in tools.
1142
bbdd6305
VS
11432013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 Handle Japanese special keys.
1146 Reported by: Hiroyuki YAMAMORI.
1147 Codes supplied by: Hiroyuki YAMAMORI.
1148
8573d302
VS
11492013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * util/grub-mkimage.c: Document memdisk implying --prefix.
1152
d70dbab7
VS
11532013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
1156 much we can do about it anyway.
1157
51a4c3e3
AN
11582013-04-12 Aleš Nesrsta <starous@volny.cz>
1159
1160 Fix handling of split transfers.
1161
92c8f58d
VS
11622013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/net/http.c: Fix bad free.
1165
b7d17a49
VS
11662013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
1169 than buffer size.
1170
a3d566d4
VS
11712013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 Disable partmap check on i386-ieee1275 due to openfirmware issues.
1174
a936af56
VS
11752013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * tests/util/grub-shell.in: Fix it on powerpc.
1178
51212234
VS
11792013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 Turn off QEMU ACPI-way since new releases don't have shutdown port
1182 anymore.
1183
a21eec9e
VS
11842013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * docs/grub.texi: Update coreboot status info.
1187
e3734b84
VS
11882013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * tests/grub_cmd_date.in: New test for datetime.
1191
f9d40055
VS
11922013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * tests/partmap_test.in: Fix missing qemudisk setting.
1195
dbc56d8f
VS
11962013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 Support i386-ieee1275 grub-mkrescue and make check on it.
1199
a79b8a15
VS
12002013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
1203 feature for it.
1204
48f39bb4
VS
12052013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
1208 GRUB_CMDLINE_XEN_DEFAULT.
1209 Reported by: Marc Warne (GigaTux) <gigatux>
1210
053cfcdd
VS
12112013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 Import new gnulib.
1214
93cd84df
VS
12152013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 Use ACPI shutdown intests as traditional port was removed.
1218
f4b1fa4f
AB
12192013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
1220
1221 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
1222 distinction.
1223
49818a59
VS
12242013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
1227 Fix few warining messages and leaks while on it.
1228
9277a306
AB
12292013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
1230
1231 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
1232 links under grub-core/lib/libgcrypt-grub/mpi.
1233
d5e2a158
VS
12342013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 Fix ia64-efi image generation on big-endian machines. Deduplicate
1237 some code while on it.
1238 Reported by: Leif Lindholm.
1239
18866643
AB
12402013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1241
1242 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
1243 as extra_dist.
1244
ca53deb8
AB
12452013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1246
1247 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
1248
d4c4b8e1
BH
12492013-04-08 Bryan Hundven <bryanhundven@gmail.com>
1250
1251 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
1252 texinfo-5.1.
1253
47043f95
VS
12542013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/normal/term.c: Few more fixes for menu entry editor
1257 rendering.
1258 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1259
a3216068
VS
12602013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * grub-core/normal/term.c: Few more fixes for menu entry editor
1263 rendering.
1264 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1265
21026747
AB
12662013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1267
1268 * conf/Makefile.extra-dist (EXTRA_DIST): Add
1269 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
1270
59624ca8
AB
12712013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1272
1273 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
1274 instead of hardcoding grub.mo.
1275
1f44478c
FN
12762013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
1277
1278 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
1279
eeada7b1
VS
12802013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
1283 grub-core/disk/geli.c.
1284
132867de
VS
12852013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * util/grub-mkfont.c: Prefer enum to #define.
1288
de73de17
VS
12892013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
1292
1865baa7
VS
12932013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
1296
ce7d92a9
VS
12972013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
1300
52eab656
VS
13012013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
1304
98b23b95
VS
13052013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * include/grub/bsdlabel.h: Use enums.
1308
0467a5dd
VS
13092013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 Move GRUB_CHAR_BIT to types.h.
1312
16cc9f03
AB
13132013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1314
1315 * docs/grub.texi: Document more user commands.
1316
3152aecb
AB
13172013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1318
1319 * docs/grub.texi: Document menuentry --id option.
1320
c506fc30
FL
13212013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
1322
1323 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
1324
aa428238
VS
13252013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 Unify file copying setup across different install scripts. Add
1328 options for performing partial install.
1329
efe0cdda
PJ
13302013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13312013-04-04 Peter Jones <pjones@redhat.com>
1332
1333 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
1334
f75835bd
VS
13352013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 Use TSC as a possible time source on i386-ieee1275.
1338
2cd5ce6c
VS
13392013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
1342 Init err.
1343
c9625630
VS
13442013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * util/grub-setup.c (setup): Handle some corner cases.
1347
be008941
VS
13482013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
1351
1a78d573
VS
13522013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/commands/verify.c: Save verified file to avoid it being
1355 tampered with after verification was done.
1356
db8ff59f
VS
13572013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
1360 reported width by one to compensate for curesor algorithm problem.
1361
91bf46b1
VS
13622013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 Fix screen corruption in menu entry editor and simplify the code
1365 flow while on it.
1366
a7b1d693
AB
13672013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
1368
1369 * util/grub-mount.c (fuse_init): Return error if fuse_main
1370 failed.
1371
31df9ad8
FL
13722013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
1373
1374 * include/grub/elf.h: Add missing ARM relocation codes and fix
1375 existing ones.
1376
07f392eb
VT
13772013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1378
1379 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
1380
9efd73ec 13812013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
13822013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
1385 into account when calculating radius.
1386
13872013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
1388
1389 * grub-core/gfxmenu/view.c: Fix off-by-one error.
1390
4985ddaa
VT
13912013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1392
1393 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
1394
8c3635ff
RS
13952013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
1396
1397 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
1398 missing closing bracket.
1399
74a35e69
RS
14002013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
1401
1402 * INSTALL: Mention xorriso requirement.
1403
40f1c000
AB
14042013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
1405
1406 * grub-core/commands/verify.c: Fix hash algorithms values for
1407 the first three hashes - they start with 1, not with 0.
1408
e75fdee4
VS
14092013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
1412 Try terminating EFI services several times due to quirks in some
1413 implementations.
1414
33028f4c
CW
14152013-03-26 Colin Watson <cjwatson@ubuntu.com>
1416
1417 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
1418 skipping Event, Device, Processor, PowerRes, ThermalZone, and
1419 BankField extended opcodes.
1420 (get_sleep_type): Add minimal scope handling (just enough to
1421 handle setting the scope to the root path).
1422 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
1423 * include/grub/acpi.h: Add enumeration values for Event, Device,
1424 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
1425
33871a10
VT
14262013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
1427
1428 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
1429 memory leak.
1430
8990963a
VS
14312013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * grub-core/disk/ahci.c: Give more time for AHCI request.
1434
daae8f9e
VS
14352013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
1438 command.
1439
6a7fb94b
VS
14402013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 Replace the region at 0 from coreboot tables to available in BSD
1443 memory map.
1444
ff99babd
VS
14452013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
1448 non-BIOS platforms.
1449
30d6b1b2
VS
14502013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
1453 platforms.
1454
6ccd0b31
VS
14552013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
1458 handling of multi-device filesystems.
1459
23c9cc04
VS
14602013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
1463 platforms.
1464
ce50dbd7
VS
14652013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 Add new 'proc' filesystem framework and put luks_script into it.
1468
d975e8d5
VS
14692013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
1472 and qemu.
1473
e73ba5e8
VS
14742013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
1477
92750e4c
VS
14782013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 Add ability to generate newc additions on runtime.
1481
0ec45a68
VS
14822013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
1485 description.
1486
320abd43
VS
14872013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * po/POTFILES.in: Regenerate.
1490
d7a6506e
VS
14912013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * grub-core/commands/verify.c (hashes): Add several hashes
1494 from the spec.
1495
8fe05def
VS
14962013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 Slight improve in USB-related boot-time checkpoints.
1499
524e2766
VS
15002013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/commands/boottime.c: Fix copyright header.
1503
cc19857a
VS
15042013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
1507 coreboot tables content. Support for cbmemc.
1508
ef8810e9
VS
15092013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 Fix a conflict between ports structures with 2 controllers of
1512 same kind.
1513
e9dabdfa
VS
15142013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 * include/grub/boottime.h: Add missing file.
1517
f6df57d2
VS
15182013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 Initialize USB ports in parallel to speed-up boot.
1521
d745dda7
VS
15222013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 Fix USB devices not being detected when requested
1525 due to delayed attach.
1526
e5a2dd7b
VS
15272013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1528
e744219b
VS
1529 Implement boot time analysis framework.
1530
15312013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
1534 descriptor to just receive it as argument rather than endpoint
1535 address.
1536
5dd6f587
VS
15372013-03-19 Aleš Nesrsta <starous@volny.cz>
1538
1539 Better estimate the maximum USB transfer size.
1540
2f1071d5
VS
15412013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 Resend a packet if we got the wrong buffer in status.
1544
46ecfc49
VS
15452013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
1548 multiplication rather than division.
1549
ea811130
VS
15502013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
1553 than divisions.
1554
d2789cf0
VS
15552013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
1558 operations to have intended shifts and not divisions.
1559
a9c94590
VS
15602013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
1563 intended shifts rather than division.
1564
84cfe81b
VS
15652013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
1568 computation for some years before epoch. Avode confusing division
1569 while on it.
1570
21344ef6
VS
15712013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * grub-core/video/i386/pc/vbe.c
1574 (grub_video_vbe_print_adapter_specific_info): Replace division by
1575 shifts.
1576
3f2b4d1a
VS
15772013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 Adjust types in gdb module to have intended unsigned shifts rather than
1580 signed divisions.
1581
3dac5878
VS
15822013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
1585 maximum size is 4G - 1 on hfs
1586
5341c0fb
VS
15872013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
1590
fc3ff2a2
VS
15912013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
1594 function.
1595
81455e8e
AB
15962013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
1597
1598 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
1599 causing gcc error with gcc 4.7.1.
1600
efd4f117
NZ
16012013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
1602
1603 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
1604 dereference null pointer. While the code is technically correct, gcc
1605 may eliminate a null check if pointer is already dereferenced.
1606
e11645f4
NZ
16072013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
1608
1609 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
1610 OOM check.
1611 * grub-core/normal/term.c (read_terminal_list): Likewise.
1612
77468368
VS
16132013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 Lift up core size limits on some platforms. Fix potential memory
1616 corruption with big core on small memory systems. Document remaining
1617 limits.
1618
f6b58fe5
VS
16192013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
1622 gotoxy to 0,0.
1623
19ce697d
VS
16242013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 Remove all trampoline support. Add -Wtrampolines when
1627 present. Remove symbols used for trampolines to make
1628 link fail if trampolines are present.
1629
73b5d90f
VS
16302013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
1633 append out of its parent.
1634
cb758e96
VS
16352013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
1638 parent.
1639
3188131f
VS
16402013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
1643 all vars to a macro. All users updated.
1644
e42b2514
VS
16452013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 * grub-core/disk/ieee1275/nand.c: Fix compilation on
1648 i386-ieee1275.
1649
83e1a1a1
VS
16502013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
1653
1d5a880f
VS
16542013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
1657
6e4146c4
VS
16582013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 Move to more hookless approach in IEEE1275 devices handling.
1661
99fcda8a
VS
16622013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * grub-core/kern/term.c (grub_term_normal_color),
1665 (grub_term_highlight_color): Add back lost defaults.
1666
73bf57e2
VS
16672013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 Make elfload not use hooks. Opt for flags and iterators instead.
1670
7f8c105f
VS
16712013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
1674 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
1675
396d4091
VS
16762013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/script/execute.c (gettext_append): Remove nested functions.
1679
16802013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
1683 hook pass-through parameter. All users updated and unnested.
1684
74a27421
VS
16852013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
1688 out of its parent.
1689
b46d4213
VS
16902013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * grub-core/fs/hfs.c: Remove nested functions.
1693
e114c3cc
VS
16942013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
1697 the context through.
1698 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
1699
f9b7d780
VS
17002013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 * util/grub-editenv.c (list_variables): Move print_var out of its
1703 parent.
1704
ca9c2608
VS
17052013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
1708 function.
1709
5d983f5f
VS
17102013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * grub-core/gentrigtables.c: Make tables const.
1713
3056d3e7
VS
17142013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 Remove nested functions from videoinfo iterators.
1717
e2303774
VS
17182013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
1721 for 64-bit platforms.
1722
f42e3a2f
VS
17232013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
1726 a FOR_CHILDREN macro.
1727
be174e5e
VS
17282013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
1731 platform from firmware path.
1732
0789b672
VS
17332013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 Enable linux16 on non-BIOS systems for i.a. memtest.
1736
1737 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
1738 correctly.
1739 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
1740
005a9c32
VS
17412013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
1744 Fix end of table condition.
1745
ff2b3cd9
VS
17462013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
1749 out of its parent.
1750
4fc40ff8
VS
17512013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * grub-core/fs/jfs.c: Remove nested functions.
1754
be42d97a
VS
17552013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * grub-core/fs/minix.c: Remove nested functions.
1758
99373ce4
VS
17592013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * grub-core/fs/iso9660.c: Remove nested functions.
1762
5aec2afe
VS
17632013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
1766 of parent function.
1767
6c69e691
VS
17682013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * util/grub-fstest.c: Remove nested functions.
1771
43c91882
VS
17722013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/loader/machoXX.c: Remove nested functions.
1775
4eb8b756
CW
17762013-02-27 Colin Watson <cjwatson@ubuntu.com>
1777
1778 Remove nested functions from disk and file read hooks.
1779
1780 * include/grub/disk.h (grub_disk_read_hook_t): New type.
1781 (struct grub_disk): Add read_hook_data member.
1782 * include/grub/file.h (struct grub_file): Likewise.
1783 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
1784 argument.
1785
1786 Update all callers.
1787
df6da5a5
AB
17882012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
1789
1790 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
1791 Fix off by one error in enumerating extended partitions.
1792
21aecde5
AB
17932013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
1794
1795 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
1796 memory leak if device name is not found.
1797
f1a19118
AB
17982013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
1799
1800 * grub-core/normal/menu_entry.c (update_screen): remove
1801 unused variable `off' which caused scroll down arrow to be always shown.
1802
958bfd20
AB
18032013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
1804
1805 * grub-core/normal/menu_entry.c (insert_string): fix off by one
1806 access to unallocated memory.
1807
b7b78edb
AB
18082013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
1809
1810 * Makefile.util.def: Add partmap/msdos.c to common library.
1811 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
1812 * grub-core/disk/ldm.c: Check for existence of
1813 GRUB_PC_PARTITION_TYPE_LDM.
1814
28d468d6
VS
18152013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
1818 sizes and display sector size.
1819
d55ffb02
VS
18202013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 Implement new command cmosdump.
1823
b5ea6ce0
VS
18242013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1825
1826 Support Openfirmware disks with non-512B sectors.
1827
1828 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
1829 size of the disk.
1830 * (grub_ofdisk_get_block_size): New function.
1831 * (grub_ofdisk_prepare): Use the correct block size.
1832 * (grub_ofdisk_read): Likewise.
1833 * (grub_ofdisk_write): Likewise.
1834 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
1835 New proto.
1836
cc0e476f
VS
18372013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
1840
c5dbdc33
VS
18412013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
1844 on first error.
1845
3f078c0f
VS
18462013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
1849 freeing it.
1850
66a93674
VS
18512013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 Implement USBDebug (full USB stack variant).
1854
c9f0c134
VS
18552013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
1858 unless they have unexpected values.
1859
cfe1288b
VS
18602013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
1863 grub_print_error.
1864
e42b9969
VS
18652013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
1868 zero-out of port structure.
1869
cf94fd62
VS
18702013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
1873 of extended attributes.
1874
f81ef4b5
AB
18752013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
1876
1877 * util/grub-install.in: change misleading comment about
1878 device.map creation
1879
af18fdb4
VS
18802013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
1883 when menu highlight color isn't set.
1884
08bcec50
M
18852013-01-27 C. Masloch <pushbx@38.de>
1886
1887 Improve FreeDOS direct loading support compatibility.
1888
1889 * include/grub/i386/relocator.h (grub_relocator16_state):
1890 New member ebp.
1891 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
1892 variable.
1893 (grub_relocator16_boot): Handle %ebp.
1894 * grub-core/lib/i386/relocator16.S: Likewise.
1895 * grub-core/loader/i386/pc/freedos.c:
1896 Load BPB to pass kernel which partition to load from.
1897 Check that kernel file is not too large.
1898 Set register dl to BIOS unit number as well.
1899
7782b8a6
CW
19002013-01-22 Colin Watson <cjwatson@ubuntu.com>
1901
1902 * util/grub-reboot.in (usage): Document the need for
1903 GRUB_DEFAULT=saved.
1904 * util/grub-set-default.in (usage): Likewise.
1905 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
1906
e661c180
VS
19072013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
1910 than defining WORDS_BIGENDIAN manually.
1911
1c22ca9a
VS
19122013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
1915 invariants.
1916
d44892fe
CW
19172013-01-21 Colin Watson <cjwatson@ubuntu.com>
1918
1919 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
1920 nested.
1921 (blit_comb: add_device_width): Likewise.
1922
5fdbaed1
CW
19232013-01-21 Colin Watson <cjwatson@ubuntu.com>
1924
1925 Remove nested functions from USB iterators.
1926
1927 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
1928 (grub_usb_controller_iterate_hook_t): Likewise.
1929 (grub_usb_iterate): Add hook_data argument.
1930 (grub_usb_controller_iterate): Likewise.
1931 (struct grub_usb_controller_dev.iterate): Likewise.
1932
1933 Update all implementations and callers.
1934
4250985a
VS
19352013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
1938 margin when not needed.
1939
7d8848f3
VS
19402013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1941
bc136973 1942 Make color variables global instead of it being per-terminal.
7d8848f3
VS
1943
19442013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1945
bc136973
VS
1946 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
1947 asterisk.
7d8848f3 1948
ed12a003
CW
19492013-01-21 Colin Watson <cjwatson@ubuntu.com>
1950
1951 Fix powerpc and sparc64 build failures caused by un-nesting memory
1952 map iterators.
1953
6a0db449
CW
19542013-01-21 Colin Watson <cjwatson@ubuntu.com>
1955
1956 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
1957 parameter declarations.
1958
ccd86b21
VS
19592013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
1962
822b726b
VS
19632013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 Improve spkmomdem reliability by adding a separator between bytes.
1966
115c2cc1
CW
19672013-01-21 Colin Watson <cjwatson@ubuntu.com>
1968
1969 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
1970 an Acer registration utility with several sightings in the wild.
1971 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
1972
fc524edf
CW
19732013-01-21 Colin Watson <cjwatson@ubuntu.com>
1974
1975 Remove nested functions from filesystem directory iterators.
1976
1977 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
1978 (struct grub_fs.dir): Add hook_data argument.
1979
1980 Update all implementations and callers.
1981
53d3e4e3
CW
19822013-01-21 Colin Watson <cjwatson@ubuntu.com>
1983
1984 * docs/grub.texi (Multi-boot manual config): Fix typo for
1985 "recommended".
1986
c821711f
LL
19872013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1988
1989 * util/grub-mkimage.c (main): Postpone freeing arguments.output
1990 until after its use in generate_image.
1991
6a0debbd
CW
19922013-01-20 Colin Watson <cjwatson@ubuntu.com>
1993
1994 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
1995 initrd size to addr_min, since the initrd will be allocated after
1996 this address.
1997
f41e08db
AB
19982013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
1999
2000 * conf/Makefile.common: Fix autogen rules to pass definition
2001 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
2002
77529e0f
LL
20032013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2004
2005 * include/grub/elf.h: Update ARM definitions based on binutils.
2006
b879aa7b
VS
20072013-01-20 Aleš Nesrsta <starous@volny.cz>
2008
2009 Split long USB transfers into short ones.
2010
8eb8284d
AB
20112013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2012
2013 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
2014 is interrupted by ESC.
2015
08dad2dc
VS
20162013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * util/grub-script-check.c (main): Uniform the error message.
2019
6c724b85
CW
20202013-01-20 Colin Watson <cjwatson@ubuntu.com>
2021
2022 Remove nested functions from ELF iterators.
2023
25239370
CW
20242013-01-20 Colin Watson <cjwatson@ubuntu.com>
2025
2026 Remove nested functions from device iterators.
2027
2028 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
2029 (grub_arc_iterate_devs): Add hook_data argument.
2030 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
2031 (struct grub_ata_dev.iterate): Add hook_data argument.
2032 * include/grub/device.h (grub_device_iterate_hook_t): New type.
2033 (grub_device_iterate): Add hook_data argument.
2034 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
2035 (struct grub_disk_dev.iterate): Add hook_data argument.
2036 (grub_disk_dev_iterate): Likewise.
2037 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
2038 Likewise.
2039 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
2040 Likewise.
2041 * include/grub/partition.h (grub_partition_iterate_hook_t): New
2042 type.
2043 (struct grub_partition_map.iterate): Add hook_data argument.
2044 (grub_partition_iterate): Likewise.
2045 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
2046 (struct grub_scsi_dev.iterate): Add hook_data argument.
2047
2048 Update all callers.
2049
6c0314d6
CW
20502013-01-20 Colin Watson <cjwatson@ubuntu.com>
2051
2052 Fix typos for "developer" and "development".
2053
600dc5f1
VS
20542013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 Add license header to spkmodem-recv.c.
2057
17334a6b
VS
20582013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 Rewrite spkmodem to use PIT for timing. Double the speed.
2061
7d462559
VS
20622013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 Add new command pcidump.
2065
b78d6c32
VS
20662013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 New terminal outputs using serial: morse and spkmodem.
2069
34f71cb8
VS
20702013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 Improve bidi handling in entry editor.
2073
4542e71b
VS
20742013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2075
2076 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2077 argument to prevent name collision.
2078
09fd6d82
CW
20792013-01-15 Colin Watson <cjwatson@ubuntu.com>
2080
2081 Remove nested functions from script reading and parsing.
2082
2083 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
2084 getline_data argument, passed to getline.
2085 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
2086 getline_data argument, passed to grub_parser_split_cmdline.
2087 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
2088 lexerstate->getline_data to lexerstate->getline.
2089 (grub_script_lexer_init): Add getline_data argument, saved in
2090 lexerstate->getline_data.
2091 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
2092 argument, passed to grub_script_parse.
2093 * grub-core/script/script.c (grub_script_parse): Add getline_data
2094 argument, passed to grub_script_lexer_init.
2095 * include/grub/parser.h (grub_parser_split_cmdline): Update
2096 prototype. Update all callers to pass appropriate getline data.
2097 (struct grub_parser.parse_line): Likewise.
2098 (grub_rescue_parse_line): Likewise.
2099 * include/grub/reader.h (grub_reader_getline_t): Add void *
2100 argument.
2101 * include/grub/script_sh.h (struct grub_lexer_param): Add
2102 getline_data member.
2103 (grub_script_parse): Update prototype. Update all callers to pass
2104 appropriate getline data.
2105 (grub_script_lexer_init): Likewise.
2106 (grub_normal_parse_line): Likewise.
2107
2108 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
2109 data argument.
2110 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
2111 static instead of nested. Rename to ...
2112 (grub_parser_execute_getline): ... this.
2113 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
2114 data argument.
2115 * grub-core/normal/main.c (read_config_file: getline): Make static
2116 instead of nested. Rename to ...
2117 (read_config_file_getline): ... this.
2118 (grub_normal_read_line): Add unused data argument.
2119 * grub-core/script/execute.c (grub_script_execute_sourcecode:
2120 getline): Make static instead of nested. Rename to ...
2121 (grub_script_execute_sourcecode_getline): ... this.
2122 * util/grub-script-check.c (main: get_config_line): Make static
2123 instead of nested.
2124
d0d4b8a0
CW
21252013-01-15 Colin Watson <cjwatson@ubuntu.com>
2126
2127 Remove nested functions from memory map iterators.
2128
2129 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
2130 argument, passed to hook.
2131 * grub-core/kern/i386/coreboot/mmap.c
2132 (grub_linuxbios_table_iterate): Likewise.
2133 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
2134 instead of nested.
2135 (grub_machine_mmap_iterate): Add hook_data argument.
2136 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
2137 Add hook_data argument, passed to hook.
2138 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
2139 Likewise.
2140 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2141 Likewise.
2142 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
2143 Likewise.
2144 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
2145 Likewise.
2146 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
2147 Likewise.
2148 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
2149 Likewise.
2150 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
2151 (grub_machine_mmap_iterate): Likewise.
2152 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
2153 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
2154 prototype.
2155 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
2156 Remove NESTED_FUNC_ATTR from here and from all users.
2157 (grub_mmap_iterate): Update prototype.
2158 (grub_efi_mmap_iterate): Update prototype. Update all callers to
2159 pass appropriate hook data.
2160 (grub_machine_mmap_iterate): Likewise.
2161
2162 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
2163 static instead of nested.
2164 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
2165 Rename to ...
2166 (lsmmap_hook): ... this.
2167 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
2168 Likewise.
2169 (grub_efiemu_mmap_fill: fill_hook): Likewise.
2170 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
2171 heap_init): Likewise.
2172 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
2173 Rename to ...
2174 (mmap_iterate_hook): ... this.
2175 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
2176 Likewise.
2177 * grub-core/lib/ieee1275/relocator.c
2178 (grub_relocator_firmware_get_max_events: count): Likewise.
2179 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
2180 to ...
2181 (grub_relocator_firmware_fill_events_iter): ... this.
2182 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
2183 hook): Likewise. Rename to ...
2184 (grub_relocator_alloc_chunk_align_iter): ... this.
2185 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
2186 Rename to ...
2187 (generate_e820_mmap_iter): ... this.
2188 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
2189 Rename to ...
2190 (count_hook): ... this.
2191 (grub_linux_boot: hook): Likewise. Rename to ...
2192 (grub_linux_boot_mmap_find): ... this.
2193 (grub_linux_boot: hook_fill): Likewise. Rename to ...
2194 (grub_linux_boot_mmap_fill): ... this.
2195 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
2196 hook): Likewise. Rename to ...
2197 (grub_fill_multiboot_mmap_iter): ... this.
2198 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
2199 hook): Likewise. Rename to ...
2200 (count_hook): ... this.
2201 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
2202 hook): Likewise. Rename to ...
2203 (grub_fill_multiboot_mmap_iter): ... this.
2204 * grub-core/loader/powerpc/ieee1275/linux.c
2205 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
2206 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
2207 Likewise. Rename to ...
2208 (alloc_phys_choose): ... this.
2209 (determine_phys_base: get_physbase): Likewise.
2210 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
2211 find_hook): Likewise.
2212 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
2213 (malloc_hook: count_hook): Likewise.
2214 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
2215 Likewise. Rename to ...
2216 (lower_hook): ... this.
2217 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2218 (upper_hook): ... this.
2219 (grub_mmap_get_post64: hook): Likewise. Rename to ...
2220 (post64_hook): ... this.
2221 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
2222 Likewise. Rename to ...
2223 (lower_hook): ... this.
2224 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2225 (upper_hook): ... this.
2226 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
2227 (grub_mmap_iterate: fill_hook): Likewise.
2228 (fill_mask): Pass addr and mask within a single struct.
2229 (grub_cmd_badram: hook): Make static instead of nested. Rename
2230 to ...
2231 (badram_iter): ... this.
2232 (grub_cmd_cutmem: hook): Likewise. Rename to ...
2233 (cutmem_iter): ... this.
2234
22099030
VS
22352013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
2238 delimit path in strings using quotes.
2239 * util/getroot.c (grub_guess_root_devices): Likewise.
2240 (grub_make_system_path_relative_to_its_root): Likewise.
2241 * util/grub-probe.c (probe): Likewise.
2242 * util/ieee1275/ofpath.c (find_obppath): Likewise.
2243 (xrealpath): Likewise.
2244
4a9950ec
VS
22452013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 Fix compilation with older compilers.
2248
2249 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
2250 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
2251 declarations.
2252 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
2253 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
2254 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
2255 identifier with b.
2256 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
2257 * include/grub/crypto.h: Add type defines.
2258 * util/import_gcrypth.sed: Remove duplicate type defines.
2259
adcc6020
VS
22602013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 New command list_trusted.
2263
2264 * grub-core/commands/verify.c (grub_cmd_list): New function.
2265
a4528937
CW
22662013-01-13 Colin Watson <cjwatson@ubuntu.com>
2267
2268 * util/grub-mkimage.c (generate_image): Fix "size of public key"
2269 info message.
2270
ca3a7446
CW
22712013-01-13 Colin Watson <cjwatson@ubuntu.com>
2272
2273 Remove nested functions from PCI iterators.
2274
2275 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
2276 passed to hook. Update all callers to pass appropriate hook data.
2277 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
2278 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
2279 Remove NESTED_FUNC_ATTR from here and from all users.
2280 (grub_pci_iterate): Update prototype.
2281 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
2282 instead of nested. Rename to ...
2283 (grub_cs5536_find_iter): ... this.
2284 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
2285 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
2286 Likewise.
2287 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
2288 Likewise.
2289 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
2290 Likewise.
2291 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
2292 Likewise.
2293 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
2294 * grub-core/video/radeon_fuloong2e.c
2295 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
2296 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
2297 find_card): Likewise.
2298 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
2299 Likewise.
2300
f8e98fee
VS
23012013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * grub-core/commands/verify.c: Mark messages for translating.
2304
055b36b6
VS
23052013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
2308 fatal.
2309
f7ff879b
VS
23102013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
2313 fatal.
2314
23152013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
2316
2317 * autogen.sh: Do not try to delete nonexistant files.
2318 * util/import_gcrypth.sed: Add some missing header removals.
2319
01323d49
CW
23202013-01-12 Colin Watson <cjwatson@ubuntu.com>
2321
2322 Clean up dangling references to grub-setup.
2323 Fixes Ubuntu bug #1082045.
2324
2325 * docs/grub.texi (Images): Refer generally to grub-install rather
2326 than directly to grub-setup.
2327 (Installing GRUB using grub-install): Remove direct reference to
2328 grub-setup.
2329 (Device map) Likewise.
2330 (Invoking grub-install): Likewise.
2331 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2332 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2333 * util/grub-install.in (usage): Likewise.
2334
2335 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
2336 Apply to grub-bios-setup and grub-sparc64-setup rather than to
2337 grub-setup.
2338 * configure.ac: Remove grub_setup output variable.
2339
2340 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
2341 to grub-bios-setup.
2342 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
2343 grub-setup to grub-sparc64-setup.
2344
5e3b8dcb
VS
23452013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 Import gcrypt public-key cryptography and implement signature checking.
2348
535714bd
VS
23492013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * grub-core/fs/ntfs.c: Ue more appropriate types.
2352 * grub-core/fs/ntfscomp.c: Likewise.
2353 * include/grub/ntfs.h: Likewise.
2354
3e4f3566
VS
23552013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 Support Apple FAT binaries on non-Apple platforms.
2358
2359 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
2360 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
2361 Likewise.
2362 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
2363 Apple FAT binaries.
2364
4dedb13f
VS
23652013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
2368 sector devices.
2369
f8861eaf
CW
23702013-01-07 Colin Watson <cjwatson@ubuntu.com>
2371
2372 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
2373 explicitly zeroing elements.
2374 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
2375 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
2376 of elements in a structure already allocated using grub_zalloc.
2377 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
2378
86065b0a
CW
23792013-01-07 Colin Watson <cjwatson@ubuntu.com>
2380
2381 * docs/grub.texi (grub_cpu): New subsection.
2382 (grub_platform): Likewise.
2383
c6f1e92f
VS
23842013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
2387
f797ec85
VS
23882013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
2391 divisions.
2392
033d0b4b
VS
23932013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
2396 * grub-core/fs/ntfscomp.c: Likewise.
2397 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
2398 (grub_ntfs_comp): Likewise.
2399
21d1b9a0
VS
24002013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
2403 Rename to ...
2404 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
2405 of groups_per_block. All users updated.
2406
10ca8645
VS
24072013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
2410 grub_error properly.
2411 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
2412 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
2413
a4c3ed4c
VS
24142013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
2417 always in /boot/zfs.
2418 Reported by: Yuta Satoh.
2419
0b716507
YS
24202013-01-03 Yuta Satoh <nigoro>
2421
2422 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
2423 ${grub_probe}
2424
00c05e22
VS
24252013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * configure.ac: Extend -Wno-trampolines to host.
2428
dadddb76
VS
24292013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
2432 entry->len = 0.
2433
54ce53ca
CW
24342013-01-03 Colin Watson <cjwatson@ubuntu.com>
2435
2436 * docs/grub.texi (Invoking grub-mkrelpath): New section.
2437 (Invoking grub-script-check): Likewise.
2438
8912efca
CW
24392013-01-03 Colin Watson <cjwatson@ubuntu.com>
2440
2441 * docs/grub.texi (Invoking grub-mount): New section.
2442 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
2443
c3fc8394
CW
24442013-01-02 Colin Watson <cjwatson@ubuntu.com>
2445
2446 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
2447 test failures, so that a failing unit test correctly causes 'make
2448 check' to fail.
2449
45d26abb
CW
24502013-01-02 Colin Watson <cjwatson@ubuntu.com>
2451
2452 Fix failing printf test.
2453
2454 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
2455 '$' in the correct order when collecting type information.
2456
971dd2c6
CW
24572013-01-02 Colin Watson <cjwatson@ubuntu.com>
2458
2459 * docs/grub.texi (configfile): Explain environment variable
2460 handling.
2461 (source): New section.
2462 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
2463
5c67ea6c
CW
24642012-12-31 Colin Watson <cjwatson@ubuntu.com>
2465
2466 Remove several trivially-unnecessary uses of nested functions.
2467
2468 * grub-core/commands/i386/pc/sendkey.c
2469 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
2470 instead of nested.
2471 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
2472 Rename to ...
2473 (legacy_file_getline): ... this.
2474 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
2475 Likewise.
2476 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
2477 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
2478 to ...
2479 (probe_dummy_iter): ... this.
2480 * grub-core/kern/i386/coreboot/mmap.c
2481 (grub_linuxbios_table_iterate: check_signature): Likewise.
2482 * grub-core/kern/parser.c (grub_parser_split_cmdline:
2483 check_varstate): Likewise. Mark inline.
2484 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
2485 an additional parameter.
2486 (find_long: fnd_long): Likewise. Pass two additional parameters.
2487 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
2488 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
2489 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
2490 Likewise. Rename to ...
2491 (grub_cmos_find_port_iter): ... this.
2492 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
2493 Rename to ...
2494 (find_rtc_iter): ... this.
2495
2496 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
2497 function directly into the function body, since it is only called
2498 once.
2499
33a68ac6
CW
25002012-12-30 Colin Watson <cjwatson@ubuntu.com>
2501
2502 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
2503 __attribute__ ((unused)).
2504 * grub-core/video/bochs.c (find_card): Likewise.
2505 * grub-core/video/cirrus.c (find_card): Likewise.
2506 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
2507 * grub-core/video/sis315pro.c (find_card): Likewise.
2508 * grub-core/video/sm712.c (find_card): Likewise.
2509
608b647a
CW
25102012-12-28 Colin Watson <cjwatson@ubuntu.com>
2511
2512 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
2513 Fixes Savannah bug #37821.
2514
fd49ceb3
CW
25152012-12-28 Colin Watson <cjwatson@ubuntu.com>
2516
2517 Apply program name transformations at build-time rather than at
2518 run-time. Fixes Debian bug #696465.
2519
2520 * acinclude.m4 (grub_TRANSFORM): New macro.
2521 * configure.ac: Create output variables with transformed names for
2522 most programs.
2523 * util/bash-completion.d/grub-completion.bash.in: Use
2524 pre-transformed variables for program names.
2525 * util/grub-install.in: Likewise.
2526 * util/grub-kbdcomp.in: Likewise.
2527 * util/grub-mkconfig.in: Likewise.
2528 * util/grub-mkconfig_lib.in: Likewise.
2529 * util/grub-mknetdir.in: Likewise.
2530 * util/grub-mkrescue.in: Likewise.
2531 * util/grub-mkstandalone.in: Likewise.
2532 * util/grub-reboot.in: Likewise.
2533 * util/grub-set-default.in: Likewise.
2534 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2535 * tests/util/grub-shell-tester.in: Remove unused assignment.
2536 * tests/util/grub-shell.in: Likewise.
2537 * util/grub.d/00_header.in: Likewise.
2538
7024b3c0
CW
25392012-12-28 Colin Watson <cjwatson@ubuntu.com>
2540
2541 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
2542
2543 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
2544 HAVE_RAW_DECL_GETS.
2545 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
2546
e3501b13
VS
25472012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
2550 Reported by: Eriks Latosheks <foresterlv>.
2551
b40c88a9
VS
25522012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 * docs/grub.texi (Network): Update instructions on generating netboot
2555 image.
2556
ce96d01c
VS
25572012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
2560 around device name if necessarry.
2561
0f596201
PFS
25622012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2563
2564 * util/grub-install.in: Follow the symbolic link parameter added
2565 to the file command.
2566
600d5bdb
AB
25672012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
2568
2569 * util/grub-install.in: Remove stale TODO.
2570
64ebd2f4
PFS
25712012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2572
2573 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
2574 dynamic allocation for the bootpath buffer.
2575
74b2fe3e
DTB
25762012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
2577
2578 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
2579 window too small.
2580
969b804f
VS
25812012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
2584 argument rather than font name. All users updated.
2585 (grub_gfxterm_set_window): Likewise.
2586
b9f5ebd6
VT
25872012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2588
2589 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
2590 from working.
2591
258f43b7
VS
25922012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * util/getroot.c (convert_system_partition_to_system_disk): Support
2595 nbd disks.
2596
cc1ce5f9
VS
25972012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
2600 infinite loop on corrupted FS.
2601
e77a16ca
VS
26022012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 Fix big-endian mtime.
2605
2606 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
2607 together sec and usec.
2608 (grub_ufs_dir): Use correct byteswapping for UFS time.
2609
d9c48c7b
VS
26102012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 Support big-endian UFS1.
2613
2614 * Makefile.util.def (libgrubmods): Add ufs_be.c
2615 * grub-core/Makefile.core.def (ufs1_be): New module.
2616 * grub-core/fs/ufs_be.c: New file.
2617 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
2618 the file.
2619
2f9f40ba
LL
26202012-11-28 Leif Lindholm <leif.lindholm@arm.com>
2621
2622 * include/grub/types.h: Fix functionality unaffecting typo in
2623 GRUB_TARGET_WORDSIZE conditional macro.
2624
48ff0889
PFS
26252012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2626
2627 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
2628
03711240
GS
26292012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
2630
2631 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
2632 that /netbsd appears first (when it exists).
2633
a31b11bd
CJ
26342012-10-12 Christoph Junghans <ottxor@gentoo.org>
2635
2636 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
2637 Fixes Savannah bug #37558.
2638
e8a5d5d4
CW
26392012-10-12 Colin Watson <cjwatson@ubuntu.com>
2640
2641 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
2642 description of extract_entries_configfile.
2643
26442012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
2645
2646 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
2647 preferred_address.
2648 (grub_cmd_linux): Likewise.
2649 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
2650 preferred_lifetime. Update all users.
2651
288c757d
CW
26522012-09-26 Colin Watson <cjwatson@ubuntu.com>
2653
2654 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
2655 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
2656
0d35da3f
CW
26572012-09-26 Colin Watson <cjwatson@ubuntu.com>
2658
2659 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
2660 errors from grub-probe to /dev/null, not stdout.
2661
b78c3127
VS
26622012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
2665 sector 1.
2666
473959f0
CW
26672012-09-24 Colin Watson <cjwatson@ubuntu.com>
2668
2669 * util/grub-install.in: Make the error message if $source_dir
2670 doesn't exist more useful.
2671
794c8c33
CW
26722012-09-22 Colin Watson <cjwatson@ubuntu.com>
2673
2674 Fix grub-emu build on FreeBSD.
2675
2676 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
2677 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
2678 headers on Linux.
2679 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
2680 implementation is currently Linux-specific.
2681 * util/getroot.c (exec_pipe): Define only on Linux or when either
2682 libzfs or libnvpair is unavailable.
2683 (find_root_devices_from_poolname): Remove unused path variable.
2684
86d08fdb
CW
26852012-09-19 Colin Watson <cjwatson@ubuntu.com>
2686
2687 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
2688 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
2689 should fit before end == 63.
2690
735abf54
CW
26912012-09-19 Colin Watson <cjwatson@ubuntu.com>
2692
2693 * util/grub-setup.c (write_rootdev): Remove unused core_img
2694 parameter. Update all callers.
2695 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
2696 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
2697 GRUB_SETUP_BIOS.
2698
140acd3c
VS
26992012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * util/grub-mkconfig_lib.in (grub_tab): New variable.
2702 (grub_add_tab): New function.
2703 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
2704 * util/grub.d/10_illumos.in: Likewise.
2705 * util/grub.d/10_kfreebsd.in: Likewise.
2706 * util/grub.d/10_linux.in: Likewise.
2707 * util/grub.d/10_netbsd.in: Likewise.
2708 * util/grub.d/10_windows.in: Likewise.
2709 * util/grub.d/10_xnu.in: Likewise.
2710 * util/grub.d/20_linux_xen.in: Likewise.
2711 * util/grub.d/30_os-prober.in: Likewise.
2712
7ddffdad
VS
27132012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2716 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
2717 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
2718 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
2719 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
2720 ieee1275-nocursor.
2721 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2722 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
2723
4e092454
VS
27242012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
2727 le-conversion.
2728 Reported by: BURETTE, Bernard.
2729
735abf54 27302012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
2731
2732 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
2733 from comment.
2734
dfd39dbd
CW
27352012-09-14 Colin Watson <cjwatson@ubuntu.com>
2736
2737 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
2738 IEEE1275 machines. Fixes powerpc-emu compilation.
2739 * include/grub/terminfo.h: Likewise.
2740
3bfa763c
VS
27412012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
2744 a const pointer.
2745 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
2746 const pointer.
2747 (efiemu_set_variable): Make vendor_guid a const pointer.
2748
250e475b
VS
27492012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 Don't require grub-mkconfig_lib to generate manpages for programs.
2752
2753 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
2754 dependencies, don't add grub-mkconfig_lib.
2755 (program): Pass empty adddeps.
2756 (script): Pass grub-mkconfig_lib as adddeps.
2757
592fd0e4
VS
27582012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
2761 * util/getroot.c (grub_find_device): Likewise.
2762 (get_mdadm_uuid): Likewise.
2763 (grub_util_is_imsm): Likewise.
2764 (grub_util_pull_device): Likewise.
2765 * util/grub-probe.c (probe): Likewise.
2766
801a3027
BG
27672012-09-10 Benoit Gschwind <gschwind>
2768
2769 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
2770 (devs): Add devpath_8.
2771
c5052c81
PJ
27722012-09-08 Peter Jones <pjones@redhat.com>
2773
2774 * grub-core/Makefile.core.def (efifwsetup): New module.
2775 * grub-core/commands/efi/efifwsetup.c: New file.
2776 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
2777 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
2778 New define.
2779 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
2780
8e832f71
JS
27812012-09-05 Jiri Slaby <jslaby@suse.cz>
2782
2783 * configure.ac: Add SuSe path.
2784
f0f55752
CW
27852012-09-05 Colin Watson <cjwatson@ubuntu.com>
2786
2787 * NEWS: Fix typo.
2788
ecadc4c2
CW
27892012-09-05 Colin Watson <cjwatson@ubuntu.com>
2790
2791 * util/import_gcry.py: Sort cipher_files, to make build system
2792 generation more deterministic.
2793
64498f25
VS
27942012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
2797 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
2798 (grub_set_datetime): Likewise.
2799
9cc836a2
VS
28002012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2801
2802 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
2803 warnings.
2804
bcfcea01
VS
28052012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
2808
a4099485
VS
28092012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
2812
265c162a
CW
28132012-09-04 Colin Watson <cjwatson@ubuntu.com>
2814
2815 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
2816 required for checkouts from bzr, but it may be useful for users or
2817 distributors wishing to update translations against a tarball
2818 distribution, and it can be helpful for the tarball to be a superset
2819 of what's in bzr.
2820
3d171e95
CW
28212012-09-04 Colin Watson <cjwatson@ubuntu.com>
2822
2823 * Makefile.am (EXTRA_DIST): Add
2824 grub-core/tests/boot/linux.init-mips.S,
2825 grub-core/tests/boot/linux.init-ppc.S, and
2826 grub-core/tests/boot/linux-ppc.cfg.
2827
f2c2503e
CW
28282012-09-04 Colin Watson <cjwatson@ubuntu.com>
2829
2830 * grub-core/mmap/mips/loongson: Remove empty directory.
2831
28322012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
2833
2834 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
2835 gone.
2836
ab2163d5
CW
28372012-09-04 Colin Watson <cjwatson@ubuntu.com>
2838
2839 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
2840 grub-sparc64-setup.
2841
ce938140
GS
28422012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2843
2844 * configure.ac: Strengthen the test for working -nostdinc -isystem.
2845
529f58a5
GS
28462012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
2847
2848 * po/POTFILES.in: Regenerated.
2849
16cf79e9
GS
28502012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
2851
2852 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
2853 (NetBSD): New subsection.
2854
39b27f1e 28552012-07-22 Ales Nesrsta <starous@volny.cz>
2856
2857 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
2858 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
2859
a885261b
VS
28602012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
2863 * util/grub.d/10_hurd.in: Add missing quoting.
2864 * util/grub.d/10_illumos.in: Likewise.
2865 * util/grub.d/10_kfreebsd.in: Likewise.
2866 * util/grub.d/10_linux.in: Likewise.
2867 * util/grub.d/20_linux_xen.in: Likewise.
2868
7bd29c01
VS
28692012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 New command `lsefi'.
2872
2873 * grub-core/Makefile.core.def (lsefi): New module.
2874 * grub-core/commands/efi/lsefi.c: New file.
2875 * include/grub/efi/api.h: Add more GUIDs.
2876
ac625d8f
VS
28772012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
2880 (grub_bsd_elf32_hook): Likewise.
2881 (grub_bsd_elf64_size_hook): Likewise.
2882 (grub_bsd_elf64_hook): Likewise.
2883 (grub_bsd_load_elf): Likewise.
2884
e73bb801
VS
28852012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
2888 if hash function is unavailable.
2889 (dec_stream_header): Likewise.
2890
e81db8b5
VS
28912012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
2894 filter state.
2895
d187a1c3
VS
28962012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 Fix coreboot compilation.
2899
2900 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
2901 (grub_vga_text_init_real): ... this.
2902 (grub_vga_text_fini): Rename to ...
2903 (grub_vga_text_fini_real): ... this.
2904
91a05f64
VS
29052012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
2908
6af96df7
VS
29092012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/lib/legacy_parse.c: Support clear and testload.
2912
4d569e12
VS
29132012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
2916
073b57bb
VS
29172012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * grub-core/fs/ext2.c: Experimental support for 64-bit.
2920
a706f4cc
VS
29212012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * grub-core/net/tftp.c (ack): Fix endianness problem.
2924 (tftp_receive): Likewise.
2925 Reported by: Michael Davidsaver.
2926
e7850aa9
VS
29272012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * gentpl.py: Make mans depend on grub-mkconfig_lib.
2930
29312012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
2934 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
2935 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
2936
35692881
VS
29372012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
2940 efi_mmap_size.
2941 Reported by: Stuart Hayes.
2942
c35fc5bd
VS
29432012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
2946
2947 * grub-core/Makefile.core.def (mda_text): New module.
2948 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
2949 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
2950 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
2951 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
2952 here.
2953 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
2954 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
2955 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
2956 here.
2957 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
2958 to ..
2959 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
2960 ... here
2961 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
2962 here.
2963 * grub-core/term/i386/vga_common.c: Removed.
2964 * include/grub/i386/vga_common.h: Likewise.
2965 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
2966 (grub_vga_cr_bw_read): Likewise.
2967 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
2968 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
2969 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
2970 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
2971 grub_vga_cr_read/grub_vga_cr_write.
2972 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
2973
5f91f701
VS
29742012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * configure.ac: Bump version to 2.00.
2977 * grub-core/normal/main.c (features): Add feature_200_final.
2978
0c4f85f6
VS
29792012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
29802012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
2981
2982 * NEWS: Fix unclarity and language mistakes.
2983
f923ad22
VS
29842012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
2987 additional size to 3 pages.
2988 Reported by: Stuart Hayes.
2989
d22029ba
VS
29902012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * NEWS: Add 2.00 entry.
2993
58eee08f
VS
29942012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
2997 put explicit "/" for empty path.
2998 (wildcard_expand): Improve dprintf.
2999
c59bdff7
VS
30002012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
3003 it's equal to currnode. This can happen with "" symlink.
3004
5e6a440a
YB
30052012-06-27 Yves Blusseau <blusseau@zetam.org>
3006
3007 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
3008 echo shell command by printf command.
3009
73a68bcb
VS
30102012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
3013 the value returned by firmware is the maximal position, not diumension.
3014 (grub_terminfo_output_state): Use a more sane fallback.
3015
392a603b
VS
30162012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
3019
42d0867f
VS
30202012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
3023 frequency to 150 MHz.
3024
489509f4
VS
30252012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 Apple fixes.
3028
3029 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
3030 __APPLE_
3031 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
3032 definition.
3033 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
3034
9f3fc883
VS
30352012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 Handle slash in HFS label.
3038
3039 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
3040 (grub_hfs_dir): Tanslate slash.
3041 (grub_hfs_label): Don't translate slash.
3042
54853fd7
VS
30432012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
3046 network protocol listing since it introduces problematic dependency on
3047 net module.
3048
4dc02ddf
VS
30492012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
3052
c50c867d
VS
30532012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 Init video early on yeeloong to avoid being rebooted by watchdog.
3056
3057 * grub-core/Makefile.am (gensm712): New target.
3058 (sm712_start.S): Likewise.
3059 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
3060 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
3061 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
3062 description.
3063 * include/grub/vga.h: Move registry definitions to...
3064 * include/grub/vgaregs.h: ... here.
3065
5f92c8a1
VS
30662012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
3069 signedness.
3070
e9e6f111
VS
30712012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
3074 platforms with firmware disk drivers in the core.
3075
754ad9eb
VS
30762012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
3079 informative verbose message.
3080 (read_lv): Handle 64-bit segment size.
3081
315654c2
VS
30822012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
3085
fb022c79
VS
30862012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
3089 character but still remove trainling spaces.
3090 (grub_fat_label): Ignore archive flag.
3091
8645f72c
VS
30922012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
3095 cast between linux_kernel_header and linux_kernel_params.
3096
36498496
VS
30972012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
3100 type for size.
3101 (grub_raid6_recover_func_t): Likewise.
3102 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
3103 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3104
0b5ea6b8
VS
31052012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
3108
650cfcfe
GS
31092012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3110
3111 Fix overflow.
3112
3113 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
3114 [__NetBSD__]: Add explicit cast before bitshift.
3115
8a4d6a44
VS
31162012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * configure.ac: Bump to 2.00~rc1.
3119
2fb97ed3
VS
31202012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
3123 half of $a0.
3124
1fa097dc
VS
31252012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
31262012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
3127
3128 * docs/grub.texi: Fix search syntax.
3129 (Multi-boot manual config): Put msdos rather than GPT example.
3130 Grammar corrections.
3131
c890ba78
VS
31322012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
3135
0f92dca7
VS
31362012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
3139
3988c4a0
VS
31402012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
3143 message on double free. Put the value of magic in case of mismatch.
3144
9e86d4c5
VS
31452012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 Speed-up video on yeeloong.
3148
3149 * grub-core/video/sm712.c (framebuffer): Remove render_target and
3150 add cached_ptr.
3151 (grub_video_sm712_video_fini): Unmap cached_ptr.
3152 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
3153 (grub_video_sm712_set_active_render_target): Removed.
3154 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3155 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
3156 sync caches.
3157
ed24c312
VS
31582012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 Avoid flushing the same line multiple times on loongson.
3161
3162 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
3163 Step in 32 bytes and not 1 byte.
3164 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
3165 Likewise.
3166
d1718e7d
VS
31672012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
3170 subvolumes.
3171
982f1909
VS
31722012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 Implement flow control for http.
3175
3176 * grub-core/net/http.c (parse_line): Handle response 206.
3177 (http_receive): Stall if too many packets are in the queue.
3178 (http_establish): Fix range header.
3179 (http_seek): Fix double free.
3180 (http_close): Likewise.
3181 (http_packets_pulled): New function.
3182 (grub_http_protocol): Set http_seek
3183 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
3184 (ack_real): Set window depending on i_stall.
3185 (grub_net_send_tcp_packet): Likewise.
3186 (grub_net_tcp_stall): New function.
3187 (grub_net_tcp_unstall): Likewise.
3188 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
3189 (grub_net_tcp_unstall): Likewise.
3190
bd407d6e
VS
31912012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/net/tftp.c: Decrease stall to 50 packets.
3194
c7564b8e
VS
31952012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
3198
a3706162
VS
31992012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * tests/util/grub-shell.in: Fix a typo.
3202
b27069e0
VS
32032012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 Implement flow control for tftp.
3206
3207 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
3208 packets but stop only if stop condition is satisfied.
3209 (grub_net_fs_read_real): Call packets_pulled after real read. Use
3210 `stall' instead of `eof' as stop condition.
3211 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
3212 (http_err): Likewise.
3213 * grub-core/net/tftp.c (ack): Replace the first argument with data
3214 instead of socket.
3215 (tftp_receive): Stall if too many packets are in wait queue.
3216 (tftp_packets_pulled): New function.
3217 (grub_tftp_protocol): Set packets_pulled.
3218 * include/grub/net.h (grub_net_packets): New field count.
3219 (grub_net_put_packet): Increment count.
3220 (grub_net_remove_packet): Likewise.
3221 (grub_net_app_protocol): New field `packets_pulled'.
3222 (grub_net): New field `stall'.
3223
6b9cfac6
VS
32242012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
3227 sync part to handle them.
3228
f35abd81
VS
32292012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
3232 * grub-core/net/drivers/ieee1275/ofnet.c
3233 (grub_ieee1275_net_config_real): Likewise.
3234
0e7ec820
VS
32352012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
3238 the direct route for server/gateway.
3239
9d611a31
VS
32402012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
3243 IP address to server name since we may not hame the DNS.
3244
418f45ab
VS
32452012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
3248 freeing random buffer on failure.
3249 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
3250
44a0efc1
VS
32512012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
3254
531e2241
VS
32552012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
3258 reserved bytes.
3259 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
3260 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
3261 Handle malloc error correctly.
3262
cde393c9
VS
32632012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
3266 blocks.
3267
538478d0
VS
32682012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
3271 increment.
3272
9b55efe0
VS
32732012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
3276 none is explicitly specified.
3277
9eb832c3
VS
32782012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
3281 while reallocating.
3282
d6b7c7c9
VS
32832012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 Respect netmask from bootp/dhcp.
3286
3287 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
3288 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
3289 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
3290 into ...
3291 (grub_net_add_ipv4_local): ... this.
3292 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
3293 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
3294 (grub_net_add_ipv4_local): New proto.
3295
67caf9eb
VS
32962012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
3299 determining EFI memory map size.
3300
43657558
VS
33012012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
3304
eb6d0dd3
VS
33052012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
3308 when looking for partition separator.
3309
31230544
VS
33102012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3311
3312 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3313 Escape commas.
3314
918a2517
VS
33152012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 Restructure FAT driver to avoid hook in label reading as it hits a
3318 GCC bug.
3319
3320 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
3321 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
3322 (grub_fat_iterate_dir): Split into ...
3323 (grub_fat_iterate_init): ... this, ...
3324 (grub_fat_iterate_fini): ... this, ...
3325 (grub_fat_iterate_dir_next): ... and this. All users updated.
3326
9f1d654e
VS
33272012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3330 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
3331 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3332 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
3333 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
3334 New fields last_key and last_key_time.
3335 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
3336 extended key-esc into extended key-extended key.
3337
52f0f643
VS
33382012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3339
3340 Avoid unnecessary memcpy of whole video buffer.
3341
3342 * grub-core/video/fb/video_fb.c (dirty): New struct.
3343 (framebuffer): Add members current_dirty and previous_dirty.
3344 (dirty): New function.
3345 (grub_video_fb_fill_rect): Update dirty.
3346 (common_blitter): Likewise.
3347 (grub_video_fb_scroll): Likewise.
3348 (doublebuf_blit_update_screen): Copy only dirty part.
3349 (doublebuf_pageflipping_update_screen): Likewise.
3350 (grub_video_fb_doublebuf_blit_init): Init dirty.
3351 (doublebuf_pageflipping_init): Likewise.
3352 (grub_video_fb_setup): Likewise.
3353
e169a180
VS
33542012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
3357 poll rate.
3358
48556879
VS
33592012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 Fix wildcard regexp dot and other special characters handling.
3362 Reported by: Robert Mabee.
3363
3364 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
3365 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
3366 (split_path): Trigger expansion on '?'.
3367 (unescape): New function.
3368 (wildcard_expand): Unescape parts copied without globbing.
3369 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
3370 (grub_script_arglist_to_argv): Don't unescape expansions.
3371
0494408e
VS
33722012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * include/grub/net.h (grub_net_card): New member txbufsize.
3375 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
3376 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
3377 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
3378 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
3379 txbufsize.
3380 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
3381 compatible property to check for macs. Set
3382 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
3383 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
3384 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
3385 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
3386 (send_card_buffer): Use txbuf.
3387 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
3388 nested function out of the parent while on it.
3389
cc35fe8f
VS
33902012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
3393 presence check.
3394 (grub_ieee1275_net_config_real): Fix config pointer.
3395
970a0a09
VS
33962012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
3399 filename parsing to non-block devices.
3400
3e19bf87
VS
34012012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * grub-core/kern/device.c (grub_device_open): Remove dead code.
3404
c62d1a0c
VS
34052012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
3408 All users updated.
3409
ef76bec3
VS
34102012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
3413 UUID search command even if hints probing failed.
3414
34152012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
3416
3417 * po/POTFILES.in: Regenerated.
3418
70aaf305
VS
34192012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 Speed-up video on fuloong.
3422
3423 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
3424 New function.
3425 (grub_pci_device_unmap_range): Handle non-cached address.
3426 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
3427 add direct_ptr.
3428 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
3429 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
3430 (grub_video_sis315pro_set_active_render_target): Removed.
3431 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
3432 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3433 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
3434 sync caches.
3435 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
3436 New proto.
3437
10400f0b
VS
34382012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * docs/grub.texi (Multi-boot manual config): New section.
3441
ba67e2c6
VS
34422012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 Avoid slow read-back from VRAM.
3445
3446 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
3447 Move from here ...
3448 * grub-core/video/fb/video_fb.c
3449 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
3450 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
3451 (front_target): Remove front_target. Add pages.
3452 (grub_video_fb_init): Skip setting front_pages.
3453 (grub_video_fb_fini): Likewise.
3454 (doublebuf_blit_update_screen): Use pages.
3455 (grub_video_fb_doublebuf_blit_init): Likewise.
3456 (doublebuf_pageflipping_init): Allocate offscreen buffer.
3457 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
3458 (grub_video_fb_setup): Prefer doublebuffing.
3459
377c98cb
VS
34602012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
3463 gzio.
3464
eac49cff
VS
34652012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 Add loongson tests.
3468
3469 * tests/util/grub-shell.in: Handle loongson.
3470 * tests/partmap_test.in: Add loongson to the list of platform using ATA
3471 drivers.
3472 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
3473 Reboot instead of shutdown if REBOOT is defined.
3474
0321415e
VS
34752012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
3478 sized ports since unlike on real hardware qemu supports only 32-bit
3479 regs.
3480
3f2bdd8f
VS
34812012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * Makefile.util.def (grub-mkrescue): Enable on loongson.
3484 * util/grub-mkrescue.in: Handle loongson.
3485
29a049c9
VS
34862012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
3489 Set is_part appropriately.
3490 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
3491 names. Canonicalize partition without full disk.
3492
4abde346
VS
34932012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 Revert usb-quiesce since it's wrong.
3496
3497 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
3498 (grub_ofdisk_init): Don't do quiesce.
3499
61f1d93b
VS
35002012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
3503 PowerMac workaround to Xserves as well.
3504 Information supplied by: Benjamin Herrenschmidt.
3505
a09eb541
VS
35062012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 Don't assume that beginning address is also the entry point on ppc.
3509
3510 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
3511 (grub_linux_boot): Use linux_entry.
3512 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
3513 (grub_linux_load64): Likewise.
3514
505b3c9b
VS
35152012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
3518
cbe0b4ef
VS
35192012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
3522 needlessly lose the console.
3523
3006e981
VS
35242012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
3527 space.
3528
4e5a96b0
VS
35292012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3530
7da036bb
VS
3531 Remove non-functional EFI grub_get_rtc. Put a better fatal message
3532 than current grub_get_rtc() not implemented when booted with
3533 coreboot without TSC.
3534
3535 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
3536 Add machine/time.h to kernel headers on loongson.
3537 * grub-core/Makefile.core.def (kernel): Remove
3538 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
3539 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
3540 (grub_get_rtc): Likewise.
3541 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
3542 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
3543 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
3544 * grub-core/kern/i386/tsc.c (grub_tsc_init)
3545 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
3546 rather than installing known non-working time source.
3547 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
3548 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
3549 * include/grub/time.h: Don't include machine/time.h.
3550 * include/grub/efi/time.h: Removed.
3551 * include/grub/i386/efi/time.h: Likewise.
3552 * include/grub/i386/ieee1275/time.h: Likewise.
3553 * include/grub/powerpc/ieee1275/time.h: Likewise.
3554 * include/grub/sparc64/ieee1275/time.h: Likewise.
3555 * include/grub/x86_64/efi/time.h: Likewise.
3556
35572012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
3560
3561 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
3562 value.
3563 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
3564 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
3565 with dotless variants when any combining above is present.
3566
5561c22d
VS
35672012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
3570 text and not binary.
3571
96f7e60e
VS
35722012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 Stop polling as soon as we have the packet we were waiting for.
3575
3576 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
3577 All users updated.
3578 * grub-core/net/arp.c (have_pending): New var.
3579 (pending_req): Likewise.
3580 (grub_net_arp_send_request): Fill pending_req and use have_pending as
3581 stop indicator.
3582 (grub_net_arp_receive): Set have_pending.
3583 * grub-core/net/dns.c (recv_data): New field stop.
3584 (recv_hook): Set stop.
3585 (grub_net_dns_lookup): Init stop and use as stop condition.
3586 * grub-core/net/http.c (http_establish): Use headers_recv as stop
3587 condition.
3588 * grub-core/net/net.c (grub_net_poll_cards): New argument
3589 stop_condition. Stop when it goes true.
3590 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
3591 indicator.
3592 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
3593
3e747239
VS
35942012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 Keep TX and RX buffers on EFI rather than always allocate new ones.
3597
3598 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
3599 card. All users updated.
3600 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
3601 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
3602 (get_card_packet): Likewise.
3603 (grub_efinet_findcards): Init new fields.
3604
f695e99a
VS
36052012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
3608 compilation error on sparc64.
3609
9e5e66d1
VS
36102012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 Use ITC on IA64 rather than broken routine based on daytime.
3613
3614 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
3615 ia64.
3616 (grub_get_rtc) [__ia64__]: Likewise.
3617 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
3618 (get_itc): New function.
3619 (grub_rtc_get_time_ms): Likewise.
3620 (grub_machine_init): Calibrate ITC.
3621 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
3622 Keep only on non-ia64. Don't export since it's broken and used only
3623 if TSC is unavailable.
3624
a1767404
VS
36252012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
3628 even if it's used.
3629 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
3630 Skip if parent is unused.
3631
34b2bced
VS
36322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
3635
5e619f40
VS
36362012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 Fix wildcard escaping.
3639
3640 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
3641 * grub-core/script/execute.c (wildcard_escape): .. to here.
3642 Don't escape dot.
3643 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
3644 * grub-core/script/execute.c (wildcard_unescape): .. to here.
3645 Don't escape dot.
3646 * grub-core/script/execute.c (gettext_append): Always escape.
3647 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
3648 * grub-core/script/yylex.l: Don't cut away the escaping.
3649 * tests/grub_script_echo1.in: Add tests with wildcard.
3650
c8ca5855
VS
36512012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
3654 (ftdi_hw_configure): Likewise.
3655 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
3656 define.
3657 (real_config): Handle 1.5 stop bits.
3658 (pl2303_hw_configure): Likewise.
3659
7183452c
VS
36602012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * Makefile.am: Add ppc linux bootcheck.
3663 * grub-core/tests/boot/linux-ppc.cfg: New file.
3664 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
3665
f57c84cd
VS
36662012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * tests/grub_script_expansion.in: Skip network protocols.
3669
ecfc6207
VS
36702012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
3673
8d03d284
VS
36742012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
3677 --rom-directory.
3678 Add -graft-points.
3679
61c42af0
VS
36802012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 ESCC serial driver for conducting sautomated tests in qemu.
3683 Not tested on real hardware.
3684
3685 * include/grub/serial.h (grub_serial_port): New field escc_desc.
3686 * grub-core/term/ieee1275/escc.c: New file.
3687 * grub-core/Makefile.core.def (escc): New module.
3688
08fd1291
VS
36892012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3690
3691 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
3692 invalid on error.
3693 (serial_hw_fetch): Don't read invalid handle.
3694 (serial_hw_put): Don't write into invalid handle.
3695
08dafeea
VS
36962012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 Add a 1.5 stop bits value.
3699
3700 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
3701 * include/grub/serial.h (grub_serial_stop_bits_t): Add
3702 GRUB_SERIAL_STOP_BITS_1_5.
3703
9068fdcf
VS
37042012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
3707 value rather than let it uninited.
3708
f4d5820f
VS
37092012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * grub-core/commands/wildcard.c (+check_file): New function.
3712 (wildcard_expand): Don't expand to non-existing files, expand with
3713 suffix and not attempt to expand if not needed.
3714
3d2de9a7
VS
37152012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
3718 out of partitions containing other partitions.
3719
c5c81ff9
VS
37202012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
3723 on some qemu versions with GRUB.
3724
3725 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
3726 define.
3727 (grub_openbsd_bootarg_pcibios): New struct.
3728 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
3729 Add PCIINFO.
3730
08a14e0b
VS
37312012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * tests/util/grub-shell.in: Trim firmware output on EFI.
3734
cede3ca3
VS
37352012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
3738 and coreboot since it's already in kernel.
3739
558d3a60
VS
37402012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
3743 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3744 to here. New return value start. All users updated.
3745 Recursively scan linear mappings.
3746 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
3747 proto.
3748 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3749 Use grub_util_get_dm_node_linear_info.
3750 * util/getroot.c (convert_system_partition_to_system_disk): Use
3751 grub_util_info rather than grub_dprintf.
3752 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
3753
60fde14d
VS
37542012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3755
3756 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
3757
3758 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
3759 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
3760
24bd8838
VS
37612012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * include/grub/types.h (grub_set_unaligned64): New function.
3764 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
3765 (setup): Likewise.
3766
7bc06a49
VS
37672012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
3770 (grub_ofdisk_fini): Quiesce USB devices.
3771
49cea015
VS
37722012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
3775 caches.
3776
8dcbe03b
VS
37772012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
3780
5b258735
VS
37812012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/disk/pata.c (grub_pata_pio_read)
3784 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
3785 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
3786
37ba07eb
VS
37872012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 Extend automated tests to qemu-mips.
3790
3791 * Makefile.am: reorganise tests and enable qemu-mips.
3792 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
3793 * grub-core/tests/boot/linux.init-mips.S: New file.
3794 * tests/partmap_test.in: Handle ata0 disks.
3795 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
3796 non-pc i386.
3797
070038f8
VS
37982012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
3801 ia64.
3802 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
3803 quotes while on it.
3804
004be2cd
VS
38052012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
3808 (grub_halt): Likewise.
3809 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
3810
b1622487
VS
38112012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 * grub-core/term/serial.c (grub_serial_register)
3814 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
3815 the behaviour in line with x86 platforms.
3816
b7b4ab33
VS
38172012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
3820 (grub_ata_strncpy): Likewise.
3821 (grub_ata_identify): Add missing byteswaps.
3822
5e3535ae
VS
38232012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
3826 byte-swap.
3827 (screen_read_char): Likewise.
3828 (grub_vga_text_cls): Likewise.
3829
c21b17e6
VS
38302012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
3833 filenames.
3834 (make_file_path): Likewise.
3835
bf293dec
VS
38362012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
3839 machines.
3840 Tested by: Paulo Flabiano Smorigo.
3841 Crucial information about API supplied by: Coleen <Last name unknown>.
3842 Reviewed by: Coleen <Last name unknown>.
3843
81f6ef0e
VS
38442012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * util/grub-mkimage.c: Disable -Wcast-align.
3847
7284143a
VS
38482012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
3851 as they are fatal.
3852
b99f3e00
VS
38532012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
3856
944f752d
VS
38572012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * util/grub-probe.c (escape_of_path): Fix double free.
3860
6cce6f38
VS
38612012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * grub-core/commands/videoinfo.c (hook): Show pitch.
3864
1e1eb50e
VS
38652012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * util/grub.d/20_linux_xen.in: Skip xen-syms.
3868
1c715b5a
VS
38692012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
3872 (probe): Add ieee1275 to OFW devices.
3873
007ae52d
VS
38742012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
3877
4557a36d
VS
38782012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 Handle IBM OFW path.
3881
3882 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
3883 available.
3884 (of_path_of_scsi): Handle vdevice.
3885
efbeefe9
VS
38862012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
3889 Allocate in multiples of 16 to avoid adding a few bytes free region the
3890 windows bugs upon.
3891
15a940bb
VS
38922012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
3895 Allocate in multiples of 16 to avoid adding a few bytes free region the
3896 windows bugs upon.
3897 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
3898
6e5efd60
VS
38992012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
3902 resolutions.
3903 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
3904 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
3905
0d3d137e
IS
39062012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
3907
3908 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
3909
45dbe300
VS
39102012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
3913 resulted in \\ at the end of the line.
3914
6d8db947
VS
39152012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
3918 (grub_parser_cmdline_state): Likewise.
3919 (grub_parser_split_cmdline): Likewise.
3920
de89d338
VS
39212012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
3924 /dev/root and /dev/dm-*.
3925
00d41dee
VS
39262012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
3929 fix partially stale display.
3930
f95d1f11
VS
39312012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * grub-core/normal/menu_entry.c (backward_char): Use right line for
3934 substraction.
3935
6297e197
VS
39362012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
3939 Fix MBR remapping workaround.
3940 (grub_util_biosdisk_read) [__linux__]: Likewise.
3941
8a7ecad3
VS
39422012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
3943
3944 * util/grub-install.in: Check for ieee1275 and not ieee1276.
3945
2b34f944
VS
39462012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * configure.ac: Bump to beta6.
3949
684aef11
CW
39502012-05-31 Christer Weinigel <christer@weinigel.se>
3951
3952 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
3953
05b0bb91
VS
39542012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
3957 (grub_cmd_linux): Likewise.
3958
bda36bfa
CW
39592012-05-31 Christer Weinigel <christer@weinigel.se>
3960
3961 Fix EHCI low-speed.
3962
3963 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
3964 (GRUB_EHCI_MULT_TWO): Likewise.
3965 (GRUB_EHCI_MULT_THREE): Likewise.
3966 (GRUB_EHCI_CMASK_MASK): New enum value.
3967 (GRUB_EHCI_SMASK_MASK): Likewise.
3968 (GRUB_EHCI_CMASK_OFF): Likewise.
3969 (GRUB_EHCI_SMASK_OFF): Likewise.
3970 (grub_ehci_pci_iter): Enable periodic schedule.
3971 (grub_ehci_parse_notrun): Likewise.
3972 (grub_ehci_restore_hw): Likewise.
3973 (grub_ehci_setup_qh): Set flags for low speed transfers.
3974 (grub_ehci_find_qh): Use periodic list for low speed.
3975 (grub_ehci_setup_transfer): Check periodic queue as well.
3976 (grub_ehci_check_transfer): Likewise.
3977 (grub_ehci_cancel_transfer): Cancel periodic transfer.
3978
e12bcb1c
PFS
39792012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3980
3981 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
3982 parameter is used.
3983
bcc75fb3
PJ
39842012-05-31 Peter Jones <pjones@redhat.com>
3985
3986 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
3987 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
3988 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
3989
f19cb95e
VS
39902012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
3993 uninited variable. Allocate at least setup_sects.
3994
a4e5ca80
VS
39952012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 Fix handling of EFI with big memory maps.
3998
3999 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
4000 (real_mode_mem): Likewise.
4001 (real_mode_target): Likewise.
4002 (real_mode_pages): Likewise.
4003 (prot_mode_pages): Likewise.
4004 (linux_params): New var.
4005 (linux_cmdline): Likewise.
4006 (free_pages): Don't set real mode variables.
4007 (allocate_pages): Don't allocate real mode memory.
4008 (grub_e820_add_region): Remove the limit.
4009 (grub_linux_boot): Allocate and copy real mode memory.
4010 (grub_linux_unload): Free linux_cmdline.
4011 (grub_cmd_linux): Use temporary storage for parameters.
4012 (grub_cmd_initrd): Likewise.
4013 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
4014 (linux_kernel_params): Make it 1K big.
4015
ddb73558
VS
40162012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * Makefile.util.def: Remove -Wno-format.
4019 * grub-core/Makefile.core.def: Likewise.
4020
1c4afb60
VS
40212012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * tests/cmp_unit_test.c: Add missing failure message.
4024 * tests/example_unit_test.c: Likewise.
4025 * tests/printf_unit_test.c: Likewise.
4026
941e3a6d
VS
40272012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
4030 relaxation of protective MBR requirements.
4031
b105df76
VS
40322012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * configure.ac: Add condition for COND_HOST_XNU.
4035 * Makefile.util.def (10_xnu): New script.
4036 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
4037
84e1569e
VS
40382012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
4041 objconv bug.
4042
130c0f77
VS
40432012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
4046 Binary on other platforms stays identical.
4047
6fd0b143
VS
40482012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
4051 Apple.
4052
0af1751d
VS
40532012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
4056
176d5f7d
VS
40572012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4058
4059 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
4060 rather than defining size_t ourselves to avoid conflict.
4061
7de5e20a
VS
40622012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
4065 initialisation to avoid __bzero reference.
4066
f7143efe
VS
40672012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
4070 version.
4071 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
4072 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
4073 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
4074 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
4075 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
4076
e6ad0555
VS
40772012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
4080 * grub-core/kern/misc.c: Likewise.
4081 * grub-core/loader/i386/xnu.c: Likewise.
4082 * include/grub/i386/tsc.h: Likewise.
4083 * include/grub/symbol.h: Likewise.
4084
4a5a3c4a
VS
40852012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
4088 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
4089 on older compiler.
4090
037f6d90
VS
40912012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
4094 Implement Apple flavour.
4095 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
4096
f7194551
VS
40972012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
4100 (memmove) [__APPLE__]: Likewise.
4101 (memcpy) [__APPLE__]: Likewise.
4102 (memset) [__APPLE__]: Likewise.
4103 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
4104 (memmove) [__APPLE__]: Likewise.
4105 (memcpy) [__APPLE__]: Likewise.
4106 (memset) [__APPLE__]: Likewise.
4107
85a730ca
VS
41082012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
4111 dependency discard.
4112
40e80b94
VS
41132012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 * grub-core/normal/main.c (read_config_file): Provide config_file and
4116 config_directory.
4117 * util/grub.d/41_custom.in: Use config_directoy when available.
4118
9da59c32
VS
41192012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
4122 (grub_bfs_dir): Likewise.
4123
2787ae53
PJ
41242012-05-27 Peter Jones <pjones@redhat.com>
4125
4126 The old code gives arguments to a printf function which can't work
4127 correctly, and the compiler complains.
4128
4129 * grub-core/tests/example_functional_test.c (example_test): Add
4130 missing text.
4131 * grub-core/tests/lib/test.c (add_failure): Rewrite.
4132 * include/grub/test.h (grub_test_assert_helper): New declaration.
4133 (grub_test_assert): Use grub_test_assert_helper.
4134
526ef13d
VS
41352012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
4138 (exfctest): ... this to avoid overlong filenames.
4139 All users updated.
4140
20dd511c
VS
41412012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 Handle "." and ".." on squashfs.
4144
4145 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
4146 Make inode numbers into stack.
4147 (grub_squash_read_symlink): Use stack.
4148 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
4149 (make_root_node): Fill stack.
4150 (grub_squash_open): Use stack.
4151
1d80c62a
VS
41522012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
4155 freeing.
4156
d336f652
VS
41572012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
4160 stderr on test calls.
4161
8b43f587
VS
41622012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
4165
80a3dc3f
VS
41662012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
4169
47e297d4
VS
41702012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
4173 "..".
4174
df042ccb
VS
41752012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
4178 (grub_hfsplus_iterate_dir): Add "." and "..".
4179
fc977f48
VS
41802012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * grub-core/fs/cpio.c (canonicalize): Handle "..".
4183 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
4184
f3250e5f
VS
41852012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
4188 (find_path): Handle "." and "..".
4189
fd8ed4c5
VS
41902012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
4193 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
4194 (grub_affs_iterate_dir): Handle hardlinks.
4195
4ce776d2
MG
41962012-05-26 Matthew Garrett <mjg@redhat.com>
4197
4198 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
4199 (grub_efi_console_fini): Likewise.
4200 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
4201 (grub_video_gop_fill_mode_info): Rename to ...
4202 (grub_video_gop_fill_real_mode_info): ... this.
4203 (grub_video_gop_fill_mode_info): New function.
4204 (grub_video_gop_setup): Setup double framebuffer.
4205 (grub_video_gop_get_info_and_fini): Use original framebuffer.
4206 Free offscreen.
4207 (grub_video_gop_swap_buffers): Copy framebuffer.
4208 (grub_video_gop_fini): Free offscreen buffer.
4209 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
4210 New enum.
4211 (grub_efi_gop_blt_pixel): New struct.
4212
683031ba
VS
42132012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 * gentpl.py: Remove error disabling for objconv.
4216
c2deb798
VS
42172012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * configure.ac: Remove -Wunitialized as it's not available on older
4220 compilers.
4221
42222012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
4223
4224 Fix extent overflow comparator.
4225
4226 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
4227 (grub_hfsplus_read_block): Set type.
4228 (grub_hfsplus_cmp_extkey): Compare type.
4229
d6b1fd36
VS
42302012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
4233
0a9aa0f6
VS
42342012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
4237 than 0.
4238
8360e159
VS
42392012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
4242 (dejavu_bold_14.pf2): New target.
4243
501b9e4b
VS
42442012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * configure.ac: Fix djvu font detection.
4247
7026b0e2
VS
42482012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4249
4250 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
4251 ext* instead of ext2.
4252
c2a51ade
VS
42532012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
4256 name with \0.
4257
8f803a5d
JU
42582012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
4259
4260 * docs/grub-dev.texi: Remove dot from .png.
4261
13c6353f
VS
42622012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
4265 protective entry in any slot.
4266 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
4267 if protective entry is found in any slot.
4268
4269 Protective entry in non-first slot make no sense but is a widespread
4270 brain damage.
4271
4cf6be1b
VS
42722012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
4275
937d1c44
VS
42762012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
4279 with old reiserfs.
4280 (grub_reiserfs_open): Don't free root.
4281
021d90ec
VS
42822012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
4285 after freeing for safety.
4286
967b2b64
VS
42872012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
4290 Reported by: Jordan Uggla.
4291
34274d02
JU
42922012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
4293
967b2b64
VS
4294 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
4295 actual implementation. Specifically, clarify that the grub menu will
4296 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
4297 passed.
34274d02 4298
dcaaae9d
BH
42992012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
4300
4301 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
4302 of r0.
4303
7086ad52
VS
43042012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 Remove unjustified hard dependency of normal.mod on gfxterm.
4307
4308 * include/grub/term.h (grub_term_output): New member fullscreen.
4309 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
4310 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
4311 (grub_gfxterm): Set .fullscreen.
4312 * grub-core/normal/menu.c (menu_init): Use fullscreen.
4313 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
4314
37ed2c9b
VS
43152012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
4318 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 4319 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 4320
a4469c88
VS
43212012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
4324
4e461486
VS
43252012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4328 a bad FS.
4329
aa78f5c4
VS
43302012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
4333 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
4334
197626b5
VS
43352012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
4338 (grub_jfs_mount): Fill caseins.
4339 (grub_jfs_find_file): Respect caseins.
4340
8ad3f28c
VS
43412012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
4344 through UTF-16.
4345
0c6c324e
VS
43462012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
4349 New argument origpath. All users updated.
4350
c6666ba6
VS
43512012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
4354 (read_attr): Ensure that we read start of possibly compressed block.
4355
e28e5fe5
VS
43562012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
4359 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
4360 All users updated.
4361
5fc23ab2
VS
43622012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
4365 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
4366 (dejavu.pf2): Replace with ...
4367 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
4368 this.
4369
79dbc21c
VS
43702012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * util/grub.d/20_linux_xen.in: Add missing line.
4373
d2fcfb0c
VS
43742012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
4377 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
4378 (grub_utf16_to_utf8): Likewise.
4379
5560e9d6
VS
43802012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
4383 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
4384 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4385 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
4386 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4387 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
4388
43892012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
4390
4391 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4392 a bad FS.
4393
5560e9d6 43942012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
4395
4396 * grub-core/fs/udf.c (read_string): Bail out on size=0.
4397 (grub_udf_read_symlink): Handle read_string failure.
4398
5eae3175
VS
43992012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
4402 comment.
4403
c1ad82db
VS
44042012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 Fix handling of UDF symlinks.
4407
4408 * grub-core/fs/udf.c (read_string): New argument outbuf.
4409 All users updated.
4410 (grub_ufs_read_symlink): Rename to ...
4411 (grub_udf_read_symlink): ... this. All users updated.
4412 Handle symlinks with more than one component.
4413
33eca6e0
VS
44142012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
4417 symlinks. Replace leading colon with a slash.
4418
57f4a70b
VS
44192012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
4422 filename.
4423
38c8ee20
VS
44242012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
4427 match in inner node.
4428
2e57f28f
VS
44292012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
4432 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
4433 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
4434 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
4435 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
4436 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
4437 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
4438 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
4439 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
4440
fe8c2f11
VS
44412012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 Use grub-probe and not cmp to check that disk is empty.
4444
4445 * util/grub-install.in: Use grub-probe for zero-check.
4446 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
4447 (probe): Handle PRINT_ZERO_CHECK.
4448 (argp_parser): Handle -t zero_check.
4449
44502012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
4451
4452 Flush block cache on adding disk to device map.
4453
4454 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
4455 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
4456 adding.
4457 (read_device_map): Likewise.
4458 (open_device): Flush on opening.
4459
690434e8
VS
44602012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
4463 (handle_symlink): Fix off-by-one error.
4464 Canonicalize the target.
4465 (grub_cpio_dir): Canonicalize the name.
4466 Fix memory leak.
4467 Set directory.
4468 (grub_cpio_open): Canonicalize the name.
4469
742d2be6
VS
44702012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
4473 handling.
4474
3244fe96
VS
44752012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
4478 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
4479
8aeb1837
VS
44802012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
4483 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 4484 All users updated.
8aeb1837 4485
9133fd05
VS
44862012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
4489 counterpart.
4490
6d521c5b
VS
44912012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 Fix UFS1 big file support.
4494
4495 * grub-core/fs/ufs.c (INODE): Removed.
4496 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
4497 64-bit.
4498 (INODE_MODE): Simplify.
4499 (grub_ufs_inode): Use uint64_t for size and not int64_t.
4500 (grub_ufs_lookup_symlink): Don't use INODE.
4501
21b82e17
VS
45022012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 Fix minixfs with non-power-of-two blocks since it's supported by minix.
4505
4506 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
4507 (grub_minix_data): Replace log_block_size with block_size.
4508 (grub_minix_read_file): Use block_size but avoid 64-bit division.
4509 (grub_minix_mount): Fill block_size.
4510
45112012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
4512
4513 * configure.ac: Bump to beta5.
4514
f417ed04
VS
45152012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 Fix wrapped HFS+ handling.
4518
4519 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
4520 blocks_start. All users updated.
4521 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
4522 wrapping offset.
4523 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
4524
607d282b
VS
45252012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 Fix long symlinks on reiserfs.
4528
4529 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
4530 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
4531 (grub_reiserfs_iterate_dir): Save size for non-directories.
4532 (grub_reiserfs_open): Don't reread stat block as we already know the
4533 size.
4534 (grub_reiserfs_read): Split into...
4535 (grub_reiserfs_read_real): ... and ...
4536 (grub_reiserfs_read): ...this.
4537
ae16024d
VS
45382012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 Fix non-indexed JFS.
4541
4542 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
4543 (grub_jfs_data): New field namecomponentlen.
4544 (grub_jfs_mount): Fill namecomponentlen.
4545 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
4546
eea1e26e
VS
45472012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
4550 * tests/grub_script_echo1.in: Add tests.
4551
df760f77
VS
45522012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * util/grub-install.in: Ignore empty devicetree directory.
4555
5efb817d
B
45562012-05-08 Bean <bean123ch@gmail.com>
4557
4558 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
4559 All users updated.
4560 (free_rsm): Free header as well.
4561 (free_old_fragments): Fix memory leak.
4562 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
4563 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
4564 (destroy_pq): Likewise.
4565 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
4566
668ea6d2
VS
45672012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
4570 resulting hash as a precaution.
4571
1739b1fe
VS
45722012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
4575 '_' in variable names.
4576 * grub-core/net/net.c (grub_net_network_level_interface_register):
4577 Likewise.
4578
6ae485aa
VS
45792012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 Fix AFFS with non-512B blocks.
4582
4583 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
4584 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
4585 (grub_affs_data): Replace blocksize with log_blocksize.
4586 (grub_affs_read_block): Fix non-512B blocks.
4587 (grub_affs_read_symlink): Likewise.
4588 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
4589 (grub_affs_read): Fix non-512B blocks.
4590 (grub_affs_label): Likewise.
4591 (grub_affs_mtime): Likewise.
4592 (grub_affs_mount): Fix block detection routine.
4593
d20fab84
VS
45942012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 Add filesystem mtime to AFFS.
4597
4598 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
4599 (aftime2ctime): New function.
4600 (grub_affs_dir): Use aftime2ctime.
4601 (grub_affs_label): Fix return value.
4602 (grub_affs_mtime): New function.
4603 (grub_affs_fs): Add mtime.
4604
e87b10f5
VS
46052012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
4608 UTF-8.
4609
7dceec9b
VS
46102012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
4613 UTF-8.
4614
2f48221f
VS
46152012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
4618
dacd85cf
VS
46192012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
4622 flags.
4623 (FLAGS_CASE_SENSITIVE): New enum value.
4624 (cache_entry): New struct.
4625 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
4626 cache_size and cache.
4627 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
4628 Add log_blocksize and fshelp_flags.
4629 (grub_sfs_read_extent): Handle non-512 blocks.
4630 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
4631 (grub_sfs_read_file): Handle non-512 blocks.
4632 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
4633 fshelp_flags.
4634 (grub_sfs_read_symlink): Handle non-512 blocks.
4635 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
4636 (grub_sfs_dir): Free cache.
4637 (grub_sfs_close): Likewise.
4638
24e9a854
VS
46392012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
4642 filesystems.
4643
62ace64d
VS
46442012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
4647
83b2e89c
VS
46482012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
4651
75ccaea3
VS
46522012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
4655 (grub_sfs_read_extent): Likewise.
4656 (grub_sfs_read_block): Likewise.
4657 (grub_sfs_mount): Likewise.
4658 (grub_sfs_iterate_dir): Likewise.
4659 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
4660 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
4661
1b8463f2
VS
46622012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 Fix errors on compressed NTFS with 512B clusters.
4665
4666 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
4667 types.
4668 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
4669 not 0.
4670 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
4671 Relax check for inline extents.
4672 (ntfscomp): Return correct -1 on error and not 0.
4673
4f8e368f
VS
46742012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * util/grub-install.in: Fix handling of prefix containing spaces.
4677
6f5d5ee8
VS
46782012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
4681 (grub_squash_read_data): Fix offset byte-swapping.
4682
ce41ab7a
VS
46832012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
4686 per common usage and preffered in several parts of code.
4687 (grub_memcmp): Likewise.
4688 (grub_strncmp): Likewise.
4689 * include/grub/misc.h (grub_strcasecmp): Likewise.
4690 (grub_strncasecmp): Likewise.
4691 * Makefile.util.def (cmp_test): New test.
4692 (grub_script_strcmp): Likewise.
4693 * tests/cmp_unit_test.c: New file.
4694 * tests/grub_script_strcmp.in: Likewise.
4695 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
4696
49717bf4
VS
46972012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 * include/grub/pci.h: Move enums into no-asm part.
4700
0a308f64
VS
47012012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
4704
1796965f
ST
47052012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4706
4707 * util/getroot.c (find_hurd_root_device): Try to make error message
4708 and comments to translators clearer.
4709
4e9b2819
VS
47102012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
4713
076aeb50
VS
47142012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
4717 btrfs.
4718
19424d94
VS
47192012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * docs/grub.cfg: Update.
4722
ebb73076
VS
47232012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * docs/grub.texi (PXE): Remove not present variables.
4726
9a1b669c
VS
47272012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * grub-core/net/net.c (defserver_set_env): New function.
4730 (defserver_get_env): Likewise.
4731 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
4732
d38bf7d3
VS
47332012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
4736 entries.
4737
47382012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
4739
4740 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
4741 * grub-core/kern/emu/hostdisk.c: Likewise.
4742
e5e4ca48
ST
47432012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
4744
4745 Handle hurd userspace partitions.
4746
4747 * util/getroot.c (find_hurd_root_device): New function.
4748 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
4749
56bb5dd5
VS
47502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
4753 names.
4754 Reported by: Bastian Blank.
4755
9e8bc27a
VS
47562012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4757
4758 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
4759 crossing page boundary.
4760
aa01499d
VS
47612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 Fix B-tree search in BFS, especially in presence of non-ASCII
4764 characters.
4765
4766 * grub-core/fs/bfs.c (bfs_strcmp): New function.
4767 (find_in_b_tree): Use standard bsearch + btree algorithm.
4768
57006035
VS
47692012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
4772 and so on.
4773
9d34bb85
MG
47742012-05-03 Matthew Garrett <mjg@redhat.com>
47752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 Suspend broadcom cards in order to stop their DMA.
4778
4779 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
4780 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
4781 (pci): Don't build on x86 EFI.
4782 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
4783 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
4784 New function.
4785 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
4786 stop_broadcom if running on EFI.
4787 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
4788 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
4789 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
4790 (grub_pci_find_capability): New proto.
4791
01aab997
VS
47922012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * docs/grub.texi: Remove dot from the extension as it apparently
4795 doesn't work with some makeinfo versions.
4796
fbd8dca6
VS
47972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
4800 with GRUB expectance.
4801
dab797f4
VS
48022012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
4805
1516bfb4
VS
48062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
4809 zero after directory block since last entry may be not 0-terminated if
4810 it ends on block boundary. Use continue instead of if spanning whole
4811 loop.
4812
a3a0eace
VS
48132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 Support 4K sectors UDF inline files.
4816
4817 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
4818 (grub_udf_extended_file_entry): Likewise.
4819 (grub_fshelp_node): Name the anonymous union. Put block at the end.
4820 All users updated.
4821 (get_fshelp_size): New function.
4822 (grub_udf_read_icb): Read whole block.
4823 (grub_udf_iterate_dir): Likewise.
4824 (grub_udf_dir): Likewise.
4825 (grub_udf_open): Likewise.
4826
c82f16c1
VS
48272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
4830
59fd2aac
VS
48312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
4834 inline symlinks in addition to workaround.
4835
3b4afb4d
VS
48362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
4839
f45c794a
VS
48402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
4843
f25cecbd
VS
48442012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4845
4846 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
4847
bb9a34e8
VS
48482012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 Fix reiserfs big seek times.
4851
4852 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
4853 exact. All users updated.
4854 (grub_reiserfs_read): Use nearest btree search for seeking.
4855 Fix return value on error.
4856
dc478aea
VS
48572012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
4860 entries.
4861 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
4862 * docs/grub.texi: Update menuentry description.
4863
8db10f47
VS
48642012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
4867 crash when embedding onto filesystem.
4868
bcb288ed
VS
48692012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
4872 name.
4873
a626fdd7
VS
48742012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
4877
b2f68477
VS
48782012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4879
4880 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
4881 commit.
4882
ba15b2af
B
48832012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
48842012-05-01 Bean <bean123ch@gmail.com>
4885
4886 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
4887
a188012e
VS
48882012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
4891 Special behaviour for len = 0 to read whole file isn't used anywhere and
4892 can cause buffer ovewrflows in several places.
4893
f0a53ed2
VS
48942012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
4897
5ed554f0
VS
48982012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 Handle RAIDZ on non-512B sectors.
4901
4902 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
4903 max_children_ashift.
4904 (fill_vdev_info_real): Fill max_children_ashift.
4905 (read_device): Use max_children_ashift.
4906
ddc58357
VS
49072012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
4910
e3282399
VS
49112012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
4914 disk names.
4915 * docs/grub.texi: Update device.map parts.
4916
ee618bd4
VS
49172012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 Don't scan into non-diskfilter devices having diskfilter names.
4920
4921 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
4922 (scan_disk): New argument accept_diskfilter. Fix recursion depth
4923 handling.
4924 (scan_disk_hook): New function.
4925
bdf88864
B
49262012-04-29 Bean <bean123ch@gmail.com>
4927
4928 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
4929 allocation.
4930
32745f51
MK
49312012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
4932
4933 * configure.ac: Detect starfield theme font path
4934 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
4935
bc95c8c0
VS
49362012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
4939 geometry on serial consoles.
4940
147fbcab
VS
49412012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
4944 because of network consoles.
4945
0f42c889
VS
49462012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
4949 handling.
4950
4a3594c9
VS
49512012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
4954 falls on Q syndrom.
4955
5cb53879
VS
49562012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
4959 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
4960
b282dfe5
VS
49612012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
4964 Allocate at lest 8192 for temporary buffer as required for lzo.
4965
daa59f47
VS
49662012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
4969 to cluster_bits, since it's already added in.
4970 (grub_fat_read_data): Likewise.
4971
986748ce
VS
49722012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
4975 as long as cluster size is multiple of 512 bytes.
4976
a20f6ad0
VS
49772012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4978
4979 * util/grub-mkrescue.in: Fix locale directory.
4980
385f9abb
VS
49812012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 * grub-core/kern/emu/hostdisk.c (map): Make static.
4984
1c557d30
B
49852012-04-23 Bean <bean123ch@gmail.com>
4986
4987 * util/grub-fstest.c (fstest): Add missing break.
4988
524b5d3a
ST
49892012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
4990
4991 Fix hurd build.
4992
4993 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
4994 not define nr variable.
fe4824e9 4995 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
4996 find_root_devices_from_poolname, find_root_devices_from_libzfs,
4997 grub_find_device): Do not define.
524b5d3a 4998
9a06490c
VS
49992012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 Fix kfreebsd compile and behaviour.
5002
5003 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
5004 format-security.
5005 * util/getroot.c: Fix wait.h include.
5006 (grub_guess_root_devices): Error if grub_find_device fails.
5007 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
5008 (grub_util_get_dev_abstraction): Likewise.
5009 (grub_util_pull_device): Likewise.
5010 (grub_util_get_grub_dev): Likewise.
5011 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
5012
48143d96
VS
50132012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 Fix and unify wholedisk detection.
5016
5017 * util/getroot.c (convert_system_partition_to_system_disk): New argument
5018 is_part. All users updated.
5019 (device_is_wholedisk): Removed.
5020 (grub_util_biosdisk_get_grub_dev): Use is_part.
5021
ebbd24f3
VS
50222012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
5025 mode.
5026
56f7aa1e
VS
50272012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * configure.ac: Bump to beta4.
5030
9c815e01
VS
50312012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
5034 --fs-uuid --set UUID syntax.
5035
59e2651a
VS
50362012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
5039 disunification.
5040
54e03cfc
VS
50412012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
5044
81092a75
MK
50452012-04-18 Mads Kiilerich <mads@kiilerich.com>
5046
5047 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
5048
f8315e14
MG
50492012-04-18 Mike Gilbert <floppym@gentoo.org>
5050
5051 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
5052
1501ac21
B
50532012-04-18 Bean <bean123ch@gmail.com>
5054
5055 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
5056 place.
5057
cb7f944e
VS
50582012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
5061 users updated.
5062 (grub_util_biosdisk_read): Handle Linux partitions not exactly
5063 corresponding to GRUB partitions.
5064 (grub_util_biosdisk_write): Likewise.
5065
b72d44a1
VS
50662012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 Scan mdraid before LVM.
5069
5070 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
5071 (grub_diskfilter_register_front): ... this.
5072 (grub_diskfilter_register_back): New function.
5073 All users of grub_diskfilter_register updated.
5074
33d918b8
VS
50752012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * util/grub-install.in: Fix an automatic target detection bug.
5078
c6ca973d
VS
50792012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * util/grub-install.in: New option --efi-directory.
5082
b41be562
VS
50832012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
5086 boot services if we have no other choice.
5087
50882012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * util/grub-mknetdir.in: Rename --override-directory to --directory and
5091 document it.
5092 * tests/util/grub-shell.in: Update to --directory.
5093
e0595a73
VS
50942012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
5097
4ed80652
VS
50982012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
5101 (grub_minix_read_file): Likewise.
5102 (grub_minix_read_inode): Likewise.
5103 (grub_minix_find_file): Likewise.
5104 (grub_minix_dir): Likewise.
5105
56008077
VS
51062012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * util/grub-setup.c (setup): Fix partition handling and blocklist
5109 check.
5110
ee520775
VS
51112012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
5114 redundant buggy overlap check.
5115
16fc9293
VS
51162012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
5119 and grub-mknetdir.
5120
9bab65c4
VS
51212012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
5124 kh.loadflags on pre-2.00 kernels.
5125
3c491b47
VS
51262012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 Terminate UNDI and PXE before launching the payload to avoid problems
5129 with DMA.
5130
5131 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
5132 (grub_loader_flags): ... this. All users updated.
5133 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
5134 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
5135 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
5136 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
5137 function.
5138 (grub_pxe_restore): Likewise.
5139 (fini_hnd): New var.
5140 (GRUB_MOD_INIT): Register shutdown hook.
5141 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
5142 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
5143 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
5144 (grub_loader_set): Rename second argument to flags.
5145
851ffada
VS
51462012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5147
5148 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
5149 written bytes.
5150 (grub_get_num_of_utf8_bytes): New function.
5151 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
5152 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
5153 executing it.
5154 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
5155 (grub_ucs4_to_utf8): Change return type.
5156
491c57a8
VS
51572012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
5160 warning.
851ffada
VS
5161 * grub-core/fs/bfs.c (hop_level): Likewise.
5162 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 5163
756773df
VS
51642012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * grub-core/lib/adler32.c: Recode due to license unclearness.
5167
fd556a96
VS
51682012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
5171 (test_header): Likewise.
5172
9f9d3f69
VS
51732012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 Fix --help formatting.
5176
5177 * util/grub-mkconfig_lib.in (print_option_help): New function.
5178 (grub_fmt): Likewise.
5179 * util/grub-install.in: Use print_option_help and grub_fmt.
5180 * util/grub-kbdcomp.in: Likewise.
5181 * util/grub-mkconfig.in: Likewise.
5182 * util/grub-mknetdir.in: Likewise.
5183 * util/grub-mkrescue.in: Likewise.
5184 * util/grub-mkstandalone.in: Likewise.
5185 * util/grub-reboot.in: Likewise.
5186 * util/grub-set-default.in: Likewise.
5187 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5188
561ec77e
VS
51892012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * linguas.sh: Remove autogenerated *.po.
5192
7ec2b021
VS
51932012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * po/README: Move language fetcing to ...
5196 * linguas.sh: ... here.
5197 * po/README: Point to linguas.sh.
5198
a88f3270
VS
51992012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 * po/README: Exclude ko.po due to disclaimer problems.
5202
d61357ce
VS
52032012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
5206 len = 0.
5207 (grub_gettext_translate_real): Handle 0th string.
5208 (grub_gettext_translate): Ensure that "" isn't translated.
5209
505e41dc
VS
52102012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
5213 TRANSLATORS comment.
5214 (grub_diskfilter_print_partmap): Propagate changing of error into
5215 warning.
5216
e44092db
VS
52172012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
5220 to uint64_t to prevent overflow.
5221 (grub_diskfilter_lv): Increase start_extent and extent_count
5222 to uint64_t to prevent overflow.
5223
9b83956a
VS
52242012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * configure.ac: Increase version.
5227
da0d5b3f
VS
52282012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
5231
5232 * po/Rules-translit: New file.
5233 * po/arabic.sed: Likewise.
5234 * po/cyrillic.sed: Likewise.
5235 * po/greek.sed: Likewise.
5236 * po/hebrew.sed: Likewise.
5237 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
5238 * po/Makefile.in.in: Add extra_dist4.
5239
ac66b453
VS
52402012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 Handle big-endian minixfs (fixes minixfs tests on bigendian).
5243
5244 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
5245 modify names. Introduce MODE_BIGENDIAN.
5246 * grub-core/fs/minix_be.c: New file.
5247 * grub-core/fs/minix2_be.c: Likewise
5248 * grub-core/fs/minix3_be.c: Likewise.
5249 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
5250 minix3_be.
5251 * grub-core/Makefile.core.def (minix_be): New module.
5252 (minix2_be): Likewise.
5253 (minix3_be): Likewise.
5254
52552012-04-01 Felix <email@hamburg.de>
5256
5257 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
5258 (devs): Add MBP 2011.
5259
0a2d5a82
VS
52602012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
5263
d1625889
VS
52642012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * grub-core/normal/cmdline.c (print_completion): New field
5267 prompt_len.
5268 (grub_cmdline_get): Handle width properly.
5269
6d36a236
VS
52702012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * grub-core/commands/lsacpi.c (options): Add missing terminator.
5273
9576977e
VS
52742012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 5277 after 29th of February.
9576977e 5278
d73ff15d
VS
52792012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 Fix exfat endianness handling.
5282
5283 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
5284 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
5285 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
5286 Byte-swap utf16 when necessary.
5287 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
5288
bbb39a45
AB
52892012-03-31 Anton Blanchard <anton@samba.org>
52902012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 Fix btrfs endianness handling.
5293
5294 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
5295 (lower_bound): Make root uint64_t. Use root in le.
5296 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
5297 (find_path): Fix template key init.
5298 (grub_btrfs_dir): Fix mtime byteswap.
5299 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
5300
354e0af7
VS
53012012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
5304 recursion_depth. Break infinite resursions. All users updated.
5305
4e75f21c
VS
53062012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
5309 after free.
5310 Reported by: Peter Jones.
5311
25581802
AB
53122012-03-31 Anton Blanchard <anton@samba.org>
5313
5314 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
5315 8 bit values.
5316
08fbf92e
VS
53172012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5318
5319 * util/grub-install.in: Fix nvram call for PreP.
5320
5d1182a6
VS
53212012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
5324 the error when some elements are missing into a warning.
5325
3f8cdd90
VS
53262012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
5329
51006716
CW
53302012-03-28 Colin Watson <cjwatson@ubuntu.com>
5331
5332 * docs/grub.texi (Invoking grub-probe): New section.
5333 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
5334
e1bd676b
VS
53352012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 Fix tab and wide character handling in editor and menu.
5338
5339 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
5340 agglomerate control characters with combining marks.
5341 (bidi_line_wrap): Allow break on tab.
5342 (grub_unicode_get_comb_start): New function.
5343 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
5344 and tab correctly.
5345 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
5346 with a space.
5347 * grub-core/normal/term.c (print_ucs4_terminal): New argument
5348 fixed_tab_size. All users updated.
5349 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
5350 (grub_term_getcharwidth): Handle \t.
5351 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
5352 and copy.
5353
22e6a774
VS
53542012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 Handle big-endian mdraid.
5357
5358 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
5359 * grub-core/Makefile.core.def (mdraid09_be): New module.
5360 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
5361 rather than grub_le_to_cpu* and grub_cpu_to_le*.
5362 * grub-core/disk/mdraid_linux_be.c: New file.
5363
3c0eae66
VS
53642012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
5367
b6cf74c9
VS
53682012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
5371 missing quotes which caused confusion among translators.
5372
83c93b9c
VS
53732012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * util/grub-mkconfig_lib.in: Fix typo.
5376
ac6fd218
VS
53772012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
5380 spaces.
5381 * tests/grub_script_leading_whitespace.in: New file.
5382 * Makefile.util.def (grub_script_leading_whitespace): New test.
5383
ba287dd8
VS
53842012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
5387 to work.
5388
d2d58d0a
VS
53892012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
5392 starts with control character.
5393
0382d9bb
VS
53942012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
5397 overflow.
5398 (grub_gdb_outbuf): Likewise.
5399
d83ff9f9
VS
54002012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
5403 zero terminator. Fixes a crash.
5404
2282da4a
VS
54052012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5406
5407 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
5408 beyond 4 GiB.
5409 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
5410 images independently of preffered adderss field.
5411
0ae4f0bd
VS
54122012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
5415 * grub-core/commands/regexp.c: Likewise.
5416 * grub-core/loader/i386/linux.c: Likewise.
5417 * grub-core/partmap/msdos.c: Likewise.
5418 * grub-core/script/execute.c: Likewise.
5419 * grub-core/term/gfxterm.c: Likewise.
5420
546fbe9b
VS
54212012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 Add variable parsing in $"..." and fix several mismatches with bash.
5424
5425 * Makefile.util.def (grub_script_gettext): New test.
5426 * grub-core/script/execute.c (parse_string): New function.
5427 (gettext_append): Likewise.
5428 (grub_script_arglist_to_argv): Use gettext_append.
5429 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
5430 * tests/grub_script_gettext.in: New file.
5431
9fdb2d7b
VS
54322012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 Fix handling of leading spaces in scripts.
5435
5436 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
5437 spaces.
5438 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
5439 other than skipping \r. All users updated.
5440 * tests/grub_script_echo1.in: Add space-related tests.
5441 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
5442
1a1ac4f6
VS
54432012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5444
5445 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
5446
b63d89b6
VS
54472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * configure.ac: Bump up the version to beta2.
5450
17f38c0f
VS
54512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 Fix gettext reload bugs (e.g. inability to disable gettext
5454 once enabled).
5455
5456 * grub-core/gettext/gettext.c: Encapsulate all static variables in
5457 main_context and secondary_context. All functions updated.
5458 (grub_gettext_translate): Rename to ...
5459 (grub_gettext_translate_real): ... this. Return NULL on failed
5460 translate.
5461 (grub_gettext_translate): Handle secondary context.
5462 (grub_gettext_delete_list): Close file and zero-out the context.
5463 (grub_mofile_open): Don't call grub_gettext_delete_list.
5464 Don't close file.
5465 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
5466 if locale="" to avoid pointless error message.
5467 (grub_gettext_env_write_lang): Update lang even if load fails.
5468 Handle secondary context.
5469 (grub_gettext_reread_prefix): New function.
5470 (read_main): Likewise.
5471 (read_secondary): Likewise.
5472 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
5473 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
5474 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
5475 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
5476
8e56f870
VS
54772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * configure.ac: Decrease warning level to avoid spurious warnings and
5480 to be able to compile with GCC 4.2.
5481 * Makefile.util.def: Remove -Wno-error=logical-op.
5482
82f6d455
WB
54832012-03-10 William Bittner <william.bittner@gmail.com>
5484
5485 * util/import_unicode.py: Add missing brackets around string for
5486 python 3 support.
5487
1ecd61a4
VS
54882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 Fix efi chainloader on network root.
5491
5492 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
5493 network devices.
5494 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
5495 New function.
5496
14361ee8
VS
54972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5498
5499 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
5500 unused show_text member.
5501 * docs/grub.texi: Document "text" property.
5502
922aabf3
VS
55032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
5506 in dprintf.
5507
ec316771
VS
55082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 Fix IMSM handling on Fedora.
5511
5512 * util/getroot.c (grub_util_is_imsm): New function.
5513 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
5514
0f021838
VS
55152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 * Makefile.am: Strip gold section.
5518 * conf/Makefile.common: Likewise.
5519 * gentpl.py: Likewise.
5520 * grub-core/Makefile.core.def: Likewise.
5521 * grub-core/genmod.sh.in: Likewise.
5522
1039c8eb
VS
55232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
5526 * util/grub.d/20_linux_xen.in: Likewise.
5527 Based on Debian patch.
5528
6dd412cd
VS
55292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * util/grub.d/10_linux.in: Fix syntax error resulting in
5532 Richard Laager's patch.
5533 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
5534
3fd8bae5
VS
55352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
5538 dependencies.
5539
7eea1671
RL
55402012-03-10 Richard Laager <rlaager@wiktel.com>
5541
5542 * util/grub.d/10_linux.in: Fix ZFS root passing.
5543
e8e0566b
VS
55442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5545
5546 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
5547 * grub-core/commands/xnu_uuid.c: Likewise.
5548 * grub-core/loader/efi/appleloader.c: Likewise.
5549 * grub-core/script/execute.c: Likewise.
5550 * grub-core/script/main.c: Likewise.
5551 * util/grub-mkfont.c: Likewise.
5552
1acc5b1f
VS
55532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * util/grub-mkfont.c (options): Use more appropriate "select" that
5556 "set" for face index.
5557
35d70620
VS
55582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 * util/grub-editenv.c (options): Gettextize command summaries.
5561
c9eb96b5
VS
55622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
5565 "out of memory" error messagge.
5566
1f493136
VS
55672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
5570 of diskfilter for diskfilter on diskfilter support.
5571
6d790129
VS
55722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
5575
005f46c9
VS
55762012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * util/grub-install.in: Check for themes/starfield/theme.txt and not
5579 themes/starfield.
5580
c8f778a0
VS
55812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
5584
de1e64eb
VS
55852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
5588
c6d54211
VS
55892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5590
5591 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
5592 of error message.
5593
dd390777
VS
55942012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
5597
5fd1c522
VS
55982012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
5601 message.
c6d54211 5602 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 5603
fae01f6c
VS
56042012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
5607 Gettextize.
5608 * util/grub-mount.c (options): Likewise.
5609
292fdaff
VS
56102012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
5613 gettextize.
5614 * grub-core/commands/search_wrap.c (options): Likewise.
5615
ecdbae77
VS
56162012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5617
5618 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
5619
52bfedfa
VS
56202012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
5623 size calculation.
5624 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
5625 none is known.
5626
55b20e58
VS
56272012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
5630 "temporary" since it's used in identifier and is limited in space.
5631
fda9d101
VS
56322012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * po/POTFILES.in: Regenerate. Include *.h since they contain
5635 translatable strings as well.
5636
6a0295e2
VS
56372012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
5640 byte-swap on big-endian.
5641 Reported by: Lennart Sorensen
5642
807fb77c
VS
56432012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
5646 (allocate_pages): Improve dprintf.
5647 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
5648 code32_start. Fill code32_start and kernel_alignment in params.
5649 (grub_cmd_initrd): Use prot_init_space.
5650
61ac50ba
VS
56512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
5654
abdd26dd
VS
56552012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * util/grub-install.in: Add missing dot at the end of sentence.
5658
6e69da9c
VS
56592012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
5662 * grub-core/commands/videotest.c: Likewise.
5663 * grub-core/loader/i386/linux.c: Likewise.
5664
4a929343
VS
56652012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
5668 sentence.
5669 Reported by: Milo Casagrande.
5670
bb51c6c6
VS
56712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
5674 * grub-core/commands/gptsync.c: Likewise.
5675 * grub-core/commands/hashsum.c: Likewise.
5676 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5677 * grub-core/commands/legacycfg.c: Likewise.
5678 * grub-core/io/gzio.c: Likewise.
5679 * grub-core/net/net.c: Likewise.
5680 * grub-core/term/gfxterm.c: Likewise.
5681 * grub-core/term/terminfo.c: Likewise.
5682 * grub-core/tests/test_blockarg.c: Likewise.
5683 * grub-core/video/video.c: Likewise.
5684 * util/grub-install.in: Likewise.
5685 * util/grub-mkfont.c: Likewise.
5686
b2b149cb
VS
56872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
5690
c7c080ad
VS
56912012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 5694 Reported by: David Prévot.
c7c080ad 5695
f2e243c0
VS
56962012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5697
5698 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
5699 description.
5700
09963c76
VS
57012012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 * util/grub-script-check.c (main): Fix a syntax error message which was
5704 unclear.
5705
a50514a8
VS
57062012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
5709
4650daec
VS
57102012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
5713 messages.
5714
57152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
5716
5717 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
5718 without argument.
5719 * util/grub-mount.c (options): Likewise.
5720
bbc5a342
VS
57212012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
5724
ef292a87
VS
57252012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * grub-core/net/http.c: Add TRANSLATORS comments.
5728 * grub-core/normal/cmdline.c: Likewise.
5729 * grub-core/normal/misc.c: Likewise.
5730 * grub-core/partmap/msdos.c: Likewise.
5731 * grub-core/parttool/msdospart.c: Likewise.
5732 * grub-core/script/execute.c: Likewise.
5733 * grub-core/script/main.c: Likewise.
5734 * grub-core/term/terminfo.c: Likewise.
5735 * grub-core/video/bitmap.c: Likewise.
5736 * util/grub-install.in: Likewise.
5737 * util/grub-mkimage.c: Likewise.
5738 * util/grub-mklayout.c: Likewise.
5739 * util/grub-setup.c: Likewise.
5740
0fc19bd0
VS
57412012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
5744 with similar messages in grub-fstest.
5745
d95862ef
VS
57462012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * util/grub-install.in: Unify "option requires an argument" message
5749 with similar messages in other files.
5750 * util/grub-mkconfig.in: Likewise.
5751
b7308f90
VS
57522012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * util/grub-set-default.in: Replace printf with gettext_printf (the
5755 string in in question is already translated from grub-reboot)
5756
559dc587
VS
57572012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5758
5759 * configure.ac: Bump up the version to beta1.
5760
1a11761f
VS
57612012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
5764 case when min_align = 0.
5765
24539abd
VS
57662012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
5769 and fix a case when line_start overflows.
5770
32bd735b
VS
57712012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * util/grub-reboot.in (usage): Mention id posibility.
5774 * util/grub-set-default.in (usage): Likewise.
5775
1a2fd1e6
VS
57762012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
5779 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
5780 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
5781 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
5782 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5783 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5784 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5785
90eeab76
VS
57862012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * grub-core/commands/menuentry.c (options): Remove
5789 GRUB_ARG_OPTION_REPEATABLE.
5790 Reported by: Andreas Vogel
5791
5ad1be82
AV
57922012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
5793
5794 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
5795
cb055286
HE
57962012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
5797
5798 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
5799 error.
5800
93b1cd79
VS
58012012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 Use sort -V by the idea of Georgi Georgiev.
5804
5805 * util/grub-mkconfig_lib.in (version_sort): New function.
5806 (version_test_numeric): Use version_sort.
5807
0cdc126c
VS
58082012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 Use submenus in grub-mkconfig.
5811
5812 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
5813 * util/grub-mkconfig_lib.in (grub_quote): New function.
5814 (gettext_printf): Use gettext and not gettext_quoted to fix several
5815 messages.
5816 * util/grub.d/10_hurd.in: Use submenus.
5817 * util/grub.d/10_kfreebsd.in: Likewise.
5818 * util/grub.d/10_linux.in: Likewise.
5819 * util/grub.d/10_netbsd.in: Likewise.
5820 * util/grub.d/20_linux_xen.in: Likewise.
5821 * util/grub.d/30_os-prober.in: Likewise.
5822 * util/grub.d/10_illumos.in: Add missing quoting.
5823 * util/grub.d/10_windows.in: Likewise.
5824
d9bef9bc
VS
58252012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 Fix menu title instability bug.
5828
5829 * grub-core/commands/menuentry.c (options): New option --id.
5830 (grub_normal_add_menu_entry): New argument id. All users updated.
5831 (grub_cmd_menuentry): Handle --id.
5832 (grub_menu_init): Accept unknown arguments.
5833 * grub-core/normal/main.c (features): Add feature_menuentry_id and
5834 feature_menuentry_options.
5835 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
5836 saved_entry.
5837 (get_entry_number): Match with id as well.
5838 * include/grub/menu.h (grub_menu_entry): New member id.
5839 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
5840 * util/grub.d/00_header.in: Define menuentry_id_option.
5841 * util/grub.d/10_hurd.in: Define id.
5842 * util/grub.d/10_illumos.in: Likewise.
5843 * util/grub.d/10_kfreebsd.in: Likewise.
5844 * util/grub.d/10_linux.in: Likewise.
5845 * util/grub.d/10_netbsd.in: Likewise.
5846 * util/grub.d/10_windows.in: Likewise.
5847 * util/grub.d/20_linux_xen.in: Likewise.
5848 * util/grub.d/30_os-prober.in: Likewise.
5849
58502012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
5851
5852 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
5853 "scope" with "body".
5854
7c8d0ce7
VS
58552012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5856
5857 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
5858 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
5859 prot_size and prot_file_size.
5860
49de079b
VS
58612012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
5864 All users updated. If easily=1 require raid-5/-6 to be full.
5865 (is_node_readable): Likewise.
5866 (scan_devices): Scan incomplete but readable LVs at the end.
5867 (grub_diskfilter_memberlist): Pull missing devices.
5868 (insert_array): Skip scanning until device is complete or scan is
5869 done otherwise.
5870 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
5871 check.
5872 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
5873 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
5874
aff05d45
MG
58752012-03-03 Matthew Garrett <mjg@redhat.com>
58762012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 Avoid EFI boot services when loading Linux.
5879
5880 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
5881 avoid_efi_bootservices. All users updated.
5882 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
5883 argument avoid_efi_bootservices. All users updated.
5884 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
5885 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
5886 align, min_align, relocatable, prefered_address. All users updated.
5887 Allocate avoiding boot services if kernel is relocatable.
5888 (grub_cmd_linux): Check if kernel is relocatable.
5889 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
5890 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
5891 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
5892 avoid_efi_boot_services.
5893 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
5894 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
5895 (linux_kernel_params): Likewise.
5896
3935dde2
MG
58972012-03-03 Matthew Garrett <mjg@redhat.com>
58982012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5899
5900 Use EDID on EFI.
5901
5902 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
5903 datasize_out.
5904 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
5905 modes. Set gop_handle.
5906 (grub_video_gop_get_edid): New function.
5907 (grub_gop_get_preferred_mode): Likewise.
5908 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
5909 (grub_video_efi_gop_adapter): Set .get_edid.
5910 * include/grub/efi/edid.h: New file.
5911 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
5912
32107ec0
VS
59132012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 * util/grub-install.in: Load efivars unconditionally.
5916
e70a2c50
VS
59172012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 * po/Rules-piglatin: Change suffix from .po-update-en to
5920 .po-update-en-piglatin.
5921
8f9cace1
VS
59222012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 Add a pig farm.
5925
5926 * po/piglatin.sed: New file.
5927 * po/en@piglatin.header: Likewise.
5928 * po/Rules-piglatin: Likewise.
5929 * po/README: Add en@piglatin to autogenerated languages.
5930
8f95d002
VS
59312012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
5934 "Command for ...".
5935 * grub-core/commands/hdparm.c (options): Use "Display" rather than
5936 "Check" since we don't check anything.
5937 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
5938 is 64-bit one.
5939 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
5940 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
5941 (grub_md_sha512_real): Likewise.
5942
805a8dcc
VS
59432012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * grub-core/commands/gptsync.c: Fix typographic quoting.
5946 * grub-core/commands/ieee1275/suspend.c: Likewise.
5947 * grub-core/commands/parttool.c: Likewise.
5948 * grub-core/commands/search_wrap.c: Likewise.
5949 * grub-core/commands/videoinfo.c: Likewise.
5950 * grub-core/gfxmenu/gui_label.c: Likewise.
5951 * grub-core/hello/hello.c: Likewise.
5952 * grub-core/kern/emu/main.c: Likewise.
5953 * grub-core/net/net.c: Likewise.
5954 * grub-core/normal/menu.c: Likewise.
5955 * grub-core/normal/menu_text.c: Likewise.
5956 * grub-core/normal/misc.c: Likewise.
5957 * util/grub-editenv.c: Likewise.
5958 * util/grub-install.in: Likewise.
5959 * util/grub-kbdcomp.in: Likewise.
5960 * util/grub-mkconfig.in: Likewise.
5961 * util/grub-mknetdir.in: Likewise.
5962 * util/grub-mkrescue.in: Likewise.
5963 * util/grub-mkstandalone.in: Likewise.
5964 * util/grub-reboot.in: Likewise.
5965 * util/grub-set-default.in: Likewise.
5966 * util/grub-setup.c: Likewise.
5967 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5968
40211ab8
VS
59692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
5972 * grub-core/commands/keystatus.c: Likewise.
5973 * grub-core/commands/loadenv.c: Likewise.
5974 * grub-core/commands/probe.c: Likewise.
5975 * grub-core/commands/regexp.c: Likewise.
5976 * grub-core/commands/true.c: Likewise.
5977 * grub-core/commands/videoinfo.c: Likewise.
5978 * grub-core/disk/cryptodisk.c: Likewise.
5979 * grub-core/disk/ldm.c: Likewise.
5980 * grub-core/disk/loopback.c: Likewise.
5981 * grub-core/disk/luks.c: Likewise.
5982 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5983 * grub-core/kern/disk.c: Likewise.
5984 * grub-core/kern/emu/hostdisk.c: Likewise.
5985
0c7d99c7
VS
59862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
5989 * util/grub-install.in: Add missing quote in the comment.
5990
e7d2559b
VS
59912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
5994 * grub-core/commands/lsmmap.c: Likewise.
5995 * grub-core/commands/minicmd.c: Likewise.
5996 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5997 * grub-core/commands/regexp.c: Likewise.
5998 * grub-core/gdb/gdb.c: Likewise.
5999 * grub-core/term/gfxterm.c: Likewise.
6000 * util/grub-mkconfig.in: Likewise.
6001 * util/grub-mkfont.c: Likewise.
6002 * util/grub-mklayout.c: Likewise.
6003 * util/grub-mknetdir.in: Likewise.
6004 * util/grub-mkrescue.in: Likewise.
6005 * util/grub.d/30_os-prober.in: Likewise.
6006
49ce9e50
VS
60072012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6008
6009 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
6010 with "Direct color" and "Packed" with "Packed pixel".
6011 (grub_cmd_videoinfo): Simplify legend.
6012
e4b791fa
VS
60132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6016 absolutely unclear error message.
6017
fd1265cb
VS
60182012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * util/grub-mkstandalone.in: Remove confusing leftover print.
6021
8822a8a0
VS
60222012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
6025 comments.
6026 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
6027 (GRUB_MOD_INIT): Likewise.
6028 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
6029 VGA mode.
6030 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
6031 comments.
6032 * util/grub-install.in (usage): Likewise.
6033 Spell ID in whole letters.
6034 Add missing ending dot.
6035 Quote variables.
6036 * util/grub-reboot.in: Fix capitalisation.
6037 * util/grub-set-default.in: Likewise.
6038
937fd0cc
VS
60392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6040
6041 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
6042 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
6043 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
6044 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
6045 Disable -Werror for -Wdeprecated-declarations.
6046 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
6047 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
6048 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
6049 (grub_util_get_grub_dev): Make luks handling dependent on
6050 HAVE_DEVICE_MAPPER and not __linux__.
6051 (get_win32_path): Fix format security.
6052 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
6053 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
6054 Don't try grub_find_zpool_from_dir.
6055 (grub_make_system_path_relative_to_its_root) [!__linux__]:
6056 #ifdef-out paresdir.
6057
1bab1ae3
VS
60582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 * util/grub-pe2elf.c (usage): Add missing noreturn.
6061 (write_section_data): Rename name to shname to avoid shadowing.
6062 (write_symbol_table): Rename name to symname to avoid shadowing.
6063 Fix write_reloc_section call.
6064
ef023e42
VS
60652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
6068 to ensure that it's after the last byte of .text.
6069
48afcb75
VS
60702012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 * util/ieee1275/ofpath.c (my_isdigit): New function.
6073 (trailing_digits): Use my_isdigit.
6074 (strip_trailing_digits): Likewise.
6075
88d51eff
VS
60762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
6079 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
6080
17edc2ba
VS
60812012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * grub-core/kern/i386/pc/startup.S: Define __start.
6084
ad5518d7
VS
60852012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
6088 strip already transforms he format.
6089
9e95e1bf
VS
60902012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6091
6092 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
6093
9cc3ee5c
VS
60942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 * util/grub-install.in: Add missing gettext init.
6097 * util/grub-kbdcomp.in: Likewise.
6098 * util/grub-mkconfig.in: Likewise.
6099 * util/grub-mknetdir.in: Likewise.
6100 * util/grub-mkrescue.in: Likewise.
6101 * util/grub-mkstandalone.in: Likewise.
6102 * util/grub-reboot.in: Likewise.
6103 * util/grub-set-default.in: Likewise.
6104 * util/grub.d/00_header.in: Likewise.
6105 * util/grub.d/10_hurd.in: Likewise.
6106 * util/grub.d/10_windows.in: Likewise.
6107 * util/grub.d/30_os-prober.in: Likewise.
6108 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6109
49e08a06
VS
61102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * po/Rules-swiss: Fix header comment.
6113
3809cb41
AV
61142012-02-29 Andreas Vogel <anvoit>
6115
6116 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
6117 resulted in leak of arguments.
6118
fa6ec573
VS
61192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * grub-core/boot/i386/pc/startup_raw.S: Use separate
6122 reed_solomon_size const definition instead of computing it since
6123 Apple assembler doesn't support the later.
6124
22899b9c
VS
61252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * gentpl.py (kernel): Rewrite Apple part.
6128
a132afc3
VS
61292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * include/grub/kernel.h (FOR_MODULES): Check module magic.
6132
9d742bd4
VS
61332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 * util/grub-mkimagexx.c (locate_sections): Support non-standard
6136 ELF section gap.
6137 (load_image): Likewise.
6138
f04a9a21
VS
61392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * configure.ac: Fix a typo in previous commit.
6142
46cf439c
VS
61432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 Don't add -Wl,-N on Apple platform.
6146
6147 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
6148 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
6149
c4c48c54
VS
61502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 * grub-core/Makefile.core.def (lzma_decompress): Use
6153 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
6154
31a12124
VS
61552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 * grub-core/genmod.sh.in: Rewrite the Apple part.
6158
4f3aa1af
VS
61592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
6162 comparison.
6163
7bd8b0c7
VS
61642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * acinclude.m4 (grub_CHECK_PIC): New test.
6167 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
6168
97304d7c
VS
61692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6170
6171 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
6172 to avoid the warning.
6173
fb883812
VS
61742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
6177 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
6178 after. All users updated.
6179
a121c964
VS
61802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 Use the common size routine in hostfs so we can read disks as well.
6183
6184 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
6185 (grub_util_get_fd_size): ... this. Return size in bytes.
6186 All users updated.
6187 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
6188 grub_util_get_fd_size.
6189
c66d6410
VS
61902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
6193 Add blocksize retrieval.
6194
dfc8aeb0
VS
61952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 * configure.ac: Restore CFLAGS after efiemu check.
6198
403e25a5
VS
61992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
6202 Apple bug.
6203
382775d1
VS
62042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
6207
6fd4e6e4
VS
62082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6209
6210 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
6211 (grub_cmd_halt): Likewise.
6212
bea359d6
VS
62132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6214
6215 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
6216 for local arithmetics.
6217 Break %sp init into 2 instructions.
6218 Add 0 byte at the end.
6219
32eb6ee1
VS
62202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * grub-core/disk/diskfilter.c (read_segment): Initialise err
6223 before loops.
6224
e8377389
VS
62252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
6228 for context.
6229
8cb17de7
VS
62302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * grub-core/disk/ldm.c (make_vg): Init part.name.
6233 (grub_ldm_detect): Silence spurious warning.
6234 (grub_util_is_ldm): Likewise.
6235
595717e6
VS
62362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
6239 sane value to avoid a spurious warning.
6240
c4b7e588
VS
62412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
6244 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
6245
59824957
VS
62462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6247
6248 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
6249 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
6250
70115b99
VS
62512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
6254 hardcoding the relevant info.
6255
56733740
VS
62562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
6259 missing const qualifiers.
6260 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
6261
43481481
VS
62622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * util/getroot.c [__APPLE__]: Add missing includes.
6265 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
6266
3cb38f01
VS
62672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * util/grub-mkimage.c (generate_image): Silence spurious warning.
6270
d9dbf11e
VS
62712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
6274 avoid conflicts.
6275
0c42a45d
VS
62762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
6279
46c34eb0
VS
62802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
6283 and grub_file_close call.
6284
99ce1597
VS
62852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 Add LZSS Mach-O support (needed for new xnu kernelcache).
6288
6289 * grub-core/Makefile.core.def (xnu): Add file lzss.c
6290 * grub-core/loader/lzss.c: New file.
6291 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
6292 on Mach-O open failure.
6293 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
6294 Don't free cmdsXX in uncompressedXX is set.
6295 (grub_macho_file): Init new fields.
6296 New argument is_64bit. All users updated.
6297 Handle compressed. Error out if no suitable architecture is found.
6298 Don't close file.
6299 (grub_macho_open): New argument is_64bit. All users updated.
6300 * grub-core/loader/macho32.c: Add defines for new fields.
6301 * grub-core/loader/macho64.c: Likewise.
6302 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
6303 (grub_macho_parse): Handle compressed.
6304 Defer actual processing if compressed.
6305 (grub_macho_cmds_iterate): Decompress if compressed. New argument
6306 "filename". All users updated.
6307 (grub_macho_size): New argument "filename". All users updated.
6308 (grub_macho_get_entry_point): Likewise.
6309 (grub_macho_load): Handle compressed.
6310 * include/grub/macho.h (grub_macho_lzss_header): New struct.
6311 (GRUB_MACHO_LZSS_OFFSET): New define.
6312 (grub_decompress_lzss): New proto.
6313 * include/grub/machoload.h (grub_macho_file): New fields to handle
6314 compressed.
6315 (grub_macho_contains_macho64): Remove proto.
6316 (grub_macho_contains_macho32): Likewise.
6317 * util/grub.d/30_os-prober.in: Use kernel cache if available.
6318
ebd17d6f
VS
63192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
6322
2702b4e4
VS
63232012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 Fix make dist.
6326
6327 * Makefile.am (starfield_theme_files): New var.
6328 (starfield_DATA): Use starfield_theme_files.
6329 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
6330 Add bootcheck-related files.
6331 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
6332 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
6333 and font_char_metrics.txt.
6334 * grub-core/Makefile.core.def (kernel): Update extra_dist.
6335 (setjmp): Add lib/ia64/longjmp.S.
6336 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
6337 * po/POTFILES.in: Regenerate.
6338 * po/Rules-swiss: use DISTFILES.common.extra2 and not
6339 DISTFILES.common.extra1.
6340 * util/devicemap.c: Removed.
6341 * grub-core/lib/i386/relocator_backward.S: Likewise.
6342 * util/import_gcry.py: Remove unused files. Add extra_dist for
6343 ChangeLog.
6344
cf1adfdf
VS
63452012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * grub-core/gettext/gettext.c (grub_mofile_open): Call
6348 grub_gettext_delete_list before changing grub_gettext_max to avoid
6349 running out of array bounds.
6350
63512012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
6352
6353 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
6354 grub_vga_text_init/grub_vga_text_fini.
6355
cf1adfdf 63562012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
6357
6358 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
6359
541d92e9
VS
63602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 * configure.ac: Bump to 2.00~beta0.
6363
7931dddf
VS
63642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
6367 missing initialisation.
6368
f1b16fa3
VS
63692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
6372
83ddae23
VS
63732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 Support v2 xnu boot arguments.
6376
6377 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
6378 New argument fsbfreq_out.
6379 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
6380 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
6381 be used.
6382 * grub-core/loader/machoXX.c (grub_macho_load): New argument
6383 darwin_version.
6384 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
6385 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
6386 (grub_xnu_boot_params): Rename to ...
6387 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
6388 (grub_xnu_boot_params_v2): New struct.
6389
dc693fe6
VS
63902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6391
6392 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
6393 zeroing of CRC field before computing CRC.
6394
5a6e39c2
VS
63952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
6398 Change order of allocations to decrease fragmentation.
6399
6c21f5d7
VS
64002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
6403
cfe456dc
CW
64042012-02-27 Colin Watson <cjwatson@ubuntu.com>
6405
6406 Use write-combining MTRR to speed up video with buggy BIOSes.
6407
6408 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
6409 (cpuid): New define.
6410 (rdmsr): Likewise.
6411 (wrmsr): Likewise.
6412 (mtrr_base): Likewise.
6413 (mtrr_mask): Likewise.
6414 (grub_vbe_enable_mtrr_entry): New function.
6415 (grub_vbe_enable_mtrr): Likewise.
6416 (grub_vbe_disable_mtrr): Likewise.
6417 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
6418 control off to BIOS.
6419 (grub_video_vbe_init): Fill mtrr.
6420 (grub_video_vbe_fini): Disable mtrr.
6421 (grub_video_vbe_get_info_and_fini): Likewise.
6422 (grub_video_vbe_setup): Enable mtrr.
6423
e3c78337
CW
64242012-02-27 Colin Watson <cjwatson@ubuntu.com>
6425
6426 * include/grub/partition.h (grub_partition_map): Change prototype of
6427 embed to take a maximum value for nsectors.
6428 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
6429 * include/grub/fs.h (grub_fs): Likewise.
6430 * grub-core/partmap/msdos.c (embed_signatures): New array.
6431 (pc_partition_map_embed): Check for and avoid sectors matching any
6432 of the signatures in embed_signatures, up to max_nsectors.
6433 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
6434 returned sector map to max_nsectors.
6435 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
6436 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
6437 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
6438 * util/grub-setup.c (setup): Allow for the embedding area being
6439 split into multiple blocklists. Tell dest_partmap->embed the
6440 maximum number of sectors we care about.
6441
64422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
6445 Specify blocklist_install and reserver_first_sector for all fs.
6446 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
6447 blocklists.
6448
984b973f
VS
64492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * util/grub-install.in: Clarify strings.
6452 Fix source dir check.
6453
f122e0d6
RL
64542012-02-27 Richard Laager <rlaager@wiktel.com>
6455
6456 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
6457 "zfs" and "fuse.zfs" as synonyms.
6458
071114bb
VS
64592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * configure.ac: Put platform and target_cpu substitutions back since
6462 they are used for directories.
6463
817e6abc
RL
64642012-02-27 Richard Laager <rlaager@wiktel.com>
64652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * util/grub.d/10_linux.in: Add ZFS-related arguments.
6468 * util/grub.d/20_linux_xen.in: Likewise.
6469
897b7419
RL
64702012-02-27 Richard Laager <rlaager@wiktel.com>
6471
6472 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
6473 with full paths.
6474
a414bd15
RL
64752012-02-27 Richard Laager <rlaager@wiktel.com>
6476
6477 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
6478 unescape.
6479
30ac48c4
VS
64802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 Don't use insecure popen in getroot.
6483
6484 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
6485 (exec_pipe): ... here.
6486 (find_root_devices_from_poolname): Use exec_pipe.
6487
53f13848
VS
64882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6489
6490 Remove platform and target_cpu replacement.
6491
6492 * configure.ac: Remove platform and target_cpu substitutions.
6493 * tests/util/grub-shell.in: Use modinfo.
6494 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
6495 explicitly.
6496
90cb2803
VS
64972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 Autodetect platform in grub-install but allow override.
6500
6501 * util/grub-install.in: Autodetect platform. Support --target and
6502 --directory. Read platform from modinfo.sh.
6503
b9136427
VS
65042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 Support btrfs multi-volume probe.
6507
6508 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
6509 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
6510 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
6511 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
6512 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
6513 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
6514 grub_find_root_devices_from_btrfs if on btrfs.
6515
c36e5cd1
VS
65162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 Remove any awareness of *.c util files about target.
6519
6520 * Makefile.util.def (grub-setup): Split to ...
6521 (grub-bios-setup): ... and this.
6522 (grub-sparc64-setup): ... and this.
6523 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
6524 * docs/man/grub-setup.h2m: Split into ...
6525 * docs/man/grub-sparc64-setup.h2m: ... this.
6526 * docs/man/grub-bios-setup.h2m: ... and this.
6527 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
6528 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
6529 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
6530 (grub_target_addr_t): Remove.
6531 (grub_target_size_t): Remove.
6532 (grub_target_ssize_t): Remove.
6533 * util/grub-install.in: Use new grub-*-setup.
6534 * util/grub-mkimagexx.c (Elf_Word): New define.
6535 (Elf_Half): Likewise.
6536 (Elf_Section): Likewise.
6537 (ELF_ST_TYPE): Likewise.
6538 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
6539 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
6540
584b2f8a
VS
65412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 Replace grub_target_addr with more appropriate types.
6544
6545 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
6546 grub_target_addr with grub_addr.
6547 * grub-core/commands/iorw.c (grub_cmd_read): Replace
6548 grub_target_addr with grub_port.
6549 (grub_cmd_write): Likewise.
6550 * grub-core/commands/memrw.c (grub_cmd_read): Replace
6551 grub_target_addr with grub_addr.
6552 (grub_cmd_write): Likewise.
6553 * grub-core/video/efi_uga.c (find_line_len): Likewise.
6554
5a0dc6fb
VS
65552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
6558 const qualifier for vendor_guid.
6559
786aff6e
VS
65602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
6563 const qualifier.
6564 (efiemu_memequal): Likewise.
6565 (find_variable): Likewise.
6566
49017b17
VS
65672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6568
6569 Fix missing console prototype on qemu-mips.
6570
6571 * include/grub/mips/qemu_mips/console.h: New file.
6572
c5988629
MG
65732012-02-27 Matthew Garrett <mjg@redhat.com>
65742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
6577 * include/grub/efi/efi.h: Likewise.
6578 * include/grub/efi/api.h: Add guid for EFI-specified variables.
6579 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
6580 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
6581 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
6582 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
6583 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
6584
e33f8d69
MG
65852012-02-27 Matthew Garrett <mjg@redhat.com>
6586
6587 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
6588
fb312cd9
VS
65892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
6592 error.
6593
7134247c
VS
65942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * configure.ac: Remove inappropriate use of program_transform_name
6597 on grubdir and bootdir but allow explicit specification of those
6598 variables.
6599
6a313124
VS
66002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 * util/grub-mknetdir.in (grub_prefix): Removed.
6603 (subdir): Use @bootdirname@ and @grubdirname@.
6604
2311c5ca
VS
66052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6606
6607 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
6608
7d5d60f7
VS
66092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * po/POTFILES.in: Regenerated.
6612
8151bc82
VS
66132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 Remove improper use of program_transform_name on pkglibrootdir.
6616
6617 * configure.ac (pkglibrootdir): Removed.
6618 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
6619 * util/grub-mkimage.c: Likewise.
6620
b4a6a533
VS
66212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
6624 warning.
6625
668f304f
VS
66262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 * util/grub-install.in: Use file identifier if no UUID is available
6629 or user explicitly prompted for it.
6630
665f2341
NP
66312012-02-27 Navdeep Parhar <nparhar@gmail.com>
6632
6633 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
6634 (freebsd_get_zfs): New function.
6635 (grub_freebsd_boot): Pass zfs UUID.
6636 (grub_cmd_freebsd): Set zfs UUID.
6637
8151bc82 66382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
6639
6640 * conf/Makefile.common (platformdir): Base on pkglibdir and not
6641 pkglibrootdir.
6642
e4c498a1
MG
66432012-02-27 Mike Gilbert <floppym@gentoo.org>
6644
6645 Add configure flag to control libzfs integration.
6646
6647 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
6648
1e9a9a3f
VS
66492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
6652 device.
6653 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
6654 small devices.
6655
036985b8
VS
66562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 Remove grub_{modname}_init and grub_{modname}_fini. They should never
6659 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
6660 be used on non-modules.
6661
6662 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
6663 Rename to grub_boot_init.
6664 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
6665 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
6666 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
6667 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
6668 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
6669 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
6670 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
6671 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
6672 includes.
6673 (grub_machine_init): Remove empty inits.
6674 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
6675 includes.
6676 (grub_machine_init): Remove empty inits.
6677 * grub-core/term/arc/console.c: Remove explicit proto.
6678 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
6679 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
6680 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6681 grub_at_keyboard_fini.
6682 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
6683 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
6684 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6685 grub_gfxterm_fini.
6686 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
6687 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
6688 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6689 grub_vgatext_fini.
6690 * grub-core/term/ieee1275/console.c: Remove explicit proto.
6691 * grub-core/term/serial.c (GRUB_MOD_INIT)
6692 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
6693 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6694 grub_serial_fini.
6695 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
6696 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
6697 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6698 grub_terminfo_fini.
6699 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
6700 (GRUB_MOD_FINI): Likewise.
6701 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
6702 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
6703 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6704 grub_video_radeon_fuloong2e_fini.
6705 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
6706 [LOONGSON]: Rename to grub_video_sis315pro_init.
6707 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6708 grub_video_sis315pro_fini.
6709 * grub-core/video/sm712.c (GRUB_MOD_INIT)
6710 [LOONGSON]: Rename to grub_video_sm712_init.
6711 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6712 grub_video_sm712_fini.
6713 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
6714 (grub_at_keyboard_fini): Likewise.
6715 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
6716 Don't declare grub_{modname}_init.
6717 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
6718 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
6719 New proto.
6720 (grub_keylayouts_fini) [!EMU]: Likewise.
6721 * include/grub/serial.h (grub_serial_init) [!EMU]:
6722 New proto.
6723 (grub_serial_fini) [!EMU]: Likewise.
6724 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
6725 New proto.
6726 (grub_terminfo_fini) [!EMU]: Likewise.
6727 * include/grub/video.h (grub_font_init) [!EMU]:
6728 New proto.
6729 (grub_font_fini) [!EMU]: Likewise.
6730 (grub_gfxterm_init) [!EMU]: Likewise.
6731 (grub_gfxterm_fini) [!EMU]: Likewise.
6732 (grub_video_sm712_init) [!EMU]: Likewise.
6733 (grub_video_sm712_fini) [!EMU]: Likewise.
6734 (grub_video_sis315pro_init) [!EMU]: Likewise.
6735 (grub_video_sis315pro_fini) [!EMU]: Likewise.
6736 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
6737 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
6738
d5534665
VS
67392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6740
6741 Make nand a prefix for nand devices.
6742
6743 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
6744
10133b5f
VS
67452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6746
6747 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
6748 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
6749
8e307a62
VS
67502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6751
6752 * include/grub/env.h (grub_env_find): Remove prototype.
6753 * grub-core/kern/env.c (grub_env_find): Make static.
6754 (grub_env_set): Remove useless set.
6755
a4c65f34
VS
67562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * grub-core/kern/i386/realmode.S: Remove useless align.
6759
d87893d5
VS
67602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 * include/grub/dl.h (grub_dl_load_file): Don't export.
6763
50159add
VS
67642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
6767 grub_dprintf.
6768
b2582b84
VS
67692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
6772 grub_errors.
6773 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
6774 not reloading whole superblock but only the part which is really needed.
6775 Remove useless grub_errors.
6776 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
6777 grub_errors.
6778
e2a83395
VS
67792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 Don't export grub_get_rtc.
6782
6783 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
6784 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
6785
e7d2a906
VS
67862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
6789
6cf1363b
VS
67902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 6793 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 6794
eece3349
VS
67952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 Remove prio_list.
6798
6799 * include/grub/list.h (grub_prio_list): Removed.
6800 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
6801 GRUB_COMMAND_PRIO_MASK.
6802 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
6803 GRUB_COMMAND_FLAG_ACTIVE.
6804 (grub_prio_list_insert): Removed.
6805 (grub_prio_list_remove): Likewise.
6806 (GRUB_AS_PRIO_LIST): Likewise.
6807 (GRUB_AS_PRIO_LIST_P): Likewise.
6808 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
6809 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
6810 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
6811 * grub-core/kern/command.c (grub_register_command_prio): Inline
6812 the prio_list code.
6813 (grub_unregister_command): Likewise.
6814
94f064b4
VS
68152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 Fix interrupt mixup from previous commit.
6818
6819 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
6820 (grub_realidt): New var.
6821 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
6822 Load idt.
6823 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
6824 New declaration.
6825 (grub_relocator16_boot): Set grub_relocator16_idt.
6826 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
6827 (LOCAL(realidt)): ... this.
6828 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
6829 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
6830 (grub_realidt): New variable.
6831
27317084
VS
68322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
6835 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
6836 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
6837 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
6838 Gettextize.
6839 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
6840 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
6841 * po/POTFILES.in: Regenerate.
6842
47b40053
VS
68432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
6846 errors.
6847
2b343101
VS
68482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
6851 \0.
6852 (add_length): Likewise.
6853
ff27c3dd
LK
68542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
68552012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
6856
6857 GDB serial and backtrace support.
6858
6859 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
6860 (prot_to_real): Likewise.
6861 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
6862 * grub-core/Makefile.core.def (backtrace): New module.
6863 (gdb): Likewise.
6864 * grub-core/gdb/cstub.c: New file.
6865 * grub-core/gdb/gdb.c: Likewise.
6866 * grub-core/gdb/i386/idt.c: Likewise.
6867 * grub-core/gdb/i386/machdep.S: Likewise.
6868 * grub-core/gdb/i386/signal.c: Likewise.
6869 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 6870 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
6871 * include/grub/backtrace.h: Likewise.
6872 * include/grub/gdb.h: Likewise.
6873 * include/grub/i386/gdb.h: Likewise.
6874
68752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
6876
6877 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
6878 New function.
6879 (add_length): Likewise.
6880 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
6881 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
6882 proto.
6883 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
6884 __argp_get_display_len.
6885
ff27c3dd 68862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
6887
6888 $"..." support in scripts.
6889
6890 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
6891 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
6892 * grub-core/script/yylex.l: Likewise.
6893 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
6894 value.
6895
ff27c3dd 68962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
6897
6898 * gentpl.py: Remove obsolete pkglib_DATA handling.
6899
ff27c3dd 69002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
6901
6902 Don't transform PACKAGE_TARNAME following a discussion on autoconf
6903 mailing list.
6904
6905 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
6906 * util/grub-kbdcomp.in: Likewise.
6907 * util/grub-mkconfig.in: Likewise.
6908 * util/grub-mkconfig_lib.in: Likewise.
6909 * util/grub-mknetdir.in: Likewise.
6910 * util/grub-mkrescue.in: Likewise.
6911 * util/grub-mkstandalone.in: Likewise.
6912 * util/grub-reboot.in: Likewise.
6913 * util/grub-set-default.in: Likewise.
6914 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6915
ff27c3dd 69162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
6917
6918 Remove GRUB_PREFIX.
6919
6920 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
6921 * util/grub.d/00_header.in: Compute prefix in the only place it's still
6922 used for backward compatibility.
6923
ff27c3dd 69242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
6925
6926 Add new all_video module.
6927
6928 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
6929 * grub-core/Makefile.core.def (all_video): New module.
6930 * grub-core/genmoddep.awk: Generate dependency of all_video from
6931 video.lst.
6932 * grub-core/lib/fake_module.c: New file.
6933 * grub-core/normal/main.c (features): Add feature_all_video_module.
6934 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
6935 don't do explicit search again.
47454da5 6936 insmod all_video in load_video if available.
22c7ce85 6937
ff27c3dd 69382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
6939
6940 Another round of string clarification and adding TRANSLATORS comments.
6941
ff27c3dd 69422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
6943
6944 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
6945
ff27c3dd 69462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
6947
6948 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
6949 to grub_ssize_t.
6950 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
6951 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
6952
ff27c3dd 69532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
6954
6955 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
6956 trailing newline implicitly. All users updated.
6957
ff27c3dd 69582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
6959
6960 Implement serial on IEEE1275 and EFI.
6961
6962 * docs/grub.texi (Platform-specific limitations): Fix the columen video
6963 on emu. Mention arc and emu as the only platforms without serial
6964 support.
6965 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
6966 ieee1275 platforms.
6967 * grub-core/term/efi/serial.c: New file.
6968 * grub-core/term/ieee1275/serial.c: Likewise.
6969 * grub-core/term/serial.c (grub_serial_find): Disable direct port
6970 specification if no ns8250 driver is available.
6971 (grub_cmd_serial): Likewise.
6972 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
6973 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
6974 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
6975 (grub_efi_parity_type_t): New type.
6976 (grub_efi_stop_bits_t): Likewise.
6977 (grub_efi_serial_io_interface): New struct.
6978 * include/grub/serial.h (grub_serial_port): Make 'broken' field
6979 available for all interfaces.
6980 Add EFI and IEEE1275 fields.
6981 (grub_ofserial_init): New proto.
6982 (grub_efiserial_init): Likeiwse.
6983 * util/grub.d/00_header.in: Don't check for the presence of serial
6984 module.
6985
ff27c3dd 69862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
6987
6988 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
6989 name as if it was an alias.
6990
114076ef
VS
69912012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 * grub-core/commands/lsacpi.c (options): Fix typo.
6994
6a656b0e
VS
69952012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 Convert grub-emu to argp.
6998
6999 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
7000 emu.
7001 * util/argp_common.c: Rename to ...
7002 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
7003 Add missing includes.
7004 * grub-core/kern/emu/main.c: Convert to argp.
7005 * po/POTFILES.in: Regenerate.
7006 * util/grub-install.in (usage): Make first letter lowcase in messages
7007 for uniformity.
7008 * util/grub-setup.c (options): Likewise.
7009
1e3f8ae8
VS
70102012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
7013 Put back accidently commented-out code.
7014
ed167a80
VS
70152012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
7018 loop check using Brent algorithm.
7019 (grub_hfsplus_btree_search): Likewise.
7020
6753c0ec
VS
70212012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7022
7023 * util/grub-install.in: Fix usage of wrong device for PreP install.
7024
4e27343f
VS
70252012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 * conf/Makefile.common (CFLAGS_GNULIB): Add
7028 -Wno-unsafe-loop-optimizations.
7029 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
7030 on tools.
7031 * grub-core/commands/legacycfg.c: Add pragma to skip
7032 -Wunsafe-loop-optimizations.
7033 (check_password_md5_real): Fix loop counter type.
7034 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
7035 reading.
7036 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
7037 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
7038 loop condition.
7039 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
7040 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
7041 * grub-core/net/net.c (grub_net_route_address): Add safety loop
7042 condition.
7043 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
7044 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
7045 avoid possible infinite loops.
7046 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
7047 and -Wunsafe-loop-optimizations.
7048 * grub-core/script/yylex.l: Likewise.
7049 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
7050 (print_glyphs): Avoid infinite loops.
7051 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
7052
697f18b0
GS
70532012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
7054
7055 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
7056 to avoid infinite loop.
7057 (disp_acpi_rsdt_table): Likewise.
7058
274416e8
VS
70592012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 * grub-core/font/font.c (grub_font_load): Add support for default
7062 path for fonts ($prefix/fonts).
7063 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
7064 for checking if string is a path.
7065 * grub-core/normal/main.c (features): Add feature_default_font_path.
7066 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
7067 * util/grub.d/00_header.in: Use default directory if possible.
7068 * util/grub-install.in: Install unicode.pf2.
7069
b3e08622
VS
70702012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
7073 * po/Rules-swiss: New file.
7074 * po/swiss.sed: Likewise.
7075
fe42ce09
VS
70762012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7077
7078 * grub-core/fs/btrfs.c (find_device): Fix typos.
7079 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
7080 * util/grub-mkrelpath.c (argp_parser): Likewise.
7081 Reported by: Yuri Chornoivan.
7082
72f1d065
DO
70832012-02-23 Dalet Omega <daletomega@gmail.com>
7084
7085 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
7086 for usual informative messages.
7087
c5884973
DO
70882012-02-23 Dalet Omega <daletomega@gmail.com>
7089
7090 Starfield theme.
7091
7092 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
7093 * conf/Makefile.common: Define starfielddir.
7094 * configure.ac: Configure starfield.
7095 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
7096 * themes/starfield/README: Likewise.
7097 * themes/starfield/blob_w.png: Likewise.
7098 * themes/starfield/boot_menu_c.png: Likewise.
7099 * themes/starfield/boot_menu_e.png: Likewise.
7100 * themes/starfield/boot_menu_n.png: Likewise.
7101 * themes/starfield/boot_menu_ne.png: Likewise.
7102 * themes/starfield/boot_menu_nw.png: Likewise.
7103 * themes/starfield/boot_menu_s.png: Likewise.
7104 * themes/starfield/boot_menu_se.png: Likewise.
7105 * themes/starfield/boot_menu_sw.png: Likewise.
7106 * themes/starfield/boot_menu_w.png: Likewise.
7107 * themes/starfield/slider_c.png: Likewise.
7108 * themes/starfield/slider_n.png: Likewise.
7109 * themes/starfield/slider_s.png: Likewise.
7110 * themes/starfield/src/blob_nw.xcf: Likewise.
7111 * themes/starfield/src/bootmenu/: Likewise.
7112 * themes/starfield/src/bootmenu/center.xcf: Likewise.
7113 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
7114 * themes/starfield/src/bootmenu/side.xcf: Likewise.
7115 * themes/starfield/src/slider_c.xcf: Likewise.
7116 * themes/starfield/src/slider_n.xcf: Likewise.
7117 * themes/starfield/src/slider_s.xcf: Likewise.
7118 * themes/starfield/src/terminalbox/: Likewise.
7119 * themes/starfield/src/terminalbox/center.xcf: Likewise.
7120 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
7121 * themes/starfield/src/terminalbox/side.xcf: Likewise.
7122 * themes/starfield/starfield.png: Likewise.
7123 * themes/starfield/terminal_box_c.png: Likewise.
7124 * themes/starfield/terminal_box_e.png: Likewise.
7125 * themes/starfield/terminal_box_n.png: Likewise.
7126 * themes/starfield/terminal_box_ne.png: Likewise.
7127 * themes/starfield/terminal_box_nw.png: Likewise.
7128 * themes/starfield/terminal_box_s.png: Likewise.
7129 * themes/starfield/terminal_box_se.png: Likewise.
7130 * themes/starfield/terminal_box_sw.png: Likewise.
7131 * themes/starfield/terminal_box_w.png: Likewise.
7132 * themes/starfield/theme.txt: Likewise.
7133
17d73325
VS
71342012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * util/grub.d/00_header.in: Add missing export theme.
7137
dbebaf92
VS
71382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
7141 already included.
7142 Reported by: Eren D.
7143
3d68bffb
VS
71442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 * conf/Makefile.common (grubdatadir): Removed.
7147 (Makefile.am): Move eveything grubdata to pkgdata.
7148
4b59234d
VS
71492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7150
7151 * grub-core/commands/acpihalt.c (get_sleep_type):
7152 Remove unused variable.
7153
463dcadc
VS
71542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
7157 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
7158 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
7159 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
7160 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
7161 i18n with gettext no-op.
7162 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
7163 GRUB_ACPI_OPCODE_STRING_CONST.
7164 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
7165 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
7166
e5b90c82
VS
71672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7168
7169 * po/POTFILES.in: Regenerate.
7170
2a704ca9
VS
71712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
7174 -Wno-error=missing-noreturn.
7175
84f9d341
VS
71762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
7179 condition to avoid possibly infinite loops.
7180 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
7181 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
7182
d46683f9
VS
71832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
7186 condition to avoid possibly infinite loops.
7187
c44866b2
VS
71882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
7191 on show_error.
7192
96790539
VS
71932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
7196
1ba7e295
VS
71972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
7200
21ffe8f1
VS
72012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7202
7203 * util/bin2h.c (usage): Add missing attribute noreturn.
7204
0ccb6b3c
VS
72052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
7208 if the size isn't divisible by 512.
7209
b00d7fb6
VS
72102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 Make list_push and list_remove functions rather than inline functions
7213 to decrease size and avoid aliasing violations.
7214
7215 * include/grub/list.h (grub_list_push): Move to ...
7216 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
7217 * include/grub/list.h (grub_list_remove): Move to ...
7218 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
7219
9d369087
VS
72202012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
7223 and -Wunused-result.
7224
af0250d9
VS
72252012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
7228 Reported by: Seth Goldberg
7229
aad32b14
VS
72302012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
7233
ac96441c
ST
72342012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
7235
7236 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
7237 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
7238 command line.
7239 * docs/grub.texi (Simple configuration): Document
7240 GRUB_CMDLINE_GNUMACH.
7241
72422012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
7243
7244 * conf/Makefile.common (platform_SCRIPTS): New variable.
7245 (platform_PROGRAMS): Likewise.
7246 * gentpl.py: Mark *,module and *.image for install.
7247 * grub-core/gdb_grub.in: Add a notice of expected environment.
7248 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
7249 (gmodule.pl): Likewise.
7250
ac96441c 72512012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
7252
7253 Replace grub_checkkey with grub_getkey_noblock.
7254
7255 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
7256 (grub_getkey_noblock): ... this. All users updated.
7257
ac96441c 72582012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
7259
7260 * grub-core/kern/emu/console.c: Move to ...
7261 * grub-core/term/emu/console.c: ...here.
7262 (grub_ncurses_getkey): Fix return value if no key is detected.
7263
e51b5666
VS
72642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
7267 (grub_unit_test_fini): Likewise.
7268 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
7269
72702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * include/grub/test.h (GRUB_UNIT_TEST)
7273
d9a62292
VS
72742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * grub-core/script/execute.c (grub_script_break): Clarify logic.
7277 Better error handling.
7278 (grub_script_return): Likewise.
7279 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7280
77c9182f
VS
72812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
7284 rimplicit redifinition.
7285
edb13cf9
VS
72862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
7289 GRUB.
7290
a9e9dc7c
VS
72912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
7294 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
7295 prompt here.
7296
b4ba8e02
VS
72972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7298
7299 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
7300 as GRUB_ERR_BUG. Don't malloc if no device is available.
7301
dded5540
VS
73022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
7305 Mark calling with invalid term as GRUB_ERR_BUG.
7306
0cf69874
VS
73072012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7308
7309 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
7310 packets rather than raising an error.
7311
59bfe502
VS
73122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
7315 in if.
7316
db5fc596
VS
73172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
7320 diagnostic to dprintf.
7321 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7322
e4b7f404
VS
73232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
7326 device name.
7327
e7b02f9e
VS
73282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
7331 (grub_ntfs_iterate_dir): Likewise.
7332
0331e102
VS
73332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7334
7335 Efiemu stylistic fixes and gettext.
7336
7337 * grub-core/efiemu/i386/loadcore32.c
7338 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
7339 * grub-core/efiemu/i386/loadcore64.c
7340 (grub_arch_efiemu_relocate_symbols64): Likewise.
7341 * grub-core/efiemu/i386/pc/cfgtables.c
7342 (grub_machine_efiemu_init_tables): Likewise.
7343 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
7344 (grub_efiemu_loadcore_initXX): Add a filename argument.
7345 All users updated.
7346 Improved error message.
7347 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
7348 Add a filename argument.
7349 All users updated.
7350 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
7351 Reclassify double relocation as GRUB_ERR_BUG.
7352
306fc074
VS
73532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
7356 handling.
7357
794d8ef2
VS
73582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
7361 on partition.
7362
73632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
7364
7365 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
7366
794d8ef2 73672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
7368
7369 Improve string. Gettextize.
7370
78dde88e
VS
73712012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
7374 utils.
7375 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
7376
4786a90f
VS
73772012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
7380 [GRUB_UTIL]: New function.
7381 (insert_array) [GRUB_UTIL]: Store partmaps.
7382 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
7383 partmaps.
7384 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
7385 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
7386 (probe_abstraction): Print diskfilter and not raid.
7387 Reported by: Lennart Sorensen
7388
0b6225bd
VS
73892012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
7392 * util/grub-mkimagexx.c (MASK3): New define.
7393 (add_value_to_slot_20b): Use MASK3.
7394 (add_value_to_slot_21): Likewise.
7395 (relocate_addresses): Fix format specification.
7396 (load_image): Explicitly init symtab_section.
7397
b055f8f6
VS
73982012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
7401 (grub_util_biosdisk_get_grub_dev): Fix format specification.
7402
b77c2fb7
VS
74032012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
7406 on powerpc.
7407 Reported by: Lennart Sorensen
7408
e3ec28ab
VS
74092012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 * gentpl.py: Add missing license header.
7412 * docs/grub.texi: Update copyright year.
7413
c8d9ead6
GS
74142012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
7415
7416 Source grub-mkconfig_lib from the build directory at build time.
7417 Suggested by: Vladimir Serbinenko.
7418
7419 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
7420 * util/grub-install.in: Define pkgdatadir if not already set, and source
7421 grub-mkconfig_lib from there.
7422 * util/grub-kbdcomp.in: Likewise.
7423 * util/grub-mkconfig.in: Likewise.
7424 * util/grub-mknetdir.in: Likewise.
7425 * util/grub-mkrescue.in: Likewise.
7426 * util/grub-mkstandalone.in: Likewise.
7427 * util/grub-reboot.in: Likewise.
7428 * util/grub-set-default.in: Likewise.
7429 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7430
ebcecdf1
VS
74312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 Increase warning level.
7434
7435 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
7436 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
7437 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
7438 (TARGET_CFLAGS): Likewise.
7439 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
7440 * grub-core/Makefile.core.def (decompressor_xz): Add
7441 -Wno-unreachable-code.
7442 (normal): Add -Wno-redundant-decls.
7443 (xzio): Add -Wno-unreachable-code.
7444 (lzopio): Add -Wno-redundant-decls -Wno-error.
7445 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
7446 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
7447 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
7448 * grub-core/kern/dl.c: Add exception to -Wcast-align.
7449 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
7450 * grub-core/kern/i386/coreboot/init.c: Add exception to
7451 -Wsuggest-attribute=noreturn.
7452 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
7453 * grub-core/kern/ia64/dl_helper.c: Likewise.
7454 * grub-core/kern/mips/dl.c: Likewise.
7455 * grub-core/kern/sparc64/dl.c: Likewise.
7456 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
7457 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
7458 (memcmp): Likewise.
7459 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
7460 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
7461 * grub-core/loader/mips/linux.c: Likewise.
7462 * grub-core/loader/multiboot_elfxx.c: Likewise.
7463 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
7464 * grub-core/video/sm712.c: Add exception to -Wcast-align.
7465 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
7466 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
7467 fixme.
7468 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
7469 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
7470 Fix prototype.
7471
37bb97fe
VS
74722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7473
7474 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
7475 address.
7476
29a3550b
VS
74772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7478
7479 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7480 Avoid improper use of strings.
7481 (grub_cmd_legacy_initrdnounzip): Likewise.
7482
dfdffd0d
VS
74832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * include/grub/emu/misc.h (grub_util_warn): Add missing format
7486 attribute.
7487 (grub_util_info): Likewise.
7488 (grub_util_error): Likewise.
7489
102fae4a
VS
74902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
7493 * util/grub-fstest.c (fstest): Likewise.
7494
7e94d044
VS
74952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7496
7497 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
7498 (grub_md_sha512_real): Likewise.
7499 (grub_util_get_geli_uuid): Likewise.
7500 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
7501 (grub_util_biosdisk_open): Fix format specification.
7502 Respect format security.
7503 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
7504 (xrealloc): Likewise.
7505 (xasprintf): Likewise.
7506
5ebd9769
VS
75072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * util/import_gcry.py: Include grub/crypto.h in init.c.
7510
495fc8c1
VS
75112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
7514 (generate_image): Make prefix a const char *.
7515 Fix format specifications. Respect format security.
7516 Avoid void * arithmetics.
7517 Avoid shadowing.
7518 (argp_parser): Remove unused variable. Respect format security.
7519 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
7520 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
7521 (count_funcs): Remove unused variable.
7522 (relocate_addresses): Fix format specification.
7523 Disable x86-64 with elf32. Remove unused variables.
7524 (add_fixup_entry): Avoid shadowing.
7525 (make_reloc_section): Fix format specification.
7526 Use assert.
7527 (locate_sections): Fix format specifications.
7528 (load_image): Avoid shadowing.
7529
043c2ea3
VS
75302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
7533 Fix format specifications. Respect format security.
7534 Don't translate already translated grub_errmsg.
7535 (argp_parser): Remove unused variable
7536
3ec65a81
VS
75372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
7540
a4d9fe4a
VS
75412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7542
7543 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
7544 (main): Likewise. Use xmalloc. Respect format security.
7545
15b81d49
VS
75462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7547
7548 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
7549 a const char *.
7550 (argp_parser): Remove unused variable.
7551
31731fc0
VS
75522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
7555 (add_pixel): Make static.
7556 (add_font): Likewise.
7557 (write_string_section): Make name and str a const char *.
7558 (write_be16_section): Make name a const char *.
7559 (print_glyphs): Make static.
7560 (write_font_ascii_bitmap): Likewise.
7561 (write_font_width_spec): Likewise.
7562 (write_font_pf2): Likewise.
7563 (argp_parser): Remove unused variable.
7564 Respect format security.
7565 (main): Avoid shadowing. Respect format security.
7566
0809527b
VS
75672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * util/grub-editenv.c (argp_parser): Make static.
7570 (create_envblk_file): Use xmalloc.
7571 (open_envblk_file): Likewise.
7572 Resepect format security.
7573 (set_variables): Respect format security.
7574
45b0c8b7
VS
75752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * util/getroot.c (grub_find_device): Respect format security.
7578 (get_mdadm_uuid): Remove unused variable.
7579 (grub_util_pull_device): Dont call gettext on already translated
7580 grub_errmsg.
7581 (find_system_device): Remove unused variable.
7582 (grub_util_get_grub_dev): Likewise.
7583 (grub_make_system_path_relative_to_its_root): Respect format security.
7584
1b024b4e
VS
75852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * util/grub-fstest.c (execute_command): Make first argument
7588 a const char *.
7589 (read_file): Avoid shadowing.
7590 Reuse underlying error message if device open fails.
7591 (cmd_cmp): Respect format security.
7592 (root): Make const char *.
7593 (fstest): Remove args argument and use global copy.
7594 Respect format security.
7595 (argp_parser): Make static.
7596 (main): Make default_root const char *.
7597
5d1d4e28
VS
75982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * util/grub-mount.c (root): Make const char *.
7601 (execute_command): Make first argument a const char *.
7602 (fuse_init): Respect format security.
7603 (argp_parser): Make static. Remove unused variable.
7604 (main): Make default_root a const char *.
7605 Respect format security.
7606
36eb7379
VS
76072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7608
7609 * util/grub-probe.c (probe): Don't call gettext on already translated
7610 grub_errmsg.
7611 Remove unused variables.
7612 (argp_parser): Remove unused variable.
7613
76fb2ea9
VS
76142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * util/grub-script-check.c (argp_parser): Remove unused variable.
7617 (main): Rename read to curread to avoid shadowing.
7618
56c98584
VS
76192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * util/misc.c (grub_util_write_image_at): Fix format specification.
7622 (grub_util_write_image): Likewise.
7623 (grub_script_execute_argument_to_string): Removed (unused).
7624 (grub_script_execute_menuentry): Likewise.
7625 (grub_putchar): Likewise.
7626
164ebb48
VS
76272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
7630 (FUNCTION) [GRUB_UTIL]: Likewise.
7631 (VARIABLE) [GRUB_UTIL]: Likewise.
7632
44318d61
VS
76332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7634
7635 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
7636 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
7637
31a26002
VS
76382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7639
7640 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
7641 buffer.
7642
76432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
7646 (LzmaEnc_SaveState): Removed (unused).
7647 (LzmaEnc_RestoreState): Likewise.
7648 (LzmaEnc_InitPriceTables): Made static.
7649 (LzmaEnc_Construct): Likewise.
7650 (LzmaEnc_FreeLits): Likewise.
7651 (LzmaEnc_Destruct): Likewise.
7652 (LzmaEnc_Init): Likewise.
7653 (LzmaEnc_InitPrices): Likewise.
7654 (LzmaEnc_Finish): Likewise.
7655 (LzmaEnc_PrepareForLzma2): Removed (unused).
7656 (LzmaEnc_MemPrepare): Likewise.
7657 (LzmaEnc_GetNumAvailableBytes): Likewise.
7658 (LzmaEnc_GetCurBuf): Likewise.
7659 (LzmaEnc_CodeOneMemBlock): Likewise.
7660
6fa67967
VS
76612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
7664 (grub_util_ldm_embed): Likewise.
7665
9a7428e6
VS
76662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7667
7668 * util/grub-editenv.c (print_var): Rename name to varname to
7669 avoid shadowing.
7670 (main): Rename index to curindex to avoid shadowing.
31a26002 7671 Make filename a const char *.
9a7428e6 7672
4f96abd1
VS
76732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7676 to arg_getline to avoid shadowing.
7677
44d10dad
VS
76782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
7681 disk_ to avoid shadowing.
7682
340ba63e
VS
76832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
7686 curindex to avoid shadowing.
7687 Make static.
7688 (MatchFinder_GetNumAvailableBytes): Make static.
7689
22965bce
VS
76902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
7693 avoid shadowing.
7694
7b5784d4
VS
76952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
7698 argument from encrypt to do_encrypt to avoid shadowing.
7699
6f48ca01
VS
77002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
7703 incorrect nesting of #if's.
7704
a4ea2dff
VS
77052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
7708 checks which are always false on some platforms.
7709 (grub_cmd_lsacpi): Likewise.
7710 * grub-core/kern/misc.c (grub_strtoul): Likewise.
7711 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
7712 Likewise.
7713
def9fc1b
VS
77142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7715
7716 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
7717 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
7718
a67b2a04
VS
77192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
7722 re_dfa_t to avoid breaking alignment invariants.
7723 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
7724 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
7725
44c6828d
VS
77262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
7729 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
7730
bebe0dd0
VS
77312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
7734 Fix declaration.
7735
a9cdb3cf
VS
77362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
7739 conserve alignment invariants.
7740 (grub_ehci_ehcc_read16): Likewise.
7741 (grub_ehci_oper_read32): Likewise.
7742 (grub_ehci_oper_write32): Likewise.
7743 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7744 Conserve alignment invariants.
7745
ccc3b1b8
VS
77462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7747
7748 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
7749 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
7750 declarations.
7751
987fbd95
VS
77522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
7755 Remove unused variable.
7756
0df363f3
VS
77572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
7760 Remove set in if.
7761
b2c0c4a6
VS
77622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7763
7764 * include/grub/net.h: Remove double declarations.
7765
690c531f
VS
77662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7767
7768 Remove "payload" command in ia64 Linux loader since I couldn't
7769 find any evidence of it being used for anything.
7770 Replace "relocate" command with an environment variable
7771
7772 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
7773 fields.
7774 (ia64_boot_payload): Removed.
7775 (last_payload): Likewise.
7776 (RELOCATE_OFF): Likewise.
7777 (RELOCATE_ON): Likewise.
7778 (RELOCATE_FORCE): Likewise.
7779 (relocate): Likewise.
7780 (free_pages): Don't free payloads.
7781 (grub_load_elf64): Use common error messages.
7782 Use "linux_relocate" variable.
7783 Increase the space after boot_params.
7784 (grub_cmd_payload): Removed.
7785 (grub_cmd_relocate): Likewise.
7786 (grub_cmd_fpswa): Improve messages.
7787 (cmd_payload): Removed.
7788 (cmd_relocate): Likewise.
7789 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
7790 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
7791
01783768
VS
77922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 Convert UHCI to DMA framework.
7795
7796 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
7797 (grub_uhci_pci_iter): Fill new members
7798 (grub_alloc_td): Use P2V and V2P functions.
7799 (grub_free_queue): Likewise.
7800 (grub_alloc_qh): Likewise.
7801 (grub_uhci_setup_transfer): Likewise.
7802 (grub_uhci_check_transfer): Likewise.
7803
43206939
VS
78042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
7807 Remove assignment in if while on it.
7808
571e140e
VS
78092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * util/grub-mkstandalone.in: Fix modules directory.
7812
a9d96eeb
VS
78132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7814
7815 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
7816 on i386-pc target.
7817 (argp_parser): Accept "auto" as compression specification.
7818
e4e37e8d
VS
78192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 Fix `help' with unloaded modules.
7822
7823 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
7824 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
7825 (grub_dyncmd_dispatcher): Small stylistic fix.
7826 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
7827 explicit help is requested.
7828
e1ea3ade
VS
78292012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
7832 Explicitly init restart while on it.
7833
27556881
VS
78342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
7837 uninited variable.
7838
d65f6b36
VS
78392012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * util/grub-mknetdir.in: Use . rather than source for POSIX
7842 compatibility.
7843
0a1e473c
VS
78442012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
7847
ce6647c8
VS
78482012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
7851 variable.
7852
66747894
VS
78532012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
7856 without quotes.
7857
71645f6e
VS
78582012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
7861
0e1c1f61
VS
78622012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
7865 iteration of partitions.
7866
9c4b5c13
VS
78672012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 Improve gettext support. Stylistic fixes and error handling fixes while
7870 on it.
7871
215c90cb
VS
78722012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
7875 part. Instead setup the correct stack in RM.
7876 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
7877 for stack.
7878 * include/grub/i386/relocator_private.h: New file.
7879
b5c1f9bf
VS
78802012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
7883 argument.
7884 * util/grub-fstest.c (options): Add missing DEVICE part.
7885
b525fd83
VS
78862012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 Clarify and unify messages.
7889
7890 * grub-core/commands/hashsum.c (options): Unify messages.
7891 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
7892 literal-only message as translatable.
7893 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
7894 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
7895 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
7896 commands.
7897 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
7898 key, not the key used to unlock. Clarify what it's used for.
7899 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
7900 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
7901 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
7902 * util/grub-editenv.c (options): Unify "verbose" message.
7903 * util/grub-fstest.c (read_file): Unify error message.
7904 (fstest): Add quotes around commands.
7905 (options): Unify "verbose" message.
7906 * util/grub-install.in: Add quotes around variable name.
7907 * util/grub-kbdcomp.in: Unify error message.
7908 * util/grub-mkfont.c (main): Likewise.
7909 * util/grub-mkrescue.in: Likewise.
7910 * util/grub-mklayout.c (options): Unify "verbose" message.
7911 * util/grub-mkstandalone.in: Unify help and verbose messages.
7912 * util/grub-mount.c (options): Unify "verbose" message.
7913 * util/grub-probe.c (options): Likewise.
7914 * util/grub-script-check.c (options): Likewise.
7915 * util/grub-setup.c (setup): Unify no-terminator message.
7916 (options): Use DEVICE and not DEV.
7917 Unify "verbose" message.
7918 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
7919
0ae70393
VS
79202012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 Improve and unify messages.
7923
7924 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
7925 name. All users updated.
7926 Print filename in error.
7927 (read_device_map): Print filename in error.
7928 * util/getroot.c (grub_guess_root_devices): Print filename in error.
7929 (grub_util_get_os_disk): Likewise.
7930 (grub_util_biosdisk_get_grub_dev): Likewise.
7931 (grub_util_check_block_device): Likewise.
7932 (grub_util_check_char_device): Likewise.
7933 (grub_make_system_path_relative_to_its_root): Likewise.
7934 * util/grub-editenv.c (create_envblk_file): Likewise.
7935 (open_envblk_file): Likewise.
7936 (write_envblk): Likewise.
7937 * util/grub-fstest.c (cmd_cp): Likewise.
7938 (cmd_cat): Likewise.
7939 (cmd_cmp): Likewise.
7940 * util/grub-menulst2cfg.c (main): Likewise.
7941 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
7942 (write_font_width_spec): Likewise.
7943 (write_font_pf2): Likewise.
7944 * util/grub-mkimage.c (generate_image): New argument outname.
7945 All users updated.
7946 Remove unreacheable message.
7947 (options): Unify messages.
7948 (help_filter): Likewise.
7949 * util/grub-mklayout.c (usage): Removed (unused).
7950 (main): Print filename in error.
7951 * util/grub-mkrescue.in: Fix wrong quoting.
7952 * util/grub-setup.c (setup): Print filename in error.
7953 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
7954 (check_sas): Likewise.
7955 * util/misc.c (grub_util_get_fp_size): Removed.
7956 (grub_util_get_image_size): Print filename in error.
7957 (grub_util_read_at): Removed.
7958 (grub_util_read_image): Print filename in error.
7959 (grub_util_load_image): Likewise.
7960 (grub_util_write_image_at): New argument filename. All users updated.
7961 Print filename in error.
7962 (grub_util_write_image): New argument filename. All users updated.
7963 Print filename in error.
7964 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
7965 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
7966
0a96117d
VS
79672012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 * grub-core/Makefile.core.def (pxechain): New module.
7970 * grub-core/loader/i386/pc/pxechainloader.c: New file.
7971 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
7972 function.
7973 (grub_pc_net_config_real): Use grub_pxe_get_cached.
7974 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
7975
aca002f7
VS
79762012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
7979 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
7980 * include/grub/err.h (grub_error_saved): New struct.
7981 (grub_errmsg): Make array size explicit.
7982 * include/grub/misc.h (grub_error_save): New function.
7983 (grub_error_load): Likewise.
7984 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
7985 (grub_error_push): Update `errno' member name.
7986 (grub_error_pop): Likewise
7987 * grub-core/net/tftp.c (tftp_data): New member save_err.
7988 (tftp_receive): Save error.
7989 (tftp_open): Restore error.
7990
a51dab13
VS
79912012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7992
7993 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
7994 to real mode down to execute A20-related code in protected mode as
7995 intended.
7996
eb6e6649
GS
79972012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7998
7999 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
8000 NULL when the argument `level' has an unexpected value.
8001
92cd0f6e
VS
80022012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 Move platform-dependent files from $prefix to $prefix/$platform.
8005
8006 * config.h.in (GRUB_TARGET_CPU): New definition.
8007 (GRUB_PLATFORM): Likewise.
8008 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
8009 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
8010 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8011 * grub-core/kern/dl.c (grub_dl_load): Likewise.
8012 * grub-core/normal/autofs.c (read_fs_list): Likewise.
8013 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
8014 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
8015 * grub-core/normal/term.c (read_terminal_list): Likewise.
8016 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
8017 $prefix/locale.
8018 (grub_gettext_init_ext): Likewise.
8019 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
8020 grub_platform.
8021 * util/grub-install.in: Update directories.
8022 * util/grub-mknetdir.in: Likewise.
8023 * util/grub-mkrescue.in: Likewise.
8024
db606889
VS
80252012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
8028 grub_error framework. All users updated.
8029
c39992a4
VS
80302012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
8033 lists (by always binsearching), improve caching (cache strings
8034 used for binsearch, not only results), improve
8035 maintainability (by using more structured binary search) and correct
8036 error handling.
8037
1e5ec32f
VS
80382012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 * grub-core/script/execute.c (grub_script_return): Fix warning.
8041
ac576cde
VS
80422012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * grub-core/script/execute.c (grub_script_return): Fix potential
8045 NULL-dereference.
8046 Reported by: Jim Meyering.
8047
498453f6
VS
80482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 * po/POTFILES.in: Regenerate.
8051 * util/grub-install.in: Gettextize the strings missed in first pass.
8052
8be63f2e
VS
80532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8054
8055 * Makefile.util.def (grub-mkdevicemap): Removed.
8056 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
8057 * include/grub/util/deviceiter.h: Removed.
8058 * util/deviceiter.c: Likewise.
8059 * util/getroot.c (grub_util_get_os_disk): New function.
8060 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
8061 replacement for EFI.
8062 * util/grub-mkdevicemap.c: Removed.
8063 * util/grub-probe.c (probe): Handle PRINT_DISK.
8064 (argp_parser): Handle -t disk.
8065
8e1e4e39
VS
80662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 * util/grub-mkfont.c: Migrate to argp.
8069 * util/grub-mklayout.c: Likewise.
8070 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8071 * util/grub-mkrelpath.c: Likewise.
8072 * util/grub-probe.c: Likewise.
8073 * util/grub-script-check.c: Likewise.
8074
4459819a
VS
80752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * util/grub-reboot.in: Add missing datarootdir.
8078 Add missing newline.
8079 * util/grub-set-default.in: Add missing datarootdir.
8080 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
8081 * util/grub-mkrescue.in: Likewise.
8082
f65741c7
VS
80832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8084
8085 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
8086
c1a33466
VS
80872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8088
8089 * util/grub-kbdcomp.in: Add decent help and gettextize.
8090 * docs/man/grub-kbdcomp.h2m: New file.
8091
c76899a0
VS
80922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 Migrate grub-mkimage.c to argp.
8095
8096 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
8097 (grub-setup): Likewise.
8098 * util/grub-setup.c (print_version): Move to ...
8099 * util/argp_common.c (print_version): ... here.
8100 * util/grub-setup.c (argp_program_version_hook): Move to ...
8101 * util/argp_common.c (argp_program_version_hook): ... here.
8102 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
8103 safety.
8104 * util/grub-mkimage.c (main): Migrate to argp.
8105
57db0757
VS
81062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * util/grub-mkrescue.in: Use same message as
8109 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
8110 for better translations.
8111
18534ad9
VS
81122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
8115 options with generic grub-mkrescue.in with the goal of future
8116 merge.
8117
c84ba308
VS
81182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * grub-core/kern/mm.c: Add missing include of i18n.h
8121 * grub-core/lib/relocator.c: Likewise.
8122
347998c2
VS
81232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
8126 error.
8127 (allocate_pages): Check return value.
8128 Replace fatal with error.
8129 (grub_linux_boot): Replace printf with dprintf.
8130 Check find_mmap_size return value.
8131 Replace fatal with error.
8132 Don't call grub_machine_fini.
8133 (grub_load_elf64): Replace printf with dprintf.
8134 (grub_cmd_linux): Likewise.
8135 (grub_cmd_initrd): Likewise.
8136 (grub_cmd_payload): Likewise.
8137
c779226e
VS
81382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8139
8140 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
8141 message.
8142 * grub-core/video/radeon_fuloong2e.c
8143 (grub_video_radeon_fuloong2e_setup): Likewise.
8144 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
8145 * grub-core/video/video.c (grub_video_set_mode): Don't override
8146 standard out of memory message.
8147
dc87d45a
GS
81482012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8149
8150 NetBSD disk wedge support.
8151
8152 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
8153 [__NetBSD__]: Handle NetBSD disk wedges.
8154 * util/getroot.c (convert_system_partition_to_system_disk)
8155 [__NetBSD__]: Likewise.
8156
055f856f
MW
81572012-02-03 Mark Wooding <mdw@distorted.org.uk>
8158
8159 * util/grub-mkconfig.in: Use umask rather than chmod to create
8160 grub.cfg.new to avoid insecure grub.cfg.
8161
4a9f8346
VS
81622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 * grub-core/commands/ls.c: Gettextize.
8165 * grub-core/commands/setpci.c: Likewise.
8166 * grub-core/commands/videotest.c: Likewise.
8167 * grub-core/disk/geli.c: Likewise.
8168 * grub-core/kern/mm.c: Likewise.
8169 * grub-core/lib/relocator.c: Likewise.
8170 * grub-core/loader/efi/appleloader.c: Likewise.
8171 * grub-core/loader/i386/xnu.c: Likewise.
8172 * grub-core/loader/ia64/efi/linux.c: Likewise.
8173 * grub-core/loader/xnu.c: Likewise.
8174 * grub-core/net/dns.c: Likewise.
8175 * grub-core/net/net.c: Likewise.
8176 * grub-core/script/lexer.c: Likewise.
8177 * grub-core/script/parser.y: Likewise.
8178 * grub-core/script/yylex.l: Likewise.
8179 * util/getroot.c: Likewise.
8180 * util/grub-setup.c: Likewise.
8181
a646a366
VS
81822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8183
8184 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
8185 number.
8186
54e2be26
VS
81872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
8190
f7c71e68
VS
81912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
8194 macro.
8195 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
8196 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
8197
a32d5c71
VS
81982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
8201 * util/grub-install.in: Gettextize.
8202 * util/grub-mkconfig.in: Likewise.
8203 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
8204 if not available.
8205 (grub_warn): Gettextize.
8206 * util/grub-mknetdir.in: Gettextize.
8207 * util/grub-mkrescue.in: Likewise.
8208 * util/grub-mkstandalone.in: Likewise.
8209 * util/grub-reboot.in: Likewise.
8210 * util/grub-set-default.in: Likewise.
8211 * util/grub.d/00_header.in: Likewise.
8212 * util/grub.d/10_hurd.in: Likewise.
8213 * util/grub.d/10_kfreebsd.in: Likewise.
8214 * util/grub.d/10_linux.in: Likewise.
8215 * util/grub.d/10_netbsd.in: Likewise.
8216 * util/grub.d/10_windows.in: Likewise.
8217 * util/grub.d/20_linux_xen.in: Likewise.
8218 * util/grub.d/30_os-prober.in: Likewise.
8219 * po/POTFILES-shell.in: Regenerate.
8220
69edd81a
RL
82212012-02-03 Richard Laager <rlaager@wiktel.com>
8222
8223 * util/grub-mkimage.c (main): Fix format-security warning.
8224 * util/grub-mkrelpath.c (main): Likewise.
8225 * util/grub-probe.c (main): Likewise.
8226
65f08dbf
RL
82272012-02-03 Richard Laager <rlaager@wiktel.com>
8228
8229 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
8230 failure.
8231 Put back lost PRINT_DRIVE.
8232
e9084abe
RL
82332012-02-03 Richard Laager <rlaager@wiktel.com>
8234
8235 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
8236 (grub_guess_root_devices): Replace strlen with sizeof.
8237 Avoid crash.
8238 (find_root_devices_from_poolname): Remove unused variable.
8239 Handle raidzN.
8240
cf5f7ee7
VS
82412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 Support install on multi-device filesystems.
8244
8245 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
8246 (grub_guess_root_devices): ...this. Return char **. All users updated.
8247 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
8248 Removed.
8249 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
8250 (find_root_devices_from_poolname): ... here.
8251 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
8252 Support zfs-fuse.
8253 (grub_guess_root_device): Rename to ...
8254 (grub_guess_root_devices): ... this. Return char **. All users updated.
8255 * util/grub-install.in: Handle multi-device filesystems.
8256 * util/grub-probe.c (probe). Make device_names a char **. Add delim
8257 argument. All users updated.
8258 Handle multi-device filesystems.
8259 Use 'delim' as separator.
8260 Remove device check to allow filesystems on file.
8261 (main): Support -0 argument. Handle multi-device.
8262 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
8263 Fix a cross-device check while on it.
8264 (arguments): Remove root_dev.
8265 (argp_parser): Remove -r.
8266 (main): Remove root_dev.
8267
2f53a9ed
VS
82682012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8269
8270 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
8271
17e1d934
VS
82722012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
8275 symbol.
8276 Reported by: NODA, Kai <nodakai>.
8277
d3e3fab5
VS
82782012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 Fix ehci on amd64.
8281
8282 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
8283 pointers.
8284 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
8285 (grub_ehci_setup_qh): Likewise.
8286 (grub_ehci_find_qh): Likewise.
8287 (grub_ehci_transaction): Likewise.
8288 (grub_ehci_setup_transfer): Likewise.
8289 (grub_ehci_check_transfer): Likewise.
8290 (grub_ehci_portstatus): Likewise.
8291 (grub_ehci_detect_dev): Likewise.
8292 (grub_ehci_transfer_controller_data): New field td_last_phys.
8293 (grub_ehci_setup_transfer): Fill td_last_phys.
8294 (grub_ehci_check_transfer): Use td_last_phys.
8295
3008675b
SG
82962012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
8297
8298 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
8299 if no submenu is present.
8300
fc9b5652
AN
83012012-02-01 Aleš Nesrsta <starous@volny.cz>
8302
8303 CBI support.
8304
8305 * include/grub/usb.h (grub_usbms_protocol_t): New values
8306 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
8307 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
8308 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
8309 (grub_usbms_dev): Add subclass, protocol and intrpt.
8310 Remove in_maxsz and out_maxsz.
8311 (grub_usbms_reset): Rename to ...
8312 (grub_usbms_bo_reset): .. this.
8313 (grub_usbms_cbi_cmd): New function.
8314 (grub_usbms_cbi_reset): Likewise.
8315 (grub_usbms_reset): Likewise.
8316 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
8317 (grub_usbms_transfer): Rename to ...
8318 (grub_usbms_transfer_bo): ... this.
8319 (grub_usbms_transfer_cbi): Likewise.
8320 (grub_usbms_transfer): Likewise.
8321
a2b81d53
AN
83222012-02-01 Aleš Nesrsta <starous@volny.cz>
83232012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
8326 the support for the CS5536 modification thereos and few bugfixes.
8327
8328 * grub-core/Makefile.core.def (ehci): New module.
8329 * grub-core/bus/usb/ehci.c: New file.
8330 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
8331 port and hubaddr. All users updated.
8332 Save port and hubaddr into dev structure.
8333 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
8334 define.
8335 * include/grub/pci.h (grub_dma_phys2virt): New function.
8336 (grub_dma_virt2phys): Likewise.
8337 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
8338
b1d51f02
VS
83392012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
8342 check as some mkfs implementations omit it.
8343
fc694106
VS
83442012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * docs/grub.texi (Unicode): Mention identifier and space limitations.
8347
6c0920e3
VS
83482012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
8351 Add new member volname2.
8352 (grub_jfs_label): Use volname2 if available.
8353
d1a46f9a
VS
83542012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8355
8356 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
8357 over last_mounted as seen in image generated by mkfs.nilfs2.
8358 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
8359
dec8ed14
VS
83602012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
8363 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
8364 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
8365
7397c69b
VS
83662012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
8369 over the sector.
8370
b3fe42ad
VS
83712012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
8374 subvolume name (by removing a bogus and useless check).
8375
10476bb0
VS
83762012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
8379 sizeof while on it.
8380
9c08ad87
VS
83812012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
8384 (grub_scsi_read_capacity10): ... this.
8385 (grub_scsi_read_capacity16): New function.
8386 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
8387 0xffffffff.
8388 Fix off-by-one error.
8389 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
8390 64-bit unsigned.
8391 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
8392 (grub_scsi_read_capacity10): ... this.
8393 (grub_scsi_read_capacity_data): Rename to ...
8394 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
8395 (grub_scsi_read_capacity16): New struct.
8396 (grub_scsi_read_capacity16_data): Likewise.
8397 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
8398 grub_scsi_cmd_read_capacity10.
8399 New command grub_scsi_cmd_read_capacity16.
8400
bc8d0f45
VS
84012012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 SCSI >2TiB support.
8404
8405 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
8406 (grub_scsi_write16): Likewise.
8407 (grub_scsi_read): Use read16 when necessary.
8408 (grub_scsi_write): Likewise.
8409 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
8410 (grub_scsi_write16): Likewise.
8411 (grub_scsi_cmd_t): Add READ16 and WRITE16.
8412
cc774926
VS
84132012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 SCSI write support (for usbms mainly).
8416
8417 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
8418 a const pointer.
8419 (grub_scsi_write): Implement.
8420 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
8421
67639fd7
VS
84222012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8423
8424 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
8425 variable.
8426
9079d3ed
VS
84272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 * grub-core/lib/posix_wrap/string.h (memchr): New function.
8430
c6a6f204
VS
84312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8432
8433 * po/POTFILES.in: Regenerate.
8434
ecbf8cd1
VS
84352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
8438 with grub_printf to avoid unnecessary fatal failure.
8439
0b3b3b38
VS
84402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8441
8442 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
8443 (INT_MAX): Likewise.
8444 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
8445 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
8446 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
8447 (strcpy): Likewise.
8448 (strstr): Likewise.
8449 (strchr): Likewise.
8450 (strncpy): Likewise.
8451 (strcat): Likewise.
8452 (strncat): Likewise.
8453 (strcoll): Likewise.
8454 * include/grub/types.h (GRUB_SHRT_MAX): New define.
8455 (GRUB_INT_MAX): Likewise.
8456
db7337a3
VS
84572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
8460 unexpected error.
8461 (optimize_utf8): Likewise.
8462 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
8463
f37c87e1
VS
84642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8465
8466 * grub-core/boot/i386/pc/lnxboot.S: Use
8467 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
8468 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
8469 location.
8470 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
8471 definition.
8472 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
8473
63fe43f3
VS
84742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
8477 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
8478 now to avoid double free.
8479 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
8480 hostdisk.
8481 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
8482 * util/grub-probe.c (escape_of_path): Always return a new copy.
8483 (print_full_name): Escape path.
8484 (probe): Don't call grub_util_devname_to_ofpath on NULL.
8485 Fix hints on abstractions.
8486
ebe2c961
VS
84872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
8490 Don't add "root" line if no compatibility hont is available.
8491 Suggested by: Seth Goldberg.
8492
2b5336a2
VS
84932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
8496 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
8497 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
8498 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
8499
74310bd8
VS
85002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
8503
c30582ba
VS
85042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 * util/grub-pe2elf.c (ehdr): Make static.
8507 (shdr): Likewise.
8508 (num_sections): Likewise.
8509 (offset): Likewise.
8510
5f47782c
VS
85112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 Eliminate ofpath limits and possible overflows.
8514
8515 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
8516 (OF_PATH_MAX): Removed.
8517 (MAX_DISK_CAT): New const.
8518 (find_obppath): Use allocated rather than preallocated buffer.
8519 Return result. Argument of_path removed. All users updated.
8520 Add missing fdstat.
8521 (xrealpath): New function.
8522 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
8523 Allocate rather than use preallocated buffer. All users updated.
8524 (__of_path_common): Use allocated rather than preallocatecd buffer.
8525 Return result. Argument of_path removed. All users updated.
8526 (vendor_is_ATA): Read only needed part form the file.
8527 (check_sas): Allocate depending on contents rather than fixed.
8528 (main) [STANDALONE]: Handle NULL result.
8529
f990cbf9
VS
85302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8531
8532 * grub-core/normal/completion.c (iterate_dev): Close the disk.
8533
9c6e84b8
VS
85342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 Cryptodisk write support.
8537
8538 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
8539 (grub_cryptodisk_decrypt): Moved logic to ...
8540 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
8541 (grub_cryptodisk_write): Implement.
8542 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
8543 (grub_util_fd_write): ... this. Make global.
8544 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
8545
87cf9744
VS
85462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 * include/grub/list.h (grub_list_remove): Don't crash if element is
8549 removed twice.
8550
ca8c0baf
VS
85512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 Rename ofconsole to console.
8554
8555 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
8556 as sysnonym to console.
8557 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
8558 * grub-core/term/ieee1275/console.c: ... this. All users updated.
8559 Rename grub_ofconsole_ to grub_console_. All users updated
8560 (grub_console_term_output): Rename "ofconsole" to "console".
8561 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
8562 as "console".
8563
64c8b8f6
VS
85642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
8567 handling.
8568 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
8569 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
8570 GRUB_DISK_DEVICE_FILE_ID.
8571
f6c434d5
VS
85722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
8575 and improve performance.
8576
5858b42d
VS
85772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8578
8579 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
8580 missing ieee1275/ prefix on whole disk.
8581
4ed3c26b
VS
85822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
8585 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
8586
df71143e
VS
85872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
8590
076e7c0f
VS
85912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 Merge common RAID and LVM logic to an abstract diskfilter.
8594 Add LDM support using the same framework.
8595
8596 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
8597 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
8598 (libgrubmods): Remove grub-core/disk/raid.c and
8599 grub-core/partmap/gpt.c.
8600 * grub-core/Makefile.core.def (ldm): New module.
8601 (raid): Renamed to diskfilter. All users updated.
8602 * grub-core/disk/raid.c: Moved to ...
8603 * grub-core/disk/diskfilter.c: ... here.
8604 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
8605 (lv_num): New var.
8606 (find_array): Renamed to ...
8607 (find_lv): ... this. Support multi-LV. Skip nameless LVs
8608 (grub_is_array_readable): Renamed to ...
8609 (grub_is_lv_readable): ... this. Support multinode hierarchy.
8610 (insert_array): New argument id.
8611 (is_node_readable): New function.
8612 (scan_device): Rename to ...
8613 (scan_disk): .. this. Restrict to one disk.
8614 (scan_devices): New function.
8615 (grub_diskfilter_iterate): Support multi-LV.
8616 Skip invisible and nameless LVs.
8617 (grub_diskfilter_memberlist): Support multi-LV.
8618 (grub_diskfilter_read_node): New function.
8619 (grub_raid_read): Most of logic moved to ...
8620 (read_segment): ... here
8621 (read_lv): New function.
8622 (grub_diskfilter_get_vg_by_uuid): New function.
8623 (grub_diskfilter_make_raid): Likewise.
8624 * grub-core/disk/ldm.c: New file.
8625 * grub-core/disk/lvm.c (vg_list): Removed.
8626 (lv_count): Likewise.
8627 (scan_depth): Likewise.
8628 (is_lv_readable): Likewise.
8629 (grub_lvm_getvalue): Advance pointer past the number.
8630 (find_lv): Removed.
8631 (do_lvm_scan): Refactored into ...
8632 (grub_lvm_detect): ... this. Support raid.
8633 (grub_lvm_iterate): Removed.
8634 (grub_lvm_memberlist): Likewise.
8635 (grub_lvm_open): Likewise.
8636 (grub_lvm_close): Likewise.
8637 (read_lv): Likewise.
8638 (read_node): Likewise.
8639 (is_node_readable): Likewise.
8640 (is_lv_readable): Likewise.
8641 (grub_lvm_read): Likewise.
8642 (grub_lvm_write): Likewise.
8643 (grub_lvm_dev): Use diskfilter
8644 (GRUB_MOD_INIT): Likewise.
8645 (GRUB_MOD_FINI): Likewise.
8646 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
8647 new interface.
8648 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
8649 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8650 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
8651 grub_diskfilter_read_node.
8652 Fix a bug with xor.
8653 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
8654 grub_diskfilter_read_node.
8655 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
8656 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
8657 (grub_disk_dev_iterate): Move from here...
8658 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
8659 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8660 Make global.
8661 (grub_hostdisk_find_partition_start): Likewise.
8662 (grub_hostdisk_os_dev_to_grub_drive): New function.
8663 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
8664 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
8665 * util/getroot.c (make_device_name): ... here.
8666 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8667 Move to ...
8668 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
8669 * grub-core/kern/emu/hostdisk.c
8670 (convert_system_partition_to_system_disk): Move to ...
8671 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
8672 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
8673 * util/getroot.c (device_is_wholedisk): ... here.
8674 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
8675 * util/getroot.c (find_system_device): ... here.
8676 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
8677 Move to ...
8678 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
8679 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8680 Move to ...
8681 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
8682 Handle LDM.
8683 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
8684 Move to ...
8685 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
8686 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
8687 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
8688 DISKFILTER.
8689 * include/grub/raid.h: Renamed to ...
8690 * include/grub/diskfilter.h: ... this.
8691 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
8692 (GRUB_RAID_LAYOUT_*): Make into array.
8693 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
8694 (grub_diskfilter_vg): New struct.
8695 (grub_diskfilter_pv_id): Likewise.
8696 (grub_raid_member): Removed.
8697 (grub_raid_array): Likewise.
8698 (grub_diskfilter_pv): New struct.
8699 (grub_diskfilter_lv): Likewise.
8700 (grub_diskfilter_segment): Likewise.
8701 (grub_diskfilter_node): Likewise.
8702 (grub_diskfilter_get_vg_by_uuid): New proto.
8703 (grub_raid_register): Inline.
8704 (grub_diskfilter_unregister): Likewise.
8705 (grub_diskfilter_make_raid): New proto.
8706 (grub_diskfilter_vg_register): Likewise.
8707 (grub_diskfilter_read_node): Likewise.
8708 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
8709 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
8710 (grub_util_is_ldm): Likewise.
8711 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
8712 (grub_hostdisk_find_partition_start): Likewise.
8713 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
8714 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
8715 New definition.
8716 (grub_gpt_partition_map_iterate): New proto.
8717 * include/grub/lvm.h (grub_lvm_vg): Removed.
8718 (grub_lvm_pv): Likewise.
8719 (grub_lvm_lv): Likewise.
8720 (grub_lvm_segment): Likewise.
8721 (grub_lvm_node): Likewise.
8722 * util/getroot.c [...]
8723 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
8724 (probe_abstraction): Likewise.
8725 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
8726 (main): Remove dead logic.
8727
8a7f9b9c
VS
87282012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 Simplify root device discover and don't fail when trying to open
8731 incorrect devices.
8732
8733 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
8734 function.
8735 (get_diskname_from_path): Likewise.
8736 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
8737 of iterating.
8738
30545b85
VS
87392012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
8742
28ea58cf
VS
87432012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
8746 pastthe end.
8747
692dabca
VS
87482012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 * util/grub-install.in: Add missing \.
8751 Reported by: gentoofan
8752
f6e4ea70
VS
87532012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
8754
8755 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
8756 (direct_read): Use correct compressed size.
8757 (grub_squash_read_data): Likewise.
8758
87592012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
8760
8761 * docs/grub.texi (Platform limitations): New section.
8762 (Platform-specific operations): Likewise.
8763 * docs/grub-dev.texi (Porting): Likewise.
8764
76261110
VS
87652012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 IEEE1275 disk write support.
8768
8769 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
8770 const void *.
8771 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
8772 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
8773 and seek loginc to ...
8774 (grub_ofdisk_prepare): ... here.
8775 (grub_ofdisk_write): Implement.
8776
fc36d603
VS
87772012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8778
8779 ARC disk write support.
8780
8781 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
8782 (reopen): New argument writable. All users updated.
8783 Handle required access mode.
8784 (grub_arcdisk_write): Implement.
8785 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
8786 (grub_arc_firmware_vector): Make buffer to write a const buffer.
8787
e06c2e7a
VS
87882012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
8791 (read_sblock): Don't attempt to read superblocks outside the disk size.
8792
ff447958
VS
87932012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
8796 first superblock to find the second one when possible.
8797
9e88df39
VS
87982012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * util/grub-install.in: Fix an ARC bug.
8801 Print a warning if no platform-specific setup is available.
8802
bb26e4ff
VS
88032012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 Use static allocation rather than scratch pointer in reed_solomon.
8806 It decreases its size significantly and avoids a variable in .text.
8807
8808 * grub-core/lib/reed_solomon.c (scratch): Removed.
8809 (chosenstat): New const or static array.
8810 (sigma): Likewise.
8811 (errpot): Likewise.
8812 (errpos): Likewise.
8813 (sy): Likewise.
8814 (mstat): Likewise.
8815 (errvals): Likewise.
8816 (eqstat): Likewise.
8817 (pol_evaluate): Replace x with log_x argument. All users updated.
8818 (syndroms): Removed.
8819 (gauss_solve): Use statically allocated arrays.
8820 (rs_recover): Likewise.
8821 Calculate syndroms directly.
8822 (decode_block): Use statically allocated arrays.
8823 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
8824 (main) [TEST]: Allow -DTEST -DSTANDALONE.
8825
2e13ede5
VS
88262012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 Eliminate fixed limit on reed solomon decoder length.
8829
8830 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
8831 rather than hardcoding the address.
8832 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
8833 no_reed_solomon_length.
8834 Move gate_a20 to no-reed-solomon part.
8835 Don't force a particular size of no reed-solomon part.
8836 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
8837 Removed.
8838 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
8839 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
8840
f8a9ab12
VS
88412012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 * grub-core/commands/wildcard.c (match_files): Handle filenames
8844 without explicit device.
8845 (wildcard_expand): Don't add explicit device if not already present.
8846 * tests/grub_script_echo1.in: Add a new expansion test.
8847
87edb894
VS
88482012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 Replace single-linked with double-linked lists. It results in more
8851 compact and more efficient code.
8852
8853 * grub-core/kern/list.c (grub_list_push): Moved from here ...
8854 * include/grub/list.h (grub_list_push): ... to here. Set prev.
8855 (grub_list_remove): Moved from here ...
8856 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
8857 (grub_prio_list_insert): Set prev.
8858 * include/grub/list.h (grub_list): Add prev. All users updated.
8859
48b391e9
VS
88602012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 Handle newer autotools. Add some missing quotes while on it.
8863
8864 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
8865 (pkglib_DATA): Move grub-mkconfig_lib from here ...
8866 (pkgdata_DATA): ... here.
8867 * Makefile.util.def (update-grub_lib): Removed.
8868 * conf/Makefile.common (pkglib_DATA): Removed.
8869 (pkglib_SCRIPTS): Likewise.
8870 (pkgdata_DATA): New variable.
8871 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
8872 needed.
8873 Add missing quotes.
8874 Remove unused variable while on it.
8875 * tests/util/grub-shell.in: Likewise.
8876 * util/grub-install.in: Likewise.
8877 * util/grub-mkconfig.in: Likewise.
8878 * util/grub-mknetdir.in: Likewise.
8879 * util/grub-mkrescue.in: Likewise.
8880 * util/grub-mkstandalone.in: Likewise.
8881 * util/grub.d/00_header.in: Likewise.
8882 * util/grub.d/10_hurd.in: Likewise.
8883 * util/grub.d/10_illumos.in: Likewise.
8884 * util/grub.d/10_kfreebsd.in: Likewise.
8885 * util/grub.d/10_linux.in: Likewise.
8886 * util/grub.d/10_netbsd.in: Likewise.
8887 * util/grub.d/10_windows.in: Likewise.
8888 * util/grub.d/20_linux_xen.in: Likewise.
8889 * util/grub.d/30_os-prober.in: Likewise.
8890 * util/update-grub_lib.in: Removed.
8891
88922012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
8893
8894 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
8895 a workaround for intel problem.
8896
66832792
PRP
88972012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
88982012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
88992012-01-23 pfsmorigo
8900
8901 * util/grub-install.in: Support dd'in into PreP partition.
8902 * util/grub-probe.c (probe): Support discovering partition type.
8903 (main): Support -t msdos_parttype.
8904
7816a17e
VS
89052012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
8908 infinite recursion using counter.
8909 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
8910 init to skip it if the magic check fails.
8911 (dec_stream_header): Init s->crc32.
8912
8f9d3a8c
ZB
89132012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
89142012-01-22 Zachary Bedell <pendorbound@gmail.com>
89152012-01-22 Richard Laager <rlaager@wiktel.com>
8916
8917 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
8918 All users updated.
8919 (find_bestub): Determine correct size.
8920 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
8921 (scan_disk): Align the size down.
8922 Call check pool before find_bestub to have ashift.
8923
b055dd32
VS
89242012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
8927 dprintf in no-malloc zone.
8928
d779e9bd
ML
89292012-01-22 Mario Limonciello <mario_limonciello@dell.com>
8930
8931 * configure.ac: Add back in test for limits.h.
8932
b508af69
VS
89332012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8934
8935 Support 4K-sector NTFS.
8936
8937 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
8938 (grub_ntfs_data): Remove blocksize.
8939 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
8940 Remove data argument. All users updated.
8941
dad9c8b5
VS
89422012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
8945 being in .text to avoid dprel references.
8946 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
8947 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
8948 (grub_arch_highmemsize): Likewise.
8949 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
8950 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
8951 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
8952
d43a777e
VS
89532012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
8956
8957 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
8958 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
8959
34e4208f
VS
89602012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
8963 GRUB_UTIL.
8964 (grub_set_datetime_cmos): Likewise.
8965
3ec0fc1c
VS
89662012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 Make XZ compression parameters dependent on target and not host CPU.
8969
8970 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
8971 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
8972
22489834
VS
89732012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
8976 set but not used variable.
8977
8502fbca
VS
89782012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8979
8980 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
8981 created when no uuid support is compiled into mkfs.reiser.
8982
76df2068
VS
89832012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8984
8985 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
8986 (utf8_to_macroman): Do the opposite.
8987 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
8988
64e3f8f6
VS
89892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * configure.ac: Refise build qemu_mips w/o unifont.
8992
9c271078
VS
89932012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8994
8995 Eliminate grub_min/grub_max prone to overflow usage.
8996
8997 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
8998 (poll_nonroot_hub): Likewise.
8999 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
9000 (grub_affs_label): Likewise.
9001 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
9002 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
9003 (grub_hfs_label): Likewise.
9004 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
9005 * grub-core/fs/zfs/zfs.c (MIN): Remove.
9006 (zap_leaf_array_equal): Use grub_size. Remove MIN.
9007 (zap_leaf_array_get): Likewise.
9008 (dnode_get_path): Likewise.
9009 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
9010 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
9011 * grub-core/script/execute.c (grub_script_break): Likewise.
9012 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
9013 grub_max.
9014 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
9015 * include/grub/misc.h (grub_min): Removed.
9016 (grub_max): Likewise.
9017
80662dbc
VS
90182012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9019
9020 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
9021 direct.inode = 0.
9022
e6da1467
VS
90232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
9026
b1ac4cb1
VS
90272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
9030
b4bf7c3b
VS
90312012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
9034 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
9035
8ee1101a
VS
90362012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
9039 rather than a hack for grub_strncasemap.
9040
90412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 Support multiple initrds
9044 Note: part of this was accidently committed in r3739.
9045
9046 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
9047 initrd.
9048 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9049 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9050 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9051 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9052 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9053
4d1e2bc9
VS
90542012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
9057 disks with unknown size.
9058 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
9059
75b49ebe
VS
90602012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 Remove defines pertaining to arbitrary limits not affecting GRUB
9063 anymore.
9064
9065 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
9066 (EXT2_MAX_SYMLINKCNT): Likewise.
9067 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
9068 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
9069 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
9070 (GRUB_PXE_MAX_BLKSIZE): Likewise.
9071 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
9072 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
9073 (DN_MAX_OBJECT_SHIFT): Likewise.
9074 (DN_MAX_OFFSET_SHIFT): Likewise.
9075 (DN_MAX_OBJECT): Likewise.
9076 (DNODES_PER_LEVEL_SHIFT): Likewise.
9077 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
9078 (SPA_MAXBLOCKSIZE): Likewise.
9079 (SPA_BLOCKSIZES): Likewise.
9080 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
9081 (MZAP_MAX_BLKSZ): Likewise.
9082
74a1dce7
VS
90832012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
9086 handle NULL appropriately.
9087 Remove MIN.
9088
30c7d3ce
VS
90892012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 Fix efiemu.
9092
9093 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
9094 cpu/types.h.
9095 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
9096 * configure.ac: Fix efiemu check.
9097
3c76ea0c
VS
90982012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
9101 grub_probe.
9102 Reported by: adamwill
9103
7e532280
SG
91042012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
9105
9106 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
9107
30492374
VS
91082012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 Fix handling of wide characters in gfxterm.
9111
9112 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
9113 (clear_char): Likewise.
9114 (paint_char): Skip code == NULL chars.
9115 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
9116
e70cb72f
VS
91172012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * grub-core/normal/charset.c: Move comment to right place.
9120
5c827cf9
VS
91212012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
9124 (GRUB_AFFS_FLAG_FFS): Put back where it was.
9125 (grub_affs_mount): Revert the correct version checking.
9126
53603892
VS
91272012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9128
9129 * docs/grub.texi (Unicode): Mention several other unsupported features.
9130
ff094b9b
VS
91312011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
9134 case statements as compile-time one.
9135 (direct_read): Prevent spurious warnings.
9136 (grub_squash_read_data): Likewise.
9137
c029da8a
VS
91382011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 Various squash4 fixes and LZO and XZ support.
9141
9142 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
9143 Add xzembed source files.
9144 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
9145 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
9146 (grub_squash_inode): New subtype long_dir.
9147 (SQUASH_TYPE_LONG_DIR): New inode type.
9148 (COMPRESSION): New enum.
9149 (XZBUFSIZ): New const.
9150 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
9151 (read_chunk): Use data->decompress.
9152 (zlib_decompress): New function.
9153 (lzo_decompress): Likewise.
9154 (xz_decompress): Likewise.
9155 (squash_mount): Set new data fields.
9156 (grub_squash_iterate_dir): Handle long dir.
9157 (squash_unmount): Free xzdec and xzbuf.
9158 (grub_squash_open): Check ino type.
9159 (direct_read): Stylistic fixes. Use data->decompress.
9160 (grub_squash_read_data): Likewise.
9161 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
9162 (get_byte): Likewise.
9163 (grub_zlib_disk_read): Removed.
9164 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
9165 (GRUB_POSIX_BOOL_DEFINED): New define.
9166 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
9167 * grub-core/lib/xzembed/xz.h: Addmissing includes.
9168 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
9169 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
9170
7a45a539
VS
91712011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 Don't override more informative errors.
9174
9175 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
9176 * grub-core/font/font.c (open_section): Likewise.
9177 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
9178 filename. Don't override errors.
9179 (grub_cmd_openbsd_ramdisk): Don't override errors.
9180 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
9181 (grub_cmd_initrd): Likewise.
9182 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9183 (grub_cmd_initrd): Likewise.
9184 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
9185 (grub_cmd_linux): Likewise.
9186 (grub_cmd_initrd): Likewise.
9187 (grub_cmd_payload): Likewise.
9188 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9189 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
9190 (grub_cmd_module): Likewise.
9191 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9192 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9193 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
9194 (grub_cmd_xnu_mkext): Likewise.
9195 (grub_cmd_xnu_ramdisk): Likewise.
9196 (grub_xnu_check_os_bundle_required): Likewise.
9197 (grub_xnu_load_kext_from_dir): Likewise.
9198 (grub_cmd_xnu_kextdir): Likewise.
9199 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
9200
b2d004db
VS
92012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9202
9203 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
9204 as 1024 in block size field. Found on one of my test images.
9205 Small optimisation while on it.
9206
ec000eac
VS
92072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
9210 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
9211 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
9212 performance fixes while on it.
9213 (grub_sfs_close): Fix memory leak while on it.
9214 (grub_sfs_label): Convert Latin1 to UTF-8.
9215
f50e1165
VS
92162011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
9219 space to avoid overflows.
9220 (grub_hfs_label): Convert from macroman to UTF-8.
9221
2ae254de
VS
92222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9223
9224 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
9225
0108f491
VS
92262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
9229
f45f5f89
VS
92302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * unicode: Import Unicode 6.0 data.
9233
4d8c4765
VS
92342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9235
63fa8ef9
VS
9236 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
9237 outside of range.
9238
92392011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
9242
9243 * include/grub/charset.h (grub_getend): New function.
9244 * grub-core/script/function.c (grub_script_function_find): Use
9245 grub_getend.
9246 * grub-core/normal/completion.c (add_completion): Likewise.
9247
f3cb4a4e
VS
92482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
9251 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
9252 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
9253 (GRUB_UNICODE_TAG_END): Likewise.
9254 (GRUB_UNICODE_LAST_VALID): Likewise.
9255
5da8dbc5
VS
92562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9257
9258 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
9259 len and make it smaller. All users updated.
9260 * util/import_unicode.py: Put length and not end character.
9261 Check length.
9262
8569f13d
VS
92632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 Make better Unicode-compliant and unify some UTF-8 code pathes.
9266
9267 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
9268 valid character.
9269 (grub_is_valid_utf8): Use grub_utf8_process.
9270 Check resulting code range.
9271 (grub_utf8_to_ucs4): Use grub_utf8_process.
9272 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
9273 valid character.
9274
cc4fddf5
VS
92752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
9278
bbc47747
VS
92792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * docs/grub.texi (Filesystems): Mention AFS.
9282
f63d6bf4
VS
92832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * docs/grub.texi (Filesystems): Clarify restrictions.
9286 (Regexp): Mention non-Unicode regexp behaviour.
9287 (Other): Mention non-Unicode matching behaviour.
9288
74bbf0db
VS
92892011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9290
f63d6bf4 9291 Make HFS implementation use MacRoman.
74bbf0db
VS
9292
9293 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
9294 (macroman): New const array.
9295 (macroman_to_utf8): New function.
9296 (utf8_to_macroman): Likewise.
9297 (grub_hfs_find_dir): Use utf8_to_macroman.
9298 (grub_hfs_dir): Use macroman_to_utf8.
9299 Set case_insensitive.
9300
4ea0316e
VS
93012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
9304
d3c13cbd
VS
93052011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 Integrate hints into autogeneration scripts.
9308
9309 * docs/grub.texi (Filesystems): Add a hostdisk example.
9310 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
9311 (grub-probe): Add ofpath.
9312 * gentpl.py: Remove group nosparc64.
9313 * grub-core/commands/search.c (cache_entry): New struct.
9314 (cache): New var.
9315 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
9316 * grub-core/commands/search_wrap.c (options): Add platform-specific
9317 hint options.
9318 (grub_cmd_search): Handle platform-specific hints.
9319 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
9320 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
9321 (grub_util_biosdisk_data): Likewise.
9322 (grub_util_biosdisk_open): Set device_map.
9323 (read_device_map): Handle "" as indication of no map.
9324 Set device_map.
9325 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
9326 (grub_util_biosdisk_get_compatibility_hint): New function.
9327 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
9328 * include/grub/emu/hostdisk.h
9329 (grub_util_biosdisk_get_compatibility_hint): New proto.
9330 * util/grub-install.in: Don't call grub-mkdevicemap.
9331 Add platform-specific hint to load.cfg.
9332 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
9333 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9334 hints. Set root preliminary to compatibility hint, not to OS name.
9335 * util/grub-probe.c (PRINT_*): Add hints.
9336 (print): Make static.
9337 (escape_of_path): New function.
9338 (guess_bios_drive): Likewise.
9339 (guess_efi_drive): Likewise.
9340 (guess_baremetal_drive): Likewise.
9341 (print_full_name): Likewise.
9342 (probe): Handle hints.
9343 (main): Likewise.
9344 * util/ieee1275/devicemap.c: Removed.
9345 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
9346 updated.
9347 (grub_util_devname_to_ofpath): Return NULL on failure.
9348
9349 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
9350 resource leak.
9351 * util/getroot.c (grub_util_pull_device): Fix memory leak.
9352
9353 * po/POTFILES.in: Regenerated.
9354
9355 Allow purely long options
9356
9357 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
9358 (SHORT_ARG_USAGE): Likewise.
9359 (grub_arg_show_help): Compare opt with help_options.
9360 (parse_option): Receive opt as argument. If makes big simplificatons.
9361 All users updated
9362
00ce2df3
VS
93632011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
9366 Restructure to avoid warning.
9367
e77e325f
VS
93682011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 * util/grub-install.in: Account for possible escaped comma in device
9371 name.
9372
165099ea
VS
93732011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
9376 channel.
9377
ce4a999d
VS
93782011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
9381 allocation and zero-setting.
9382 (grub_ieee1275_get_devname): Check that alias is complete.
9383
379586ad
VS
93842011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
9387 unaligned segments.
9388
9197b0ad
VS
93892011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
9392 prefix.
9393 (grub_ofdisk_open): Check and discard ieee1275 prefix.
9394 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9395 Add ieee1275 prefix.
9396
edddb7f9
VS
93972011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 * docs/grub.texi (Filesystems): Update.
9400
a1a8b1b9
VS
94012011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 Support odc, newc and bigendian cpio formats.
9404
9405 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
9406 * grub-core/Makefile.core.def (newc): New module.
9407 (odc): Likewise.
9408 (cpio_be): Likewise.
9409 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
9410 (MAGIC): Likewise.
9411 (MAGIC2): Likewise.
9412 (head) [MODE_ODC]: Adapt for the format.
9413 (head) [MODE_NEWC]: Likewise.
9414 (head) [!MODE_*]: Write fields of interest as arrays.
9415 (MAGIC_USTAR): Removed.
9416 (read_number) [MODE_NEWC]: Change to hex.
9417 (read_number) [!MODE_*]: Parse binary arrays.
9418 (grub_cpio_find_file): Factor out the code for better structure and
9419 always use read_number.
9420 (grub_cpio_mount): Use MAGIC and MAGIC2.
9421 (grub_cpio_dir): Exit on first hook non-0 return.
9422 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
9423 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
9424 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
9425 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
9426 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
9427 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
9428 * grub-core/fs/newc.c: New file.
9429 * grub-core/fs/odc.c: Likewise.
9430 * grub-core/fs/cpio_be.c: Likewise.
9431
58eba9ee
VS
94322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9433
9434 Fix handling of tar numbers occupying the whole field.
9435
9436 * grub-core/fs/cpio.c (read_number): New function.
9437 (grub_cpio_find_file): Use read_number instead of strtoull.
9438
a54a0e12
VS
94392011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
9442 occupying the whole field size.
9443
a6120aca
LA
94442011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
9445
9446 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
9447
a93964ce
VS
94482011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
9451
3ea1ca46
SG
94522011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
9453
9454 * grub-core/Makefile.core.def (lzma_decompress): Add missing
9455 TARGET_IMG_LDFLAGS.
9456
b87f7ef2
VS
94572011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 * util/getroot.c (ESCAPED_PATH_MAX): New define.
9460 (mountinfo_entry): Increase the field size to take escaping into
9461 account.
9462 (find_root_device_from_libzfs): Add one byte to size of strings for
9463 security.
9464
62092395
VS
94652011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
9468 an assert.
9469 * util/grub-setup.c (setup): Likewise.
9470
1f0b1a77
VS
94712011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
9474 _LzmaDecodeA.
9475
8eba9997
VS
94762011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9477
9478 * docs/grub.texi (Internationalisation): New section.
9479
dd0c91e9
VS
94802011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 * docs/grub.texi (Loopback booting): New section.
9483
94842011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
9485
9486 * util/grub-mkstandalone.in: Fix minor typo errors.
9487
198e150a
VS
94882011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
9491
9492 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
9493 net/icmp.c and net/icmp6.c.
9494 (http): New module.
9495 (priority_queue): Likewise.
9496 * grub-core/io/bufio.c: Rewritten.
9497 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
9498 TYPE_WITH_CONFIGFILE_OPTION.
9499 (legacy_commands): Add bootp and dhcp.
9500 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
9501 (grub_legacy_parse): Likewise.
9502 * grub-core/lib/priority_queue.c: New file.
9503 * grub-core/net/arp.c: Add missing license header.
9504 (arp_find_entry): Removed.
9505 (arp_find_entry): Likewise.
9506 (grub_net_arp_resolve): Rename to ...
9507 (grub_net_arp_send_request): ...this.
9508 (grub_net_arp_receive): New card argument.
9509 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
9510 Set router and DNS server.
9511 (grub_net_configure_by_dhcp_ack): Handle routing information.
9512 (grub_cmd_bootp): Set checksum.
9513 (grub_bootp_init): Remove net_dhcp.
9514 * grub-core/net/dns.c: New file.
9515 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
9516 completion.
9517 (get_card_packet): Handle allocation.
9518 (grub_efinet_findcards): Set mtu.
9519 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
9520 (get_card_packet): Handle allocation.
9521 (emucard): Set mtu.
9522 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
9523 (GRUB_MOD_INIT): Set mtu.
9524 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
9525 mtu.
9526 (get_card_packet): Handle allocation.
9527 (grub_ofnet_findcards): Set mtu.
9528 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
9529 assert.
9530 (grub_net_recv_ethernet_packet): Handle IPv6.
9531 * grub-core/net/http.c: New file.
9532 * grub-core/net/icmp.c: Likewise.
9533 * grub-core/net/icmp6.c: Likewise.
9534 * grub-core/net/ip.c (ip6addr): New type.
9535 (ip6hdr): Likewise.
9536 (reassemble): Likewise.
9537 (cmp): New function.
9538 (reassembles): New variable.
9539 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
9540 (id): New variable.
9541 (send_fragmented): New function.
9542 (grub_net_send_ip_packet): Rename to ...
9543 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
9544 Handle non-UDP.
9545 (grub_net_recv_ip_packets): Rename to ...
9546 (handle_dgram): ... this. Check checksum. Handle non-UDP.
9547 (free_rsm): New function.
9548 (free_old_fragments): Likewise.
9549 (grub_net_recv_ip4_packets): New function.
9550 (grub_net_send_ip6_packet): Likewise.
9551 (grub_net_send_ip_packet): Likewise.
9552 (grub_net_recv_ip6_packets): Likewise.
9553 (grub_net_recv_ip_packets): Likewise.
9554 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
9555 (LINK_LAYER_CACHE_SIZE): New const.
9556 (link_layer_find_entry): New function.
9557 (grub_net_link_layer_add_address): Likewise.
9558 (grub_net_link_layer_resolve_check): Likewise.
9559 (grub_net_link_layer_resolve): Likewise.
9560 (grub_net_ipv6_get_slaac): Likewise.
9561 (grub_net_ipv6_get_link_local): Likewise.
9562 (grub_cmd_ipv6_autoconf): Likewise.
9563 (parse_ip): Handle one number representation.
9564 (parse_ip6): New functoion.
9565 (match_net): Handle IPv6.
9566 (grub_net_resolve_address): Handle IPv6 and DNS.
9567 (grub_net_resolve_net_address): Handle IPv6.
9568 (route_cmp): New function.
9569 (grub_net_route_address): Find best route.
9570 (grub_net_addr_to_str): Handle IPv6.
9571 (grub_net_addr_cmp): New function.
9572 (grub_net_add_addr): Register local route.
9573 (print_net_address): Handle net address.
9574 (grub_net_poll_cards): Retransmit TCP.
9575 (grub_net_poll_cards_idle_real): Likewise.
9576 (have_ahead): New function.
9577 (grub_net_seek_real): Use underlying seek.
9578 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
9579 * grub-core/net/tcp.c: New file.
9580 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
9581 (cmp): New function.
9582 (ack): Likewise.
9583 (tftp_receive): Handle unordered input.
9584 (destroy_pq): New function.
9585 (tftp_close): Close pq.
9586 * grub-core/net/udp.c: Put missing license header.
9587 (grub_net_udp_socket): New function.
9588 (udp_socket_register): Likewise.
9589 (grub_net_udp_close): Likewise.
9590 (grub_net_recv_udp_packet): Check checksum.
9591 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
9592 * include/grub/misc.h (grub_memchr): New function.
9593 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
9594 (grub_net_card_driver): Return buf in recv.
9595 (grub_net_slaac_mac_list): New struct.
9596 (grub_network_level_protocol_id): Add ipv6.
9597 (grub_net_network_level_addr): Likewise.
9598 (grub_net_network_level_net_addr): Likewise.
9599 (grub_net_app_protocol): Add seek.
9600 (grub_net_socket): Removed.
9601 (grub_net_sockets): Likewise.
9602 (grub_net_socket_register): Likewise.
9603 (grub_net_socket_unregister): Likewise.
9604 (FOR_NET_SOCKETS): Likewise.
9605 (grub_net_add_addr): Add const.
9606 (GRUB_NET_BOOTP_*): New enum.
9607 (grub_net_addr_cmp): New proto.
9608 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
9609 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
9610 (grub_net_hwaddr_to_str): NEw proto.
9611 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
9612 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
9613 (grub_dns_init): New proto.
9614 (grub_dns_fini): Likewise.
9615 (grub_net_tcp_retransmit): Likewise.
9616 (grub_net_link_layer_add_address): Likewise.
9617 (grub_net_link_layer_resolve_check): Likewise.
9618 (grub_net_link_layer_resolve): Likewise.
9619 (grub_net_dns_lookup): Likewise.
9620 (grub_net_add_dns_server): Likewise.
9621 (grub_net_remove_dns_server): Likewise.
9622 (GRUB_NET_TRIES): New const.
9623 (GRUB_NET_INTERVAL): Likewise.
9624 * include/grub/net/arp.h: Mostly rewritten.
9625 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
9626 * include/grub/net/ip.h: Mostly rewritten.
9627 * include/grub/net/netbuff.h: Indent.
9628 * include/grub/net/tcp.h: New file.
9629 * include/grub/net/udp.h: Mostly rewritten.
9630 * include/grub/priority_queue.h: New file.
9631 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
9632 (grub_swap_bytes64_compile_time): Likewise.
9633 (grub_cpu_to_be16_compile_time): Likewise.
9634 (grub_cpu_to_be32_compile_time): Likewise.
9635 (grub_cpu_to_be64_compile_time): Likewise.
9636 (grub_be_to_cpu64_compile_time): Likewise.
9637
215c1800
VS
96382011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
9641 UINT_TO_PTR with cast.
9642
c17e546c
VS
96432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
9646 don't use them.
9647
ff6b18b6
VS
96482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
9651 already there.
9652
70ffcc93
VS
96532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
9656 confusing ipxe.
9657
e5f4d260
VS
96582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
9661 Add missing const attribute.
9662 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
9663 Likewise.
9664 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
9665 Likewise.
9666
8e54b4b7
VS
96672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
9670 misaligned access.
9671 (serpent_setkey): Likewise.
9672 (serpent_encrypt_internal): Likewise.
9673 (serpent_decrypt_internal): Likewise.
9674 (serpent_encrypt): Don't put an alignment-increasing cast.
9675 (serpent_decrypt): Likewise.
9676 (serpent_test): Likewise.
9677
813c0a2b
VS
96782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9679
9680 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
9681
f2b60fbd
VS
96822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
9685
9686 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
9687 grub_addr_t casts.
9688 (PTR_TO_UINT64): Likewise.
9689 (PTR_TO_UINT32): Likewise.
9690
5ef5c511
VS
96912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 * util/grub-mkimage.c (generate_image): Decrease the higher limit
9694 because of stack.
9695 * util/grub-setup.c (setup): Don't add redundancy past the higher load
9696 limit.
9697
c476e6df
VS
96982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
9701 text_width > available width a bit more gracefully.
9702
384ad7cc
VS
97032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
9706 current address calculation.
9707
96f8caf8
VS
97082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
9711 stack.
9712 (encode_block): Likewise.
9713
276b7a8b
VS
97142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9715
9716 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
9717 certainety.
9718
e3fd394a
VS
97192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
9722 non-RS part to avoid RS messing with GDT.
9723 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9724 Increase to suit in realmode routines.
9725
97262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 * grub-core/kern/i386/realmode.S: Increase alignment.
9729 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
9730
ee9c2e7a
VS
97312011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9732
9733 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
9734 be deterministic.
9735 (syndroms): Compute 0 syndrom.
9736 (rs_recover): Use 0 syndrom.
9737
7a7f7cc9
VS
97382011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
9741
a14b16d1
VS
97422011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9743
9744 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
9745 brackets.
9746
9f59e9fc
VS
97472011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9748
ca1b552c
VS
9749 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
9750 account.
9751 (get_top_pad): Likewise.
9752 (get_right_pad): Likewise.
9753 (get_bottom_pad): Likewise.
9754
97552011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 9758
e739d698
VS
97592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
9762 attribute as the structure isn't guaranteed to be properly aligned.
9763 (grub_efi_pci_device_path): Likewise.
9764 (grub_efi_pccard_device_path): Likewise.
9765 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
9766 specify the size of `memory_type'.
9767 (grub_efi_vendor_device_path): Likewise.
9768 (grub_efi_controller_device_path): Likewise.
9769 (grub_efi_acpi_device_path): Likewise.
9770 (grub_efi_expanded_acpi_device_path): Likewise.
9771 (grub_efi_atapi_device_path): Likewise.
9772 (grub_efi_scsi_device_path): Likewise.
9773 (grub_efi_fibre_channel_device_path): Likewise.
9774 (grub_efi_1394_device_path): Likewise.
9775 (grub_efi_usb_device_path): Likewise.
9776 (grub_efi_usb_class_device_path): Likewise.
9777 (grub_efi_i2o_device_path): Likewise.
9778 (grub_efi_mac_address_device_path): Likewise.
9779 (grub_efi_ipv4_device_path): Likewise.
9780 (grub_efi_ipv6_device_path): Likewise.
9781 (grub_efi_infiniband_device_path): Likewise.
9782 (grub_efi_uart_device_path): Likewise.
9783 (grub_efi_vendor_messaging_device_path): Likewise.
9784 (grub_efi_hard_drive_device_path): Likewise.
9785 (grub_efi_cdrom_device_path): Likewise.
9786 (grub_efi_vendor_media_device_path): Likewise.
9787 (grub_efi_file_path_device_path): Likewise.
9788 (grub_efi_protocol_device_path): Likewise.
9789 (grub_efi_piwg_device_path): Likewise.
9790 (grub_efi_bios_device_path): Likewise.
9791
cb8f88ea
VS
97922011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
9795 (grub_ucs4_to_utf8_alloc): Likewise.
9796 (grub_ucs4_to_utf8): Likewise.
9797 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
9798 (grub_ucs4_to_utf8_alloc): Likewise.
9799
309e5352
VS
98002011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 AFFS never uses unicode.
9803
9804 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
9805 (grub_latin1_to_utf8): New inline function.
9806 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
9807
e7987e1b
VS
98082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
9811 overflow.
9812
efc2616e
VS
98132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
9816 (grub_squash_dirent_header): Likewise.
9817 (read_chunk): Don't double swap.
9818 (grub_squash_iterate_dir): Fix swap sizes.
9819
3c349f5a
VS
98202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
9823
b453412d
VS
98242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
9827 (grub_hfs_iterate_dir): Likewise.
9828
12e9d4d1
VS
98292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 Fix video on platforms where unaligned access is forbidden.
9832 Make several optimisations while on it.
9833
9834 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
9835 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9836 (grub_video_fbblit_replace_32bit_1bit): Likewise.
9837 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
9838 Disable.
9839 (grub_video_fbblit_replace_16bit_1bit):
9840 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9841 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9842 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
9843 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
9844 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
9845 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
9846 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
9847 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
9848 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
9849 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
9850 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
9851 (grub_video_fbblit_replace_index_RGB888): Likewise.
9852 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
9853 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
9854 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
9855 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
9856 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
9857 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9858 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
9859 Disable.
9860 (grub_video_fbblit_blend_XXX565_1bit):
9861 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9862 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
9863 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
9864 void *.
9865 * grub-core/video/fb/video_fb.c (common_blitter)
9866 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
9867 (grub_video_fb_create_render_target_from_pointer)
9868 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9869 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
9870 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
9871 definition.
9872 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
9873
ace96609
VS
98742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
9877 HH22 and HM10 relocations.
9878
fd261d73
VS
98792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
9882
e59b7857
VS
98832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9884
9885 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
9886 allocation succeeded.
9887
9b4baaa4
VS
98882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
9891 argument a u8 pointer. All users updated.
9892 Handle unaligned buffers.
9893
dc713193
VS
98942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9895
9896 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
9897 add_part to workaround compiler bug.
9898
30dd48c2
VS
98992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9900
9901 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
9902
0c6087a8
VS
99032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
9906 Reserve alignment invariants.
9907 (grub_multiboot_load): Likewise.
9908 (retrieve_video_parameters): Likewise.
9909 (grub_multiboot_make_mbi): Likewise.
9910
c2e77777
VS
99112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
9914 incorrect pointer.
9915
b70b6d11
VS
99162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
9919 (grub_pata_pio_write): Likewise.
9920
02a2bf83
VS
99212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 Add noreturn attributes and remove unreachable code.
9924
9925 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
9926 code.
9927 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
9928 code. Mark as noreturn.
9929 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
9930 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
9931 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
9932 unreachable code.
9933 * grub-core/kern/main.c (grub_main): Mark as noreturn.
9934 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
9935 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
9936 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
9937 * include/grub/kernel.h (grub_main): Mark as noreturn.
9938 * include/grub/reader.h (grub_rescue_run): Likewise.
9939
2019d09e
VS
99402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
9943 redundant declaration.
9944
d1c501ee
VS
99452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9946
9947 * include/grub/net.h (grub_net_network_level_interfaces): Remove
9948 redundant declaration.
9949 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
9950
61664420
VS
99512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
9954 to ensure alignment.
9955 (grub_hdparm_print_identify): Make argument uint16 * to ensure
9956 alignment. Ensure tmp alignment.
9957 (grub_cmd_hdparm): Ensure buf alignment.
9958 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
9959 to ensure alignment.
9960 (grub_ata_dumpinfo): Ensure text alignment.
9961 (grub_atapi_identify): Preserve alignment invariant.
9962 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
9963
0d51ee20
VS
99642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9965
9966 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
9967 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
9968 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
9969 * include/grub/misc.h (grub_reboot)
9970 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
9971 (grub_halt) [__mips__]: Likewise.
9972
753ef8c1
VS
99732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
9976 Remove redundant declaration.
9977 (grub_mmap_get_post64): Likewise.
9978 (grub_mmap_get_upper): Likewise.
9979 (grub_mmap_get_lower): Likewise.
9980
85c85365
VS
99812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
9984 uint32_t * to ensure alignment.
9985 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
9986
a23f2cc4
VS
99872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9988
93018f64
VS
9989 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
9990 uint16_t * to ensure alignment.
9991 (sun_pc_partition_map_iterate): Make `block' a union to ensure
9992 alignment.
9993
99942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
9997 to ensure alignment.
9998 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
9999
58acccd6
VS
100002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 * grub-core/fs/ntfs.c (u16at): Make into inline function.
10003 Handle unaligned pointers.
10004 (u32at): Likewise.
10005 (u64at): Likewise.
10006 (fixup): Use byte access instead of v16at.
10007 (find_attr): Fix imporper usage of v32at.
10008 (read_data): Likewise.
10009 (list_file): Handle byte-swapping and unaligned strings.
10010 (grub_ntfs_label): Likewise.
10011
9b05cad7
VS
100122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10013
10014 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
10015 as it's not necessarily aligned.
10016
b3950b84
VS
100172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
10020 redundant declaration.
10021 (grub_serial_init): Likewise.
10022 (grub_terminfo_init): Likewise.
10023
fcd232b7
VS
100242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
10027 function.
10028 (ZAP_HASH_IDX): Likewise.
10029 (ZAP_LEAF_HASH_SHIFT): Likewise.
10030 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
10031 (LEAF_HASH): Likewise.
10032 (ZAP_LEAF_NUMCHUNKS): Likewise.
10033 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
10034 alignment invariants. Return pointer. All users updated.
10035 (ZAP_LEAF_ENTRY): Make into inline function.
10036 (NBBY): Removed.
10037 (xor): LIkewise.
10038 (xor_out): Use grub_crypto_xor.
10039 (dnode_get_path): Use grub_get_unaligned.
10040 (nvlist_find_value): Likewise.
10041 (grub_zfs_nvlist_lookup_uint64): Likewise.
10042 (grub_zfs_nvlist_lookup_string): Likewise.
10043 (get_nvlist_size): Likewise.
10044 (grub_zfs_open): Likewise.
10045 (fill_fs_info): Likewise.
10046 (grub_zfs_dir): Likewise.
10047 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
10048 alignment invariants.
10049 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
10050 necessarily aligned.
10051
f138623a
VS
100522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
10055
564840dc
VS
100562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
10059 arithmetic to conserve alignment invariants.
10060
9b40df20
VS
100612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
10064 redundant declaration.
10065 (grub_efiemu_mm_obtain_request): Likewise.
10066 (grub_efiemu_prepare): Likewise.
10067
d1c930f9
VS
100682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10069
10070 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
10071 to match types.
10072
4c5f3056
VS
100732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
10076 case of aunaligned recptr.
10077 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
10078 alignment.
10079 (grub_hfsplus_btree_search): Handle unaligned index.
10080
728cba91
VS
100812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
10084 to get freetag and skip.
10085
eb561f31
VS
100862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
10089 array.
10090 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
10091 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
10092
20993fbb
VS
100932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
10096 name for checksum and fix allocation algorithm.
10097
1f313b94
VS
100982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * include/grub/types.h (grub_properly_aligned_t): New type.
10101 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
10102 (grub_get_unaligned16): Add explicit casts.
10103 (grub_get_unaligned32): Likewise.
10104 (grub_get_unaligned64): Likewise.
10105 (grub_set_unaligned16): New function.
10106 (grub_set_unaligned32): Likewise.
10107
47ae27ec
VS
101082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10109
10110 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10111
78c2cd1c
VS
101122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
10115 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
10116 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
10117
53072f9b
VS
101182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10119
10120 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
10121 conditionals.
10122
055dc239
VS
101232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
10126 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
10127
496bd074
VS
101282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 Unify and improve RAID and crypto xor.
10131
10132 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
10133 changed to grub_crypto_xor
10134 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
10135 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
10136 Use bigger types when possible.
10137
ef6e4335
VS
101382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * grub-core/disk/raid.c (scan_devices): Fix condition.
10141
5d048bf2
VS
101422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10143
10144 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
10145 Make name a const ptr.
10146
ee533335
VS
101472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
10150 first argument a const pointer.
10151 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10152 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
10153 proto.
10154 (grub_children_iterate): Likewise.
10155 (grub_machine_mmap_iterate): Remove redundant declaration.
10156
cc8f3668
VS
101572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
10160 (grub_cmd_acpi) [!x86]: Disable EBDA.
10161
c5fc563a
VS
101622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 Enable UTF8 in gnulib regexp.
10165
10166 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
10167 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
10168 (isupper): Use grub_isupper.
10169 (isascii): New inline function.
10170 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
10171 * grub-core/lib/posix_wrap/wctype.h: Likewise.
10172 * grub-core/normal/charset.c (grub_utf8_process): New function.
10173 (grub_utf8_to_utf16): Use grub_utf8_process.
10174 (grub_encode_utf8_character): New function.
10175 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
10176 * include/grub/charset.h (grub_utf8_process): New declaration.
10177 (grub_encode_utf8_character): Likewise.
10178 * include/grub/misc.h (grub_islower): New inline function.
10179 (grub_isupper): Likewise.
10180 (grub_strchrsub): Moved down to fix the definitions.
10181
0af2346f
VS
101822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10183
10184 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
10185 specification.
10186
74dbd244
VS
101872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * include/grub/loader.h (grub_loader_register_preboot_hook):
10190 Use struct preboot * and not void * for handle. All users updated.
10191 (grub_loader_unregister_preboot_hook): Likewise.
10192
1bc8f60d
VS
101932011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10194
10195 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
10196 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
10197 UTF-16-BE. All users updated.
10198 (grub_hfsplus_cmp_catkey): Fix unicode handling.
10199 (grub_hfsplus_iterate_dir): Likewise.
10200 (grub_hfsplus_label): Likewise.
10201
48d6e456
VS
102022011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10203
10204 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
10205
bf3a3857
VS
102062011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 Add missing const qualifiers.
10209
10210 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
10211 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
10212 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
10213 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
10214 (grub_lvm_check_flag): Likewise.
10215 * grub-core/efiemu/i386/coredetect.c
10216 (grub_efiemu_get_default_core_name): Likewise
10217 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10218 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
10219 * grub-core/fs/ntfs.c (fixup): Likewise.
10220 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
10221 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
10222 (fzap_lookup): Likewise.
10223 (zap_lookup): Likewise.
10224 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
10225 * grub-core/lib/legacy_parse.c (check_option): Likewise.
10226 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
10227 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
10228 (grub_freebsd_add_meta_module): Likewise.
10229 (grub_cmd_freebsd_module): Likewise.
10230 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
10231 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
10232 (grub_xnu_writetree_get_size): Likewise.
10233 (grub_xnu_writetree_toheap_real): Likewise.
10234 (grub_xnu_find_key): Likewise.
10235 (grub_xnu_create_key): Likewise.
10236 (grub_xnu_create_value): Likewise.
10237 (grub_xnu_register_memory): Likewise.
10238 (grub_xnu_check_os_bundle_required): Likewise.
10239 (grub_xnu_scan_dir_for_kexts): Likewise.
10240 (grub_xnu_load_kext_from_dir): Likewise.
10241 * grub-core/normal/color.c (color_list): Likewise.
10242 * grub-core/normal/completion.c (current_word): Likewise.
10243 * grub-core/normal/menu_entry.c (insert_string): Likewise.
10244 * grub-core/term/serial.c (grub_serial_find): Likewise.
10245 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
10246 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
10247 Likewise.
10248 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
10249 (grub_freebsd_add_meta_module): Likewise.
10250 * include/grub/lib/arg.h (grub_arg_option): Likewise.
10251 * include/grub/net.h (grub_net_card_driver): Likewise.
10252 (grub_net_card): Likewise.
10253 (grub_net_app_protocol): Likewise.
10254 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
10255 * include/grub/serial.h (grub_serial_find): Likewise.
10256 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
10257 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
10258 (grub_xnu_create_value): Likewise.
10259 (grub_xnu_find_key): Likewise.
10260 (grub_xnu_scan_dir_for_kexts): Likewise.
10261 (grub_xnu_load_kext_from_dir): Likewise.
10262
10263 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
10264 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
10265 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
10266 Moved from here ...
10267 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
10268
112b4837
CW
102692011-11-28 Colin Watson <cjwatson@ubuntu.com>
10270
10271 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
10272
49e891ac
VS
102732011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
10276 (read_device): Fix size calculation.
10277
fd258e5c
RM
102782011-11-25 Robert Millan <rmh@gnu.org>
10279
10280 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
10281 (find_root_device_from_libzfs): Add zpool output parser to be used
10282 as fallback when libzfs isn't available.
10283
78845dc2
SG
102842011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
10285
10286 * po/Makefile.in.in: Add missing escape-continuation.
10287
adac5211
VS
102882011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
10291
10b64f1c
VS
102922011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10293
10294 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
10295
bb416954
VS
102962011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10297
10298 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
10299
bdfe9eeb
VS
103002011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
10303
581ffa8a
VS
103042011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10305
10306 * grub-core/lib/adler32.c: Add missing license specification.
10307 * grub-core/lib/crc64.c: Likewise.
10308 * grub-core/loader/i386/pc/plan9.c: Likewise.
10309 * grub-core/partmap/plan.c: Likewise.
10310
2536cf64
LK
103112011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
10312
10313 Add facility to debug GRUB with gdb under qemu.
10314
10315 * grub-core/gdb_grub.in: New file.
10316 * grub-core/gmodule.pl.in: Likewise.
10317 * grub-core/Makefile.core.def (gmodule.pl): New script.
10318 (gdb_grub): Likewise.
10319
bc108a4a
VS
103202011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 * util/grub-mount.c (argp_parser): Accept relative pathes.
10323 * util/grub-fstest.c (argp_parser): Likewise.
10324
111c1778
VS
103252011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 Plan9 support.
10328
10329 * Makefile.util.def (libgrubmods): Add
10330 grub-core/partmap/plan.c.
10331 * docs/grub.texi: Notice Plan9 support.
10332 * grub-core/Makefile.core.def (plan9): New module.
10333 (part_plan): Likewise.
10334 * grub-core/loader/i386/pc/plan9.c: New file.
10335 * grub-core/partmap/plan.c: Likewise.
10336 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
10337 define.
10338 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
10339 * include/grub/mm.h (grub_extend_alloc): New inline function.
10340
c30be3b6
VS
103412011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 Make Reed-Solomon faster by using power of generator representation of
10344 GF(256)*.
10345
10346 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
10347 (gf_double_t): Likewise.
10348 (gf_invert): Removed.
10349 (gf_powx): New array.
10350 (gf_powx_inv): Likewise.
10351 (scratch): Move higher.
10352 (gf_reduce): Removed.
10353 (gf_mul): Use powx.
10354 (gf_invert): Likewise.
10355 (init_inverts): Replaced with ...
10356 (init_powx): ...this. All users updated.
10357 (pol_evaluate): Replace multiplications with additions.
10358 (rs_encode): Likewise.
10359 (gauss_eliminate): Call gf_invert.
10360 (grub_reed_solomon_add_redundancy): Call init_powx.
10361 (grub_reed_solomon_recover): Call init_powx unconditionally.
10362
fa5aeffc
VS
103632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
10366
a346b81c
VS
103672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10368
10369 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
10370 disk->partiton for safety.
10371
d89ee414
VS
103722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10375 Fix a memory leak.
10376 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
10377
91ee7b6d
VS
103782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10379
10380 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
10381
91e5a33d
VS
103822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
10385
9edd7be2
VS
103862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 Fix spaces handling in proc/self/mountinfo.
10389
10390 * util/getroot.c (unescape): New function.
10391 (grub_find_root_device_from_mountinfo): Use unescape.
10392
ba102053
VS
103932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10394
10395 Support ZFS embedding.
10396
10397 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
10398 (grub_zfs_fs): Register grub_zfs_embed.
10399
aa94b870
VS
104002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10401
10402 Fix MIPS compilation.
10403
10404 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
10405 * include/grub/offsets.h: Rename decompressor fields from
10406 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
10407 * util/grub-mkimage.c (image_targets): Use new names.
10408
5fbdac14
VS
104092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 Defer multiboot device parsing until we're in compressed part.
10412
10413 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
10414 bsd_part. setdevice has fallen into disuse.
10415 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
10416 (bsd_part): Likewise.
10417 (boot_dev): New variable.
10418 (multiboot_trampoline): Don't parse multiboot device.
10419 Pass multiboot device in %edx.
10420 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
10421 grub_boot_device.
10422 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
10423 Likewise.
10424 * grub-core/kern/i386/pc/startup.S: Save edx.
10425 (grub_boot_drive): Removed.
10426 (grub_install_dos_part): Likewise.
10427 (grub_install_bsd_part): Likewise.
10428 (grub_boot_device): New variable.
10429 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
10430 (grub_install_bsd_part): Likewise.
10431 (grub_boot_drive): Likewise.
10432 (grub_boot_device): New variable.
10433 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
10434 Removed.
10435 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
10436 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
10437 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
10438 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
10439 * util/grub-install.in: Remove redundant condition.
10440
691cbb58
VS
104412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 Fix bug introduced by previous commit.
10444
10445 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
10446
60240b8b
VS
104472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 Use decompressors framework on i386-pc. It increases core size
10450 by 46 bytes but improves compatibility and maintainability.
10451
10452 * grub-core/Makefile.core.def (lzma_decompress): New image.
10453 (kernel): Add i386_pc_ldflags.
10454 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
10455 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
10456 to real_to_prot, prot_to_real and device info.
10457 * include/grub/offsets.h: Renamed decompressor offsets.
10458 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
10459 (image_target_desc): Remove raw_size and rename decompressor fields.
10460 (compress_kernel): Handle lzma.
10461 (generate_image): Handle decompressors on i386-pc.
10462
e9d3421c
VS
104632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * configure.ac: Add -fno-asynchronous-unwind-tables.
10466
2b23074a
VS
104672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10468
10469 Move assembly code to C by using intwrap. It increases core size
10470 by 88 bytes but improves compatibility and maintainability.
10471
10472 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
10473 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
10474 ... here. Translated to C.
10475 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
10476 * grub-core/term/i386/pc/console.c (grub_console_getkey):
10477 ... here. Translated to C.
10478 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
10479 * grub-core/term/i386/pc/console.c (grub_console_getxy):
10480 ... here. Translated to C.
10481 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
10482 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
10483 ... here. Translated to C.
10484 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
10485 * grub-core/term/i386/pc/console.c (grub_console_cls):
10486 ... here. Translated to C.
10487 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
10488 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
10489 ... here. Translated to C.
10490 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
10491 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
10492 Translated to C.
10493 * grub-core/term/i386/pc/console.c (int10_9): New function.
10494 (grub_console_putchar): Likewise.
10495 * include/grub/i386/pc/console.h: Removed the not anymore shared
10496 functions.
10497
678f4b67
VS
104982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 Move grub_chainloader_real_boot out of the kernel.
10501
10502 * grub-core/Makefile.am: Remove machine/loader.h.
10503 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10504 Removed.
10505 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
10506 variable.
10507 (grub_relocator16_keep_a20_enabled): Likewise.
10508 (grub_relocator16_boot): Fill new variables.
10509 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
10510 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
10511 relocator.
10512 (grub_chainloader_unload): Likewise.
10513 (grub_chainloader_cmd): Likewise.
10514 * include/grub/i386/pc/loader.h: Removed.
10515 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
10516 and esi. All initialisers updated.
10517
4626edf6
VS
105182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
105192011-11-12 Colin Watson <cjwatson@ubuntu.com>
10520
10521 * Makefile.util.def (grub-mount): New util.
10522 * .bzrignore: Add grub-mount.
10523 * configure.ac: Check for fuse and enable grub-mount if available.
10524 * docs/man/grub-mount.h2m: New file.
10525 * util/grub-mount.c: Likewise.
10526
10f0117b
VS
105272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * grub-core/commands/efi/fixvideo.c: Gettextize.
10530 * grub-core/commands/hashsum.c: Likewise.
10531 * grub-core/commands/i386/cmostest.c: Likewise.
10532 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10533 * grub-core/commands/i386/pc/lsapm.c: Likewise.
10534 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10535 * grub-core/commands/lsmmap.c: Likewise.
10536 * grub-core/commands/menuentry.c: Likewise.
10537 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10538 * grub-core/commands/setpci.c: Likewise.
10539 * grub-core/loader/i386/bsd.c: Likewise.
10540 * grub-core/loader/i386/linux.c: Likewise.
10541 * util/getroot.c: Likewise.
10542 * util/grub-editenv.c: Likewise.
10543 * util/grub-fstest.c: Likewise.
10544 * util/grub-mkfont.c: Likewise.
10545 * util/grub-mkimage.c: Likewise.
10546 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10547 * util/grub-pe2elf.c: Likewise.
10548 * util/grub-probe.c: Likewise.
10549 * util/grub-setup.c: Likewise.
10550 * util/ieee1275/ofpath.c: Likewise.
10551 * util/misc.c: Likewise.
10552 * util/raid.c: Likewise.
10553
566f779b
RM
105542011-11-11 Robert Millan <rmh@gnu.org>
10555
10556 * util/getroot.c (grub_util_get_geom_abstraction): Remove
10557 __attribute__((unused)) from `os_dev', which *is* being used.
10558
b50787de
VS
105592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10560
10561 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
10562 forgotten define.
10563 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
10564 GRUB_IA64_DL_GOT_ALIGN.
10565 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
10566 GRUB_IA64_DL_TRAMP_ALIGN.
10567
119d11c8
VS
105682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 Replace grub_fatal with normal errors in i386 linux loader.
10571
10572 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
10573 (allocate_pages): Check find_efi_mmap_size return value.
10574 (grub_e820_add_region): Return error.
10575 (grub_linux_boot): Check mmap return value.
10576
6e0632e2
VS
105772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10578
10579 * grub-core/commands/acpihalt.c: Gettextized.
10580 * grub-core/commands/cacheinfo.c: Likewise.
10581 * grub-core/commands/cmp.c: Likewise.
10582 * grub-core/commands/efi/loadbios.c: Likewise.
10583 * grub-core/commands/gptsync.c: Likewise.
10584 * grub-core/commands/ieee1275/suspend.c: Likewise.
10585 * grub-core/commands/legacycfg.c: Likewise.
10586 * grub-core/commands/memrw.c: Likewise.
10587 * grub-core/commands/minicmd.c: Likewise.
10588 * grub-core/commands/parttool.c: Likewise.
10589 * grub-core/commands/time.c: Likewise.
10590 * grub-core/commands/videoinfo.c: Likewise.
10591 * grub-core/disk/geli.c: Likewise.
10592 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
10593 * grub-core/disk/luks.c: Likewise.
10594 * grub-core/disk/lvm.c: Likewise.
10595 * grub-core/font/font_cmd.c: Likewise.
10596 * grub-core/fs/zfs/zfscrypt.c: Likewise.
10597 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10598 * grub-core/gfxmenu/view.c: Likewise.
10599 * grub-core/kern/emu/hostdisk.c: Likewise.
10600 * grub-core/kern/emu/main.c: Likewise.
10601 * grub-core/kern/emu/misc.c: Likewise.
10602 * grub-core/kern/emu/mm.c: Likewise.
10603 * grub-core/kern/mips/arc/init.c: Likewise.
10604 * grub-core/kern/mips/loongson/init.c: Likewise.
10605 * grub-core/kern/partition.c: Likewise.
10606 * grub-core/lib/i386/halt.c: Likewise.
10607 * grub-core/lib/mips/arc/reboot.c: Likewise.
10608 * grub-core/lib/mips/loongson/reboot.c: Likewise.
10609 * grub-core/loader/i386/pc/chainloader.c: Likewise.
10610 * grub-core/loader/i386/xnu.c: Likewise.
10611 * grub-core/loader/multiboot.c: Likewise.
10612 * grub-core/net/bootp.c: Likewise.
10613 * grub-core/net/net.c: Likewise.
10614 * grub-core/normal/term.c: Likewise.
10615 * grub-core/partmap/bsdlabel.c: Likewise.
10616 * grub-core/parttool/msdospart.c: Likewise.
10617 * grub-core/term/gfxterm.c: Likewise.
10618 * grub-core/term/terminfo.c: Likewise.
10619 * grub-core/video/i386/pc/vbe.c: Likewise.
10620 * util/grub-menulst2cfg.c: Likewise.
10621 * util/grub-mkdevicemap.c: Likewise.
10622 * util/grub-mklayout.c: Likewise.
10623 * util/grub-mkrelpath.c: Likewise.
10624 * util/grub-script-check.c: Likewise.
10625 * util/ieee1275/grub-ofpathname.c: Likewise.
10626 * util/resolve.c: Likewise.
10627
073aa7a9
VS
106282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 Support %1$d syntax.
10631
10632 * tests/printf_unit_test.c: New file.
10633 * Makefile.util.def (printf_test): New test.
10634 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
10635
c76b5417
VS
106362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
10639 fix.
10640
df067ad1
VS
106412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
10644 dprintf.
10645 * grub-core/font/font.c (grub_font_load): Likewise.
10646
5b289bc5
VS
106472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * util/grub-macho2img.c: Add comment concerning gettext.
10650 * grub-core/lib/legacy_parse.c: Likewise.
10651
c1860f87
VS
106522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10653
10654 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
10655 (grub_xvasprintf): Likewise.
10656
d35d0d37
VS
106572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 Add const keyword to grub_env_get and gettextize week days.
10660
10661 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
10662 (grub_read_hook_datetime): Return const char *.
10663 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
10664 updated.
10665 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10666 Mark for gettext.
10667 (grub_get_weekday_name): Return const char *. Call gettext.
10668 * grub-core/script/argv.c (grub_script_argv_append): Receive const
10669 char * and len as the argument. All users updated.
10670 (grub_script_argv_split_append): Receive const char *.
10671 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
10672 * include/grub/env.h (grub_env_get): Likewise.
10673 (grub_env_read_hook_t): Return const char *.
10674 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
10675 (grub_script_argv_split_append): Likewise.
10676
9aed8a71
VS
106772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
10680
067fdf00
VS
106812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10682
10683 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
10684 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
10685
a8bd9d39
VS
106862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10687
10688 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
10689 Fix prototype.
10690
f7ce5baf
VS
106912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 Fix mips compilation.
10694
10695 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
10696 normal decoder.
10697 (hashes): Use in embed decoder as well (for sizes).
10698 (dec_stream_header): Fix embed decompressor logic.
10699 (dec_stream_footer): Likewise.
10700
9bb182f3
VS
107012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10702
10703 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
10704 an error and not a fatal on unrecognised relocation types.
10705
63a9e6f6
VS
107062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10707
10708 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10709 Issue error rather than printf on unknown arguments.
10710
4c458569
VS
107112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10712
10713 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
10714 Make buf a const.
10715
e2d22baf
VS
107162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
10719 Fix module name.
10720
53dc8590
VS
107212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10722
10723 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
10724 leftover debug printf.
10725
6c189294
VS
107262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
10729
f7688369
VS
107302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10731
10732 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
10733 A stylistic fix.
10734
11a775a3
VS
107352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10736
10737 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
10738
33f784e8
SL
107392011-11-10 Shea Levy <slevy@tieronedesign.com>
10740
10741 Allow all modules to perform serial IO
10742
10743 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
10744 * include/grub/serial.h (grub_serial_port_configure): New inline
10745 function.
10746 (grub_serial_port_fetch): Likewise.
10747 (grub_serial_port_put): Likewise.
10748 (grub_serial_port_fini): Likewise.
10749 (grub_serial_find): New proto.
10750
f6276525
VS
107512011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 Put symlink at the end of the node and fix a potential
10754 memory corruption.
10755
10756 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
10757 Make symlink into an array.
10758 (set_rockridge): Set have_symlink and alloc_dirents.
10759 (grub_iso9660_read_symlink): Use new layout.
10760 (grub_iso9660_iterate_dir): Fix memory corruption.
10761 Use new layout.
10762 (grub_iso9660_dir): Set have_symlink.
10763 (grub_iso9660_open): Likewise.
10764
c3591189
VS
107652011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10766
10767 Remove local keyword.
10768
10769 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
10770 (version_test_gt): Likewise.
10771 (version_find_latest): Likewise.
10772 (gettext_printf): Likewise.
10773 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
10774
cb544caa
VS
107752011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
10778
45bd824d
VS
107792011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 Fix ZFS memory and resource leaks.
10782
10783 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
10784 All users updated.
10785 Free type on exit.
10786 (fill_vdev_info): New parameter inserted. All users updated.
10787 (check_pool_label): Likewise.
10788 (scan_disk): Likewise.
10789 (scan_devices): Close non-inserted disks.
10790 (fzap_iterate): Free l.
10791 (unmount_device): Free children descripto memory.
10792
ad9a2f44
VS
107932011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
10796 argument (access out of bounds).
10797
6b68db81
VS
107982011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10799
10800 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
10801 >= 6 drives.
10802
28840fda
VS
108032011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
10806 Fix declaration.
10807
8a5a3a5b
VS
108082011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 Fix several memory leaks.
10811
10812 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
10813 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
10814 (grub_cpio_dir): Likewise.
10815 * grub-core/fs/fat.c (grub_fat_label): Likewise.
10816 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
10817 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
10818 (grub_romfs_label): Likewise.
10819 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
10820 (squash_unmount): New function.
10821 (grub_squash_dir): Fix memory leak.
10822 (grub_squash_open): Likewise.
10823 (grub_squash_read): Likewise.
10824 (grub_squash_mtime): Likewise.
10825 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
10826 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
10827 * util/grub-fstest.c (fstest): Likewise.
10828
57b01250
VS
108292011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
10832 avoid accessing beyond the array.
10833
19e81ba7
VS
108342011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
10837
52b656c0
VS
108382011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10839
10840 Several AFFS fixes.
10841
10842 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
10843 (GRUB_AFFS_FLAG_FFS): Removed.
10844 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
10845 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
10846 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
10847 (grub_fshelp_node): Make block 32-bit.
10848 Add block_cache and last_block_cache.
10849 (grub_affs_read_block): Fill and use block cache.
10850 (grub_affs_read_file): Removed.
10851 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
10852 boot block.
10853 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
10854 safety.
10855 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
10856 space.
10857 (grub_affs_close): Free block cache.
10858 (grub_affs_read): Use grub_fshelp_read_file directly.
10859
438a746a
VS
108602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
10863 with no error set.
10864
49a45021
VS
108652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10866
10867 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
10868 used variable.
10869 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10870 Likewise.
10871
3ae17eb8
VS
108722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
10875
10876 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
10877 byteswap when needed.
10878
27610c38
VS
108792011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 Fix FreeBSD compilation.
10882
10883 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
10884 to avoid circular dependency.
10885 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
10886 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
10887 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
10888
4a19b601
VS
108892011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10890
10891 Fix ZFS crypto error types.
10892
10893 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
10894 (grub_gcm_decrypt): Likewise.
10895 (grub_zfs_load_key_real): Fix error code type. Handle possible error
10896 from PBKDF2.
10897
958ee221
VS
108982011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10899
10900 Illumos support.
10901
10902 * Makefile.util.def (10_illumos): New script.
10903 * configure.ac: Set COND_HOST_ILLUMOS.
10904 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
10905 Support Illumos calls.
10906 (find_partition_start) [__sun__]: Likewise.
10907 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
10908 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
10909 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
10910 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
10911 device.
10912 * util/grub-probe.c (probe) [__sun__]: Do character check.
10913 * util/grub.d/10_illumos.in: New file.
10914
cac14fb6
VS
109152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 Support escaped commas in hostdisk.
10918
10919 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
10920 (find_grub_drive): Use unescape_cmp.
10921 (make_device_name): Escape commas.
10922
78e08dc3
VS
109232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
10926
9f421dd1
VS
109272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10928
10929 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
10930 variable.
10931
ed64e9e2
VS
109322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10933
10934 Support trampoline jumps on powerpc.
10935
10936 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
10937 __ia64__ path.
10938 (grub_dl_load_segments): Set mod->sz.
10939 (grub_dl_flush_cache): Flush whole space occupied by module, not just
10940 segments.
10941 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
10942 (jump): Likewise.
10943 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
10944 function.
10945 (trampoline): New struct.
10946 (trampoline_template): New const.
10947 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
10948 * include/grub/dl.h (grub_dl): Add sz element.
10949 [__powerpc__]: Follow __ia64__.
10950 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
10951 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
10952 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
10953 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
10954
3084ede4
VS
109552011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 ZFS crypto support.
10958
10959 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
10960 * grub-core/Makefile.core.def (zfscrypt): New module.
10961 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
10962 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
10963 it. All users updated.
10964 (grub_zfs_decrypt): New var.
10965 (grub_zfs_load_key): Likewise.
10966 (zio_checksum_functions): Add SHA256+MAC.
10967 (zio_checksum_verify): Handle incomplete comparison due to MAC.
10968 (zio_read): Handle encrypted blocks.
10969 (zap_verify): Remove incorrect check.
10970 (fzap_iterate): Handle non-standard fzap.
10971 (zap_iterate): Likewise.
10972 (zap_iterate_u64): New function.
10973 (dnode_get_fullpath): Load keys.
10974 * grub-core/fs/zfs/zfscrypt.c: New file.
10975 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
10976 (grub_crypto_ecb_encrypt): Make input const.
10977 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
10978 (grub_crypto_ecb_encrypt): Make input const.
10979 (GRUB_CIPHER_AES): New macro.
10980 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
10981 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
10982 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
10983 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
10984 prefix. All users updated.
10985 (grub_zfs_add_key): New proto.
10986 (grub_zfs_decrypt): Likewise.
10987 (grub_zfs_load_key): Likewise.
10988 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
10989 * util/grub-fstest.c (options): Add -K option.
10990 (argp_parser): Likewise.
10991
b632b404
VS
109922011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 Support zle compression on ZFS.
10995
10996 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
10997 (decomp_table): Add zle.
10998 * include/grub/zfs/zio.h (zio_compress): Add zle.
10999
c7ba4f69
VS
110002011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 Support BtrFS embedding.
11003
11004 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
11005 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
11006 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
11007 * util/grub-setup.c (setup): Use fs embedding if available.
11008 Add additional sanity check.
11009
455377d9
VS
110102011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11011
11012 * util/grub-install.in: Fix condition for config_opt.
11013
c2fd16ca
VS
110142011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 Support third redundancy strip on raidz3.
11017
11018 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
11019 Return error on singularity. All users updated.
11020 (read_device): Don't stop on 3rd failure on raidz3.
11021
8622923b
VS
110222011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11023
11024 Support case-insensitive ZFS subvolumes.
11025
11026 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
11027 All users updated.
11028 (zap_hash): Likewise.
11029 (name_cmp): New function.
11030 (zap_leaf_array_equal): New parameter case_insensitive.
11031 All users updated.
11032 (zap_leaf_lookup): Likewise.
11033 (fzap_lookup): Likewise.
11034 (zap_lookup): Likewise.
11035 (dnode_get_path): New parameter case_insensitive. Retrieve case
11036 sensitiviness of a volume. All users updated.
11037 (dnode_get_fullpath): New parameter case_insensitive.
11038 All users updated.
11039 (grub_zfs_dir): Set info.case_insensitiveness.
11040
95f2e860
VS
110412011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 Support second redundancy strip on raidz(2,3).
11044
11045 * grub-core/fs/zfs/zfs.c (powx): New array.
11046 (powx_inv): Likewise.
11047 (poly): New const.
11048 (xor_out): New function.
11049 (gf_mul): Likewise.
11050 (recovery): Likewise.
11051 (read_device): Use second redundancy strip.
11052
11ee4389
VS
110532011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 Use a power of generator representation of GF(256) multiplication group
11056 to save space time and complexity.
11057
11058 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
11059 (raid6_table2): Likewise.
11060 (powx): New array.
11061 (powx_inv): Likewise.
11062 (poly): New const.
11063 (grub_raid_block_mul): Replace with ...
11064 (grub_raid_block_mulx): ...this.
11065 (grub_raid6_init_table): Rewritten.
11066 (grub_raid6_recover): Use power of generator representation.
11067
09e2763f
VS
110682011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
11071 for the right device.
11072
8bec9a28
VS
110732011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11074
11075 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
11076 expected by grub-mkimage and it's more clear since there is no implicit
11077 padding.
11078
dbd3a32e
VS
110792011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
11082 disk.
11083 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11084
182c872a
PMH
110852011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
11086
11087 * util/grub-mkrescue.in: Fix handling xorriso option.
11088
1e51cabd
VS
110892011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11090
11091 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
11092 NULL.
11093
9cc3581d 110942011-11-03 crocket <crockabiscuit@gmail.com>
11095
11096 * util/grub.d/10_linux.in: Add Slackware initrd naming.
11097
158dc1ea
VS
110982011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11099
11100 XZ CRC64 and SHA256 support.
11101
11102 * Makefile.util.def (libgrubmods): Add crc64.c.
11103 * grub-core/Makefile.core.def (crc64): New module.
11104 * grub-core/lib/crc64.c: New file.
11105 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
11106 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
11107 Fix the type.
11108 (MAX_HASH_SIZE): New define.
11109 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
11110 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
11111 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11112 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11113 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
11114 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
11115 Handle non-crc32 hashes.
11116 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
11117 (dec_stream_header): Handle non-crc32 hashes.
11118 (dec_stream_footer): Likewise.
11119 (dec_block_header): Likewise.
11120 (dec_main): Likewise.
11121 (xz_dec_init): Likewise.
11122 (xz_dec_reset): Likewise.
11123 (xz_dec_end): Likewise.
11124 * util/import_gcry.py: Add CRC64 line.
11125
9d9b3d2f
VS
111262011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
11129 as well.
11130
7d0ac931
VS
111312011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 Make reiserfs label retrieval similar to other *_label functions.
11134
11135 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
11136 (REISERFS_MAX_LABEL_LENGTH): Removed.
11137 (REISERFS_LABEL_OFFSET): Likewise.
11138 (grub_reiserfs_label): Rewritten.
11139
111402011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11141
11142 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
11143 field.
11144
cf5ba824
VS
111452011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
11148
17744004
VS
111492011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11150
11151 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
11152 drive failure on both raidz and raidz2.
11153
aca5aefc
VS
111542011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11155
11156 Fix RAIDZ(2) for >= 5 devices.
11157
11158 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
11159 asize argument. All users updated.
11160
ce8ca56e
VS
111612011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11162
11163 Fix RAIDZ(2).
11164
11165 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
11166 (fill_vdev_info_real): Set ashift.
11167 (read_device): Rewrite RAIDZ part based on reverse engineering.
11168
7c01e783
VS
111692011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
11172 don't report potentially unavialiable fields in debug output.
11173 (find_path): Fix double-free and memory leak.
11174
ce109e84
VS
111752011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11176
11177 Read label on UFS1.
11178
11179 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
11180 (grub_ufs_fs): Always set .label.
11181
87661123
VS
111822011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11183
11184 Use shifts in UFS.
11185
11186 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
11187 (grub_ufs_data): New field log2_blksz.
11188 (grub_ufs_read_file): Use shifts.
11189 (grub_ufs_mount): Check block size and logarithm it.
11190
46bc1dc2
VS
111912011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11192
11193 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
11194 long symlinks.
11195
19ee2987
VS
111962011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 Handle symlinks and long names on tar and cpio.
11199
11200 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
11201 (ATTR_FILE): Likewise.
11202 (ATTR_DIR): Likewise.
11203 (ATTR_LNK): Likewise.
11204 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
11205 (grub_cpio_find_file): Fill mode, handle linkname field as well as
11206 L and K entries.
11207 (grub_cpio_mount): Zero-fill data.
11208 (handle_symlink): New function.
46bc1dc2
VS
11209 (grub_cpio_dir): Handle symlinks.
11210 (grub_cpio_open): Likewise.
11211 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 11212
c83a08d8
VS
112132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11214
11215 Fix iso9660 filename limitations and fix memory leaks.
11216
11217 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
11218 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
11219
45cdd3ea
VS
112202011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 Fix JFS file name length limitations.
11223
11224 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
11225 (grub_jfs_diropen): Fix maximum filename length.
11226 (grub_jfs_getent): Fix filename length.
11227 (grub_jfs_lookup_symlink): Fix size checks.
11228
94ef05c2
VS
112292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
11232 string.
11233
785ab8c7
VS
112342011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11235
eb0b6b45
VS
11236 Leverage BFS implementation to read AFS.
11237
11238 * Makefile.util.def (libgrubmods): Add afs.c.
11239 * grub-core/Makefile.core.def (afs): New module
11240 * grub-core/fs/afs.c: New file.
11241 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
11242
112432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11244
11245 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 11246
c4a1628f
VS
112472011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11248
11249 * grub-core/fs/bfs.c: Run indent.
11250
5825b379
VS
112512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 BFS implementation based on the specification.
11254
11255 * grub-core/fs/bfs.c: New file.
11256 * Makefile.util.def (libgrubmods): Add bfs.c.
11257 * grub-core/Makefile.core.def (bfs): New module.
11258
42b2a706
VS
112592011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11260
11261 * util/grub-fstest.c (cmd_cp): Clarify error message.
11262 (cmd_cmp): Likewise.
11263
61b99bfc
YB
112642011-10-30 Yves Blusseau <blusseau@zetam.org>
11265
11266 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
11267 and befs_be.
11268
faba3d16
VS
112692011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 Remove afs and befs because of copyright problem.
11272
11273 * grub-core/fs/afs.c: Removed.
11274 * grub-core/fs/afs_be.c: Removed.
11275 * grub-core/fs/befs.c: Removed.
11276 * grub-core/fs/befs_be.c: Removed.
11277 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
11278 * grub-core/Makefile.core.def (afs): Removed.
11279 (afs_be): Likewise.
11280 (befs): Likewise.
11281 (befs_be): Likewise.
11282
c39224b0
VS
112832011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 Prefer rockridge over Joliet.
11286
11287 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
11288 to ...
11289 (set_rockridge): ... here.
11290 (grub_iso9660_mount): Check rockridge on the primary label when
11291 discovering. Ignore Joliet if Rockridge is present.
11292
e551115a
VS
112932011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 Use shifts in nilfs2.
11296
11297 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
11298 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
11299 (grub_nilfs2_palloc_entries_per_group): Replace with ...
11300 (grub_nilfs2_log_palloc_entries_per_group): ... this.
11301 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
11302 (grub_nilfs2_entries_per_block): Replaced with ...
11303 (grub_nilfs2_log_entries_per_block_log): ... this.
11304 (grub_nilfs2_blocks_per_group): Replaced with ...
11305 (grub_nilfs2_blocks_per_group_log): ... this.
11306 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
11307 (grub_nilfs2_blocks_per_desc_block_log): ... this.
11308 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
11309 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
11310 (grub_nilfs2_palloc_entry_offset): Replaced ...
11311 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
11312 (grub_nilfs2_dat_translate): Use shifts.
11313 (grub_nilfs2_read_inode): Likewise.
11314 (GRUB_MOD_INIT): Ensure that logs are correct.
11315
564dd58c
VS
113162011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 Use shifts in minix filesystem.
11319
11320 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
11321 (GRUB_MINIX_ZONE2SECT): Likewise.
11322 (grub_minix_data): Replace block_size with log_block_size.
11323 (grub_minix_read_file): Use shifts.
11324 (grub_minix_mount): Check block size and take a logarithm.
11325
ed9ba06d
VS
113262011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11327
11328 Use shifts in squash4.
11329
11330 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
11331 (squash_mount): Check block size and take logarithm.
11332 (direct_read): Use shifts.
11333
ad03fe76
VS
113342011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11335
11336 Correct befs block counting logic.
11337
11338 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
11339 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
11340 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
11341 (grub_afs_read_inode): Use block_shift.
11342 (RANGE_SHIFT): New definition.
11343 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
11344 unexpected conditions, use shifts and appropriate types.
11345 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
11346
6563f63d
VS
113472011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 * grub-core/disk/raid.c (scan_devices): Check partition.
11350 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11351
5b1ae25f
VS
113522011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 Support BFS (befs) UUID.
11355
11356 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
11357 (grub_afs_small_data_element_header): New struct.
11358 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
11359 (grub_afs_read_attribute) [MODE_BFS]: New function.
11360 (grub_afs_iterate_dir): Allocate for complete inode.
11361 (grub_afs_mount): Likewise.
11362 (grub_afs_uuid) [MODE_BFS]: New function.
11363 (grub_afs_fs) [MODE_BFS]: Add .uuid.
11364
f8d82408
VS
113652011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
11366
11367 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
11368 (zfs_unmount): Fix memory leak.
11369
5773fb64
VS
113702011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 Support NTFS reparse points.
11373
11374 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
11375 (symlink_descriptor): New struct.
11376 (grub_ntfs_read_symlink): New function.
11377 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
11378 (grub_ntfs_open): Likewise.
11379
91c3fdde
VS
113802011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11381
11382 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
11383
3be82e10
VS
113842011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11385
11386 fstest xnu_uuid subcommand.
11387
11388 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
11389 grub-core/commands/xnu_uuid.c.
11390 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
11391 (fstest): Handle xnu_uuid.
11392 (options): Document xnu_uuid.
11393 (argp_parser): Parse xnu_uuid.
11394
8e32442e
VS
113952011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11396
11397 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
11398 -l argument. Add newline at the end if printing.
11399 (GRUB_MOD_INIT): Document -l.
11400
52a05075
VS
114012011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11402
11403 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
11404
1869edb5
VS
114052011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11406
11407 ZFS multi-device and version 33 support.
11408
11409 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
11410 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
11411 (grub_zfs_data): Add multidev-ice-related fields.
11412 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
11413 (dva_get_offset): Make dva const.
11414 (zfs_fetch_nvlist): New function.
11415 (fill_vdev_info_real): Likewise.
11416 (fill_vdev_info): Likewise.
11417 (check_pool_label): Likewise.
11418 (scan_disk): Likewise.
11419 (scan_devices): Likewise.
11420 (read_device): Likewise.
11421 (read_dva): Likewise.
11422 (zio_read_gang): Use read_dva.
11423 (zio_read_data): Likewise.
11424 (zap_leaf_lookup): Add missing endian conversion.
11425 (zap_verify): Add missing endian conversion. All users updated.
11426 (fzap_lookup): Likewise.
11427 (fzap_iterate): Likewise.
11428 (dnode_get_path): Handle SA bonus.
11429 (nvlist_find_value): Make input const. All users updated.
11430 (unmount_device): New function.
11431 (zfs_unmount): Use unmount_device.
11432 (zfs_mount): Use scan_disk.
11433 (zfs_mtime): New function.
11434 (grub_zfs_open): Handle system attributes.
11435 (fill_fs_info): Likewise.
11436 (grub_zfs_dir): Likewise.
11437 (grub_zfs_fs): Add mtime.
11438 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
11439 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
11440 (SA_MTIME_OFFSET): Likewise.
11441 (SA_SYMLINK_OFFSET): Likewise.
11442 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
11443 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
11444 (fstest): Support zfsinfo.
11445 (argp_parser): Likewise.
11446
186b4028
VS
114472011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
11450 error.
11451
114522011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
11453
11454 ZFS fixes.
11455
11456 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
11457 sharing the same block. Iterate over correct number of indices.
11458 (dnode_get_path): Handle symlinks correctly.
11459
c0584900
VS
114602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11461
11462 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
11463
67e2bd71
VS
114642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11465
11466 Read label on HFS+.
11467
11468 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
11469 (grub_hfsplus_btree_search): Fix types.
11470 (grub_hfsplus_label): Implement.
11471
e9cc6b7b
VS
114722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11473
11474 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
11475
19832ddb
VS
114762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
11479
66b40850
VS
114802011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 Fix symlink handling on iso9660.
11483
11484 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
11485 All users updated.
11486 (grub_iso9660_susp_iterate): Accept zero-size iterate.
11487 (grub_iso9660_read_symlink): Moved most of code ...
11488 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
11489
db821363
VS
114902011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
11493 Use union to avoid breaking strict-aliasing rules.
11494
e1211949
VS
114952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11496
11497 Support multi-extent iso files.
11498
11499 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
11500 Add node.
11501 (grub_fshelp_node): Revamp. All users updated.
11502 (FLAG_*): New enum.
11503 (read_node): New function.
11504 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
11505 All users updated.
11506 (grub_iso9660_mount): Don't attempt to read sua when there is none.
11507 (get_node_size): New function.
11508 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
11509 entries.
11510 Fix memory leak on . and ..
11511 (grub_iso9660_read): Use read_node.
11512 (grub_iso9660_close): Free node.
11513
d4888031
VS
115142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 Fix tar 4G limit and handle paths containing dot.
11517
11518 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
11519 (canonicalize): New function.
11520 (grub_cpio_find_file): Use canonicalize. Store offs in
11521 grub_disk_addr_t.
11522 (grub_cpio_dir): Use grub_disk_addr_t.
11523 (grub_cpio_open): Likewise.
11524
9f12e664
VS
115252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 Fix handling of uncompressed blocks on squashfs and break 4G limit.
11528
11529 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
11530 unused flags.
11531 (grub_squash_inode): Add long_file and block_size.
11532 (grub_squash_cache_inode): New struct.
11533 (grub_squash_dirent): Make types into enum.
11534 (SQUASH_TYPE_LONG_REGULAR): New type.
11535 (grub_squash_frag_desc): Add field size.
11536 (SQUASH_BLOCK_FLAGS): New enum.
11537 (grub_squash_data): Use grub_squash_cache_inode.
11538 (grub_fshelp_node): Make ino_chunk 64-bit.
11539 (read_chunk): Minor argument change. All users updated.
11540 (squash_mount): Use correct le_to_cpu.
11541 (grub_squash_open): Handle LONG_REGULAR.
11542 (direct_read): New function.
11543 (grub_squash_read_data): Handle blocks correctly.
11544
9f326fba
VS
115452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
11548
f4d9b64b
VS
115492011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11550
11551 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
11552
5bbd28b8
VS
115532011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11554
11555 Fix 2G limit on ZFS.
11556
11557 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
11558 types.
11559 (uberblock_verify): Likewise.
11560 (dmu_read): Likewise.
11561 (grub_zfs_read): Likewise. Remove invalid cast.
11562
68c72069
VS
115632011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11564
11565 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
11566 (grub_jfs_blkno): Fix incorrect shift.
11567 (grub_jfs_read_file): Use more appropriate types.
11568
6e536dc8
VS
115692011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 Support triple indirect on minix2 and minix3.
11572
11573 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
11574 Declare triple_indir_zone.
11575 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
11576 indirect.
11577
e0864e7a
VS
115782011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 Minix FS fixes.
11581
11582 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
11583 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
11584 Rename ctime to mtime. All users updated.
11585 (grub_minix_get_file_block): Fix types and double indirect computations.
11586
89481cab
VS
115872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
11590 if no label is found.
11591 (grub_fat_iterate_dir): Fix file size type.
11592 (grub_fat_iterate_dir): Likewise.
11593
f646e143
VS
115942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
11597 save some space.
11598 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
11599 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11600
534d769e
VS
116012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11602
11603 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
11604
e084ba18
VS
116052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11606
11607 * util/import_gcry.py: Accept space between # and include.
11608
3471ecdf
VS
116092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
11612
124df5f6
VS
116132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 Fine grainely disable warnings on lexer. Remove Wno-error on it.
11616
11617 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
11618 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
11619 yylex_strncpy.
11620 * grub-core/script/yylex.l: Add fine-grained #pragma.
11621
4defb8d5
VS
116222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11623
11624 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
11625 New inline function.
11626 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
11627 Likewise.
11628 (memset) [GRUB_UTIL]: Likewise.
11629 (memcmp) [GRUB_UTIL]: Likewise.
11630
4e94ae65
VS
116312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
11634 inline function rather than a define.
11635
18c575e5
VS
116362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11637
11638 * util/grub-setup.c: Add missing include.
11639
f8bc22a8
VS
116402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 * util/ieee1275/grub-ofpathname.c: Add missing include.
11643
3ce69fc9
VS
116442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11645
11646 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
11647 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
11648 Likewise.
11649
d1e293bb
VS
116502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11651
11652 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
11653 grub_memcmp usage.
11654
7a5c54a4
VS
116552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11656
11657 * util/grub-install.in: Add datarootdir as per automake manual
11658 suggestion.
11659 * util/grub-mknetdir.in: Likewise.
11660
116612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
11662
11663 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
11664 suggestion.
11665 * util/grub.d/10_kfreebsd.in: Likewise.
11666 * util/grub.d/10_linux.in: Likewise.
11667 * util/grub.d/10_netbsd.in: Likewise.
11668 * util/grub.d/10_windows.in: Likewise.
11669 * util/grub.d/20_linux_xen.in: Likewise.
11670
766f7d08
VS
116712011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 Remove redundant grub_kernel_image_size.
11674
11675 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
11676 _edata and _start.
11677 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
11678 the small code. It moves it only by few bytes but simplifies the code.
11679 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
11680 _start.
11681 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
11682 (grub_kernel_image_size): Removed.
11683 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
11684 (grub_kernel_image_size): Removed.
11685 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
11686 compiled with Apple toolchain.
11687 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
11688 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
11689 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
11690 (grub_total_module_size): Likewise.
11691 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
11692 Removed.
11693 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
11694 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
11695 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11696 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
11697 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
11698 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
11699 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
11700 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
11701 Removed.
11702 (grub_total_module_size): Removed.
11703 * util/grub-mkimage.c (image_target_desc): Remove image_size.
11704 (image_targets): Likewise.
11705 Set .compressed_size to no field on sparc.
11706 (generate_image): Remove kernel_image_size handling.
11707
fcf1d672
SJ
117082011-10-19 Szymon Janc <szymon@janc.net.pl>
11709
11710 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
11711 NULL pointer dereference.
11712
de9c615e
VS
117132011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11714
11715 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
11716 done with a dedicated section.
11717
11718 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
11719 Ensure the correct position of boot_path.
11720 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
11721 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
11722 other fields.
11723 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
11724 * include/grub/boot.h: Removed. All references removed.
11725 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
11726 Removed.
11727 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
11728
e55599dc
VS
117292011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
11732 name.
11733
36dd20ad
VS
117342011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11735
11736 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
11737
f8f72eb8
VS
117382011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11739
11740 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11741 Don't add the bogus brackets.
11742
a374751b
VS
117432011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11744
11745 ExFAT support.
11746
11747 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
11748 * grub-core/Makefile.core.def (exfat): New module.
11749 * grub-core/fs/exfat.c: New file.
11750 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
11751 (GRUB_FAT_ATTR_*): Make into an enum.
11752 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
11753 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
11754 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
11755 (GRUB_FAT_MAXFILE): Removed.
11756 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
11757 (grub_current_fat_bpb_t): New type.
11758 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
11759 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
11760 (grub_fat_dir_node_t): New type.
11761 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
11762 (fat_log2) [MODE_EXFAT]: Removed.
11763 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
11764 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
11765 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
11766 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
11767 (grub_fat_label) [MODE_EXFAT]: New function.
11768 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
11769 reserved_first_sector to 0.
11770
544c2487
VS
117712011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11772
11773 Move grub_reboot out of the kernel.
11774
11775 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
11776 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
11777 * grub-core/lib/efi/reboot.c: ... here.
11778 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
11779 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
11780 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
11781 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
11782 * grub-core/lib/i386/reboot_trampoline.S: ... here.
11783 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
11784 * grub-core/lib/ieee1275/reboot.c: ... here.
11785 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
11786 * grub-core/lib/mips/arc/reboot.c: ... here.
11787 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
11788 * grub-core/lib/mips/loongson/reboot.c: ...here.
11789 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
11790 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
11791 * include/grub/emu/misc.h (grub_reboot): New function declaration.
11792 * include/grub/i386/reboot.h: New file.
11793 * include/grub/mips/loongson/ec.h: Fix includes.
11794 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
11795 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
11796 * grub-core/lib/i386/reboot.c: New file.
11797
a97501d2
VS
117982011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
11799
11800 Make grub_prefix into module to fix the arbitrary limit and save
11801 some space.
11802
11803 * grub-core/kern/emu/main.c (grub_prefix): Removed.
11804 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
11805 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
11806 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
11807 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
11808 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
11809 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
11810 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
11811 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11812 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
11813 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
11814 * include/grub/ia64/efi/kernel.h: Removed.
11815 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
11816 (grub_prefix): Removed.
11817 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
11818 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
11819 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
11820 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
11821 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
11822 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
11823 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
11824 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
11825 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
11826 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
11827 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11828 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11829 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11830 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11831 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
11832 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
11833 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
11834 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11835 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
11836 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
11837 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
11838 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
11839 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
11840 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
11841 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
11842 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
11843 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
11844 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
11845 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
11846 from module.
11847 * util/grub-mkimage.c (image_target_desc): Removed prefix and
11848 prefix_end.
11849 (image_targets): Likewise.
11850 (generate_image): Put prefix as a module.
11851
39705fad
VS
118522011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11853
11854 Replace grub_module_iterate with FOR_MODULES.
11855
11856 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
11857 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
11858 (grub_efi_modules_addr): ...this.
11859 * grub-core/kern/efi/init.c (grub_modbase): New variable.
11860 (grub_efi_init): Set grub_modbase.
11861 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
11862 (grub_modbase): New variable.
11863 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
11864 (grub_modbase): New variable.
11865 (grub_machine_init): Set grub_modbase.
11866 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
11867 (grub_modbase): New variable.
11868 (grub_machine_init): Set grub_modbase.
11869 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
11870 (grub_modbase): New variable.
11871 (grub_machine_init): Set grub_modbase.
11872 * grub-core/kern/main.c (grub_module_iterate): Remove.
11873 (grub_modules_get_end): Use grub_modbase.
11874 (grub_load_modules): Use FOR_MODULES.
11875 (grub_load_config): Likewise.
11876 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
11877 (grub_modbase): New variable.
11878 (grub_machine_init): Set grub_modbase.
11879 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
11880 (grub_modbase): New variable.
11881 (grub_machine_init): Set grub_modbase.
11882 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
11883 Removed.
11884 (grub_modbase): New variable.
11885 (grub_machine_init): Set grub_modbase.
11886 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
11887 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
11888 (grub_module_iterate): Likewise.
11889 (grub_modbase): New variable declaration.
11890 (FOR_MODULES): New macro.
11891
2afb7f6c
VS
118922011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 * configure.ac: Check for __ctzdi2 and __ctzsi2.
11895 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
11896
366e34fa
VS
118972011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11898
11899 Fix few obvious type discrepancies.
11900
11901 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
11902 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
11903 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
11904 variable.
11905 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
11906 and connected types.
11907 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
11908 offset.
11909 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
11910 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
11911 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
11912 and connected types.
11913
177b960e
VS
119142011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 Fix python 3.x incompatibilities.
11917
11918 * gentpl.py: Put brackets around print strings.
11919 * util/import_gcry.py: Open explicitly as utf-8.
11920 Use in instead of has_key.
11921
3b619ae1
VS
119222011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11923
11924 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
11925 (GRUB_XFS_INO_AGBITS): Make into inline function.
11926 (GRUB_XFS_INO_INOINAG): Likewise.
11927 (GRUB_XFS_INO_AG): Likewise.
11928 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
11929 (GRUB_XFS_EXTENT_OFFSET): Likewise.
11930 (GRUB_XFS_EXTENT_BLOCK): Likewise.
11931 (GRUB_XFS_EXTENT_SIZE): Likewise.
11932 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
11933 (GRUB_XFS_NEXT_DIRENT): Likewise.
11934 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
11935 (grub_xfs_read_file): Fix offset type.
11936
8bcebcb8
RM
119372011-10-15 Robert Millan <rmh@gnu.org>
11938
11939 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
11940
0017e5ef
RM
119412011-10-15 Robert Millan <rmh@gnu.org>
11942
11943 Fix build problem on FreeBSD and GNU/kFreeBSD.
11944
11945 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
11946
d8919552
VS
119472011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
11950
11951 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
11952 types.
11953 (grub_hfsplus_btree_recoffset): Likewise.
11954 (grub_hfsplus_btree_recptr): Likewise.
11955 (grub_hfsplus_find_block): Likewise.
11956 (grub_hfsplus_btree_search): Likewise.
11957 (grub_hfsplus_read_block): Likewise.
11958 (grub_hfsplus_read_file): Likewise.
11959 (grub_hfsplus_mount): Likewise.
11960 (grub_hfsplus_btree_iterate_node): Likewise.
11961 (grub_hfsplus_btree_search): Likewise.
11962 (grub_hfsplus_iterate_dir): Likewise.
11963 (grub_hfsplus_read): A small code simplification.
11964
c81296b6
VS
119652011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 * grub-core/kern/emu/hostdisk.c
11968 (convert_system_partition_to_system_disk): Don't assume that children
11969 of mapper nodes are mapper nodes.
11970
0eb8ffb1
VS
119712011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11972
11973 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
11974 * include/grub/misc.h (grub_isxdigit): New function.
11975 * grub-core/video/colors.c (my_isxdigit): Removed. All users
11976 switched to grub_isxdigit.
11977 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
11978 number starting with a letter.
11979
a98f4a08
RM
119802011-10-09 Robert Millan <rmh@gnu.org>
11981
11982 LVM support for FreeBSD and GNU/kFreeBSD.
11983
11984 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
11985 GNU/kFreeBSD.
11986 (LVM_DEV_MAPPER_STRING): Move from here ...
11987 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
11988 * util/getroot.c: Include `<grub/util/lvm.h>'.
11989 (grub_util_get_dev_abstraction): Enable
11990 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
11991 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
11992 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
11993 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
11994 support it.
11995 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
11996 GNU/kFreeBSD.
11997 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
11998 when LVM abstraction is required for ${GRUB_DEVICE}.
11999
050e8e90
SJ
120002011-10-06 Szymon Janc <szymon@janc.net.pl>
12001
12002 Add support for LZO compression in GRUB:
12003 - import of minilzo library,
12004 - LZO decompression for btrfs,
12005 - lzop files decompression.
12006
12007 * grub-core/io/lzopio.c: New file.
12008 * grub-core/lib/adler32.c: Likewise.
12009 * grub-core/lib/minilzo/lzoconf.h: Likewise.
12010 * grub-core/lib/minilzo/lzodefs.h: Likewise.
12011 * grub-core/lib/minilzo/minilzo.c: Likewise.
12012 * grub-core/lib/minilzo/minilzo.h: Likewise.
12013 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
12014 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
12015 grub-core/lib/minilzo/minilzo.c to common.
12016 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
12017 cflags in cppflags.
12018 * grub-core/Makefile.core.def (btrfs): Likewise.
12019 * grub-core/Makefile.core.def (lzopio): New module.
12020 (adler32): Likewise.
12021 * grub-core/fs/btrfs.c: Include minilzo.h.
12022 (GRUB_BTRFS_COMPRESSION_LZO): New define.
12023 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
12024 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
12025 (grub_btrfs_lzo_decompress): New function.
12026 (grub_btrfs_extent_read): Add support for LZO compression type.
12027 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
12028 (GRUB_USHRT_MAX): Likewise.
12029 (GRUB_UINT_MAX): Likewise.
12030 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
12031 (UINT_MAX): Likewise.
12032 (CHAR_BIT): Likewise.
12033 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
12034 grub-core/lib/posix_wrap/limits.h
12035 (UCHAR_MAX): Likewise.
12036 * include/grub/file.h (grub_file_filter_id): New compression filter
12037 GRUB_FILE_FILTER_LZOPIO.
12038 * include/grub/file.h (grub_file_filter_id): Set
12039 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
12040 * include/grub/types.h (grub_get_unaligned16): New function.
12041 (grub_get_unaligned32): Likewise.
12042 (grub_get_unaligned64): Likewise.
12043 * util/import_gcry.py (cryptolist): Add adler32.
12044
0eb8ffb1
VS
120452011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
12046
12047 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
12048 in perspective decreases the complexity of build system and fixes
12049 compilation right now.
12050
ce79cc99 120512011-10-01 Ales Nesrsta <starous@volny.cz>
12052
12053 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
12054 (fixed problem related to using UHCI with coreboot).
12055
8667a314
BC
120562011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12057
12058 * gentpl.py: Use Autogen macros so that the output template file
12059 (Makefile.tpl) size is reduced.
12060
fc5efcc0
MK
120612011-09-29 Mads Kiilerich <mads@kiilerich.com>
12062
12063 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
12064 extra_dist.
12065
d1ab689d
ML
120662011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12067
12068 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
12069 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
12070
c05de032
ML
120712011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12072
12073 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
12074 _fullpath.
12075
cca7ccd8
ML
120762011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12077
12078 Remove extra declaration of sleep for mingw32.
12079
12080 * util/misc.c (sleep) [__MINGW32__]: Removed.
12081 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
12082
e0b0dc83
GS
120832011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
12084
12085 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
12086 type and packname.
12087 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
12088 Resurrected.
12089 (NETBSD_BTINFO_BOOTWEDGE): New definition.
12090 (grub_netbsd_btinfo_bootwedge): New struct.
12091 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12092 New function.
12093 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
12094
91a1a164
TH
120952011-09-28 Thomas Haller <thomas.haller@fen-net.de>
12096
12097 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
12098 loader.
12099
2ded951e
AB
121002011-09-28 Andreas Born <futur.andy@googlemail.com>
12101
12102 Fix incorrect identifiers in bash-completion.
12103
12104 * util/bash-completion.d/grub-completion.bash.in
12105 (_grub_mkpasswd-pbkdf2): Rename to ...
12106 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
12107 (_grub_script-check): Rename to ...
12108 (_grub_script_check): ... this. All users updated.
12109
69915030
VS
121102011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
12111
12112 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12113 Return 0 if disk isn't biosdisk.
12114
20fd15f9
GS
121152011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12116
12117 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
12118 on NetBSD.
12119 * Makefile.util.def (grub-fstest): Likewise.
12120
1a7d7db9
GS
121212011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12122
12123 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
12124 Get sector size from disk label.
12125
2221ab6c
CW
121262011-09-05 Colin Watson <cjwatson@ubuntu.com>
12127
12128 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
12129 */README* as well as README*.
12130 Reported by: Axel Beckert.
12131
ca51c4a0
VS
121322011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12133
12134 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
12135 case of less than 256 MiB of RAM.
12136
ab80f326
VS
121372011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12138
12139 * grub-core/commands/wildcard.c (make_regex): Handle @.
12140
4155e697
VS
121412011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12142
12143 * util/grub-install.in: Move cryptodisk logic to appropriate place.
12144
ab178c08
SJ
121452011-08-21 Szymon Janc <szymon@janc.net.pl>
12146
12147 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
12148 AC_LANG_CONFTEST macros.
12149
7dc3c686
SJ
121502011-08-20 Szymon Janc <szymon@janc.net.pl>
12151
12152 Add grub-fstest option to uncompress data for commands.
12153
12154 * util/grub-fstest.c (uncompress): New var.
12155 (options): New option -u.
12156
fe8d4a7b
SJ
121572011-08-20 Szymon Janc <szymon@janc.net.pl>
12158
12159 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
12160 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
12161
a5219af1
SJ
121622011-08-20 Szymon Janc <szymon@janc.net.pl>
12163
12164 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
12165 file type was not recognized correctly (not gzip or corrupted).
12166
f87abff5
VS
121672011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12168
12169 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
12170 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
12171
d94497ea
VS
121722011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12173
12174 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
12175 loongson.
12176 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12177 video_radeon_fuloong2e.
12178 * grub-core/video/radeon_fuloong2e.c: New file.
12179 * include/grub/video.h (grub_video_id_t): Add new ID
12180 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
12181
0d1fd011
VS
121822011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12183
12184 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
12185 define.
12186 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
12187 that PRID matches the detected subplatform and reset the subplatform
12188 if it doesn't.
12189
84beb0ee
VS
121902011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
12193
1227c133
VS
121942011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 Fix PCI iterating on functions >= 4.
12197
12198 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
12199 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
12200 Removed.
12201 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
12202 (grub_pci_read): Fix bitmask.
12203 (grub_pci_read_word): Likewise.
12204 (grub_pci_read_byte): Likewise.
12205 (grub_pci_write): Likewise.
12206 (grub_pci_write_word): Likewise.
12207 (grub_pci_write_byte): Likewise.
12208
9594c689
VS
122092011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
12212 can still be specified in TARGET_CFLAGS)
12213
14a2562c
VS
122142011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
12217
12218 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
12219 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
12220 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
12221 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
12222 (FULOONG): Rename to ...
12223 (FULOONG2F): ... this. All users updated.
12224 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
12225 (machtype_fuloong2f_str): ... this.
12226 (machtype_fuloong2e_str): New string.
12227 Check for machtype_fuloong2e_str.
12228 * grub-core/loader/mips/linux.c (loongson_machtypes)
12229 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
12230 * grub-core/term/serial.c (loongson_defserial)
12231 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
12232 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
12233 loongson_defserial.
12234 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
12235 Rename to ...
12236 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
12237 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
12238 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
12239 to IMAGE_FULOONG2F_FLASH. All users updated.
12240 (image_targets): Rename images.
12241 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
12242
b526cbb6
SJ
122432011-08-19 Szymon Janc <szymon@janc.net.pl>
12244
12245 Make enable of disk cache statistics code configurable.
12246
12247 * configure.ac: --enable-cache-stats added.
12248 * config.h.in (DISK_CACHE_STATS): New define.
12249 * grub-core/Makefile.core.def (cacheinfo): New command.
12250 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
12251 * grub-core/commands/cacheinfo.c: New file.
12252 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
12253 moved to cacheinfo.c.
12254 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
12255 debug code.
12256 * include/grub/disk.h: Likewise.
12257
fb739ccd
SJ
122582011-08-19 Szymon Janc <szymon@janc.net.pl>
12259
12260 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
12261 * grub-core/Makefile.am: Likewise.
12262
2bba8cfd
VS
122632011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12264
12265 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
12266 non-zero pull.
12267
43526629
VS
122682011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
12271 All users updated.
12272 (grub_jfs_lookup_symlink): Use correct starting inode.
12273
5c144cc8
VS
122742011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 * util/grub-setup.c (main): Add missing gcry initialisation.
12277
b1257f65
VS
122782011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12279
12280 Don't accept text modes on EFI when booting Linux.
12281
12282 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
12283 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
12284
828bc390
ML
122852011-08-15 Mario Limonciello <mario_limonciello@dell.com>
122862011-08-15 Colin Watson <cjwatson@ubuntu.com>
12287
12288 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
12289 use of "/path/.." as in grub-install for EFI as well as handling
12290 symlinks correctly.
12291 Fixes Debian bug #637768.
12292
5f60ccac
CW
122932011-08-15 Colin Watson <cjwatson@ubuntu.com>
12294
12295 * util/grub-probe.c: Remove duplicate #include.
12296
6dc212f9
RM
122972011-08-10 Robert Millan <rmh@gnu.org>
12298
12299 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
12300
12301 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
12302 function.
12303 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
12304 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
12305
66816d85
RM
123062011-08-03 Robert Millan <rmh@gnu.org>
12307
12308 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
12309 la_array as packed.
12310 Reported by: Zachary Bedell
12311
20168fca
CW
123122011-07-26 Colin Watson <cjwatson@ubuntu.com>
12313
12314 * configure.ac: The Loongson port requires grub-mkfont due to its
12315 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
12316 be built.
12317
303b6246
CW
123182011-07-26 Colin Watson <cjwatson@ubuntu.com>
12319
12320 * util/grub-install.in: Don't source grub-mkconfig_lib until after
12321 processing arguments (otherwise help2man fails when GRUB has not yet
12322 been installed).
12323
6795300e
VS
123242011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12325
41aa28ea
VS
12326 New script grub-mkstandalone.
12327
12328 * Makefile.util.def (grub-mkstandalone): New script.
12329 * docs/man/grub-mkstandalone.h2m: New file.
12330 * util/grub-mkstandalone.in: Likewise.
12331
123322011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12333
12334 Support ATA disks with 4K sectors.
6795300e
VS
12335
12336 * include/grub/ata.h (grub_ata): New member log_sector_size.
12337 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
12338 (grub_ata_identify): Read sector size.
12339 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
12340
92227597
VS
123412011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12342
12343 * util/grub-install.in: Don't use uhci outside of x86.
12344
c77069f5
VS
123452011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12346
12347 * util/grub-mkrescue.in: Add missing quotes.
12348
123492011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
12350
12351 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
12352 dereference.
12353
583168a2
VS
123542011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
12357
6be1c01f
VS
123582011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * include/grub/video.h: add missing EXPORT_FUND on
12361 grub_video_edid_checksum and grub_video_edid_preferred_mode.
12362
a1167439
VS
123632011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12364
12365 * include/grub/mips/kernel.h: Fix define conflict.
12366
bf66054f
VS
123672011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12368
12369 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
12370 all four ways.
12371
8fc4fa45
CW
123722011-07-21 Colin Watson <cjwatson@ubuntu.com>
12373
12374 Preferred resolution detection for VBE.
12375
12376 * grub-core/video/video.c (grub_video_edid_checksum): New function.
12377 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
12378 the Flat Panel extension, in line with the X.org VESA driver.
12379 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
12380 New function.
12381 (grub_vbe_bios_get_ddc_capabilities): Likewise.
12382 (grub_vbe_bios_read_edid): Likewise.
12383 (grub_vbe_get_preferred_mode): Likewise.
12384 (grub_video_vbe_setup): When the mode is "auto", try to get the
12385 preferred mode from VBE, and use the largest mode that is no larger
12386 than the preferred mode (some BIOSes expose a preferred mode that is
12387 not in their mode list!). If this fails, fall back to 640x480 as a
12388 safe conservative choice.
12389 (grub_video_vbe_get_edid): New function.
12390 (grub_video_vbe_adapter): Add get_edid.
12391 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
12392 (struct grub_video_adapter): Add get_edid.
12393 (grub_video_edid_checksum): Add prototype.
12394 (grub_video_edid_preferred_mode): Likewise.
12395 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
12396 structure.
12397
12398 * grub-core/commands/videoinfo.c (print_edid): New function.
12399 (grub_cmd_videoinfo): Print EDID if available.
12400
12401 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
12402 is more appropriate on a wider range of platforms than 640x480.
12403 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
12404 documentation.
12405
ca5572a9
VS
124062011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12407
12408 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
12409
e4bcf625
VS
124102011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 * po/POTFILES.in: Regenerate.
12413
c4edd548
VS
124142011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
12417 incorrect memory usage.
12418
16a2bab0
VS
124192011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * util/grub-install.in: Source grub-mkconfig_lib.
12422
2e418de6
VS
124232011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 Remove getroot.c from core on emu platform.
12426
12427 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
12428 kern/emu/raid.c.
12429 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
12430 useless.
12431 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
12432 * util/getroot.c (get_win32_path): ... here.
12433 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
12434 * util/getroot.c (fini_libzfs): ... here.
12435 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
12436 * util/getroot.c (grub_get_libzfs_handle): ... here.
12437 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
12438 Moved from here...
12439 * util/getroot.c (grub_find_zpool_from_dir): ... here.
12440 * grub-core/kern/emu/misc.c
12441 (grub_make_system_path_relative_to_its_root): Moved from here...
12442 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
12443 * grub-core/kern/emu/getroot.c: Moved from here ...
12444 * util/getroot.c: ... here. All users updated.
12445 * grub-core/kern/emu/raid.c: Moved from here ...
12446 * util/raid.c: ... here. All users updated.
12447
def9832a
VS
124482011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
12449
12450 * po/POTFILES.in: Regenerate.
12451
cd8fe79a
VS
124522011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12453
12454 Fix compilation on GNU/Linux.
12455
12456 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
12457 Disable geli.
12458 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
12459 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
12460 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
12461
a251b719
VS
124622011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
124632011-07-07 Michael Gorven <michael@gorven.za.net>
124642011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
12465
12466 LUKS and GELI support.
12467
12468 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
12469 grub-core/disk/luks.c, grub-core/disk/geli.c,
12470 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
12471 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
12472 grub-core/lib/arg.c.
12473 (libgrubmods.a): Remove gcrypts cflags and cppflags.
12474 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
12475 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
12476 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
12477 (grub-bin2h): Add libgcry.a.
12478 (grub-mkimage): Likewise.
12479 (grub-mkrelpath): Likewise.
12480 (grub-script-check): Likewise.
12481 (grub-editenv): Likewise.
12482 (grub-mkpasswd-pbkdf2): Likewise.
12483 (grub-pe2elf): Likewise.
12484 (grub-fstest): Likewise.
12485 (grub-mkfont): Likewise.
12486 (grub-mkdevicemap): Likewise.
12487 (grub-probe): Likewise.
12488 (grub-ofpath): Likewise.
12489 (grub-mklayout): Likewise.
12490 (example_unit_test): Likewise.
12491 (grub-menulst2cfg): Likewise.
12492 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
12493 * grub-core/Makefile.core.def (cryptodisk): New module.
12494 (luks): Likewise.
12495 (geli): Likewise.
12496 * grub-core/disk/AFSplitter.c: New file.
12497 * grub-core/disk/cryptodisk.c: Likewise.
12498 * grub-core/disk/geli.c: Likewise.
12499 * grub-core/disk/luks.c: Likewise.
12500 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
12501 grub_util_is_lvm.
12502 (grub_util_get_dm_abstraction): New function.
12503 (grub_util_follow_gpart_up): Likewise.
12504 (grub_util_get_geom_abstraction): Likewise.
12505 (grub_util_get_dev_abstraction): Use new functions.
12506 (grub_util_pull_device): Pull GELI and LUKS.
12507 (grub_util_get_grub_dev): Handle LUKS and GELI.
12508 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
12509 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
12510 (follow_geom_up): Removed.
12511 (grub_util_fd_seek): New function.
12512 (open_device): Use grub_util_fd_seek.
12513 (nread): Rename to ..
12514 (grub_util_fd_read): ... this. All users updated.
12515 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
12516 (grub_crypto_cbc_decrypt): Likewise.
12517 (grub_crypto_hmac_write): Likewise.
12518 (grub_crypto_hmac_buffer): Likewise.
12519 (grub_password_get): Extend to util.
12520 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
12521 New member modname.
12522 (gcry_md_spec) [GRUB_UTIL]: Likewise.
12523 * include/grub/cryptodisk.h: New file.
12524 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
12525 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
12526 LUKS and GELI.
12527 (grub_util_follow_gpart_up): New proto.
12528 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
12529 (grub_util_fd_read): Likewise.
12530 (grub_cryptodisk_cheat_mount): Likewise.
12531 (grub_util_cryptodisk_print_uuid): Likewise.
12532 (grub_util_get_fd_sectors): Likewise.
12533 * util/grub-fstest.c (mount_crypt): New var.
12534 (fstest): Mount crypto if requested.
12535 (options): New option -C.
12536 (argp_parser): Parse -C.
12537 (main): Init and fini gcry.
12538 * util/grub-install.in: Support cryptodisk install.
12539 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
12540 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
12541 cryptodisk.
12542 (prepare_grub_to_access_device): Likewise.
12543 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
12544 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
12545 (probe_cryptodisk_uuid): New function.
12546 (probe_abstraction): Likewise.
12547 (probe): Use new functions.
12548 * util/import_gcry.py: Create Makefile.utilgcry.def.
12549 Add modname member.
12550
9bfdcbbc
VS
125512011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12552
12553 Lazy device scanning.
12554
12555 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
12556 (grub-setup): Remove util/raid.c.
12557 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
12558 * grub-core/disk/lvm.c (scan_depth): New variable.
12559 (grub_lvm_iterate): Rescan if necessary.
12560 (find_lv): New function based on grub_lvm_open.
12561 (grub_lvm_open): Use find_lv. Rescan on error.
12562 (is_node_readable): New function.
12563 (is_lv_readable): Likewise.
12564 (grub_lvm_scan_device): Skip already found disks.
12565 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
12566 Stop if searched device is found and readable.
12567 * grub-core/disk/raid.c (inscnt): New variable.
12568 (scan_depth): Likewise.
12569 (scan_devices): New function based on grub_raid_register. Abort if
12570 looked for device is found.
12571 (grub_raid_iterate): Rescan if needed.
12572 (find_array): NEw function based on -grub_raid_open.
12573 (grub_raid_open): Use find_array and rescan.
12574 (insert_array): Set became_readable_at.
12575 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
12576 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
12577 New function.
12578 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
12579 (grub_util_pull_device): New function.
12580 (grub_util_get_grub_dev): Call grub_util_pull_device.
12581 * util/raid.c: Moved to ..
12582 * grub-core/kern/emu/raid.c: ... here.
12583 (grub_util_raid_getmembers): New parameter "bootable".
12584 All users updated. Support 1.x.
12585 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
12586 All users updated.
12587 * include/grub/disk.h (grub_disk_pull_t): New enum.
12588 (grub_disk_dev): Change iterate prototype.
12589 All users updated.
12590 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
12591 New proto.
12592 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
12593 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
12594 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
12595 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
12596 All users updated.
12597 * include/grub/util/raid.h: Removed.
12598
1c358e59
VS
125992011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
12600
12601 * po/POTFILES.in: Regenerate.
12602
abee94ed
VS
126032011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
12604
12605 Unify sparc init with other ieee1275.
12606
12607 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
12608 instead of kern/sparc64/ieee1275/init.c.
12609 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
12610 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
12611 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
12612 grub/machine/kernel.h.
12613 (grub_ieee1275_original_stack) [__sparc__]: New variable.
12614 (grub_claim_heap) [__sparc__]: Use sparc version.
12615 (grub_machine_init): Moved args parsing to
12616 (grub_parse_cmdline): ...this.
12617 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
12618 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
12619 New definition.
12620 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
12621
12622 Move BOOTP to separate file.
12623
12624 * grub-core/Makefile.core.def (net): Add net/bootp.c.
12625 * grub-core/net/net.c: Move all BOOTP functions to
12626 * grub-core/net/bootp.c: ... here.
12627
12628 Use frame interface on PXE.
12629
12630 * grub-core/Makefile.core.def (pxecmd): Removed.
12631 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
12632 * grub-core/commands/i386/pc/pxecmd.c: Removed.
12633 * grub-core/i386/pc/pxe.c: Moved from here ...
12634 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
12635 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
12636 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
12637
12638 EFI network support.
12639
12640 * grub-core/Makefile.core.def (efinet): New module.
12641 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
12642 here...
12643 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
12644 All users updated.
12645 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
12646 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
12647 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
12648 * grub-core/net/drivers/efi/efinet.c: New file.
12649 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
12650 (grub_efi_net_config): New extern var.
12651
12652 Various cleanups and bugfixes.
12653
12654 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
12655 error.
12656 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
12657 disk declared as partition.
12658 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
12659 leak on failure.
12660 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
12661 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
12662 (grub_debug_zalloc): Likewise.
12663 (grub_debug_realloc): Likewise.
12664 (grub_debug_memalign): Likewise.
12665 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
12666 Check that target is IPv4.
12667 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
12668 local-mac-address as fallback.
12669 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
12670 memory leak.
12671 * grub-core/net/ip.c (ipchksum): Rename to ...
12672 (grub_net_ip_chksum): ... this. All users updated.
12673 (grub_net_recv_ip_packets): Special handling for DHCP.
12674 * util/grub-mkimage.c (generate_image): Zero-out aout header.
12675
12676 Unify prefix handling
12677
12678 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
12679 (grub_machine_get_bootlocation): ... this.
12680 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
12681 (grub_machine_get_bootlocation): ... this.
12682 (grub_prefix): New variable.
12683 (prefix): Removed.
12684 (root_dev): New variable.
12685 (dir): Likewise.
12686 (main): Use new variables.
12687 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
12688 Revamped into ...
12689 (grub_machine_get_bootlocation): ... this.
12690 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
12691 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
12692 (grub_machine_get_bootlocation): ... this.
12693 (grub_machine_set_prefix): Removed.
12694 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
12695 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
12696 Revamped into ...
12697 (grub_machine_get_bootlocation): ... this.
12698 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
12699 (grub_set_prefix_and_root): ... this. All users updated.
12700 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
12701 Revamped into ...
12702 (grub_machine_get_bootlocation): ... this.
12703 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
12704 (grub_machine_get_bootlocation): New proto.
12705 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
12706
12707 Less intrusive and more reliable seek on network implementation.
12708
12709 * grub-core/kern/file.c (grub_file_net_seek): Removed.
12710 (grub_file_seek): Don't call grub_file_net_seek.
12711 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
12712 (grub_net_fs_read_real): .. this.
12713 (grub_net_seek_real): Use net->offset.
12714 (grub_net_fs_read): Seek if necessary.
12715
12716 Unify IEEE1275 netwotk config with the other platforms.
12717
12718 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
12719 New variable.
12720 (grub_machine_get_bootlocation): Support network.
12721 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12722 Support type and device parsing.
12723 (grub_ieee1275_get_device_type): New function.
12724 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
12725 into ...
12726 (grub_ieee1275_net_config_real): ... this.
12727 (grub_ofnet_probecards): Removed.
12728 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
12729 * include/grub/ieee1275/ofnet.h: Removed.
12730 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
12731 extern var.
12732 (grub_ieee1275_get_device_type): New function.
12733
12734 Unify network device closing across platforms and make more robust.
12735
12736 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
12737 grub_grubnet_fini.
12738 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
12739 already.
12740 * grub-core/net/net.c (grub_net_network_level_interface_register):
12741 Update num_ifaces.
12742 (grub_net_card_unregister): Close all interfaces.
12743 (receive_packets): Don't poll if no iterfaces are registered.
12744 Open if necessary.
12745 (grub_net_fini_hw): New function.
12746 (grub_net_restore_hw): Likewise.
12747 (fini_hnd): New variable.
12748 (GRUB_MOD_INIT): Register preboot hook.
12749 (GRUB_MOD_FINI): Run and unregister preboot hook.
12750
12751 Poll network cards when idle.
12752
12753 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
12754 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
12755 * grub-core/net/net.c (receive_packets): Save last poll time.
12756 (grub_net_poll_cards_idle_real): New function.
12757 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
12758 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
12759 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
12760
12761 Rename ofnet interfaces.
12762
12763 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
12764 (grub_ofnet_findcards): Use ofnet_%s names.
12765
12766 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
12767
12768 Cleanup socket opening.
12769
12770 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
12771 (grub_net_fs_close): Likewise.
12772 (grub_net_fs_read_real): Use eof member.
12773 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
12774 (+grub_net_udp_close): New inline function.
12775
12776 * include/grub/net/tftp.h: Moved to the top of ...
12777 * grub-core/net/tftp.c: ... here.
12778 * include/grub/net/ip.h: Moved mostly to the top of ...
12779 * grub-core/net/ip.c: ... here.
12780 * include/grub/net/ethernet.h: Moved mostly to the top of ...
12781 * grub-core/net/ethernet.c: ... here.
12782
12783 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
12784
12785 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
12786 FS name.
12787
12788 * include/grub/net/ip.h (ipv4_ini): Removed.
12789 (ipv4_fini): Likewise.
12790
12791 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
12792 (grub_net_send_ip_packets): Likewise.
12793
cf1337aa
VS
127942011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12795
12796 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
12797 grub_read_cmos prototype.
12798
93c06ff9
VS
127992011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12800
12801 VGA text support in qemu-mips
12802
12803 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
12804 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
12805 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
12806 text.
12807 * grub-core/kern/i386/qemu/init.c: Renamed to ...
12808 * grub-core/kern/vga_init.c: ... this.
12809 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
12810 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
12811 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
12812 Adjust.
12813 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
12814 GRUB_MACHINE_PCI_IO_BASE.
12815
748ccabe
VS
128162011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12817
12818 MIPS qemu flash support.
12819
12820 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
12821 magic.
12822 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
12823 (grub_machine_init): Probe memory if its size isn't known.
12824 * util/grub-mkimage.c (image_targets): Add flash targets.
12825 (generate_image): Handle flash targets.
12826
d7345994
VS
128272011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12828
12829 MIPS qemu at_keyboard support.
12830
12831 * gentpl.py (videoinkernel): Add qemu-mips.
12832 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
12833 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
12834 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
12835 modules.
12836 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
12837 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
12838 * grub-core/term/serial.c (grub_serial_register)
12839 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
12840
a07a81b3
VS
128412011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 CMOS support on sparc.
12844
12845 * gentpl.py (cmos): Add powerpc and sparc.
12846 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
12847 powerpc and sparc.
12848 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
12849 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
12850 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
12851 grub_set_datetime_cmos.
12852 * grub-core/lib/ieee1275/cmos.c: New file.
12853 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
12854 (find_rtc): Set no_ieee1275_rtc on error.
12855 (grub_get_datetime): Call grub_get_datetime_cmos on error.
12856 (grub_set_datetime): Call grub_set_datetime_cmos on error.
12857 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
12858 fail. Move value to argument. All users updated
12859 (grub_cmos_write): Likewise.
12860 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
12861 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
12862 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
12863 grub_get_datetime_cmos and grub_set_datetime_cmos.
12864
77546584
GS
128652011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
12866
12867 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
12868 sourcing grub-mkconfig_lib.
12869 * util/update-grub_lib.in: Likewise.
12870 * util/grub.d/00_header.in: Likewise.
12871 * util/grub.d/10_hurd.in: Likewise.
12872 * util/grub.d/10_kfreebsd.in: Likewise.
12873 * util/grub.d/10_linux.in: Likewise.
12874 * util/grub.d/10_netbsd.in: Likewise.
12875 * util/grub.d/10_windows.in: Likewise.
12876 * util/grub.d/20_linux_xen.in: Likewise.
12877 * util/grub.d/30_os-prober.in: Likewise.
12878
54894791
CW
128792011-06-28 Colin Watson <cjwatson@ubuntu.com>
12880
12881 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
12882 default_bg_color rather than black.
12883 (grub_gfxterm_fullscreen): Likewise.
12884 (grub_gfxterm_background_color_cmd): Save new background color in
12885 default_bg_color.
12886
8d5d8444
VS
128872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12888
12889 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
12890
5afeb5bd
VS
128912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12892
12893 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
12894 mismerge.
12895
ba7df45e
VS
128962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12897
12898 Chainloading on coreboot support.
12899
12900 * grub-core/Makefile.core.def (chain): Add coreboot.
12901 * grub-core/loader/i386/coreboot/chainloader.c: New file.
12902
d0b526b2
VS
129032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12904
12905 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
12906 if it happens.
12907
5ff1d945
VS
129082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12909
12910 Implement time command.
12911
12912 * grub-core/Makefile.core.def (time): New module.
12913 * grub-core/commands/time.c: New file.
12914 * grub-core/script/parser.y: Remove "time" keyword.
12915 * grub-core/script/yylex.l: Likewise.
12916
5ebaad7e
VS
129172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12918
12919 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
12920
bdea3798
VS
129212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
12924 when handling leftovers.
12925
b28c5655
VS
129262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12927
12928 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
12929 so that help2man doesn't fail.
12930
b6f945dc
VS
129312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
12934 type in pointers on sparc64.
12935 (get_card_packet): Likewise.
12936
f9b75e8a
CW
129372011-06-27 Colin Watson <cjwatson@ubuntu.com>
12938
12939 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
12940 with `*'.
12941 (grub_cmd_videoinfo): Fetch current video mode.
12942
1e3d9b86
VS
129432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12944
12945 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
12946 because of underlying system restrictions.
12947
efff4b1c
VS
129482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
12951 necessary.
12952
9fc9ce37
VS
129532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 Coreboot video support.
12956
12957 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
12958 (vbe): Likewise.
12959 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
12960 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
12961 here ...
12962 * grub-core/kern/i386/int.S: ... here.
12963 * grub-core/video/i386/pc/vbe.c: Updated includes.
12964 * grub-core/video/i386/pc/vga.c: Likewise.
12965 * include/grub/i386/coreboot/memory.h
12966 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
12967 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
12968 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
12969 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
12970 Disable interrupts.
12971 * include/grub/i386/pc/vga.h: Removed. All users updated.
12972
41bec7fe
VS
129732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
12976 definitions for dprintf.
12977 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
12978
ca80309d
VS
129792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
12982 prototype.
12983 (get_card_packet): Likewise.
12984
9e322ce8
YB
129852011-06-26 Yves Blusseau <blusseau@zetam.org>
12986
12987 Display the path of the file when file is not found
12988
12989 * grub-core/fs/fat.c: Display the filename when file is not found.
12990 * grub-core/fs/fshelp.c: Likewise.
12991 * grub-core/fs/hfs.c: Likewise.
12992 * grub-core/fs/jfs.c: Likewise.
12993 * grub-core/fs/minix.c: Likewise.
12994 * grub-core/fs/ufs.c: Likewise.
12995 * grub-core/fs/btrfs.c: Likewise.
12996 * grub-core/commands/i386/pc/play.c: Likewise.
12997
cbf597af
SJ
129982011-06-26 Szymon Janc <szymon@janc.net.pl>
12999
13000 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
13001 pointer checks before calling grub_free().
13002 * grub-core/commands/wildcard.c (match_devices): Likewise.
13003 * grub-core/commands/wildcard.c (match_files): Likewise.
13004 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
13005 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
13006 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
13007 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
13008 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
13009 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
13010 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
13011 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
13012 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
13013
6295b32f
P
130142011-06-25 Patrick <p55@mailinator.com>
13015
13016 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
13017
77c0840b
VS
130182011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
13021 (grub_pxe_send): Likewise.
13022 (GRUB_MOD_INIT): Fix types.
13023
40ea05de
SJ
130242011-06-24 Szymon Janc <szymon@janc.net.pl>
13025
13026 * grub-core/io/xzio.c: Fix code style issues
13027
90162423
MRA
130282011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
130292011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
13030
13031 Network infrastructure.
13032 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
13033
13034 * include/grub/net/arp.h: New file.
90162423
MRA
13035 * include/grub/net/device.h: Likewise.
13036 * include/grub/net/ethernet.h: Likewise.
13037 * include/grub/net/ip.h: Likewise.
13038 * include/grub/net/netbuff.h: Likewise.
13039 * include/grub/net/tftp.h: Likewise.
13040 * include/grub/net/udp.h: Likewise.
13041 * include/grub/ieee1275/ofnet.h: Likewise.
13042 * include/grub/emu/export.h: Likewise.
13043 * include/grub/net.h: Likewise.
13044 * grub-core/net/arp.c: Likewise.
13045 * grub-core/net/ethernet.c: Likewise.
13046 * grub-core/net/ip.c: Likewise.
13047 * grub-core/net/udp.c: Likewise.
13048 * grub-core/net/tftp.c: Likewise.
13049 * grub-core/net/netbuff.c: Likewise.
13050 * grub-core/net/net.c: Likewise.
13051 * grub-core/net/drivers/emu/emunet.c: Likewise.
13052 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
13053 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
13054 export.h.
13055 * grub-core/Makefile.core.def (net): New module.
13056 (tftp): Likewise.
13057 (ofnet): Likewise.
13058 (emunet): Likewise.
13059 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
13060 network protocols.
13061 * grub-core/kern/device.c (grub_net_open) : New variable.
13062 (grub_device_open): Handle network device.
13063 (grub_device_close): Likewise.
13064 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
13065 (grub_grubnet_fini): Likewise.
13066 (grub_file_seek): Seek in network device.
13067 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
13068 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
13069 network root.
13070 (grub_machine_fini): Call grub_grubnet_fini.
13071 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
13072 network.
13073 (grub_ieee1275_get_aliasdevname): New function.
13074 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13075 Add unofficial Solaris network info.
13076 (grub_multiboot_make_mbi): Likewise.
13077 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
13078 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
13079 * include/grub/device.h (grub_fs): Removed.
13080 * include/grub/err.h (grub_err_t): Add network-related values.
13081 * include/grub/i386/pc/pxe.h: Removed bootp parts.
13082 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
13083 (grub_ieee1275_get_aliasdevname): New proto.
13084 * include/grub/net.h: Rewritten.
423a1849 13085
031f22a0
VS
130862011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
13089 names.
13090
4388ca72
VS
130912011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
13094 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
13095 it truncates the output.
13096 Reported by: Ximin Luo.
13097
98e2f506
VS
130982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
13101
2a5e94d8
VS
131022011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13105 partmap before abstraction.
13106
535c1910
AK
131072011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
13108
13109 * util/grub-mkconfig_lib.in: Add missing quotes.
13110
bc09e1a2
VS
131112011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13112
13113 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
13114 old method if mountinfo would return /dev/root and /dev/root doesn't
13115 exist.
13116
290766fb
VS
131172011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13118
13119 ZFS zlib support
13120
13121 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
13122 (decomp_table): Add zlib entries.
13123 (zio_read): USe 8 bits for compression function rather than 3.
13124 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
13125
131262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13127
13128 * grub-core/disk/ahci.c: Add missing license statements.
13129 * grub-core/fs/romfs.c: Likewise.
13130 * grub-core/lib/ia64/setjmp.S: Likewise.
13131 * grub-core/loader/i386/pc/freedos.c: Likewise.
13132 * grub-core/loader/ia64/efi/linux.c: Likewise.
13133 * grub-core/video/colors.c: Likewise.
13134 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
13135
5ab3f48a
VS
131362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13137
13138 AHCI support.
13139
13140 * grub-core/Makefile.core.def (ata_pthru): Removed.
13141 (ahci): New module.
13142 (pata): Likewise.
13143 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
13144 on unload.
13145 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
13146 readwrite.
13147 (grub_hdparm_do_check_powermode_cmd): Likewise.
13148 (grub_hdparm_do_smart_cmd): Likewise.
13149 (grub_hdparm_set_val_cmd): Likewise.
13150 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
13151 * grub-core/disk/ahci.c: New file.
13152 * grub-core/disk/ata.c: Factor out the low-level part into ...
13153 * grub-core/disk/pata.c: ... here.
13154 * grub-core/disk/ata_pthru.c: Contents moved to ...
13155 * grub-core/disk/pata.c: ... here.
13156 * grub-core/disk/scsi.c (grub_scsi_names): New array.
13157 (grub_scsi_iterate): Use grub_scsi_names.
13158 (grub_scsi_open): Likewise.
13159 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
13160 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
13161 (grub_ata_regs_t): New struct.
13162 (grub_disk_ata_pass_through_parms): Likewise.
13163 (grub_ata_device): Renamed to ...
13164 (grub_ata): ... this.
13165 (grub_ata_dev): New struct.
13166 Removed all low-level inline functions.
13167 * include/grub/scsi.h: Add PATA and AHCI subsystems.
13168 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
13169 iterate hooks and open. All users updated.
13170 * util/grub-install.in: Handle AHCI disk module.
13171
c31dc5f5
SJ
131722011-06-23 Szymon Janc <szymon@janc.net.pl>
13173
13174 Add support for DRI and RSTn markers in JPEG files.
13175
13176 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
13177 (JPEG_MARKER_RST0): Likewise.
13178 (JPEG_MARKER_RST1): Likewise.
13179 (JPEG_MARKER_RST2): Likewise.
13180 (JPEG_MARKER_RST3): Likewise.
13181 (JPEG_MARKER_RST4): Likewise.
13182 (JPEG_MARKER_RST5): Likewise.
13183 (JPEG_MARKER_RST6): Likewise.
13184 (JPEG_MARKER_RST7): Likewise.
13185 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
13186 (grub_jpeg_decode_dri): New function.
13187 (grub_jpeg_decode_sos): Move image data related part into
13188 grub_jpeg_decode_data function.
13189 (grub_jpeg_decode_data): New function.
13190 (grub_jpeg_reset): New function.
13191 (grub_jpeg_decode_jpeg): Handle new markers.
13192
fe12fd5b
VS
131932011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13194
13195 * util/ieee1275/ofpath.c (check_sas): Close fd.
13196 (main): Free of_path.
13197 Reported by: David Volgyes <dvolgyes>.
13198
03147f46
VS
131992011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13200
13201 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
13202 Reported by: David Volgyes <dvolgyes>.
13203
cad3237f
VS
132042011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13205
13206 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
13207 file after stat.
13208 Reported by: David Volgyes <dvolgyes>.
13209
13548d26
VS
132102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13211
13212 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
13213
13214 Reported by: David Volgyes <dvolgyes>.
13215
e061a1b5
VS
132162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13217
13218 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
13219 Prevent memory leak.
13220
1abe47dc
VS
132212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13222
13223 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
13224 (main): Close file.
e061a1b5 13225 Reported by: David Volgyes <dvolgyes>.
1abe47dc 13226
fbc62666
VS
132272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13228
13229 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
13230 to continue if allocation is failed.
13231
13232 Reported by: David Volgyes <dvolgyes>.
13233
e98c83e9
DV
132342011-06-23 David Volgyes <dvolgyes>
13235
13236 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
13237 dereference.
13238
a199a8cd
VS
132392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13240
13241 Fix spurious warning.
13242
13243 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
13244 (acorn_partition_map_find): Use .bin member.
13245
e2d1dba0
VS
132462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13247
13248 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
13249 /dev/root as a valid device.
13250
8a5d6919
JM
132512011-06-23 Jim Meyering <meyering@redhat.com>
13252
e2d1dba0
VS
13253 Avoid NULL deref in grub_device_open.
13254
8a5d6919
JM
13255 * grub-core/kern/device.c (grub_device_open): Don't dereference
13256 a NULL pointer upon failed grub_env_get.
13257
f7db6f4a
VS
132582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13259
13260 Support non-512B sectors and agglomerate reads.
13261
13262 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
13263 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
13264 (disk_io_guid): Removed.
13265 (make_devices): Locate solely by BlockIO.
13266 (grub_efidisk_open): Fill log_sector_size and total_sectors.
13267 (grub_efidisk_read): Use read_blocks.
13268 (grub_efidisk_write): Use write_blocks.
13269 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
13270 log_sector_size.
13271 (get_safe_sectors): Handle non-512B sectors.
13272 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
13273 sectors.
13274 (grub_biosdisk_write): Handle non-512B sectors.
13275 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
13276 (grub_scsi_read): Remove special non-512B block handling (now handled
13277 one level up).
13278 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
13279 and do sanity checks.
13280 (grub_disk_adjust_range): Handle non-512B sectors.
13281 (transform_sector): New function.
13282 (grub_disk_read_small): Likewise.
13283 (grub_disk_read): Rewritten.
13284 (grub_disk_write): Handle non-512B sectors.
13285 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
13286 log_sector_size.
13287 (open_device): Use log_sector_size.
13288 (grub_util_biosdisk_read): Likewise.
13289 (grub_util_biosdisk_write): Likewise.
13290 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
13291 non-512B sectors.
13292 (pc_partition_map_embed): Likewise.
13293 * include/grub/disk.h (grub_disk): New field log_sector_size.
13294 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
13295 (GRUB_DISK_CACHE_BITS): Increased to 6.
13296 * util/grub-fstest.c (fstest): New command testload.
13297 (argp_parser): Likewise.
13298
881ac815
RM
132992011-06-16 Robert Millan <rmh@gnu.org>
13300
13301 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
13302 `ata' driver on kernel of FreeBSD 9.
13303
13304 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
13305 (get_ataraid_disk_name): New functions.
13306 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
13307 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
13308 get_ataraid_disk_name() and get_ada_disk_name().
13309
1e9aef7d
CW
133102011-06-13 Colin Watson <cjwatson@ubuntu.com>
13311
13312 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
13313 input format.
13314
351c7c8a
CW
133152011-05-29 Colin Watson <cjwatson@ubuntu.com>
13316
13317 * docs/grub.texi (Obtaining and Building GRUB): Substitute
13318 `ftp.gnu.org' for `alpha.gnu.org'.
13319
6b4e6430
CW
133202011-05-27 Colin Watson <cjwatson@ubuntu.com>
13321
13322 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
13323 partitions under /dev/disk/by-id/.
13324
c64db050
CW
133252011-05-27 Colin Watson <cjwatson@ubuntu.com>
13326
13327 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
13328 after ten consecutive open failures. Scanning all the way up to
13329 10000 is excessive and can cause serious performance problems in
13330 some configurations.
13331 Fixes Ubuntu bug #787461.
13332
245f4aba
VS
133332011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13334
13335 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
13336 opening new one.
13337
f767c929
VS
133382011-05-21 Colin Watson <cjwatson@ubuntu.com>
133392011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13340
13341 Don't stat devices unless we have to.
13342
13343 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
13344 dir == /dev/mapper.
13345 (grub_guess_root_device): Use already known os_dev if possible.
13346 * grub-core/kern/emu/hostdisk.c
13347 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
13348 if device is known to be a dm one.
13349
f35fa3a6
CW
133502011-05-20 Colin Watson <cjwatson@ubuntu.com>
13351
13352 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
13353 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
13354 Reported by: Pawel Tecza.
13355
9a79fcf2
VS
133562011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
13359 (lsefisystab): Likewise.
13360 (lssal): Likewise.
13361 (lsefimmap): Likewise.
13362 (hdparm): Enable on qemu-mips.
13363 (setjmp): Add ia64 nodist.
13364 (serial): Simplify tags.
13365
63e3eea9
CW
133662011-05-18 Colin Watson <cjwatson@ubuntu.com>
13367
13368 * Makefile.util.def (grub-ofpathname): Install manual page.
13369
09728256
CW
133702011-05-18 Colin Watson <cjwatson@ubuntu.com>
13371
13372 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
13373
8b63a142
CW
133742011-05-18 Colin Watson <cjwatson@ubuntu.com>
13375
13376 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
13377
e775d8ed
VS
133782011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
13381 into dprintf.
13382
bf947d36
VS
133832011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13384
13385 Use full 64-bit division.
13386
13387 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
13388 (grub_divmod64): ... this.
13389 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
13390 version.
13391
b84f26c5
CW
133922011-05-18 Colin Watson <cjwatson@ubuntu.com>
13393
13394 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
13395 `source'.
13396
5626056f
CW
133972011-05-18 Colin Watson <cjwatson@ubuntu.com>
13398
13399 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
13400 to avoid accidents when debugging with 'sh -x'.
13401 * grub-core/gensyminfo.sh.in: Likewise.
13402 * tests/example_scripted_test.in: Likewise.
13403 * tests/grub_cmd_regexp.in: Likewise.
13404 * tests/grub_script_blanklines.in: Likewise.
13405 * tests/grub_script_dollar.in: Likewise.
13406 * tests/grub_script_expansion.in: Likewise.
13407 * tests/grub_script_final_semicolon.in: Likewise.
13408 * tests/partmap_test.in: Likewise.
13409 * tests/util/grub-shell-tester.in: Likewise.
13410 * tests/util/grub-shell.in: Likewise.
13411
e2965f4a
CW
134122011-05-18 Colin Watson <cjwatson@ubuntu.com>
13413
13414 Move gfxmenu color handling to video, so that gfxterm can use it
13415 too.
13416
13417 * grub-core/gfxmenu/named_colors.c: Move to ...
13418 * grub-core/video/colors.c: ... here. Rename
13419 grub_gui_get_named_color to grub_video_get_named_color.
13420 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
13421 * grub-core/video/colors.c (my_isxdigit): ... here.
13422 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
13423 Move to ...
13424 * grub-core/video/colors.c (parse_hex_color_component): ... here.
13425 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
13426 to ...
13427 * grub-core/video/colors.c (grub_video_parse_color): ... here.
13428
13429 * include/grub/gui.h (grub_gui_color_t): Move to ...
13430 * include/grub/video.h (grub_video_rgba_color_t): ... here.
13431 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
13432 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
13433 * include/grub/gui.h (grub_gui_map_color): Move to ...
13434 * include/grub/video.h (grub_video_map_rgba_color): ... here.
13435 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
13436 to ...
13437 * include/grub/video.h (grub_video_get_named_color): ... here.
13438 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
13439 * include/grub/video.h (grub_video_parse_color): ... here.
13440
13441 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
13442 video/colors.c.
13443 (gfxmenu): Remove gfxmenu/named_colors.c.
13444 (video) [videomodules]: Add video/colors.c.
13445
13446 Add a background_color command.
13447
13448 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
13449 function.
13450 (GRUB_MOD_INIT): Register background_color command.
13451 (GRUB_MOD_FINI): Unregister background_color command.
13452 (redraw_screen_rect): Allow blend/replace of text layer to be
13453 controlled independently from whether there is a background bitmap.
13454 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
13455 changing bitmap.
13456
1e4b4390
VS
134572011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13458
26618ff0
VS
13459 Patch BPB in ntldr and chainloader --bpb.
13460
1e4b4390
VS
13461 * grub-core/fs/fat.c: Include grub/fat.h.
13462 (grub_fat_bpb): Moved to ...
13463 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
13464 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
13465 grub/ntfs.h.
13466 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
13467 Moved from here...
13468 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
13469 here.
13470 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
13471 New function.
13472 (grub_chainloader_cmd): Patch BPB if --bpb is given.
13473 (GRUB_MOD_INIT): Show --bpb.
13474 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
13475 * grub-core/normal/main.c (features): New variable.
13476 (GRUB_MOD_INIT): Set feature_* variables.
13477 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
13478 proto.
13479 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
13480
cf02731e
VS
134812011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13482
13483 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
13484 for cleanness.
13485
e3a1073f
VS
134862011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 FreeDOS direct loading support.
13489
13490 * docs/grub.texi (Supported OS): Add FreeDOS.
13491 * grub-core/Makefile.core.def (freedos): New module.
13492 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
13493 variable.
13494 (grub_relocator16_boot): Handle %ebx.
13495 * grub-core/lib/i386/relocator16.S: Likewise.
13496 * grub-core/loader/i386/pc/freedos.c: New file.
13497
05caa461
VS
134982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13499
13500 Long Linux command line support.
13501
13502 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
13503 (maximal_cmdline_size): New variable.
13504 (allocate_pages): Use maximal_cmdline_size.
13505 (grub_cmd_linux): Set and use maximal_cmdline_size.
13506 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
13507 (allocate_pages): Use maximal_cmdline_size.
13508 (grub_cmd_linux): Set and use maximal_cmdline_size.
13509 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
13510 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
13511 and cmdline_size.
13512
a2491e23
VS
135132011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
135142011-05-18 Colin Watson <cjwatson@ubuntu.com>
13515
13516 Improve devmapper support
13517
13518 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
13519 (grub_util_is_lvm): New function.
13520 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
13521 than lvm if not dmraid.
13522 Handle mapped md nodes.
13523 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
13524 (grub_util_device_is_mapped): ... this. Make always available. All users
13525 updated.
13526 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
13527 (convert_system_partition_to_system_disk): Handle lvm, mpath and
13528 dmraid nodes.
13529 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
13530
6ad6223e
VS
135312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13532
13533 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
13534
13535 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
13536 * grub-core/modinfo.sh.in: New file.
13537 * grub-core/Makefile.core.def (modinfo.sh): New script.
13538 * util/grub-mknetdir.in: Use modinfo.sh.
13539 * util/grub-mkrescue.in: Likewise.
13540
543a8f6e
VS
135412011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13542
13543 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
13544 Fix potential usage of Elf32 instead of Elf64 when compiling on
13545 32-bit architecture. Add endianness macros while on it.
13546
4959e111
VS
135472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13548
13549 Use mipsel- rather than mips- in directories involving mipsel ports to
13550 allow both endiannesses coexist.
13551
13552 * configure.ac: proparate target_cpu=mipsel rather than resetting to
13553 mips. All conditions adjusted.
13554 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
13555 variable.
13556 * util/grub-install.in: Adjust conditions to take renaming into account.
13557 * util/grub-mkimage.c (image_targets): Likewise. New target
13558 mips-qemu_mips-elf for bigendian mips.
13559
35341bbc
VS
135602011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 Avoid unnecessary copying on MIPS.
13563
13564 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
13565 early if src == dest.
13566 * util/grub-mkimage.c (generate_image): Arange for src == dest if
13567 compression is none.
13568
b772baed
VS
135692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 Reduce memory footprint on SGI by putting modules before the kernel
13572 as opposed to after.
13573
13574 * grub-core/Makefile.core.def (kernel): Increase linking address.
13575 (none_decompress): Likewise.
13576 (xz_decompress): Likewise.
13577 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
13578 address.
13579 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
13580 layout change.
13581 (grub_arch_modules_addr): New function.
13582 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
13583 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
13584 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
13585 here.
13586 * grub-core/kern/mips/startup.S (total_size): Rename to ...
13587 (grub_total_modules_size): ... this. Make global.
13588 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
13589 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
13590 New definition.
13591 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
13592 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
13593 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
13594 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
13595 * util/grub-mkimage.c (image_target_desc): New flag
13596 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
13597 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
13598 (generate_image): Handle images with modules before kernel.
13599
566a1917
VS
136002011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13601
13602 Prevent potential loss of memory map by overwrite on qemu-mips.
13603
13604 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
13605 Save ram size in $s4.
13606 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
13607 All users changed to grub_arch_memsize.
13608 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
13609 Loongson.
13610 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
13611 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
13612 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
13613 external variable.
13614
5d420cd9
CW
136152011-05-17 Colin Watson <cjwatson@ubuntu.com>
13616
13617 * .bzrignore: Remove grub-dumpbios.
13618
d064b830
CW
136192011-05-17 Colin Watson <cjwatson@ubuntu.com>
13620
13621 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
13622 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
13623 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
13624 existing options which append).
13625 * docs/grub.texi (Simple configuration): Document new options.
13626 Reported by: Ian Jackson. Fixes Debian bug #617538.
13627
3ca2b466
CW
136282011-05-17 Colin Watson <cjwatson@ubuntu.com>
13629
13630 * util/grub-fstest.c (cmd_cat): New function.
13631 (fstest): Handle CMD_CAT.
13632 (options): Add cat.
13633 (argp_parser): Handle cat.
13634
24c9143a
CW
136352011-05-17 Colin Watson <cjwatson@ubuntu.com>
13636
13637 * Makefile.util.def (grub-bin2h): Don't install.
13638 * docs/man/grub-bin2h.h2m: Remove.
13639
90f7ac19
VS
136402011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13641
13642 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
13643 place.
13644
8d4a5178
VS
136452011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13646
13647 Reenable qemu-mips port.
13648
13649 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
13650 Fix small arc bug while on it.
13651 * gentpl.py: Handle qemu_mips.
13652 * grub-core/Makefile.am: Likewise.
13653 * grub-core/Makefile.core.def: Likewise.
13654 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
13655 inappropriate includes.
13656 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
13657 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
13658 * grub-core/kern/main.c (grub_modules_get_end)
13659 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
13660 * grub-core/kern/mips/qemu-mips: Moved to ..
13661 * grub-core/kern/mips/qemu_mips: ... this.
13662 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
13663 (grub_machine_init): Call terminfo_init and serial_init.
13664 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
13665 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
13666 New variable.
13667 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
13668 parameter passing.
13669 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
13670 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
13671 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
13672 * include/grub/mips/qemu_mips/cmos.h: New file.
13673 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
13674 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
13675 Removed.
13676 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
13677 Use correct mips-style address.
13678 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
13679 (GRUB_TICKS_PER_SECOND): Removed.
13680 (grub_get_rtc): Likewise.
13681 (grub_cpu_idle): Likewise.
13682 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
13683 New definition.
13684 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
13685 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
13686 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
13687 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
13688 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13689 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13690 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
13691 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
13692
400b9371
VS
136932011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 SGI ARCS port.
13696
13697 * Makefile.util.def (libgrubmods.a): Add dvh.c.
13698 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
13699 platforms.
13700 * configure.ac: New target mips-arc.
13701 * gentpl.py: Likewise.
13702 * grub-core/Makefile.am: Likewise.
13703 * grub-core/Makefile.core.def: Likewise.
13704 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
13705 (none_decompress): Likewise.
13706 (lsdev): New module.
13707 (datetime): Use lib/arc/datetime.c on ARC.
13708 (part_dvh): New module.
13709 * grub-core/commands/arc/lsdev.c: New file.
13710 * grub-core/disk/arc/arcdisk.c: Likewise.
13711 * grub-core/kern/mips/arc/init.c: Likewise.
13712 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
13713 aligned addresses.
13714 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
13715 support.
13716 (grub_arch_dl_relocate_symbols): Likewise.
13717 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
13718 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
13719 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
13720 platforms.
13721 * grub-core/lib/arc/datetime.c: New file.
13722 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
13723 pci.h on non-loongson.
13724 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
13725 (grub_linux_boot): Set unused registers to 0.
13726 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
13727 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
13728 * grub-core/mmap/mips/uppermem.c: ...here.
13729 * grub-core/partmap/dvh.c: New file.
13730 * grub-core/term/arc/console.c: Likewise.
13731 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
13732 (grub_terminfo_set_current): Add terminal "arc".
13733 (grub_terminfo_readkey): Support ARC sequences.
13734 * include/grub/arc/arc.h: New file.
13735 * include/grub/arc/console.h: Likewise.
13736 * include/grub/disk.h (grub_disk_dev_id): Add
13737 GRUB_DISK_DEVICE_ARCDISK_ID.
13738 * include/grub/mips/arc/kernel.h: New file.
13739 * include/grub/mips/arc/memory.h: Likewise.
13740 * include/grub/mips/arc/time.h: Likewise.
13741 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
13742 * include/grub/mips/kernel.h (grub_halt): ... here.
13743 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
13744 here...
13745 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
13746 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
13747 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
13748 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
13749 proto.
13750 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
13751 from here ...
13752 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
13753 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
13754 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
13755 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
13756 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
13757 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
13758 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
13759 (grub_phys_addr_t): Moved from here ...
13760 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
13761 (grub_vtop): Moved from here ...
13762 * include/grub/mips/memory.h (grub_vtop): ... here.
13763 (grub_map_memory): Moved from here ...
13764 * include/grub/mips/memory.h (grub_map_memory): ... here.
13765 (grub_unmap_memory): Moved from here ...
13766 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
13767 (grub_machine_mmap_iterate): Moved from here ...
13768 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
13769 (grub_mmap_get_lower): Moved from here ...
13770 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
13771 (grub_mmap_get_upper): Moved from here ...
13772 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
13773 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
13774 here ...
13775 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
13776 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
13777 here ...
13778 * include/grub/mips/time.h (grub_get_rtc): ... here.
13779 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
13780 here ...
13781 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
13782 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
13783 here ...
13784 * include/grub/mips/time.h (grub_cpu_idle): ... here.
13785 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
13786 definition.
13787 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
13788 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
13789 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
13790 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
13791 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13792 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13793 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
13794 (GRUB_MACHINE_LINK_ADDR): Likewise.
13795 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
13796 to 6.
13797 * util/grub-install.in: Run dvhtool on ARC.
13798 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 13799 (generate_image): Handle ECOFF output for mips-arc.
400b9371 13800
c8ecc840
VS
138012011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
13804 blocks.
13805
153a4b55
VS
138062011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13807
13808 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
13809 after enabling port.
13810
ff44d107
VS
138112011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13812
13813 Skip incorrect USB devices.
13814
13815 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
13816 configcnt == 0.
13817 * include/grub/usb.h (grub_usb_err_t): New enum value
13818 GRUB_USB_ERR_BADDEVICE.
13819
638dbe4f
VS
138202011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13821
13822 Fuloong video init support.
13823
13824 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
13825 well.
13826 (grub_vga_read_arx): New function.
13827 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
13828 definition.
13829 (framebuffer): New members io, mmioptr and mmiobase.
13830 (read_sis_cmd): New function.
13831 (write_sis_cmd): Likewise.
13832 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
13833 rather than 640x400.
13834 * grub-core/video/sis315_init.c: New file.
13835
c3fc520c
VS
138362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13837
13838 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
13839 non-loongson.
13840 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
13841 to grub_dl_register_symbol.
13842
67b1e5c9
VS
138432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13844
13845 Fix compilation errors.
13846
13847 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
13848 potentially unused.
13849 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
13850 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
13851 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
13852 to loongson machines.
13853
b756f75f
VS
138542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13855
13856 Several FS mtime support.
13857
13858 * grub-core/fs/affs.c (grub_affs_time): New struct.
13859 (grub_affs_file): New field mtime.
13860 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
13861 type. Removed 'size'. New field 'di'. All users updated.
13862 (grub_affs_mount): Simplify checsum checking.
13863 (grub_affs_iterate_dir): New helper grub_affs_create_node.
13864 (grub_affs_dir): Handle mtime.
13865 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
13866 (grub_cpio_dir): Likewise.
13867 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
13868 (grub_hfs_filerec): New field mtime.
13869 (grub_hfs_dir): Handle mtime.
13870 (grub_hfs_mtime): New function.
13871 (grub_hfs_fs): Register grub_hfs_mtime.
13872 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
13873 (grub_iso9660_dir): New field mtime.
13874 (grub_fshelp_node): New field dirent.
13875 (iso9660_to_unixtime): New function.
13876 (iso9660_to_unixtime2): Likewise.
13877 (grub_iso9660_read_symlink): Use node->dirent.
13878 (grub_iso9660_iterate_dir): Likewise.
13879 (grub_iso9660_dir): Set mtime.
13880 (grub_iso9660_mtime): New function.
13881 (grub_iso9660_fs): Register grub_iso9660_mtime.
13882 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
13883 (grub_jfs_inode): New fields atime, ctime and mtime.
13884 (grub_jfs_dir): Set mtime.
13885 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13886 * grub-core/fs/ntfs.c (list_file): Set mtime.
13887 (grub_ntfs_dir): Likewise.
13888 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
13889 (grub_reiserfs_iterate_dir): Set mtime.
13890 (grub_reiserfs_dir): Likewise.
13891 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
13892 (grub_fshelp_node): Likewise.
13893 (grub_sfs_iterate_dir): Set mtime.
13894 (grub_sfs_dir): Likewise.
13895 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
13896 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
13897 (grub_xfs_inode): New fields atime, mtime, ctime.
13898 (grub_xfs_dir): Set mtime.
13899 * include/grub/datetime.h (grub_datetime2unixtime): New function.
13900 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
13901 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
13902
13903 Support UDF symlinks.
13904
13905 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
13906 (grub_ufs_read_symlink): New function. All users updated.
13907
13908 Check amiga partmap checksum.
13909
13910 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
13911 (grub_amiga_partition): Likewise.
13912 (amiga_partition_map_checksum): New function.
13913 (amiga_partition_map_iterate): Check checksum.
13914
5470225d
VS
139152011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13916
13917 ROMFS support.
13918
13919 * Makefile.util.def (libgrubmods.a): Add romfs.
13920 * grub-core/Makefile.core.def (romfs): New module.
13921 * grub-core/fs/romfs.c: New file.
13922
d4680a35
VS
139232011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 Squashfs v4 support.
13926
13927 * Makefile.util.def (libgrubmods.a): Add squash4.
13928 * grub-core/Makefile.core.def (squash4): New module.
13929 * grub-core/fs/squash4.c: New file.
13930 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
13931 disk_input_start, disk_input.
13932 (get_byte): Handle disk_input.
13933 (grub_zlib_disk_read): New function.
13934 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
13935
bcb18e74
FZ
139362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
139372011-05-15 Feiran Zheng <famcool@gmail.com>
13938
13939 * Makefile.util.def (libgrubmods.a): Add minix3.
13940 * grub-core/Makefile.core.def (minix3): New module.
13941 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
13942 (GRUB_MINIX_BSIZE): Removed.
13943 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
13944 (grub_minix_ino_t): New type.
13945 (grub_minix_le_to_cpu_ino): New macro.
13946 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
13947 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
13948 (grub_minix_data): New field block_size.
13949 (grub_minix_read_file): Handle 64-bit correctly.
13950 * grub-core/fs/minix3.c: New file.
13951
32297d5f
TG
139522011-05-15 Tristan Gingold <gingold@free.fr>
139532011-05-15 Robert Millan <rmh.grub@aybabtu.com>
139542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13955
13956 IA64 support.
13957
13958 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
13959 * configure.ac: Add ia64-efi target.
13960 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
13961 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
13962 * gentpl.py: Add ia64_efi platform.
13963 Rename x86_efi to efi and Add ia64-efi. All users updated.
13964 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
13965 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
13966 Remove kern/generic/rtc_get_time_ms.c on EFI.
13967 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
13968 kern/ia64/dl_helper.c on ia64-efi.
13969 Add kern/emu/cache.c on emu.
13970 (linux): Use on loader/ia64/efi/linux.c on ia64.
13971 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
13972 whether symbol is a function.
13973 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
13974 (grub_symbol): New field 'isfunc'.
13975 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
13976 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
13977 (grub_dl_load_segments): Place all sections into the same region.
13978 [__ia64__]: Create trampolines and got.
13979 [GRUB_MACHINE_EMU]: Call mprotect.
13980 (grub_dl_resolve_symbols): Resolve symbol type as well.
13981 [__ia64__]: Create function descriptors.
13982 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
13983 (grub_rtc_get_time_ms): ... this. Expressions simplified.
13984 (grub_get_rtc): New function.
13985 * grub-core/kern/emu/cache.c [__ia64__]: New file.
13986 * grub-core/kern/emu/cache.S: Renamed to ...
13987 * grub-core/kern/emu/cache_s.S: ... this.
13988 [__ia64__]: Add a nop.
13989 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
13990 [__ia64__]: New function.
13991 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
13992 * grub-core/kern/ia64/dl.c: New file.
13993 * grub-core/kern/ia64/dl_helper.c: Likewise.
13994 * grub-core/kern/ia64/efi/init.c: New file.
13995 * grub-core/kern/ia64/efi/startup.S: Likewise.
13996 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
13997 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
13998 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
13999 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
14000 * grub-core/loader/ia64/efi/linux.c: New file.
14001 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
14002 (GRUB_MOD_DEP): Likewise.
14003 (grub_dl) [__ia64__]: New fields got and tramp.
14004 (grub_dl): New field 'base'.
14005 (grub_dl_register_symbol): New argument isfunc. All users updated.
14006 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
14007 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
14008 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
14009 (grub_ia64_dl_get_tramp_got_size): New proto.
14010 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
14011 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
14012 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
14013 * include/grub/efi/api.h: Skip call wrappers on ia64.
14014 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
14015 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
14016 * include/grub/elf.h (ELF_ST_INFO): New definition.
14017 * include/grub/ia64/efi/kernel.h: New file.
14018 * include/grub/ia64/efi/memory.h: Likewise.
14019 * include/grub/ia64/efi/time.h: Likewise.
14020 * include/grub/ia64/kernel.h: Likewise.
14021 * include/grub/ia64/setjmp.h: Likewise (from glibc).
14022 * include/grub/ia64/time.h: New file.
14023 * include/grub/ia64/types.h: Likewise.
14024 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
14025 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
14026 New protos.
14027 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
14028 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14029 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
14030 * util/grub-mkimage.c (image_target_desc): New field pe_target.
14031 All users updated.
14032 (EFI64_HEADER_SIZE): New definition. All users updated.
14033 (image_targets): Add ia64-efi.
14034 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
14035 jumpers_addr. All users updated.
14036 Create function descriptors.
14037 (count_funcs): New function.
14038 (unaligned_uint32): New struct.
14039 (MASK20): New definition.
14040 (MASK19): Likewise.
14041 (MASKF21): Likewise.
14042 (add_value_to_slot_20b): New function.
14043 (add_value_to_slot_21_real): Likewise.
14044 (add_value_to_slot_21): Likewise.
14045 (ia64_kernel_trampoline): New struct.
14046 (nopm): New variable.
14047 (jump): Likewise.
14048 (make_trampoline): New function.
14049 (relocate_addresses): Handle ia64.
14050 (make_reloc_section): Likewise.
14051 (load_image): Likewise.
14052
983b414d
VS
140532011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
14056 warning. Move variables before code while on it.
14057
5d063cdc
VS
140582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14059
14060 Fuloong support.
14061
14062 * configure.ac: Rename yeeloong platform to loongson. All users updated.
14063 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
14064 * grub-core/boot/mips/loongson/fuloong.S: New file.
14065 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
14066 Explicitly init CS5536.
14067 [FULOONG]: Don't use serial until CS5536 is available.
14068 Set GPIO based on dumps.
14069 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
14070 [FULOONG]: Handle GPIO and memory controller differences.
14071 Parse machine type in $a2.
14072 * grub-core/boot/mips/startup_raw.S: Determine and save the
14073 architecture.
14074 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
14075 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
14076 init on architecture type.
14077 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14078 SIS315E. Don't init at_keyboard on fuloong.
14079 (grub_halt): Support Fuloong.
14080 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
14081 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
14082 (loongson_machtypes): New array.
14083 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
14084 type.
14085 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
14086 config. All users updated. Handle CS5536 serial.
14087 * grub-core/term/serial.c (grub_serial_register): Conditionalise
14088 default port on machine type. Register serial as inactive.
14089 * grub-core/video/sis315pro.c: New file.
14090 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
14091 definition.
14092 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
14093 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
14094 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
14095 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
14096 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
14097 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
14098 to ...
14099 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
14100 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
14101 definition.
14102 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
14103 (grub_arch_machine): New extern var.
14104 * include/grub/mips/loongson/serial.h
14105 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
14106 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
14107 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
14108 (GRUB_MACHINE_SERIAL_PORT0): ... this.
14109 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
14110 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
14111 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
14112 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
14113 * include/grub/term.h (grub_term_register_input_inactive): New inline
14114 function.
14115 (grub_term_register_output_inactive): Likewise.
14116 * include/grub/video.h (grub_video_driver_id): New value
14117 GRUB_VIDEO_DRIVER_SIS315PRO.
14118 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
14119 New field "names". All users updated.
14120 New field value IMAGE_FULOONG_FLASH.
14121 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
14122
6ada82d1
JU
141232011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
14124
14125 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
14126 and add some clarification.
14127
90c571a4
VS
141282011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14129
14130 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
14131 platforms if kernel is compressed.
14132
de04eecf
VS
141332011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14134
14135 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
14136 unused modules since currently referrence counter isn't reliable and
14137 there isn't much memory to recover there anyway.
14138
57688121
VS
141392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14140
14141 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
14142 rather than resetting it to allow modules to reference themselves
14143 in init.
14144
3d2c7e35
VS
141452011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14146
14147 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
14148 counter on dependencies since grub_dl_unref already handles this.
14149
b25db218
VS
141502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14151
14152 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
14153 on error if not already done.
14154
25a45338
VS
141552011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14156
14157 Fix few potential memory misusage.
14158
14159 * grub-core/font/font.c (load_font_index): Don't free char_index to
14160 avoid double free.
b25db218
VS
14161 (grub_font_load): Zero-fill font at alloc for safety.
14162 Close file on error.
14163 (free_font): Free bmp_idx.
25a45338 14164
0cac83df
VS
141652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14166
14167 * docs/grub.texi (Installation): Fix several outdated claims.
14168
2217a143
VS
141692011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14170
14171 Handle module_license on windows.
14172
14173 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
14174 sections shifted.
14175 (insert_string): Make argument const char * instead of char *.
14176 (write_section_data): Handle long section names.
14177 Handle module_license.
14178
d4de6b01
VS
141792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14180
14181 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
14182 handle class-free menuentries.
14183 (grub_normal_add_menu_entry): Add a check to be sure.
14184
4c2a3b43
VS
141852011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14186
14187 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
14188 PgUp and PgDown.
14189
85c6210f
VS
141902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14191
14192 * configure.ac: Bump version to 1.99.
14193
36084912
VS
141942011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14195
14196 Give ATA device a bit more time on first try in order to allow disks
14197 to spin up.
14198
14199 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
14200 if dev->present is 1. Reset dev->present on failure.
14201 (grub_ata_device_initialize): Set dev->present to 1.
14202 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
14203 (grub_ata_device): New member 'present'.
14204
bda0e219
VS
142052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14206
14207 * util/grub-mkimage.c (generate_image): Update hash.
14208
19e1c41b
VS
142092011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14210
14211 Flush caches on DMA memory.
14212
14213 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
14214 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
14215 (grub_dma_free): Likewise.
14216 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
14217
91bbcc0c
VS
142182011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
14221 to avoid asm treating ld and sd as macros.
14222
60ddfad3
VS
142232011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
14226 decompressor.
14227
a298aa04
VS
142282011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
14231 grub_decompress_core since later would fail if grub_decompress_core
14232 is too far.
14233
9b44feca
VS
142342011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14235
14236 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
14237 R_MIPS_JALR since it's used by newer compiler.
14238
56dbe7b4
VS
142392011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
14240
14241 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
14242
52856af2
VS
142432011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14244
14245 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
14246 file_path to 0 for surety.
14247 (grub_chainloader_boot): Set exit_data to NULL.
14248 Unset the loader once done.
14249 (grub_cmd_chainloader): Fix confusing error message if file is empty.
14250
9c9bfc6d
VS
142512011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14252
14253 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
14254 unknown key into a dprintf.
14255
dd94a3df
VS
142562011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
14259 on first non-existant partition.
14260
fa68d99c
VS
142612011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
14264 openning fails.
14265 Reported by: Mark Korenberg.
14266
157effb7
VS
142672011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14268
14269 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
14270 overflow.
14271
ea75312f
VS
142722011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14273
14274 * util/grub-mkimage.c (main): Explicitely flush and sync the output
14275 before closing to ensure that it will be readable by grub-setup.
14276
072b5d31
VS
142772011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14278
14279 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
14280 (devpath_1): Use MAKE_PIWG_PATH.
14281 (devpath_2): Likewise.
14282 (devpath_3): Likewise.
14283 (devpath_4): Likewise.
14284 (devpath_5): Likewise.
14285 (devpath_6): Likewise.
14286
14287 The appleldr.mod was checked that to be binary identical to previous
14288 version.
14289
7fae0051
Z
142902011-05-05 Zach <mikezackles>
14291
14292 Support 2010 Macbooks.
14293
14294 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
14295 (devs): Add devpath_6.
14296
7c515bee
VS
142972011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14298
14299 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
14300 /dev/random. /dev/urandom is good enough for our purposes (salting).
14301
ed660bd8
VS
143022011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14303
14304 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
14305
ee5614b7
VS
143062011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14307
14308 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
14309 hexadecimal.
14310
664889a6
VS
143112011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14312
14313 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
14314 and not 0 on failure.
14315
bd405bbc
CW
143162011-05-03 Colin Watson <cjwatson@ubuntu.com>
14317
14318 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
14319 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
14320 disk; otherwise grub_fs_probe will not fall back to the next
14321 filesystem.
14322 (grub_pxefs_open): Likewise, for consistency.
14323 Reported and tested by: Ezekiel Grave.
14324
4ebff753
CW
143252011-05-03 Colin Watson <cjwatson@ubuntu.com>
14326
14327 * tests/partmap_test.in: Don't hardcode path to parted.
14328 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
14329
8f942553
CW
143302011-05-01 Colin Watson <cjwatson@ubuntu.com>
14331
14332 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
14333 of `ls' to find out which devices are available.
14334
3c62402d
VS
143352011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14336
14337 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
14338 than source address for efi mmap buffer.
14339
723f63f2
VS
143402011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14341
14342 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
14343 wrong action on non-detecting the magic.
14344
68797f92
VS
143452011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14346
14347 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
14348 already supplied by another part of the module (fixes compilation on
14349 FreeBSD).
14350
6be8715d
VS
143512011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14352
14353 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
14354 match the one used by mdadm.
14355
e91dba5b
CW
143562011-04-21 Colin Watson <cjwatson@ubuntu.com>
14357
14358 * po/README: Add instructions for creating po/LINGUAS.
14359
c85140b3
CW
143602011-04-21 Colin Watson <cjwatson@ubuntu.com>
14361
14362 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
14363 #551428.
14364
14365 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
14366 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
14367 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
14368 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
14369 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
14370 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
14371 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
14372 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
14373 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
14374 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
14375 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
14376 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
14377 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
14378 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
14379 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
14380 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
14381 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
14382 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
14383 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
14384 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
14385 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
14386 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
14387
92051871
CW
143882011-04-21 Colin Watson <cjwatson@ubuntu.com>
14389
14390 * grub-core/kern/emu/getroot.c
14391 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
14392 test that was incorrectly reintroduced in r3214.
14393 Reported by: Ian Dall. Fixes Savannah bug #33133.
14394
b13f79a4
CW
143952011-04-21 Colin Watson <cjwatson@ubuntu.com>
14396
14397 Fix stack pointer handling in 16-bit relocator.
14398
14399 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
14400 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
14401 Fixes Ubuntu bug #683904.
14402
9b710a88
VS
144032011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14404
14405 * configure.ac: Bump version to 1.99~rc2.
14406
d97e7b59
VS
144072011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14408
14409 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
14410 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
14411 * grub-core/lib/x86_64/setjmp.S: Likewise.
14412 * grub-core/lib/mips/setjmp.S: Likewise.
14413 * grub-core/lib/powerpc/setjmp.S: Likewise.
14414 * grub-core/lib/sparc64/setjmp.S: Likewise.
14415
0624551c
VS
144162011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
14419 * grub-core/lib/efi/datetime.c: Likewise.
14420
e8f28d4c
VS
144212011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14422
14423 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
14424 New function.
14425 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
14426 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
14427 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
14428
bba79a15
VS
144292011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14430
14431 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
14432 bitmap.
14433 (grub_gfxterm_term_init): Likewise.
14434
abc474ef
VS
144352011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 Take into account the decorations the computing menu entry width.
14438
14439 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
14440 (grub_gfxmenu_create_box): Register get_border_width.
14441 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
14442 if available.
14443 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
14444 get_border_width.
14445
e74b3947
EP
144462011-04-18 Endres Puschner <code@e7p.de>
14447
14448 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
14449 Don't skip first class.
14450
34faa595
VS
144512011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14452
14453 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
14454 chunks.
14455 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
14456
93a777e3
VS
144572011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14458
14459 Complete 64-bit division support.
14460
14461 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
14462 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
14463 * include/grub/misc.h (grub_divmod64): Rename to ...
14464 (grub_divmod64_full): ... this.
14465 (grub_divmod64): New inline function.
14466
a5102d94
VS
144672011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14468
14469 * util/grub-mkimage.c (generate_image): Add forgotten comma.
14470
f3fb7b36
VS
144712011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14472
14473 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
14474 performing the necessary test.
14475
9ac718b0
VS
144762011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14477
14478 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
14479 (kfreebsd.elf): Likewise.
14480 (pc-chainloader.elf): Likewise.
14481 (ntldr.elf): Likewise.
14482
50d2cc5a
VS
144832011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14484
14485 Identify RAID by its UUID rather than (guessed) name.
14486
14487 * grub-core/disk/raid.c (ascii2hex): New function.
14488 (grub_raid_open): Accept mduuid/%s specification.
14489 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
14490 (get_mdadm_uuid): ... this.
14491 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
14492
e03f7bea
VS
144932011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
14494
14495 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
14496 to negative size.
14497
e74c3112
CW
144982011-04-13 Colin Watson <cjwatson@ubuntu.com>
14499
14500 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
14501 btrfs subvolume.
14502 * util/grub.d/20_linux_xen.in: Likewise.
14503
78fa584f
CW
145042011-04-13 Colin Watson <cjwatson@ubuntu.com>
14505
14506 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
14507 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
14508
14509 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
14510 Build a list of relevant visible mounts using the mnt_id and
14511 parent_mnt_id fields, and then scan that list at the end.
14512
9d5f8162
CW
145132011-04-12 Colin Watson <cjwatson@ubuntu.com>
14514
14515 * docs/grub.texi (normal): New section.
14516 (normal_exit): New section.
14517 (Embedded configuration): Add reference to normal.
14518 (GRUB only offers a rescue shell): Likewise.
14519 * docs/grub-dev.texi (Error Handling): Fix typo.
14520
09a9d66f
CW
145212011-04-12 Colin Watson <cjwatson@ubuntu.com>
14522
14523 * NEWS: Drop obsolete entry about probe-only btrfs support.
14524
0c676933
CW
145252011-04-12 Colin Watson <cjwatson@ubuntu.com>
14526
14527 * util/import_gcry.py: Fix typo.
14528
ec9f5e0d
VS
145292011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14530
14531 * NEWS: Add btrfs support.
14532
fe6b2cba
VS
145332011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
145342011-04-11 Colin Watson <cjwatson@ubuntu.com>
14535
14536 BtrFS support. Written by me (Vladimir) with important bugfixes and
14537 even more important testing by Colin.
14538
14539 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
14540 * grub-core/Makefile.core.def (btrfs): Add crc.c.
14541 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
14542 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
14543 mem_input_off and mem_input. All users updated to accept in-RAM input.
14544 (gzio_seek): New function.
14545 (test_zlib_header): Likewise.
14546 (grub_gzio_read): Likewise.
14547 (grub_zlib_decompress): Likewise.
14548 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
14549 Accept partial and non-virtual mounts.
14550 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
14551 avoid receiving /dev/dm-X as device.
14552 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
14553 Handle bind and partial mounts.
14554 * grub-core/lib/crc.c: New file.
14555 * include/grub/deflate.h: Likewise.
14556 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
14557 proto.
14558 * include/grub/lib/crc.h: New file.
14559
e745cf0c
VS
145602011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14561
14562 Implement automatic module license checking according to new GNU
14563 guidelines.
14564
14565 * grub-core/kern/dl.c (grub_dl_check_license): New function.
14566 (grub_dl_load_core): Use grub_dl_check_license.
14567 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
14568 (GRUB_MOD_LICENSE): Likewise.
14569 (GRUB_MOD_DUAL_LICENSE): Likewise.
14570 All modules updated.
14571
2a9bc016
CW
145722011-04-11 Colin Watson <cjwatson@ubuntu.com>
14573
14574 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
14575 reserved_first_sector to 1. btrfs reserves plenty of space for boot
14576 loaders.
14577 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
14578
8a3bc88e
VS
145792011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14580
14581 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
14582
af869a4a
VS
145832011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14584
14585 * util/grub-fstest.c (read_file): Report GRUB error if file opening
14586 failed.
14587
9ee8d94f
VS
145882011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14589
14590 * grub-core/kern/file.c (grub_file_open): Don't take into account the
14591 parenthesis in the middle of the filename.
14592
b01abe3e
VS
145932011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
14596 rather than trying to put initrd way too high.
14597 Reported by: Ryan Lortie <desrt@desrt.ca>
14598
335bda1e
VS
145992011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14600
14601 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
14602 improperly removed string.
14603
5ca1a64d
VS
146042011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14605
14606 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
14607 is_disk.
14608 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
14609 (open_device) Likewise.
14610 (grub_util_biosdisk_close): Likewise.
d8ce9995 14611 Reported by: Mark Korenberg.
5ca1a64d 14612
cbac5b1e
AK
146132011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
14614
14615 * util/grub-mkconfig_lib.in: Add missing quotes.
14616
088cdb65
CW
146172011-04-10 Colin Watson <cjwatson@ubuntu.com>
14618
14619 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
14620 is NULL.
14621
8b8a81fa
VS
146222011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14623
14624 Dynamically count the number of lines for the lower banner.
14625
14626 * grub-core/normal/menu_entry.c (per_term_screen): New member
14627 num_entries.
14628 (print_down): Use num_entries.
14629 (update_screen): Likewise.
14630 (grub_menu_entry_run): Set num_entries.
14631 * grub-core/normal/menu_text.c (menu_viewer_data): New member
14632 num_entries.
14633 (grub_print_message_indented): Move real part to ...
14634 (grub_print_message_indented_real): ... here. Additional argument
14635 dry_run.
14636 (draw_border): Additional argument num_entries.
14637 (print_message): Additional argument dry_run.
14638 (print_entries): Receive menu viewer data.
14639 (grub_menu_init_page): New argment num_entries.
14640 (menu_text_set_chosen_entry): Use num_entries.
14641 (grub_menu_try_text): Likewise.
14642 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
14643 All users updated.
14644 (grub_ucs4_count_lines): New function.
14645 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
14646 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
14647 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
14648 (grub_term_border_height): Likewise.
14649 (grub_term_num_entries): Likewise.
14650
277f955b
VS
146512011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14652
14653 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
14654 Remove now unused string.
14655
536ce85a
CW
146562011-04-09 Colin Watson <cjwatson@ubuntu.com>
14657
14658 * docs/grub-dev.texi (Finding your way around): Update for 1.99
14659 build system.
14660 (Getting started): GRUB is developed in Bazaar now, not Subversion.
14661
14662 (Comment): Fix typo.
14663 (Getting started): General copy-editing.
14664 (Typical Development Experience): Likewise.
14665 (Error Handling): Likewise.
14666 (Video API): Likewise.
14667
2cf09e32
CW
146682011-04-09 Colin Watson <cjwatson@ubuntu.com>
14669
14670 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
14671 throughout.
14672
1ec652f4
VS
146732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 * util/grub-mkimage.c (main): Handle special naming of yeeloong
14676 directory.
14677
2c583728
CW
146782011-04-08 Colin Watson <cjwatson@ubuntu.com>
14679
14680 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
14681 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
14682 "development".
14683
d7a565e9
VS
146842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14685
14686 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
14687 grub_strcpy since the lines aren't necessarily 0-terminated.
14688
7c2e4909
VS
146892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14690
14691 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
14692 root on legacy.
14693
34c09785
VS
146942011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 * grub-core/commands/probe.c (options): Argument to set isn't optional.
14697 (GRUB_MOD_INIT): DEVICE isn't optional.
14698
6a6f8058
VS
146992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14700
14701 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
14702 word on new line if it's too long anyway. Fixes a hang.
14703
2e335e90
VS
147042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14705
14706 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
14707 const.
14708 * util/grub-setup.c (main): Reuse md device name if available.
14709 * util/raid.c (grub_util_raid_getmembers): Receive device name and
14710 not GRUB name as argument.
14711 Based on patch by: Florian Wagner <fwagner>.
14712
10a7a867
VS
147132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14714
14715 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14716 Place mbi on low memory for better compatibility.
14717
7a3d6cd9
VS
147182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14719
14720 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
14721
18dd6b47
VS
147222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
147232011-04-08 Colin Watson <cjwatson@ubuntu.com>
14724
14725 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 14726 * conf/Makefile.common: Likewise.
18dd6b47 14727
3c0e3f14
VS
147282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14729
f7148863
VS
14730 * grub-core/normal/menu.c: Add missing include.
14731
147322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14733
14734 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 14735
6d1fa41f
MZ
147362011-04-08 Martin Zuther <mzuther@mzuther.de>
14737
14738 * util/grub-mkconfig.in: Ignore emacsen backup.
14739
478182a8
VS
147402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
14743 on open.
14744 (grub_util_biosdisk_close): Likewise.
14745
72a89a54
VS
147462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14747
14748 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
14749 const attribute and use grub_isdigit.
14750
b5ebecfa
A
147512011-04-06 Andrey <dev_null@ukr.net>
14752
14753 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
14754 gcc warning.
14755
7755f66e
VS
147562011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14757
14758 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
14759 useful grub_dprintf's.
14760
461121ff
VS
147612011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14762
14763 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
14764
2a961775
VS
147652011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14766
14767 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
14768
adf594cc
VS
147692011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 Output errors if theme loading failed.
14772
14773 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
14774 grub_gfxterm_fullscreen on error paths to ...
14775 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
14776 theme loading error.
14777
665900a3
VS
147782011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14779
14780 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
14781 space for older compilers.
14782 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14783
a562b479
VS
147842011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14785
14786 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
14787 and report them as not RAID members since they are useless for GRUB.
14788 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14789
850e9373
VS
147902011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14791
14792 Increase LVM implementation robustness in order not to crash on
14793 configurations like pvmove. Previously code assumed that in some places
14794 only lvs or only pvs are used whereas it seems that they are used
14795 interchangeably.
14796
14797 * grub-core/disk/lvm.c (read_node): New function.
14798 (read_lv): Use read_node.
14799 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
14800 Match volumes only at the end when all lvs are found. Take both
14801 pvs (first) and lvs (second) into account.
14802 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
14803 mirror_* into node_*. All users updated.
14804 (grub_lvm_stripe): Merge this ...
14805 (grub_lvm_mirror): ... and this ...
14806 (grub_lvm_node): ... into this. All users updated.
14807
6f332153
VS
148082011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14809
14810 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
14811 of function to allow further scanning for LVMs.
14812
829ea451
VS
148132011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
14816 on failed seek as it breaks open fd reusage.
14817
09ceb9a5
VS
148182011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14819
14820 * util/grub-install.in: Add a recommendation to use --recheck before
14821 reporting bugs.
14822
67e11623
VS
148232011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14824
14825 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
14826 are obtained.
14827
caee5efd
VS
148282011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14829
14830 GRUB developper manual based on existing Internals section and
14831 contributions by the various authors with active copyright assignment.
14832
14833 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
14834 * docs/font_char_metrics.png: New file.
14835 * docs/font_char_metrics.txt: Likewise.
14836 * docs/grub-dev.texi: Likewise.
14837 * docs/grub.texi (Internals): Move from here ...
14838 * docs/grub-dev.texi: ... here.
14839
2cccc747
CW
148402011-04-01 Colin Watson <cjwatson@ubuntu.com>
14841
14842 Store the loopback device as data on loopback grub_disk structures,
14843 rather than the file it points to. This fixes use of freed memory
14844 if an existing loopback device is replaced.
14845
14846 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
14847 disk->data, not dev->file.
14848 (grub_loopback_read): Adjust file assignment to match.
14849 Fixes Ubuntu bug #742967.
14850
186ae367
CW
148512011-04-01 Colin Watson <cjwatson@ubuntu.com>
14852
14853 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
14854 when replacing an existing device.
14855
cfed2ad0
VS
148562011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
14857
14858 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
14859 memory corruptions.
14860
14861 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
14862 unsigned.
14863 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
14864 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
14865 (grub_jfs_read_inode): Likewise.
14866 (grub_jfs_opendir): Likewise. Remove now useless casts.
14867 (grub_jfs_getent): Likewise.
14868 Make ino a grub_uint32_t rather than int.
14869 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
14870 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
14871 division and module with bit operations.
14872 (grub_jfs_find_file): Make ino a grub_uint32_t.
14873 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
14874
05d2ed32
CW
148752011-04-01 Colin Watson <cjwatson@ubuntu.com>
14876
14877 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
14878 warning. (This was in fact always initialised before use, but GCC
14879 wasn't smart enough to prove that.)
14880 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
14881
91dc6073
VS
148822011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14883
14884 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
14885 stack alignment.
14886 (efi_wrap_1): Likewise.
14887 (efi_wrap_2): Likewise.
14888 (efi_wrap_3): Likewise.
14889 (efi_wrap_4): Likewise.
14890 (efi_wrap_5): Likewise.
14891 (efi_wrap_6): Likewise.
14892 (efi_wrap_10): Likewise.
14893 Based on information by: Red Hat/Peter Jones.
14894
a8afc1d1
CW
148952011-03-31 Colin Watson <cjwatson@ubuntu.com>
14896
14897 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
14898 set-but-not-used variable.
14899
a826cc7d
CW
149002011-03-31 Colin Watson <cjwatson@ubuntu.com>
14901
14902 * docs/grub.texi (Simple configuration): Be more explicit about
14903 GRUB_DEFAULT, and add an example.
14904 Reported by: Leslie Rhorer.
14905
875b67ba
CW
149062011-03-30 Colin Watson <cjwatson@ubuntu.com>
14907
14908 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
14909 shell".
14910
fd7cd914
AS
149112011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
14912
14913 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
14914 * util/grub.d/20_linux_xen.in: Likewise.
14915
090b1b6a
VS
149162011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14917
14918 * util/grub.d/10_linux.in: Try alternative config filenames where
14919 we parse config file.
14920 * util/grub.d/20_linux_xen.in: Likewise.
14921
baad885c
AS
149222011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
14923
14924 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
14925 * util/grub.d/20_linux_xen.in: Likewise.
14926
241e41f5
VS
149272011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14928
14929 * grub-core/disk/raid.c (insert_array): Add few potentially
14930 useful grub_util_info.
14931 (grub_raid_register): Likewise.
14932
56445fb2
VS
149332011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
14936 Preserve partition number in mdadm code path.
14937
c871b1c6
VS
149382011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
14941 few potentially useful grub_util_info.
14942
5e631b4f
CW
149432011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14944
14945 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
14946
2d5d0333
CW
149472011-03-30 Colin Watson <cjwatson@ubuntu.com>
14948
14949 * docs/grub.texi (default): Use @example rather than nested
14950 itemized lists to avoid breaking gendocs.
14951
3d7ed04e
CW
149522011-03-30 Colin Watson <cjwatson@ubuntu.com>
14953
14954 * docs/grub.texi (Future): Update.
14955
abf04200 149562011-03-30 Colin Watson <cjwatson@ubuntu.com>
14957
14958 * docs/grub.texi (Environment): New chapter.
14959 (Changes from GRUB Legacy): Link to "Environment block" section for
14960 details of limitations.
14961 (Simple configuration): Likewise. Link to documentation of gfxmode
14962 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
14963 respectively.
14964 (Shell-like scripting): Note that normal variables are stored in the
14965 environment.
14966 (gettext): Link to documentation of lang and locale_dir.
14967 (list_env): New section.
14968 (load_env): New section.
14969 (save_env): New section.
14970
14971 (Reporting bugs): Fix typo.
14972
e1ad0edd
VS
149732011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14974
14975 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
14976 the example.
14977
5d803174
VS
149782011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14979
14980 * grub-core/term/at_keyboard.c (set_scancodes)
14981 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
14982
2a2da1d0
CW
149832011-03-30 Colin Watson <cjwatson@ubuntu.com>
14984
14985 * docs/grub.texi (Menu-specific commands): Remove some semantics
14986 that were true in GRUB Legacy but not in GRUB 2.
14987 (submenu): New section.
14988 (false): New section.
14989 (read): New section.
14990 (true): New section.
14991
a7527639
CW
149922011-03-30 Colin Watson <cjwatson@ubuntu.com>
14993
14994 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
14995
149962011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
14997
14998 * docs/grub.texi (Simple configuration): Explain some of the
14999 current limitations of grub-mkconfig.
8a748df2 15000 Reported by: Leslie Rhorer.
e30af029 15001
fc858482
VS
150022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 Old macs search for boot.efi rather than for bootia32.efi.
15005
15006 * util/grub-install.in: Copy bootia32.efi to boot.efi.
15007 * util/grub-mkrescue.in: Likewise.
15008 Suggested by: Peter Jones.
15009
e1eb511d
VS
150102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15011
15012 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
15013
70e75364
VS
150142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15015
15016 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
15017 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
15018 (grub_lvm_mirror): New struct.
15019 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
15020 (grub_lvm_iterate): Iterate only visible volumes.
15021 (grub_lvm_read): Factor out to ..
15022 (read_lv): ... this. Support mirrors.
15023 (grub_lvm_read): New wrapper function.
15024 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
15025 stripped or mirrored.
15026
fc18f6a3
VS
150272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15028
15029 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
15030
5c650f4c
CW
150312011-03-29 Colin Watson <cjwatson@ubuntu.com>
15032
15033 * docs/grub.texi (loopback): New section.
15034
61d7156b
CW
150352011-03-29 Colin Watson <cjwatson@ubuntu.com>
15036
15037 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
15038 removed -p option.
15039
994b8264
CW
150402011-03-29 Colin Watson <cjwatson@ubuntu.com>
15041
15042 * docs/grub.texi (BIOS installation): New section, partly based on
15043 previous text in other sections.
15044 (Installing GRUB using grub-install): Replace BIOS discussion with a
15045 cross-reference.
15046 (Images): Likewise.
15047
9e4d19e0
VS
150482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15049
15050 * grub-core/kern/emu/hostdisk.c (find_partition_start)
15051 [HAVE_DIOCGDINFO]: Add safety checks.
15052
a307c0b2
VS
150532011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
15056 per default compiled in kernel and prior to 8.0 isn't shipped at all.
15057
b4db4f39
CW
150582011-03-29 Colin Watson <cjwatson@ubuntu.com>
15059
15060 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
15061 real_sb->size is zero (e.g. RAID-0), get the disk size from
15062 real_sb->data_size instead.
15063 Fixes Ubuntu bug #743136.
15064
35e5f84c
VS
150652011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15066
15067 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
15068 printf clauses for printing size and start.
15069
d2e29d81
VS
150702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15071
15072 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
15073 Reported and tested by: Timothy Nikkel.
15074
ed5587af
VS
150752011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15076
15077 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
15078 (dirty_region_add_real): ... this.
15079 (dirty_region_add): Don't discard margin refresh when performing
15080 scheduled repaint.
15081
a1dc717c
VS
150822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 * grub-core/lib/relocator.c (allocate_regstart)
15085 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
15086 terminals are capabple of malloc-free operation.
15087 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15088 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15089
9f3677d3
VS
150902011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
15091
15092 * util/grub-setup.c: Copy the partition table zone if floppy support
15093 is disabled, even if no partition table is found.
15094
15095 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
15096 during POST if an invalid partition table is contained in the PBR
15097 of the active partition when GRUB is installed to a partition.
15098
24148725
CW
150992011-03-28 Colin Watson <cjwatson@debian.org>
15100
15101 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
15102 comment.
15103
f329eda7
CW
151042011-03-28 Colin Watson <cjwatson@debian.org>
15105
15106 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
15107 to be specific about what kind of RAID device we're scanning for.
15108
c482ad98
SG
151092011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
15110
15111 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
15112 return freed string.
15113
5ee04984
VS
151142011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15115
15116 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
15117
f4727da9
VS
151182011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15119
15120 Use libgeom on FreeBSD to detect partitions.
15121
15122 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
15123 (grub-mkrelpath): Likewise.
15124 (grub-script-check): Likewise.
15125 (grub-editenv): Likewise.
15126 (grub-mkpasswd-pbkdf2): Likewise.
15127 (grub-fstest): Likewise.
15128 (grub-mkfont): Likewise.
15129 (grub-mkdevicemap): Likewise.
15130 (grub-probe): Likewise.
15131 (grub-setup): Likewise.
15132 (grub-ofpathname): Likewise.
15133 (grub-mklayout): Likewise.
15134 (example_unit_test): Likewise.
15135 (grub-menulst2cfg): Likewise.
15136 * grub-core/Makefile.core.def (grub-emu): Likewise.
15137 (grub-emu-lite): Likewise.
15138 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
15139 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
15140 define HAVE_DIOCGDINFO.
15141 (follow_geom_up) [FreeBSD]: New function.
15142 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
15143 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
15144 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
15145 unconditionally of HAVE_DIOCGDINFO.
15146
82fe6c75
VS
151472011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 Fix FreeBSD compilation problem.
15150
15151 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
15152 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
15153
4c6c9431
CW
151542011-03-24 Colin Watson <cjwatson@ubuntu.com>
15155
15156 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
15157 Switch back to page zero before loading a kernel, since some kernel
15158 drivers expect that.
15159 Thanks to: Felix Kuehling.
15160
c7064d94
VS
151612011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15162
15163 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
15164 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
15165 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
15166
3f71cded
VS
151672011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15168
15169 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
15170 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
15171
ef6de21a
VS
151722011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15173
15174 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
15175 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
15176 malloc is disabled.
15177
8bc66a2c
VS
151782011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15179
15180 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
15181 for modules headers when counting the needed allocation size.
15182
5657722c
VS
151832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15184
15185 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
15186 if no ASCII character is found to prevent crash.
15187
41a85f55
AK
151882011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
15189
15190 * grub-core/video/bitmap.c (match_extension): Ignore case.
15191
59e1e5f1
VS
151922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15193
15194 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
15195
bd4d051a
VS
151962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15197
15198 * grub-core/script/parser.y: Declare "time" as valid argument.
15199
bae7fcc1
PJ
152002011-03-23 Peter Jones <pjones@redhat.com>
15201
15202 Fix incorrect assert failure reporting.
15203
15204 * grub-core/tests/example_functional_test.c (example_test): Add
15205 a failure comment.
15206 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
15207 (failure_start): ...this. Check that malloc succeeded.
15208 Don't call xvasprintf. Return failure struct.
15209 (failure_append_vtext): New function.
15210 (failure_append_text): Likewise.
15211 (add_failure): Likewise.
15212 (grub_test_assert_helper): Likewise.
15213 * include/grub/test.h (grub_test_assert_helper): New declaration.
15214 (grub_test_assert): Macro rewritten.
15215
537dc9be
VS
152162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15217
15218 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
15219
fa3e01bf
VS
152202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15221
15222 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
15223
b1d28404
VS
152242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15225
15226 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
15227 into GRUB-style one.
15228
2e3e2e09
VS
152292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15230
15231 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
15232 error and not grub_errno.
15233 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
15234
ed57e557
VS
152352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15236
15237 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
15238 GRUB_USB_SPEED_NONE in case of failure and not the error code.
15239
d1611f01
VS
152402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15241
15242 * grub-core/efiemu/i386/pc/cfgtables.c
15243 (grub_machine_efiemu_init_tables): Make declaration a prototype.
15244 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
15245 (grub_xnu_unlock): Likewise.
15246 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
15247
7d4e39d6
VS
152482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15249
15250 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
15251 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
15252 * grub-core/commands/hashsum.c (aliases): Likewise.
15253 * grub-core/commands/setpci.c (pci_registers): Likewise.
15254 * grub-core/disk/usbms.c (attach_hook): Likewise.
15255 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
15256 (zio_checksum_table): Likewise.
15257 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
15258 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
15259 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
15260 * grub-core/lib/relocator.c (leftovers): Likewise.
15261 (extra_blocks): Likewise.
15262 * grub-core/loader/i386/bsd.c (relocator): Likewise.
15263 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
15264 (modules_last): Likewise.
15265 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
15266 (devices): Likewise.
15267 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
15268 (modules_last): Likewise.
15269 * grub-core/normal/auth.c (users): Likewise.
15270 * grub-core/normal/context.c (initial_menu): Likewise.
15271 (current_menu): Likewise.
15272 * grub-core/normal/crypto.c (crypto_specs): Likewise.
15273 * grub-core/term/serial.c (grub_serial_ports): Likewise.
15274 (grub_serial_terminfo_input_template): Likewise.
15275 (grub_serial_terminfo_output_template): Likewise.
15276 (grub_serial_terminfo_input): Likewise.
15277 (grub_serial_terminfo_output): Likewise.
15278 (registered): Likewise.
15279 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
15280
40fc4659
VS
152812011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
15284 grub_video_mode_type_t.
15285 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
15286 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
15287 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
15288
2da48d28
VS
152892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 * util/grub-install.in: Correct the x86-64 name as x86_64.
15292
9b43bf39
CW
152932011-03-11 Colin Watson <cjwatson@ubuntu.com>
15294
15295 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
15296 initial chunk read from the kernel always includes GRUB's multiboot
15297 header, which is now outside the first sector.
15298
be1a7ce0
CW
152992011-03-09 Colin Watson <cjwatson@ubuntu.com>
15300
15301 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
15302 cached mmap_size, so that this works correctly when called multiple
15303 times.
15304 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
15305
83a3c48d
CW
153062011-03-09 Colin Watson <cjwatson@ubuntu.com>
15307
15308 * docs/grub.texi (Simple configuration): Tidy up formatting.
15309
57d75699
SJ
153102011-03-07 Szymon Janc <szymon@janc.net.pl>
15311
15312 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
15313 Set-but-not-used variable removed.
15314
028501a0
VS
153152011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15316
15317 Workaround yet another IEEE1275 bug.
15318
15319 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
15320 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
15321 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
15322 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
15323 is set.
15324 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15325 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
15326
d998657d
VS
153272011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15328
15329 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
15330 error.
15331
fee7cdd4
CW
153322011-02-11 Colin Watson <cjwatson@ubuntu.com>
15333
15334 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
15335 empty, since in that case we can only generate either nothing or a
15336 syntactically invalid configuration file.
15337 Reported by: Michal Suchanek. Fixes Debian bug #612898.
15338
97286eb5
CW
153392011-02-09 Colin Watson <cjwatson@ubuntu.com>
15340
15341 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
15342 (Making a GRUB bootable CD-ROM): Likewise.
15343 (Invoking grub-mkrescue): New section.
15344 Reported by: Yann Dirson. Fixes Debian bug #612585.
15345
22b28eb3
CW
153462011-02-09 Colin Watson <cjwatson@ubuntu.com>
15347
15348 * util/grub-install.in: Remove unnecessary brackets from tr
15349 arguments.
15350 * util/grub.d/10_hurd.in: Likewise.
15351 * util/grub.d/10_kfreebsd.in: Likewise.
15352 * util/grub.d/10_linux.in: Likewise.
15353 * util/grub.d/20_linux_xen.in: Likewise.
15354 Reported by: Jamie Heilman. Fixes Debian bug #612564.
15355
7e735e43
CW
153562011-02-08 Colin Watson <cjwatson@ubuntu.com>
15357
15358 * include/grub/file.h (not_easly_seekable): Rename to ...
15359 (not_easily_seekable): ... this. Update all users.
15360
800f1881
CW
153612011-01-28 Colin Watson <cjwatson@ubuntu.com>
15362
15363 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
15364 grub-mkrescue.
15365
3281d3d6
VS
153662011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 * util/grub-mkimage.c (generate_image): Refuse to create the images
15369 bigger than the actual flash (512K) in Loongson machines. 512K is also
15370 the biggest chip supported by them.
15371
3533413c
VS
153722011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15373
15374 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
15375
73ae4f4f
VS
153762011-01-22 Anthony DeRobertis <anthony@derobert.net>
15377
15378 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
15379 super_offset field.
15380
37f4f608
VS
153812011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15382
15383 * util/grub-install.in: Ignore install device on platforms
15384 where it doesn't make sense. Always use UUIDs except on pc, efi and
15385 sparc64.
15386 Reported by: Daniel Kahn Gillmor.
15387
03a4ccb5
VS
153882011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15389
15390 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
15391
ffc8f4d8
VS
153922011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15393
15394 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
15395 (iterate_real): Don't rely on partition being non-NULL.
15396
80f23be7
VS
153972011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15398
15399 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
15400 supported platforms. Put a compile time assert for this rather than
15401 generate a warning with 32-bit shift.
15402
5d4f4dd5
VS
154032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15404
15405 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
15406 logical expression more readable.
15407
e489601a
VS
154082011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15409
15410 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
15411 even if some elements have a name.
15412 Reported by: Alexander GQ Gerasiov.
15413
96e0a6ea
CW
154142011-01-22 Colin Watson <cjwatson@ubuntu.com>
15415
15416 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
15417 path unreadable if `grub-probe -t abstraction' fails, for example if
15418 memberlist fails on an LVM volume group.
15419 Reported by: Darius Jahandarie.
15420
81431e2b
CW
154212011-01-22 Colin Watson <cjwatson@ubuntu.com>
15422
15423 * docs/grub.texi (Simple configuration): Document
15424 GRUB_PRELOAD_MODULES.
15425
5e79d66a
CW
154262011-01-17 Colin Watson <cjwatson@ubuntu.com>
15427
15428 * .bzrignore: Remove nonexistent grub-pbkdf2.
15429
646ada34
VS
154302011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * configure.ac: Bump version to 1.99~rc1.
15433
04360337
VS
154342011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15435
15436 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
15437 for safety.
15438
46c9db88
VS
154392011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15440
15441 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
15442 module.
15443
154442011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
15445
15446 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
15447
4fbf1852
VS
154482011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15449
15450 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
15451 diskdevid.
15452
f1632d4d
VS
154532011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15454
15455 Fix compilation on cygwin.
15456
15457 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
15458 -R .drectve on cygwin.
15459 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
15460 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
15461 (COND_CYGWIN): New condition.
15462 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
15463 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
15464 not @TARGET_OBJ2ELF@.
15465 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
15466 type to determine whether aux is to be used.
15467
0b5e127b
VS
154682011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
15471 realpath'ed device string.
15472 Handle floppy (somewhat).
15473 Issue error in unknown case rather than garbage.
15474 Reported by: Axel Beckert.
15475
173b71e9
VS
154762011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15477
15478 * util/grub.d/00_header.in (load_video): Handle the case when no video
15479 drivers available.
15480 Thanks to: Axel Beckert.
15481
f8f479db
VS
154822011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15483
15484 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
15485 variable. Fixes problem on big endian platforms.
15486
8fc0a245
VS
154872011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15488
15489 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
15490 It doesn't work well there.
15491
b8494fbe
VS
154922011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15493
15494 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
15495 warning.
15496 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
15497 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
15498 counter.
15499
b44a558c
VS
155002011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15501
15502 Use alias->path rather than buggy "canon".
15503
15504 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
15505 (ofdisk_hash_add): New argument curcan. All users updated.
15506
51fa856c
CW
155072011-01-11 Colin Watson <cjwatson@ubuntu.com>
15508
15509 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
15510
9da068a5
VS
155112011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15512
15513 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
15514 loadmask before doing any calculations. Use correct type for offset.
15515 (grub_linux_load64): Likewise.
15516
86205c94
CW
155172011-01-11 Colin Watson <cjwatson@ubuntu.com>
15518
15519 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
15520 with NULL.
15521 (console_grub_equivalences_unshift): Likewise.
15522 Reported by: Daniel Dehennin.
15523
4531a206
VS
155242011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15525
15526 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
15527 (set_env_limn_ro): Likewise.
15528 (GRUB_MOD_INIT): Likewise.
15529 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
15530 ARRAY_SIZE while on it.
15531 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
15532 * grub-core/normal/context.c (grub_env_export): Move from here ...
15533 * grub-core/kern/env.c (grub_env_export): ... here.
15534 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
15535 prefix.
15536 * grub-core/kern/main.c (grub_main): Export root and prefix.
15537 * include/grub/env.h (grub_env_export): Export.
15538 Reported by: Seth Goldberg.
15539
45146057
VS
155402011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15541
15542 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15543 Take into account space used by ELF sections and multiboot palette.
15544 Reported by: Grégoire Sutre.
15545
f093110b
VS
155462011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15547
15548 * BUGS: New file.
15549
3395fe52
VS
155502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15551
15552 Pass more appropriate video id to Linux.
15553
15554 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
15555 grub_video_get_driver_id and variable gfxpayloadforcelfb to
15556 fill have_vga.
15557 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
15558 shift params->lfb_size.
15559 * include/grub/i386/linux.h: Make an enume out of have_vga values.
15560
c2fa6cbb
VS
155612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15562
15563 * util/grub-menulst2cfg.c: Add missing include of misc.h.
15564
b3ff6ff0
VS
155652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15566
15567 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
15568 separator and pass bootpath/devid even if only one of them is available.
15569 Reported by: Seth Goldberg.
15570
ae67942e
VS
155712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
15574 implementations bug on them.
15575
15576 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
15577 memory.
15578 (filter_memory_map): Likewise.
15579
d570097a
VS
155802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15581
15582 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
15583 Reported by: nebuchadnezzar.
15584
a508e776
VS
155852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
15588 Reported by: nebuchadnezzar.
15589
dcb883b1
VS
155902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15591
15592 Submenu default support.
15593
15594 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
15595 auto_boot. All users updated.
15596 Declared static.
15597 Handle chosen and default with submenus.
15598 (grub_menu_execute_with_fallback): Declared static.
15599 Don't notify failure if autobooted. Upper level does it.
15600 (menuentry_eq): New function.
15601 (get_entry_number): Use menuentry_eq.
15602 (show_menu): New parameter "autobooted". All users updated.
15603 (grub_show_menu): Likewise.
15604 * include/grub/normal.h (grub_show_menu): Likewise.
15605 * include/grub/menu.h (grub_menu_execute_entry): Removed.
15606 (grub_menu_execute_with_fallback): Likewise.
15607
6fef99b4
VS
156082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15609
15610 * util/grub-mklayout.c (usage): Update help text.
15611
47a77af5
VS
156122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15613
15614 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
15615
ce6bb3ee
VS
156162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15617
15618 * util/grub-menulst2cfg.c (main): Trim the line.
15619
db87be2a
VS
156202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15621
15622 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
15623 (grub_machine_init): Don't check amount of low memory as reportedly
15624 INT 12h can be broken and if low memory is too low we wouldn't have
15625 gotten into grub_machine_init anyway.
15626
c49849cc
VS
156272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15628
15629 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
15630 (grub_machine_mmap_iterate): Take low memory into account
15631
b1969b30
VS
156322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15633
15634 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
15635 badfs.
15636 Reported by: TiCPU.
15637
cf0eaf13
VS
156382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15639
15640 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
15641 members errors.
15642
1f060f39
GS
156432011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
15644
15645 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
15646 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
15647
a21e5672
GS
156482011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
15649
15650 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
15651 openbsd and netbsd types being in part_bsd module.
15652
c88172fa
VS
156532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15654
15655 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
15656 (_FILE_OFFSET_BITS): Likewise.
15657 Reported by: Seth Goldberg.
15658
53798c4b
GS
156592011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15660
15661 * configure.ac: Check for libdevmapper header.
15662
e7121b69
VS
156632011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15664
15665 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
15666 avoid aliasing.
15667 (fzap_lookup): Likewise.
15668 (dnode_get): Likewise.
15669 (make_mdn): Likewise.
15670 (zfs_mount): Likewise.
15671 (fzap_iterate): Use temporary pointer to avoid aliasing.
15672 (grub_zfs_read): Likewise.
15673 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
15674 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
15675 pointers to avoid aliasing.
15676 (grub_cmd_xnu_kernel64): Likewise.
15677 (grub_xnu_load_driver): Likewise.
15678
fc836af9
VS
156792011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15680
15681 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
15682 aliasing warning.
15683 (grub_cmd_terminal_output): Likewise.
15684 Reported and tested by: Grégoire Sutre.
15685
f9f37648
VS
156862011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
15689 warning.
15690 Reported and tested by: Grégoire Sutre.
15691
ec1dfd63
VS
156922011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15693
15694 * configure.ac: Do CPU substitution even if it's specified explicitly.
15695 Reported and tested by: Alain Greppin.
15696
9462775a
VS
156972011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15698
15699 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
15700 Reported and tested by: Alain Greppin.
15701
0fd48e35
VS
157022011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15703
15704 Satisfy some bison versions need for inttypes.h.
15705
15706 * grub-core/lib/posix_wrap/inttypes.h: New file.
15707 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
15708 (int16_t): Likewise.
15709 (int32_t): Likewise.
15710 (int64_t): Likewise.
15711 Reported and tested by: Alain Greppin.
15712
43f1bc83
VS
157132011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15714
15715 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
15716 Silence spurious warning.
15717 Reported and tested by: Alain Greppin.
15718
64d1f041
SJ
157192011-01-07 Szymon Janc <szymon@janc.net.pl>
15720
15721 * docs/grub.texi (Support automatic decompression): Update with xz
15722 decompression support.
15723
25953e10
SJ
157242011-01-07 Szymon Janc <szymon@janc.net.pl>
15725
15726 Improve loaders' kernel command line handling.
15727
15728 * grub-core/lib/cmdline.c: New file.
15729 * include/grub/lib/cmdline.h: Likewise.
15730 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
15731 grub_create_loader_cmdline to create kernel command line.
15732 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15733 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
15734 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
15735 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
15736 (linux): Add lib/cmdline.c on common.
15737
e72d259f
VS
157382011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15739
15740 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
15741 inopos might be unaligned.
15742
c0cf26da
VS
157432011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
15746 endian transformations.
15747 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15748 Based on report by: Doug Nazar.
15749
0ca09e6c
DN
157502011-01-07 Doug Nazar <nazard.michi@gmail.com>
15751
15752 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
15753 array->members[i].start_sector.
15754 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
15755
014b6806
VS
157562011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15757
15758 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
15759 Reported and tested by: Grégoire Sutre.
15760
415502c2
CW
157612011-01-06 Colin Watson <cjwatson@ubuntu.com>
15762
15763 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
15764 avoid causing test failures by clearing the screen.
15765
71b6a2b7
CW
157662011-01-06 Colin Watson <cjwatson@ubuntu.com>
15767
15768 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15769 Fix prefix check to handle the case where dir ends with a slash
15770 (most significantly, "/" itself).
15771 Reported by: Michael Vogt.
15772
b3f8d28a
VS
157732011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15774
15775 Run terminfo_cls on initing terminfo output to clear the screen and
15776 move the cursor to (0,0).
15777
15778 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
15779 Call grub_terminfo_output_init.
15780 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
15781 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
15782 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
15783
4c3e4f37
VS
157842011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15785
15786 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
15787 only when needed.
15788
488f71f1
VS
157892011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
15792 CTRL.
15793
18a38098
VS
157942011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15795
15796 The E820 type 5 is BADRAM, not EXEC_CODE.
15797
15798 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
15799 (GRUB_E820_BADRAM): New define.
15800 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
15801 into reserved. Propagate BADRAM.
15802 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
15803 (GRUB_E820_BADRAM): New define.
15804
9eae2084
VS
158052011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15806
15807 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
15808 Ignore the memory post-4G.
15809 (grub_relocator_firmware_alloc_region): Additional debug statement.
15810
ebc71d28
VS
158112011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
15814 names.
15815 Reported by: David Pravec.
15816
446fa400
VS
158172011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15818
15819 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
15820 BIOSes.
15821
a0159f37
VS
158222011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
15825 Prevent overflow.
15826 (grub_reed_solomon_recover): Likewise.
15827
e5146ca1
VS
158282011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15829
15830 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
15831
158322011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
15833
15834 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
15835 variable.
15836
5b1bdf12
CW
158372011-01-04 Colin Watson <cjwatson@ubuntu.com>
15838
15839 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
15840 descriptions of extract_legacy_entries_source and
15841 extract_legacy_entries_configfile.
15842 Reported by: Seung Soo, Ha.
15843
99d925aa
CW
158442011-01-03 Colin Watson <cjwatson@ubuntu.com>
15845
15846 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
15847 on devices that do not implement function 0.
15848
4af0504b
DV
158492011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
15850
15851 * grub-core/fs/hfsplus.c: Make parent unsigned.
15852 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
15853 overflows.
15854 (grub_hfsplus_cmp_extkey): Likewise
15855
469ee10a
VS
158562011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
15857
15858 * util/grub-install.in: Correctly use bootloader_id and not
15859 GRUB_DISTRIBUTOR on efibootmgr line.
15860
323a8e9c
VS
158612011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
15862
15863 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
15864
1b394975
IC
158652010-12-31 Ian Campbell <ijc@hellion.org.uk>
15866
15867 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
15868 Xen and reorder menu item wording to make it clearer that this entry
15869 will launch Xen. Print separate messages when loading Xen and
15870 Linux.
15871
275bff5f
VS
158722010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15873
15874 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
15875 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
15876 loop in case of incorrect amiga partmap.
15877
307806cb
VS
158782010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15879
15880 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
15881 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
15882 Reported by:EHeM.
15883
b12b923e
VS
158842010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
15887 spurious warning.
15888 Reported by: crocket
15889
14b48a19
VS
158902010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15891
15892 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
15893 Preload EFIemu.
15894 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
15895
693db2df
VS
158962010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
15899 is loaded
15900 (grub_cmd_xnu_kextdir): Likewise.
15901 (grub_cmd_xnu_splash): Likewise.
15902
c7638645
VS
159032010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15904
15905 Avoid using Reed-Solomon with 0 redundancy.
15906
15907 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
15908 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
15909 or 0 redundancy.
15910 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
15911 (grub_reed_solomon_recover): Likewise.
15912
25dd4780
VS
159132010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 Don't use disk subsystem in freebsd_boot.
15916
15917 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
15918 (freebsd_biosdev): Likewise.
15919 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
15920 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
15921
0b2db943
VS
159222010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15923
15924 Handling of files of unknown size is currently limited. They can't be
15925 used e.g. for initrd or modules. Moreover gzip handling of not
15926 easily seekable files is buggy. Disable unknown file size for now. May
15927 be inefficient but works.
15928
15929 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
15930 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
15931
5c408d0f
MP
159322010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
15933
15934 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
15935 floppy probe.
15936
190a011a
JD
159372010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
15938
15939 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
15940
022d01b8
SL
159412010-12-25 Shea Levy <shlevy>
15942
15943 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
15944
c4855fdc
VS
159452010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15946
15947 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
15948 Windows Server 2008.
15949 Reported by: Devin Giddings.
15950
0354b867
VS
159512010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15952
15953 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
15954 writing an error message because of async power management.
15955 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
15956 (grub_reboot): Likewise.
15957
ab66c69f
JU
159582010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
15959
15960 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
15961 keep unit tests from failing when they shouldn't.
15962
1426ef35
CW
159632010-12-21 Colin Watson <cjwatson@ubuntu.com>
15964
15965 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
15966 previous patch increased the size of the RS code by 20 bytes (at
15967 least with gcc-4.4), so increase this by 20 bytes to match.
15968 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15969
20641b6b
CW
159702010-12-21 Colin Watson <cjwatson@ubuntu.com>
15971
15972 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
15973 scratch area. Make sure to initialise chosen in standalone mode as
15974 well as non-standalone.
15975 Reported by: Robert Hooker and Andy Whitcroft.
15976 Tested by: Andy Whitcroft.
15977
d060ad60
CW
159782010-12-21 Colin Watson <cjwatson@ubuntu.com>
15979
15980 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
15981 constructing a new unescaped string and passing it to grub_xputs in
15982 one go, rather than passing characters to grub_printf one at a time.
15983
b889cfad
CW
159842010-12-21 Colin Watson <cjwatson@ubuntu.com>
15985
15986 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
15987 initialising utf16.
15988
4e01b6c8
CW
159892010-12-21 Colin Watson <cjwatson@ubuntu.com>
15990
15991 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
15992 comment. Add an extra layer of quotation, requiring the output of
15993 this function to be used in a printf format string.
15994 (gettext_printf): New function.
15995 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
15996 Extract translatable strings from here-documents and use a temporary
15997 variable instead, so that xgettext can find them.
15998 * util/grub.d/10_kfreebsd.in: Likewise.
15999 * util/grub.d/10_linux.in: Likewise.
16000 * util/grub.d/20_linux_xen.in: Likewise.
16001
16002 * po/grub.d.sed: New file.
16003 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
16004 arguments. Set c-format flags on all strings extracted from
16005 util/grub.d/ (xgettext refuses to include these itself for strings
16006 it extracted from a shell file, but these really are c-format).
16007
5318fe98
VS
160082010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16009
16010 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
16011 Avoid next pointing to nowhere.
16012
6c85b743
VS
160132010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16014
16015 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
16016 rather than assuming than rootblock is exactly in the middle.
16017 (grub_affs_label): Likewise.
16018
a2a08a35
VS
160192010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16020
16021 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
16022 reserved_first_sector to 0.
16023 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
16024 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
16025 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
16026
7059d1ec
VS
160272010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16028
16029 Fix handling of UTF-16 UDF labels.
16030
16031 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
16032 (read_string): .. here.
16033 (grub_udf_label): Use read_string.
16034
30aff4cb
BC
160352010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
16036
16037 * grub-core/normal/menu_entry.c (run): Execute commands from menu
16038 editor under argument scope.
16039 Reported by: Jordan Uggla
16040
5cf86f4b
VS
160412010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16042
16043 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
16044
32570200
CW
160452010-12-18 Colin Watson <cjwatson@ubuntu.com>
16046
16047 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
16048 line, and other keys scroll an entire page (previous handling was
16049 for \r and \n to scroll a page and other keys to scroll two lines).
16050
e1dffcf2
VS
160512010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16052
16053 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16054 Set ptrdest to correct get_physical_target_address rather than
16055 incorrect get_virtual_current_address.
16056
b04298cf 160572010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
16058
16059 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
16060 correct cat to grub_uint8_t * rather than grub_uint32_t *.
16061
5367ecd3
CW
160622010-12-10 Colin Watson <cjwatson@ubuntu.com>
16063
16064 * .bzrignore: Ignore grub-core/rs_decoder.S.
16065
1fb430f8
CW
160662010-12-10 Colin Watson <cjwatson@ubuntu.com>
16067
16068 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
16069 .mo/.mo.gz opening sequence to ...
16070 (grub_mofile_open_lang): ... here.
16071 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
16072 * util/grub.d/00_header.in (grub_lang): Include country part of
16073 locale.
16074 Reported by: Mario Limonciello.
16075
a94a6671
RM
160762010-12-09 Robert Millan <rmh@gnu.org>
16077
16078 * NEWS: Document addition of ZFS support.
16079
24b7938b
CW
160802010-12-04 Colin Watson <cjwatson@ubuntu.com>
16081
16082 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
16083 rather than `/ 2', as the latter requires -Wa,--divide which would
16084 require bumping our minimum binutils version.
16085
bddc3ef6
BC
160862010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
16087
16088 * util/grub-script-check.c (main): Print script line number on
16089 error.
16090
bf78d5b2
RM
160912010-12-01 Robert Millan <rmh@gnu.org>
16092
16093 * grub-core/fs/zfs/zfs.c: New file.
16094 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
16095 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
16096 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
16097 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16098
16099 * include/grub/zfs/dmu.h: Likewise.
16100 * include/grub/zfs/dmu_objset.h: Likewise.
16101 * include/grub/zfs/dnode.h: Likewise.
16102 * include/grub/zfs/dsl_dataset.h: Likewise.
16103 * include/grub/zfs/dsl_dir.h: Likewise.
16104 * include/grub/zfs/sa_impl.h: Likewise.
16105 * include/grub/zfs/spa.h: Likewise.
16106 * include/grub/zfs/uberblock_impl.h: Likewise.
16107 * include/grub/zfs/vdev_impl.h: Likewise.
16108 * include/grub/zfs/zap_impl.h: Likewise.
16109 * include/grub/zfs/zap_leaf.h: Likewise.
16110 * include/grub/zfs/zfs.h: Likewise.
16111 * include/grub/zfs/zfs_acl.h: Likewise.
16112 * include/grub/zfs/zfs_znode.h: Likewise.
16113 * include/grub/zfs/zil.h: Likewise.
16114 * include/grub/zfs/zio.h: Likewise.
16115 * include/grub/zfs/zio_checksum.h: Likewise.
16116
16117 * Makefile.util.def: Build ZFS into libgrubmods.
16118 * grub-core/Makefile.core.def: Build zfs.mod.
16119
3f0f3831
SJ
161202010-11-30 Szymon Janc <szymon@janc.net.pl>
16121
16122 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
16123 variable.
16124 * grub-core/commands/wildcard.c (match_files): Likewise.
16125
3a4253b2
RM
161262010-11-30 Robert Millan <rmh@gnu.org>
16127
16128 * grub-core/loader/i386/bsd.c
16129 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
16130 whether kernel is loaded using grub_loader_is_loaded(), rather
16131 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
16132 certain error conditions.
16133
8c317b27
RM
161342010-11-30 Robert Millan <rmh@gnu.org>
16135
c5c9cd3e
RM
16136 * grub-core/commands/echo.c: Include `<grub/term.h>'.
16137 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 16138
49d3ab46
VS
161392010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16140
16141 Avoid using tricks for initialising endian variables.
16142
16143 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
16144 Make const.
16145 (GRUB_MOD_INIT): Don't byte-swap.
16146 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16147 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
16148 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
16149 (grub_swap_bytes32_compile_time): Likewise.
16150 (grub_cpu_to_le32_compile_time): Likewise.
16151 (grub_cpu_to_le16_compile_time): Likewise.
16152
f420a804
VS
161532010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16154
16155 * util/grub-setup.c (setup): Stop recommending --force. People who
16156 understand the dangers of blocklists are able to find this option
16157 anyway and the ones who don't shouldn't use it anyway.
16158
4e7db17b
RM
161592010-11-26 Robert Millan <rmh@gnu.org>
16160
16161 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
16162 Update all users.
16163
9be57a0d
CW
161642010-11-26 Colin Watson <cjwatson@ubuntu.com>
16165
16166 Fix LVM-on-RAID probing.
16167
16168 * util/grub-probe.c (probe): Remember which disk was detected as
16169 RAID (perhaps an LVM physical volume). Use that disk's raidname
16170 rather than that of the top-level disk.
16171
2c7859b3 161722010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 16173
d7647bb6
BC
16174 Fix cmdline argument quotes for setparams command of menuentry
16175 definitions.
7e623b0d
BC
16176
16177 * grub-core/commands/menuentry.c (setparams_prefix): Use single
16178 quotes for arguments.
f866fe80 16179 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 16180 grub_strchrsub function instead.
f866fe80 16181
7955bea0 16182 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 16183
74f72a64
CW
161842010-11-24 Colin Watson <cjwatson@ubuntu.com>
16185
16186 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
16187 effort by skipping "." and ".." entries up-front.
16188 Suggested by: Michael Lazarev.
16189
5a407278
CW
161902010-11-24 Colin Watson <cjwatson@ubuntu.com>
16191
16192 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
16193 ldflags to ldadd, to fix link line ordering.
16194 (none_decompress): Likewise.
16195
3030d8ec
CW
161962010-11-24 Colin Watson <cjwatson@ubuntu.com>
16197
16198 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
16199 platforms.
16200 (grub-emu-lite): Remove kern/emu/cache.S.
16201
b7fbac12
CW
162022010-11-23 Colin Watson <cjwatson@ubuntu.com>
16203
16204 * util/deviceiter.c (compare_devices): If the by-id link for a
16205 device couldn't be resolved, fall back to sorting by the by-id link
16206 rather than segfaulting.
16207 Reported and tested by: Daniel Mierswa.
16208
5225f328
CW
162092010-11-23 Colin Watson <cjwatson@ubuntu.com>
16210
16211 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
16212 ldflags, to fix link line ordering.
16213
038b3ce8
CW
162142010-11-23 Colin Watson <cjwatson@ubuntu.com>
16215
16216 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
16217 linkers are picky about this.
16218
bf16e98e
CW
162192010-11-23 Colin Watson <cjwatson@ubuntu.com>
16220
16221 * grub-core/Makefile.am (command.lst): Adjust sed expression
16222 ordering so that extended and priority commands aren't treated as
16223 ordinary commands.
16224
7242bab6
CW
162252010-11-23 Colin Watson <cjwatson@ubuntu.com>
16226
16227 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16228 Remove byte-swapping function calls, which are not valid in
16229 structure initialisers.
16230 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
16231 non-const.
16232 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
16233 grub_gpt_partition_type_bios_boot.
16234
14e8b279
CW
162352010-11-22 Colin Watson <cjwatson@ubuntu.com>
16236
16237 Fix test program build on GNU/kFreeBSD.
16238
16239 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
16240 $(LIBNVPAIR)' library dependencies.
16241
e6f63338 162422010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
16243
16244 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
16245
cf8ffc38
CW
162462010-11-22 Colin Watson <cjwatson@ubuntu.com>
16247
16248 * util/grub-install.in: Remove excessive quoting that broke
16249 installations to RAID devices.
16250
7f8b0fd7
VS
162512010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16252
16253 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
16254 bootloader version instead of 0.
16255
dfd240b1
VS
162562010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16257
16258 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
16259 warning.
16260
7b61e609
VS
162612010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16262
16263 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
16264 retrieve the metadat sector if size isn't known.
16265 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16266
9dfe92d0
RM
162672010-11-18 Robert Millan <rmh@gnu.org>
16268
16269 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
16270 with grub_memcmp().
16271
41cc919e
VS
162722010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
16273
16274 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
16275 arrow.
16276 Reported by: Jordan Uggla.
16277
1afcc914
VS
162782010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16279
16280 Make better UTF compliant.
16281
16282 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
16283 sequences as incorrect.
16284 (grub_is_valid_utf8): Likewise.
16285 (grub_utf8_to_ucs4): Likewise.
16286 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
16287 (grub_ucs4_to_utf8_alloc): Likewise.
16288 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
16289
f1808884
VS
162902010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 Make legacy_source behave like source.
16293
16294 * grub-core/commands/legacycfg.c (legacy_file): Don't call
16295 grub_show_menu.
16296 (grub_cmd_legacy_source): Call grub_show_menu if needed.
16297
24ec575b
CW
162982010-11-16 Colin Watson <cjwatson@debian.org>
16299
16300 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
16301 (-Wunused implies -Wunused-parameter, but not vice versa).
16302
72b7c7aa
CW
163032010-11-16 Colin Watson <cjwatson@ubuntu.com>
16304
16305 * configure.ac: Make error messages less confusing by testing for
16306 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
16307 accepted, but produces a diagnostic if something else is wrong).
16308
e98937aa
VS
163092010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16310
16311 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
16312 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
16313 (now unused).
16314 (grub_keyboard_controller_init)
16315 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
16316 read the initial state since controller isn't inited yet.
16317
f6bbabc3
VS
163182010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
16321 allocate_regbeg may need to create new chunk header.
16322
22e7dbb2
VS
163232010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 Fix quoting in legacy parser.
16326
16327 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
16328 single quotes.
16329 (grub_legacy_parse): Likewise.
16330 Reported by: Jordan Uggla.
16331 Tested by: Jordan Uggla.
16332
03f80960
VS
163332010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16334
16335 Don't add -lgcc on i386 and x86_64.
16336
16337 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
16338 * conf/Makefile.common (LDADD_KERNEL): Likewise.
16339 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
16340
779dc15b
VS
163412010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16342
16343 * configure.ac: Add -Wno-trampolines when supported.
16344
d20a3b37
MV
163452010-11-14 Modestas Vainius <modax@debian.org>
16346
16347 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
16348 fakeraid.
16349
e5360933
GC
163502010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16351
16352 Add generic logical block size support for UDF.
16353
16354 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
16355 (GRUB_UDF_BLKSZ): Removed.
16356 (struct grub_udf_data): New field "lbshift" to hold the logical block
16357 size of the file system in log2 format. All users updated.
16358 (sblocklist): Change type to unsigned.
16359 (grub_udf_mount): Change type of "sblklist" to unsigned.
16360 Move AVDP search before VRS recognition, because the latter requires
16361 knowledge of the logical block size, which is detected during the
16362 former.
16363 Detect and validate logical block size during AVDP search, adding
16364 support for block sizes 512, 1024 and 4096.
16365 Make VRS recognition independent of block size.
16366
cb0229c5
GC
163672010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16368
16369 Properly handle deleted files on UDF.
16370
16371 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
16372 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
16373 set.
16374
406858a8
GC
163752010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16376
16377 Support reading files larger than 2 GiB.
16378
16379 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
16380 "offset" to grub_off_t.
16381 (grub_udf_read_file): Likewise for parameter "pos".
16382
130da6a7
VS
163832010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16384
16385 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
16386 unavailable.
16387 (Simple configuration): Refer to Changes from GRUB Legacy about
16388 save_env availability.
16389
65e93f6b
VS
163902010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16391
16392 * util/grub-install.in: Ignore empty partition table detection
16393 instead of trying to include part_ module.
16394
1fd08bf1
VS
163952010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16396
16397 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
16398 LVM on RAID support.
16399
de1a024f
VS
164002010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16401
16402 Properly define WORDS_BIGENDIAN in wrapped environments.
16403
16404 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
16405 definition.
16406 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
16407
16408 Reported by: Manoel Rebelo Abranches.
16409 Tested by: Manoel Rebelo Abranches.
16410
bc5dd0b9
VS
164112010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16412
16413 * util/grub-mkconfig.in: Fix quoting.
16414
58c184be
VS
164152010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16416
16417 Support big ext2 files.
16418
16419 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
16420 (grub_ext2_read_block): Support triple indirect blocks.
16421 (grub_ext2_read_file): Use 64-bit types and read size_high.
16422 (grub_ext2_open): Read size_high.
16423 Reported by: Ximin Luo.
16424 Tested by: Manoel Rebelo Abranches.
16425
5f0c02b3
VS
164262010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16427
16428 * util/grub-install.in: Handle filenames containing spaces.
16429 Reported by: Jordan Uggla.
16430 Tested by: Jordan Uggla.
16431
4417aae6
VS
164322010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16433
16434 * util/grub-mkconfig.in (grub_script_check): New variable.
16435 Use grub_script_check instead of grub-script-check.
16436 Reported by: Barry Jackson.
16437
7625a68e
VS
164382010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16439
16440 * docs/grub.texi (menu): Correct the order.
16441 Reported by: D. Hugh Redelmeier.
16442
10001ac5
VS
164432010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16444
16445 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
16446 jump.
16447
9c4cf53b
MRA
164482010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
16449
10001ac5
VS
16450 * include/grub/elfload.h (grub_elf32_size): New parameter.
16451 All users updated.
9c4cf53b
MRA
16452 Return maximum segments alignment.
16453 (grub_elf64_size): Likewise.
16454 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
16455 Return maximum segments alignment.
16456 (grub_elf64_size): Likewise.
16457 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
16458 (grub_linux_claimmap_iterate): New function. Uses the
16459 "available" property in the "memory" node for memory allocation
16460 for kernel in the PowerPC loader.
9c4cf53b
MRA
16461 (grub_linux_load32): Correctly find linux entry point offset.
16462 (grub_linux_load64): Likewise.
16463
d2bf06bf
RM
164642010-11-07 Robert Millan <rmh@gnu.org>
16465
16466 On mips-yeeloong, build with -march=loongson2f when this flag is
16467 available (GCC >= 4.4).
16468 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
16469 `-march=mips3'.
16470 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
16471 or otherwise add -march=mips3.
16472
898c99a2
BC
164732010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
16474
87220a68
BC
16475 Suppress shell expansion on echo '*' and echo "*" like cases.
16476 Reported by: Jordan Uggla.
898c99a2
BC
16477
16478 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
16479 string arguments before shell expansion.
16480 * tests/grub_cmd_echo.in: New testcases.
16481
4f9b406a
RM
164822010-11-07 Robert Millan <rmh@gnu.org>
16483
16484 * conf/mips-qemu-mips.rmk: Remove stale file from previous
16485 transition.
16486
80c6d25e
VS
164872010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
16488
16489 * grub-core/kern/emu/hostdisk.c
16490 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
16491
4a1a0153
VS
164922010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16493
16494 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
16495 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
16496 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
16497
34706ddc
VS
164982010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16499
16500 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
16501
6972dea9
VS
165022010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16503
16504 * util/grub-install.in: Replace useless recomendation to pass
16505 --modules with a recomendation to report a bug.
16506
9c693bd6
VS
165072010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16508
16509 Properly register serial terminfo.
16510 Reported by: Jordan Uggla
16511
16512 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
16513 const.
16514 (grub_serial_terminfo_output_template): Likewise.
16515 (grub_cmd_serial): Register "serial" with terminfo.
16516 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
16517 grub_serial_terminfo_output.
16518
6c9e4c0c
RM
165192010-11-05 Robert Millan <rmh@gnu.org>
16520
16521 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
16522 needed).
16523
b9b3839f
RM
165242010-11-05 Robert Millan <rmh@gnu.org>
16525
16526 On Yeeloong, pass machine type information to Linux.
16527
16528 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
16529 (LOONGSON_MACHTYPE): New macro, set to
16530 "machtype=lemote-yeeloong-2f-8.9inches".
16531 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
16532 additional argument to Linux.
16533
1a3aaff4
RM
165342010-11-04 Robert Millan <rmh@gnu.org>
16535
16536 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
16537 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
16538 (its SATA disks are detected as slaveless IDE master drives on
16539 kFreeBSD).
16540 Reported by Carsten Aulbert.
16541
a75f4f62
CW
165422010-11-02 Colin Watson <cjwatson@ubuntu.com>
16543
16544 * util/bin2h.c (main): Fix spelling error in generated output.
16545
33b4b0c6
GS
165462010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
16547
16548 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
16549
2b36fbf4
VS
165502010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16551
16552 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
16553 vga= option is supplied.
16554
74aaf558
VS
165552010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16556
16557 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
16558 * util/grub.d/10_kfreebsd.in: Likewise.
16559 * util/grub.d/10_linux.in: Likewise.
16560 * util/grub.d/20_linux_xen.in: Likewise.
16561
6428dec3
VS
165622010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16563
16564 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
16565 argument as an argument to no-argument option.
16566
f8729d98
VS
165672010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16568
16569 * util/grub.d/10_linux.in: Add missing load_video with explicit
16570 GRUB_GFXPAYLOAD_LINUX.
16571
89d68fa6
VS
165722010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16573
16574 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
16575
3a1197cd
VS
165762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16577
16578 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
16579 elements with invlid index.
16580 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16581 * grub-core/disk/raid.c (insert_array): Automatically reallocate
16582 members.
16583 * include/grub/raid.h (grub_raid_member): New struct.
16584 (grub_raid_array): Transform devices and start_sector into usage of
16585 grub_raid_member. All users updated
16586 (allocated_devs): New member.
16587
71574288
VS
165882010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16589
16590 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
16591 is modified
16592
8d40ec65
BC
165932010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
16594
16595 NetBSD build fix for getline function conflict from gnulib.
16596
16597 * Makefile.util.def (libgrubkern.a): New library for grub kernel
16598 components that depend on gnulib headers.
16599 (libgrubmods.a): Renamed from earlier libgrub.a.
16600 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
16601
95b9257e
VS
166022010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16603
16604 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
16605 install rather than creating a broken install.
16606
26c53dc6
VS
166072010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16608
16609 * util/grub-setup.c (argp): Remove misleading example of installing to
16610 a partition.
16611
4171b3c5
VS
166122010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16613
16614 * util/grub-setup.c (setup): Clarify the error message.
16615
18568d18
VS
166162010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16617
16618 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
16619
4f6a2e21
VS
166202010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16621
16622 * grub-core/kern/emu/misc.c
16623 (grub_make_system_path_relative_to_its_root)
16624 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
16625
166262010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
16627
16628 * grub-core/kern/emu/misc.c
16629 (grub_make_system_path_relative_to_its_root): Revert r2882.
16630
e138c458
VS
166312010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
16632
16633 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
16634 useless field head. All users updated.
16635 (free_subchunk): Correct handling of IN_REGION subchunk.
16636
0cbcdf0e
CW
166372010-10-22 Colin Watson <cjwatson@ubuntu.com>
16638
16639 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
16640 (Supported kernels): Likewise.
16641
b65ea155
GS
166422010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16643
16644 Make mktemp invocations portable.
16645
16646 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
16647 exit if mktemp fails.
16648 * tests/grub_script_blockarg.in: Likewise.
16649 * tests/partmap_test.in: Likewise.
16650 * tests/util/grub-shell-tester.in: Likewise.
16651 * tests/util/grub-shell.in: Likewise.
16652 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16653 * Makefile.am: Likewise, and chain shell commands with `&&'
16654 instead of ';'.
16655 * util/grub-mkrescue.in: Use the same explicit template as above, and
16656 exit if mktemp fails.
16657
05f43cdd
BC
166582010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
16659
16660 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
16661 Linux kernel, reported by Dennis Schridde.
16662
800e6a9b
SJ
166632010-10-17 Szymon Janc <szymon@janc.net.pl>
16664
16665 * grub-core/normal/auth.c (grub_auth_check_authentication):
16666 Set-but-not-used variable removed.
16667
d82df574
VS
166682010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16669
16670 * docs/grub.texi (GNU/Linux): Document APM unavailability with
16671 32-bit linux protocol.
16672
7bced458
VS
166732010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16674
16675 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
16676 cursor shape for sanity.
16677
5b027690
VS
166782010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16679
16680 * docs/grub.texi (Installation): Document buggy BIOS install.
16681
ba5f65cf
VS
166822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16683
16684 * docs/grub.texi (Installation): Indent.
16685
fdf2ec9c
VS
166862010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16687
16688 * util/grub-setup.c (setup): New parameter allow_floppy.
16689 (arguments): New member allow_floppy.
16690 (argp_parser): Handle --allow-floppy.
16691 (main): Pass allow_floppy.
16692 * util/grub-install.in: New option --allow-floppy passed though to
16693 grub-setup.
16694
861dfd4c
VS
166952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16696
16697 * util/grub-install.in: Handle partitionless disks.
16698
f77a8c24
VS
166992010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16700
16701 * util/grub-setup.c (setup): Don't clean blocklists before readability
16702 verfification.
16703
27d9ee32
VS
167042010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16705
16706 * docs/grub.texi (Installation): Document embedding zone. Remove
16707 obsolete grub-install example.
16708
6bdda8f8
SJ
167092010-10-16 Szymon Janc <szymon@janc.net.pl>
16710
16711 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
16712 Set-but-not-used variable ifdef'ed.
16713 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
16714 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
16715 variable removed.
16716 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
16717 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
16718 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
16719 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
16720 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
16721 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
16722 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
16723 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
16724 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
16725 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
16726 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
16727 Likewise.
16728
e19b016b
VS
167292010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16730
16731 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
16732 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
16733 enum value.
16734
6c8d3002
VS
167352010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16736
16737 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
16738 synonym to _S5_. Needed for some DSDTs.
16739
c32b51c9
VS
167402010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16741
16742 Userspace ACPI parser debugging.
16743
16744 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
16745 headers and add relevant defines. Don't include standard headers.
16746 (main) [GRUB_DSDT_TEST]: New function.
16747 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
16748 Don't declare functions.
16749
fbfbeb39
VS
167502010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16751
16752 Remove dead grub_efi_mm_fini.
16753
16754 * grub-core/kern/efi/mm.c (allocated_page): Removed.
16755 (ALLOCATED_PAGES_SIZE): Likewise.
16756 (MAX_ALLOCATED_PAGES): Likewise.
16757 (allocated_pages): Likewise.
16758 (grub_efi_allocate_pages): Don't record allocated pages.
16759 (grub_efi_free_pages): Likewise.
16760 (grub_efi_mm_init): Likewise.
16761 (grub_efi_mm_fini): Removed.
16762
65f7ed7c
VS
167632010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16764
16765 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
16766 (grub_efi_mm_init): Take into account the memory map size increase.
16767
24977b44
VS
167682010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16769
16770 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
16771 (serial_hw_put): Wait based on real time rather than port reads. Don't
16772 roken ports.
16773 * include/grub/serial.h (grub_serial_port): New field broken.
16774
1eb01cd2
RM
167752010-10-16 Robert Millan <rmh@gnu.org>
16776
16777 * grub-core/kern/emu/misc.c
16778 (grub_make_system_path_relative_to_its_root): Fix premature return
16779 when processing non-root ZFS filesystems.
5f8b440b 16780 Reported by Sergio Talens-Oliag.
1eb01cd2 16781
2d5fed60
RM
167822010-10-15 Robert Millan <rmh@gnu.org>
16783
16784 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
16785 guarantee compressed ones are processed first.
16786
d0f4c1ea
VS
167872010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16788
16789 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
16790 grub_efiemu_autocore.
16791
d87c681f
VS
167922010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16793
16794 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
16795 rather than 0x1b.
16796 (grub_console_getkey): Use correct jae opcode rather than ja.
16797
219b3564
RM
167982010-10-12 Robert Millan <rmh@gnu.org>
16799
16800 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
16801 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
16802 variable. All references updated.
16803
16804 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
16805
20c6bb7e
VS
168062010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
16807
16808 Correctly distinguish mdraid flavours.
16809
16810 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
16811 (insert_array): New argument raid.
16812 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
16813 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
16814 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
16815
74baff84
VS
168162010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
16817
16818 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
16819 handling of special keys.
16820
3ef068df 168212010-10-02 Aleš Nesrsta <starous@volny.cz>
16822
c7980ad9
VS
16823 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
16824 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 16825
a9455194 168262010-10-02 Aleš Nesrsta <starous@volny.cz>
16827
c7980ad9
VS
16828 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
16829 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
16830 users updated.
a9455194 16831 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 16832 Use right endpoint when querying descriptor.
a9455194 16833
441cfe65
VS
168342010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
16835
16836 Clear out 0x80 color bit on EFI.
16837 Tested by: decoder
16838 Reported by: decoder and meta tech.
16839
16840 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
16841 (grub_console_setcolorstate): Clear out 0x80 bit.
16842 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
16843 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
16844 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
16845
bf26bcc4
VS
168462010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
16847
16848 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
16849 Set to "auto".
16850
6e3c515d
VS
168512010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16852
16853 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
16854 mo_file after freeing.
16855
e6d983ba
VS
168562010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16857
16858 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
16859
74ccb5b5
VS
168602010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16861
16862 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
16863 flags.
16864
17821956
VS
168652010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16866
16867 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
16868 usage.
16869
ee74fa48
VS
168702010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16871
16872 Put terminfo into core on ieee1275 and yeeloong (needed for console).
16873
16874 * gentpl.py: New groups terminfoinkernel and terminfomodule.
16875 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
16876 and terminfo.h when needed.
16877 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
16878 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
16879 (terminfo): Enable only on terminfokernel.
16880 (extcmd): Likewise.
16881 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
16882 * include/grub/lib/arg.h: Likewise.
16883 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
16884 incorrect usage of ->.
16885
aa438e68
VS
168862010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16887
16888 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
16889 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
16890
57994012
VS
168912010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16892
16893 Fix coreboot compilation.
16894
16895 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16896 Take VBE info into account even if only text is supported.
16897 (fill_vbe_info): Take into account the case when only VGA text
16898 is supported.
16899 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
16900 on coreboot, multiboot and qemu.
16901
2a406611
VS
169022010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16903
16904 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
16905 debug messages.
16906 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
16907
d33613fc
VS
169082010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16909
16910 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
16911 parameters.
16912
44a1b432
VS
169132010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16914
16915 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
16916 if they were BSD-style.
16917
edde54e6
VS
169182010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16919
16920 * grub-core/boot/i386/pc/lnxboot.S: Replace
16921 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
16922 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
16923
b65830fa
VS
169242010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16925
16926 Write embedding zone using Reed-Solomon.
16927
16928 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
16929 * grub-core/Makefile.am (rs_decoder.S): New target.
16930 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
16931 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
16932 (multiboot): Move to RS part.
16933 (post_reed_solomon): New label.
16934 (grub_boot_drive): Move to non-RS part since it's modified in memory
16935 on boot.
16936 Include rs_decoder.S.
16937 * grub-core/lib/reed_solomon.c: New file.
16938 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
16939 New definition.
16940 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
16941 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
16942 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
16943 * include/grub/partition.h (grub_partition_map): Change prototype of
16944 embed to allow returning additional sectors.
16945 * include/grub/reed_solomon.h: New file.
16946 * util/grub-setup.c (setup): Handle Reed-Solomon.
16947
0b4b227f
CW
169482010-09-28 Colin Watson <cjwatson@ubuntu.com>
16949
16950 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
16951 i386 and x86-64 definedness tests.
16952
f772623b
YB
169532010-09-27 Yves Blusseau <blusseau@zetam.org>
16954
16955 Fix generation of kernel_syms.lst
16956
16957 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
16958 ASM_PREFIX
16959
8e57a6ca
RM
169602010-09-26 Robert Millan <rmh@gnu.org>
16961
16962 Support degraded ZFS arrays in "grub-probe -t device" resolution.
16963
16964 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
16965 the pool is an array of devices, iterate through it and return the
16966 first device that passes a stat() test (instead of blindly returning
16967 the first one).
16968
f9130836
RM
169692010-09-26 Robert Millan <rmh@gnu.org>
16970
16971 Build fixes for GNU/kFreeBSD.
16972
16973 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
16974 to programs that require ZFS conversion.
16975 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
16976 kernels that don't have FLOPPY_MAJOR.
16977
96510faf
BC
169782010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16979
16980 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
16981
449333eb
BC
169822010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16983
16984 Fix grub-emu build.
16985
16986 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
16987 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
16988 mdraid09 and mdraid1x.
16989
e1fd1939
CW
169902010-09-24 Colin Watson <cjwatson@ubuntu.com>
16991
16992 Re-enable grub-extras.
16993
16994 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
16995 avoid confusing Automake. Run autogen only twice, once for the top
16996 level and once for grub-core. Add Makefile.util.def and
16997 Makefile.core.def from extra modules to the appropriate autogen
16998 invocations. If Makefile.common exists in an extra module, include
16999 it in both Makefile.util.am and grub-core/Makefile.core.am;
17000 similarly, include any Makefile.util.common file in Makefile.util.am
17001 and any Makefile.core.common file in grub-core/Makefile.core.am.
17002 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
17003 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
17004 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
17005 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
17006
17007 * gentpl.py (gvar_add): Turn GVARS into a set.
17008 (global_variable_initializers): Sort global variables on output.
17009 (vars_init): New function.
17010 (first_time): Likewise.
17011 (library): Ensure that non-global variable initialisations are
17012 emitted before the first time we emit code for a library block.
17013 Append to variables rather than setting them. Only emit
17014 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
17015 each conditional path.
17016 (program): installdir() emits an Autogen macro, so must be passed to
17017 var_add rather than gvar_add.
17018 (data): Likewise.
17019 (script): Likewise.
17020 (rules): New function, centralising handling for different target
17021 types. Set up Guile association lists for first_time and vars_init,
17022 and send most output to a diversion so that variable initialisations
17023 can be emitted first.
17024 (module_rules): Use new rules function.
17025 (kernel_rules): Likewise.
17026 (image_rules): Likewise.
17027 (library_rules): Likewise.
17028 (program_rules): Likewise.
17029 (script_rules): Likewise.
17030 (data_rules): Likewise.
17031
17032 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
17033
17034 * .bzrignore: Add contrib and grub-core/contrib. Remove
17035 grub-core/Makefile.gcry.am.
17036
1d12cf29
YB
170372010-09-24 Yves Blusseau <blusseau@zetam.org>
17038
17039 * grub-core/lib/LzFind.c: Add missing include.
17040 * grub-core/lib/LzmaEnc.c: Likewise.
17041 * grub-core/script/lexer.c: Likewise.
17042 * grub-core/script/yylex.l: Likewise.
17043 * util/grub-macho2img.c: Likewise.
17044 * util/grub-menulst2cfg.c: Likewise.
17045 * util/grub-mklayout.c: Likewise.
17046 * util/grub-mkpasswd-pbkdf2.c
17047 * util/grub-mkrelpath.c: Likewise.
17048 * util/resolve.c: Likewise.
17049
dd363028
BC
170502010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
17051
17052 * Makefile.util.def (example_unit_test): Add
17053 grub-core/gnulib/libgnu.a.
17054
f5a109e2
GS
170552010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
17056
17057 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
17058
6d0fa83c
VS
170592010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17060
17061 Support xz compression on yeeloong.
17062
17063 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
17064 * configure.ac: Check for LZMA.
17065 * grub-core/Makefile.core.def (xz_decompress): New target.
17066 (none_decompress): Likewise.
17067 * grub-core/boot/decompressor/minilib.c: New file.
17068 * grub-core/boot/decompressor/none.c: Likewise.
17069 * grub-core/boot/decompressor/xz.c: Likewise.
17070 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
17071 * grub-core/kern/mips/cache_flush.S: Likewise.
17072 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
17073 * grub-core/kern/mips/startup.S: Move first stage to ...
17074 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
17075 nomacro.
17076 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
17077 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
17078 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
17079 Allocate statically.
17080 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
17081 Allocate statically or use scratch. Don't check CRC32.
17082 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
17083 Allocate statically. Don't check CRC32.
17084 * include/grub/decompressor.h: New file.
17085 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
17086 Removed.
17087 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
17088 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
17089 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
17090 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
17091 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
17092 * util/grub-mkimage.c (grub_compression_t): New type.
17093 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
17094 (image_target_desc): New field default_compression.
17095 (image_targets): Adjust yeeloong targets.
17096 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
17097 (compress_kernel): New parameter comp.
17098 (generate_image): Likewise. Handle new compression case.
17099 (options): New option --compression
17100 (help): Likewise.
17101 (main): Handle new option.
17102
1b655af6
GS
171032010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
17104
17105 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
17106
8f03f0b5
CW
171072010-09-22 Colin Watson <cjwatson@ubuntu.com>
17108
17109 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17110 typo in __i386__ conditional.
17111
7835dfd3
VS
171122010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17113
17114 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
17115 include.
17116
e255597e
VS
171172010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17118
6d0fa83c 17119 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
17120
17121 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
17122 new tags as supported.
17123 (acpiv2_size): New function.
17124 (grub_multiboot_get_mbi_size): Take new tags into account.
17125 (grub_multiboot_make_mbi): Add new tags.
17126 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 17127
6cc14051 171282010-09-21 Aleš Nesrsta <starous@volny.cz>
17129
17130 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
17131 Added missing configuration of USB device.
17132
df7769d8
CW
171332010-09-21 Colin Watson <cjwatson@ubuntu.com>
17134
17135 * grub-core/normal/menu_entry.c (run): Make sure we always return
17136 a value.
17137
b031012d
CW
171382010-09-21 Colin Watson <cjwatson@ubuntu.com>
17139
17140 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
17141 NumberOfPages is UINT64 according to the UEFI specification, not
17142 UINTN. Fix printf format.
17143
174de8f3
CW
171442010-09-21 Colin Watson <cjwatson@ubuntu.com>
17145
17146 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
17147 `err' to grub_usb_err_t.
17148 Reported and tested by: KESHAV P.R.
17149
d7dbe923
CW
171502010-09-21 Colin Watson <cjwatson@ubuntu.com>
17151
17152 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
17153 tpart non-const, so that we can assign to it. (Since this is a
17154 typedef, the constness refers to the pointer rather than what it
17155 points to.)
17156
8d5e2af3
CW
171572010-09-21 Colin Watson <cjwatson@ubuntu.com>
17158
17159 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
17160 $(top_srcdir)/grub-core/gnulib as well as
17161 $(top_builddir)/grub-core/gnulib.
17162 Reported by: KESHAV P.R.
17163
5c527783
CW
171642010-09-21 Colin Watson <cjwatson@ubuntu.com>
17165
17166 * util/grub-install.in: Fix the bootloader ID option to be
17167 consistently --bootloader-id, not --bootloader_id.
17168 Reported by: KESHAV P.R.
17169
d309a16e
CW
171702010-09-21 Colin Watson <cjwatson@ubuntu.com>
17171
17172 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
17173 check hash checksum." consistently translatable.
17174
b830cd16
YB
171752010-09-21 Yves Blusseau <blusseau@zetam.org>
17176
17177 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
17178 $(top_builddir).
17179
c4fe27a8
CW
171802010-09-21 Colin Watson <cjwatson@ubuntu.com>
17181
17182 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
17183 (GRUB_MOD_INIT): Register sha1sum command.
17184 (GRUB_MOD_FINI): Unregister sha1sum command.
17185
a4c1d277
YB
171862010-09-21 Yves Blusseau <blusseau@zetam.org>
17187
17188 Keep boot and grub directory names in sync with utils scripts
17189
17190 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
17191 * config.h.in: Add previous macros.
17192 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
17193 * util/grub-install.in: Use $bootdir and $grubdir variables.
17194
4eff79d2
CW
171952010-09-21 Colin Watson <cjwatson@ubuntu.com>
17196
17197 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
17198 convert partition names to disk names if the new `convert' parameter
17199 is set.
17200 (grub_util_biosdisk_get_grub_dev): If opening the disk device
17201 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
17202 disk in its own right. This can happen with Xen disk images.
17203
934d7e44
YB
172042010-09-21 Yves Blusseau <blusseau@zetam.org>
17205
17206 * util/grub-editenv.c: Update strings to avoid warnings when generating
17207 grub.pot file.
17208 * util/grub-setup.c: Likewise.
934d7e44 17209
df3367cc
VS
172102010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17211
17212 * configure.ac: Change version to 1.99~beta0.
17213
77a94e98
VS
172142010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17215
17216 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17217 Add BADRAM.
17218 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
17219 Likewise.
17220 * include/multiboot.h: Resynced with specification.
17221 * include/multiboot2.h: Likewise.
17222
269004c1
CW
172232010-09-21 Colin Watson <cjwatson@ubuntu.com>
17224
17225 Fix po directory handling.
17226
17227 * configure.ac: Create po/Makefile.in rather than po/Makefile.
17228 * grub-core/gnulib/Makefile.am: Import gettext module.
17229 * m4/gnulib-cache.m4: Likewise.
17230 * m4/gnulib-comp.m4: Likewise.
17231 * m4/gettext.m4: New file, from gnulib.
17232 * m4/glibc2.m4: Likewise.
17233 * m4/iconv.m4: Likewise.
17234 * m4/intdiv0.m4: Likewise.
17235 * m4/intl.m4: Likewise.
17236 * m4/intldir.m4: Likewise.
17237 * m4/intlmacosx.m4: Likewise.
17238 * m4/intmax.m4: Likewise.
17239 * m4/inttypes-pri.m4: Likewise.
17240 * m4/lcmessage.m4: Likewise.
17241 * m4/lib-ld.m4: Likewise.
17242 * m4/lib-link.m4: Likewise.
17243 * m4/lib-prefix.m4: Likewise.
17244 * m4/lock.m4: Likewise.
17245 * m4/nls.m4: Likewise.
17246 * m4/po.m4: Likewise.
17247 * m4/printf-posix.m4: Likewise.
17248 * m4/progtest.m4: Likewise.
17249 * m4/threadlib.m4: Likewise.
17250 * m4/uintmax_t.m4: Likewise.
17251 * m4/visibility.m4: Likewise.
17252 * po/Makefile.am: Remove.
17253 * po/Makefile.in.in: New file, from gettext.
17254 ($(DOMAIN).pot-update): Support POTFILES-shell.
17255 * po/Makevars: New file.
17256 * po/POTFILES-shell: Rename to ...
17257 * po/POTFILES-shell.in: ... this. Update.
17258 * po/POTFILES: Rename to ...
17259 * po/POTFILES.in: ... this. Update.
17260 * po/Rules-quot: New file, from gettext.
17261 * po/boldquot.sed: Likewise.
17262 * po/en@boldquot.header: Likewise.
17263 * po/en@quot.header: Likewise.
17264 * po/insert-header.sin: Likewise.
17265 * po/quot.sed: Likewise.
17266 * po/remove-potcdate.sin: Likewise.
17267
3e0fa5d0
VS
172682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17269
17270 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
17271
ade9bd66
VS
172722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17273
17274 * util/grub.d/20_linux_xen.in: Use submenus.
17275
fc55cc4c
VS
172762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17277
17278 Support submenus.
17279
17280 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
17281 parameter submenu. All users updated.
17282 * grub-core/normal/main.c (free_menu): Rename to ...
17283 (grub_normal_free_menu): ... this. Made global.
17284 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
17285 if requested.
17286 * grub-core/normal/menu_entry.c (screen): New field submenu.
17287 (make_screen): Set submenu.
17288 (run): Open new context if requested.
17289 * include/grub/menu.h (grub_menu_entry): New field submenu.
17290 * include/grub/normal.h (grub_normal_free_menu): New proto.
17291
600cedf7
VS
172922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17293
17294 Menu entries extractor.
17295
17296 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
17297 variants.
17298 (GRUB_MOD_INIT): Register new variants.
17299 (GRUB_MOD_FINI): Unregister new variants.
17300 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
17301 into grub_cmd_legacy_source.
17302 (grub_cmd_legacy_source): Implement extractor variants.
17303 (GRUB_MOD_INIT): Register new variants.
17304 (GRUB_MOD_FINI): Unregister new variants.
17305 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
17306 as an extractor.
17307 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
17308 search as an extractor.
17309 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
17310 test as an extractor.
17311 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
17312 as an extractor.
17313 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
17314 (grub_env_new_context): New function.
17315 (grub_env_context_open): Likewise.
17316 (grub_env_extractor_open): Likewise.
17317 (grub_env_extractor_close): Likewise.
17318 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17319 grub_extractor_level.
17320 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
17321 * include/grub/env.h (grub_env_extractor_open): New proto.
17322 (grub_env_extractor_close): Likewise.
17323 * include/grub/normal.h (grub_extractor_level): New external variable.
17324
7bda3a87
VS
173252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17326
17327 Make cutmem accept a region specification.
17328 Suggested by: Samuel Thibault
17329
17330 * grub-core/mmap/mmap.c (parsemem): New function.
17331 (grub_cmd_cutmem): Handle new arguments.
17332
2ea57f88
VS
173332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17334
17335 New command cutmem.
17336
17337 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
17338 (GRUB_MOD_INIT): Register new command.
17339 (GRUB_MOD_FINI): Unregister new command.
17340
74342e31
VS
173412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 Support some annoying BSD and Minix subpartitions.
17344
17345 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
17346 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
17347 Properly handle concatenation.
17348 * grub-core/kern/device.c (grub_device_iterate): Likewise.
17349 * grub-core/normal/completion.c (iterate_partition): Likewise.
17350 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
17351 contain partition. All users updated.
17352 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
17353 struct.
17354 (grub_openbsdlabel_partition_map): Likewise.
17355 (bsdlabel_partition_map_iterate): Rename to ..
17356 (iterate_real): ... this. New arguments sector, freebsd and pmap.
17357 (bsdlabel_partition_map_iterate): New function.
17358 (netopenbsdlabel_partition_map_iterate): Likewise.
17359 (netbsdlabel_partition_map_iterate): Likewise.
17360 (openbsdlabel_partition_map_iterate): Likewise.
17361 (GRUB_MOD_INIT): Register new partmaps.
17362 (GRUB_MOD_FINI): Unregister new partmaps.
17363 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
17364 (grub_partition_msdos_iterate): ... this. All users updated.
17365 Don't support embedding other than in a minix partition.
17366 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
17367 proto.
17368 * include/grub/partition.h (grub_partition): New field msdostype.
17369 * util/grub-install.in: Handle openbsd and netbsd types being in
17370 part_bsd module.
17371
1e8d555b
VS
173722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17373
17374 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
17375
17376 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
17377 * grub-core/Makefile.core.def (mdraid): Renamed to ...
17378 (mdraid09): ... this.
17379 (mdraid1x): New module.
17380 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
17381 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
17382
899d8af4
VS
173832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17384
17385 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
17386 vsprintf.
17387
40901acd
CW
173882010-09-20 Colin Watson <cjwatson@ubuntu.com>
17389
17390 * grub-core/commands/efi/lsefimmap.c: Correct header.
17391 * NEWS: Update.
17392
dfe3b247
CW
173932010-09-20 Colin Watson <cjwatson@ubuntu.com>
17394
17395 * util/grub-editenv.c (argp_parser): Don't pass translated strings
17396 as printf format strings; the translations might contain '%' which
17397 could cause a crash.
17398 (main): Likewise.
17399 * util/grub-fstest.c (argp_parser): Likewise.
17400 * util/grub-setup.c (argp_parser): Likewise.
17401 (main): Likewise.
17402
3286a4b4
VS
174032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17404
17405 Use argp in grub-fstest.
17406
17407 * util/grub-fstest.c: Don't include getopt.h.
17408 Include argp.h.
17409 (root): New variable.
17410 (args_count): Likewise.
17411 (nparm): Likewise.
17412 (num_disks): Likewise.
17413 (images): Likewise.
17414 (cmd): Likewise.
17415 (debug_str): Likewise.
17416 (args): Likewise.
17417 (options): Transformed to argp.
17418 (usage): Removed.
17419 (main): Split argument parsing into ...
17420 (argp_parser): ... this. Changed to argp format.
17421 (argp): New variable.
17422 (main): Use argp_parse.
17423
3dccbe4b
TG
174242010-09-20 Tristan Gingold <gingold@free.fr>
174252010-09-20 Robert Millan <rmh.grub@aybabtu.com>
174262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17427
17428 * grub-core/commands/efi/lsefimmap.c: New file.
17429 * grub-core/Makefile.core.def (lsefimmap): New module.
17430 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
17431
38c259a7
VS
174322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17433
17434 Pause the execution (10s max) if any errors are displayed so the user
17435 has a chance to see them.
17436
17437 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
17438 (grub_print_error): Increment grub_err_printed_errors.
17439 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
17440 execution if any errors were displayed.
17441 (show_menu): Remove old code for pause.
17442 * grub-core/normal/menu_entry.c (run): Likewise.
17443 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
17444 users updated.
17445 (grub_normal_get_char_counter): Likewise.
17446 * include/grub/err.h (grub_err_printed_errors): New external variable.
17447 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
17448
f218b09c
VS
174492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17450
17451 Support multiboot VBE info.
17452
17453 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17454 Take VBE info into account.
17455 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
17456 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
17457 Call fill_vbe_info when appropriate.
17458 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
17459 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
17460 as supported.
17461 (grub_multiboot_get_mbi_size): Take new tags into account.
17462 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
17463 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
17464 Call fill_vbe_tag when appropriate.
17465 (grub_multiboot_make_mbi): Properly align tags.
17466 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
17467 function.
17468 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
17469 proto.
17470 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
17471
a9cc5438
VS
174722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17473
17474 Suport manual terminal geometry specification.
17475
17476 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
17477 Save state in grub_ofconsole_terminfo_output.
17478 (grub_ofconsole_term): Use grub_terminfo_getwh.
17479 (grub_ofconsole_getwh): Removed.
17480 * grub-core/term/serial.c (grub_serial_getwh): Removed.
17481 (grub_serial_term): Use grub_terminfo_getwh.
17482 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
17483 (options): New struct.
17484 (OPTION_*): New enum.
17485 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
17486 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
17487 width and height.
17488 (grub_terminfo_getwh): New proto.
17489 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
17490
1a8fed20
VS
174912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17492
17493 Handle legacy "terminal" command.
17494
17495 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
17496 and FLAG_TERMINAL.
17497 (legacy_commands): Add terminal and title.
17498 (grub_legacy_parse): Handle terminal. Simplify title handling.
17499
41e9c57d
VS
175002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17501
17502 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
17503 parameters overflow.
17504
61c874c5
CW
175052010-09-20 Colin Watson <cjwatson@ubuntu.com>
17506
17507 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
17508 widthspec.h.
17509
17510 * docs/grub.texi (Shell-like scripting): Document `!'.
17511 (Network): Simplify using new i386-pc-pxe format. Mention
17512 grub-mknetdir.
17513
17514 * NEWS: Update.
17515
943682b4
CW
175162010-09-20 Colin Watson <cjwatson@ubuntu.com>
17517
17518 * Makefile.am (SUBDIRS): Restore "."; it's important to force
17519 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
17520 when needed.
17521
6d3d698d
CW
175222010-09-20 Colin Watson <cjwatson@ubuntu.com>
17523
17524 * grub-core/commands/efi/lsefisystab.c: Correct header.
17525 * grub-core/commands/efi/lssal.c: Likewise.
17526 * grub-core/commands/testload.c: Likewise.
17527
c982589f
CW
175282010-09-20 Colin Watson <cjwatson@ubuntu.com>
17529
17530 * util/grub-mkrescue.in: Add explicit root argument to --set to
17531 prevent the UUID being interpreted as an argument to --set (matches
17532 previous change to prepare_grub_to_access_device).
17533
a63c31b6
CW
175342010-09-20 Colin Watson <cjwatson@ubuntu.com>
17535
17536 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
17537 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
17538 the verbosity of later #ifs.
17539 (find_partition_start): Define this function on FreeBSD too.
17540 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
17541 function.
17542 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
17543 on FreeBSD.
17544
6439b8ee
YB
175452010-09-20 Yves Blusseau <blusseau@zetam.org>
17546
17547 * util/grub-editenv.c: Use argp instead of getopt.
17548
c5930ec8
YB
175492010-09-20 Yves Blusseau <blusseau@zetam.org>
17550
17551 * util/grub-setup.c: Use argp instead of getopt.
17552
15c69261
YB
175532010-09-20 Yves Blusseau <blusseau@zetam.org>
17554
17555 Use gnulib-tool to create gnulib source files.
17556
17557 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
17558 grub-core/gnulib directories
17559 * .bzignore: Add **/.deps and autogenerated gnulib files
17560 * configure.ac: Assign auxiliary directory to build-aux, add invocation
17561 of gnulib macros, add grub-core/gnulib/Makefile
17562 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
17563 include m4 directory to aclocal.
17564 * Makefile.util.def: Remove direct compilation of gnulib source files
17565 and use the new grub-core/gnulib/libgnu.a.
17566 * build-aux/config.rpath: move config.rpath from top directory to
17567 build-aux
17568 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
17569 in gnulib headers
17570 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
17571 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
17572 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
17573 header.
17574 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
17575 string.
17576
e511c9f5
YB
175772010-09-20 Yves Blusseau <blusseau@zetam.org>
17578
17579 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
17580 grub-core/genmod.sh and grub-core/gensyminfo.sh
17581
c2dede05
BC
175822010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
17583
17584 Add a test for echo command options.
17585
17586 * tests/grub_cmd_echo.in: New test.
17587 * Makefile.util.def: Rules for new test.
17588
c55f5018
SJ
175892010-09-20 Szymon Janc <szymon@janc.net.pl>
17590
17591 Remove crc.mod and move crc command to hashsum.mod.
17592 Remove lib/crc.c - users updated to use gcrypt implementation.
17593
17594 * grub-core/commands/crc.c: Removed.
17595 * grub-core/Makefile.core.def (crc): Module removed.
17596 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
17597 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
17598 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
17599 * grub-core/lib/crc.c: Removed.
17600 * include/grub/lib/crc.h: Removed.
17601 * Makefile.util.def (crc): Remove lib/crc.c
17602 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
17603 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
17604 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
17605 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
17606 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
17607 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
17608
e0337366
VS
176092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
17612
742f9232
VS
176132010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17614
17615 Split config.h for util and core.
17616
17617 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
17618 (ADDR32): Likewise.
17619 (DATA32): Likewise.
17620 (BSS_START_SYMBOL): Likewise.
17621 (END_SYMBOL): Likewise.
17622 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
17623 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
17624 * config.h.in: New file.
17625 * configure.ac: Use config-util.h as config define file.
17626 Rename MACHINE into GRUB_MACHINE. All users updated.
17627 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
17628 updated.
17629 (NESTED_FUNC_ATTR): Likewise.
17630 Substitue new variables.
17631 (COND_HAVE_ASM_USCORE): New conditional.
17632 * grub-core/Makefile.am (ASM_PREFIX): New variable.
17633 (kernel_syms.lst): Use ASM_PREFIX.
17634 * grub-core/kern/emu/console.c: Include config-util.h.
17635 * grub-core/kern/emu/misc.c: Likewise.
17636 * grub-core/kern/emu/mm.c: Likewise.
17637 * include/grub/emu/misc.h: Likewise.
17638 * include/grub/libgcc.h: Likewise.
17639
39feb0e8
VS
176402010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17641
17642 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
17643 constants usage.
17644 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
17645 Fix GRUB_TERM_KEY_* constants usage.
17646 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
17647
9af6dac3
VS
176482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17649
17650 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
17651 print pointer.
17652 * grub-core/bus/usb/uhci.c: Remove empty define.
17653 (grub_uhci_check_transfer): Add missing cast.
17654 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
17655 print pointer.
17656 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
17657 PRIuGRUB_SIZE.
17658 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
17659
d6d94820
VS
176602010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17661
17662 * grub-core/Makefile.core.def (legacycfg): Add
17663 lib/i386/pc/vesa_modes_table.c on emu.
17664
3572f2b6
BC
176652010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
17666
17667 Reduce number of temporary files generated by build system.
17668
17669 * grub-core/gencmdlist.sh: Removed.
17670 * grub-core/genfslist.sh: Removed.
17671 * grub-core/genhandlerlist.sh: Removed.
17672 * grub-core/genmodsrc.sh: Removed.
17673 * grub-core/genpartmaplist.sh: Removed.
17674 * grub-core/genparttoollist.sh: Removed.
17675 * grub-core/gentermiinallist.sh: Removed.
17676 * grub-core/genvideolist.sh: Removed.
17677
17678 * grub-core/genmod.sh.in: New file.
17679 * grub-core/gensyminfo.sh.in: New file.
17680
17681 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
17682 * conf/Makefile.extra-dist: Update with new files.
17683 * gentpl.py: Remove rules related to unnecessary temporary files.
17684 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
17685 and und-* files.
17686 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
17687 genmod.sh scripts.
17688 * grub-core/bus/usb/uhci.c: Remove empty #define.
17689 * grub-core/genmoddep.awk: Updated with new syminfo format.
17690 * util/bash-completion.d/Makefile.am: Add config.log to
17691 CLEANFILES.
17692
c836b030
YB
176932010-09-19 Yves Blusseau <blusseau@zetam.org>
17694
17695 * Makefile.util.def: Add forgotten $(LIBINTL) library.
17696
2f4e8053
BC
176972010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
17698
17699 * util/grub-mkconfig.in: Check the config script for syntax errors
17700 before saving.
17701
75831c34
CW
177022010-09-19 Colin Watson <cjwatson@ubuntu.com>
177032010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17704
17705 * Makefile.util.def (grub-install): Use util/grub-install.in on all
17706 platforms.
17707 * util/grub-install.in: Add EFI and IEEE1275 support.
17708 * util/i386/efi/grub-install.in: Removed.
17709 * util/ieee1275/grub-install.in: Likewise.
17710
eaf41b25
VS
177112010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17712
17713 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
17714 (grub_cmd_cmosclean): Likewise.
17715 (GRUB_MOD_INIT): Register command cmosclean.
17716 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
17717 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
17718
1a9130dd
CPE
177192010-09-18 Carles Pina i Estany <carles@pina.cat>
177202010-09-18 Aleš Nesrsta <starous@volny.cz>
177212010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17722
17723 Add keyboard layouts support.
17724
17725 * Makefile.util.def (grub-mklayout): New file.
17726 (grub-kbdcomp): New script.
17727 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
17728 Add keyboard_layouts.h.
17729 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
17730 commands/boot.c on yeeloong.
17731 (keylayouts): New module.
17732 * grub-core/bus/usb/ohci.c
17733 * grub-core/bus/usb/uhci.c
17734 * grub-core/bus/usb/usbhub.c (rescan): New variable.
17735 (grub_usb_add_hub): Poll interrupt pipe for device handling.
17736 (attach_root_port): Likewise.
17737 (poll_nonroot_hub): Likewise.
17738 (grub_usb_poll_devices): Likewise.
17739 (detach_device): Close transfer.
17740 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
17741 function.
17742 (grub_usb_bulk_setup_readwrite): Likewise.
17743 (grub_usb_bulk_finish_readwrite): Likewise.
17744 * grub-core/commands/keylayouts.c: New file.
17745 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
17746 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
17747 aliases.
17748 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
17749 support scancode 2.
17750 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
17751 * include/grub/keyboard_layouts.h: New file.
17752 * util/grub-mklayout.c: New file.
17753 * util/grub-kbdcomp.in: Likewise.
17754
a1d84a5e
VS
177552010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17756
17757 Unify memory types.
17758
17759 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
17760 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
17761 types.
17762 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
17763 (grub_upper_mem): Likewise.
17764 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
17765 * include/grub/memory.h (grub_memory_type_t): New enum.
17766 All users updated.
17767
9696382e
VS
177682010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17769
17770 * grub-core/Makefile.core.def (lsapm): New module.
17771 * grub-core/commands/i386/pc/lsapm.c: New file.
17772 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
17773 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
17774 Likewise.
17775 * include/grub/i386/pc/apm.h: New file.
17776 * include/multiboot.h (multiboot_apm_info): New struct.
17777
177782010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17779
17780 GRUB-legacy configuration file support.
17781
17782 * Makefile.util.def (grub-menulst2cfg): New util.
17783 * docs/man/grub-menulst2cfg.h2m: New file.
17784 * grub-core/Makefile.core.def (legacycfg): New module.
17785 * grub-core/commands/legacycfg.c: New file.
17786 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
17787 (grub_normal_add_menu_entry): ... this.
17788 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
17789 (grub_normal_set_password): ...this.
17790 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
17791 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
17792 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
17793 * grub-core/lib/legacy_parse.c: New file.
17794 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
17795 * include/grub/i386/pc/vesa_modes_table.h: New file.
17796 * include/grub/legacy_parse.h: Likewise.
17797 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
17798 * util/grub-menulst2cfg.c: New file.
17799
bf8d1338
CW
178002010-09-17 Colin Watson <cjwatson@ubuntu.com>
17801
17802 * grub-core/kern/emu/hostdisk.c
17803 (convert_system_partition_to_system_disk): Initialise node.
17804
9c0bad2e
CW
178052010-09-17 Colin Watson <cjwatson@ubuntu.com>
17806
17807 * grub-core/kern/emu/hostdisk.c
17808 (convert_system_partition_to_system_disk): Fix devmapper memory pool
17809 leak.
17810 Reported and based on patch by: Modestas Vainius.
17811
a939d135
CW
178122010-09-17 Colin Watson <cjwatson@ubuntu.com>
17813
17814 Fix DM-RAID probing with recent versions of device-mapper udev
17815 rules.
17816
17817 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
17818 canonicalise device paths under /dev/mapper/.
17819 (convert_system_partition_to_system_disk): Compare the
17820 uncanonicalised path to /dev/mapper/ rather than the canonicalised
17821 path, since device nodes under /dev/mapper/ are often symlinks.
17822
0f7ee3c9
YB
178232010-09-17 Yves Blusseau <blusseau@zetam.org>
17824
17825 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
17826
10854d0d
YB
178272010-09-16 Yves Blusseau <blusseau@zetam.org>
17828
17829 * configure.ac: Avoid some annoying error messages if freetype-config
17830 program is not found.
17831
108538d8
CW
178322010-09-16 Colin Watson <cjwatson@ubuntu.com>
17833
17834 Support RAID on virtio devices, and others.
17835
17836 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
17837 Rename to ...
17838 [__MINGW32__] (grub_find_device): ... this.
17839 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
17840 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
17841 reasonable default if dir is NULL.
17842 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
17843 ...
17844 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
17845 (grub_guess_root_device): Update callers.
17846 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
17847
17848 * util/raid.c (grub_util_getdiskname): Remove.
17849 (grub_util_raid_getmembers): Use grub_find_device rather than
17850 grub_util_getdiskname.
17851
e5bfc130
CW
178522010-09-16 Colin Watson <cjwatson@ubuntu.com>
17853
17854 * docs/grub.texi (serial): Remove obsolete comment about GRUB
17855 needing to be compiled with serial support.
17856 (ls): Indicate that multiple files are accepted.
17857 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
17858 indicate that multiple files are accepted.
17859
be458ae2
CW
178602010-09-16 Colin Watson <cjwatson@ubuntu.com>
17861
17862 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
17863 libgrub_a_init.c, and util/bash-completion.d/grub.
17864
cb731b5e
VS
178652010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17866
17867 * util/grub-setup.c (setup): Fix incorrect container semantics.
17868
35139e8a
VS
178692010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17870
17871 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
17872 misusage.
17873 Reported by: J. Nick Terry
17874
e50fca4a
VS
178752010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17876
17877 Move embedding routines to partmap sources files.
17878
17879 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
17880 [GRUB_UTIL]: New variable.
17881 (gpt_partition_map_iterate): Set part.parent.
17882 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
17883 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
17884 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
17885 New function.
17886 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
17887 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
17888 (grub_partition_map) [GRUB_UTIL]: New field embed.
17889 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
17890 (setup): Use ->embed.
17891
f00478b7
VS
178922010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17893
17894 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
17895 function.
17896 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
17897 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
17898
2b94e3ff
YB
178992010-09-15 Yves Blusseau <blusseau@zetam.org>
17900
17901 Add function to get completions from usage.
17902
17903 * util/bash-completion.d/grub-completion.bash.in: Add function to get
17904 completions from usage. Use LC_ALL=C to get options properly.
17905
2e04a006
VS
179062010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17907
17908 * grub-core/gnulib/basename-lgpl.c: Imported.
17909 * grub-core/gnulib/basename.c: Likewise.
17910 * grub-core/gnulib/dirname-lgpl.c: Likewise.
17911 * grub-core/gnulib/dirname.c: Likewise.
17912 * grub-core/gnulib/dirname.h: Likewise.
17913 * grub-core/gnulib/stripslash.c: Likewise.
17914
5dcdf93a
VS
179152010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17916
17917 * grub-core/gnulib/error.c: Resynced.
17918 * grub-core/gnulib/getopt.c: Likewise.
17919 * grub-core/gnulib/getopt_int.h: Likewise.
17920 * grub-core/gnulib/regex.h: Likewise.
17921 * grub-core/gnulib/regex_internal.c: Likewise.
17922 * grub-core/gnulib/regex_internal.h: Likewise.
17923
014f47b7
SJ
179242010-09-15 Szymon Janc <szymon@janc.net.pl>
17925
17926 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
17927 CRC calculations and validity checks.
17928 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
17929 calculations.
17930
dd521a4a
SJ
179312010-09-15 Szymon Janc <szymon@janc.net.pl>
17932
17933 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
17934
79c4eeb9
VS
179352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17936
17937 Fix incorrect echo options handling.
17938 Reported by: Yves Blusseau.
17939
17940 * include/grub/command.h (grub_command_flags_t): New flags
17941 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
17942 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
17943 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
17944
ed80f7d5
VS
179452010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17946
17947 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
17948 users updated.
17949 (GRUB_COMMAND_FLAG_MENU): Likewise.
17950 (GRUB_COMMAND_FLAG_BOTH): Likewise.
17951 (GRUB_COMMAND_FLAG_TITLE): Removed.
17952 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
17953 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
17954 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
17955 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
17956 (grub_command_flags_t): New enum. All users updated.
17957
5fe7620a
SG
179582010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
17959
17960 Fix solaris compilation.
17961
17962 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
17963 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
17964 (grub-emu-list): Likewise.
17965
545b752f
VS
179662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17967
17968 Remove deprecated root command.
17969
17970 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
17971 updated.
17972
6c1a338c
VS
179732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17974
17975 * util/i386/pc/grub-setup.c: Merge this ...
17976 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
17977 * util/grub-setup.c: ... into this.
17978 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
17979 New struct.
17980
179812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17982
17983 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
17984 possible.
17985
d2ea4551
VS
179862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17987
17988 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
17989 allocate p.
17990
3c3b5040
VS
179912010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
17994 explicit root argument to set to prevent UUID to be interpreted as
17995 argument to set.
17996
b71c3fae
VS
179972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17998
17999 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
18000
275433e6
VS
180012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18002
18003 Don't export grub_gate_a20.
18004
18005 * grub-core/kern/i386/pc/init.c: Remove leftovers.
18006 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
18007 to ...
18008 (grub_gate_a20): ... this. All users updated.
18009 * include/grub/i386/pc/init.h: Removed. All users updated.
18010
a5dbb1f1
VS
180112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18012
18013 Create euro.pf2 which supports most European languages.
18014
18015 * Makefile.am (grubdata_DATA): Add euro.pf2.
18016 (euro.pf2): New target.
18017 (CLEANFILES): Add euro.pf2.
18018
62a747cb
VS
180192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18020
18021 * configure.ac: Disable emu-usb by default to prevent inadvertent
18022 device takeover.
18023
608e43b1
VS
180242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18025
18026 Disable usbserial on grub-emu since our libusb code isn't good enough
18027 yet.
18028
18029 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
18030 (usbserial_pl2303): Likewise.
18031 (usbserial_ftdi): Likewise.
18032
94564f81
VS
180332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18034
18035 * include/grub/disk.h (grub_disk): Remove has_partitions.
18036 All users updated.
18037 * disk/loopback.c (grub_loopback): Remove has_partitions.
18038 All users updated.
18039 (options): Remove partitions. All users updated.
18040 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
18041 * util/i386/pc/grub-setup.c (setup): copy partition table only when
18042 actual partition table is found.
18043
3352800b
VS
180442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18045
18046 Remove readability checks (too many false negatives).
18047
18048 * util/grub-install.in: Remove readability checks.
18049 * util/grub-mkconfig.in: Likewise.
18050 * util/grub.d/10_hurd.in: Likewise.
18051 * util/grub.d/10_kfreebsd.in: Likewise.
18052 * util/grub.d/10_linux.in: Likewise.
18053 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
18054 way.
18055
2419f17a
VS
180562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 Enable acpi shutdown on all ACPI platforms.
18059
18060 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
18061 on coreboo, multiboot and EFI.
18062 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
18063 (grub_acpi_halt): Likewise.
18064 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
18065 (grub_cmd_halt): Don't call grub_acpi_halt directly.
18066 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
18067 * grub-core/lib/i386/halt.c (grub_halt)
18068 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
18069
0575c7c3
VS
180702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18071
18072 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
18073 context.
18074
54ac3cd1
VS
180752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18076
18077 * grub-core/video/efi_gop.c: Fix over-80-chars line.
18078 * grub-core/video/efi_uga.c: Likewise.
18079
b2a30ac5
VS
180802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18081
18082 Filter devaliases and never open same device twice.
18083
18084 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
18085 (last_ihandle): Likewise.
18086 (ofdisk_hash_ent): New member shortest.
18087 (ofdisk_hash_add): Add canonical path too.
18088 (scan): New function.
18089 (grub_ofdisk_iterate): Iterate over hashed entries.
18090 (compute_dev_path): Don't add :0.
18091 (grub_ofdisk_open): Don't really open the disk.
18092 (grub_ofdisk_close): Avoid closing unrelated disk.
18093 (grub_ofdisk_read): Implement reopen logic.
18094 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
18095 New function.
18096 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
18097 New proto.
18098
fb53b340
VS
180992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18100
18101 Fix sparc64.
18102
18103 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
18104 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
18105 right address. Add sparc64_ieee1275_ldflags.
18106 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
18107 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
18108 to grub_host_to_target_addr
18109 (load_image): Likewise.
18110
f452b040
VS
181112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18112
18113 * grub-core/normal/completion.c (complete_file): Handle device
18114 containing slash.
18115 Fix based on patch by Doug Nazar.
18116
9b5b2541
VS
181172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18118
18119 grub-mknetdir script.
18120
18121 * Makefile.util.def (grub-mknetdir): New module.
18122 * tests/util/grub-shell.in: Support boot=net
18123 * util/grub-mknetdir.in: New file.
18124
9d2be652
VS
181252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18126
18127 videoinfo on non-vbe.
18128
18129 * grub-core/Makefile.core.def (vbeinfo): Removed.
18130 (vbetest): Removed.
18131 (videoinfo): New module.
18132 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
18133 * grub-core/commands/i386/pc/vbetest.c: Removed.
18134 * grub-core/commands/videoinfo.c: New file.
18135 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
18136 specification.
18137 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
18138 as vbetest.
18139 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
18140 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
18141 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
18142 mode_number. New parameter mode. All users updated.
18143 (grub_video_gop_iterate): New function.
18144 (grub_video_efi_gop): New member iterate.
18145 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
18146 (grub_vbe_set_video_mode): Remove setting useless fields.
18147 (vbe2videoinfo): New function.
18148 (grub_video_vbe_iterate): Likewise.
18149 (grub_video_vbe_setup): Use vbe2videoinfo.
18150 (grub_video_vbe_print_adapter_specific_info): New function.
18151 (grub_video_vbe_adapter): New fields iterate and
18152 print_adapter_specific_info.
18153 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
18154 All users updated.
18155 (grub_video_mode_info): New field mode_number.
18156 (grub_video_adapter): New fields iterate and
18157 print_adapter_specific_info.
18158
179503f5
TG
181592010-09-13 Tristan Gingold <gingold@free.fr>
181602010-09-13 Robert Millan <rmh.grub@aybabtu.com>
181612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18162
18163 * grub-core/commands/efi/lsefisystab.c: New file.
18164 * grub-core/commands/efi/lssal.c: Likewise.
18165 * grub-core/Makefile.core.def (lsacpi): New module.
18166 (lsefisystab): Likewise.
18167 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
18168 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
18169 (grub_efi_sal_system_table): New struct.
18170 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
18171 (grub_efi_sal_system_table_memory_descriptor): Likewise.
18172 (grub_efi_sal_system_table_platform_features): Likewise.
18173 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
18174 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
18175 (grub_efi_sal_system_table_ap_wakeup): Likewise.
18176 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
18177
cf9827de
VS
181782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18179
18180 Support explicit user claim that a device is BIOS-visible.
18181
18182 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
18183 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
18184 * grub-core/kern/emu/hostdisk.c
18185 (convert_system_partition_to_system_disk): Support mdX.
18186 (find_system_device): New parameter add. All users updated.
18187 (grub_util_biosdisk_is_present): New function.
18188 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
18189 proto.
18190
53f0eb1f
VS
181912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18192
18193 Search hints support.
18194
18195 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
18196 All users updated.
18197
b23ffd70
YB
181982010-09-13 Yves Blusseau <blusseau@zetam.org>
18199
18200 Bash completion script for util commands
18201
18202 * Makefile.am: Add util/bash-completion.d directory
18203 * configure.ac: Likewise.
18204 * util/bash-completion.d/Makefile.am: New file.
18205 * util/bash-completion.d/grub-completion.bash.in: Likewise.
18206
d547dc28
VS
182072010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18208
18209 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
18210 (print_backlog): set backlog_ucs4 and backlog_glyphs.
18211 Reported by: Yves Blusseau.
18212
2fc8ccb9
VS
182132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18214
18215 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
18216 partition size and offset.
18217
d8a84076
VS
182182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18219
18220 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
18221
84fb3b3d
VS
182222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
18225
768ec2e2
VS
182262010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18227
18228 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
18229 (grub_xvasprintf): Likewise.
18230
4870900f
VS
182312010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
18234
faca6bec
VS
182352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18236
18237 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
18238 args ending with NULL.
18239
182402010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
18241
18242 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
18243 pointer.
18244
3c70f225
SJ
182452010-09-11 Szymon Janc <szymon@janc.net.pl>
18246
18247 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
18248
4df7996d
VS
182492010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18250
18251 Shutdown using ACPI.
18252
18253 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
18254 * grub-core/commands/acpihalt.c: New file.
18255 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
18256 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
18257 (grub_acpi_halt): New proto.
18258 (GRUB_ACPI_SLP_EN): New const.
18259 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
18260 (GRUB_ACPI_OPCODE_*): New enum.
18261 (GRUB_ACPI_EXTOPCODE_*): Likewise.
18262
126b4c32
TG
182632010-09-11 Tristan Gingold <gingold@free.fr>
182642010-09-11 Robert Millan <rmh.grub@aybabtu.com>
182652010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18266
18267 * commands/lsacpi.c: New file.
18268 * grub-core/Makefile.core.def (lsacpi): New module.
18269 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
18270 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
18271 (grub_acpi_madt_entry_header): New struct.
18272 (grub_acpi_madt): Likewise.
18273 (grub_acpi_madt_entry_interrupt_override): Likewise.
18274 (grub_acpi_madt_entry_sapic): Likewise.
18275 (grub_acpi_madt_entry_lsapic): Likewise.
18276 (grub_acpi_madt_entry_platform_int_source): Likewise.
18277 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
18278 (PRIuGRUB_UINT32_T): Likewise.
18279 (PRIxGRUB_UINT64_T): Likewise.
18280
1aa4fe88
VS
182812010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18282
18283 Implement loading palette on ieee1275_fb.
18284
18285 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
18286 (have_setcolors): Likewise.
18287 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
18288 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
18289 (grub_video_ieee1275_set_palette): Implement.
18290
25761e13
VS
182912010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
182922010-09-11 Colin Watson <cjwatson@ubuntu.com>
18293
18294 * util/grub-install.in (grub_partition): New variable.
18295 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
18296 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
18297 Fixes a bug reported by Yves Blusseau.
18298
050abaea
VS
182992010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 Fix emu on mipsel.
18302
18303 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
18304 =grub_cpu_flush_cache on all mips and not only yeeloong.
18305 * configure.ac (COND_mips): New conditional.
18306 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
18307 platforms.
18308 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
18309 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
18310 [GRUB_LINKER_HAVE_INIT]: New function.
18311 (grub_emu_post_init): Likewise.
18312 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
18313 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
18314 * include/grub/cache.h (_mips): Include mips/cache.h.
18315 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
18316 LVM and RAID prototypes.
18317 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
18318 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
18319 function.
18320
5ed7d816
CW
183212010-09-10 Colin Watson <cjwatson@ubuntu.com>
18322
18323 * util/grub-install.in: Don't try to verify core.img until after
18324 running grub-mkimage to create it.
18325
90367e04
RM
183262010-09-10 Robert Millan <rmh@gnu.org>
18327
18328 * util/grub.d/10_hurd.in: Add misc readability checks.
18329 * util/grub.d/10_kfreebsd.in: Likewise.
18330 * util/grub.d/10_linux.in: Likewise.
18331
c452fa66
CW
183322010-09-10 Colin Watson <cjwatson@ubuntu.com>
18333
18334 * util/grub-install.in: ${imgext} won't be defined here until the
18335 install branch is merged. For the meantime, only verify core.img on
18336 i386-pc and sparc64-ieee1275 platforms.
18337
c38fe9f4
RM
183382010-09-10 Robert Millan <rmh@gnu.org>
18339
18340 Solaris support in grub_find_zpool_from_dir(). Thanks
18341 Seth Goldberg for referring to getextmntent() facility.
18342
18343 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
18344 `sys/mkdev.h'.
18345 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
18346 `<sys/mnttab.h>'.
18347 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
18348 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
18349 method for finding zpool name.
18350
905f7773
CW
183512010-09-10 Colin Watson <cjwatson@ubuntu.com>
18352
18353 grub-fstest needs the host and hostfs modules while other utilities
18354 actively require those modules to be absent, so grub-fstest needs
18355 its own initialisation and finalisation code.
18356
18357 * Makefile.am (grub_fstest.pp): New target.
18358 (grub_fstest_init.lst): Likewise.
18359 (grub_fstest_init.c): Likewise.
18360 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
18361
fb90b546
RM
183622010-09-10 Robert Millan <rmh@gnu.org>
18363
18364 * configure.ac: Check for `struct statfs.f_fstypename' and
18365 `struct statfs.f_mntfromname'.
18366
18367 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
18368 kFreeBSD-specific code.
18369
66d4bea5
RM
183702010-09-10 Robert Millan <rmh@gnu.org>
18371
18372 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
18373 on ZFS. Now non-main filesystems are supported as / too.
18374
b6a690ee
CW
183752010-09-09 Colin Watson <cjwatson@ubuntu.com>
18376
18377 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
18378 and grub-core/disk/host.c to ...
18379 (grub-fstest): ... here. Having the host disk implementation
18380 present confuses grub-probe and other utility programs.
18381
18382 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
18383 when writing to a file, not when writing to stdout.
18384
8901b00c 183852010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
18386
18387 * tests/partmap_test.in: New test for partitions.
18388 * Makefile.util.def: Rules for new test.
18389
7bf45fdd
RM
183902010-09-09 Robert Millan <rmh@gnu.org>
18391
18392 * util/grub-probe.c (probe): Fix a pair of unhandled error
18393 conditions.
18394
4dfbc574
RM
183952010-09-09 Robert Millan <rmh@gnu.org>
18396
18397 Basic Btrfs support (detection and UUID).
18398
18399 * grub-core/fs/btrfs.c: New file.
18400 * Makefile.util.def (library): Register btrfs.c.
18401 * grub-core/Makefile.core.def: Likewise.
18402
6b8e78ae
RM
184032010-09-08 Robert Millan <rmh@gnu.org>
18404
18405 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
18406 with (optional) parameters to specify device and relative path.
18407 * util/grub-install.in: Use is_path_readable_by_grub() to
18408 verify readability of a few critical files.
18409 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
18410 verify readability of grub.cfg.new.
18411
27f21a8b
VS
184122010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
18413
18414 Split minix.mod into minix.mod and minix2.mod.
18415
18416 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
18417 * grub-core/Makefile.core.def (minix2): New module.
18418 * grub-core/fs/minix.c: Use definitions instead of runtime version
18419 checking.
18420 * grub-core/fs/minix2.c: New file.
18421
c0e53ea5
YB
184222010-09-08 Yves Blusseau <blusseau@zetam.org>
18423
18424 Add new --boot-directory option to replace --root-directory
18425
18426 * util/grub-install.in: Add new --boot-directory option
18427 * util/grub-reboot.in: Likewise.
18428 * util/grub-set-default.in: Likewise.
18429
b9fe6ea2
YB
184302010-09-08 Yves Blusseau <blusseau@zetam.org>
18431
18432 * util/grub-mkconfig.in: Use new variable.
18433
d87aedff
YB
184342010-09-08 Yves Blusseau <blusseau@zetam.org>
18435
18436 * configure.ac: Define some useful variables.
18437
e55e8495
VS
184382010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
18439
18440 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18441 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
18442 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
18443 Use terminfo and don't use cursor-on/cursor-off unless it's known
18444 to work.
18445 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
18446 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
18447
6fa6d675
CW
184482010-09-08 Colin Watson <cjwatson@ubuntu.com>
18449
18450 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
18451 starts with "(,", fill the drive containing the loaded image in
18452 between those two characters, but expect that a full partition
18453 specification including partition map names will follow.
18454
92f2aef0
RM
184552010-09-08 Robert Millan <rmh@gnu.org>
18456
18457 * configure.ac: Remove `--enable-grub-fstest' option.
18458 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
18459
18460 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
18461 `grub-fstest' instead of `grub-probe' for readability verification.
18462 * util/grub-probe.c (probe): Remove readability verification kludge.
18463
99fd620d
RM
184642010-09-08 Robert Millan <rmh@gnu.org>
18465
18466 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
18467 initializing `GRUB_FS'.
18468
058e30ac 184692010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
18470
18471 Not command (!) support to GRUB script.
18472
18473 * tests/grub_script_not.in: New test.
18474 * Makefile.util.def: Rules for new test.
18475
18476 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18477 ! command as a special case.
18478 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
18479
b61d05ed 184802010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18481
058e30ac 18482 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
18483 grub_free.
b61d05ed 18484
4d69c786 184852010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18486
18487 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
18488
aa3119c4 184892010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18490
18491 * docs/grub.texi (Shell-like scripting): Documentation for break,
18492 continue, shift and return commands.
18493
db0f7e3d
VS
184942010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
18495
18496 Rename CD-ROM to cd on BIOS.
18497
18498 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
18499 "cd".
18500 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
18501
88b87c93
VS
185022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18503
18504 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
18505 * util/grub-probe.c (main): Likewise.
18506 * util/i386/pc/grub-setup.c (main): Likewise.
18507 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18508 Reported and debugged by: alexxy
18509
294f324d
VS
185102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18511
18512 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
18513 diagnostic info.
18514
d7ee3441
JS
185152010-09-05 Jo Shields <directhex@apebox.org>
18516
18517 * util/grub.d/30_os-prober.in: Add missing classes.
18518
d7e06c1f
VS
185192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 * docs/grub.texi (Theme file format): Document new position format.
18522
fc157e53
VS
185232010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18524
18525 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
18526 a table. Use @code instead of @verbatim.
18527
506e9a1c
CB
185282010-09-05 Colin D Bennett <colin@gibibit.com>
18529
18530 Gfxmenu documentation.
18531
18532 * docs/grub.texi (Theme file format): New chapter.
18533
f0aff67c
SJ
185342010-09-05 Szymon Janc <szymon@janc.net.pl>
18535
18536 * grub-core/Makefile.core.def (xzio): New module.
18537 * grub-core/io/xzio.c: New file.
18538 * grub-core/lib/xzembed/xz.h: New file (from xembed).
18539 * grub-core/lib/xzembed/xz_config.h: Likewise.
18540 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
18541 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
18542 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
18543 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
18544 * grub-core/lib/xzembed/xz_private.h: Likewise.
18545 * grub-core/lib/xzembed/xz_stream.h: Likewise.
18546 * include/grub/file.h (grub_file_filter_id): New compression filter
18547 GRUB_FILE_FILTER_XZIO.
18548
82a85062
VS
185492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18550
18551 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
18552 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
18553 size.
18554
3579415d
VS
185552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18556
18557 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
18558 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
18559
5124ae6d
VS
185602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18561
18562 Uncompressed checksum support.
18563
18564 * grub-core/commands/hashsum.c (options): Add option --uncompress.
18565 (check_list): New parameter uncompress.
18566 (grub_cmd_hashsum): Handle --uncompress.
18567
9aadb3d1
VS
185682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18569
18570 Reintroduce testload.
18571
18572 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
18573 from here ...
18574 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
18575 (GRUB_MOD_INIT): New function.
18576 (GRUB_MOD_FINI): Likewise.
18577 * grub-core/Makefile.core.def (testload): New module.
18578
a17792c3
SJ
185792010-09-05 Szymon Janc <szymon@janc.net.pl>
18580
18581 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
18582 (uint8_t): New type.
18583 (uint16_t): Likewise.
18584 (uint32_t): Likewise.
18585 (uint64_t): Likewise.
18586
b81e40a3
SJ
185872010-09-05 Szymon Janc <szymon@janc.net.pl>
18588
18589 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
18590
fc2ef117
VS
185912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18592
18593 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
18594 Made static.
18595 (grub_gzfile_open): Removed. All users updated.
18596 (GRUB_MOD_INIT): New function.
18597 (GRUB_MOD_FINI): Likewise.
18598 * grub-core/kern/file.c (grub_file_filters_all): New variable.
18599 (grub_file_filters_enabled): Likewise.
18600 (grub_file_open): Handle filters.
18601 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
18602 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
18603 * include/grub/file.h (grub_file_filter_id_t): New type.
18604 (grub_file_filter_t): Likewise.
18605 (grub_file_filters_all): New extern variable.
18606 (grub_file_filters_enabled): Likewise.
18607 (grub_file_filter_register): New inline function.
18608 (grub_file_filter_unregister): Likewise.
18609 (grub_file_filter_disable): Likewise.
18610 (grub_file_filter_disable_compression): Likewise.
18611 * include/grub/gzio.h: Removed.
18612
35ee15e0
BC
186132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18614
18615 Filename expansion support for wildcards in GRUB script.
18616
18617 * tests/grub_script_expansion.in: New test.
18618 * Makefile.util.def: Rule for new test.
18619
18620 * grub-core/commands/wildcard.c: New file, implements filename
18621 expansion support for GRUB script.
18622 * grub-core/Makefile.core.def: Rule update for regexp.mod.
18623 * grub-core/script/argv.c: Cosmetic changes.
18624 * grub-core/script/execute.c (grub_script_arglist_to_argv):
18625 Refactored to perform wildcard expansion on arguments.
18626 * include/grub/script_sh.h (grub_script_wildcard_translator): New
18627 struct.
18628
18629 * tests/util/grub-shell.in: Fix quoting for read input.
18630
5f0c4aca
BC
186312010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18632
18633 Support for updating environment variables with matched substrings
18634 of regexp.
18635
18636 * tests/grub_cmd_regexp.in: New test.
18637 * Makefile.util.def: Rule for new test.
18638
18639 * grub-core/commands/regexp.c: New option -s to update environment
18640 variables with regexp matches.
18641
3759a35f
SJ
186422010-09-04 Szymon Janc <szymon@janc.net.pl>
18643
18644 * include/grub/file.h (grub_file): New member not_easly_seekable.
18645 (grub_file_seekable): New inline function.
18646 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
18647 easily seekable.
18648 (grub_gzio_open): Set not_easly_seekable.
18649 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
18650 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
18651
ed8c6dec
BC
186522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18653
18654 Support for options to appear multiple times on cmdline.
18655
18656 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
18657 * grub-core/commands/extcmd.c: Support for repeatable option.
18658 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
18659 repeatable option support.
18660
18661 Refactor menuentry into a regular command.
18662
18663 * grub-core/commands/menuentry.c: New file, menuentry command
18664 implementation.
18665 * grub-core/Makefile.core.def: Rule update for normal.mod.
18666 * grub-core/normal/main.c: Moved menuentry creation to
18667 grub-core/commands/menuentry.c.
18668 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
18669 (grub_menu_execute_entry_real): Removed.
18670 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
18671 function.
18672 (grub_script_execute_menuentry): Removed.
18673 * grub-core/script/parser.y (menuentry): Removed.
18674 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
18675 * grub-core/script/yylex.l (menuentry): Removed.
18676 * include/grub/menu.h (grub_menu_init): New prototype.
18677 (grub_menu_fini): New prototype.
18678 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
18679 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
18680 (grub_script_execute_sourcecode): New prototype.
18681
dacd0cf0
BC
186822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18683
18684 "return" command for GRUB script functions.
18685
18686 * tests/grub_script_return.in: New test.
18687 * Makefile.util.def: Rules for new test.
18688
18689 * grub-core/script/execute.c (grub_script_return): New function.
18690 * grub-core/script/main.c: Register/unregister return commaond.
18691 * include/grub/script_sh.h (grub_script_return): New prototype.
18692
52e72f9d
BC
186932010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18694
18695 "setparams" command to update positional parameters.
18696
18697 * tests/grub_script_setparams.in: New test.
18698 * Makefile.util.def: Rules for new test.
18699
18700 * grub-core/script/argv.c (grub_script_argv_make): New function.
18701 * grub-core/script/execute.c (replace_scope): New function.
18702 (grub_script_setparams): New function.
18703 * grub-core/script/lexer.c: Remove unused variables.
18704 * grub-core/script/main.c: Register/unregister setparams command.
18705 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
18706 (grub_script_setparams): New prototype.
18707
25b60c91
BC
187082010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18709
18710 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
18711 grub_free order.
18712
37e7bf68
BC
187132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18714
18715 Support for passing block of commands as an argument to extcmds.
18716
18717 * Makefile.util.def: Rules for new test.
18718 * tests/grub_script_blockarg.in: New test.
18719 * grub-core/tests/test_blockarg.c: New file, block argument
18720 command used in the test.
18721
18722 * include/grub/extcmd.h (grub_extcmd_context): New struct.
18723 (grub_register_extcmd_prio): New function prototype.
18724 (grub_extcmd_dispatcher): New function prototype.
18725 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
18726 type.
18727 * include/grub/script_sh.h (struct grub_script): New members
18728 `children', `next_siblings' and `refcnt' for block arguments and
18729 reference counting.
18730 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
18731 (grub_script_arg): New member `script' for block argument.
18732 (grub_script_argv): New member `script' for block argument.
18733 (grub_parser_param): New member `scripts' for block argument.
18734 (grub_script_mem_free): New extern function prototype.
18735 (grub_script_ref): New function prototype.
18736 (grub_script_unref): New function prototype.
18737
18738 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
18739 extcmd form to support block arguments.
18740 * grub-core/script/argv.c: Block arguments support.
18741 * grub-core/script/execute.c: Likewise.
18742 * grub-core/script/lexer.c: Likewise.
18743 * grub-core/script/main.c: Likewise.
18744 * grub-core/script/script.c: Likewise.
18745 * grub-core/script/parser.y: Likewise. New `block' and `block0'
18746 non-terminals.
18747
18748 * grub-core/commands/acpi.c: Update extcmd implementations with
18749 grub_extcmd_context_t.
18750 * grub-core/commands/cat.c: Likewise.
18751 * grub-core/commands/echo.c: Likewise.
18752 * grub-core/commands/extcmd.c: Likewise.
18753 * grub-core/commands/hashsum.c: Likewise.
18754 * grub-core/commands/hdparm.c: Likewise.
18755 * grub-core/commands/help.c: Likewise.
18756 * grub-core/commands/hexdump.c: Likewise.
18757 * grub-core/commands/i386/cpuid.c: Likewise.
18758 * grub-core/commands/i386/pc/drivemap.c: Likewise.
18759 * grub-core/commands/i386/pc/halt.c: Likewise.
18760 * grub-core/commands/i386/pc/sendkey.c: Likewise.
18761 * grub-core/commands/iorw.c: Likewise.
18762 * grub-core/commands/keystatus.c: Likewise.
18763 * grub-core/commands/loadenv.c: Likewise.
18764 * grub-core/commands/ls.c: Likewise.
18765 * grub-core/commands/lspci.c: Likewise.
18766 * grub-core/commands/memrw.c: Likewise.
18767 * grub-core/commands/probe.c: Likewise.
18768 * grub-core/commands/search_wrap.c: Likewise.
18769 * grub-core/commands/setpci.c: Likewise.
18770 * grub-core/commands/sleep.c: Likewise.
18771 * grub-core/disk/loopback.c: Likewise.
18772 * grub-core/hello/hello.c: Likewise.
18773 * grub-core/loader/i386/bsd.c: Likewise.
18774 * grub-core/loader/xnu.c: Likewise.
18775 * grub-core/term/gfxterm.c: Likewise.
18776 * grub-core/term/serial.c: Likewise.
18777 * grub-core/tests/lib/functional_test.c: Likewise.
18778
888d1500
BC
187792010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18780
18781 Multi-line quoted strings support.
18782
18783 * grub-core/script/lexer.c (append_newline): Removed.
18784 (grub_script_lexer_yywrap): Refactored.
18785 (grub_script_lexer_init): Refactored.
18786 * grub-core/script/yylex.l (yywrap): New function.
18787 (grub_lexer_resplit): New function.
18788 (grub_lexer_unput): New function.
18789 * include/grub/script_sh.h (grub_lexer_param): New members, unput
18790 and resplit.
18791 * tests/grub_script_echo1.in: Added few more testcases.
18792
dda060dd
VS
187932010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
18794
18795 * grub-core/kern/misc.c: Don't add abort alias in utils.
18796 Reported by: echoline.
18797
6556eba9
BC
187982010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
18799
18800 Add missing files into "make dist" tarball for other platforms.
18801
18802 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
18803 * conf/Makefile.common (dist_noinst_DATA): New variable.
18804 * conf/Makefile.extra-dist: Added missing make dist files.
18805 * grub-core/Makefile.core.def: Likewise.
18806
c8e7bf5f
VS
188072010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
18808
18809 Compress grub_prefix.
18810
18811 * grub-core/boot/i386/pc/lnxboot.S: Use
18812 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
18813 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
18814 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
18815 GRUB_MACHINE_PREFIX_END. All users updated.
18816 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
18817 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
18818 + 0x40.
18819 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
18820 * util/grub-mkimage.c (image_target_desc): Change data_end to
18821 prefix_end. All users updated.
18822
a7c00cdb
VS
188232010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
18824
18825 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
18826 value.
18827 (grub_openbsd_boot): Likewise.
18828 (grub_netbsd_boot): Likewise.
18829 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
18830 (grub_xnu_boot): Likewise.
18831
9f915872
VS
188322010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 * configure.ac: Clean LIBS variable after tests.
18835
efa1bee7
CW
188362010-09-02 Colin Watson <cjwatson@ubuntu.com>
18837
18838 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
18839
61d720e5
VS
188402010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18841
18842 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
18843 echo if libdevmapper will be used.
18844
ef8e0ec8
IT
188452010-09-02 Ian Turner <Ian.Turner@deshaw.com>
18846
18847 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
18848 constant for the same file.
18849
03e261d8
VS
188502010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18851
18852 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
18853
c2a4eba6
CW
188542010-09-02 Colin Watson <cjwatson@ubuntu.com>
18855
18856 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
18857 grub-core/*.pp.
18858
9056cbf3
CW
188592010-09-02 Colin Watson <cjwatson@ubuntu.com>
18860
18861 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
18862 required by the boot protocol.
18863
18864 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
18865 ebp and edi members.
18866 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
18867 state.ebp and state.edi.
18868 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
18869 %ebp and %edi according to grub_relocator32_ebp and
18870 grub_relocator32_edi respectively.
18871 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
18872 and state.edi.
18873
529cc99a
VS
188742010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18875
18876 Add i386-pc-pxe image target.
18877
18878 * util/grub-mkimage.c (image_target_desc): New enum value
18879 IMAGE_I386_PC_PXE.
18880 (image_targets): New target i386-pc-pxe.
18881 (generate_image): Handle i386-pc-pxe image.
18882
9a093920
VS
188832010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18884
18885 Fix grub_pxe_scan.
18886
18887 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
18888 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
18889 All users updated.
18890 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
18891 (grub_pxe_pxenv): Correct type.
18892
f9cefc4e
CW
188932010-09-01 Colin Watson <cjwatson@ubuntu.com>
18894
18895 * NEWS: Document most of the important changes since 1.98.
18896
4066f57f
CW
188972010-09-01 Colin Watson <cjwatson@ubuntu.com>
18898
18899 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
18900 generated manual page) a little.
18901
da2891f9
CW
189022010-09-01 Colin Watson <cjwatson@ubuntu.com>
18903
18904 * docs/grub.texi: Add myself as an author.
18905
ad717fae
VS
189062010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
18907
18908 * Makefile.util.def (libgrub.a): Add missing sunpc.
18909 Reported by: Seth Goldberg.
18910
eefe8abd
VS
189112010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18912
18913 Interrupt wrapping and code simplifications.
18914
9494ef9a
VS
18915 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
18916 x86_noieee1275 which are functionaly equivalent in this case.
18917 (grub-install): Make source on each platform explicit. Enable on
18918 all noemu.
18919 * gentpl.py (x86_efi_pc): Removed group.
18920 (x86_noefi): Likewise.
18921 (i386_noefi): Likewise.
18922 (x86_noieee1275): Likewise.
18923 (i386_noieee1275): Likewise.
18924 (i386_noefi_noieee1275): Likewise.
18925 (i386_pc_qemu_coreboot): Likewise.
18926 (i386_coreboot_multiboot): Likewise.
18927 (i386_pc_coreboot_multiboot_qemu): Likewise.
18928 (x86_noefi_mips): Likewise.
18929 (noieee1275): Likewise.
18930 (ieee1275_mips): Likewise.
18931 (noemu_noieee1275): Likewise.
18932 (cmos): New group.
18933 (usb): Likewise.
18934 (videoinkernel): Likewise.
18935 (videomodules): Likewise.
eefe8abd 18936 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
18937 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
18938 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
18939 include/grub/loader.h, include/grub/msdos_partition.h,
18940 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
18941 include/grub/machine/console.h, include/grub/machine/vga.h,
18942 include/grub/machine/vbe.h, include/grub/machine/init.h,
18943 include/grub/machine/kernel.h, include/grub/cpu/time.h,
18944 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 18945 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
18946 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
18947 * grub-core/Makefile.core.def (kernel): Explicit the source for
18948 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
18949 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
18950 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
18951 Use videoinkernel tag.
18952 (usb): Enable on all usb.
18953 (usbserial_common): Likewise.
18954 (usbserial_pl2303): Likewise.
18955 (usbserial_ftdi): Likewise.
18956 (uhci): Enable on all x86.
18957 (ohci): Enable on all pci.
18958 (cmostest): Enable on all CMOS.
18959 (acpi): Include commands/acpi.c on all platforms.
18960 (halt): Add relevant lib/*/halt.c.
18961 (hdparm): Enable on all pci.
18962 (lspci): Likewise.
18963 (usbtest): Enable on all usb.
18964 (ata): Enable on all pci.
18965 (ata_pthru): Likewise.
18966 (usbms): Enable on all usb.
18967 (usb_keyboard): Likewise.
18968 (font): Use tag videomodules.
18969 (bufio): Likewise.
18970 (datetime): Use tag cmos. Enable on all noemu.
18971 (mmap): Use tags common and x86.
18972 (gfxterm): Use tag videomodules.
18973 (bitmap): Likewise.
18974 (bitmap_scale): Likewise.
18975 (video_fb): Likewise.
18976 (video): Likewise.
18977 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
18978 adjust padding accordingly. All users updated.
18979 (grub_ohci_transaction): Fix bad format specification.
18980 (GRUB_MOD_INIT): Add asserts for struct size.
18981 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
18982 (grub_alloc_td): Likewise.
18983 (grub_free_queue): Likewise.
18984 (grub_uhci_transfer): Likewise.
18985 (grub_uhci_transaction): Fix bad format specification.
18986 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
18987 (grub_usb_bulk_readwrite): Likewise.
18988 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
18989 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
18990 Made static.
18991 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
18992 Made static.
18993 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
18994 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
18995 Transformed into C.
18996 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
18997 Moved from here ...
18998 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
18999 ... here. Transformed into C. Made static.
19000 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
19001 Moved from here ...
19002 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
19003 ... here. Transformed into C. Made static.
19004 * grub-core/kern/i386/pc/startup.S
19005 (grub_biosdisk_check_int13_extensions): Moved from here ...
19006 * grub-core/disk/i386/pc/biosdisk.c
19007 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
19008 Made static.
19009 * grub-core/kern/i386/pc/startup.S
19010 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
19011 * grub-core/disk/i386/pc/biosdisk.c
19012 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
19013 Transformed into C. Made static.
19014 * grub-core/kern/i386/pc/startup.S
19015 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
19016 * grub-core/disk/i386/pc/biosdisk.c
19017 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
19018 Transformed into C. Made static.
19019 * grub-core/kern/i386/pc/startup.S
19020 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
19021 * grub-core/disk/i386/pc/biosdisk.c
19022 (grub_biosdisk_get_diskinfo_standard): ... here.
19023 Transformed into C. Made static.
19024 * grub-core/kern/i386/pc/startup.S
19025 (grub_biosdisk_get_num_floppies): Moved from here ...
19026 * grub-core/disk/i386/pc/biosdisk.c
19027 (grub_biosdisk_get_num_floppies): ... here.
19028 Transformed into C. Made static.
19029 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
19030 New function.
19031 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
19032 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
19033 Transformed into C. Made static.
19034 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
19035 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
19036 Transformed into C. Made static.
19037 * grub-core/kern/i386/ieee1275/init.c: Removed.
19038 * grub-core/kern/i386/misc.S: Likewise.
19039 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
19040 Splitted from here ...
19041 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
19042 Transformed into C. Made static. All users updated.
19043 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
19044 Transformed into C. Made static. All users updated.
19045 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
19046 Moved from here...
19047 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
19048 Transformed into C. Made static. All users updated.
19049 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
19050 Moved from here...
19051 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
19052 Transformed into C. Made static. All users updated.
19053 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
19054 Removed (replaced by C version).
19055 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
19056 Moved from here...
19057 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
19058 Transformed into C. Made static.
19059 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
19060 Moved from here...
19061 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
19062 ... here. Transformed into C.
19063 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
19064 Moved from here...
19065 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
19066 ... here. Transformed into C.
19067 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
19068 Moved from here...
19069 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
19070 ... here. Transformed into C. Made static.
19071 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
19072 Moved from here...
19073 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
19074 ... here. Transformed into C.
21ed554b
VS
19075 * grub-core/kern/i386/pc/startup.S
19076 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
19077 * grub-core/video/i386/pc/vbe.c
19078 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
19079 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
19080 Moved from here...
19081 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
19082 ... here. Transformed into C.
19083 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
19084 Moved from here...
19085 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
19086 ... here. Transformed into C.
19087 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
19088 Moved from here...
19089 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
19090 ... here. Transformed into C.
19091 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
19092 Moved from here...
19093 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
19094 ... here. Transformed into C.
19095 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
19096 Moved from here...
19097 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
19098 ... here. Transformed into C. Made static.
19099 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
19100 Moved from here...
19101 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
19102 ... here. Transformed into C. Made static.
19103 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
19104 Moved from here...
19105 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
19106 ... here. Transformed into C. Made static.
19107 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
19108 pxe_rm_entry as third argument.
19109 (grub_bios_interrupt): New function.
19110 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
19111 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
19112 of calling grub_stop.
19113 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
19114 * grub-core/lib/efi/halt.c (grub_halt): ...here.
19115 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
19116 * grub-core/lib/emu/halt.c (grub_halt): ... here.
19117 * grub-core/lib/i386/halt.c: Moved from here ...
19118 * grub-core/lib/i386/halt.c: ... here.
19119 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
19120 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
19121 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
19122 grub_stop_floppy.
19123 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
19124 * include/grub/i386/coreboot/init.h: Removed.
19125 * include/grub/i386/multiboot/init.h: Likewise.
19126 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
19127 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
19128 * include/grub/i386/pc/int.h: New file.
19129 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
19130 (grub_pxe_scan): Removed.
19131 (grub_pxe_call): Update prototype.
19132 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
19133 prototypes.
19134 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
19135 * include/grub/i386/qemu/init.h: Removed.
19136 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
19137 noreturn.
19138 (grub_halt): Likewise.
19139 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
19140 (grub_reboot): Likewise.
19141 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
19142 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
19143 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
19144
215dd471
RM
191452010-08-30 Robert Millan <rmh@gnu.org>
19146
19147 * NEWS: Document addition of ZFS support in `grub-install' and
19148 `grub-mkconfig'.
19149
ebd65b82
BC
191502010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
19151
19152 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
19153 dprintf output.
19154
11721d19
VS
191552010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19156
19157 Remove leftover embedding of font objects.
19158
19159 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19160 * util/grub-install.in (font): Removed.
19161 * util/grub-mkimage.c (generate_image): Remove font support. All users
19162 updated.
19163
37837d4e
VS
191642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19165
19166 Remove leftover embedding of font objects.
19167
19168 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19169 * util/grub-install.in (font): Removed.
19170 * util/grub-mkimage.c (generate_image): Remove font support. All users
19171 updated.
19172
b4c1aae0
VS
191732010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19174
19175 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 19176 Reported by: Ian Turner
b4c1aae0 19177
8920a08d
VS
191782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19179
19180 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
19181 timeout to avoid indefinite boot stalling.
19182
f21db033
VS
191832010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19184
19185 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
19186 (grub_env_write_color_highlight): Likewise.
19187
9a9de209
VS
191882010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19189
19190 * grub-core/normal/term.c (print_more): Return to normal and not
19191 to standard state after printing "---MORE---".
19192
3dca01d7
VS
191932010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19194
19195 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
19196 Mask out the bit 0x80 since it has other meaning that specifiing color.
19197
0b986c40
VS
191982010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19199
19200 New relocator. Allows for more kernel support and more straightforward
19201 loader writing.
19202
19203 * Makefile.am (BOOTTARGET): New variable.
19204 (QEMU32): Likewise.
19205 (linux.init.x86_64): New target.
19206 (linux.init.i386): Likewise.
19207 (multiboot.elf): Likewise.
19208 (kfreebsd.elf): Likewise.
19209 (kfreebsd.aout): Likewise.
19210 (pc-chainloader.elf): Likewise.
19211 (pc-chainloader.bin): Likewise.
19212 (ntldr.elf): Likewise.
19213 (ntldr.bin): Likewise.
19214 (multiboot2.elf): Likewise.
19215 (kfreebsd.init.x86_64): Likewise.
19216 (kfreebsd.init.i386): Likewise.
19217 (knetbsd.init.i386): Likewise.
19218 (kopenbsd.init.i386): Likewise.
19219 (knetbsd.init.x86_64): Likewise.
19220 (kopenbsd.init.x86_64): Likewise.
19221 (linux-initramfs.i386): Likewise.
19222 (linux-initramfs.x86_64): Likewise.
19223 (kfreebsd-mfsroot.i386.img): Likewise.
19224 (knetbsd.image.i386): Likewise.
19225 (kopenbsd.image.i386): Likewise.
19226 (kopenbsd.image.x86_64): Likewise.
19227 (knetbsd.miniroot-image.i386.img): Likewise.
19228 (kfreebsd-mfsroot.x86_64.img): Likewise.
19229 (knetbsd.image.x86_64): Likewise.
19230 (knetbsd.miniroot-image.x86_64.img): Likewise.
19231 (kfreebsd-mfsroot.i386.gz): Likewise.
19232 (bootcheck-kfreebsd-i386): Likewise.
19233 (kfreebsd-mfsroot.x86_64.gz): Likewise.
19234 (bootcheck-kfreebsd-x86_64): Likewise.
19235 (knetbsd.miniroot-image.i386.gz): Likewise.
19236 (bootcheck-knetbsd-i386): Likewise.
19237 (bootcheck-kopenbsd-i386): Likewise.
19238 (bootcheck-kopenbsd-x86_64): Likewise.
19239 (knetbsd.miniroot-image.x86_64.gz): Likewise.
19240 (bootcheck-knetbsd-x86_64): Likewise.
19241 (bootcheck-linux-i386): Likewise.
19242 (bootcheck-linux-x86_64): Likewise.
19243 (bootcheck-linux16-i386): Likewise.
19244 (bootcheck-linux16-x86_64): Likewise.
19245 (bootcheck-multiboot): Likewise.
19246 (bootcheck-multiboot2): Likewise.
19247 (bootcheck-kfreebsd-aout): Likewise.
19248 (bootcheck-pc-chainloader): Likewise.
19249 (bootcheck-ntldr): Likewise.
19250 (CLEANFILES): Add new targets.
19251 (BOOTCHECKS): New variable.
19252 (.PHONY): Add bootchecks.
19253 (SUCCESSFUL_BOOT_STRING): New variable.
19254 (BOOTCHECK_TIMEOUT): Likewise.
19255 (bootcheck): New target
19256 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
19257 * configure.ac: Correct efiemu excuse.
19258 * docs/grub.texi (Supported kernels): New chapter.
19259 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
19260 include/grub/mm_private.h. Simplify inclusion of
19261 include/grub/boot.h, include/grub/loader.h
19262 and include/grub/msdos_partition.h
19263 (KERNEL_HEADER_FILES) [i386_coreboot]:
19264 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
19265 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
19266 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
19267 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
19268 include/grub/machine/loader.h.
19269 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
19270 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
19271 extra_dist.
19272 (pci.mod): Enable on i386-multiboot.
19273 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
19274 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
19275 i386-qemu.
19276 (relocator.mod): Rewritten.
19277 (aout.mod): Enable on all x86.
19278 (bsd.mod): Likewise.
19279 (ntldr.mod): New module.
19280 (linux.mod): Use loader/i386/linux.c on all x86.
19281 (xnu.mod): Enable on all x86.
19282 (vga_text.mod): disable on EFI and QEMU.
19283 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
19284 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
19285 * grub-core/efiemu/loadcore.c: Likewise.
19286 * grub-core/efiemu/main.c: Likewise.
19287 (grub_efiemu_exit_boot_services): Removed.
19288 (grub_efiemu_finish_boot_services): Likewise.
19289 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
19290 function.
19291 * grub-core/efiemu/i386/nocfgtables.c: New file.
19292 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
19293 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
19294 (grub_efi_finish_boot_services): Moved from here ...
19295 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
19296 Fille finish memory map and related data.
19297 (finish_mmap_buf): New variable.
19298 (grub_efi_uintn_t finish_mmap_size): Likewise.
19299 (grub_efi_uintn_t finish_key): Likewise.
19300 (grub_efi_uintn_t finish_desc_size): Likewise.
19301 (grub_efi_uint32_t finish_desc_version): Likewise.
19302 (grub_efi_is_finished): Likewise.
19303 (grub_efi_get_memory_map): Use saved memory map if EFI is already
19304 finished.
19305 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
19306 (grub_elf64_phdr_iterate): Likewise.
19307 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
19308 (grub_os_area_size): Likewise.
19309 (grub_machine_init): Don't reserve os area.
19310 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
19311 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
19312 * grub-core/kern/i386/loader.S: Removed.
19313 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
19314 (grub_os_area_size): Likewise.
19315 (grub_machine_init): Don't reserve os area.
19316 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
19317 Don't call grub_dl_unload_all.
19318 Don't include loader.S.
19319 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
19320 Declare the memory after _end as available.
19321 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 19322 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 19323 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
19324 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
19325 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
19326 * include/grub/mm_private.h (grub_mm_header): ... here.
19327 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
19328 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
19329 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
19330 (grub_mm_region): ..here. Removed addr. Added pre_size.
19331 All users updated.
19332 * grub-core/kern/mm.c (base): Renamed to ...
19333 (grub_mm_base): ... this. Made global.
19334 (grub_real_malloc): Alloc from end of region.
19335 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
19336 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
19337 * grub-core/kern/powerpc/cache_flush.S: ... here.
19338 * grub-core/lib/efi/relocator.c: New file.
19339 * grub-core/lib/i386/relocator.c: Rewritten.
19340 * grub-core/lib/i386/relocator16.S: New file.
19341 * grub-core/lib/i386/relocator32.S: Likewise.
19342 * grub-core/lib/i386/relocator64.S: Likewise.
19343 * grub-core/lib/i386/relocator_asm.S: Rewritten.
19344 * grub-core/lib/i386/relocator_common.S: New file.
19345 * grub-core/lib/ieee1275/relocator.c: Likewise.
19346 * grub-core/lib/mips/relocator.c: Rewritten.
19347 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
19348 stylistic adjustments.
19349 * grub-core/lib/powerpc/relocator.c: New file.
19350 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
19351 * grub-core/lib/relocator.c: Rewritten.
19352 * grub-core/lib/x86_64/relocator_asm.S: New file.
19353 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
19354 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
19355 (bsd_tag): New struct.
19356 (tags): New variable.
19357 (tags_last): Likewise.
19358 (netbsd_module): New struct.
19359 (netbsd_mods): New variable.
19360 (netbsd_mods_last): Likewise.
19361 (openbsd_opts): New parameter "serial".
19362 (OPENBSD_SERIAL_ARG): New definition.
19363 (netbsd_opts): New parameter "serial".
19364 (NETBSD_SERIAL_ARG): New definition.
19365 (grub_freebsd_add_meta): Reorganised into ...
19366 (grub_bsd_add_meta): ...this. All users updated.
19367 (grub_freebsd_add_mmap): Reorganised into ...
19368 (generate_e820_mmap): ...this...
19369 (grub_bsd_add_mmap): ...and this. All users updated.
19370 (grub_freebsd_list_modules): Use tags.
19371 (grub_netbsd_add_meta_module): New function.
19372 (grub_netbsd_list_modules): Likewise.
19373 (grub_freebsd_boot): Use relocator and finish EFI.
19374 (grub_openbsd_boot): Likewise.
19375 (grub_netbsd_setup_video): New function.
19376 (grub_netbsd_add_modules): Likewise.
19377 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
19378 and finish EFI.
19379 (grub_bsd_unload): Unload tags.
19380 (grub_bsd_load_aout): Use relocator.
19381 (grub_bsd_elf32_size_hook): New function.
19382 (grub_bsd_elf32_hook): Use relocator.
19383 (grub_bsd_elf64_size_hook): New function.
19384 (grub_bsd_elf64_hook): Use relocator.
19385 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
19386 (grub_bsd_load): Zero-out openbsd_ramdisk.
19387 (grub_bsd_load): Use relocator.
19388 (grub_cmd_openbsd): Support serial.
19389 (grub_cmd_netbsd): Support modules.
19390 (grub_cmd_freebsd_module): Use relocator.
19391 (grub_netbsd_module_load): New function.
19392 (grub_cmd_netbsd_module): Likewise.
19393 (grub_cmd_openbsd_ramdisk): Likewise.
19394 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
19395 kopenbsd_ramdisk.
19396 (GRUB_MOD_FINI): Unregister new commands.
19397 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
19398 (grub_freebsd_load_elfmodule_obj): Use relocator.
19399 (grub_freebsd_load_elfmodule): Likewise.
19400 (grub_freebsd_load_elf_meta): Likewise.
19401 (grub_netbsd_load_elf_meta): New function.
19402 (grub_openbsd_find_ramdisk): Likewise.
19403 * grub-core/loader/i386/bsd_helper.S: Removed.
19404 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
19405 * grub-core/loader/i386/bsd_trampoline.S: Removed.
19406 * grub-core/loader/i386/efi/linux.c: Likewise.
19407 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
19408 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
19409 (DEFAULT_VIDEO_MODE): Likewise.
19410 (real_mode_target): New variable.
19411 (prot_mode_target): Likewise.
19412 (initrd_mem_target): Likewise.
19413 (relocator): Likewise.
19414 (efi_mmap_buf): Likewise.
19415 (efi_mmap_size): Likewise.
19416 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
19417 (free_pages): Use relocator.
19418 (allocate_pages): Account for efi_mmap and use relocator. Return error.
19419 (grub_linux_setup_video): Return error.
19420 (grub_linux_trampoline_start): Removed.
19421 (grub_linux_trampoline_end): Likewise.
19422 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
19423 andd video parameters depending on firmware.
19424 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
19425 [GRUB_MACHINE_EFI]: Pass EFI parameters.
19426 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
19427 (grub_cmd_initrd): Use relocator.
19428 * grub-core/loader/i386/linux_trampoline.S: Removed.
19429 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
19430 (elf_sec_entsize): Likewise.
19431 (elf_sec_shstrndx): Likewise.
19432 (elf_sections): Likewise.
19433 (grub_multiboot_load): Use relocator.
19434 (grub_multiboot_get_mbi_size): Account for sections.
19435 (grub_multiboot_make_mbi): Use relocator and support sections.
19436 (grub_multiboot_add_elfsyms): New function.
19437 (grub_multiboot_free_mbi): Free sections.
19438 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
19439 (grub_linux_real_target): Likewise.
19440 (grub_linux_real_chunk): Likewise.
19441 (grub_linux16_prot_size): Likewise.
19442 (grub_linux16_boot): Use relocator.
19443 (grub_linux_unload): Unload relocator.
19444 (grub_cmd_linux): Use relocator.
19445 (grub_cmd_initrd): Likewise.
19446 * grub-core/loader/i386/pc/ntldr.c: New file.
19447 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
19448 Don't try to guess CPU frequency.
19449 (grub_xnu_set_video): Stretch bitmap.
19450 (grub_xnu_boot): Use relocator.
19451 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
19452 (grub_linux_unload): Free relocator.
19453 (grub_linux_load32): Use relocator.
19454 (grub_linux_load64): Likewise.
19455 (grub_cmd_initrd): Likewise.
19456 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
19457 (grub_multiboot_unload): Unload relocator.
19458 (grub_cmd_multiboot): Use relocator.
19459 (grub_cmd_module): Likewise.
19460 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
19461 Use relocator and support sections.
19462 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
19463 (elf_sec_entsize): Likewise.
19464 (elf_sec_shstrndx): Likewise.
19465 (elf_sections): Likewise.
19466 (grub_multiboot_load): Use relocator.
19467 (grub_multiboot_get_mbi_size): Account for sections.
19468 (grub_multiboot_make_mbi): Use relocator and support sections.
19469 (grub_multiboot_add_elfsyms): New function.
19470 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
19471 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
19472 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
19473 Prototype changed. All users updated.
19474 (grub_xnu_align_heap): Simplified.
19475 (grub_xnu_writetree_toheap): Likewise.
19476 (grub_xnu_unload): Unload relocator.
19477 (grub_cmd_xnu_kernel): Use relocator.
19478 (grub_cmd_xnu_kernel64): Likewise.
19479 (grub_xnu_register_memory): Simplified.
19480 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
19481 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
19482 EFI is finished.
19483 (grub_console_checkkey): Likewise.
19484 (grub_console_getkey): Likewise.
19485 (grub_console_getwh): Likewise.
19486 (grub_console_getxy): Likewise.
19487 (grub_console_gotoxy): Likewise.
19488 (grub_console_cls): Likewise.
19489 (grub_console_setcolorstate): Likewise.
19490 (grub_console_setcursor): Likewise.
19491 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
19492 * grub-core/tests/boot/kbsd.init-i386.S: New file.
19493 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
19494 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
19495 * grub-core/tests/boot/kernel-8086.S: Likewise.
19496 * grub-core/tests/boot/kernel-i386.S: Likewise.
19497 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
19498 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
19499 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
19500 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
19501 * grub-core/tests/boot/knetbsd.cfg: Likewise.
19502 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
19503 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
19504 * grub-core/tests/boot/linux.cfg: Likewise.
19505 * grub-core/tests/boot/linux.init-i386.S: Likewise.
19506 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
19507 * grub-core/tests/boot/linux16.cfg: Likewise.
19508 * grub-core/tests/boot/multiboot.cfg: Likewise.
19509 * grub-core/tests/boot/multiboot2.cfg: Likewise.
19510 * grub-core/tests/boot/ntldr.cfg: Likewise.
19511 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
19512 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
19513 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
19514 New definition.
19515 * include/grub/dl.h (grub_dl_unload_all): Removed.
19516 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
19517 (grub_efi_finish_boot_services): Change prototype.
19518 (grub_efi_is_finished): New variable.
19519 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
19520 Changed prototype.
19521 (grub_efiemu_finish_boot_services): Removed.
19522 (grub_machine_efiemu_init_tables): New prototype.
19523 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
19524 (grub_elf64_phdr_iterate): Likewise.
19525 * include/grub/i386/bsd.h: Include relocator.h.
19526 (freebsd_tag_header): New struct.
19527 (grub_openbsd_bios_mmap): Removed.
19528 (grub_unix_real_boot): Removed.
19529 (grub_freebsd_load_elfmodule32): Changed prototype.
19530 (grub_freebsd_load_elfmodule_obj64): Likewise.
19531 (grub_freebsd_load_elf_meta32): Likewise.
19532 (grub_freebsd_load_elf_meta64): Likewise.
19533 (grub_freebsd_add_meta): Removed.
19534 (grub_netbsd_load_elf_meta32): New prototype.
19535 (grub_netbsd_load_elf_meta64): Likewise.
19536 (grub_bsd_add_meta): Likewise.
19537 (grub_openbsd_ramdisk_descriptor): New struct.
19538 (grub_openbsd_find_ramdisk32): New prototype.
19539 (grub_openbsd_find_ramdisk64): Likewise.
19540 * include/grub/i386/coreboot/loader.h: Removed.
19541 * include/grub/i386/efi/loader.h: Likewise.
19542 * include/grub/i386/ieee1275/loader.h: Likewise.
19543 * include/grub/i386/linux.h (linux_kernel_header): Change void *
19544 to grub_uint32_t.
19545 * include/grub/i386/loader.h: Removed.
19546 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
19547 value.
19548 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
19549 (grub_phys_addr_t): New type.
19550 (grub_vtop): New inline function.
19551 (grub_map_memory): Likewise.
19552 (grub_unmap_memory): Likewise.
19553 * include/grub/i386/multiboot/loader.h: Removed.
19554 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
19555 (NETBSD_BTINFO_CONSOLE): New definition.
19556 (NETBSD_BTINFO_SYMTAB): Likewise.
19557 (NETBSD_BTINFO_MODULES): Likewise.
19558 (NETBSD_BTINFO_FRAMEBUF): Likewise.
19559 (grub_netbsd_bootinfo): New struct.
19560 (grub_netbsd_btinfo_common): Use explicit bitsize.
19561 (grub_netbsd_btinfo_mmap_entry): Removed.
19562 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
19563 (grub_netbsd_btinfo_bootdisk): New struct.
19564 (grub_netbsd_btinfo_symtab): Likewise.
19565 (grub_netbsd_btinfo_serial): Likewise.
19566 (grub_netbsd_btinfo_modules): Likewise.
19567 (grub_netbsd_btinfo_framebuf): Likewise.
19568 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
19569 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
19570 Likewise.
19571 (grub_openbsd_bootargs): Use explicit bitsize.
19572 (grub_openbsd_bootarg_console): New struct.
19573 (GRUB_OPENBSD_COM_MAJOR): New definition.
19574 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
19575 * include/grub/i386/pc/efiemu.h: Removed.
19576 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
19577 * include/grub/i386/qemu/loader.h: Removed.
19578 * include/grub/i386/relocator.h: Rewritten.
19579 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
19580 * include/grub/mips/memory.h: New file.
19581 * include/grub/mips/multiboot.h: Rewritten.
19582 * include/grub/mips/relocator.h: Rewritten.
19583 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
19584 (grub_vtop): New function.
19585 (grub_map_memory): Likewise.
19586 (grub_unmap_memory): Likewise.
19587 * include/grub/misc.h (ALIGN_DOWN): New definition.
19588 * include/grub/mm.h (grub_mm_check_real): New proto.
19589 (GRUB_MM_CHECK): New definition.
19590 * include/grub/mm_private.h: New file.
19591 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
19592 (grub_multiboot_get_mbi_size): Removed.
19593 (grub_multiboot_make_mbi): Change prottype.
19594 (grub_multiboot_set_accepts_video): New proto.
19595 (grub_multiboot_add_elfsyms): Likewise.
19596 (grub_multiboot_payload_eip): New variable.
19597 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
19598 New prototype.
19599 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
19600 New definition.
19601 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
19602 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
19603 * include/grub/powerpc/ieee1275/loader.h: Removed.
19604 * include/grub/powerpc/memory.h: New file.
19605 * include/grub/powerpc/relocator.h: Likewise.
19606 * include/grub/relocator.h: Likewise.
19607 * include/grub/relocator_private.h: Likewise.
19608 * include/grub/sparc64/ieee1275/loader.h: Removed.
19609 * include/grub/x86_64/memory.h: New file.
19610 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
19611 (grub_xnu_heap_malloc): Likewise.
19612 (grub_xnu_heap_real_start): Removed.
19613 (grub_xnu_heap_start): Likewise.
19614 (grub_xnu_relocator): New variable.
19615 (grub_xnu_heap_target_start): Likewise.
19616 * tests/util/grub-shell.in: Support non-pc.
19617 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 19618
5303b85d
VS
196192010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19620
19621 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
19622 on malloc error.
19623 (grub_bidi_logical_to_visual): Check that malloc succeded.
19624 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
19625 puts.
19626 (grub_xputs_normal): Likewise.
19627
d768d159
VS
196282010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19629
19630 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
19631 extra_dist.
19632
196332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19634
19635 * grub-core/efiemu/runtime/efiemu.sh: Removed.
19636
5bf84df4
VS
196372010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19638
19639 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
19640
3626810e
VS
196412010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19642
19643 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
19644 dprintf.
19645
a7363f53
BC
196462010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
19647
19648 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
19649
902f75f6
VS
196502010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19651
19652 * grub-core/normal/term.c (print_more): Fix a memory leak.
19653 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
19654 (grub_xputs_normal): Likewise.
19655
3c707967
VS
196562010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19657
19658 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
19659 the begining of the string
19660
2053cc07
VS
196612010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19662
19663 * grub-core/script/script.c (grub_script_parse): Free parsed on
19664 failure.
19665
46422ebf
VS
196662010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19667
19668 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
19669 on failure.
19670
9e0fa3f6
VS
196712010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19672
19673 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
19674 return.
19675
3393cf16
VS
196762010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19677
19678 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
19679 (scroll_up): Fix a memory leak.
19680
b17540cb
VS
196812010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19682
19683 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
19684 errors.
19685
67140446
VS
196862010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
19687
19688 Handle USB pendrives exposed as floppies.
19689
19690 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
19691 floppy.
19692 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
19693 Check for partitions on all devices.
19694
e35e46fc
VS
196952010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19696
19697 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
19698 (readkey): Likewise.
19699
d24c6190
BC
197002010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
19701
19702 Multiple variable names support to "export" command.
19703
19704 * normal/context.c (grub_cmd_export): "export" command supports
19705 multiple variable names.
19706
04ddcc6a
ST
197072010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
19708
19709 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
19710 --target=drive output to Mach device name.
19711
0c8b61d8
BC
197122010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
19713
19714 New Automake based build system for GRUB.
19715
19716 * ABOUT-NLS: New file.
19717 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
19718 in Makefile.util.def file.
19719 * Makefile.util.def: New file. Autogen build definitions file for
19720 GRUB host utils.
19721 * conf/Makefile.common: New file. Common variables for GRUB host
19722 utils and target modules.
19723 * conf/Makefile.extra-dist: New file. Extra files for make dist.
19724 * docs/Makefile.am: New file. Automake file for docs.
19725 * gentpl.py: New file. Python script to generate Autogen
19726 template.
19727 * grub-core/Makefile.am: New file. GRUB target modules' rules
19728 that doesn't fit in Makefile.core.def file.
19729 * grub-core/Makefile.core.def: New file. Autogen build
19730 definitions file for GRUB target modules.
19731 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
19732 specific setjmp.S file.
19733 * po/Makefile.am: New file.
19734
19735 * .bzrignore: New ignores.
19736 * INSTALL: New requirements, without Ruby.
19737 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
19738 * autogen.sh: Updated to invoke autogen as necessary.
19739 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
19740 and defines for Automake conditionals.
19741 * geninit.sh: Refactoring.
19742
19743 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
19744 necessary.
19745 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
19746 New prototype.
19747
19748 * include/grub/test.h: Fix functional test modules' naming.
19749 * grub-core/tests/example_functional_test.c: Fix test module name.
19750
19751 * util/misc.c: Hosted versions' of grub functions for libgrub.a
19752 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
19753 * util/grub-editenv.c: Likewise.
19754 * util/grub-fstest.c: Likewise.
19755 * util/grub-mkdevicemap.c: Likewise.
19756 * util/grub-mkfont.c: Likewise.
19757 * util/grub-mkimage.c: Likewise.
19758 * util/grub-mkpasswd-pbkdf2.c: Likewise.
19759 * util/grub-probe.c: Likewise.
19760 * util/grub-script-check.c: Likewise.
19761 * util/i386/pc/grub-setup.c: Likewise.
19762 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19763
19764 * tests/util/grub-shell.in: Fix override directory path.
19765 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
19766 * util/import_gcry.py: Create Makefile.gcry.def file instead.
19767
19768 * util/lvm.c: Update #includes.
19769 * util/raid.c: Likewise.
19770 * util/resolve.c: Likewise.
19771 * grub-core/bus/emu/pci.c: Likewise.
19772 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
19773 * grub-core/lib/posix_wrap/string.h: Likewise.
19774 * grub-core/kern/emu/main.c: Likewise.
19775
19776 * grub-core/gensymlist.sh: New file. Script for generating kernel
19777 symbols file.
19778 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
19779
19780 * grub-core/gentrigtables.c: Fix unused variable warnings.
19781
19782 * Makefile.in: Removed.
19783 * conf/any-emu.rmk: Removed.
19784 * conf/common.rmk: Removed.
19785 * conf/i386-coreboot.rmk: Removed.
19786 * conf/i386-efi.rmk: Removed.
19787 * conf/i386-ieee1275.rmk: Removed.
19788 * conf/i386-multiboot.rmk: Removed.
19789 * conf/i386-pc.rmk: Removed.
19790 * conf/i386-qemu.rmk: Removed.
19791 * conf/i386.rmk: Removed.
19792 * conf/mips-yeeloong.rmk: Removed.
19793 * conf/mips.rmk: Removed.
19794 * conf/powerpc-ieee1275.rmk: Removed.
19795 * conf/sparc64-ieee1275.rmk: Removed.
19796 * conf/tests.rmk: Removed.
19797 * conf/x86-efi.rmk: Removed.
19798 * conf/x86_64-efi.rmk: Removed.
19799 * gendistlist.sh: Removed.
19800 * geninitheader.sh: Removed.
19801 * genkernsyms.sh.in: Removed.
19802 * genmk.rb: Removed.
19803 * gensymlist.sh.in: Removed.
19804 * mkinstalldirs: Removed.
19805 * boot: Moved ...
19806 * grub-core/boot: ... to here.
19807 * bus: Moved ...
19808 * grub-core/bus: ... to here.
19809 * commands: Moved ...
19810 * grub-core/commands: ... to here.
19811 * disk: Moved ...
19812 * grub-core/disk: ... to here.
19813 * efiemu: Moved ...
19814 * grub-core/efiemu: ... to here.
19815 * font: Moved ...
19816 * grub-core/font: ... to here.
19817 * fs: Moved ...
19818 * grub-core/fs: ... to here.
19819 * gencmdlist.sh: Moved ...
19820 * grub-core/gencmdlist.sh: ... to here.
19821 * genemuinit.sh: Moved ...
19822 * grub-core/genemuinit.sh: ... to here.
19823 * genemuinitheader.sh: Moved ...
19824 * grub-core/genemuinitheader.sh: ... to here.
19825 * genfslist.sh: Moved ...
19826 * grub-core/genfslist.sh: ... to here.
19827 * genhandlerlist.sh: Moved ...
19828 * grub-core/genhandlerlist.sh: ... to here.
19829 * genmoddep.awk: Moved ...
19830 * grub-core/genmoddep.awk: ... to here.
19831 * genmodsrc.sh: Moved ...
19832 * grub-core/genmodsrc.sh: ... to here.
19833 * genpartmaplist.sh: Moved ...
19834 * grub-core/genpartmaplist.sh: ... to here.
19835 * genparttoollist.sh: Moved ...
19836 * grub-core/genparttoollist.sh: ... to here.
19837 * genterminallist.sh: Moved ...
19838 * grub-core/genterminallist.sh: ... to here.
19839 * gentrigtables.c: Moved ...
19840 * grub-core/gentrigtables.c: ... to here.
19841 * genvideolist.sh: Moved ...
19842 * grub-core/genvideolist.sh: ... to here.
19843 * gettext: Moved ...
19844 * grub-core/gettext: ... to here.
19845 * gfxmenu: Moved ...
19846 * grub-core/gfxmenu: ... to here.
19847 * gnulib: Moved ...
19848 * grub-core/gnulib: ... to here.
19849 * hello: Moved ...
19850 * grub-core/hello: ... to here.
19851 * hook: Moved ...
19852 * grub-core/hook: ... to here.
19853 * io: Moved ...
19854 * grub-core/io: ... to here.
19855 * kern: Moved ...
19856 * grub-core/kern: ... to here.
19857 * lib: Moved ...
19858 * grub-core/lib: ... to here.
19859 * loader: Moved ...
19860 * grub-core/loader: ... to here.
19861 * mmap: Moved ...
19862 * grub-core/mmap: ... to here.
19863 * normal: Moved ...
19864 * grub-core/normal: ... to here.
19865 * partmap: Moved ...
19866 * grub-core/partmap: ... to here.
19867 * parttool: Moved ...
19868 * grub-core/parttool: ... to here.
19869 * script: Moved ...
19870 * grub-core/script: ... to here.
19871 * term: Moved ...
19872 * grub-core/term: ... to here
19873 * tests/example_functional_test.c: Moved ...
19874 * grub-core/tests/example_functional_test.c: ... to here.
19875 * tests/lib/functional_test.c: Moved ...
19876 * grub-core/tests/lib/functional_test.c: ... to here.
19877 * tests/lib/test.c: Moved ...
19878 * grub-core/tests/lib/test.c: ... to here.
19879 * video: Moved ...
19880 * grub-core/video: ... to here.
19881
645586e6
BC
198822010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
19883
19884 Replace --enable-grub-emu-modules with grub-emu-lite.
19885
19886 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
19887 cache.S.
19888
19889 * include/grub/emu/misc.h (grub_emu_init): New prototype.
19890 * kern/emu/full.c: New file. For grub-emu specific initialization.
19891 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
19892 * kern/emu/main.c: Call initialization function grub_emu_init.
19893
19894 * Makefile.in: Include grub-emu-lite in install.
19895 * commands/parttool.c: Use grub_no_autoload to differentiate
19896 between grub-emu and grub-emu-lite.
19897 * include/grub/misc.h: New variable grub_no_autoload.
19898
19899 * conf/any-emu.rmk: New rules for grub-emu-lite.
19900 * configure.ac: Remove --enable-grub-emu-modules.
19901 * genmk.rb: Cleanup unnecessary rules.
19902 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
19903
19904 * normal/main.c: Don't load list files on grub-emu-lite.
19905 * util/misc.c (grub_arch_sync_caches): Removed.
19906
f86a4030
CW
199072010-08-23 Colin Watson <cjwatson@ubuntu.com>
19908
19909 * kern/mips/startup.S (grub_prefix): Update comment to refer to
19910 grub-mkimage rather than grub-mkelfimage.
19911 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
19912
06776944
VS
199132010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19914
19915 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
19916 a key after CapsLock or NumLock. It's just a qemu bug.
19917
df262419
VS
199182010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
19919
19920 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
19921 needed by libusb wrapper.
19922
b40ea81b
ST
199232010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19924
19925 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
19926
dee50575
VS
199272010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
19928
19929 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
19930 --nounzip is passed.
19931
fb1d7b79
VS
199322010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
19933
19934 USB hotunplugging and USB serial support.
19935
19936 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
19937 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
19938 (grub_uhci_transfer): Respect timeout and set *actual.
19939 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
19940 non-standard length.
19941 (grub_usb_device_attach): Autoload modules.
19942 (GRUB_MOD_INIT): Set grub_term_poll_usb.
19943 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
19944 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
19945 users updated.
19946 (grub_usb_add_hub): Fill nports and children.
19947 (attach_root_port): Receive hub instead of controller.
19948 All users updated. Fill hub->devices.
19949 (grub_usb_root_hub): Allocate hub->devices.
19950 (detach_device): New function.
19951 (poll_nonroot_hub): Fill children and detach devices.
19952 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
19953 actual arguments. All users updated.
19954 (grub_usb_bulk_read_extended): New function.
19955 * bus/usb/serial/common.c: New file.
19956 * bus/usb/serial/ftdi.c: Likewise.
19957 * bus/usb/serial/pl2303.c: Likewise.
19958 * commands/terminal.c (handle_command): Support wildcard.
19959 * commands/usbtest.c: Output "Unknown" instead of empty string.
19960 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
19961 (usbserial_common_mod_SOURCES): New variable.
19962 (usbserial_common_mod_CFLAGS): Likewise.
19963 (usbserial_common_mod_LDFLAGS): Likewise.
19964 (pkglib_MODULES): Add usbserial_pl2303.mod.
19965 (usbserial_pl2303_mod_SOURCES): New variable.
19966 (usbserial_pl2303_mod_CFLAGS): Likewise.
19967 (usbserial_pl2303_mod_LDFLAGS): Likewise.
19968 (pkglib_MODULES): Add usbserial_ftdi.mod.
19969 (usbserial_ftdi_mod_SOURCES): New variable.
19970 (usbserial_ftdi_mod_CFLAGS): Likewise.
19971 (usbserial_ftdi_mod_LDFLAGS): Likewise.
19972 (pkglib_MODULES): Add serial.mod.
19973 (serial_mod_SOURCES): New variable.
19974 (serial_mod_CFLAGS): Likewise.
19975 (serial_mod_LDFLAGS): Likewise.
19976 * conf/i386-pc.rmk: Likewise.
19977 * conf/mips-yeeloong.rmk: Likewise.
19978 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
19979 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19980 * disk/usbms.c (first_available_slot): New variable.
19981 (grub_usbms_attach): Don't reuse free slots due to potential cache
19982 problems.
19983 * include/grub/serial.h: Moved to ..
19984 * include/grub/ns8250.h: ...this.
19985 * include/grub/serial.h: New file.
19986 * include/grub/term.h (grub_term_poll_usb): New variable.
19987 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
19988 readkey. All users updated.
19989 (grub_terminfo_output_state): Pass term to put.
19990 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
19991 (grub_usb_controller_dev): Add timeout and actual arguments to
19992 transfer. All users updated.
19993 (grub_usb_interface): New field detach_data.
19994 (grub_usb_device): New fields children and nports.
19995 (grub_usb_ep_type_t): New type.
19996 (grub_usb_get_ep_type): New function.
19997 (grub_usb_bulk_read_extended): Likewise.
19998 * include/grub/usbdesc.h (grub_usb_desc): New type.
19999 * include/grub/usbserial.h: New file.
20000 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
20001 * kern/term.c (grub_term_poll_usb): New variable.
20002 (grub_getkey): Call grub_term_poll_usb if set.
20003 (grub_checkkey): Likewise.
20004 (grub_getkeystatus): Likewise.
20005 * term/serial.c: Moved controller-specific parts to ...
20006 * term/ns8250.c: ... here.
20007 * term/serial.c: Mostly rewritten.
20008 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
20009 according to spec.
20010
21a313de
RM
200112010-08-20 Robert Millan <rmh@gnu.org>
20012
20013 Make kFreeBSD code more generic to support ext2fs as root, ufs as
20014 a separate module and maybe other interesting combinations.
20015
20016 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
20017 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
20018 (kfreebsd_entry): Add generic filesystem module load routine.
20019 Map GRUB `ext2' to kFreeBSD `ext2fs'.
20020
63c734a6
CW
200212010-08-20 Colin Watson <cjwatson@ubuntu.com>
20022
20023 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
20024 "numcenter" (I misunderstood the purpose of this entry).
20025 * docs/grub.texi (sendkey): Likewise.
20026
c4d16542
CW
200272010-08-20 Colin Watson <cjwatson@ubuntu.com>
20028
20029 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
20030 status flag options; simply omitting the option is equivalent and
20031 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
20032 (keysym_table): Rename "num5numlock" to "numlock".
20033 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
20034 can uniformly say that only the last of multiple `sendkey'
20035 invocations has any effect.
20036 * docs/grub.texi (sendkey): New section.
20037
93541d66
CW
200382010-08-19 Colin Watson <cjwatson@ubuntu.com>
20039
20040 * commands/i386/pc/sendkey.c (options): Fix three typos.
20041
b4ece5e1
VS
200422010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
20043
20044 Implement sendkey support.
20045
20046 * commands/i386/pc/sendkey.c: New file.
20047 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
20048 (sendkey_mod_SOURCES): New variable.
20049 (sendkey_mod_CFLAGS): Likewise.
20050 (sendkey_mod_LDFLAGS): Likewise.
20051
51f1f5af
CW
200522010-08-18 Colin Watson <cjwatson@ubuntu.com>
20053
20054 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
20055 fix warnings from Autoconf.
20056
9da94e05
CW
200572010-08-18 Colin Watson <cjwatson@ubuntu.com>
20058
20059 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
20060 to avoid false positives with some assemblers that output things
20061 like "someprefix_func" as part of their output.
20062
729a0f2e
RM
200632010-08-15 Robert Millan <rmh@gnu.org>
20064
20065 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
20066 errors.
20067 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
20068 grub_get_libzfs_handle() errors.
20069
f3710e08
RM
200702010-08-14 Robert Millan <rmh@gnu.org>
20071
20072 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
20073 filesystem is not ZFS.
20074
7a3c13de
BC
200752010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20076
20077 Fix for misspelled color names defaulting to black/black (bug
20078 reported by Doug Nazar)
20079
20080 * include/grub/normal.h (grub_parse_color_name_pair): Add return
20081 status to prototype.
20082 * normal/color.c (grub_parse_color_name_pair): Return failure
20083 status.
20084 (grub_env_write_color_normal): Ignore bad color names.
20085 (grub_env_write_color_highlight): Likewise.
20086 * normal/main.c (GRUB_MOD_INIT): Set default color names.
20087
ab8ba50d
BC
200882010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20089
20090 "shift" command support to GRUB script.
20091
20092 * include/grub/script_sh.h (grub_script_shift): New prototype.
20093 * script/execute.c (grub_script_shift): New function.
20094 * script/main.c (grub_script_init): Register shift command.
20095 (grub_script_fini): Unregister shift command.
20096 * util/grub-script-check.c (grub_script_cmd_shift): New function.
20097
20098 * tests/grub_script_shift.in: New testcase.
20099 * conf/tests.rmk: Rules for new testcase.
20100
4d61999e
BC
201012010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20102
20103 "continue" command support to GRUB script.
20104
20105 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
20106 (grub_script_break): Continue support.
20107 * script/main.c (grub_script_init): Register continue command.
20108 (grub_script_fini): Unregister continue command.
20109
20110 * tests/grub_script_continue.in: New testcase.
20111 * conf/tests.rmk: Rules for new testcase.
20112
4df51e00
BC
201132010-08-12 BVK Chaitanya <bvk@dbook>
20114
20115 "break" command support to GRUB script.
20116
20117 * conf/common.rmk: Rule updates to grub-script-check.
20118 * include/grub/misc.h (grub_min): New function.
20119 * include/grub/script_sh.h (grub_script_init): New prototype.
20120 (grub_script_fini): New prototype.
20121 (grub_script_break): New prototype.
20122 * script/main.c (grub_script_init): New function.
20123 (grub_script_fini): New function.
20124 * script/execute.c (grub_script_break): New function.
20125 * normal/main.c: Calls to grub_script_{init,fini}.
20126 * util/grub-script-check.c (grub_script_break): New function.
20127
20128 * tests/grub_script_break.in: New testcase.
20129 * conf/tests.rmk: Rules for new test case.
20130
f12c8420
BC
201312010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20132
20133 Function parameters support to GRUB script.
20134
20135 * script/yylex.l (VARIABLE): Regular expression update.
20136 * script/function.c (grub_script_function_call): Moved ...
20137 * script/execute.c (grub_script_function_call): ... to here.
20138 (grub_script_execute_arglist_to_argv): Removed.
20139 (grub_script_arglist_to_argv): New function.
20140 * script/argv.c: New file.
20141 (grub_script_argv_free): New function.
20142 (grub_script_argv_next): Likewise.
20143 (grub_script_argv_append): Likewise.
20144 (grub_script_argv_split_append): Likewise.
20145 * include/grub/script_sh.h (grub_script_argv): New struct.
20146 (grub_script_argv_free): New function.
20147 (grub_script_argv_next): Likewise.
20148 (grub_script_argv_append): Likewise.
20149 (grub_script_argv_split_append): Likewise.
20150
20151 * conf/common.rmk (normal.mod): New source script/argv.c.
20152
20153 * tests/grub_script_echo1.in: More tests.
20154 * tests/grub_script_vars1.in: Likewise.
20155 * tests/grub_script_functions.in: New test case.
20156 * conf/tests.rmk: Rules for new testcase.
20157
8022b748
BC
201582010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20159
20160 Remove grub_script_cmdblock struct.
20161
20162 * include/grub/script_sh.h: Remove grub_script_cmdblock.
20163 * script/parser.y: Likewise.
20164 * script/execute.c: Rename cmdblock suffix to cmdlist.
20165 * script/script.c: Likewise.
20166 * util/grub-script-check.c: Likewise.
20167
79a6ba61
YB
201682010-08-11 Yves Blusseau <blusseau@zetam.org>
20169
20170 * .bzrignore: add grub-macho2img
20171
d04b9414
VS
201722010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20173
20174 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
20175
f947ab49
VS
201762010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20177
20178 Remove the dump of sm712 initialisation sequence.
20179
20180 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
20181 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
20182 (GRUB_VGA_IO_MISC_WRITE): Likewise.
20183 (GRUB_VGA_CR_*): Added many registers.
20184 (GRUB_VGA_SR_*): Likewise.
20185 (GRUB_VGA_GR_*): Likewise.
20186 (grub_vga_write_arx): New function.
20187 (grub_video_hw_config): New struct.
20188 (grub_vga_set_geometry): New function.
20189 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
20190 GRUB_PCI_CLASS_SUBCLASS_VGA.
20191 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
20192 * video/sm712.c (grub_sm712_write_reg): New function
20193 (grub_sm712_read_reg): Likewise.
20194 (grub_sm712_sr_write): Likewise.
20195 (grub_sm712_gr_write): Likewise.
20196 (grub_sm712_cr_write): Likewise.
20197 (grub_sm712_write_arx): Likewise.
20198 (grub_sm712_cr_shadow_write): Likewise.
20199 (grub_sm712_write_dda_lookup): Likewise.
20200 (grub_video_sm712_setup): Initialise the video rather then
20201 blindly replay the dump.
20202 (main) [TEST]: Add a routine to be able to compile as standalone for
20203 tests.
20204 * video/sm712_init.c (sm712_init): Removed.
20205 (sm712_sr_seq1): New array.
20206 (sm712_sr_seq2): Likewise.
20207
f0206638
VS
202082010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20209
20210 * include/grub/vga.h: Add missing grub/pci.h include.
20211
2764da3b
YB
202122010-08-10 Yves Blusseau <blusseau@zetam.org>
20213
20214 * util/grub-macho2img.c (main): fix typo
20215
cf0c775e
VS
202162010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20217
20218 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
20219 (grub_vga_gr_read): Likewise.
20220 (grub_vga_cr_write): Likewise.
20221 (grub_vga_cr_read): Likewise.
20222 (grub_vga_sr_write): Likewise.
20223 (grub_vga_sr_read): Likewise.
20224 (grub_vga_palette_read): Likewise.
20225 (grub_vga_palette_write): Likewise.
20226 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
20227 (grub_sm712_sr_read): New function.
20228 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
20229 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
20230
07f360e9
RM
202312010-08-09 Robert Millan <rmh@gnu.org>
20232
20233 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
20234 out unused variables on non-ZFS build.
20235
346c2072
RM
202362010-08-08 Robert Millan <rmh@gnu.org>
20237
20238 Fix path generation for sub-filesystems in ZFS.
20239
20240 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
20241 missing slash.
20242
71175420
RM
202432010-08-08 Robert Millan <rmh@gnu.org>
20244
20245 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
20246
0d8286f3
RM
202472010-08-08 Robert Millan <rmh@gnu.org>
20248
20249 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
20250 exist, issue a proper error message (rely on `ls' for translated
20251 strings).
20252
55dd2924
RM
202532010-08-08 Robert Millan <rmh@gnu.org>
20254
20255 Fix grub-probe invocation.
20256
20257 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
20258
d3dd9e80
RM
202592010-08-04 Robert Millan <rmh@gnu.org>
20260
20261 * configure.ac: Remove checks for getfsstat() and getmntany().
20262 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
20263 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
20264 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
20265 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
20266 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
20267 function.
20268 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
20269 via find_mount_point_from_dir() and getfsstat() / getmntany().
20270
0de22aa9
RM
202712010-08-04 Robert Millan <rmh@gnu.org>
20272
20273 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20274 (grub_find_zpool_from_mount_point): Merge into ...
20275 (grub_find_zpool_from_dir): ... this.
20276 * kern/emu/misc.c: Likewise.
20277
20278 * kern/emu/misc.c
20279 (grub_make_system_path_relative_to_its_root): Replace
20280 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
20281 with grub_find_zpool_from_dir().
20282 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
20283
62858144
RM
202842010-08-04 Robert Millan <rmh@gnu.org>
20285
20286 Support OpenSolaris in ZFS device resolution.
20287
20288 * configure.ac: Check for getmntany().
20289 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
20290 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
20291 support.
20292
9dd6fd50
RM
202932010-08-03 Robert Millan <rmh@gnu.org>
20294
20295 Fix grub-emu build.
20296
20297 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
20298 * include/grub/emu/misc.h: ... here.
20299
20300 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
20301 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
20302
20303 * util/misc.c: Remove `<grub/util/libzfs.h>'.
20304 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
20305 (grub_get_libzfs_handle): Move to ...
20306 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
20307 (grub_get_libzfs_handle): ... here.
20308
c9f7ff97
BC
203092010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
20310
20311 * script/execute.c (grub_script_execute_cmdline): Check for NULL
20312 as command name case.
20313
a870a783
CW
203142010-08-02 Colin Watson <cjwatson@ubuntu.com>
20315
20316 * disk/raid.c (insert_array): Select unique numbers for named arrays
20317 as well, for use as keys in the disk cache.
20318
c7db243b
RM
203192010-08-01 Robert Millan <rmh@gnu.org>
20320
20321 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
20322 kFreeBSD device name, except on ZFS where the filesystem label is
20323 used.
20324 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
20325 `/boot/zfs/zpool.cache'.
20326 Set mountfrom kernel variable using ${kfreebsd_device}.
20327
f7abdefb
RM
203282010-08-01 Robert Millan <rmh@gnu.org>
20329
20330 Make it even harder to use uninitialized `libzfs_handle' (and
20331 make the interface a bit simpler).
20332
20333 * include/grub/util/misc.h (grub_util_init_libzfs)
20334 (libzfs_handle): Remove.
20335 (grub_get_libzfs_handle): New prototype.
20336
20337 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
20338 attribute.
20339 (grub_util_init_libzfs): Remove.
20340 (grub_get_libzfs_handle): New function.
20341
20342 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
20343 grub_get_libzfs_handle() to obtain a libzfs handle instead of
20344 accessing `libzfs_handle' directly.
20345
c882acc0
RM
203462010-08-01 Robert Millan <rmh@gnu.org>
20347
20348 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20349 (grub_find_zpool_from_mount_point): New function prototypes.
20350
20351 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
20352 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
20353
20354 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
20355 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
20356 `static' attribute.
20357
20358 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
20359 finding zpool from mount point into ...
20360 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
20361
20362 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
20363 requested path is part of a ZFS pool, use
20364 grub_find_zpool_from_mount_point() to detect its filesystem name,
20365 and generate a path with `/fsname@path' syntax.
20366
8bfe31d8
CW
203672010-08-01 Colin Watson <cjwatson@ubuntu.com>
20368
20369 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
20370 (void) rather than () so that this is a proper prototype.
20371
553df63d
VS
203722010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20373
20374 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
20375
8687cf07
VS
203762010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20377
20378 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
20379 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
20380
ea9be8ea
CW
203812010-08-01 Colin Watson <cjwatson@ubuntu.com>
20382
20383 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
20384
6eea041a
CW
203852010-08-01 Colin Watson <cjwatson@ubuntu.com>
20386
20387 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
20388
2cfb45df
CW
203892010-08-01 Colin Watson <cjwatson@ubuntu.com>
20390
20391 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
20392 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
20393 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
20394 disable gfxpayload.
20395 (Shell-like scripting): Add real content.
20396 (Serial terminal): Suggest `terminal_input serial; terminal_output
20397 serial' rather than putting the two commands on separate lines,
20398 since console input will be inoperative after the first command.
20399 (menuentry): Document --class, --users, and --hotkey options.
20400 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
20401 Vladimir Serbinenko).
20402
7decd202
VS
204032010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
204042010-08-01 Colin Watson <cjwatson@ubuntu.com>
20405
20406 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
20407
c882acc0
RM
204082010-08-01 Robert Millan <rmh@gnu.org>
20409
20410 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20411 (grub_find_zpool_from_mount_point): New function prototypes.
20412
20413 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
20414 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
20415
20416 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
20417 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
20418 `static' attribute.
20419
20420 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
20421 finding zpool from mount point into ...
20422 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
20423
20424 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
20425 requested path is part of a ZFS pool, use
20426 grub_find_zpool_from_mount_point() to detect its filesystem name,
20427 and generate a path with `/fsname@path' syntax.
20428
deb0caa3
RM
204292010-08-01 Robert Millan <rmh@gnu.org>
20430
20431 Prevent accidental use of uninitialized libzfs_handle.
20432
20433 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
20434 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
20435 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
20436
ce04ef47
CW
204372010-08-01 Colin Watson <cjwatson@ubuntu.com>
20438
20439 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
20440 util/grub.d/10_linux.in). Fixes Debian bug #591093.
20441
ebf53056
RM
204422010-08-01 Robert Millan <rmh@gnu.org>
20443
20444 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 20445
3710bb6b
RM
204462010-07-31 Robert Millan <rmh@gnu.org>
20447
20448 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
20449
8072efeb
RM
204502010-07-31 Robert Millan <rmh@gnu.org>
20451
20452 * kern/emu/misc.c: Add missing license header.
20453
3169f4c7
RM
204542010-07-31 Robert Millan <rmh@gnu.org>
20455
20456 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
20457
20458 * include/grub/util/libnvpair.h: Include `<config.h>'.
20459 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
20460 declaring libnvpair prototypes ourselves.
20461 * include/grub/util/libzfs.h: Include `<config.h>'.
20462 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
20463 declaring libzfs prototypes ourselves.
20464
20465 (libzfs_handle): Moved to ...
20466 * include/grub/util/misc.h (libzfs_handle): ... here.
20467 Include `<grub/util/libzfs.h>'.
20468
c9a00aee
RM
204692010-07-30 Robert Millan <rmh@gnu.org>
20470
20471 * include/grub/emu/misc.h: Add missing license header.
20472
a184f9c8
RM
204732010-07-30 Robert Millan <rmh@gnu.org>
20474
20475 Enable `grub-probe -t device' resolution on ZFS.
20476
20477 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
20478 * include/grub/util/libnvpair.h: New file.
20479 * include/grub/util/libzfs.h: New file.
20480
20481 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
20482 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
20483 `<grub/util/libnvpair.h>'.
20484 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
20485
20486 (find_mount_point_from_dir): New static function.
20487 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
20488 function.
20489 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
20490 find_root_device_from_libzfs() before ressorting to find_root_device().
20491
20492 * include/grub/util/misc.h (grub_util_init_libzfs): New function
20493 prototype.
20494 * util/misc.c: Include `<grub/util/libzfs.h>'.
20495 (grub_util_init_libzfs): New function.
20496 [HAVE_LIBZFS] (libzfs_handle): New global variable.
20497 [HAVE_LIBZFS] (fini_libzfs): New static function.
20498 (grub_util_init_libzfs): New function.
20499 * util/grub-probe.c (main): Call grub_util_init_libzfs().
20500
f7790cdd
RM
205012010-07-30 Robert Millan <rmh@gnu.org>
20502
20503 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
20504 (xmalloc, xrealloc, xstrdup, xasprintf): Add
20505 `warn_unused_result' attribute.
20506 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
20507 (grub_xasprintf, grub_xvasprintf): Likewise.
20508 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
20509
0806b63c
RM
205102010-07-29 Robert Millan <rmh@gnu.org>
20511
20512 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
20513 (probe): Handle `PRINT_FS_LABEL'.
20514 (main): Handle `-t fs_label'.
20515
9f841f5c
RM
205162010-07-29 Robert Millan <rmh@gnu.org>
20517
20518 * configure.ac: Remove grub-mkisofs checks.
20519
46371121
VS
205202010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
20521
20522 * util/ieee1275/grub-install.in: Don't use empty grub_device.
20523 Reported by: Lennart Sorensen.
20524
205252010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20526
20527 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
20528 prior to terminal_input/terminal_output separation. It's been over 1.5
20529 years and those versions weren't widely deployed.
20530
a9600892
CW
205312010-07-22 Colin Watson <cjwatson@ubuntu.com>
20532
20533 * disk/raid.c (insert_array): Don't count named arrays when looking
20534 for unused array numbers.
697e053c 20535 Reported and tested by: Michael Guntsche.
a9600892 20536
c03507df
CW
205372010-07-20 Colin Watson <cjwatson@ubuntu.com>
20538
20539 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
20540 implementation of this so that grub-emu links again, with a note
20541 that this should support hotplugging in the future.
20542
b26f1c11
CW
205432010-07-20 Colin Watson <cjwatson@ubuntu.com>
20544
20545 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
20546
efc9d7f1
CW
205472010-07-20 Colin Watson <cjwatson@ubuntu.com>
20548
20549 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
20550 handle on failure.
20551 (grub_loopback_close): Remove empty function.
20552 (grub_loopback_dev): Remove close method.
20553
dd8ff5c9
CW
205542010-07-20 Colin Watson <cjwatson@ubuntu.com>
20555
20556 Disable EFI cursor when the EFI console becomes inactive.
20557
20558 * term/efi/console.c (grub_efi_console_init): New function.
20559 (grub_efi_console_fini): New function.
20560 (grub_console_term_output): Register init and fini methods.
20561
5e3bec67
VS
205622010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20563
20564 * tests/util/grub-shell-tester.in: Remove bashism and declare as
20565 sh script.
20566
afaec079
VS
205672010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20568
20569 * disk/loopback.c (grub_loopback): Replace filename with file.
20570 (delete_loopback): Handle new semantics.
20571 (grub_cmd_loopback): Likewise.
20572 (grub_loopback_iterate): Likewise.
20573 (grub_loopback_close): Likewise.
20574
a6a11f3c
VS
205752010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20576
20577 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
20578 with -p "".
20579 Reported by: Tito Keitel.
20580
64a638b0
VS
205812010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20582
20583 * docs/grub.texi (Naming convention): Document new naming convention.
20584
ab8ba957
VS
205852010-07-20 Vadim Solomin <vadic052@gmail.com>
205862010-07-20 Colin Watson <cjwatson@ubuntu.com>
20587
20588 Generate device.map in something closer to the old ordering.
20589
20590 * util/deviceiter.c (struct device): New declaration.
20591 (compare_file_names): Rename to ...
20592 (compare_devices): ... this. Sort by kernel name in preference to
20593 the stable by-id name, but keep the latter as a fallback comparison.
20594 Update header comment.
20595 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
20596 of `struct device' rather than of plain file names.
20597
a29d6a4b
TF
205982010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
20599
20600 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
20601 on i386.
20602
39d824e8
VS
206032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20604
20605 * commands/acpi.c (setup_common_tables): Use sizeof instead of
20606 hardcoding size.
20607 (setv1table): Likewise.
20608
f058276b
FZ
206092010-07-20 Colin Watson <cjwatson@ubuntu.com>
20610
20611 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
20612 removing the homehost if present.
20613 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
20614 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
20615 removing the homehost if present.
20616 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
20617 if possible.
20618 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
20619
20620 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
20621 parameter. Set its pointer target to 0.
20622 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
20623 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
20624 `data_offset' value from the superblock for 1.x metadata.
20625 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
20626 data on the device.
20627 (insert_array): Record the start sector of data on the device.
20628 (grub_raid_register): Pass start_sector parameters to
20629 grub_raid_list->detect and insert_array.
20630 * include/grub/raid.h (struct grub_raid_array): Add start_sector
20631 member.
20632 (struct grub_raid): Add start_sector parameter to `detect'.
20633
20634 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
20635 __attribute__ ((packed)), leaving a comment.
20636 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
20637 (grub_mdraid_detect_09): ... here and ...
20638 (grub_mdraid_detect_1x): ... here.
20639
206402010-07-20 Peter Henn <peter.henn@web.de>
20641
20642 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
20643 chunk size and disk size, which are already given as sector counts
20644 as distinct from the 0.90 units. Fetch the correct device number
20645 from the role table instead of using the table index.
20646
206472010-07-20 Felix Zielcke <fzielcke@z-51.de>
20648
20649 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
20650 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
20651 (WriteMostly1): New macro.
20652 Set array->name to NULL for metadata format 0.90. Add support for
20653 metadata 1.x. Fix some comments.
20654 * disk/raid.c (): Add support for name based RAID arrays. Fix a
20655 few comments.
20656 * util/getroot.c (grub_util_get_grub_dev): Add support for
20657 /dev/md/name style devices.
20658
4b761da9
CW
206592010-07-20 Colin Watson <cjwatson@ubuntu.com>
20660
20661 * .bzrignore: Ignore 20_linux_xen.
20662
5771289a
CW
206632010-07-17 Colin Watson <cjwatson@ubuntu.com>
20664
20665 * util/import_unicode.py: Remove unnecessary imports.
20666
5dab68df
AN
206672010-07-17 Aleš Nesrsta <starous@volny.cz>
20668
20669 Hotplugging and USB hub support.
20670
20671 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
20672 (grub_ohci): Likewise.
20673 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
20674 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
20675 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
20676 (GRUB_OHCI_CTRL_EDS): Likewise.
20677 (GRUB_OHCI_BULK_EDS): Likewise.
20678 (GRUB_OHCI_TDS): Likewise.
20679 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
20680 (grub_ohci_ed_phys2virt): New function.
20681 (grub_ohci_virt_to_phys): Likewise.
20682 (grub_ohci_td_phys2virt): Likewise.
20683 (grub_ohci_td_virt2phys): Likewise.
20684 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
20685 attachment.
20686 (grub_ohci_find_ed): New function.
20687 (grub_ohci_alloc_td): Likewise.
20688 (grub_ohci_free_td): Likewise.
20689 (grub_ohci_free_tds): Likewise.
20690 (grub_ohci_transfer): Use previously allocated memory.
20691 (grub_ohci_portstatus): Reset status changed bit.
20692 (grub_ohci_detect_dev): Supply status changed.
20693 (grub_ohci_fini_hw): Free memory.
20694 (grub_ohci_restore_hw): Reallocate memory.
20695 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
20696 Reset status change.
20697 (grub_uhci_detect_dev): Supply status_change.
20698 * bus/usb/usb.c (attach_hooks): New var.
20699 (grub_usb_device_attach): New function.
20700 (grub_usb_register_attach_hook_class): Likewise.
20701 (grub_usb_unregister_attach_hook_class): Likewise.
20702 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
20703 (grub_usb_add_hub): Reset connection changed bit.
20704 (attach_root_port): New function.
20705 (grub_usb_root_hub): Likewise.
20706 (poll_nonroot_hub): Likewise.
20707 (grub_usb_poll_devices): Likewise.
20708 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
20709 * disk/usbms.c (grub_usbms_open): Use device hooks.
20710 (grub_usbms_iterate) :Poll devices.
20711 (grub_usbms_finddevs): Split into ...
20712 (grub_usbms_attach): ... this ...
20713 (grub_usbms_attach): ... and this.
20714 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
20715 in detect_dev.
20716 (grub_usb_interface): New fields attached and detach_hook.
20717 (grub_usb_attach_hook_class): New type.
20718 (grub_usb_attach_desc): New struct.
20719 (grub_usb_register_attach_hook_class): New function.
20720 (grub_usb_unregister_attach_hook_class): Likewise.
20721 (grub_usb_poll_devices): Likewise.
20722 (grub_usb_device_attach): Likewise.
20723 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
20724 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
20725
3222efaf
VS
207262010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20727
20728 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
20729 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
20730 delta determination style. Works with most NetBSD partitions too.
20731
139b714a
VS
207322010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20733
20734 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
20735 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
20736
986aad56
VS
207372010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20738
20739 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
20740
99be513c
AB
207412010-07-14 Anton Blanchard <anton@samba.org>
20742
20743 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
20744 ET_DYN files.
20745
18075f62
GS
207462010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20747
20748 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
20749
8d9a5b15
GS
207502010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20751
20752 * kern/partition.c (grub_partition_check_containment): New function to
20753 check that a partition is physically contained in a parent. Since
20754 offsets are relative (and non-negative), this reduces to checking that
20755 the partition ends before its parent.
20756 (grub_partition_map_probe): Discard out-of-range sub-partitions.
20757 (grub_partition_iterate): Likewise.
20758 * include/grub/partition.h (grub_partition_map): Slightly more detailed
20759 comments.
20760 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
20761 partitions that start before their parent, and add debug printfs.
20762
19563c25
CW
207632010-07-13 Colin Watson <cjwatson@ubuntu.com>
20764
20765 * Makefile.in (.SUFFIX): Spell correctly, as ...
20766 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
20767 bare module name without `.mod', e.g. `test') tried to invoke a
20768 Modula-2 compiler.
20769
1a1f1e67
CW
207702010-07-13 Colin Watson <cjwatson@ubuntu.com>
20771
20772 * README: Point to the Info manual.
20773
811b0dca
JS
207742010-07-13 Jiro SEKIBA <jir@unicus.jp>
20775
20776 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
20777 2nd superblock position from partition size.
20778
e4f4eafc
CW
207792010-07-10 Colin Watson <cjwatson@ubuntu.com>
20780
20781 * Makefile.in (MAINTAINER_CLEANFILES): Remove
20782 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
20783 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
20784 outputs.
20785
4274c30f
VS
207862010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20787
20788 Restructure SCSI .id handling.
20789 Reported and tested by: Aleš Nesrsta.
20790
20791 * disk/ata.c (grub_atapi_close): Removed. All users updated.
20792 (grub_atapi_dev): Changed .name to "ata". New field .id.
20793 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
20794 (grub_usbms_dev): New field .id.
20795 * disk/scsi.c (grub_scsi_iterate): Generate name.
20796 (grub_scsi_open): Parse name.
20797 * include/grub/scsi.h (grub_make_scsi_id): New function.
20798 (grub_scsi_dev): Change iterate and open to number instead of naming
20799 busses. All users updated.
20800 (grub_scsi): Remove name. Add .bus.
20801
5bc24388
VS
208022010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20803
20804 * commands/help.c (grub_cmd_help): Fix a typo.
20805
249975ba
VS
208062010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20807
20808 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
20809 Reported and tested by: Colin Watson.
20810
3eaac1a1
VS
208112010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20812
20813 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
20814 in this context.
20815
becce1b1
VS
208162010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
20817
20818 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
20819
f7bf0918
CW
208202010-07-07 Colin Watson <cjwatson@ubuntu.com>
20821
20822 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
20823 indentation.
20824
0b0f9620
CW
208252010-07-06 Colin Watson <cjwatson@ubuntu.com>
20826
20827 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
20828 and disk/raid6_recover.c.
20829 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20830 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20831
1e545469
CW
208322010-07-06 Colin Watson <cjwatson@ubuntu.com>
20833
20834 * term/gfxterm.c (repaint_schedulded): Rename to ...
20835 (repaint_scheduled): ... this. Update all callers.
20836 (repaint_was_schedulded): Rename to ...
20837 (repaint_was_scheduled): ... this. Update all callers.
20838
5357687a
CW
208392010-07-06 Colin Watson <cjwatson@ubuntu.com>
20840
20841 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
20842 which we expect to be handled by upper layers.
20843
29d7e783
BC
208442010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
20845
20846 * bus/usb/usbhub.c: #include time.h header.
20847
37582066
CW
208482010-07-06 Colin Watson <cjwatson@ubuntu.com>
20849
20850 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
20851 entry_name also for entries without stat blocks (e.g. ".."); fixes
20852 corruption of the first entry in a directory.
20853
c8c06953
CW
208542010-07-06 Colin Watson <cjwatson@ubuntu.com>
20855
20856 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
20857 after setting gfxterm as the active terminal. GRUB_BACKGROUND
20858 doesn't work otherwise.
20859
e75056f1
CW
208602010-07-05 Colin Watson <cjwatson@ubuntu.com>
20861
20862 * docs/grub.texi (Features): Update list of supported file systems.
20863 (GNU/Linux): Update for GRUB 2.
20864 (Serial terminal): Remove mention of --disable-serial, which was a
20865 GRUB Legacy configure option. Update instructions to use
20866 `terminal_input' and `terminal_output' rather than `terminal'.
20867 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
20868 configuration' and `Installing GRUB using grub-install'.
20869 (Menu entry editor): Update for GRUB 2.
20870 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
20871 Document new -a, -u, and -v options.
20872 (initrd): New section.
20873 (initrd16): New section.
20874 (linux): New section.
20875 (linux16): New section.
20876 (search): The `var' argument to `--set' is optional.
20877 (GRUB only offers a rescue shell): Go into a little more detail on
20878 drive ordering.
20879
5cf69151
CW
208802010-07-05 Colin Watson <cjwatson@ubuntu.com>
20881
20882 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
20883
e3f90044
CW
208842010-07-05 Colin Watson <cjwatson@ubuntu.com>
20885
20886 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
20887 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
20888
38d8f4f3
CW
208892010-07-05 Colin Watson <cjwatson@ubuntu.com>
20890
20891 * util/i386/pc/grub-setup.c (setup): Rename prefix to
20892 install_prefix, in line with install_dos_part and install_bsd_part.
20893 Add new prefix variable, which is copied to install_prefix after
20894 comparing core.img in memory with the one read from disk in the
20895 no-embedding case, and use that rather than overwriting
20896 install_prefix immediately when installing to a partition.
20897 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
20898 Bicakci.
20899
57ebd41e
GS
209002010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
20901
20902 * configure.ac: Avoid == in test command, it's not portable.
20903 * util/grub.d/30_os-prober.in: Likewise.
20904
cb7f64b2
CW
209052010-07-04 Colin Watson <cjwatson@ubuntu.com>
20906
20907 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
20908
6b654bb0
GS
209092010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
20910
20911 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
20912 multiple (top-level) partmaps.
20913
72a2026d
VS
209142010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20915
20916 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 20917 Reported by: Tino Keitel.
72a2026d 20918
df3eb88f
VS
209192010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20920
20921 Bidi and diacritics support.
20922
20923 * Makefile.in (widthspec.bin): New target.
20924 (widthspec.h): Likewise.
20925 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
20926 * autogen.sh: Generate unidata.c.
20927 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
20928 * commands/ls.c (grub_ls_list_devices): Likewise.
20929 (grub_ls_list_files): Likewise.
20930 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
20931 (grub_mini_cmd_lsmod): Likewise.
20932 * commands/read.c: Likewise.
20933 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
20934 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
20935 * lib/arg.c (grub_arg_show_help): Likewise.
20936 * lib/crypto.c (grub_password_get): Likewise.
20937 * normal/auth.c (grub_username_get): Likewise.
20938 * normal/misc.c (grub_normal_print_device_info): Likewise.
20939 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
20940 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
20941 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
20942 (normal/charset.c_DEPENDENCIES): New variable.
20943 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
20944 (pkglib_MODULES): Remove charset.mod.
20945 (charset_mod_SOURCES): Removed.
20946 (charset_mod_CFLAGS): Likewise.
20947 (charset_mod_LDFLAGS): Likewise.
20948 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
20949 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
20950 and term/tparm.c.
20951 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20952 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20953 (kernel_img_HEADERS): Add terminfo.h.
20954 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
20955 Fill ->font. Reverse ascii bitmaps.
20956 (grub_font_get_xheight): New function.
20957 * font/font.c (grub_font_get_string_width): Moved from here ...
20958 * gfxmenu/font.c (grub_font_get_string_width): ... here.
20959 * font/font.c (grub_font_draw_string): Moved from here ...
20960 * gfxmenu/font.c (grub_font_draw_string): ... here.
20961 * font/font.c (grub_font_dup_glyph): New function.
20962 (grub_font_blit_glyph): Likewise.
20963 (grub_font_blit_glyph_mirror): Likewise.
20964 (blit_comb): Likewise.
20965 (grub_font_construct_dry_run): Likewise.
20966 (grub_font_get_constructed_device_width): Likewise.
20967 (grub_font_construct_glyph): Likewise.
20968 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
20969 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
20970 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
20971 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
20972 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
20973 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
20974 (grub_font_get_xheight): New proto.
20975 (grub_font_get_constructed_device_width): Likewise.
20976 (grub_font_construct_glyph): Likewise.
20977 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
20978 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
20979 * include/grub/font.h (grub_font_draw_string): Moved from here ...
20980 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
20981 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
20982 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
20983 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
20984 (grub_console_getcharwidth): Likewise.
20985 * include/grub/misc.h (grub_xputs): New proto.
20986 (grub_puts): Inlined.
20987 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
20988 (grub_normal_get_line_counter): Removed.
20989 (grub_install_newline_hook): Likewise.
20990 (grub_normal_get_char_counter): New proto.
20991 (grub_normal_reset_more): Likewise.
20992 (grub_xputs_normal): Likewise.
20993 * include/grub/powerpc/ieee1275/console.h: Removed.
20994 * include/grub/sparc64/ieee1275/console.h: Likewise.
20995 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
20996 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
20997 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
20998 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
20999 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
21000 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
21001 (grub_term_input): Pass reference to self. All users updated.
21002 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
21003 Pass reference to self. New fields normal_color, highlight_color and
21004 data. All users updated.
21005 (grub_putchar): Removed.
21006 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
21007 (grub_unicode_estimate_width): New function.
21008 (grub_term_getcharwidth): Add defaults.
21009 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
21010 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
21011 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
21012 (grub_cls): Remove EXPORT_FUNC.
21013 (grub_setcolorstate): Inline.
21014 (grub_newline_hook): Removed.
21015 * include/grub/terminfo.h: Rewritten. All users updated.
21016 * include/grub/unicode.h: New file.
21017 * include/grub/video.h (grub_video_signed_rect): New type.
21018 * kern/emu/console.c (grub_console_highlight_color): Removed.
21019 (grub_console_normal_color): Likewise.
21020 (grub_console_standard_color): Made static.
21021 (grub_ncurses_putchar): Remove mapping.
21022 (grub_ncurses_getcharwidth): Removed.
21023 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21024 (grub_ncurses_setcolor): Removed.
21025 (grub_ncurses_getcolor): Likewise.
21026 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
21027 (grub_console_putchar): ... this.
21028 (grub_console_putchar): Handle argument difference.
21029 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
21030 console_init_early and console_init_lately.
21031 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
21032 * kern/misc.c (grub_puts): Removed.
21033 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
21034 (grub_vsnprintf_real): Remove str = NULL support.
21035 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
21036 * normal/charset.c (grub_utf8_to_ucs4): ... here.
21037 * kern/term.c (grub_putcode): Renamed to ...
21038 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
21039 (grub_putchar): Removed.
21040 (grub_xputs_dumb): New function.
21041 (grub_xputs): New variable.
21042 * lib/charset.c: Move from here ...
21043 * normal/charset.c: ... to here.
21044 (grub_ucs4_to_utf8): New function.
21045 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
21046 (join_types): New variable.
21047 (unpack_join): New function.
21048 (bidi_types): New variable.
21049 (unpack_bidi): New function.
21050 (get_bidi_type): Likewise.
21051 (get_join_type): Likewise.
21052 (is_mirrored): Likewise.
21053 (grub_unicode_get_comb_type): Likewise.
21054 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
21055 (is_type_after): Likewise.
21056 (grub_unicode_aglomerate_comb): Likewise.
21057 (bidi_line_wrap): Likewise.
21058 (grub_bidi_line_logical_to_visual): Likewise.
21059 (grub_bidi_logical_to_visual): Likewise.
21060 (grub_unicode_mirror_code): Likewise.
21061 (grub_unicode_shape_code): Likewise.
21062 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
21063 Don't use grub_putchar.
21064 * normal/main.c (grub_normal_init_page): Use grub_putcode.
21065 (grub_normal_reader_init): Likewise.
21066 (grub_xputs_saved): New variable.
21067 (GRUB_MOD_INIT): Set grub_xputs.
21068 (GRUB_MOD_FINI): Restore grub_xputs.
21069 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
21070 (menu_init): Avoid printing gfxmenu error.
21071 (show_menu): Use grub_normal_get_char_counter.
21072 * normal/menu_entry.c (update_screen): Fix out-of-array.
21073 (complete): Avoid NULL dereferencing.
21074 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
21075 * normal/menu_text.c (print_spaces): Removed.
21076 (grub_print_ucs4): Likewise.
21077 (grub_print_message_indented): Use grub_print_ucs4.
21078 (print_message): Use grub_putcode.
21079 (print_entry): Hanlde diacritics.
21080 * normal/term.c (term_state): New type.
21081 (grub_more_lines): Removed.
21082 (term_states): New variable.
21083 (grub_normal_line_counter): Renamed to ..
21084 (grub_normal_char_counter): ...this. All users updated.
21085 (grub_normal_get_line_counter): Renamed to ...
21086 (grub_normal_get_char_counter): ... this.
21087 (grub_normal_reset_more): New function.
21088 (process_newline): Removed.
21089 (print_more): New function.
21090 (grub_install_newline_hook): Removed.
21091 (map_code): New function.
21092 (grub_puts_terminal): Use grub_print_ucs4.
21093 (putglyph): New function.
21094 (putcode_real): Likewise.
21095 (grub_putcode): Use putcode_real.
21096 (get_maxwidth): New function.
21097 (get_startwidth): Likewise.
21098 (print_ucs4_terminal): Likewise.
21099 (find_term_state): Likewise.
21100 (put_glyphs_terminal): Likewise.
21101 (print_backlog): Likewise.
21102 (print_ucs4_real): Likewise.
21103 (grub_print_ucs4): Likewise.
21104 (grub_xputs_normal): Likewise.
21105 * term/efi/console.c (grub_console_putchar): Output diacritics.
21106 (grub_console_getcharwidth): Removed.
21107 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21108 * term/gfxterm.c (clear_char): Free chars.
21109 (scroll_up): Avoid leaking memory.
21110 (grub_gfxterm_putchar): Support diacritics.
21111 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21112 * term/i386/pc/console.c (grub_console_term_output): Declare as
21113 GRUB_TERM_CODE_TYPE_VGA.
21114 * term/i386/pc/vga.c (grub_vga_term): Declare as
21115 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
21116 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
21117 GRUB_TERM_CODE_TYPE_VGA.
21118 * term/i386/vga_common.c (map_char): Removed.
21119 (grub_console_putchar): Likewise.
21120 (grub_console_getcharwidth): Likewise.
21121 * term/ieee1275/ofconsole.c: Simplify using terminfo.
21122 (colors): Reordered to match terminfo.
21123 (grub_ofconsole_normal_color): Removed.
21124 (grub_ofconsole_writeesc): Likewise.
21125 (grub_ofconsole_highlight_color): Likewise.
21126 (grub_ofconsole_getcharwidth): Likewise.
21127 (grub_ofconsole_setcolorstate): Likewise.
21128 (grub_ofconsole_setcolor): Likewise.
21129 (grub_ofconsole_getcolor): Likewise.
21130 (grub_ofconsole_readkey): Renamed to ...
21131 (readkey): ... this. Remove escape sequence handling. Return -1 on no
21132 key.
21133 (grub_ofconsole_checkkey): Removed.
21134 (grub_ofconsole_getkey): Likewise.
21135 (grub_ofconsole_getxy): Likewise.
21136 (grub_ofconsole_gotoxy): Likewise.
21137 (grub_ofconsole_cls): Likewise.
21138 (grub_ofconsole_refresh): Likewise.
21139 (grub_ofconsole_terminfo_input): New struct.
21140 (grub_ofconsole_terminfo_output): Likewise.
21141 (grub_ofconsole_term_input): Use terminfo.
21142 (grub_ofconsole_term_output): Likewise.
21143 (grub_console_init): Split into ...
21144 (grub_console_init_early): ...this and ...
21145 (grub_console_init_lately): ...this. Use terminfo.
21146 (grub_ofconsole_putchar): Renamed to ...
21147 (put): ... this. Remove mapping.
21148 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21149 * term/serial.c: Simplify using terminfo.
21150 (xpos): Removed.
21151 (ypos): Likewise.
21152 (keep_track): Likewise.
21153 (registered): Likewise.
21154 (input_buf): Likewise.
21155 (npending): Likewise.
21156 (serial_translate_key_sequence): Likewise.
21157 (fill_input_buf): Likewise.
21158 (grub_serial_checkkey): Likewise.
21159 (grub_serial_getkey): Likewise.
21160 (grub_serial_getxy): Likewise.
21161 (grub_serial_gotoxy): Likewise.
21162 (grub_serial_putchar): Likewise.
21163 (grub_serial_cls): Likewise.
21164 (grub_serial_setcolorstate): Likewise.
21165 (grub_serial_setcursor): Likewise.
21166 (serial_hw_init): Use serial_hw_fetch.
21167 (grub_serial_terminfo_input): New variable.
21168 (grub_serial_terminfo_output): Likewise.
21169 (grub_serial_term_input): Use terminfo.
21170 (grub_serial_term_output): Likewise.
21171 * term/terminfo.c (putstr): Use put.
21172 (grub_terminfo_all_free): New function
21173 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
21174 (grub_terminfo_output_register): New function.
21175 (grub_terminfo_output_unregister): Likewise.
21176 (grub_terminfo_getxy): Likewise.
21177 (grub_terminfo_readkey): Likewise.
21178 (grub_terminfo_checkkey): Likewise.
21179 (grub_terminfo_getkey): Likewise.
21180 (grub_terminfo_input_init): Likewise.
21181 (print_terminfo): Likewise.
21182 (grub_cmd_terminfo): Handle encoding.
21183 (grub_terminfo_gotoxy): Track position.
21184 (grub_terminfo_cls): Likewise.
21185 (grub_terminfo_putchar): Likewise.
21186 (grub_terminfo_setcolorstate): Handle colors
21187 (grub_terminfo_cursor_on): This ...
21188 (grub_terminfo_cursor_off): ... and this merged into ...
21189 (grub_terminfo_setcursor): ... this.
21190 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
21191 * unicode/ArabicShaping.txt: New file (imported from Unicode).
21192 * unicode/BidiMirroring.txt: Likewise.
21193 * unicode/UnicodeData.txt: Likewise.
21194 * unicode/COPYING: Likewise.
21195 * util/grub-editenv.c (grub_putchar): Removed.
21196 (grub_xputs_real): New function.
21197 (grub_xputs): New variable.
21198 * util/grub-fstest.c (grub_putchar): Removed.
21199 (grub_xputs_real): New function.
21200 (grub_xputs): New variable.
21201 * util/grub-mkdevicemap.c (grub_putchar): Removed.
21202 (grub_xputs_real): New function.
21203 (grub_xputs): New variable.
21204 * util/grub-probe.c (grub_putchar): Removed.
21205 (grub_xputs_real): New function.
21206 (grub_xputs): New variable.
21207 * util/grub-script-check.c (grub_putchar): Removed.
21208 (grub_xputs_real): New function.
21209 (grub_xputs): New variable.
21210 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
21211 (grub_xputs_real): New function.
21212 (grub_xputs): New variable.
21213 * util/import_unicode.py: New file.
21214 * util/grub-mkfont.c (ft_errmsgs): New array.
21215 (grub_glyph_info): Make bitmap a pointer.
21216 (file_formats): New type WIDTH_SPEC.
21217 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
21218 (options): Add width-spec.
21219 (help): Likewise.
21220 (add_char): Renamed to ...
21221 (add_glyph): ... this.
21222 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
21223 (glyph_replace): New type.
21224 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
21225 (add_char): New function.
21226 (add_subst): Likewise.
21227 (process_cursive): Likewise.
21228 (add_font): Handle GSUB.
21229 (write_font_width_spec): New function.
21230 (main): Sort glyphs.
21231 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
21232 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
21233 * kern/term.c (grub_cls): Moved from here...
21234 * normal/term.c (grub_cls): ... here.
21235
50f0bcda
CW
212362010-07-02 Colin Watson <cjwatson@ubuntu.com>
21237
21238 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
21239 suitable for using within the format argument of printf when
21240 converting grub_size_t.
21241 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
21242 "x" to convert grub_size_t arguments.
21243
40372103
VS
212442010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21245
21246 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
21247 too long captions.
21248 (list_get_minimal_size): Take selection box into account.
21249
942a10c7
VS
212502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21251
21252 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
21253 NULL font.
21254
2bdb2892
CW
212552010-07-02 Colin Watson <cjwatson@ubuntu.com>
21256
21257 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
21258 devices when iterating over /dev/disk/by-id; they will be handled
21259 later if appropriate, which they aren't always (e.g. LVM).
21260
e03ed6c1
CW
212612010-07-02 Colin Watson <cjwatson@ubuntu.com>
21262
21263 * include/grub/misc.h (grub_reboot): Declare as noreturn.
21264 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
21265 fails.
21266 (grub_halt): Likewise.
21267 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
21268 reset-all fails.
21269 (grub_halt): Don't return, even if all of shut-down, power-off, and
21270 poweroff fail.
21271
47695765
CW
212722010-07-02 Colin Watson <cjwatson@ubuntu.com>
21273
21274 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
21275 arguments, not three.
21276
507736c8
CW
212772010-07-02 Colin Watson <cjwatson@ubuntu.com>
21278
21279 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
21280 * util/grub.d/10_linux.in: Use it to check for LVM, so that
21281 LVM-on-RAID is handled correctly.
21282
e3c8cd37
CW
212832010-07-02 Colin Watson <cjwatson@ubuntu.com>
21284
21285 * docs/grub.texi (Changes from GRUB Legacy): New section.
21286 (Future): Fix typo.
21287
8d4a2fec
CW
212882010-07-02 Colin Watson <cjwatson@ubuntu.com>
21289
21290 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
21291 grub.d/README accidentally ends up executable for one reason or
21292 another. Ignore it.
21293
1c4827be
VS
212942010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21295
21296 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
21297 (gpt_partition_map_iterate): Support non-512B sectors.
21298
d9a0c941
VS
212992010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21300
21301 * kern/efi/init.c (grub_efi_init): Disable watchdog.
21302 Tested by: Seth Goldberg.
21303
48f27e87
VS
213042010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21305
21306 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
21307 Properly align mbi.
21308 Reported by: Seth Goldberg.
21309
b0c4f956
VS
213102010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21311
21312 * util/grub-mkrescue.in: Avoid module duplication.
21313
105a2e8c
SF
213142010-07-01 Sean Finney <seanius@seanius.net>
21315
21316 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
21317
5944958c
SF
213182010-07-01 Sean Finney <seanius@seanius.net>
21319
21320 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
21321
213222010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21323
21324 * disk/lvm.c (grub_lvm_checkvalue): New function.
21325 (grub_lvm_check_flag): Likewise.
21326
b79889ba
RM
213272010-07-01 Robert Millan <rmh@gnu.org>
21328
21329 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
21330 Support 'p' as partition separator on kernel of FreeBSD (used
21331 with GPT labels).
21332 (grub_util_biosdisk_get_grub_dev): Likewise.
21333
ec1d04f1
VS
213342010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21335
21336 Yeeloong firmware port.
21337
21338 * boot/mips/yeeloong/fwstart.S: New file.
21339 * bus/cs5536.c (gpiodump): New const.
21340 (set_io_space): New function.
21341 (set_iod): Likewise.
21342 (set_p2d): Likewise.
21343 (grub_cs5536_init_geode): Likewise.
21344 * commands/mips/yeeloong/lsspd.c: New file.
21345 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
21346 (serial_mod_SOURCES): New variable.
21347 (serial_mod_CFLAGS): Likewise.
21348 (serial_mod_LDFLAGS): Likewise.
21349 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
21350 term/terminfo.c and term/tparm.c.
21351 (pkglib_IMAGES): Add fwstart.img.
21352 (fwstart_img_SOURCES): New variable.
21353 (fwstart_img_CFLAGS): Likewise.
21354 (fwstart_img_ASFLAGS): Likewise.
21355 (fwstart_img_LDFLAGS): Likewise.
21356 (fwstart_img_FORMAT): Likewise.
21357 (pkglib_MODULES): Add lsspd.mod.
21358 (lsspd_mod_SOURCES): New variable.
21359 (lsspd_mod_CFLAGS): Likewise.
21360 (lsspd_mod_LDFLAGS): Likewise.
21361 (pkglib_MODULES): Add halt.mod.
21362 (halt_mod_SOURCES): New variable.
21363 (halt_mod_CFLAGS): Likewise.
21364 (halt_mod_LDFLAGS): Likewise.
21365 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
21366 (serial_mod_SOURCES): Removed.
21367 (serial_mod_CFLAGS): Likewise.
21368 (serial_mod_LDFLAGS): Likewise.
21369 * disk/ata.c (check_device): New function.
21370 (grub_ata_device_initialize): Use check_device.
21371 (grub_ata_iterate): Recheck devices.
21372 (grub_ata_open): Likewise.
21373 (grub_atapi_iterate): Likewise.
21374 (grub_atapi_open): Likewise.
21375 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
21376 (GRUB_ATA_CH1_PORT1): Likewise.
21377 (GRUB_ATA_CH0_PORT2): Likewise.
21378 (GRUB_ATA_CH1_PORT2): Likewise.
21379 * include/grub/mips/loongson.h: New file.
21380 * include/grub/mips/yeeloong/ec.h: Likewise.
21381 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
21382 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
21383 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
21384 * include/grub/misc.h (grub_halt): Declare as noreturn.
21385 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
21386 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
21387 (UART_ENABLE_FIFO_TRIGGER1): New definition.
21388 (UART_ENABLE_DTRRTS): Likewise.
21389 (UART_ENABLE_MODEM): Removed.
21390 (UART_ENABLE_OUT2): New const.
21391 * include/grub/term.h (grub_term_register_input_active): New function.
21392 (grub_term_register_output_active): Likewise.
21393 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
21394 argument.
21395 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
21396 (init_pci): New function.
21397 (grub_machine_init): Execute platform init when firmware. Init serial.
21398 (grub_halt): Implement.
21399 (grub_exit): Likewise.
21400 (grub_reboot): Likewise.
21401 * term/serial.c (serial_hw_init): Update macros.
21402 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
21403 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
21404 (image_targets): New target mipsel-yeeloong-flash.
21405 (generate_image): Support IMAGE_YEELOONG_FLASH.
21406 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
21407 (grub_video_sm712_setup): Init card.
21408 (grub_video_sm712_set_palette): Removed.
21409 * video/sm712_init.c: New file.
21410
ff4a70d2
CW
214112010-06-30 Colin Watson <cjwatson@ubuntu.com>
21412
21413 * Makefile.in (install-local): Temporarily prepend $(builddir) to
21414 PATH when running help2man and then run it on the unadorned
21415 executable names, rather than passing $(builddir)/* paths to
21416 help2man. This avoids the build directory ending up in generated
21417 manual pages.
21418
1246efeb
CW
214192010-06-29 Colin Watson <cjwatson@ubuntu.com>
21420
21421 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
21422 to avoid accidents when debugging with 'sh -x'.
21423 * util/grub-mkrescue.in: Likewise.
21424 * util/grub.d/00_header.in: Likewise.
21425 * util/grub.d/10_hurd.in: Likewise.
21426 * util/grub.d/10_kfreebsd.in: Likewise.
21427 * util/grub.d/10_linux.in: Likewise.
21428 * util/grub.d/10_netbsd.in: Likewise.
21429 * util/grub.d/10_windows.in: Likewise.
21430 * util/grub.d/20_linux_xen.in: Likewise.
21431 * util/grub.d/30_os-prober.in: Likewise.
21432 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21433
1ba9b889
CW
214342010-06-29 Colin Watson <cjwatson@ubuntu.com>
21435
21436 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
21437 last character in the buffer.
21438 Reported by: Vladimir Serbinenko.
21439
dccaf99d
RM
214402010-06-29 Robert Millan <rmh@gnu.org>
21441
21442 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
21443 (Command-line and menu entry commands): Document `badram' command.
21444
d500ed12
RM
214452010-06-28 Robert Millan <rmh@gnu.org>
21446
21447 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
21448 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
21449 command using ${GRUB_BADRAM} as parameter.
21450
20bc84a6
CW
214512010-06-28 Colin Watson <cjwatson@ubuntu.com>
21452
21453 * docs/grub.texi (Device map): New section.
21454 (Themes): New section (stub).
21455 * Makefile.in (docs/grub.info): The info documentation now builds
21456 without errors. Make sure it stays that way.
21457
4045dee1
VS
214582010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21459
21460 Use normal parser for menu entries.
21461 Reported by: Thomas Frauendorfer
21462
21463 * include/grub/parser.h (grub_parser_execute): Don't export.
21464 * normal/menu.c (grub_menu_execute_entry_real): New function.
21465 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
21466
bca58c7b
CW
214672010-06-28 Colin Watson <cjwatson@ubuntu.com>
21468
21469 * docs/grub.texi (Embedded configuration): New section (replacing
21470 old "Preset Menu" stub).
21471 (Images): New section.
21472 (configfile): Note that any menu entries defined in `file' are shown
21473 immediately.
21474
dec53e63
JT
214752010-06-28 Josh Triplett <josh@joshtriplett.org>
21476
21477 * mmap/i386/pc/mmap_helper.S: Set CF on return.
21478
c06e40f7
CW
214792010-06-28 Colin Watson <cjwatson@ubuntu.com>
21480
21481 * util/grub-install.in: Add --debug-image= option.
21482
cb88052b
CW
214832010-06-28 Colin Watson <cjwatson@ubuntu.com>
21484
21485 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
21486 possible on Linux.
21487
21488 * util/deviceiter.c (check_device): Rename to ...
21489 (check_device_readable_unique): ... this. Update all callers.
21490 Maintain and check a list of which devices (by canonicalized name)
21491 have already been seen.
21492 (clear_seen_devices): New function.
21493 (compare_file_names) [__linux__]: New function.
21494 (grub_util_iterate_devices): Clear the list of seen devices on exit
21495 and (just in case) on entry.
21496 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
21497 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
21498 seen-devices list, superseded by general code in check_device.
21499
bbe34652
CW
215002010-06-28 Colin Watson <cjwatson@ubuntu.com>
21501
21502 * commands/cat.c (options): New variable.
21503 (grub_cmd_cat): Parse options. If the --dos option is given, print
21504 DOS-style "\r\n" line endings as simple newlines (Debian bug
21505 #586358).
21506 (GRUB_MOD_INIT): Use extcmd.
21507 (GRUB_MOD_FINI): Likewise.
21508 * docs/grub.texi (cat): Document --dos.
21509
412e09f3
VS
215102010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21511
21512 XEN with Linux grub-mkconfig support.
21513
21514 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
21515 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
21516 GRUB_CMDLINE_XEN_DEFAULT.
21517 * util/grub.d/20_linux_xen.in: New file.
21518
53f3ef38 215192010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
21520
21521 Initialise VGA video on qemu ourselves.
21522
21523 * boot/i386/qemu/boot.S: Don't call 0xc000.
21524 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
21525 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
21526 (kernel_img_HEADERS): Add pci.h.
21527 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
21528 * configure.ac: Force unifont on qemu and yeeloong.
21529 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
21530 (grub_vga_palette_write): Use correct register.
21531 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
21532 Call grub_qemu_init_cirrus.
21533 * kern/i386/qemu/init.c: New file.
21534 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
21535
21536 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
21537
c75be4fb
PR
215382010-06-26 Pavel Roskin <proski@gnu.org>
21539
21540 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
21541 13.
21542
d8034603
CW
215432010-06-26 Colin Watson <cjwatson@ubuntu.com>
21544
21545 * docs/grub.texi (Simple configuration): Explain that
21546 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
21547 set to `true' to disable their respective recovery entries, not
21548 merely set.
21549
3fa06487
CW
215502010-06-26 Colin Watson <cjwatson@ubuntu.com>
21551
21552 Make the `source' command slightly faster.
21553
21554 * normal/main.c (grub_normal_execute): Don't re-read list files when
21555 nested.
21556
e9b29642
CW
215572010-06-23 Colin Watson <cjwatson@ubuntu.com>
21558
21559 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
21560 field position and mask size to red fields from mode_info, not
21561 green.
21562 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
21563 Remove redundant tag->common.framebuffer_type assignment.
21564 Reported by: Seth Goldberg.
21565
e726542f
CW
215662010-06-23 Colin Watson <cjwatson@ubuntu.com>
21567
21568 Sync up other versions of the Linux loader with Robert Millan's
21569 change of 2010-01-09, "Make loader output a bit more user-friendly".
21570
21571 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
21572 grub_dprintf().
21573 (grub_cmd_linux): Likewise.
21574 (grub_cmd_initrd): Likewise.
21575 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
21576 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21577
d6e98a17
CW
215782010-06-21 Colin Watson <cjwatson@ubuntu.com>
21579
21580 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
21581 larger than MEMORY_MAP_SIZE.
21582
14d3f08e
BC
215832010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
21584
21585 Fix parallel build.
21586
21587 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
21588 dependency.
21589 * script/parser.y: #include grub_script.tab.h header.
21590
4f9613a3
VS
215912010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21592
21593 Support >3GiB and <16MiB RAM in i386-qemu.
21594
21595 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
21596 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
21597 (grub_lower_mem): Removed.
21598 (grub_upper_mem): Likewise.
21599 (mem_size): Made static.
21600 (above_4g): New variable.
21601 (grub_machine_mmap_init): Detect small mem_size and above_4g.
21602 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
21603 support.
21604
05e51879
VS
216052010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21606
21607 Cirrus 5446 and Bochs video cards support.
21608
21609 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
21610 video_bochs.mod
21611 (video_cirrus_mod_SOURCES): New variable.
21612 (video_cirrus_mod_CFLAGS): Likewise.
21613 (video_cirrus_mod_LDFLAGS): Likewise.
21614 (video_bochs_mod_SOURCES): Likewise.
21615 (video_bochs_mod_CFLAGS): Likewise.
21616 (video_bochs_mod_LDFLAGS): Likewise.
21617 * include/grub/vga.h: New file.
21618 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
21619 (grub_video_fb_set_page_t): New type.
21620 (grub_video_fb_setup): New prototype.
21621 (grub_video_fb_swap_buffers): Likewise.
21622 (grub_video_fb_get_info_and_fini): Likewise.
21623 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
21624 (CRTC_DATA_PORT): Likewise.
21625 (CRTC_CURSOR): Likewise.
21626 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21627 (CRTC_CURSOR_ADDR_LOW): Likewise.
21628 (CRTC_CURSOR_DISABLE): Likewise.
21629 (update_cursor): Use grub_vga_cr_write.
21630 (grub_vga_text_setcursor): Likewise.
21631 * video/bochs.c: New file.
21632 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
21633 (palette): Likewise.
21634 (palette_size): Likewise.
21635 (framebuffer): New variable.
21636 (grub_video_fb_init): Use 'framebuffer'.
21637 (grub_video_fb_fini): Likewise.
21638 (grub_video_fb_get_info): Likewise.
21639 (grub_video_fb_get_palette): Likewise.
21640 (grub_video_fb_set_palette): Likewise.
21641 (grub_video_fb_set_viewport): Likewise.
21642 (grub_video_fb_get_viewport): Likewise.
21643 (grub_video_fb_map_color): Likewise.
21644 (grub_video_fb_map_rgb): Likewise.
21645 (grub_video_fb_map_rgba): Likewise.
21646 (grub_video_fb_unmap_color): Likewise.
21647 (grub_video_fb_unmap_color_int): Likewise.
21648 (grub_video_fb_fill_rect): Likewise.
21649 (grub_video_fb_blit_bitmap): Likewise.
21650 (grub_video_fb_blit_render_target): Likewise.
21651 (grub_video_fb_scroll): Likewise.
21652 (grub_video_fb_create_render_target): Likewise.
21653 (grub_video_fb_doublebuf_blit_init): Likewise.
21654 (grub_video_fb_set_active_render_target): Handle doublebuffering.
21655 (doublebuf_pageflipping_update_screen): New function.
21656 (doublebuf_pageflipping_init): Likewise.
21657 (grub_video_fb_setup): Likewise.
21658 (grub_video_fb_swap_buffers): Likewise.
21659 (grub_video_fb_get_info_and_fini): Likewise.
21660 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
21661 All users updated.
21662 (doublebuf_pageflipping_commit): Restructured into ...
21663 (doublebuf_pageflipping_set_page): ... this.
21664 (doublebuf_pageflipping_update_screen): Removed.
21665 (doublebuf_pageflipping_init): Likewise.
21666 (double_buffering_init): Likewise.
21667 (grub_video_vbe_setup): Use grub_video_fb_setup.
21668 (grub_video_vbe_swap_buffers): Removed.
21669 (grub_video_vbe_set_active_render_target): Likewise.
21670 (grub_video_vbe_get_active_render_target): Likewise.
21671 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
21672 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
21673 grub_video_fb_set_active_render_target and
21674 grub_video_fb_get_active_render_target.
21675 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
21676 (SEQUENCER_DATA_PORT): Likewise.
21677 (MAP_MASK_REGISTER): Likewise.
21678 (CRTC_ADDR_PORT): Likewise.
21679 (CRTC_DATA_PORT): Likewise.
21680 (START_ADDR_HIGH_REGISTER): Likewise.
21681 (START_ADDR_LOW_REGISTER): Likewise.
21682 (GRAPHICS_ADDR_PORT): Likewise.
21683 (GRAPHICS_DATA_PORT): Likewise.
21684 (READ_MAP_REGISTER): Likewise.
21685 (INPUT_STATUS1_REGISTER): Likewise.
21686 (INPUT_STATUS1_VERTR_BIT): Likewise.
21687 (get_map_mask): Use grub_vga_sr_read.
21688 (set_map_mask): Use grub_vga_sr_write.
21689 (set_read_map): Use grub_vga_gr_write.
21690 (set_start_address): Use grub_vga_cr_write.
21691 * video/sm712.c (framebuffer): Remove leftover fields.
21692
4321c64a
CW
216932010-06-20 Colin Watson <cjwatson@ubuntu.com>
21694
21695 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
21696 setting GRUB_VIDEO_BACKEND. Make it available as a user override
21697 instead. Replace the gfxterm backend check with a check that
21698 ${GRUB_PREFIX}/video.lst is non-empty.
21699 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
21700 again.
21701 (load_video): New generated function. Call it before loading
21702 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
21703 * util/grub.d/10_linux.in (linux_entry): Call load_video.
21704 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
21705 * docs/grub.texi (Simple configuration): Document
21706 GRUB_VIDEO_BACKEND.
21707
217082010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21709
21710 Use video functions in linux and xnu loaders.
21711
21712 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
21713 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
21714 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
21715 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
21716 loader/i386/pc/linux.c.
21717 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
21718 (find_line_len): Removed.
21719 (find_framebuf): Likewise.
21720 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
21721 * loader/i386/efi/xnu.c: Removed.
21722 * loader/i386/pc/xnu.c: Moved from here...
21723 * loader/i386/xnu.c: ...here.
21724
21725 Enable priorities in video drivers.
21726
21727 * include/grub/video.h (grub_video_adapter_prio_t): New type.
21728 (grub_video_adapter): New field prio.
21729 (grub_video_register): Respect prio when inserting.
21730 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
21731 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
21732 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
21733 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
21734 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
21735 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
21736 * video/sm712.c (grub_video_sm712_adapter): Likewise.
21737
21738 Fix SDL driver ID.
21739
21740 * include/grub/video.h (grub_video_driver_id_t): New value
21741 GRUB_VIDEO_DRIVER_SDL.
21742 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
21743
7d24e434
CW
217442010-06-17 Colin Watson <cjwatson@ubuntu.com>
21745
21746 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
21747 argument to printf.
21748 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
21749
c88a83f6
CW
217502010-06-17 Colin Watson <cjwatson@ubuntu.com>
21751
21752 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
21753 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
21754
094dfb69
CW
217552010-06-17 Colin Watson <cjwatson@ubuntu.com>
21756
21757 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
21758 directly, and recommend grub-install instead.
21759 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
21760
2164da6b
CW
217612010-06-17 Colin Watson <cjwatson@ubuntu.com>
21762
21763 Fix i386-pc prefix handling with nested partitions (Debian bug
21764 #585068). Note that the case where the core image is booted using
21765 multiboot and relocated from its original location still requires
21766 more work.
21767
21768 * kern/i386/pc/init.c (make_install_device): If the prefix starts
21769 with "(,", fill the boot drive in between those two characters, but
21770 expect that a full partition specification including partition map
21771 names will follow.
21772 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
21773 specified, write a prefix without the drive name but including a
21774 full partition specification.
21775
044e2e60
CW
217762010-06-16 Colin Watson <cjwatson@ubuntu.com>
21777
21778 * util/grub-mkconfig.in: Ignore non-option arguments, for
21779 compatibility with older versions (before 2010-06-12) which did the
21780 same. In particular, this makes it easier to ship an update-grub
21781 wrapper which is compatible with that used with GRUB Legacy (Debian
21782 bug #586056).
21783
5591324f
GS
217842010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21785
21786 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
21787 for manual page generation.
21788
662e24d5
GS
217892010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21790
21791 * po/POTFILES: Remove leftover commands/handler.c.
21792
8d70754e
CW
217932010-06-14 Colin Watson <cjwatson@ubuntu.com>
21794
21795 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
21796 left this script non-functional.
21797
41160e2e
CW
217982010-06-14 Colin Watson <cjwatson@ubuntu.com>
21799
21800 * docs/man/grub-emu.h2m: New file.
21801
b5309cc1
CW
218022010-06-13 Colin Watson <cjwatson@ubuntu.com>
21803
21804 * docs/grub.texi (Commands): Document reduced command set in rescue
21805 mode.
21806 (cpuid): New section.
21807
fcb2d090
GS
218082010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
21809
21810 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
21811 new partition naming style.
21812 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
21813
96e5c556
BC
218142010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
21815
21816 Add "-o grub.iso" like cmdline options support.
21817
21818 * util/grub-install.in: Improve cmdline option parsing.
21819 * util/grub-mkconfig.in: Likewise.
21820 * util/grub-mkrescue.in: Likewise.
21821 * util/grub-reboot.in: Likewise.
21822 * util/grub-set-default.in: Likewise.
21823 * util/i386/efi/grub-install.in: Likewise.
21824 * util/ieee1275/grub-install.in: Likewise.
21825 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21826
c16be99b
CW
218272010-06-12 Colin Watson <cjwatson@ubuntu.com>
21828
21829 * .bzrignore: Ignore 41_custom.
21830
ce08a9fb
TS
218312010-06-12 Thomas Schmitt <scdbackup@gmx.net>
21832
21833 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
21834
7beac90c
CW
218352010-06-12 Colin Watson <cjwatson@ubuntu.com>
21836
21837 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
21838 prototype declarations.
21839
21840 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
21841 generating fs, partmap, and video lists.
21842 * include/grub/fs.h (grub_fs_register): Omit prototype if
21843 GRUB_LST_GENERATOR is defined.
21844 * include/grub/partition.h (grub_partition_map_register): Likewise.
21845 * include/grub/video.h (grub_video_register): Likewise.
21846
1c8f0f8d
JM
218472010-06-12 Javier Martín <lordhabbit@gmail.com>
21848
21849 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
21850
a6085973
TS
218512010-06-12 Thomas Schmitt <scdbackup@gmx.net>
21852
21853 * util/grub-mkrescue.in: Support --xorriso argument.
21854
25c56d29
VS
218552010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21856
21857 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
21858 Suggested by: Thomas Schmitt.
21859
e03e4b24
VS
218602010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21861
21862 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
21863 Suggested by: Thomas Schmitt.
21864
57711df6
VS
218652010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21866
21867 custom.cfg support.
21868
21869 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
21870 * util/grub.d/41_custom.in: New file.
21871
ee62c427
CW
218722010-06-12 Colin Watson <cjwatson@ubuntu.com>
21873
21874 * util/grub-mkrescue.in (make_image): Remove sh module, which has
21875 been merged back into normal.
21876
283af07a
CW
218772010-06-11 Colin Watson <cjwatson@ubuntu.com>
21878
21879 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
21880 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
21881
56a0d956
CW
218822010-06-11 Colin Watson <cjwatson@ubuntu.com>
21883
21884 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
21885 when generating manual pages.
21886 * docs/man/grub-bin2h.h2m: New file.
21887 * docs/man/grub-editenv.h2m: New file.
21888 * docs/man/grub-fstest.h2m: New file.
21889 * docs/man/grub-install.h2m: New file.
21890 * docs/man/grub-macho2img.h2m: New file.
21891 * docs/man/grub-mkconfig.h2m: New file.
21892 * docs/man/grub-mkdevicemap.h2m: New file.
21893 * docs/man/grub-mkfont.h2m: New file.
21894 * docs/man/grub-mkimage.h2m: New file.
21895 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
21896 * docs/man/grub-mkrelpath.h2m: New file.
21897 * docs/man/grub-mkrescue.h2m: New file.
21898 * docs/man/grub-ofpathname.h2m: New file.
21899 * docs/man/grub-pe2elf.h2m: New file.
21900 * docs/man/grub-probe.h2m: New file.
21901 * docs/man/grub-reboot.h2m: New file.
21902 * docs/man/grub-script-check.h2m: New file.
21903 * docs/man/grub-set-default.h2m: New file.
21904 * docs/man/grub-setup.h2m: New file.
21905
3a37e322
VS
219062010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
21907
21908 Use FOR_* macros instead of *_iterate whenever possible.
21909
21910 * commands/handler.c: Removed.
21911 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
21912 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
21913 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21914 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
21915 (grub_probe_SOURCES): Remove kern/parser.c.
21916 (util/grub-script-check.c_DEPENDENCIES): Removed.
21917 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
21918 and grub_script_check_init.c.
21919 (grub_script_check_init.lst): Removed.
21920 (grub_script_check_init.h): Likewise.
21921 (grub_script_check_init.c): Likewise.
21922 (pkglib_MODULES): Remove handler.mod and sh.mod.
21923 (handler_mod_SOURCES): Removed.
21924 (handler_mod_CFLAGS): Likewise.
21925 (handler_mod_LDFLAGS): Likewise.
21926 (normal_mod_SOURCES): Remove normal/handler.c.
21927 Add script/main.c, script/script.c, script/execute.c,
21928 script/function.c, script/lexer.c, grub_script.tab.c
21929 and grub_script.yy.c.
21930 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21931 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21932 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
21933 (grub_setup_SOURCES): Remove kern/parser.c.
21934 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21935 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
21936 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21937 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21938 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21939 (grub_setup_SOURCES): Remove kern/parser.c.
21940 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21941 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
21942 * include/grub/command.h (grub_command_iterate): Removed.
21943 (FOR_COMMANDS): New macro.
21944 * include/grub/dl.h (grub_dl): New member next.
21945 (grub_dl_iterate): Removed.
21946 (grub_dl_head): New variable declaration.
21947 (FOR_DL_MODULES): New macro.
21948 * include/grub/fs.h: Include list.h.
21949 (grub_fs): Make next first element.
21950 (grub_fs_list): New variable declaration.
21951 (grub_fs_register): Make inline.
21952 (grub_fs_unregister): Likewise.
21953 (grub_fs_iterate): Removed.
21954 (FOR_FILESYSTEMS): New macro.
21955 * include/grub/handler.h: Removed.
21956 * include/grub/list.h (grub_list_hook_t): Removed.
21957 (grub_list_test_t): Likewise.
21958 (grub_list_pop): Likewise.
21959 (grub_list_iterate): Likewise.
21960 (grub_list_insert): Likewise.
21961 (FOR_LIST_ELEMENTS): New macro.
21962 * include/grub/parser.h (grub_parser_class): Removed.
21963 (grub_parser_register): Likewise.
21964 (grub_parser_unregister): Likewise.
21965 (grub_parser_get_current): Likewise.
21966 (grub_parser_set_current): Likewise.
21967 (grub_register_rescue_parser): Likewise.
21968 (grub_rescue_parse_line): New function.
21969 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
21970 * include/grub/script_sh.h (grub_script_function_list): New variable
21971 declaration.
21972 (FOR_SCRIPT_FUNCTIONS): New macro.
21973 (grub_script_function_iterate): Removed.
21974 (grub_normal_parse_line): New prototype.
21975 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
21976 (FOR_DISABLED_TERM_INPUTS): Likewise.
21977 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21978 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21979 * include/grub/video.h (grub_video_adapter): Move 'next' to first
21980 element.
21981 (grub_video_register): Inline.
21982 (grub_video_unregister): Likewise.
21983 (grub_video_adapter_list): New variable declaration.
21984 (grub_video_iterate): Removed.
21985 (FOR_VIDEO_ADAPTERS): New macro.
21986 * kern/dl.c (grub_dl_list): Removed. All users updated.
21987 (grub_dl_iterate): Removed.
21988 * kern/fs.c (grub_fs_list): Make global.
21989 (grub_fs_register): Removed.
21990 (grub_fs_unregister): Likewise.
21991 (grub_fs_iterate): Likewise.
21992 * kern/handler.c: Removed.
21993 * kern/list.c (grub_list_pop): Removed.
21994 (grub_list_iterate): Likewise.
21995 (grub_list_insert): Likewise.
21996 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
21997 (grub_prio_list_insert): Don't use grub_list_insert.
21998 * kern/main.c (grub_register_rescue_parser): Don't call
21999 grub_register_rescue_parser.
22000 * kern/parser.c (grub_parser_class): Removed.
22001 (grub_parser_execute): Use grub_rescue_parse_line.
22002 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
22003 (grub_rescue_parser): Removed.
22004 (grub_register_rescue_parser): Likewise.
22005 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
22006 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
22007 (grub_auth_check_authentication): Likewise.
22008 * normal/completion.c (iterate_command): Removed.
22009 (grub_normal_do_completion): Use FOR_COMMANDS.
22010 * normal/handler.c: Removed.
22011 * normal/main.c (read_config_file): Remove parser changing.
22012 (grub_normal_execute): Don't call read_handler_list.
22013 (grub_normal_read_line_real): Statically allocate prompt.
22014 (grub_cmdline_run): Use grub_normal_parse_line.
22015 (GRUB_MOD_FINI): Don't call free_handler_list.
22016 * normal/menu_entry.c (run): Likewise.
22017 * script/function.c (grub_script_function_list): Make global.
22018 (grub_script_function_iterate): Removed.
22019 * script/main.c (grub_normal_parse_line): Make global.
22020 (grub_sh_parser): Removed.
22021 (GRUB_MOD_INIT): Likewise.
22022 (GRUB_MOD_FINI): Likewise.
22023 * tests/lib/functional_test.c (grub_functional_test): Use
22024 FOR_LIST_ELEMENTS.
22025 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
22026 (grub_test_run): Use FOR_LIST_ELEMENTS.
22027 * tests/lib/unit_test.c (main): Likewise.
22028 * util/deviceiter.c (grub_util_iterate_devices): Don't use
22029 grub_list_pop.
22030 * util/grub-fstest.c (grub_term_input_class): Removed.
22031 (grub_term_output_class): Likewise.
22032 * util/grub-probe.c: Likewise.
22033 * util/i386/pc/grub-setup.c: Likewise.
22034 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22035 * util/grub-script-check.c (main): Don't call grub_init_all and
22036 grub_fini_all.
22037 * video/video.c (grub_video_adapter_list): Make global.
22038 (grub_video_register): Removed.
22039 (grub_video_unregister): Likewise.
22040 (grub_video_iterate): Likewise.
22041
6289c3a7
VS
220422010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
22043
22044 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
22045 reported by Henrique Ferreiro.
22046
91460247
RM
220472010-06-09 Robert Millan <rmh@gnu.org>
22048
22049 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
22050 ones, when both are available.
22051
0ea7c4f9
GS
220522010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22053
22054 Make --version uniform and avoid hard-coded program name.
22055
22056 * util/grub-mkimage.c (main): Use `program_name' instead of
22057 hard-coded string.
22058 * util/i386/pc/grub-setup.c (main): Likewise.
22059 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
22060 * util/grub-install.in: Save the basename of $0 in $self, and use the
22061 latter in informational messages. Use the same format for --version
22062 as the binary programs.
22063 * util/grub-mkconfig.in: Likewise.
22064 * util/grub-mkrescue.in: Likewise.
22065 * util/grub-reboot.in: Likewise.
22066 * util/grub-set-default.in: Likewise.
22067 * util/i386/efi/grub-install.in: Likewise.
22068 * util/ieee1275/grub-install.in: Likewise.
22069 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22070
e8a6f3b6
GS
220712010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22072
22073 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
22074 embedding area. Use <= instead of == when checking for non-emptiness.
22075
f4d095d7
GS
220762010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22077
22078 * configure.ac: Add `.' to the directories searched for unifont.
22079
50e532ca
CW
220802010-06-08 Colin Watson <cjwatson@ubuntu.com>
22081
22082 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
22083 grub_script.yy.h.
22084
d39f3dec
CW
220852010-06-08 Colin Watson <cjwatson@ubuntu.com>
22086
22087 * docs/grub.texi (History): Expand to cover GRUB 2.
22088 (Serial terminal): Refer to `terminal_input' and `terminal_output'
22089 commands, not `terminal'.
22090 (serial): Likewise.
22091 (terminal_input): New section.
22092 (terminal_output): New section.
22093 (uppermem): New section (stub).
22094 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
22095
6ef0ddb4
CW
220962010-06-08 Colin Watson <cjwatson@ubuntu.com>
22097
22098 * docs/grub.texi (Security): Menu entries are unrestricted by
22099 default, not restricted to superusers as I had previously thought.
22100 Reword to account for this.
22101
e0f4c438
CW
221022010-06-07 Colin Watson <cjwatson@ubuntu.com>
22103
22104 * kern/emu/misc.c (device_mapper_null_log): New function.
22105 (grub_device_mapper_supported): New function.
22106 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
22107 prototype.
22108 * kern/emu/hostdisk.c (find_partition_start): Check whether
22109 device-mapper is supported before trying to use it.
22110 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
22111
da908200
CW
221122010-06-07 Colin Watson <cjwatson@ubuntu.com>
22113
22114 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
22115 (File name syntax): Likewise.
22116 (help): --all is no longer supported in GRUB 2. Be more precise
22117 about pattern matching.
22118
fb55c3ac
CW
221192010-06-07 Colin Watson <cjwatson@ubuntu.com>
22120
22121 * normal/completion.c (grub_normal_do_completion): When completing
22122 arguments to "set" and the current word contains an equals sign,
22123 skip to after the equals sign before starting completion.
22124
258c2573
CW
221252010-06-07 Colin Watson <cjwatson@ubuntu.com>
22126
22127 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
22128
ee75515e
CW
221292010-06-07 Colin Watson <cjwatson@ubuntu.com>
22130
22131 * docs/grub.texi (Network): New section.
22132 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
22133 `(nd)' as in GRUB Legacy.
22134 (pxe_unload): New section.
22135
a6a700aa
CW
221362010-06-07 Colin Watson <cjwatson@ubuntu.com>
22137
22138 * docs/grub.texi (Troubleshooting): `echo' is not usually available
22139 in the rescue shell, so recommend using `set' instead. Thanks,
22140 Jordan Uggla.
22141
4003dd38
CW
221422010-06-07 Colin Watson <cjwatson@ubuntu.com>
22143
22144 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
22145 (password): New section.
22146 (password_pbkdf2): New section.
22147 (search): New section.
22148 (Security): New section.
22149 (Troubleshooting): New section, currently very incomplete.
22150 (Invoking grub-mkpasswd-pbkdf2): New section.
22151 (Internals): New section, currently very incomplete.
22152
e1cbcc40
CW
221532010-06-07 Colin Watson <cjwatson@ubuntu.com>
22154
22155 * util/grub.d/00_header.in: Add some more quoting (of
22156 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
22157 work again.
22158 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
22159
db8fa1ad
CW
221602010-06-07 Colin Watson <cjwatson@ubuntu.com>
22161
22162 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
22163 to `count', fixing variable shadowing that broke the -c option.
22164
221652010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
22166
22167 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
22168 in case they contain spaces.
22169
f28a9212
CW
221702010-06-04 Colin Watson <cjwatson@ubuntu.com>
22171
22172 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
22173 "part_" to partmap module names, in line with grub-install.
22174 Reported by: Jindřich Makovička (Debian bug #584426).
22175
9cdfe32f
CW
221762010-06-04 Colin Watson <cjwatson@ubuntu.com>
22177
22178 * util/grub-mkimage.c: Make target-related error messages slightly
22179 more helpful; -O talks about "format". Explicitly point to the use
22180 of -O if no target is specified.
22181 Reported by: Didier Raboud (Debian bug #584415).
22182
795b593a
CW
221832010-06-03 Colin Watson <cjwatson@ubuntu.com>
22184
22185 * INSTALL: Document several build requirements for optional features
22186 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
22187
9d9b5833
GS
221882010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
22189
22190 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
22191 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
22192 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
22193
0819fec8
CW
221942010-06-02 Colin Watson <cjwatson@ubuntu.com>
22195
22196 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
22197 Thanks to Jordan Uggla for spotting this.
22198
49396b4f
VS
221992010-06-02 Aleš Nesrsta <starous@volny.cz>
22200
22201 Finally make USB usable.
22202
22203 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
22204 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
22205 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
22206 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
22207 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
22208 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
22209 (GRUB_OHCI_FSMPS): Likewise.
22210 (GRUB_OHCI_PERIODIC_START): Likewise.
22211 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
22212 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
22213 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
22214 (GRUB_OHCI_SET_PORT_RESET): Likewise.
22215 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
22216 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
22217 (grub_ohci_transaction): Likewise.
22218 (grub_ohci_transfer): Improve condition detection algorithms.
22219 Handle toggle property. Program the transactions correctly.
22220 Improve error handling. Various important fixups.
22221 (grub_ohci_portstatus): Put register writes in right order.
22222 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
22223 (grub_uhci_transfer): Don't show "failed" message on success.
22224 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
22225 array.
22226 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
22227 determine its size.
22228 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
22229 before initialization is completed. Use IN direction for empty
22230 transfers. Use last_trans and compute toggle.
22231 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
22232 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
22233 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
22234 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
22235 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
22236 (grub_usb_device): Increase toggle to 256.
22237 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
22238 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
22239 GRUB_USBMS_SUBCLASS_SFF8070.
22240 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
22241 (grub_scsi_inquiry): New member page and alloc_length.
22242 (grub_scsi_request_sense): New structure.
22243 (grub_scsi_request_sense_data): Likewise.
22244 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
22245 control.
22246 * disk/scsi.c (grub_scsi_request_sense): New function.
22247 (grub_scsi_test_unit_ready): Likewise.
22248 (grub_scsi_inquiry): Fill new fields.
22249 (grub_scsi_read_capacity): Likewise.
22250 (grub_scsi_read10): Add request sense at the end.
22251 (grub_scsi_read12): Likewise.
22252 (grub_scsi_write10): Likewise.
22253 (grub_scsi_write12): Likewise.
22254 (grub_scsi_open): Add Test Unit Ready.
22255 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
22256 Support additional subclasses. Con't clear halt yet. Activate the
22257 proper config. Calculate LUNs correctly.
22258 (grub_usbms_transfer): Various important fixups.
22259
222602010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22261
22262 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
22263 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
22264 (grub_ohci_fini_hw): New function.
22265 (grub_ohci_restore_hw): Likewise.
22266 (GRUB_MOD_INIT(ohci)): Register preboot hook.
22267 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
22268 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
22269
222702010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22271
22272 Dedicated DMA allocations.
22273
22274 * bus/pci.c (grub_memalign_dma32): New function
22275 (grub_dma_free): Likewise.
22276 (grub_dma_get_virt): Likewise.
22277 (grub_dma_get_phys): Likewise.
22278 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
22279 (grub_ohci_pci_iter): Use dma32_alloc.
22280 (grub_ohci_transfer): Likewise.
22281 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22282 (grub_usb_bulk_readwrite): Likewise.
22283 * include/grub/pci.h: Add declarations.
22284
222852010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22286
22287 CS5536 support.
22288
22289 * bus/cs5536.c: New file.
22290 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
22291 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
22292 (cs5536_mod_SOURCES): New variable.
22293 (cs5536_mod_CFLAGS): Likewise.
22294 (cs5536_mod_LDFLAGS): Likewise.
22295 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
22296 machine/pci.h.
22297 (kernel_img_SOURCES): Add bus/cs5536.c.
22298 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
22299 usb_keyboard.mod.
22300 (usb_mod_SOURCES): New variable.
22301 (usb_mod_CFLAGS): New variable.
22302 (usb_mod_LDFLAGS): New variable.
22303 (usbtest_mod_SOURCES): New variable.
22304 (usbtest_mod_CFLAGS): New variable.
22305 (usbtest_mod_LDFLAGS): New variable.
22306 (ohci_mod_SOURCES): New variable.
22307 (ohci_mod_CFLAGS): New variable.
22308 (ohci_mod_LDFLAGS): New variable.
22309 (usbms_mod_SOURCES): New variable.
22310 (usbms_mod_CFLAGS): New variable.
22311 (usbms_mod_LDFLAGS): New variable.
22312 (usb_keyboard_mod_SOURCES): New variable.
22313 (usb_keyboard_mod_CFLAGS): New variable.
22314 (usb_keyboard_mod_LDFLAGS): New variable.
22315 * include/grub/smbus.h: New file.
22316 * include/grub/cs5536.h: New file.
22317
0b35b2a9
CW
223182010-06-02 Colin Watson <cjwatson@ubuntu.com>
22319
22320 * util/grub.d/00_header.in: Add safety check to make sure that
22321 ${locale_dir} exists before trying to probe it.
22322
ca0afd5b
CW
223232010-06-02 Colin Watson <cjwatson@ubuntu.com>
22324
22325 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
22326 per the GNU Coding Standards; this is now too obscure to be worth
22327 documenting.
22328 (QNX): Likewise.
22329 (chainloader): Remove cross-reference to `SCO UnixWare'.
22330
1c41aa78
CW
223312010-06-02 Colin Watson <cjwatson@ubuntu.com>
22332
22333 * docs/grub.texi (Chain-loading): New section.
22334 (DOS/Windows): New section, borrowed from GRUB Legacy with details
22335 adjusted for GRUB 2.
22336 (SCO UnixWare): Likewise.
22337 (QNX): Likewise.
22338 (chainloader): Add reference to `Block list syntax'.
22339 (drivemap): New section.
22340 (parttool): New section.
22341
bb8ea0f5
CW
223422010-06-02 Colin Watson <cjwatson@ubuntu.com>
22343
22344 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
22345 the grub shell'.
22346 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
22347 (Installing GRUB using grub-install): Remove reference to the grub
22348 shell; mention `grub-mkimage' and `grub-setup' instead.
22349 (Invoking grub-install): Likewise.
22350 (Interface): Add reference to `Menu entry editor'.
22351 (serial): Remove `--device' option.
22352
288dd6ed
CW
223532010-06-02 Colin Watson <cjwatson@ubuntu.com>
22354
22355 * docs/grub.texi (Configuration): New section, documenting
22356 configuration file generation using grub-mkconfig. I've left a slot
22357 for documenting the full shell scripting format but have not yet
22358 started on writing that up.
22359 (Invoking grub-mkconfig): New section.
22360
34c9f0e9
CW
223612010-06-02 Colin Watson <cjwatson@ubuntu.com>
22362
22363 * docs/grub.texi (direntry): Remove grub-terminfo reference.
22364 (GNU GRUB manual): Likewise.
22365 (General commands): Update description of `terminfo' for GRUB 2.
22366
9121567e
CW
223672010-06-02 Colin Watson <cjwatson@ubuntu.com>
22368
22369 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
22370 (GRUB_MOD_INIT): Fix capitalisation.
22371 * docs/grub.texi (Command-line and menu entry commands): Document
22372 gettext and gptsync commands.
22373
ab631611
CW
223742010-06-02 Colin Watson <cjwatson@ubuntu.com>
22375
22376 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
22377 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
22378
bde4a9ac
CW
223792010-06-01 Colin Watson <cjwatson@ubuntu.com>
22380
22381 Add btrfs probing support, currently only in the single-device case.
22382
22383 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
22384 function.
22385 (grub_guess_root_device): Call find_root_device_from_mountinfo
22386 before looking in /dev.
22387
b1d17e10
VS
223882010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22389
22390 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
22391 GRUB_DISK_SIZE_UNKNOWN.
22392 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
22393
dfbfe004
JS
223942010-05-31 Jiro SEKIBA <jir@unicus.jp>
22395
22396 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
22397 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
22398 corrupted or not synced properly.
22399
c2ffc8e9
VS
224002010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22401
22402 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
22403 Reported by: Seth Goldberg.
22404
56293166
VS
224052010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22406
22407 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
22408 addition of dest.
22409 Reported by: Seth Goldberg.
22410
7620e7de
VS
224112010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22412
22413 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
22414 Reported by: Seth Goldberg.
22415
c837af3f
VS
224162010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22417
22418 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
22419 64-bit address as signed on MIPS.
22420
c7c75cf4
CW
224212010-05-28 Colin Watson <cjwatson@ubuntu.com>
22422
22423 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
22424 to the empty string.
22425
fa4b8490
BC
224262010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
22427
22428 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
22429
22430 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
22431 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
22432 * kern/misc.c (__enable_execute_stack): Disable on
22433 GRUB_MACHINE_EMU.
22434
a33075b9
CW
224352010-05-28 Colin Watson <cjwatson@ubuntu.com>
22436
22437 Make grub-probe work with symbolic links under /dev/mapper as well
22438 as with real block devices. The Linux world seems to be (at best)
22439 in transition here, and GRUB shouldn't get caught in the middle.
22440
22441 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
22442 /dev/mapper.
22443
d8708134
CW
224442010-05-27 Colin Watson <cjwatson@ubuntu.com>
22445
22446 * util/grub-script-check.c (main): Ensure defined behaviour on empty
22447 input files (in which case exit zero).
22448
db2102a0
CW
224492010-05-27 Colin Watson <cjwatson@ubuntu.com>
22450
22451 * kern/emu/misc.c (canonicalize_file_name): realpath can still
22452 return NULL for various reasons even if it has a maximum-length
22453 buffer: for example, there might be a symlink loop, or the path
22454 might exceed PATH_MAX. If this happens, return NULL.
22455
5fdba519
RM
224562010-05-27 Robert Millan <rmh@gnu.org>
22457
22458 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
22459 partmap module to handle cross-partmap setups.
22460 Reported by Orestes Mas. Gràcies!
22461
d1d368e4
CW
224622010-05-27 Colin Watson <cjwatson@ubuntu.com>
22463
22464 * util/grub-mkrescue.in: Initialise override_dir rather than
22465 assuming that it's unset or empty in the environment.
22466
95ac3c73
GS
224672010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
22468
22469 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
22470 variable index into p_index to suppress a warning with -Wshadow.
22471
7d8c0213
BC
224722010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
22473
22474 * INSTALL: Added flex >= 2.5.35 requirement.
22475
db4d5813
VS
224762010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22477
22478 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
22479
f24f4300
VS
224802010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22481
22482 cmostest support.
22483
22484 * commands/i386/cmostest.c: New file.
22485 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
22486 (cmostest_mod_SOURCES): New variable.
22487 (cmostest_mod_CFLAGS): Likewise.
22488 (cmostest_mod_LDFLAGS): Likewise.
22489 * conf/i386-pc.rmk: Likewise.
22490 * docs/grub.texi (Vendor power-on keys): New section.
22491 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
22492 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
22493 and GRUB_BUTTON_CMOS_ADDRESS.
22494 * util/grub.d/00_header.in: Handle powering-on by separate button.
22495
ad603f61
VS
224962010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22497
22498 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
22499 Removed drawing_scrollbar argument. All users updated
22500 Fixes #29792.
22501 Reported by Jo Shields
22502
3ecb080a
VS
225032010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22504
22505 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
22506 buffer since gfxterm handles double repaint.
22507
5f2316c1
VS
225082010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22509
22510 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
22511 * term/gfxterm.c (real_scroll): Likewise.
22512
9a25f885
VS
225132010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22514
22515 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
22516 before calling BIOS.
22517
39fbb79a
VS
225182010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22519
22520 * include/grub/i18n.h: Always enable grub_gettext.
22521
228cfa97
VS
225222010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22523
22524 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
22525 partition naming style.
22526
21717c8f
CW
225272010-05-21 Colin Watson <cjwatson@ubuntu.com>
22528
22529 * util/grub-mkconfig.in: Fix handling of -o so that it works when
22530 not the first option.
22531
c0f48e65
CW
225322010-05-20 Colin Watson <cjwatson@ubuntu.com>
22533
22534 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
22535
96779aec
CW
225362010-05-20 Colin Watson <cjwatson@ubuntu.com>
22537
22538 * util/misc.c: Move inclusion of <limits.h> to ...
22539 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
22540
fa9d256e
GS
225412010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
22542
22543 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
22544 Fix merge error in NetBSD code.
22545 (find_partition_start) [__NetBSD__]: Likewise.
22546
123b7a85
BC
225472010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
22548
22549 Fix grub-mkrescue usage unit testing.
22550
22551 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
22552
74276c0d
CF
225532010-05-18 Christian Franke <franke@computer.org>
22554
22555 * util/grub.d/10_windows.in: Use path names instead of
22556 drive letters to prevent warning from Cygwin 1.7.
22557 Add drivemap command to menuentry if needed.
22558
c4f7b523
ST
225592010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
22560
22561 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
22562 gnumach and gnumach.gz.
22563
95b97950
VS
225642010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22565
22566 * include/grub/i18n.h (gettext): Inline instead of using #define.
22567 (grub_gettext): Likewise.
22568 (_): Likewise.
22569
01b8d2d7
VS
225702010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22571
22572 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
22573 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
22574 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
22575 (main): Add a slash after pkglibdirroot.
22576
654e1d1e
VS
225772010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22578
22579 * util/grub-install.in: Add missing "in" keyword.
22580
26966aeb
VS
225812010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22582
22583 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
22584 Reported by: Seth Goldberg.
22585
75006747
VS
225862010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22587
22588 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
22589
74cbf5bd
CW
225902010-05-18 Colin Watson <cjwatson@ubuntu.com>
22591
22592 * configure.ac: Check for Linux device-mapper support.
22593
22594 * util/hostdisk.c (device_is_mapped): New function.
22595 (find_partition_start): New function, partly broken out from
22596 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
22597 device-mapper support added.
22598 (linux_find_partition): Use find_partition_start.
22599 (convert_system_partition_to_system_disk): Add `st' argument.
22600 Support Linux /dev/mapper/* devices if device-mapper support is
22601 available; only DM-RAID devices are understood at present.
22602 (find_system_device): Add `st' argument. Pass it to
22603 convert_system_partition_to_system_disk.
22604 (grub_util_biosdisk_get_grub_dev): Pass stat result to
22605 find_system_device and convert_system_partition_to_system_disk. Use
22606 find_partition_start.
22607
22608 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
22609 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
22610 * util/deviceiter.c [__linux__]: Define MINOR.
22611 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
22612 * util/mkdevicemap.c (grub_putchar): New function.
22613 (grub_getkey): New function.
22614 (grub_refresh): New function.
22615 (main): Set debug=all if -v -v is used.
22616
355b51e9
CW
226172010-05-18 Colin Watson <cjwatson@ubuntu.com>
22618
22619 Fix build with non-GNU libcs.
22620
22621 * util/misc.c (canonicalize_file_name): Move to ...
22622 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
22623 grub_make_system_path_relative_to_its_root.
22624
7fb5c25f
CW
226252010-05-18 Colin Watson <cjwatson@ubuntu.com>
22626
22627 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
22628 we handle finding grub-mkimage. Default to finding grub-mkimage in
22629 ${bindir} with program_transform_name applied, and provide a
22630 --grub-mkimage option to override this.
22631
1d3293d6
VS
226322010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22633
22634 Remove grub-mkisofs.
22635
22636 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
22637 (grub_mkisofs_SOURCES): Removed.
22638 (grub_mkisofs_CFLAGS): Removed.
22639 * util/mkisofs/defaults.h: Removed.
22640 * util/mkisofs/eltorito.c: Likewise.
22641 * util/mkisofs/exclude.h: Likewise.
22642 * util/mkisofs/hash.c: Likewise.
22643 * util/mkisofs/include/: Likewise.
22644 * util/mkisofs/include/fctldefs.h: Likewise.
22645 * util/mkisofs/include/mconfig.h: Likewise.
22646 * util/mkisofs/include/prototyp.h: Likewise.
22647 * util/mkisofs/include/statdefs.h: Likewise.
22648 * util/mkisofs/iso9660.h: Likewise.
22649 * util/mkisofs/joliet.c: Likewise.
22650 * util/mkisofs/match.c: Likewise.
22651 * util/mkisofs/match.h: Likewise.
22652 * util/mkisofs/mkisofs.c: Likewise.
22653 * util/mkisofs/mkisofs.h: Likewise.
22654 * util/mkisofs/msdos_partition.h: Likewise.
22655 * util/mkisofs/multi.c: Likewise.
22656 * util/mkisofs/name.c: Likewise.
22657 * util/mkisofs/rock.c: Likewise.
22658 * util/mkisofs/tree.c: Likewise.
22659 * util/mkisofs/write.c: Likewise.
22660
5dde9afe
VS
226612010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22662
22663 Unify grub-mkimage accross platforms.
22664
22665 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
22666 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
22667 (grub_mkelfimage_SOURCES): Removed.
22668 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
22669 (util/grub-mkimage.c_DEPENDENCIES): .. this.
22670 (bin_UTILITIES): Add grub-mkimage.
22671 (grub_mkimage_SOURCES): New variable.
22672 (kernel_img_HEADERS): Remove machine/kernel.h.
22673 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
22674 (pkglib_PROGRAMS): Add kernel.img.
22675 (kernel_img_HEADERS): Add machine/kernel.h.
22676 (kernel_img_FORMAT): Removed.
22677 (bin_UTILITIES): Remove grub-mkimage.
22678 (grub_mkimage_SOURCES): Removed.
22679 (grub_mkimage_CFLAGS): Likewise.
22680 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22681 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
22682 (pkglib_PROGRAMS): Add kernel.img.
22683 (bin_UTILITIES): Remove grub-mkimage.
22684 (grub_mkimage_SOURCES): Removed.
22685 (grub_mkimage_CFLAGS): Likewise.
22686 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22687 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
22688 (pkglib_PROGRAMS): Add kernel.img.
22689 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
22690 (pkglib_PROGRAMS): Add kernel.img.
22691 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
22692 (grub_mkimage_SOURCES): Removed.
22693 (grub_mkimage_CFLAGS): Likewise.
22694 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22695 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
22696 (pkglib_PROGRAMS): Add kernel.img.
22697 (bin_UTILITIES): Remove grub-mkimage.
22698 (grub_mkimage_SOURCES): Removed.
22699 (grub_mkimage_CFLAGS): Likewise.
22700 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22701 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
22702 (grub_mkimage_SOURCES): Removed.
22703 (grub_mkimage_CFLAGS): Likewise.
22704 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22705 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
22706 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
22707 (grub_pe32_optional_header): ... this.
22708 (grub_pe64_optional_header): ... and this. All users updated.
22709 (GRUB_PE32_PE32_MAGIC): Split into ..
22710 (GRUB_PE32_PE32_MAGIC): .. this.
22711 (GRUB_PE32_PE64_MAGIC): .. and this.
22712 (GRUB_PE32_SIGNATURE_SIZE): New definition.
22713 * include/grub/elf.h (PT_GNU_STACK): New definition.
22714 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
22715 * include/grub/i386/efi/kernel.h: Likewise.
22716 * include/grub/i386/kernel.h: Likewise.
22717 * include/grub/i386/pc/kernel.h: Likewise.
22718 * include/grub/i386/qemu/boot.h: Likewise.
22719 * include/grub/mips/kernel.h: Likewise.
22720 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22721 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22722 * include/grub/powerpc/kernel.h: Likewise.
22723 * include/grub/sparc64/ieee1275/boot.h: Likewise.
22724 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22725 * include/grub/sparc64/kernel.h: Likewise.
22726 * include/grub/x86_64/efi/kernel.h: Likewise.
22727 * include/grub/x86_64/kernel.h: Likewise.
22728 * include/grub/offsets.h: New file.
22729 * include/grub/kernel.h (grub_module_info): Split into ...
22730 (grub_module_info32): ... this.
22731 (grub_module_info64): ... and this.
22732 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
22733 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
22734 (grub_boot_blocklist): Moved from here ...
22735 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
22736 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
22737 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
22738 * include/grub/types.h (grub_target_to_host16): Removed.
22739 (grub_target_to_host32): Likewise.
22740 (grub_target_to_host64): Likewise.
22741 (grub_host_to_target16): Likewise.
22742 (grub_host_to_target32): Likewise.
22743 (grub_host_to_target64): Likewise.
22744 (grub_host_to_target_addr): Likewise.
22745
22746 Support grub-mkrescue for efi, coreboot and qemu.
22747
22748 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
22749 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
22750 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
22751 * util/grub-mkrawimage.c: Moved from here ...
22752 * util/grub-mkimage.c: ... here. All users updated.
22753 (ALIGN_ADDR): Use image_target.
22754 (TARGET_NO_FIELD): New const.
22755 (image_target_desc): New type.
22756 (image_targets): New array.
22757 (grub_target_to_host64): Use image_target.
22758 (grub_target_to_host32): Likewise.
22759 (grub_target_to_host16): Likewise.
22760 (grub_host_to_target64): Likewise.
22761 (grub_host_to_target32): Likewise.
22762 (grub_host_to_target16): Likewise.
22763 (grub_host_to_target_addr): Likewise.
22764 (generate_image): Handle multiimage.
22765 (main): Require -O parameter. All users updated.
22766 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
22767 util/efi/grub-mkimage.c
22768 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
22769 New option --rom-directory.
22770 Use xorriso.
22771 * util/i386/efi/grub-mkimage.c: Removed.
22772 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
22773 (grub_target_to_host32): Likewise.
22774 (grub_target_to_host64): Likewise.
22775 (grub_host_to_target16): Likewise.
22776 (grub_host_to_target32): Likewise.
22777 (grub_host_to_target64): Likewise.
22778 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
22779 (grub_target_to_host32): Likewise.
22780 (grub_target_to_host64): Likewise.
22781 (grub_host_to_target16): Likewise.
22782 (grub_host_to_target32): Likewise.
22783 (grub_host_to_target64): Likewise.
22784
f4fc97d0
BC
227852010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
22786
22787 Source tree is reorganized for emu build.
22788
22789 * include/grub/util/console.h: Move from here...
22790 * include/grub/emu/console.h: ...to here.
22791 * include/grub/util/getroot.h: Move from here...
22792 * include/grub/emu/getroot.h: ...to here.
22793 * include/grub/util/hostdisk.h: Move from here...
22794 * include/grub/emu/hostdisk.h: ...to here.
22795 * util/console.c: Move from here...
22796 * kern/emu/console.c: ...to here.
22797 * util/getroot.c: Move from here...
22798 * kern/emu/getroot.c: ...to here.
22799 * util/grub-emu.c: Move from here...
22800 * kern/emu/main.c: ...to here.
22801 * util/hostdisk.c: Move from here...
22802 * kern/emu/hostdisk.c: ...to here.
22803 * util/hostfs.c: Move from here...
22804 * kern/emu/hostfs.c: ...to here.
22805 * util/mm.c: Move from here...
22806 * kern/emu/mm.c: ...to here.
22807 * util/pci.c: Move from here...
22808 * bus/emu/pci.c: ...to here.
22809 * util/sdl.c: Move from here...
22810 * video/emu/sdl.c: ...to here.
22811 * util/time.c: Move from here...
22812 * kern/emu/time.c: ...to here.
22813 * util/usb.c: Move from here...
22814 * bus/usb/emu/usb.c: ...to here.
22815
22816 * include/grub/emu/misc.h: New header for grub-emu functions.
22817 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
22818
22819 * conf/any-emu.rmk: Rule updates for above renames.
22820 * conf/common.rmk: Likewise.
22821 * conf/i386-pc.rmk: Likewise.
22822 * conf/i386-qemu.rmk: Likewise.
22823 * conf/mips.rmk: Likewise.
22824 * conf/sparc64-ieee1275.rmk: Likewise.
22825 * conf/x86-efi.rmk: Likewise.
22826
22827 * disk/lvm.h: #include updates for above renames.
22828 * util/grub-mkrelpath.c: Likewise.
22829 * util/grub-probe.c: Likewise.
22830 * util/i386/pc/grub-setup.c: Likewise.
22831 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22832 * kern/emu/console.c: Likewise.
22833 * kern/emu/getroot.c: Likewise.
22834 * kern/emu/hostdisk.c: Likewise.
22835 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
22836
22837 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
22838 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
22839 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
22840 * util/misc.c: Remove grub-emu functions.
22841
cced9145
VS
228422010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
22843
22844 Fix gfxmenu crash.
22845 Reported by: Thorsten Grützmacher.
22846
22847 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
22848 timeout hook.
22849 (circprog_set_property): Register and unregister timeout hook.
22850 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
22851 (label_destroy): Free template. and unregister hook.
22852 (label_set_state): New function.
22853 (label_set_property): Handle templates and hooks.
22854 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
22855 timeout hook.
22856 (progress_bar_set_property): Register and unregister timeout hook.
22857 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
22858 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
22859 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
22860 (update_timeout_visit): Removed.
22861 (update_timeouts): New function.
22862 (redraw_timeouts): Likewise.
22863 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
22864 (grub_gfxmenu_clear_timeout): Likewise.
22865 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
22866 (grub_gfxmenu_timeout_notify): Likewise.
22867 (grub_gfxmenu_timeout_notifications): New external variable.
22868 (grub_gfxmenu_timeout_register): New function.
22869 (grub_gfxmenu_timeout_unregister): Likewise.
22870
c6e5caab
VS
228712010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22872
22873 Transform (broken) vga terminal into (working) vga video driver.
22874
22875 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
22876 video/i386/pc/vga.c.
22877 * include/grub/video.h (grub_video_driver_id):
22878 Add GRUB_VIDEO_DRIVER_VGA.
22879 * term/i386/pc/vga.c: Renamed to ...
22880 * video/i386/pc/vga.c: ...this
22881 (DEBUG_VGA): Removed.
22882 (CHAR_WIDTH): Likewise.
22883 (CHAR_HEIGHT): Likewise.
22884 (TEXT_WIDTH): Likewise.
22885 (TEXT_HEIGHT): Likewise.
22886 (DEFAULT_FG_COLOR): Likewise.
22887 (DEFAULT_BG_COLOR): Likewise.
22888 (colored_char): Likewise.
22889 (xpos): Likewise.
22890 (ypos): Likewise.
22891 (cursor_state): Likewise.
22892 (fg_color): Likewise.
22893 (bg_color): Likewise.
22894 (text_buf): Likewise.
22895 (page): Likewise.
22896 (font): Likewise.
22897 (framebuffer): New variable.
22898 (set_read_map): Disabled.
22899 (setup): New variable.
22900 (is_target): Likewise.
22901 (grub_vga_mod_init): Likewise.
22902 (grub_vga_mod_fini): Likewise.
22903 (check_vga_mem): Likewise.
22904 (write_char): Likewise.
22905 (write_cursor): Likewise.
22906 (scroll_up): Likewise.
22907 (grub_vga_putchar): Likewise.
22908 (grub_vga_getcharwidth): Likewise.
22909 (grub_vga_getwh): Likewise.
22910 (grub_vga_getxy): Likewise.
22911 (grub_vga_gotoxy): Likewise.
22912 (grub_vga_cls): Likewise.
22913 (grub_vga_setcolorstate): Likewise.
22914 (grub_vga_setcursor): Likewise.
22915 (grub_video_vga_init): New function.
22916 (grub_video_vga_setup): Likewise.
22917 (grub_video_vga_fini): Likewise.
22918 (update_target): Likewise.
22919 (grub_video_vga_blit_bitmap): Likewise.
22920 (grub_video_vga_blit_render_target): Likewise.
22921 (grub_video_vga_set_active_render_target): Likewise.
22922 (grub_video_vga_get_active_render_target): Likewise.
22923 (grub_video_vga_swap_buffers): Likewise.
22924 (grub_video_vga_set_palette): Likewise.
22925 (grub_video_vga_get_info_and_fini): Likewise.
22926 (grub_vga_term): Removed.
22927 (grub_video_vga_adapter): New variable.
22928 (GRUB_MOD_INIT): Register a video driver instead of terminal.
22929 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
22930
2bf61a98
VS
229312010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22932
22933 * video/readers/jpeg.c: Indented.
22934
09ddcd11
VS
229352010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22936
22937 Various jpeg cleanups.
22938
22939 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
22940 (grub_jpeg_decode_quan_table): Use sizeof.
22941 (grub_jpeg_decode_du): Use ARRAY_SIZE.
22942
e5507505
PH
229432010-05-05 Peter Hurley <No e-mail available> (tiny change)
22944
22945 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
22946 tables. Ignore non-last ac bit.
22947 (grub_jpeg_decode_quan_table): Likewise.
22948
7e720a9b
VS
229492010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22950
22951 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
22952 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
22953 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22954 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
22955 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
22956 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
22957
a7fc080b
VS
229582010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22959
22960 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
22961 error.
22962
2bf6012d
VS
229632010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22964
22965 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
22966
265d68cd
VS
229672010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22968
22969 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
22970 condition.
22971
229722010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
22973
22974 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
22975 part.
22976
265d68cd 229772010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
22978
22979 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
22980 pointers.
22981
265d68cd 229822010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
22983
22984 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
22985
d1b61374
CF
229862010-05-01 Christian Franke <franke@computer.org>
22987
22988 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
22989 Remove broken Cygwin path conversion.
22990 * util/misc.c: [__CYGWIN__] Add include and define.
22991 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
22992 for Cygwin 1.7.
22993 (make_system_path_relative_to_its_root): Simplify loop, replace early
22994 return by break.
22995 [__CYGWIN__] Add conversion to win32 path.
22996 Include "/" case in trailing slash removal.
22997
3558c6e9
VS
229982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22999
23000 * kern/main.c (grub_load_config): Fix copy-pasted comment.
23001 Reported by: Seth Goldberg
23002
f5f3ff93
VS
230032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23004
23005 * commands/help.c (grub_cmd_help): Fix a typo.
23006 Reported by: Seth Goldberg
23007
d8b5cd40
VS
230082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23009
23010 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
23011 name and add N_.
23012 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
23013 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
23014 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
23015 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
23016 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
23017 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
23018 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23019 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23020 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23021 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23022 * normal/context.c (GRUB_MOD_INIT): Likewise.
23023 * normal/main.c (GRUB_MOD_INIT): Likewise.
23024 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23025 * term/serial.c (GRUB_MOD_INIT): Likewise.
23026 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23027
88c14915
VS
230282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23029
23030 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
23031 extra == 0.
23032
165134bc
VS
230332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23034
23035 * commands/iorw.c: New file.
23036 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
23037 (iorw_mod_SOURCES): New variable.
23038 (iorw_mod_CFLAGS): Likewise.
23039 (iorw_mod_LDFLAGS): Likewise.
23040
c5ac9b32
VS
230412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23042
23043 Hotkey support
23044
23045 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
23046 * normal/main.c (hotkey_aliases): New variable.
23047 (grub_normal_add_menu_entry): Parse "--hotkey".
23048 * normal/menu_text.c (run_menu): Handle hotkeys.
23049
ce60689c
VS
230502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23051
23052 * kern/i386/coreboot/init.c (grub_machine_init): Call
23053 grub_machine_mmap_init on qemu.
23054
0359d006
VS
230552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23056
23057 * boot/i386/qemu/boot.S: Add a missing .code16.
23058
7819a456
VS
230592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23060
23061 Use LBIO on coreboot.
23062
23063 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
23064 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
23065 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
23066 New declaration.
23067 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
23068 grub_machine_mmap_init on coreboot.
23069 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
23070 GRUB_LINUXBIOS_MEMBER_LINK.
23071 (grub_machine_mmap_iterate): Fix declaration.
23072 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
23073
7210dca9
VS
230742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23075
23076 Split coreboot and multiboot ports.
23077
23078 * conf/i386-multiboot.rmk: New file.
23079 * configure.ac: Add multiboot port.
23080 * include/grub/i386/multiboot/boot.h: New file.
23081 * include/grub/i386/multiboot/console.h: Likewise.
23082 * include/grub/i386/multiboot/init.h: Likewise.
23083 * include/grub/i386/multiboot/kernel.h: Likewise.
23084 * include/grub/i386/multiboot/loader.h: Likewise.
23085 * include/grub/i386/multiboot/memory.h: Likewise.
23086 * include/grub/i386/multiboot/serial.h: Likewise.
23087 * include/grub/i386/multiboot/time.h: Likewise.
23088 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
23089 * loader/multiboot.c: Likewise.
23090 * loader/multiboot_mbi2.c: Likewise.
23091 * util/grub-mkrescue.in: Generate multiboot rescue.
23092
6f8aaf68
VS
230932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23094
3080f7a7
VS
23095 * kern/parser.c (grub_parser_execute): Cope with read-only config.
23096
230972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23098
23099 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
23100
23101 * commands/terminal.c (abstract_terminal): New struct.
23102 (handle_command): New function. Based on grub_cmd_terminal_input.
23103 (grub_cmd_terminal_input): Use handle_command.
23104 (grub_cmd_terminal_output): Use handle_command.
23105
a8ebb841
BC
231062010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
23107
23108 Fix comment handling.
23109
23110 * tests/grub_script_comments.in: New testcase.
23111 * conf/tests.rmk: Rules for new testcase.
23112 * script/yylex.l: Updated flex rules.
23113
bb06ba08
ST
231142010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
23115
23116 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
23117 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
23118 if argc is 1.
bb06ba08 23119
cc9d2425
VS
231202010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23121
23122 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
23123 autogen issues.
23124
460d8402
CF
231252010-04-26 Christian Franke <franke@computer.org>
23126
23127 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
23128 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
23129 (grub_get_prefix): Remove function.
23130 * util/grub-emu.c (main): Replace grub_get_prefix () call by
23131 make_system_path_relative_to_its_root ().
23132 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23133
553c01f9
CF
231342010-04-24 Christian Franke <franke@computer.org>
23135
23136 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
23137 (kernel_img_LDFLAGS): Remove -static-libgcc.
23138
2aec1692
CF
231392010-04-24 Christian Franke <franke@computer.org>
23140
23141 * configure.ac: Do not CHECK_BSS_START_SYMBOL
23142 and CHECK_END_SYMBOL if grub-emu is built.
23143 Unset TARGET_OBJ2ELF if grub-emu is built
23144 without module support.
23145
f67dc308
JS
231462010-04-24 Jiro SEKIBA <jir@unicus.jp>
23147
23148 Nilfs2 support.
23149
23150 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
23151 (grub_fstest_SOURCES): Likewise.
23152 (pkglib_MODULES): Add nilfs2.mod.
23153 (nilfs2_mod_SOURCES): New variable.
23154 (nilfs2_mod_CFLAGS): Likewise.
23155 (nilfs2_mod_LDFLAGS): Likewise.
23156 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23157 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23158 * fs/nilfs2.c: New file.
23159
4ba8d354
VS
231602010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
23161
23162 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
23163 is not supported.
23164
0d2c20c6
GS
231652010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
23166
23167 Add grub-mkconfig support for NetBSD.
23168
23169 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
23170 * util/grub-mkconfig.in: export new NetBSD specific variables.
23171 * po/POTFILES-shell: added 10_netbsd.in.
23172 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
23173
bc4a2d83
BC
231742010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
23175
23176 Fix emu build with grub-emu-pci and grub-emu-modules.
23177
23178 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
23179 functions.
23180 * include/grub/libpciaccess.h: New file.
23181 * conf/any-emu.rmk: Update kernel headers for emu build.
23182
f48c87aa
VS
231832010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23184
23185 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
23186
18959385
VS
231872010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23188
23189 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
23190
0037de3f
VS
231912010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23192
23193 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
23194 Retrieve chosen/bootpath if bootpath isn't hardcoded.
23195 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
23196 util/ieee1275/ofpath.c.
23197 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
23198 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
23199 * include/grub/sparc64/ieee1275/boot.h
23200 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
23201 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
23202 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
23203 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
23204 const char *.
23205 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
23206 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
23207 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
23208 install.
23209
38e55e90
GS
232102010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
23211
23212 * util/grub-mkconfig.in: Corrected two == equality tests.
23213 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
23214 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
23215 expect a number appended to it.
23216 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
23217 expects a number appended to it.
23218
a9e6ff28
VS
232192010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23220
23221 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
23222
0b830b8f
VS
232232010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23224
23225 * util/hostdisk.c (make_device_name): Change to new partition naming.
23226
0973daeb
VS
232272010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
23228
23229 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
23230
460d8402 232312010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
23232
23233 * Makefile.in: Add missing localedir setting.
23234
0b456309
CW
232352010-04-14 Colin Watson <cjwatson@ubuntu.com>
23236
23237 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
23238 mistake in r2156. Noticed by Anthony Fok.
23239
23240 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
23241 @localedir@.
23242 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23243
08f46d62
BC
232442010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
23245
23246 Fix a spurious, uninitialized variable warning.
23247
23248 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
23249 Initialize variable, shdr.
23250 (grub_freebsd_load_elfmodule): Likewise.
23251 (grub_freebsd_load_elf_meta): Likewise.
23252
8c4a72d4
BC
232532010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
23254
23255 Fix for escaped dollar in double quoted strings.
23256
23257 * script/yylex.l: Updated flex rules.
23258 * conf/tests.rmk: Rule for new testcase.
23259 * tests/grub_script_dollar.in: New testcase.
23260
ce44826e
CPE
232612010-04-13 Carles Pina i Estany <carles@pina.cat>
232622010-04-13 Colin Watson <cjwatson@ubuntu.com>
23263
23264 Enclose all translated strings in grub.cfg in single quotes, and
23265 escape them appropriately (Ubuntu bug #552921).
23266
23267 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
23268 * util/grub.d/10_hurd.in: Use it.
23269 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23270 * util/grub.d/10_linux.in (linux_entry): Likewise.
23271
4b0cd8f8
VS
232722010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23273
23274 Fix cygwin compilation.
23275
23276 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
23277 * include/grub/misc.h (__register_frame_info)
23278 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
23279 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23280 * kern/misc.c (__register_frame_info)
23281 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
23282 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23283
01fcf061
VS
232842010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23285
23286 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
23287
5d04b11e
VS
232882010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23289
23290 Unify libgcc processing.
23291
23292 * Makefile.in (kernel_img_LDFLAGS): New variable.
23293 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
23294 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
23295 overwriting.
23296 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
23297 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
23298 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
23299 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
23300 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
23301 overwriting. Remove -lgcc and -static-libgcc
23302 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
23303 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23304 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23305 (kernel_img_LDFLAGS): Append instead of overwriting.
23306 Remove -lgcc and -static-libgcc
23307 * conf/sparc64-ieee1275.rmk: Likewise.
23308 * include/grub/powerpc/libgcc.h: Move to ...
23309 * include/grub/libgcc.h: .. this.
23310 * include/grub/libgcc.h: Don't export most of the function on x86.
23311 (__bswapsi2): New export.
23312 (__bswapdi2): Likewise.
23313 * include/grub/mips/libgcc.h: Removed.
23314 * include/grub/sparc64/libgcc.h: Likewise.
23315
b7f3ac29
VS
233162010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23317
23318 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
23319 disk_info_msg (conflicts with gettexting into languages with cases).
23320
2c7031b1
GS
233212010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
23322
23323 Add grub-probe support for NetBSD.
23324
23325 * util/getroot.c (find_root_device): Convert block device to
23326 character device on NetBSD.
23327 * util/probe.c (probe): Require character device on NetBSD.
23328 * util/hostdisk.c: NetBSD specific headers.
23329 (configure_device_driver): new function to tune device driver
23330 parameters (currently only for NetBSD floppy driver).
23331 (grub_util_biosdisk_open): NetBSD specific code (get disk size
23332 via disklabel ioctl).
23333 (open_device): call configure_device_driver on NetBSD.
23334 (convert_system_partition_to_system_disk): NetBSD specific code.
23335 (device_is_wholedisk): Likewise.
23336 (grub_util_biosdisk_get_grub_dev): Likewise.
23337 (make_device_name): Fixed a typo in bsd_part_str.
23338 * configure.ac: check for opendisk() and getrawpartition() on
23339 NetBSD and set LIBUTIL.
23340 * Makefile.in: add LIBUTIL to LIBS.
23341
f516290c
BC
233422010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
23343
23344 Documentation fix.
23345
23346 * util/grub-script-check.c: Better help message.
23347
d8dcc0df
BC
233482010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
23349
23350 Fix FreeBSD build.
23351
23352 * configure.ac: Flex version check.
23353 * conf/common.rmk: Add -Wno-error to sh.mod.
23354 * script/yylex.l: Remove all #pragma.
23355
6734334a
VS
233562010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23357
23358 * include/grub/util/misc.h (canonicalise_file_name): Add missing
23359 prototype.
23360 Reported by: Seth Goldberg.
23361
daea6abd
VS
233622010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23363
23364 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
23365 Rename "module" to "module2".
23366 Reported by: Seth Goldberg.
23367
f2fd9d2b
VS
233682010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23369
23370 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
23371 EXPORT_FUNC.
23372 Reported by: Seth Goldberg.
23373
be124579
VS
233742010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23375
23376 * lib/posix_wrap/locale.h: Add missing file.
23377 Reported by: Seth Goldberg.
23378
ef5da797
VS
233792010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23380
23381 grub-emu module load support.
23382
23383 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
23384 NO_DYNAMIC_MODULES switched to this.
23385 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
23386 (CFLAGS): Likewise.
23387 * conf/any-emu.rmk: Generate symlist.
23388 (kernel_img_HEADERS): Add util/datetime.h.
23389 (kernel_img_HEADERS) [sdl]: Add sdl.h.
23390 (kernel_img_HEADERS) [libusb]: Add libusb.h.
23391 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
23392 kern/$(target_cpu)/cache.S.
23393 * configure.ac (grub-emu-modules): New option.
23394 * genmk.rb: Handle multiple source lists.
23395 * include/grub/sdl.h: New file.
23396 * include/grub/libusb.h: Likewise.
23397 * util/grub-emu.c (main): Hanle (host) root.
23398 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
23399 GRUB_ERR_UNKNOWN_DEVICE.
23400 * util/misc.c: Move mm functions to ...
23401 * util/mm.c: ... here. All users updated.
23402
47822096
VS
234032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23404
23405 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
23406 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
23407 missing files.
23408 (maintainer-clean): Remove libgcrypt-grub.
23409
5d7e7445
VS
234102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23411
23412 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
23413
25f4e252
EC
234142010-04-09 EFI Coder <eficoder@hotmail.com>
23415
23416 * normal/menu_text.c (print_message): Clean up the message and show
23417 the Fn information when on EFI
23418 * term/efi/console.c (grub_console_checkkey): Add F4 support.
23419
027de555
VS
234202010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23421
23422 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
23423 All users updated.
23424 * normal/crypto.c (read_crypto_list): Likewise.
23425 * normal/dyncmd.c (read_command_list): Likewise.
23426 * normal/term.c (read_terminal_list): Likewise.
23427 * normal/main.c (read_lists): Use explicit prefix.
23428 (read_lists_hook): Use read_lists.
23429 (grub_normal_execute): Likewise.
23430
47779711
VS
234312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23432
23433 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
23434 Reported by: Thomas Schmitt.
23435 Add -no-emul-boot to grub-mkisofs parameters.
23436
1118c32e
VS
234372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23438
23439 * font/font.c: Indented.
23440
7d652447
BC
234412010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
23442
23443 Elif support to GRUB script (by Deepak Vankadaru).
23444
23445 * tests/grub_script_if.in: New testcase.
23446 * conf/tests.rmk: Rule for new testcase.
23447 * script/parser.y: Grammar rules for elif.
23448
34bb22df
BC
234492010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
23450
23451 While and until loops support to GRUB script.
23452
23453 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
23454 (grub_script_create_cmdwhile): New function prototype.
23455 (grub_script_execute_cmdwhile): New function prototype.
23456 * script/execute.c (grub_script_execute_cmdwhile): New function.
23457 * script/parser.y (command): New commands.
23458 (whilecmd): New grammar rule.
23459 (untilcmd): New grammar rule.
23460 * script/script.c (grub_script_create_cmdwhile): New function.
23461 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
23462 function.
23463
23464 * tests/grub_script_while1.in: New testcase.
23465 * conf/tests.rmk: Rule for new testcase.
23466
e215d8e0
VS
234672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23468
23469 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
23470 as *.jpg.
23471
d7c43ba1
MV
234722010-04-09 Mario Vazquez <mariovazq@gmail.com>
23473
23474 GRUB_BACKGROUND support.
23475
23476 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
23477 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
23478
d64795c0
VS
234792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23480
23481 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 23482 Idea by: Mario Vazquez
d64795c0
VS
23483
23484 * util/grub.d/00_header.in: Load pf2 and image modules.
23485
f267f83a
VS
234862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23487
23488 grub-mkconfig multiple terminal support.
23489
23490 * util/grub-mkconfig.in: Handle multiple terminals correctly.
23491 * util/grub.d/00_header.in: Likewise.
23492
b7841ceb
VS
234932010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23494
23495 * Makefile.in: Specify files explicitly instead of using $< and $@ since
23496 we use cd $(srcdir).
23497
df60998c
CW
234982010-04-08 Colin Watson <cjwatson@ubuntu.com>
23499
23500 * util/grub.d/10_linux.in: Only use the first word of
23501 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
23502 spaces in GRUB_DISTRIBUTOR.
23503 * util/grub.d/10_kfreebsd.in: Likewise.
23504 * util/grub.d/10_hurd.in: Likewise.
23505
fa09c82e
BC
235062010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
23507
14e18ae3 23508 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
23509
23510 * tests/util/grub-shell.in: Remove -serial stdio option.
23511
daf892b3
BC
235122010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
23513
23514 POSIX header file wrappers.
23515
23516 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
23517 equivalents.
23518 * lib/posix_wrap/ctype.h: Likewise.
23519 * lib/posix_wrap/errno.h: Likewise.
23520 * lib/posix_wrap/langinfo.h: Likewise.
23521 * lib/posix_wrap/limits.h: Likewise.
23522 * lib/posix_wrap/localcharset.h: Likewise.
23523 * lib/posix_wrap/stdint.h: Likewise.
23524 * lib/posix_wrap/stdio.h: Likewise.
23525 * lib/posix_wrap/stdlib.h: Likewise.
23526 * lib/posix_wrap/string.h: Likewise.
23527 * lib/posix_wrap/sys/types.h: Likewise.
23528 * lib/posix_wrap/unistd.h: Likewise.
23529 * lib/posix_wrap/wchar.h: Likewise.
23530 * lib/posix_wrap/wctype.h: Likewise.
23531 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
23532 (grub_script.yy.h): Likewise.
23533 * script/yylex.l: Remove POSIX emulation #defines.
23534 * Makefile.in (POSIX_CFLAGS): New variable.
23535 (GNULIB_UTIL_CFLAGS): Likewise.
23536
23537 Regexp support.
23538
23539 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
23540 (regexp_mod_SOURCES): New variable.
23541 (regexp_mod_CFLAGS): Likewise.
23542 (regexp_mod_LDFLAGS): Likewise.
23543 * commands/regexp.c: New file.
23544 * gnulib/regcomp.c: New file. Imported from gnulib.
23545 * gnulib/regex.c: Likewise.
23546 * gnulib/regex_internal.c: Likewise.
23547 * gnulib/regex_internal.h: Likewise.
23548 * gnulib/regexec.c: Likewise.
23549 * gnulib/regex.h: Likewise.
23550
974ac4f7
VS
235512010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23552
23553 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
23554 unsupported video mode types.
23555
2622c3ff
VS
235562010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23557
23558 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
23559
064cb524
VS
235602010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23561
23562 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
23563 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
23564
a8c3b552
VS
235652010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23566
23567 Remove unused grub_vga_get_font.
23568
23569 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
23570 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
23571
187bbe3d
GS
235722010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23573
23574 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
23575 * include/grub/misc.h: Likewise.
23576
b9396631
GS
235772010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23578
23579 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
23580 for which failure is fatal.
23581
50479feb
GS
235822010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23583
23584 * util/grub-install.in: Use mkdir -p to create grub directory.
23585 * util/i386/efi/grub-install.in: Likewise.
23586 * util/ieee1275/grub-install.in: Likewise.
23587
b1654fdf
GS
235882010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23589
23590 * Makefile.in (LEX): new variable.
23591
bd5a6415
GS
235922010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23593
23594 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
23595 `=' and added double quotes on operands of this equality test.
23596
3db3a82b
VS
235972010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
23598
23599 * Makefile.in (uninstall): Remove a leftover debug echo.
23600 Reported by: Grégoire Sutre
23601
38023412
VS
236022010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
23603
23604 MIPS multiboot2 support.
23605
23606 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
23607 (multiboot2_mod_SOURCES): New variable.
23608 (multiboot2_mod_CFLAGS): Likewise.
23609 (multiboot2_mod_LDFLAGS): Likewise.
23610 (multiboot2_mod_ASFLAGS): Likewise.
23611 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
23612 definition.
23613 (MULTIBOOT_ENTRY_REGISTER): Likewise.
23614 (MULTIBOOT_MBI_REGISTER): Likewise.
23615 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
23616 (MULTIBOOT_ELF32_MACHINE): Likewise.
23617 (MULTIBOOT_ELF64_MACHINE): Likewise.
23618 * include/grub/mips/multiboot.h: New file.
23619 * include/grub/video.h (grub_video_driver_id): New type
23620 GRUB_VIDEO_DRIVER_SM712.
23621 (grub_video_get_info_and_fini): Export.
23622 (grub_video_get_palette): Likewise.
23623 (grub_video_get_driver_id): Likewise.
23624 * include/multiboot2.h: Resynced with spec.
23625 * loader/i386/multiboot.c: Moved from here ...
23626 * loader/multiboot.c: ... here. All users updated.
23627 (grub_multiboot_boot): Use platform-specific macros.
23628 * loader/i386/multiboot_elfxx.c: Moved from here ...
23629 * loader/multiboot_elfxx.c: ... here. All users updated.
23630 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
23631 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
23632 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
23633
47674667
VS
236342010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
23635
23636 Import gnulib argp module.
23637
23638 * gnulib/argp-ba.c: New file.
23639 * gnulib/argp-eexst.c: Likewise.
23640 * gnulib/argp-fmtstream.c: Likewise.
23641 * gnulib/argp-fmtstream.h: Likewise.
23642 * gnulib/argp-fs-xinl.c: Likewise.
23643 * gnulib/argp-help.c: Likewise.
23644 * gnulib/argp-namefrob.h: Likewise.
23645 * gnulib/argp-parse.c: Likewise.
23646 * gnulib/argp-pin.c: Likewise.
23647 * gnulib/argp-pv.c: Likewise.
23648 * gnulib/argp-pvh.c: Likewise.
23649 * gnulib/argp-version-etc.c: Likewise.
23650 * gnulib/argp-version-etc.h: Likewise.
23651 * gnulib/argp-xinl.c: Likewise.
23652 * gnulib/argp.h: Likewise.
23653
495442ed
VS
236542010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
23655
23656 * kern/device.c (grub_device_iterate): Clear errors after failed
23657 opening device.
23658
f9fd65df
VS
236592010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
23660
23661 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
23662 returned by firmware.
23663
af09641e
VS
236642010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
23665
23666 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
23667 compilation on coreboot and qemu
23668
016883a5
VS
236692010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
23670
23671 * include/multiboot2.h: Resync with spec.
23672
f97e1f7d
VS
236732010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
23674
23675 Multiboot2 tag support
23676
23677 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
23678 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
23679 Remove loader/multiboot_loader.c.
23680 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
23681 (grub_multiboot2_real_boot): Likewise.
23682 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
23683 (grub_get_multiboot_mmap_count): New proto.
23684 (grub_fill_multiboot_mmap): Likewise.
23685 (grub_multiboot_set_video_mode): Likewise.
23686 (grub_multiboot_set_console): Likewise.
23687 (grub_multiboot_load): Likewise.
23688 (grub_multiboot_load_elf): Likewise.
23689 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
23690 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
23691 * include/multiboot.h: Resynced with specification.
23692 * include/multiboot2.h: Resynced with specification.
23693 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
23694 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
23695 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
23696 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
23697 users updated.
23698 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
23699 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
23700 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
23701 Removed.
23702 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
23703 Moved from here...
23704 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
23705 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
23706 Moved from here...
23707 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
23708 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
23709 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
23710 All users updated.
23711 * loader/i386/multiboot_mbi2.c: New file.
23712
3506b90b
VS
237132010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
23714
23715 Resync with gnulib.
23716
23717 * Makefile.in (GNULIB_CFLAGS): New variable.
23718 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
23719 (grub_script_check_CFLAGS): New variable.
23720 * gnulib/alloca.h: Resync with gnulib.
23721 * gnulib/error.c: Likewise.
23722 * gnulib/error.h: Likewise.
23723 * gnulib/fnmatch.c: Likewise.
23724 * gnulib/fnmatch_loop.c: Likewise.
23725 * gnulib/getdelim.c: Likewise.
23726 * gnulib/getline.c: Likewise.
23727 * gnulib/getopt.c: Likewise.
23728 * gnulib/getopt1.c: Likewise.
23729 * gnulib/getopt_int.h: Likewise.
23730 * gnulib/gettext.h: Likewise.
23731 * gnulib/progname.c: Likewise.
23732 * gnulib/progname.h: Likewise.
23733
394a3120
GS
237342010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
23735
23736 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
23737 which is the case with --disabled-nls.
23738
23739 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
23740 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
23741 * util/misc.c: Likewise.
23742 * util/mkisofs/mkisofs.c: Likewise.
23743 * util/mkisofs/mkisofs.h: Likewise.
23744
969d1c78
VS
237452010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
23746
23747 Simplify Apple CC support.
23748
23749 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
23750 Add 0 byte at the end not to have a symbol with empty target.
23751 * mmap/i386/pc/mmap_helper.S: Likewise.
23752 * genmk.rb: Ignore errors 2030 and 2050.
23753 * kern/i386/pc/startup.S: Use LOCAL when possible.
23754
8d2977bb
BC
237552010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
23756
23757 Testcase and the fix for final semicolon on cmdline.
23758
23759 * tests/grub_script_final_semicolon.in: New testcase.
23760 * conf/tests.rmk: Rules for the new testcase.
23761 * script/parser.y: Grammar fix.
23762
a7bd6915
BC
237632010-03-26 BVK Chaitanya <bvk@localhost>
23764
23765 Blank lines testcase for GRUB script.
23766
23767 * tests/grub_script_blanklines.in: New testcase.
23768 * conf/tests.rmk: Rules for the new testcase.
23769
e4ff6628
VS
237702010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
23771
23772 Don't use __FILE__.
23773
23774 * genmk.rb: Add -DGRUB_FILE to all C targets.
23775 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
23776 * include/grub/list.h: Likewise.
23777 * include/grub/misc.h: Likewise.
23778 * include/grub/mm.h: Likewise.
23779 * include/grub/test.h: Likewise.
23780 * kern/mm.c: Likewise.
23781 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23782
6a5cf6b6
VS
237832010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
23784
23785 Sunpc partitions support.
23786
23787 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
23788 (grub_fstest_SOURCES): Likewise.
23789 (pkglib_MODULES): Add part_sunpc.mod.
23790 (part_sunpc_mod_SOURCES): New variable.
23791 (part_sunpc_mod_CFLAGS): Likewise.
23792 (part_sunpc_mod_LDFLAGS): Likewise.
23793 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
23794 * partmap/sunpc.c: New file.
23795
746d9045
BC
237962010-03-26 BVK Chaitanya <bvk@localhost>
23797
23798 For loop support to GRUB script.
23799
23800 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
23801 (grub_script_create_cmdfor): New function prototype.
23802 (grub_script_execute_cmdfor): New function prototype.
23803 * script/execute.c (grub_script_execute_cmdfor): New function.
23804 * script/parser.y (command): New for command.
23805 (forcmd): New grammar rule.
23806 * script/script.c (grub_script_create_cmdfor): New function.
23807 * util/grub-script-check.c (grub_script_execute_cmdfor): New
23808 function.
23809 * tests/grub_script_for1.in: New testcase.
23810 * conf/tests.rmk: Rules for new testcase.
23811
18486b18
VS
238122010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
23813
23814 Nested partitions
23815
23816 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
23817 'partition' is NULL, grub_partition_get_start already does that.
23818 * commands/loadenv.c (check_blocklists): Likewise.
23819 (write_blocklists): Likewise.
23820 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
23821 (grub_fstest_SOURCES): Likewise.
23822 (pkglib_MODULES): Add part_bsd.mod.
23823 (part_bsd_mod_SOURCES): New variable.
23824 (part_bsd_mod_CFLAGS): Likewise.
23825 (part_bsd_mod_LDFLAGS): Likewise.
23826 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
23827 (grub_emu_SOURCES): Likewise.
23828 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23829 * include/grub/bsdlabel.h: New file.
23830 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
23831 'get_name'.
23832 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
23833 (grub_partition_map_list): New variable.
23834 (grub_partition_map_register): Inline.
23835 (grub_partition_map_unregister): Likewise.
23836 (FOR_PARTITION_MAPS): New macro.
23837 (grub_partition_map_iterate): Removed.
23838 (grub_partition_get_start): Handle nested partitions.
23839 * include/grub/msdos_partition.h: Remove bsd-related entries.
23840 (grub_pc_partition): Remove.
23841 * kern/disk.c (grub_disk_close): Free partition data.
23842 (grub_disk_adjust_range): Handle nested partitions.
23843 * kern/partition.c (grub_partition_map_probe): New function.
23844 (grub_partition_probe): Parse name to number, handle subpartitions.
23845 (get_partmap): New function.
23846 (grub_partition_iterate): Handle subpartitions.
23847 (grub_partition_get_name): Likewise.
23848 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
23849 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
23850 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
23851 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
23852 Set 'number'.
23853 (acorn_partition_map_probe): Remove.
23854 (acorn_partition_map_get_name): Likewise.
23855 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
23856 Set 'number'.
23857 Set 'index' to 0 since there can be only one partition entry per sector.
23858 (amiga_partition_map_probe): Remove.
23859 (amiga_partition_map_get_name): Likewise.
23860 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
23861 Set 'number'.
23862 Set 'offset' and 'index' to real positions of partitions.
23863 (apple_partition_map_probe): Remove.
23864 (apple_partition_map_get_name): Likewise.
23865 * partmap/bsdlabel.c: New file.
23866 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
23867 Set 'number'.
23868 Allocate 'data' so it can be correctly freed.
23869 Set 'index' to offset inside sector.
23870 (gpt_partition_map_probe): Remove.
23871 (gpt_partition_map_get_name): Likewise.
23872 * partmap/msdos.c (grub_partition_parse): Remove.
23873 (pc_partition_map_iterate): Don't force raw access.
23874 Set 'number'.
23875 Make 'ext_offset' a local variable.
23876 (pc_partition_map_probe): Remove.
23877 (pc_partition_map_get_name): Remove.
23878 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
23879 Set 'number'.
23880 (sun_partition_map_probe): Remove.
23881 (sun_partition_map_get_name): Likewise.
23882 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
23883 (grub_pcpart_type): Likewise.
23884 * util/hostdisk.c (open_device): Handle new numbering scheme.
23885 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
23886 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
23887 * util/grub-probe.c (probe_partmap): Handle nested paritions.
23888 * util/grub-install.in: Insert all subpartition modules.
23889 * util/ieee1275/grub-install.in: Likewise.
23890
a3940f88
AG
238912010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
23892
23893 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
23894 grammar.
23895
21b99926 238962010-03-24 Colin Watson <cjwatson@ubuntu.com>
23897
23898 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
23899
bed1d352
CW
239002010-03-21 Colin Watson <cjwatson@ubuntu.com>
23901
23902 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
23903 match where 'make install' puts them.
23904 * util/i386/efi/grub-install.in: Likewise.
23905
c9f58427
CW
239062010-03-19 Colin Watson <cjwatson@ubuntu.com>
23907
23908 * .bzrignore: Add gentrigtables, grub-script-check,
23909 grub_script_check_init.c, grub_script_check_init.h, and
23910 trigtables.c.
23911
f84afb27
VS
239122010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
23913
23914 * kern/parser.c: Indented.
23915
ed0e3d30
VS
239162010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
23917
23918 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
23919
0ea81d98
VS
239202010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
23921
23922 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
23923 alpha_mask_size == 0 case.
23924
0cdc2a09
BC
239252010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
23926
23927 GRUB shell lexer and parser improvements.
23928
23929 * conf/any-emu.rmk: Build rule updates.
23930 * conf/common.rmk: Likewise.
23931 * conf/i386-coreboot.rmk: Likewise.
23932 * conf/i386-efi.rmk: Likewise.
23933 * conf/i386-ieee1275.rmk: Likewise.
23934 * conf/i386-pc.rmk: Likewise.
23935 * conf/powerpc-ieee1275.rmk: Likewise.
23936 * conf/x86_64-efi.rmk: Likewise.
23937
23938 * configure.ac: Configure check for flex.
23939
23940 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
23941 types.
23942 (grub_lexer_param): Struct member updates.
23943 (grub_parser_param): Likewise.
23944 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
23945 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
23946 (grub_script_lexer_init): Prototype update.
23947 (grub_script_lexer_record_start): Likewise.
23948 (grub_script_lexer_record_stop): Likewise.
23949 (grub_script_lexer_yywrap): New function prototype.
23950 (grub_script_lexer_fini): Likewise.
23951 (grub_script_execute_argument_to_string): Removed by...
23952 (grub_script_execute_argument_to_argv): ...better version.
23953
23954 * script/execute.c (ROUND_UPTO): New macro.
23955 (grub_script_execute_cmdline): Out of memory fixes.
23956 (grub_script_execute_menuentry): Likewise.
23957 (grub_script_execute_argument_to_string): Removed. Update all
23958 users by...
23959 (grub_script_execute_argument_to_argv): ...better version.
23960 * script/function.c (grub_script_function_create): Use
23961 grub_script_execute_argument_to_argv instead of
23962 grub_script_execute_argument_to_string.
23963
23964 * script/lexer.c (check_varstate): Removed.
23965 (check_textstate): Removed.
23966 (grub_script_lexer_record_start): Likewise.
23967 (grub_script_lexer_record_stop): Likewise.
23968 (recordchar): Replaced with...
23969 (grub_script_lexer_record): ...new function.
23970 (nextchar): Removed.
23971 (grub_script_lexer_init): Rewritten.
23972 (grub_script_yylex): Rewritten.
23973 (append_newline): New function.
23974 (grub_script_lexer_yywrap): New function.
23975 (grub_script_lexer_fini): New function.
23976 (grub_script_yyerror): Sets error flag.
23977
23978 * script/yylex.l: New file.
23979 (grub_lexer_yyfree): Wrapper for flex yyffre.
23980 (grub_lexer_yyalloc): Likewise.
23981 (grub_lexer_yyrealloc): Likewise.
23982 * script/parser.y: Refactored.
23983
23984 * script/script.c (grub_script_arg_add): Out of memory fixes.
23985 (grub_script_add_arglist): Likewise.
23986 (grub_script_create_cmdline): Likewise.
23987 (grub_script_create_cmdmenu): Likewise.
23988 (grub_script_add_cmd): Likewise.
23989 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
23990 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
23991 unnecessary code.
23992
23993 * tests/grub_script_echo1.in: New testcase.
23994 * tests/grub_script_vars1.in: New testcase.
23995 * tests/grub_script_echo_keywords.in: New testcase.
23996
1d63a066
VS
239972010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23998
23999 Remove some redundancy in build system.
24000
24001 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
24002 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
24003 (TARGET_LDFLAGS): Add -nostdlib.
24004 (TARGET_IMG_LDFLAGS): Likewise.
24005 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
24006 anything since mmap isn't available.
24007 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
24008 Add util/time.c.
24009 (pkglib_MODULES): Remove reboot.mod.
24010 (reboot_mod_SOURCES): Removed.
24011 (reboot_mod_CFLAGS): Likewise.
24012 (reboot_mod_LDFLAGS): Likewise.
24013 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
24014 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
24015 (DEFSYMFILES): Add kernel_syms.lst.
24016 (kernel_img_HEADERS): Add common headers.
24017 (symlist.c): New target.
24018 (kernel_syms.lst): Likewise.
24019 (pkglib_MODULES): Add memdisk.mod.
24020 (memdisk_mod_SOURCES): New variable.
24021 (memdisk_mod_CFLAGS): Likewise.
24022 (memdisk_mod_LDFLAGS): Likewise.
24023 (pkglib_MODULES): Add reboot.mod.
24024 (reboot_mod_SOURCES): New variable.
24025 (reboot_mod_CFLAGS): Likewise.
24026 (reboot_mod_LDFLAGS): Likewise.
24027 (pkglib_MODULES): Add date.mod.
24028 (date_mod_SOURCES): New variable.
24029 (date_mod_CFLAGS): Likewise.
24030 (date_mod_LDFLAGS): Likewise.
24031 (pkglib_MODULES): Add datehook.mod.
24032 (datehook_mod_SOURCES): New variable.
24033 (datehook_mod_CFLAGS): Likewise.
24034 (datehook_mod_LDFLAGS): Likewise.
24035 (pkglib_MODULES): Add lsmmap.mod.
24036 (lsmmap_mod_SOURCES): New variable.
24037 (lsmmap_mod_CFLAGS): Likewise.
24038 (lsmmap_mod_LDFLAGS): Likewise.
24039 (pkglib_MODULES): Add boot.mod.
24040 (boot_mod_SOURCES): New variable.
24041 (boot_mod_CFLAGS): Likewise.
24042 (boot_mod_LDFLAGS): Likewise.
24043 * conf/i386-coreboot.rmk: Removed redundant parts.
24044 * conf/i386-ieee1275.rmk: Likewise.
24045 * conf/i386-pc.rmk: Likewise.
24046 * conf/mips-yeeloong.rmk: Likewise.
24047 * conf/mips.rmk: Likewise.
24048 * conf/powerpc-ieee1275.rmk: Likewise.
24049 * conf/sparc64-ieee1275.rmk: Likewise.
24050 * conf/x86_64-efi.rmk: Likewise.
24051 * conf/i386-coreboot.rmk: Moved qemu parts ..
24052 * conf/i386-qemu.rmk: ... here
24053 * conf/i386-efi.rmk: Moved common parts to...
24054 * conf/x86-efi.rmk: ... here.
24055 * conf/i386.rmk: Added modules common to all x86 variants.
24056 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
24057 * disk/memdisk.c: Remove grub/machine/kernel.h.
24058 * gensymlist.sh.in: Include symbol.h.
24059 * hook/datehook.c: Correct module name.
24060 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
24061 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
24062 * include/grub/i386/efi/serial.h: New file.
24063 * include/grub/x86_64/efi/serial.h: Likewise.
24064 * util/time.c: Likewise.
24065 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
24066
463ac55f
CK
240672010-03-14 Colin King <colin.king@ubuntu.com>
240682010-03-14 Colin Watson <cjwatson@ubuntu.com>
24069
24070 Shrink the pre-partition-table part of boot.img by eight bytes.
24071
24072 * boot/i386/pc/boot.S (ERR): New macro.
24073 (chs_mode): Use ERR.
24074 (geometry_error): Likewise.
24075 (hd_probe_error): Remove. This is only used once, so we wrwite
24076 it inline instead.
24077 (read_error): Instead of printing read_error_string, just set up
24078 %si and fall through to ...
24079 (error_message): ... this new function, also used by ERR.
24080
08e46ede
CW
240812010-03-14 Colin Watson <cjwatson@ubuntu.com>
24082
24083 Speed up consecutive hostdisk operations on the same device.
24084
24085 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
24086 (grub_util_biosdisk_open): Initialise disk->data.
24087 (struct linux_partition_cache): New structure.
24088 (linux_find_partition): Cache partition start positions; these are
24089 expensive to compute on every read and write.
24090 (open_device): Cache open file descriptor in disk->data, so that we
24091 don't have to reopen it and flush the buffer cache for consecutive
24092 operations on the same device.
24093 (grub_util_biosdisk_close): New function.
24094 (grub_util_biosdisk_dev): Set `close' member.
24095
24096 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
24097 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
24098 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24099 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24100 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
24101
4a6d2d06
VS
241022010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24103
24104 Compile parts of grub-emu as modules.
24105
24106 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
24107 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
24108 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
24109 (all-local): Add $(GRUB_EMU).
24110 (install-local): Install $(GRUB_EMU).
24111 (uninstall): Uninstall $(GRUB_EMU).
24112 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
24113 * kern/dl.c: Likewise.
24114 * commands/sleep.c: Not include machine/time.h.
24115 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
24116 (COMMON_CFLAGS): Likewise.
24117 (sbin_UTILITIES): Remove grub-emu.
24118 (grub_emu_SOURCES): Removed.
24119 (kernel_img_RELOCATABLE): New variable.
24120 (pkglib_PROGRAMS): Add kernel.img.
24121 (kernel_img_SOURCES): New variable
24122 (kernel_img_CFLAGS): Likewise.
24123 (kernel_img_LDFLAGS): Likewise.
24124 (TARGET_NO_STRIP): Likewise.
24125 (TARGET_NO_DYNAMIC_MODULES): Likewise.
24126 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
24127 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
24128 (grub-emu): New target.
24129 (GRUB_EMU): New variable.
24130 * configure.ac: Whitelist -emu as possible x86_64 architecture.
24131 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
24132 * loader/xnu.c: Likewise.
24133 * include/grub/pci.h: Likewise.
24134 * genemuinit.sh: New file.
24135 * genemuinitheader.sh: Likewise.
24136 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
24137 Support TARGET_NO_DYNAMIC_MODULES.
24138 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
24139 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
24140 * disk/loopback.c: Likewise.
24141 * font/font_cmd.c: Likewise.
24142 * partmap/acorn.c: Likewise.
24143 * partmap/amiga.c: Likewise.
24144 * partmap/apple.c: Likewise.
24145 * partmap/gpt.c: Likewise.
24146 * partmap/msdos.c: Likewise.
24147 * partmap/sun.c: Likewise.
24148 * parttool/msdospart.c: Likewise.
24149 * term/gfxterm.c: Likewise.
24150 * video/bitmap.c: Likewise.
24151 * video/readers/jpeg.c: Likewise.
24152 * video/readers/png.c: Likewise.
24153 * video/readers/tga.c: Likewise.
24154 * video/video.c: Likewise.
24155 * util/grub-emu.c (read_command_list): Removed.
24156 (main): Don't call util_init_nls.
24157 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
24158 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
24159
91fdd2ed
VS
241602010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24161
24162 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
24163 date.mod, datehook.mod.
24164 (datetime_mod_SOURCES): New variable.
24165 (datetime_mod_CFLAGS): Likewise.
24166 (datetime_mod_LDFLAGS): Likewise.
24167 (date_mod_SOURCES): Likewise.
24168 (date_mod_CFLAGS): Likewise.
24169 (date_mod_LDFLAGS): Likewise.
24170 (datehook_mod_SOURCES): Likewise.
24171 (datehook_mod_CFLAGS): Likewise.
24172 (datehook_mod_LDFLAGS): Likewise.
24173 * conf/sparc64-ieee1275.rmk: Likewise.
24174 * lib/ieee1275/datetime.c: New file.
24175
873ccae6
VS
241762010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24177
24178 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
24179 (ieee1275_fb_mod_SOURCES): New variable.
24180 (ieee1275_fb_mod_CFLAGS): Likewise.
24181 (ieee1275_fb_mod_LDFLAGS): Likewise.
24182 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
24183 New proto.
24184 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
24185 (HEAP_MAX_ADDR): Likewise.
24186 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
24187 type.
24188 Correct stop condition.
24189 (grub_ieee1275_devices_iterate): New function.
24190 * video/ieee1275.c: New file.
24191
601c97c0
VS
241922010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24193
24194 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
24195
24196 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
24197 as scratch.
24198 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
24199 SCRATCH_PAD_DISKBOOT as scratch.
24200 (bootit): Pass Openfirmware pointer in %o4.
24201 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
24202 of 0x200000.
24203 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
24204 with util/grub-mkrawimage.c.
24205 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
24206 * include/grub/aout.h (AOUT_MID_SUN): New definition.
24207 (grub_aout_get_type) [GRUB_UTIL]: Removed.
24208 (grub_aout_load) [GRUB_UTIL]: Likewise.
24209 * include/grub/kernel.h (grub_modules_get_end): New proto.
24210 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
24211 (SCRATCH_PAD_BOOT): New definition.
24212 (SCRATCH_PAD_DISKBOOT): Likewise.
24213 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
24214 * include/grub/sparc64/ieee1275/ieee1275.h
24215 (grub_ieee1275_original_stack): New variable
24216 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24217 New definition
24218 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
24219 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
24220 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
24221 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
24222 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
24223 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
24224 (grub_platform_image_format_t): New type.
24225 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
24226 * kern/main.c (grub_modules_get_end)
24227 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
24228 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
24229 (codestart): Switch stacks.
24230 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
24231 variable.
24232 (grub_heap_init): Use grub_modules_get_end.
24233 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
24234 stack.
24235 * util/grub-mkrawimage.c (generate_image): Support sparc64.
24236 (main): Likewise.
24237 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
24238
d68b491e
TG
242392010-03-14 Thorsten Glaser <tg@mirbsd.org>
24240
24241 * util/grub-mkrescue.in: Base ISO UUID on UTC.
24242
4e02ed50
MK
242432010-03-08 Matt Kraai <kraai@ftbfs.org>
24244
24245 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
24246 bug #559005).
24247
1f15fc1e
VS
242482010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
24249
24250 * genmoddep.awk: Output all missing symbols and not only first.
24251
fce5d8ff
VS
242522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24253
24254 * NEWS: Put the date of 1.98 release.
24255
d1e8a02f
VS
242562010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24257
24258 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
24259 ft2build.h.
24260
696fd607
VS
242612010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24262
24263 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
24264 completition in the middle of string.
24265
33e2e6f3
VS
242662010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24267
24268 * util/grub-mkrescue.in: Use mktemp with explicit template.
24269
b1f6d291
VS
242702010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24271
24272 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
24273
2ac227c7
VS
242742010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24275
24276 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
24277 right pointer.
24278
8f9a632b
VS
242792010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24280
24281 Fix FreeBSD compilation.
24282
24283 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
24284 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
24285
60b03859
VS
242862010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24287
24288 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
24289
48a5a769
VS
242902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24291
24292 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
24293
3ab4bd77
VS
242942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24295
24296 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
24297
d116e0d8
RM
242982010-03-04 Robert Millan <rmh.grub@aybabtu.com>
24299
24300 Support relative image path in theme file.
24301
24302 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
24303 (image_set_property): Handle theme_dir and relative path.
24304
c7ef54aa
VS
243052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24306
24307 * configure.ac: Alias amd64 to x86_64.
24308
fcee14ed
VS
243092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24310
24311 * NEWS: mention multiboot on EFI.
24312
d0780363
VS
243132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24314
24315 * kern/main.c (grub_load_modules): Handle errors from init functions of
24316 embeded modules.
24317
41168ea4
VS
243182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24319
24320 * normal/autofs.c (autoload_fs_module): Handle errors.
24321
b54d93ac
VS
243222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24323
24324 Disable linux.mod on qemu-mips since it's not functional and leads
24325 to compilation failure.
24326
24327 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
24328 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
24329 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
24330 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
24331 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
24332 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
24333 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
24334 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
24335 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
24336 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
24337 Reported by: BVK Chaitanya
24338
fc8345da
JU
243392010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
24340
24341 * INSTALL: Add gettext as a dependency and add qemu to a new section
24342 "Prerequisites for make-check".
24343
4760f979
CF
243442010-03-04 Christian Franke <franke@computer.org>
24345
24346 * util/grub-pe2elf.c: Add missing include "progname.h".
24347
f209b5b2
VS
243482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24349
24350 * normal/crypto.c (read_crypto_list): Fix a typo.
24351 Reported by: Seth Goldberg.
24352
b4b7be98
VS
243532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24354
24355 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 24356 Reported by: Seth Goldberg.
b4b7be98 24357
c0ee0385
VS
243582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24359
24360 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
24361 ascii.bitmaps.
24362
a8efbf64
VS
243632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24364
24365 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 24366 Reported by: Seth Goldberg.
a8efbf64 24367
08dcd913
VS
243682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24369
24370 * util/i386/efi/grub-install.in: Copy gettext files.
24371
c4d0b332
VS
243722010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24373
24374 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
24375
c6f2fe52
VS
243762010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24377
24378 Wait for user entry basing on presence of output rather than on errors.
24379
24380 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
24381 (grub_install_newline_hook): Likewise.
24382 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
24383 * normal/menu.c (show_menu): Check line_counter to determine presence
24384 of output.
24385 * normal/term.c (grub_normal_line_counter): New variable.
24386 (grub_normal_get_line_counter): New function.
24387 (grub_install_newline_hook): Likewise.
24388
5382b1e4
VS
243892010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24390
24391 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
24392
5519963b
VS
243932010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24394
24395 * configure.ac: Update version to 1.98.
24396
72b28631
VS
243972010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
24398
24399 * util/grub.d/10_linux.in (linux_entry): Don't default to
24400 gfxpayload=keep if Linux doesn't support video handover.
24401
c140a180
VS
244022010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
24403
24404 Don't compile video modules on yeeloong since video subsystem is part
24405 of kernel.
24406
24407 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
24408 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
24409 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
24410 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
24411 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
24412 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
24413 * include/grub/bitmap_scale.h: Likewise.
24414 * include/grub/bufio.h: Likewise.
24415 * include/grub/font.h: Likewise.
24416 * include/grub/gfxterm.h: Likewise.
24417 * include/grub/video.h: Likewise.
24418 * include/grub/vbe.h: Don't include video_fb.h.
24419 * video/i386/pc/vbe.c: Include video_fb.h.
24420 * commands/i386/pc/vbetest.c: Include video.h.
24421
a0ca21c2
CW
244222010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
24423
24424 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
24425 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
24426 default entry if GRUB_SAVEDEFAULT=true. This allows using
24427 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
24428 saving a new default on every boot.
24429
4a8a763c
VS
244302010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
24431
24432 * normal/crypto.c (read_crypto_list): Fix a memory leak.
24433 * normal/term.c (read_terminal_list): Likewise.
24434 * normal/main.c (grub_normal_init_page): Likewise.
24435 (grub_normal_read_line_real): Likewise.
24436
607ffde2
VS
244372010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
24438
24439 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
24440 memory leak.
24441 Reported by: Seth Goldberg.
24442
2b8fa975
CW
244432010-02-24 Joey Korkames <joey+lists@kidfixit.com>
24444
24445 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
24446 duplicate declaration of `start'.
24447
618307dd
VS
244482010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
24449
24450 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
24451 filename.
24452 Reported by: Georgy Buranov
24453
7dd05b96 244542010-02-20 Carles Pina i Estany <carles@pina.cat>
24455
24456 * util/grub-mkrawimage.c (usage): Change string formatting to
24457 improve gettext.
24458
d1484a42
MRA
244592010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
24460
24461 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
24462 backspace keys.
24463
42b1d186
VS
244642010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
24465
24466 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
24467 Reported by: Michael Suchanek.
24468
244692010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
24470
24471 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
24472 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
24473
d9f31a41
VS
244742010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
24475
24476 Remove any reference to non-free fonts.
24477
24478 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
24479 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
24480 uses non-free components.
24481 * font/font.c (grub_font_get_name): Remove example name.
24482 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
24483 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
24484 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
24485 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
24486
2793c71e
GB
244872010-02-16 Georgy Buranov <gburanov@gmail.com>
24488
24489 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
24490
402e3779
VS
244912010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
24492
24493 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
24494 Double divisor.
24495 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
24496 features.
24497 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
24498
0dd1e0dd
VS
244992010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
24500
24501 * gensymlist.sh.in: Use TARGET_CC instead of CC.
24502
6fa7cfce
ST
245032010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24504
24505 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
24506 * docs/grub.texi (Command-line and menu entry commands): Document play
24507 command.
24508
37c8483b
ST
245092010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24510
24511 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
24512 parse arguments as inline tempo and notes. Move code for playing notes
24513 to...
24514 (play): ... new function.
24515
14da0fb7
ST
245162010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24517
24518 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
24519 grub_uint16_t instead of short.
24520 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
24521 disk from little endian to cpu endianness.
24522
04459e70
ST
245232010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
24524
24525 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
24526 GRUB_TICKS_PER_SECOND instead of 120.
24527
a0876943
VS
245282010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24529
24530 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
24531 escape sequence after \e.
24532
e29f95dc
VS
245332010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24534
24535 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
24536 non-ASCII characters.
24537
d27859b2
VS
245382010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24539
24540 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
24541 set root in single quotes to prevent \, from being unescaped.
24542
bc028f2f
VS
245432010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24544
24545 Prevent unknown commands from stopping menuentry execution.
24546
24547 * script/execute.c (grub_script_execute_cmdline): Print error after
24548 unknown command.
24549
095f5f82
VS
245502010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24551
24552 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
24553 Reported by: Pavel Pisa.
24554
8c717950
VS
245552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24556
24557 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
24558
904935c3
VS
245592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24560
24561 Merge grub_ieee1275_map_physical into grub_map and rename to
24562 grub_ieee1275_map
24563
24564 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
24565 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
24566 Remove.
24567 * kern/ieee1275/openfw.c (grub_map): Rename to ...
24568 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
24569 necessary.
24570 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
24571
5b59a4e3
VS
245722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24573
24574 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
24575 opening and not after.
24576
69e137e8
VS
245772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24578
24579 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
24580 constants.
24581
2c0fcc36
VS
245822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24583
24584 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
24585 (alloc_phys): Use ALIGN_UP instead of align_addr.
24586
8c6052ce
VS
245872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24588
24589 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
24590
17cec782
VS
245912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24592
24593 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
24594
e0128bbd
VS
245952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24596
24597 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
24598 verbose dprintf.
24599
ca62070b
VS
246002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24601
24602 Fix over-4GiB seek on sparc64.
24603
24604 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
24605 Replace pos_i and pos_lo with pos. All users updated.
24606 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
24607 New constant.
24608 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
24609 Likewise.
24610 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
24611 and pos_lo.
24612
bdca2607
VS
246132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24614
24615 * util/grub-mkrawimage.c (main): Call set_program_name.
24616
da278c4d
VS
246172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24618
24619 Properly align 64-bit targets.
24620
24621 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
24622 (generate_image): Use ALIGN_ADDR.
24623
b274d734
VS
246242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24625
24626 Properly create cross-endian images.
24627
24628 * include/grub/types.h (grub_host_to_target_addr): New macro
24629 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
24630
82da2062
VS
246312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24632
24633 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
24634
7cae4377
VS
246352010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24636
24637 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
24638
24639 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
24640 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
24641 (grub_linux_boot): Divide by 64K when on VESA.
24642
65a533e7
VS
246432010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24644
24645 Support GRUB_GFXPAYLOAD_LINUX.
24646
24647 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
24648 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
24649
dd01d397
VS
246502010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24651
24652 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
24653 to show messages instead of discarding them.
24654 Process errors after executing command and not before. Keep old method
24655 too as precaution.
24656
660960d6
VS
246572010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
24658
24659 * configure.ac: Check for ft2build.h.
24660
62509f04
VS
246612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24662
24663 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
24664
473df63d
VS
246652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24666
24667 * genkernsyms.sh.in: Use TARGET_CC.
24668
c98d2a13
CW
246692010-02-07 Colin Watson <cjwatson@ubuntu.com>
24670
24671 * NEWS: Update.
24672
6e14234c
VS
246732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24674
24675 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
24676 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
24677 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 24678
b255e9cf
YB
246792010-02-07 Yves Blusseau <blusseau@zetam.org>
24680
6e14234c 24681 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 24682
98e6959d
VS
246832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24684
24685 Fix warnings in grub-emu when compiling with maximum warning options.
24686
24687 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
24688 (grub_arch_modules_addr): Return 0 and not NULL.
24689 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 24690 (xstrdup): Use newstr instead of dup.
f88d801b
VS
24691 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
24692 of disk to dsk to avoid shadowing.
74e4934e
VS
24693 (find_free_slot): Fix prototype.
24694 * util/getroot.c (grub_util_is_dmraid): Make static.
24695 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
24696 Add missing prototype.
24697 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 24698
74e31b5c
VS
246992010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24700
24701 * loader/i386/linux.c (grub_linux_setup_video): Handle error
24702 appropriately.
24703
6b2ad14b
VS
247042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24705
24706 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
24707 code out.
24708
8f891adc
VS
247092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24710
24711 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
24712 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
24713 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
24714 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
24715 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
24716 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
24717
74b45184
VS
247182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24719
24720 * include/grub/err.h (grub_err_printf): Don't export.
24721
a4bced77
VS
247222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24723
24724 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
24725
007d0695
VS
247262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24727
24728 * include/grub/i18n.h (grub_gettext_dummy): Removed.
24729 * kern/misc.c (grub_gettext_dummy): Make static.
24730
b6c0d9c2
VS
247312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24732
24733 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
24734 by non-valid ones.
24735 * kern/term.c (grub_putchar): Likewise.
24736
f51a90d0
VS
247372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24738
24739 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
24740 buggy hook call and memory leak.
24741
6846cec5
VS
247422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24743
24744 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
24745
468d69fe
VS
247462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24747
24748 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
24749
51906b8c
VS
247502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24751
24752 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
24753 modevar.
24754 Return grub_errno on allocation error.
24755
09706ce5
VS
247562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24757
24758 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
24759
911df80c
YB
247602010-02-06 Yves Blusseau <blusseau@zetam.org>
24761
24762 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
24763 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
24764
3746a6bc
VS
247652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24766
24767 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
24768 non-pxe disk.
24769 (grub_pxefs_open): Likewise.
24770
09706ce5
VS
247712010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24772
24773 * util/grub.d/10_hurd.in: Add --class information to menuentries.
24774 * util/grub.d/10_kfreebsd.in: Likewise.
24775 * util/grub.d/10_linux.in: Likewise.
24776
7cc192d9
VS
247772010-02-06 Colin D Bennett <colin@gibibit.com>
24778
24779 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
24780 (gfxmenu_mod_SOURCES): New variable.
24781 (gfxmenu_mod_CFLAGS): Likewise.
24782 (gfxmenu_mod_LDFLAGS): Likewise.
24783 * include/grub/term.h (grub_term_set_current_output): Declare
24784 argument as const.
24785 * docs/gfxmenu-theme-example.txt: New file.
24786 * gfxmenu/gfxmenu.c: Likewise.
24787 * gfxmenu/gui_box.c: Likewise.
24788 * gfxmenu/gui_canvas.c: Likewise.
24789 * gfxmenu/gui_circular_progress.c: Likewise.
24790 * gfxmenu/gui_image.c: Likewise.
24791 * gfxmenu/gui_label.c: Likewise.
24792 * gfxmenu/gui_list.c: Likewise.
24793 * gfxmenu/gui_progress_bar.c: Likewise.
24794 * gfxmenu/gui_string_util.c: Likewise.
24795 * gfxmenu/gui_util.c: Likewise.
24796 * gfxmenu/icon_manager.c: Likewise.
24797 * gfxmenu/model.c: Likewise.
24798 * gfxmenu/named_colors.c: Likewise.
24799 * gfxmenu/theme_loader.c: Likewise.
24800 * gfxmenu/view.c: Likewise.
24801 * gfxmenu/widget-box.c: Likewise.
24802 * include/grub/gfxmenu_model.h: Likewise.
24803 * include/grub/gfxmenu_view.h: Likewise.
24804 * include/grub/gfxwidgets.h: Likewise.
24805 * include/grub/gui.h: Likewise.
24806 * include/grub/gui_string_util.h: Likewise.
24807 * include/grub/icon_manager.h: Likewise.
24808
248092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24810
24811 Agglomerate scrolling in gfxterm.
24812
24813 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
24814 (grub_virtual_screen_setup): Initialise 'total_screen'.
24815 (write_char): Split to ...
24816 (paint_char): ... this ...
24817 (write_char): ... and this.
24818 (paint_char): Handle delayed scrolling.
24819 (draw_cursor): Likewise.
24820 (scroll_up): Split to ...
24821 (real_scroll): ... this ...
24822 (scroll_up): ... and this.
24823 (real_scroll): Handle multi-line scroll and draw below-the-bottom
24824 characters.
24825 (grub_gfxterm_refresh): Call real_scroll.
24826
248272010-02-06 Colin D Bennett <colin@gibibit.com>
24828
24829 * include/grub/misc.h (grub_iscntrl): New inline function.
24830 (grub_isalnum): Likewise.
24831 (grub_strtol): Likewise.
24832
248332010-02-06 Colin D Bennett <colin@gibibit.com>
24834
24835 * normal/menu_text.c (get_entry_number): Move from here ...
24836 * normal/menu.c (get_entry_number): ... moved here.
24837 * include/grub/menu.h (grub_menu_get_default_entry_index):
24838 New prototype.
24839 * normal/menu.c (grub_menu_get_default_entry_index): New function.
24840 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
24841 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
24842 (grub_menu_viewer_should_return): Likewise.
24843 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
24844 * normal/menu_text.c (run_menu): Enable menu switching.
24845 * normal/menu_viewer.c (should_return): New variable.
24846 (menu_viewer_changed): Likewise.
24847 (grub_menu_viewer_show_menu): Handle menu viewer changes.
24848 (grub_menu_viewer_should_return): New function.
24849 (menuviewer_write_hook): Likewise.
24850 (grub_menu_viewer_init): Likewise.
24851
248522010-02-06 Colin D Bennet <colin@gibibit.com>
248532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24854
24855 Support for gfxterm in a window.
24856
24857 * include/grub/gfxterm.h: New file.
24858 * include/grub/video.h (struct grub_video_rect): New declaration.
24859 (grub_video_rect_t): Likewise.
24860 * term/gfxterm.c (struct grub_gfxterm_window): New type.
24861 (refcount): New variable.
24862 (render_target): Likewise.
24863 (window): Likewise.
24864 (repaint_callback): Likewise.
24865 (grub_virtual_screen_setup): Use 'render_target'.
24866 (init_window): New function.
24867 (grub_gfxterm_init_window): Likewise.
24868 (grub_gfxterm_init): Check reference counter.
24869 Use init_window.
24870 (destroy_window): New function.
24871 (grub_gfxterm_destroy_window): Likewise.
24872 (grub_gfxterm_fini): Check reference counter.
24873 Use destroy_window.
24874 (redraw_screen_rect): Restore viewport.
24875 Use 'render_target' and 'window'.
24876 Call 'repaint_callback'.
24877 (write_char): Use 'render_target'.
24878 (draw_cursor): Likewise.
24879 (scroll_up): Restore viewport.
24880 Use 'render_target' and 'window'.
24881 Call 'repaint_callback'.
24882 (grub_gfxterm_cls): Likewise.
24883 (grub_gfxterm_refresh): Use 'window'.
24884 (grub_gfxterm_set_repaint_callback): New function.
24885 (grub_gfxterm_background_image_cmd): Use 'window'.
24886 (grub_gfxterm_get_term): New function.
24887 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
24888
248892010-02-06 Colin D Bennett <colin@gibibit.com>
24890
24891 Bitmap scaling support.
24892
24893 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
24894 (bitmap_scale_mod_SOURCES): New variable.
24895 (bitmap_scale_mod_CFLAGS): Likewise.
24896 (bitmap_scale_mod_LDFLAGS): Likewise.
24897 * include/grub/bitmap_scale.h: New file.
24898 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
24899 (background_image_cmd_options): New variable.
24900 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
24901 (cmd): Rename and change type to ...
24902 (background_image_cmd_handle): ... this. All users updated.
24903 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
24904 * video/bitmap_scale.c: New file.
24905
249062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24907
24908 SDL support.
24909
24910 * Makefile.in (LIBSDL): New variable.
24911 (enable_grub_emu_sdl): Likewise.
24912 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
24913 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
24914 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
24915 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
24916 * util/sdl.c: New file.
24917
249182010-02-06 Colin D Bennett <colin@gibibit.com>
249192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24920
24921 Double buffering support.
24922
24923 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
24924 * include/grub/video.h: Update comment.
24925 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
24926 New type.
24927 (grub_video_fb_doublebuf_blit_init): New prototype.
24928 * term/gfxterm.c (scroll_up): Support double buffering.
24929 (grub_gfxterm_refresh): Likewise.
24930 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
24931 (grub_video_fb_doublebuf_blit_init): Likewise.
24932 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
24933 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
24934 'displayed_page', 'render_page' and 'update_screen'.
24935 (grub_video_vbe_fini): Free offscreen buffer.
24936 (doublebuf_pageflipping_commit): New function.
24937 (doublebuf_pageflipping_update_screen): Likewise.
24938 (doublebuf_pageflipping_init): Likewise.
24939 (double_buffering_init): Likewise.
24940 (grub_video_vbe_setup): Enable doublebuffering.
24941 (grub_video_vbe_swap_buffers): Implement.
24942 (grub_video_vbe_set_active_render_target): Handle double buffering.
24943 (grub_video_vbe_get_active_render_target): Likewise.
24944 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
24945 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
24946 (grub_video_vbe_enable_double_buffering): Likewise.
24947 (grub_video_vbe_swap_buffers): Use update_screen.
24948 (grub_video_set_mode): Use double buffering.
24949
249502010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24951
24952 * maintainance/gentrigtables.py: Remove.
24953 * lib/trig.c: Likewise.
24954
24955 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
24956
24957 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
24958 `trigtables.c'.
24959 (trigtables.c): New rule.
24960 (gentrigtables): Likewise.
24961 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
24962
249632010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24964
24965 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
24966 integer constants.
24967
249682010-02-06 Colin D Bennet <colin@gibibit.com>
24969
24970 Trigonometry support.
24971
24972 * include/grub/trig.h: New file.
24973 * lib/trig.c: Likewise.
24974 * maintainance/gentrigtables.py: Likewise.
24975 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
24976 (trig_mod_SOURCES): New variable.
24977 (trig_mod_CFLAGS): Likewise.
24978 (trig_mod_LDFLAGS): Likewise.
24979
5562834e
VS
249802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24981
24982 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
24983 disk devices.
24984
4f8528fc
VS
249852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24986
24987 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
24988 error.
24989
2b4068e9
VS
249902010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
24991
24992 * util/hostdisk.c (open_device): Don't use partition device when reading
24993 before the partition.
24994 (grub_util_biosdisk_read): Don't read from partition and before the
24995 partition in single operation.
24996 (grub_util_biosdisk_write): Don't write to partition and before the
24997 partition in single operation.
24998
399f6e4d
TL
249992010-02-03 Torsten Landschoff <torsten@debian.org>
25000
25001 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25002 last sectors.
25003
996649b0
VS
250042010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25005
25006 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
25007 CDROM reads.
25008 (grub_biosdisk_write): Refuse to write to CDROM.
25009
3b205d4d
VS
250102010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25011
25012 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
25013
61e89d9d
VS
250142010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25015
25016 * font/font.c (find_glyph): Check that bmp_idx is available before
25017 using it.
25018 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
25019 with (font == NULL).
25020
bf7fcba2
CS
250212010-01-28 Christian Schmitt <chris@ilovelinux.de>
25022
25023 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
25024
f45d2663
BC
250252010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
25026
25027 * include/grub/script_sh.h (sourcecode): Add const qualifier.
25028 * util/grub-script-check.c (getline): Fix empty lines case.
25029
ec1444e6
RM
250302010-01-28 Robert Millan <rmh.grub@aybabtu.com>
25031
25032 * Makefile.in (check): Exit with fail status when one of the tests
25033 fails.
25034 * tests/example_functional_test.c (example_test): Fix reversed assert.
25035 * tests/example_unit_test.c (example_test): Likewise.
25036
2e1cb9bb
CW
250372010-01-28 Colin Watson <cjwatson@ubuntu.com>
25038
25039 * util/grub.d/10_linux.in: This script does not use any of the
25040 contents of gettext.sh, only the external command `gettext', so stop
25041 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
25042 the same prefix as GRUB.)
25043 * util/grub.d/10_kfreebsd.in: Likewise.
25044
63533ab0
VS
250452010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25046
25047 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
25048 of the line.
25049
989e1f93
VS
250502010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25051
25052 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25053 last sectors.
25054
e709ebe2
VS
250552010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25056
25057 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
25058 having a 4KiB and not 32KiB buffer size.
25059
27dea7ed
RM
250602010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25061
25062 * util/hostfs.c: Include `<errno.h>'.
25063 (grub_hostfs_read): Handle errors from fseeko() and fread().
25064
67667b9c
RM
250652010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25066
25067 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
25068 loop when using read hooks on files whose size isn't sector-aligned.
25069
c294d9d8
RM
250702010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25071
25072 Remove unused parameter.
25073
25074 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
25075 (grub_iso9660_open): Remove initialization of `data->length'.
25076
af75a9f1
RM
250772010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25078
25079 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
25080 memleak conditions.
25081
254e2ce5 250822010-01-27 Carles Pina i Estany <carles@pina.cat>
25083
25084 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
25085 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
25086
b510928c 250872010-01-26 Carles Pina i Estany <carles@pina.cat>
25088
25089 * util/bin2h.c (usage): Fix warning (space after backslash).
25090
aa2f9dd2 250912010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 25092
25093 * font/font.c: Include `grub/fontformat.h.
25094 Remove font file format constants.
25095 (grub_font_load): Use the new macros.
25096 * include/grub/fontformat.h: New file.
25097 * util/grub-mkfont.c: Include `grub/fontformat.c'.
25098 (write_font_pf2): Use the new macros.
25099
94e7e712
RM
251002010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25101
25102 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
25103 does.
25104
3973a59a
RM
251052010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25106
25107 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
25108
25109 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
25110 (_start): Macroify `0x7F'.
25111
25112 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
25113 (make_install_device): Use "(pxe)" as fallback prefix when booting
25114 via PXE.
25115
42e0cba3
GS
251162010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
25117
25118 * configure.ac: Reset LIBS after check for libgcc symbols.
25119
847effd8
CW
251202010-01-25 Colin Watson <cjwatson@ubuntu.com>
25121
25122 * util/hostdisk.c (open_device): Add trailing newline to debug
25123 message.
25124
ea4a7e35
GS
251252010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
25126
25127 * configure.ac: Check for `limits.h'.
25128 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
25129
67951a53
RM
251302010-01-24 Robert Millan <rmh.grub@aybabtu.com>
25131
25132 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
25133 capitalize error strings.
25134
c273d4ce
ST
251352010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
25136
25137 * util/grub.d/10_hurd.in: Add a recovery mode.
25138
69be5b74
VS
251392010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
25140
25141 * configure.ac: Check for libgcc symbols with -nostdlib.
25142
fc9e5810
BC
251432010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
25144
25145 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
25146
4b358c0a
VS
251472010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25148
25149 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
25150 stack since heap may be unavailable at that point.
25151 (grub_ofconsole_gotoxy): Likewise.
25152
454fcd1c
VS
251532010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25154
25155 * configure.ac: Check for _restgpr_14_x.
25156 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
25157 and _savegpr_* prototypes.
25158
566863ca
RM
251592010-01-22 Robert Millan <rmh.grub@aybabtu.com>
25160
25161 Use generic grub_reboot() for i386-efi.
25162
25163 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
25164 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
25165 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
25166
bf86e59a
VS
251672010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25168
25169 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
25170 presence of "prefix" variable as it breaks when normal.mod is
25171 embedded.
25172
d645e0f8
VS
251732010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25174
25175 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
25176 stack since heap is unavailable at that point.
25177
f9ab2e25
VS
251782010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25179
25180 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
25181 (grub_freebsd_bootinfo): Rewritten.
25182 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
25183
01fc7054
VS
251842010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25185
25186 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
25187
caab4fd6
RM
251882010-01-21 Robert Millan <rmh.grub@aybabtu.com>
25189
25190 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
25191 domain now.
25192
67eb1427
FZ
251932010-01-20 Felix Zielcke <fzielcke@z-51.de>
25194
25195 * util/misc.c (make_system_path_relative_to_its_root): Change the work
25196 around for handling "/" to the correct fix. Fix a memory leak. Use
25197 xstrdup instead of strdup.
25198
a9ed4ff3
VS
251992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25200
25201 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
25202
252032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
25204
25205 Optimise glyph lookup by Basic Multilingual Plane lookup array.
25206
25207 * font/font.c (struct grub_font): New member 'bmp_idx'.
25208 (font_init): Initialise 'bmp_idx'.
25209 (load_font_index): Fill 'bmp_idx'.
25210 (find_glyph): Make inline. Use bmp_idx for BMP characters.
25211
48209f4f
VS
252122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25213
25214 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
25215 unnecessary calls.
25216
9f0a4bb7
VS
252172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25218
25219 Move context handling out of the kernel.
25220
25221 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
25222 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
25223 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
25224 * conf/i386-efi.rmk: Likewise.
25225 * conf/i386-ieee1275.rmk: Likewise.
25226 * conf/i386-pc.rmk: Likewise.
25227 * conf/powerpc-ieee1275.rmk: Likewise.
25228 * conf/sparc64-ieee1275.rmk: Likewise.
25229 * conf/x86_64-efi.rmk: Likewise.
25230 * include/grub/env.h: Include grub/menu.h.
25231 (grub_env_var_type): Removed.
25232 (grub_env_var): Replaced field 'type' with 'global'.
25233 (grub_env_find): New prototype.
25234 (grub_env_context_open): Remove EXPORT_FUNC.
25235 (grub_env_context_close): Likewise.
25236 (grub_env_export): Likewise.
25237 (grub_env_set_data_slot): Removed.
25238 (grub_env_get_data_slot): Likewise.
25239 (grub_env_unset_data_slot): Likewise.
25240 (grub_env_unset_menu): New prototype.
25241 (grub_env_set_menu): Likewise.
25242 (grub_env_get_menu): Likewise.
25243 * include/grub/env_private.h: New file.
25244 * include/grub/normal.h (grub_context_init): New prototype.
25245 (grub_context_fini): Likewise.
25246 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
25247 * normal/context.c (grub_cmd_export): ... to here.
25248 * kern/env.c: Include env_private.h.
25249 (HASHSZ): Moved to include/grub/env_private.h.
25250 (grub_env_context): Likewise.
25251 (grub_env_sorted_var): Likewise.
25252 (current_context): Renamed from this ...
25253 (grub_current_context): ...to this. 'static' removed. All users updated.
25254 (grub_env_find): Removed 'static'.
25255 (grub_env_context_open): Moved to normal/context.c.
25256 (grub_env_context_close): Likewise.
25257 (grub_env_export): Likewise.
25258 (mangle_data_slot_name): Removed.
25259 (grub_env_set_data_slot): Likewise.
25260 (grub_env_get_data_slot): Likewise.
25261 (grub_env_unset_data_slot): Likewise.
25262 * kern/main.c (grub_set_root_dev): Don't export root.
25263 It will be done later.
25264 (grub_main): Don't export prefix.
25265 It will be done later.
25266 * normal/context.c: New file.
25267 * normal/main.c (free_menu): Use grub_env_unset_menu.
25268 (grub_normal_add_menu_entry): Use grub_env_get_menu.
25269 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
25270 (GRUB_MOD_INIT(normal)): Call grub_context_init.
25271 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
25272
8dd35b8c
VS
252732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25274
25275 setpci support.
25276
25277 * commands/setpci.c: New file.
25278 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
25279 (setpci_mod_SOURCES): New variable.
25280 (setpci_mod_CFLAGS): Likewise.
25281 (setpci_mod_LDFLAGS): Likewise.
25282
449193d5
VS
252832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25284
25285 Byte-addressable PCI configuration space.
25286
25287 * bus/pci.c (grub_pci_make_address): Use byte address instead of
25288 dword address.
25289 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
25290 GRUB_PCI_REG_CACHELINE.
25291 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
25292 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
25293 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
25294 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
25295 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
25296 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
25297 grub_pci_make_address.
25298 (lock_rom_area): Likewise.
25299 * commands/lspci.c (grub_lspci_iter): Use macroses
25300 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
25301 of grub_pci_make_address.
25302 * disk/ata.c (grub_ata_pciinit): Likewise.
25303 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
25304 (GRUB_PCI_REG_VENDOR): Likewise.
25305 (GRUB_PCI_REG_DEVICE): Likewise.
25306 (GRUB_PCI_REG_COMMAND): Likewise.
25307 (GRUB_PCI_REG_STATUS): Likewise.
25308 (GRUB_PCI_REG_REVISION): Likewise.
25309 (GRUB_PCI_REG_CLASS): Likewise.
25310 (GRUB_PCI_REG_CACHELINE): Likewise.
25311 (GRUB_PCI_REG_LAT_TIMER): Likewise.
25312 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
25313 (GRUB_PCI_REG_BIST): Likewise.
25314 (GRUB_PCI_REG_ADDRESSES): Likewise.
25315 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25316 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25317 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25318 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25319 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25320 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25321 (GRUB_PCI_REG_CIS_POINTER): Likewise.
25322 (GRUB_PCI_REG_SUBVENDOR): Likewise.
25323 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
25324 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
25325 (GRUB_PCI_REG_CAP_POINTER): Likewise.
25326 (GRUB_PCI_REG_IRQ_LINE): Likewise.
25327 (GRUB_PCI_REG_IRQ_PIN): Likewise.
25328 (GRUB_PCI_REG_MIN_GNT): Likewise.
25329 (GRUB_PCI_REG_MAX_LAT): Likewise.
25330 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
25331 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
25332 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 25333 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
25334 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
25335 space.
25336
96d73208
RM
253372010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25338
25339 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
25340 can be reliably determined to be supported.
25341
d4484482
RM
253422010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25343
25344 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
25345 that VESA is supported.
25346 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
25347 supported.
25348
00308ecf
VS
253492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25350
25351 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
25352
f66924a4
RM
253532010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25354
25355 * util/misc.c (make_system_path_relative_to_its_root): Work around
25356 special-casing of "/", as previous incarnation of this routine did.
25357
cbca0ada
VS
253582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25359
25360 Fix any-emu compilation.
25361
25362 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
25363 * grub_bin2h_SOURCES: New variable.
25364
34a66d99
RM
253652010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25366
25367 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
25368
94fabf58
RM
253692010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25370
25371 * util/grub.d/00_header.in: Fix handling of locale_dir.
25372
02cf98ca
VS
253732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25374
25375 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
25376 as possible unifont location (Gentoo).
25377 Reported by: Alexander Brüning
25378
327dbcd7
VS
253792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25380
25381 Don't try to generate lists for kernel.img.
25382
25383 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
25384 (pkglib_MODULES): Remove kernel.img.
25385 (kernel_img_EXPORTS): Removed.
25386 (kernel_img_RELOCATABLE): New variable.
25387 * conf/x86_64-efi.rmk: Likewise.
25388 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
25389
ca467290
VS
253902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25391
25392 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
25393 grub_xasprintf or grub_snprintf.
25394 (grub_vsprintf): Likewise.
25395 (grub_snprintf): New proto.
25396 (grub_vsnprintf): Likewise.
25397 (grub_xasprintf): Likewise.
25398 (grub_xvasprintf): Likewise.
25399 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
25400 (grub_sprintf): Removed.
25401 (grub_vsnprintf): New function.
25402 (grub_snprintf): Likewise.
25403 (grub_xvasprintf): Likewise.
25404 (grub_xasprintf): Likewise.
25405 (grub_vsprintf): Renamed to ...
25406 (grub_vsnprintf_real): ...this. New argument max_len.
25407
aca655fd
BC
254082010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
25409
25410 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
25411 fix grub-script-check warning.
25412
7ee92c32
VS
254132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25414
25415 * include/grub/font.h (grub_font_load): Fix prototype.
25416
f80927ca
VS
254172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25418
25419 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
25420
119c50ea
VS
254212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25422
25423 * include/grub/x86_64/at_keyboard.h: New file.
25424
47d5f3c1
VS
254252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25426
25427 * loader/mips/linux.c: Include missing grub/i18n.h.
25428
55ff5266
RM
254292009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25430
25431 * normal/menu.c (notify_execution_failure): Clarify error message.
25432
c893cc87
RM
254332009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25434
25435 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
25436 return value (and revert all return statements). Update users.
25437
917dd370
CW
254382010-01-20 Dan Merillat <debian@dan.merillat.org>
25439
25440 * kern/device.c (grub_device_iterate): Allocate new part_ent
25441 structure based on sizeof (*p) rather than sizeof (p->next), to
25442 account for structure padding.
25443
25444 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
25445 disk is NULL, which might happen for LVM physical volumes with no
25446 LVM signature.
25447
d4a4ee57
RM
254482009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25449
25450 * loader/mips/linux.c (grub_cmd_initrd)
25451 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
25452
254532009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25454
25455 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
25456 (grub_video_video_init, grub_video_bitmap_init)
25457 (grub_font_manager_init, grub_term_gfxterm_init)
25458 (grub_at_keyboard_init): New extern declarations.
25459 (grub_machine_init): Initialize gfxterm and at_keyboard.
25460
25461 * kern/main.c (grub_main): Revert grub_printf delay kludge.
25462
25463 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
25464 `gfxterm.mod' into core image.
25465
25466 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25467 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25468 (kernel_img_FORMAT): Copy to ...
25469
25470 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25471 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25472 (kernel_img_FORMAT): ... here, and ...
25473
25474 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25475 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25476 (kernel_img_FORMAT): ... here.
25477
25478 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
25479 and input (at_keyboard) terminals in kernel.
25480 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
25481
25482 (pkglib_MODULES): Remove `pci.mod'.
25483 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
25484 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
25485 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
25486 (at_keyboard_mod_LDFLAGS): Remove variables.
25487
254882010-01-11 Felix Zielcke <fzielcke@z-51.de>
25489
25490 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
25491
254922009-12-10 Robert Millan <rmh.grub@aybabtu.com>
25493
25494 * include/grub/mips/libgcc.h: Only export symbols for functions
25495 that libgcc provides.
25496
254972009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
25498
25499 MIPS support.
25500
25501 * bus/bonito.c: New file.
25502 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
25503 GRUB_PCI_NUM_DEVICES.
25504 * term/i386/pc/serial.c: Move to ...
25505 * term/serial.c: ... here. All users updated.
25506 * util/i386/pc/grub-mkimage.c: Move to ...
25507 * util/grub-mkrawimage.c: ... here. All users updated.
25508 * term/i386/pc/at_keyboard.c: Move to ...
25509 * term/at_keyboard.c: ... here. All users updated.
25510 * conf/mips-qemu-mips.rmk: New file.
25511 * conf/mips-yeeloong.rmk: Likewise.
25512 * conf/mips.rmk: Likewise.
25513 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
25514 mipsel-qemu-mips.
25515 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
25516 to port addresses.
25517 (grub_ata_pciinit): Support CS5536.
25518 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
25519 * font/font_cmd.c (loadfont_command): Open file before passing it to
25520 grub_font_load.
25521 (pseudo_file_read): New function.
25522 (pseudo_file_close): Likewise.
25523 (pseudo_fs): New structure.
25524 (load_font_module): New function.
25525 (GRUB_MOD_INIT(font_manager)): Load embedded font.
25526 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
25527 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
25528 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
25529 * include/grub/i386/at_keyboard.h: Split into ...
25530 * include/grub/at_keyboard.h: ... this ...
25531 * include/grub/i386/at_keyboard.h: ... and this.
25532 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
25533 New prototype.
25534 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
25535 updated.
25536 (grub_elf64_size): Likewise.
25537 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
25538 filename.
25539 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
25540 * include/grub/i386/coreboot/serial.h: Rewritten.
25541 * include/grub/i386/ieee1275/serial.h: Include
25542 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
25543 * include/grub/i386/pc/serial.h: Moved from here ...
25544 * include/grub/serial.h: ... to here. All users updated.
25545 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
25546 (GRUB_PCI_NUM_BUS): Likewise.
25547 (GRUB_PCI_NUM_DEVICES): Likewise.
25548 (grub_pci_device_map_range): Add missing volatile keyword.
25549 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
25550 * include/grub/mips/at_keyboard.h: New file.
25551 * include/grub/mips/cache.h: Likewise.
25552 * include/grub/mips/io.h: Likewise.
25553 * include/grub/mips/kernel.h: Likewise.
25554 * include/grub/mips/libgcc.h: Likewise.
25555 * include/grub/mips/pci.h: Likewise.
25556 * include/grub/mips/qemu-mips/boot.h: Likewise.
25557 * include/grub/mips/qemu-mips/kernel.h: Likewise.
25558 * include/grub/mips/qemu-mips/loader.h: Likewise.
25559 * include/grub/mips/qemu-mips/memory.h: Likewise.
25560 * include/grub/mips/qemu-mips/serial.h: Likewise.
25561 * include/grub/mips/qemu-mips/time.h: Likewise.
25562 * include/grub/mips/relocator.h: Likewise.
25563 * include/grub/mips/time.h: Likewise.
25564 * include/grub/mips/types.h: Likewise.
25565 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
25566 * include/grub/mips/yeeloong/boot.h: Likewise.
25567 * include/grub/mips/yeeloong/kernel.h: Likewise.
25568 * include/grub/mips/yeeloong/loader.h: Likewise.
25569 * include/grub/mips/yeeloong/memory.h: Likewise.
25570 * include/grub/mips/yeeloong/pci.h: Likewise.
25571 * include/grub/mips/yeeloong/serial.h: Likewise.
25572 * include/grub/mips/yeeloong/time.h: Likewise.
25573 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
25574 * kern/elf.c (grub_elf32_size): New parameter. All users
25575 updated.
25576 (grub_elf64_size): Likewise.
25577 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
25578 Load modules before saying "Welcome to GRUB!".
25579 Call grub_refresh after saying "Welcome to GRUB!".
25580 * kern/mips/cache.S: New file.
25581 * kern/mips/cache_flush.S: Likewise.
25582 * kern/mips/dl.c: Likewise.
25583 * kern/mips/init.c: Likewise.
25584 * kern/mips/qemu-mips/init.c: Likewise.
25585 * kern/mips/startup.S: Likewise.
25586 * kern/mips/yeeloong/init.c: Likewise.
25587 * kern/term.c (grub_putcode): Handle NULL terminal.
25588 (grub_getcharwidth): Likewise.
25589 (grub_getkey): Likewise.
25590 (grub_checkkey): Likewise.
25591 (grub_getkeystatus): Likewise.
25592 (grub_getxy): Likewise.
25593 (grub_getwh): Likewise.
25594 (grub_gotoxy): Likewise.
25595 (grub_cls): Likewise.
25596 (grub_setcolorstate): Likewise.
25597 (grub_setcolor): Likewise.
25598 (grub_getcolor): Likewise.
25599 (grub_refresh): Likewise.
25600 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
25601 (write_jump): Add hatch nop.
25602 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
25603 * lib/mips/setjmp.S: New file.
25604 * loader/mips/linux.c: Likewise.
25605 * term/i386/pc/at_keyboard.c: Move from here ...
25606 * term/at_keyboard.c: ... to here.
25607 * term/i386/pc/serial.c: Moved from here ...
25608 * term/serial.c: ... to here. All users updated.
25609 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
25610 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
25611 (serial_translate_key_sequence): Avoid deadlock.
25612 (grub_serial_getkey): Handle backspace.
25613 (grub_serial_putchar): Fix newline handling.
25614 * util/i386/pc/grub-mkimage.c: Move from here ...
25615 * util/grub-mkrawimage.c: ... to here. All users updated.
25616 (generate_image): New parameters 'font_path' and 'format'.
25617 Support embedding font.
25618 Use grub_host_to_target* instead of grub_cpu_to_le*.
25619 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
25620 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
25621 (options): New option "--font".
25622 (usage): Likewise.
25623 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
25624 (main): Handle "--font".
25625 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
25626 (grub_virtual_screen_setup): Set bg_color_display.
25627 (redraw_screen_rect): Use bg_color_display instead of incorrect
25628 bg_color.
25629 (grub_gfxterm_cls): Likewise.
25630 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
25631 Support embedding config file.
25632 (add_segments): Likewise.
25633 (options): New option "--config".
25634 (main): Handle "--config".
25635 * video/sm712.c: New file.
25636
25c2b5b3
RM
256372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25638
25639 Fix parallel builds.
25640
25641 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
25642 font.c depend on ascii.h).
25643
256442010-01-12 Carles Pina i Estany <carles@pina.cat>
25645
25646 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
25647
256482010-01-11 Carles Pina i Estany <carles@pina.cat>
25649
25650 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
25651 By default: disabled.
25652 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
25653 parameter.
25654
256552010-01-10 Carles Pina i Estany <carles@pina.cat>
25656
25657 * font/font.c: Update copyright years.
25658 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
25659
256602010-01-10 Carles Pina i Estany <carles@pina.cat>
25661
25662 * font/font.c: Include `ascii.h'.
25663 (ASCII_BITMAP_SIZE): New macro.
25664 (ascii_font_glyph): Define.
25665 (ascii_glyph_lookup): New function.
25666 (grub_font_get_string_width): Change comment. If glyph not found, use
25667 ascii_glyph_lookup.
25668 (grub_font_get_glyph_with_fallback): If glyph not available returns
25669 ascii_glyph_lookup.
25670 * util/grub-mkfont.c (file_formats): New enum.
25671 (options): Add `ascii-bitmaps' new option.
25672 (usage): Add `asii-bitmaps' new option.
25673 (write_font_ascii_bitmap): New function.
25674 (write_font): Rename to ...
25675 (write_font_p2): ... this. Remove print_glyphs call.
25676 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
25677 used. Call print_glyphs.
25678 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
25679
256802010-01-14 Robert Millan <rmh.grub@aybabtu.com>
25681
25682 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
25683 (grub_bin2h_SOURCES): New variable.
25684 * util/bin2h.c: New file.
25685
915fc1b8
VS
256862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25687
25688 * include/multiboot.h: Resynced with spec.
25689 * include/multiboot2.h: Likewise.
25690 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
25691 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
25692
9444b678
RM
256932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25694
25695 * include/grub/term.h (grub_term_register_input,
25696 grub_term_register_output): Check return of terminal init()
25697 routines, and abort if errors are raised.
25698
25699 * commands/terminal.c: Update copyright year.
25700
cba98e8d
RM
257012010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25702
25703 * commands/terminal.c (grub_cmd_terminal_input)
25704 (grub_cmd_terminal_output): Check return of terminal init()
25705 routines, and abort if errors are raised.
25706
6f7db5d6
VS
257072010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
25708
25709 * include/grub/i386/bsd.h: Fix include pathes.
25710
262bff8d
VS
257112010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
25712
25713 Add missing *BSD copyright headers.
25714
25715 * include/grub/aout.h: Add BSD licence.
25716 * include/grub/i386/bsd.h: Parts under different licences moved to ...
25717 * include/grub/i386/freebsd_linker.h: ... here,
25718 * include/grub/i386/freebsd_reboot.h: ... here,
25719 * include/grub/i386/netbsd_bootinfo.h: ... here,
25720 * include/grub/i386/netbsd_reboot.h: ... here,
25721 * include/grub/i386/openbsd_bootarg.h: ... here,
25722 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
25723 licence to each file.
25724
b2cab848
RM
257252010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25726
25727 * acinclude.m4: Remove `nop' assembly instruction; it's not
25728 implemented by all architectures.
25729
2cb6be4b
RM
257302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25731
25732 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
25733 ELILO. This is no longer necessary.
25734
a2eaee15
BC
257352010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
25736
25737 Added new tool, grub-scrit-check to verify grub.cfg syntax.
25738
25739 * util/grub-script-check.c: grub-script-check tool.
25740 * conf/common.rmk: Make rules for grub-script-check.
25741
88d17012
RM
257422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25743
25744 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
25745 spotting it back in 2008. Shame on me for forgetting he did.
25746
25747 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
25748
8040619d
RM
257492010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25750
25751 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
25752 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
25753 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
25754 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
25755 (GRUB_VIDEO_TYPE_EFI): Rename to ...
25756 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
25757
a0c2a0f6
RM
257582010-01-17 Robert Millan <rmh.grub@aybabtu.com>
25759
25760 * include/grub/test.h: Add license header.
25761 * tests/example_functional_test.c: Likewise.
25762 * tests/example_unit_test.c: Likewise.
25763 * tests/lib/functional_test.c: Likewise.
25764 * tests/lib/test.c: Likewise.
25765 * tests/lib/unit_test.c: Likewise.
25766
b0b13907
VS
257672010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
25768
25769 Use flag-based instead of hook-based video mode selection and "auto"
25770 keyword.
25771
25772 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
25773 (grub_video_set_mode): Changed prototype. All users updated.
25774 (grub_video_check_mode_flag): New inline function.
25775 * video/video.c (parse_modespec): New function.
25776 (grub_video_set_mode): Parse flags and keywords.
25777
ea379330 257782010-01-17 Carles Pina i Estany <carles@pina.cat>
25779
25780 * util/misc.c (grub_util_info): Fix the order of the parameters in a
25781 fprintf call.
25782
e15c215e
FZ
257832010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
25784
25785 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
25786
409ae1c9 257872010-01-16 Carles Pina i Estany <carles@pina.cat>
25788
25789 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
25790 string.
25791 * util/grub-emu.c (usage): Likewise.
25792 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
25793 * util/i386/efi/grub-mkimage.c (usage): Likewise.
25794 * util/i386/pc/grub-mkimage.c (usage): Likewise.
25795 * util/i386/pc/grub-setup.c (usage): Likewise.
25796
70a14d3d 257972010-01-16 Carles Pina i Estany <carles@pina.cat>
25798
25799 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
25800 the message.
25801 (grub_util_info): Likewise.
25802 (grub_util_error): Likewise.
25803 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
25804 and/or new lines in `grub_util_warna', `grub_util_info',
25805 `grub_util_error' calls.
25806 * util/getroot.c: Likewise.
25807 * util/grub-editenv.c: Likewise.
25808 * util/grub-emu.c: Likewise.
25809 * util/grub-fstest.c: Likewise.
25810 * util/grub-mkdevicemap.c: Likewise.
25811 * util/grub-mkfont.c: Likewise.
25812 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25813 * util/grub-mkrelpath.c: Likewise.
25814 * util/grub-pe2elf.c: Likewise.
25815 * util/grub-probe.c: Likewise.
25816 * util/hostdisk.c: Likewise.
25817 * util/i386/efi/grub-mkimage.c: Likewise.
25818 * util/i386/pc/grub-mkimage.c: Likewise.
25819 * util/i386/pc/grub-setup.c: Likewise.
25820 * util/ieee1275/ofpath.c: Likewise.
25821 * util/mkisofs/eltorito.c: Likewise.
25822 * util/mkisofs/rock.c: Likewise.
25823 * util/mkisofs/write.c: Likewise.
25824 * util/raid.c: Likewise.
25825 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25826 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25827
a0b766fc
VS
258282010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25829
25830 Enable multiboot on non-pc.
25831
25832 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
25833 multiboot.mod and multiboot2.mod to ...
25834 * conf/i386.rmk (pkglib_MODULES): ... here.
25835 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
25836 Moved to ...
25837 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
25838 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
25839 Moved to ...
25840 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
25841 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
25842 Moved to ...
25843 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
25844 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
25845 Moved to ...
25846 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
25847 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
25848 relocator.mod.
25849 (ata_mod_SOURCES): Removed.
25850 (ata_mod_CFLAGS): Likewise.
25851 (ata_mod_LDFLAGS): Likewise.
25852 (relocator_mod_SOURCES): Removed.
25853 (relocator_mod_CFLAGS): Likewise.
25854 (relocator_mod_ASFLAGS): Likewise.
25855 (relocator_mod_LDFLAGS): Likewise.
25856 Include i386.mk.
25857 * include/grub/x86_64/multiboot.h: New file.
25858 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
25859 Terminate EFI.
25860
884ade56
VS
258612010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25862
25863 Video multiboot support.
25864
25865 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
25866 New prototype.
25867 * include/multiboot.h: Resynced with multiboot specification.
25868 * include/multiboot2.h: Likewise.
25869 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
25870 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
25871 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
25872 (HAS_VGA_TEXT): Likewise.
25873 (accepts_video): New variable.
25874 (grub_multiboot_set_accepts_video): New function.
25875 (grub_multiboot_get_mbi_size): Account for video structures.
25876 (set_video_mode): New function.
25877 (retrieve_video_parameters): Likewise.
25878 (grub_multiboot_make_mbi): Fill video fields.
25879
0d90e8a6
VS
258802010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25881
25882 Video driver ids.
25883
25884 * include/grub/video.h (grub_video_driver_id): New type.
25885 (grub_video_adapter): New member 'id'. All users updated.
25886 (grub_video_get_driver_id): New proto.
25887 * video/video.c (grub_video_get_driver_id): New function.
25888
5c71db1b 258892010-01-14 Carles Pina i Estany <carles@pina.cat>
25890
25891 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
25892 `var=val'.
25893
cca15b52 258942010-01-14 Carles Pina i Estany <carles@pina.cat>
25895
25896 * normal/cmdline.c (print_completion): Gettextizze.
25897
c586fbb2 258982001-01-14 Carles Pina i Estany <carles@pina.cat>
25899
25900 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
25901
ba2f6848 259022010-01-14 Carles Pina i Estany <carles@pina.cat>
25903
25904 * gettext/gettext.c (grub_gettext_translate): Push and pop
25905 grub_errno.
25906 (grub_gettext_delete_list): Change comment style.
25907 * kern/err.c (grub_error): Gettextizze.
25908 (grub_fatal): Gettextizze.
25909
0a46429a
RM
259102010-01-14 Robert Millan <rmh.grub@aybabtu.com>
25911
25912 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
25913 (grub_linux16_real_boot): ... this.
25914 * kern/i386/loader.S: Likewise.
25915 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
25916 (grub_linux16_boot): New function. Switches to text mode and calls
25917 grub_linux16_real_boot().
25918
25919 * loader/i386/bsd.c: Include `<grub/video.h>'.
25920 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
25921 text mode before calling grub_unix_real_boot().
25922
25923 * loader/i386/multiboot.c: Include `<grub/video.h>'.
25924 (grub_multiboot_boot): Switch to text mode before calling
25925 grub_relocator32_boot().
25926
25927 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
25928 (grub_chainloader_boot): Switch to text mode before calling
25929 grub_chainloader_real_boot().
25930
d6f93a66
RM
259312010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
259322010-01-05 Colin Watson <cjwatson@ubuntu.com>
25933
25934 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
25935 non-empty value.
25936
259372010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
259382010-01-05 Colin Watson <cjwatson@ubuntu.com>
25939
25940 * util/grub.d/00_header.in: Define a "savedefault" function for use
25941 in menu entries.
25942 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
25943
259442010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
259452010-01-05 Colin Watson <cjwatson@ubuntu.com>
25946
25947 * util/grub-mkconfig_lib.in (save_default_entry): Only set
25948 saved_entry if boot_once is unset.
25949 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
25950 previous saved entry (i.e. grub-reboot).
25951
259522009-12-08 Colin Watson <cjwatson@ubuntu.com>
25953
25954 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
25955
259562009-12-08 Colin Watson <cjwatson@ubuntu.com>
25957
25958 * util/grub.d/00_header.in: Use `set var=val' rather than plain
25959 `var=val'.
25960 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
25961
259622009-12-08 Colin Watson <cjwatson@ubuntu.com>
25963
25964 * util/grub-reboot.in: Fix --version output.
25965 * util/grub-set-default.in: Likewise.
25966
259672009-12-08 Colin Watson <cjwatson@ubuntu.com>
25968
25969 * util/grub.d/00_header.in: Silently ignore zero-sized environment
25970 blocks.
25971
259722009-12-08 Colin Watson <cjwatson@ubuntu.com>
25973
25974 * util/grub.d/00_header.in: Quote the value assigned to `default',
25975 in case it contains spaces.
25976
259772009-12-08 Colin Watson <cjwatson@ubuntu.com>
25978
25979 * util/grub.d/30_os-prober.in: Fix merge error that moved a
25980 `save_default_entry' call from the macosx case to the linux case.
25981
259822009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
259832009-10-25 Colin Watson <cjwatson@ubuntu.com>
25984
25985 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
25986 in `chosen' environment variable.
25987 * normal/menu_text.c (get_entry_number): Check if the variable
25988 matches the title of a menu entry.
25989 (run_menu): Pass menu to get_entry_number.
25990
25991 * util/grub-reboot.in: New file.
25992 * util/grub-set-default.in: New file.
25993 * conf/common.rmk (grub-reboot): New utility.
25994 (grub-set-default): New utility.
25995
25996 * util/grub-mkconfig_lib.in (save_default_entry): New function.
25997 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
25998 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
25999 move it to `saved_entry' for the next boot. Load environment on
26000 initialisation.
26001 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
26002 * util/grub.d/10_hurd.in: Likewise.
26003 * util/grub.d/10_linux.in (linux_entry): Likewise.
26004 * util/grub.d/10_windows.in: Likewise.
26005 * util/grub.d/30_os-prober.in: Likewise.
26006
26007 * util/grub-install.in: Create environment block.
26008 * util/i386/efi/grub-install.in: Likewise.
26009 * util/ieee1275/grub-install.in: Likewise.
26010 * util/sparc64/ieee1275/grub-install.in: Likewise.
26011
0934d184
BC
260122010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
26013
26014 Unit testing framework for GRUB.
26015
26016 * Makefile.in: Test framework build rules for 'make check'.
26017 * conf/tests.rmk: Build rules for individual tests and framework.
26018
26019 * include/grub/test.h: Header file for whitebox tests.
26020 * tests/lib/functional_test.c: Framework support for whitebox
26021 functional tests.
26022 * tests/lib/test.c: Common whitebox testing code for unit and
26023 functional tests.
26024 * tests/lib/unit_test.c: Framework support for whitebox unit
26025 tests.
26026
26027 * tests/util/grub-shell-tester.in: Support utility for grub-script
26028 tests.
26029 * tests/util/grub-shell.in: Utility to execute grub-script
26030 commands in a Qemu instance.
26031
26032 * tests/example_functional_test.c: Example whitebox functional
26033 test.
26034 * tests/example_grub_script_test.in: Example grub-script test.
26035 * tests/example_scripted_test.in: Example scripted test.
26036 * tests/example_unit_test.c: Example whitebox unit test.
26037
9c4ffeeb
VS
260382010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
26039
26040 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
26041 Add loader/i386/multiboot_mbi.c.
26042 (multiboot2_mod_SOURCES): Likewise.
26043 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
26044 (multiboot2_mod_SOURCES): Likewise.
26045 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
26046 (grub_multiboot_make_mbi): Likewise.
26047 (grub_multiboot_free_mbi): Likewise.
26048 (grub_multiboot_init_mbi): Likewise.
26049 (grub_multiboot_add_module): Likewise.
26050 (grub_multiboot_set_bootdev): Likewise.
26051 * loader/i386/multiboot.c (mbi): Removed.
26052 (mbi_dest): Likewise.
26053 (alloc_mbi): New variable.
26054 (grub_multiboot_payload_size): Removed. All users updated.
26055 (grub_multiboot_pure_size): New variable.
26056 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
26057 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
26058 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
26059 (grub_fill_multiboot_mmap): Likewise.
26060 (grub_multiboot_get_bootdev): Likewise.
26061 (grub_multiboot): Use multiboot_mbi functions.
26062 * loader/i386/multiboot_mbi.c: New file.
26063
17383dfe
VS
260642010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26065
26066 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
26067 it would result in module crash.
26068
c1f28820
VS
260692010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26070
26071 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
26072 (grub_ofconsole_getwh): Split to ...
26073 (grub_ofconsole_getwh): ... this.
26074 (grub_ofconsole_dimensions): ...and this.
26075 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
26076
58655a16
RM
260772010-01-13 Robert Millan <rmh.grub@aybabtu.com>
26078
26079 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
26080
10891398
VS
260812010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26082
26083 * loader/i386/pc/multiboot2.c: Removed stalled file.
26084
0b8a223c
VS
260852010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26086
26087 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
26088 Reported by: Grégoire Sutre
26089
92ab12b0
RM
260902010-01-11 Robert Millan <rmh.grub@aybabtu.com>
26091
26092 * util/misc.c (canonicalize_file_name): New function.
26093 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
26094 instead of realpath().
26095
a788afb6
CW
260962010-01-11 Colin Watson <cjwatson@ubuntu.com>
26097
26098 * util/grub-install.in (usage): Clarify meaning of --root-directory,
26099 and make it clearer that it's optional. Based on confusion
26100 witnessed on IRC.
26101
ffa8e3d2
VS
261022010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26103
26104 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
26105 in premature implicit newline.
26106
e9060a9d
VS
261072010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26108
26109 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
26110 which resulted in garbled command line at the end of screen.
26111
f0d0c0b7
RM
261122010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26113
26114 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
26115 initialization with similar approach as with other Linux loaders.
26116
0e60bae7
RM
261172010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26118
26119 Fix i386-ieee1275 build.
26120
26121 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
26122 and grub_term_height() for video_{width,height} initialization.
26123
261242010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
26125
26126 Fix grub-emu build.
26127
26128 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
26129
cdb3f378
RM
261302010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
261312010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26132
26133 Support for multiple terminals.
26134
26135 * Makefile.in (pkglib_DATA): terminal.lst.
26136 (terminal.lst): New target.
26137 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
26138 (GRUB_MOD_INIT(handler)): Likewise.
26139 (GRUB_MOD_FINI(handler)): Likewise.
26140 * commands/help.c (grub_cmd_help): Handle multiple terminals.
26141 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
26142 * commands/sleep.c (do_print): Use grub_term_restore_pos.
26143 (grub_cmd_sleep): Use grub_term_save_pos.
26144 * commands/terminal.c: New file.
26145 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
26146 commands/terminal.c and lib/charset.c.
26147 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
26148 (pkglib_MODULES): Add terminal.mod.
26149 (terminal_mod_SOURCES): New variable.
26150 (terminal_mod_CFLAGS): Likewise.
26151 (terminal_mod_LDFLAGS): Likewise.
26152 * genhandlerlist.sh: Don't handle terminals.
26153 * genmk.rb: Generate terminal-*.lst.
26154 * genterminallist.sh: New file.
26155 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
26156 (grub_is_valid_utf8): Likewise.
26157 (grub_utf8_to_ucs4_alloc): Likewise.
26158 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
26159 (grub_menu_register_viewer): Changed argument.
26160 (grub_menu_try_text): New proto.
26161 (grub_gfxmenu_try_hook): New declaration.
26162 * include/grub/normal.h (grub_normal_exit_level): New declaration.
26163 (grub_menu_init_page): Additional argument term.
26164 (grub_normal_init_page): Likewise.
26165 (grub_cmdline_get): Arguments simplified.
26166 (grub_utf8_to_ucs4_alloc): Removed.
26167 (grub_print_ucs4): Additional argument term.
26168 (grub_getstringwidth): Likewise.
26169 (grub_print_message_indented): Likewise.
26170 (grub_menu_text_register_instances): New proto.
26171 (grub_show_menu): Likewise.
26172 (read_terminal_list): Likewise.
26173 (grub_set_more): Likewise.
26174 * include/grub/parser.h: Include handler.h.
26175 * include/grub/reader.h: Rewritten.
26176 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
26177 (GRUB_TERM_WIDTH): Changed to function.
26178 (GRUB_TERM_HEIGHT): Likewise.
26179 (GRUB_TERM_BORDER_WIDTH): Likewise.
26180 (GRUB_TERM_BORDER_HEIGHT): Likewise.
26181 (GRUB_TERM_NUM_ENTRIES): Likewise.
26182 (GRUB_TERM_ENTRY_WIDTH): Likewise.
26183 (GRUB_TERM_CURSOR_X): Likewise.
26184 (grub_term_input_class): Likewise.
26185 (grub_term_output_class): Likewise.
26186 (grub_term_outputs_disabled): New declaration.
26187 (grub_term_inputs_disabled): Likewise.
26188 (grub_term_outputs): Likewise.
26189 (grub_term_inputs): Likewise.
26190 (grub_term_register_input): Rewritten.
26191 (grub_term_register_output): Likewise.
26192 (grub_term_unregister_input): Likewise.
26193 (grub_term_unregister_output): Likewise.
26194 (FOR_ACTIVE_TERM_INPUTS): New macro.
26195 (FOR_DISABLED_TERM_INPUTS): Likewise.
26196 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26197 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26198 * include/grub/terminfo.h: Add oterm argument to all protypes.
26199 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
26200 Use grub_rescue_run.
26201 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
26202 All users updated.
26203 * kern/reader.c: Removed. All users updated.
26204 * kern/rescue_reader.c (grub_rescue_init): Removed.
26205 (grub_rescue_reader): Likewise.
26206 (grub_register_rescue_reader): Likewise.
26207 (grub_rescue_run): New function based on kern/reader.c.
26208 * kern/term.c: Adapted for multiterm.
26209 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
26210 (grub_is_valid_utf8): Likewise.
26211 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
26212 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
26213 right terminal.
26214 * loader/i386/linux.c (grub_linux_boot): Likewise.
26215 * normal/auth.c (grub_username_get): New function.
26216 (grub_auth_check_authentication): Use grub_username_get.
26217 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
26218 * normal/color.c: Adapt for multiterm.
26219 * normal/main.c (read_config_file): Don't use grub_reader_loop.
26220 (grub_normal_init_page): Additional argument term.
26221 (read_lists): Call read_terminal_lists.
26222 (grub_enter_normal_mode): Call grub_cmdline_run.
26223 Handle grub_normal_exit_level.
26224 (grub_cmd_normal): Make reentrant.
26225 (grub_cmd_normal_exit): New function.
26226 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
26227 * normal/menu.c: Adapt for multiterm.
26228 * normal/menu_entry.c: Likewise.
26229 * normal/menu_text.c: Likewise.
26230 * normal/menu_viewer.c: Removed. All users updated.
26231 * normal/term.c: New file.
26232 * util/console.c: Change order of includes to workaround a bug in
26233 ncurses headers.
26234 * term/terminfo.c: New argument oterm on all exported functions.
26235 All users updated.
26236 * util/grub-editenv.c (grub_term_input_class): Removed.
26237 (grub_term_output_class): Likewise.
26238
1a064917
RM
262392010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26240
26241 Make loader output a bit more user-friendly.
26242
26243 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
26244 is being loaded. Likewise for the Hurd.
26245
26246 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
26247 that kernel of FreeBSD ${version} is being loaded.
26248
26249 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
26250 grub_dprintf().
26251 (grub_cmd_initrd): Likewise.
26252 * util/grub.d/10_linux.in (linux_entry): Print message indicating
26253 that Linux ${version} is being loaded. Likewise for initrd.
26254
5ce0a83a 262552010-01-09 Carles Pina i Estany <carles@pina.cat>
26256
26257 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
26258
809bbfeb 262592010-01-08 Carles Pina i Estany <carles@pina.cat>
26260
26261 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
26262 (GRUB_MOD_INIT): Gettextizze.
26263 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
26264 (GRUB_MOD_INIT): Gettextizze.
26265 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
26266 (grub_cmd_linux): Capitalise Linux.
26267 (GRUB_MOD_INIT): Gettextizze.
26268 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
26269 (grub_cmd_linux): Capitalise Linux.
26270 (GRUB_MOD_INIT): Gettextizze.
26271 * loader/i386/linux.c: Include `<grub/i18n.h>'.
26272 (grub_cmd_linux): Capitalise Linux.
26273 (GRUB_MOD_INIT): Gettextizze.
26274 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
26275 (GRUB_MOD_INIT): Gettextizze.
26276 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
26277 (grub_cmd_linux): Capitalise Linux.
26278 (GRUB_MOD_INIT): Gettextizze.
26279 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
26280 (grub_cpu_xnu_init): Gettextizze.
26281 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
26282 (GRUB_MOD_INIT): Gettextizze.
26283 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
26284 (GRUB_MOD_INIT): Gettextizze.
26285 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
26286 (grub_linux_load64): Capitalise Linux.
26287 (GRUB_MOD_INIT): Gettextizze.
26288 * loader/xnu.c: Include `<grub/i18n.h>'.
26289 (GRUB_MOD_INIT): Gettextizze.
26290 * po/POTFILES: Add `loader/efi/appleloader.c',
26291 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
26292 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
26293 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
26294 `loader/i386/xnu.c', `loader/multiboot_loader.c',
26295 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
26296 and `loader/xnu.c'.
26297
b394b2ca
RM
262982010-01-08 Robert Millan <rmh.grub@aybabtu.com>
26299
26300 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
26301
263022010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
26303
26304 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
26305 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
26306 * util/mkisofs/mkisofs.c (main): Readjust --version output.
26307
bc8b32b3
RM
263082010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26309
26310 Reset Multiboot 2 support. New loader implements the draft in
26311 /branches/multiboot2 and shares as much code as possible with the
26312 production Multiboot 1 implementation.
26313
26314 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
26315 * loader/multiboot2.c: Likewise.
26316 * loader/i386/multiboot_helper.S: Likewise.
26317 * include/multiboot2.h: Replace with latest version from the draft
26318 in /branches/multiboot2.
26319
26320 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
26321 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
26322 and `loader/multiboot2.c'.
26323 (pkglib_MODULES): Add `multiboot2.mod'.
26324 (multiboot2_mod_SOURCES): New variable.
26325 (multiboot2_mod_LDFLAGS): Likewise.
26326 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
26327
26328 * conf/i386-pc.rmk: Likewise.
26329
26330 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26331 (multiboot_mod_SOURCES): Remove variable.
26332 (multiboot_mod_LDFLAGS): Likewise.
26333 (multiboot_mod_CFLAGS): Likewise.
26334
26335 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
26336 `<multiboot2.h>' instead of `<multiboot.h>'.
26337 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
26338 (MULTIBOOT_HEADER_MAGIC): New macros.
26339
26340 * loader/multiboot_loader.c (module_version_status): Remove variable.
26341 (find_multi_boot2_header): Remove function.
26342 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
26343 logic. Always check for the Multiboot version we're compiling for.
26344 (grub_cmd_module_loader): Likewise.
26345 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
26346 command instead of `multiboot'.
26347
5d2c52b8
RM
263482010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26349
26350 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
26351 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
26352 all users.
26353
53108d92
RM
263542010-01-07 Robert Millan <rmh.grub@aybabtu.com>
263552010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26356
26357 Fix breakage introduced with previous commit.
26358
26359 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
26360 commands.
26361 * normal/handler.c (read_handler_list): Revert part of previous commit
26362 affecting this file.
26363 * normal/main.c (read_lists): Move read_handler_list() call back to ...
26364 (grub_normal_execute): ... here.
26365
e2e936b2
RM
263662010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26367
26368 Merge prefix-redefinition-fix branch.
26369
26370 * normal/autofs.c (read_fs_list): Make function capable of being
26371 run multiple times, gracefuly replacing the previous data
26372 structures.
26373 * normal/dyncmd.c (read_command_list): Likewise.
26374 * normal/handler.c (read_handler_list): Likewise.
26375 * normal/main.c (read_lists): New function. Calls all the
26376 list reading functions.
26377 (grub_normal_execute): Use read_lists() instead of calling all
26378 list reading functions explicitly. Register read_lists() as a
26379 variable hook attached to ${prefix}.
26380
607a3701
VS
263812010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26382
26383 Merge crypto branch.
26384
26385 * Makefile.in (pkglib_DATA): Add crypto.lst.
26386 (crypto.lst): New target.
26387 * commands/hashsum.c: New file.
26388 * commands/password.c (check_password): Use grub_crypto_memcmp.
26389 * commands/password_pbkdf2.c: New file.
26390 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
26391 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
26392 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
26393 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
26394 -I$(srcdir)/lib/libgcrypt_wrap.
26395 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
26396 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
26397 password_pbkdf2.mod.
26398 (crypto_mod_SOURCES): New variable.
26399 (crypto_mod_CFLAGS): Likewise.
26400 (crypto_mod_LDFLAGS): Likewise.
26401 (hashsum_mod_SOURCES): New variable.
26402 (hashsum_mod_CFLAGS): Likewise.
26403 (hashsum_mod_LDFLAGS): Likewise.
26404 (pbkdf2_mod_SOURCES): New variable.
26405 (pbkdf2_mod_CFLAGS): Likewise.
26406 (pbkdf2_mod_LDFLAGS): Likewise.
26407 (password_pbkdf2_mod_SOURCES): New variable.
26408 (password_pbkdf2_mod_CFLAGS): Likewise.
26409 (password_pbkdf2_mod_LDFLAGS): Likewise.
26410 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
26411 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
26412 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
26413 Include conf/gcry.rmk.
26414 * include/grub/auth.h: Rewritten.
26415 * include/grub/crypto.h: New file.
26416 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
26417 * include/grub/normal.h (read_crypto_list): New prototype.
26418 * lib/crypto.c: New file.
26419 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
26420 * lib/pbkdf2.c: Likewise.
26421 * normal/auth.c (grub_auth_strcmp): Removed.
26422 (grub_iswordseparator): Likewise.
26423 (grub_auth_strword): Likewise.
26424 (is_authenticated): Use grub_strword.
26425 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
26426 and grub_strword. Pass entered password to authentication callback.
26427 * normal/crypto.c: New file.
26428 * normal/main.c: Call read_crypto_list.
26429 * util/grub-mkpasswd-pbkdf2.c: New file.
26430 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
26431
42841caa
VS
264322010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
26433
26434 Fix descent and ascent calculation.
26435
26436 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
26437 (options): New option "asce".
26438 (usage): Likewise.
26439 (add_char): Ignore invalid glyphs for descent calculation.
26440 Calculate ascent from actual content.
26441 (print_glyphs): Use 'asce'.
26442 (write_font): Likewise. Allow ascent override.
26443 (main): Handle "asce" option.
26444
e7730de7 264452010-01-06 Carles Pina i Estany <carles@pina.cat>
26446
26447 * kern/err.c: Include `<grub/i18n.h>'.
26448 (grub_print_error): Add full stop. Gettextizze.
26449 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
26450 (grub_bsd_load_elf): Capitalise ELF.
26451 (grub_cmd_freebsd_loadenv): Add `s' in error string.
26452 (grub_cmd_freebsd_module): Likewise.
26453 (grub_cmd_freebsd_module_elf): Likewise.
26454 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
26455
40e3a41f 264562010-01-06 Carles Pina i Estany <carles@pina.cat>
26457
26458 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
26459 * commands/search_file.c (HELP_MESSAGE): New macro.
26460 * commands/search_label.c (HELP_MESSAGE): Likewise.
26461 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
26462 * po/POTFILES: Add `commands/search_file.c',
26463 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
26464 `commands/search.c'.
26465
83507e68
RM
264662010-01-05 Robert Millan <rmh.grub@aybabtu.com>
26467
26468 * config.rpath: Update from Gnulib.
26469
465c787b
YB
264702010-01-05 Yves Blusseau <blusseau@zetam.org>
26471
26472 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
26473
6581dd3a
YB
264742010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
26475
26476 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
26477
3bff18c5
CW
264782010-01-05 Colin Watson <cjwatson@ubuntu.com>
26479
26480 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
26481 arguments to fread so that we get a return value in bytes, rather
26482 than something that will normally be rounded down to 0.
26483 Adjust error handling to avoid producing garbage when size_t is not
26484 the same size as long long.
26485
a1368118
CW
264862010-01-05 Colin Watson <cjwatson@ubuntu.com>
26487
26488 * util/mkisofs/write.c (padblock_write): Check return value of
26489 fread.
26490
7c302978
RM
264912010-01-05 Robert Millan <rmh.grub@aybabtu.com>
26492
26493 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
26494 floppy images now.
26495
26496 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
26497
e33ace06
RM
264982010-01-04 Robert Millan <rmh.grub@aybabtu.com>
26499
26500 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
26501 instead of manual alignment.
26502 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
26503 verbose). Avoid attempts to read past end of the device
26504 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
26505 but GRUB_DISK_CACHE_SIZE may exceed that).
26506
4b856776
RM
265072010-01-04 Robert Millan <rmh.grub@aybabtu.com>
26508
26509 * commands/crc.c (grub_cmd_crc): Abort on read errors.
26510 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
26511 it to upper layer.
26512
52c2d97f
VS
265132010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
26514
26515 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
26516 New constant.
26517 (grub_efi_piwg_device_path): New structure
26518 (grub_efi_piwg_device_path_t): New type.
26519 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
26520 (devpath_1): Transform to a structure. All users updated.
26521 (devpath_2): Likewise.
26522 (devpath_3): Likewise.
26523 (devpath_4): Likewise.
26524 (devpath_5): Likewise.
26525
98ff6a54
VS
265262010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
26527
26528 * loader/efi/appleloader.c: Restored. Update all users.
26529
3a73dcb6
RM
265302010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26531
26532 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
26533
26534 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
26535 (struct boot_blocklist): Move from here ...
26536 * include/grub/i386/pc/boot.h [ASM_FILE]
26537 (struct grub_boot_blocklist): ... to here. Update all users.
26538 (setup): Only initialize `start' member of `first_block'
26539 structure. Add assert() calls to verify the other members.
26540
26541 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
26542 (generate_image): Fix broken blocklist length initialization.
26543 Add assert() call to verify blocklist `segment' field.
26544
ab0eeb0c
RM
265452010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26546
26547 * loader/efi/appleloader.c: Remove. Update all users.
26548
58bc8bd5
RM
265492010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26550
26551 * boot/i386/pc/boot.S: Update copyright year.
26552 * boot/i386/pc/cdboot.S: Likewise.
26553 * boot/i386/pc/diskboot.S: Likewise.
26554 * boot/i386/pc/lnxboot.S: Likewise.
26555 * boot/i386/pc/pxeboot.S: Likewise.
26556 * bus/pci.c: Likewise.
26557 * commands/cmp.c: Likewise.
26558 * commands/help.c: Likewise.
26559 * commands/hexdump.c: Likewise.
26560 * commands/i386/pc/halt.c: Likewise.
26561 * commands/i386/pc/play.c: Likewise.
26562 * commands/i386/pc/vbeinfo.c: Likewise.
26563 * commands/ls.c: Likewise.
26564 * commands/test.c: Likewise.
26565 * disk/dmraid_nvidia.c: Likewise.
26566 * disk/i386/pc/biosdisk.c: Likewise.
26567 * disk/ieee1275/nand.c: Likewise.
26568 * disk/ieee1275/ofdisk.c: Likewise.
26569 * disk/lvm.c: Likewise.
26570 * disk/raid.c: Likewise.
26571 * disk/raid6_recover.c: Likewise.
26572 * disk/scsi.c: Likewise.
26573 * fs/affs.c: Likewise.
26574 * fs/cpio.c: Likewise.
26575 * fs/ext2.c: Likewise.
26576 * fs/hfs.c: Likewise.
26577 * fs/iso9660.c: Likewise.
26578 * fs/ntfs.c: Likewise.
26579 * fs/sfs.c: Likewise.
26580 * fs/udf.c: Likewise.
26581 * fs/ufs.c: Likewise.
26582 * fs/xfs.c: Likewise.
26583 * gencmdlist.sh: Likewise.
26584 * genmk.rb: Likewise.
26585 * include/grub/disk.h: Likewise.
26586 * include/grub/efi/api.h: Likewise.
26587 * include/grub/efi/efi.h: Likewise.
26588 * include/grub/efi/pe32.h: Likewise.
26589 * include/grub/elf.h: Likewise.
26590 * include/grub/fs.h: Likewise.
26591 * include/grub/i386/at_keyboard.h: Likewise.
26592 * include/grub/i386/pc/memory.h: Likewise.
26593 * include/grub/i386/pc/vbe.h: Likewise.
26594 * include/grub/i386/pci.h: Likewise.
26595 * include/grub/i386/tsc.h: Likewise.
26596 * include/grub/ieee1275/ieee1275.h: Likewise.
26597 * include/grub/ntfs.h: Likewise.
26598 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26599 * include/grub/sparc64/libgcc.h: Likewise.
26600 * include/grub/symbol.h: Likewise.
26601 * include/grub/types.h: Likewise.
26602 * include/multiboot2.h: Likewise.
26603 * io/gzio.c: Likewise.
26604 * kern/device.c: Likewise.
26605 * kern/disk.c: Likewise.
26606 * kern/efi/efi.c: Likewise.
26607 * kern/efi/mm.c: Likewise.
26608 * kern/elf.c: Likewise.
26609 * kern/file.c: Likewise.
26610 * kern/i386/dl.c: Likewise.
26611 * kern/i386/pc/init.c: Likewise.
26612 * kern/i386/pc/startup.S: Likewise.
26613 * kern/ieee1275/ieee1275.c: Likewise.
26614 * kern/ieee1275/init.c: Likewise.
26615 * kern/main.c: Likewise.
26616 * kern/mm.c: Likewise.
26617 * kern/powerpc/dl.c: Likewise.
26618 * kern/sparc64/dl.c: Likewise.
26619 * kern/x86_64/dl.c: Likewise.
26620 * lib/hexdump.c: Likewise.
26621 * loader/efi/appleloader.c: Likewise.
26622 * loader/i386/ieee1275/linux.c: Likewise.
26623 * loader/i386/pc/chainloader.c: Likewise.
26624 * loader/i386/pc/linux.c: Likewise.
26625 * loader/i386/pc/multiboot2.c: Likewise.
26626 * loader/ieee1275/multiboot2.c: Likewise.
26627 * loader/multiboot2.c: Likewise.
26628 * loader/multiboot_loader.c: Likewise.
26629 * loader/powerpc/ieee1275/linux.c: Likewise.
26630 * normal/completion.c: Likewise.
26631 * normal/menu_entry.c: Likewise.
26632 * partmap/apple.c: Likewise.
26633 * util/grub.d/10_hurd.in: Likewise.
26634 * util/hostfs.c: Likewise.
26635 * video/readers/png.c: Likewise.
26636
e2d70b5c
CW
266372010-01-03 Colin Watson <cjwatson@ubuntu.com>
26638
26639 * include/grub/misc.h (GNUC_PREREQ): New macro.
26640 (ATTRIBUTE_ERROR): New macro.
26641 * include/grub/list.h (grub_bad_type_cast_real): Use
26642 ATTRIBUTE_ERROR.
26643
a173283f 266442010-01-03 Carles Pina i Estany <carles@pina.cat>
26645
26646 * normal/menu_text.c (print_message): Change messages.
26647
7fa7ff74 266482010-01-03 Carles Pina i Estany <carles@pina.cat>
26649
26650 * normal/menu_entry.c (store_completion): Gettextizze.
26651
136d24f6 266522010-01-03 Carles Pina i Estany <carles@pina.cat>
26653
26654 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
26655
f936862e 266562010-01-03 Carles Pina i Estany <carles@pina.cat>
26657
26658 * po/POTFILES: Sort correctly.
26659
29c44ad1 266602010-01-03 Carles Pina i Estany <carles@pina.cat>
26661
26662 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
26663 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
26664 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
26665 full stop.
26666 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
26667 summary. Gettextizze the strings.
26668 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
26669 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
26670 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
26671 full stop.
26672 (GRUB_MOD_INIT): Remove command name from summary.
26673 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
26674 summary.
26675 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
26676 * term/i386/pc/serial.c (options): Add full stops.
26677 (GRUB_MOD_INIT): Remove command name from the summary.
26678
77a79592 266792010-01-03 Carles Pina i Estany <carles@pina.cat>
26680
26681 * commands/acpi.c: Gettextizze help strings and/or options. Include
26682 `grub/i18n.h' if needed.
26683 * commands/blocklist.c: Likewise.
26684 * commands/boot.c: Likewise.
26685 * commands/cat.c: Likewise.
26686 * commands/cmp.c: Likewise.
26687 * commands/configfile.c: Likewise.
26688 * commands/crc.c: Likewise.
26689 * commands/date.c: Likewise.
26690 * commands/echo.c: Likewise.
26691 * commands/efi/fixvideo.c: Likewise.
26692 * commands/efi/loadbios.c: Likewise.
26693 * commands/gptsync.c: Likewise.
26694 * commands/halt.c: Likewise.
26695 * commands/handler.c: Likewise.
26696 * commands/hdparm.c: Likewise.
26697 * commands/hexdump.c: Likewise.
26698 * commands/i386/cpuid.c: Likewise.
26699 * commands/i386/pc/drivemap.c: Likewise.
26700 * commands/i386/pc/halt.c: Likewise.
26701 * commands/i386/pc/pxecmd.c: Likewise.
26702 * commands/i386/pc/vbeinfo.c: Likewise.
26703 * commands/i386/pc/vbetest.c: Likewise.
26704 * commands/ieee1275/suspend.c: Likewise.
26705 * commands/keystatus.c: Likewise.
26706 * commands/loadenv.c: Likewise.
26707 * commands/ls.c: Likewise.
26708 * commands/lsmmap.c: Likewise.
26709 * commands/lspci.c: Likewise.
26710 * commands/memrw.c: Likewise.
26711 * commands/minicmd.c: Likewise.
26712 * commands/parttool.c: Likewise.
26713 * commands/password.c: Likewise.
26714 * commands/probe.c: Likewise.
26715 * commands/read.c: Likewise.
26716 * commands/reboot.c: Likewise.
26717 * commands/search.c: Likewise.
26718 * commands/sleep.c: Likewise.
26719 * commands/test.c: Likewise.
26720 * commands/true.c: Likewise.
26721 * commands/usbtest.c: Likewise.
26722 * commands/videotest.c: Likewise.
26723 * commands/xnu_uuid.c: Likewise.
26724 * disk/loopback.c: Likewise.
26725 * hello/hello.c: Likewise.
26726 * loader/i386/bsd.c: Likewise.
26727 * term/i386/pc/serial.c: Likewise.
26728 * po/POTFILES: Add new files.
26729
da8d5c53
CW
267302010-01-02 Colin Watson <cjwatson@ubuntu.com>
26731
26732 * term/i386/pc/at_keyboard.c
26733 (keyboard_controller_wait_untill_ready): Rename to ...
26734 (keyboard_controller_wait_until_ready): ... this. Update all users.
26735
33937904 267362010-01-01 Carles Pina i Estany <carles@pina.cat>
26737
26738 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
26739 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
26740 string using string width.
26741 * normal/menu_text.c (grub_print_message_indented): Use
26742 grub_print_spaces and not print_spaces.
26743 (print_timeout): Likewise.
26744 (print_spaces): Move to...
26745 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
26746
3fd3b8d8
RM
267472010-01-01 Robert Millan <rmh.grub@aybabtu.com>
26748
26749 Import from Gnulib.
26750
26751 * gnulib/getdelim.c: New file.
26752 * gnulib/getline.c: Likewise.
26753
33433555
VS
267542009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
26755
26756 * include/grub/list.h (grub_assert_fail): Removed.
26757 (grub_bad_type_cast_real): New function.
26758 (grub_bad_type_cast): New macro.
26759 (GRUB_AS_LIST): Use grub_bad_type_cast.
26760 (GRUB_AS_LIST_P): Likewise.
e44721e8 26761 (GRUB_AS_NAMED_LIST): Likewise.
33433555 26762 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 26763 (GRUB_AS_PRIO_LIST): Likewise.
33433555 26764 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 26765 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 26766
f5a51306
VS
267672009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
26768
26769 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
26770 Fix syntax error.
26771
90d1e879
RM
267722009-12-29 Robert Millan <rmh.grub@aybabtu.com>
26773
26774 * configure.ac: Check for TARGET_CFLAGS initialization before we
26775 initialize it ourselves (sigh).
26776 Move a few modifications to TARGET_CFLAGS to be unconditional
26777 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
26778 eh_frame)
26779
26780 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
26781 * term/i386/pc/at_keyboard.c
26782 (keyboard_controller_wait_untill_ready): Likewise.
26783 (keyboard_controller_led): Rename `led_status' paramter to avoid
26784 name conflict.
26785
465b5a81 267862009-12-28 Carles Pina i Estany <carles@pina.cat>
26787
26788 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
26789 quotes.
26790
c181849b
VS
267912009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26792
26793 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
26794
9c8739a4
VS
267952009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26796
26797 * normal/menu_text.c (grub_print_message_indented): Prevent
26798 past-the-end-of-array dereference.
26799
3e74249c
VS
268002009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26801
26802 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
26803 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
26804
64fd18ed 268052009-12-27 Carles Pina i Estany <carles@pina.cat>
26806
26807 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
26808 * normal/main.c (grub_normal_read_line): Remove a space from the
26809 default prompt.
26810
714af9b9 268112009-12-27 Carles Pina i Estany <carles@pina.cat>
26812
26813 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
26814 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26815 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
26816 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
26817 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26818 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26819 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26820
82f3e412 268212009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 26822
26823 * video/readers/jpeg.c (cmd): Declare.
26824 (grub_cmd_jpegtest): Use `grub_command_t' type.
26825 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26826 Assign to `cmd'.
26827 (GRUB_MOD_FINI): Use `cmd' to unregister.
26828 * video/readers/png.c (cmd): Declare.
26829 (grub_cmd_pngtest): Use `grub_command_t' type.
26830 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26831 Assign to `cmd'.
26832 (GRUB_MOD_FINI): Use `cmd' to unregister.
26833 * video/readers/tga.c (cmd): Declare.
26834 (grub_cmd_tgatest): Use `grub_command_t' type.
26835 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26836 Assign to `cmd'.
26837 (GRUB_MOD_FINI): Use `cmd' to unregister.
26838
82f3e412 268392009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 26840
26841 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
26842 stops.
26843 * kern/corecmd.c (grub_register_core_commands): Likewise.
26844 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
26845 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
26846 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
26847 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26848 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
26849 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
26850 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
26851 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
26852 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26853 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26854 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26855 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26856 * normal/handler.c (insert_handler): Likewise.
26857 * normal/main.c (GRUB_MOD_INIT): Likewise.
26858 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26859
fdcdbb66 268602009-12-26 Carles Pina i Estany <carles@pina.cat>
26861
26862 * commands/help.c (grub_cmd_help): Print the command name before the
26863 summary.
26864 (GRUB_MOD_INIT): Remove command name from the summary.
26865 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 26866 string as summary.
fdcdbb66 26867 * lib/arg.c (find_long): Print the command name before the summary.
26868 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
26869 summary.
26870 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
26871 * commands/cat.c (GRUB_MOD_INIT): Likewise.
26872 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
26873 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26874 * commands/crc.c (GRUB_MOD_INIT): Likewise.
26875 * commands/date.c (GRUB_MOD_INIT): Likewise.
26876 * commands/echo.c (GRUB_MOD_INIT): Likewise.
26877 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
26878 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
26879 * commands/handler.c (GRUB_MOD_INIT): Likewise.
26880 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
26881 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
26882 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
26883 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
26884 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
26885 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
26886 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
26887 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
26888 * commands/ls.c (GRUB_MOD_INIT): Likewise.
26889 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
26890 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
26891 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
26892 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
26893 * commands/password.c (GRUB_MOD_INIT): Likewise.
26894 * commands/probe.c (GRUB_MOD_INIT): Likewise.
26895 * commands/read.c (GRUB_MOD_INIT): Likewise.
26896 * commands/search.c (GRUB_MOD_INIT): Likewise.
26897 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
26898 * commands/test.c (GRUB_MOD_INIT): Likewise.
26899 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
26900 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26901 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26902 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
26903 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26904 * lib/arg.c (GRUB_MOD_INIT): Likewise.
26905 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
26906 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
26907 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26908 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26909 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26910 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
26911 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
26912 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
26913
9c288be2
VS
269142009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26915
26916 Use search command for preliminar UUID search.
26917
26918 * commands/search.c: Split into ...
26919 * commands/search_wrap.c: ...this
26920 * commands/search.c: ...and this.
26921 * commands/search_file.c: New file.
26922 * commands/search_label.c: New file.
26923 * commands/search_uuid.c: New file.
26924 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
26925 Add commands/search_wrap.c, commands/search_file.c,
26926 commands/search_label.c and commands/search_uuid.c.
26927 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
26928 (search_mod_SOURCES): Set to commands/search_wrap.c.
26929 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
26930 search_label.mod.
26931 (search_fs_file_mod_SOURCES): New variable.
26932 (search_fs_file_mod_CFLAGS): Likewise.
26933 (search_fs_file_mod_LDFLAGS): Likewise.
26934 (search_label_mod_SOURCES): Likewise.
26935 (search_label_mod_CFLAGS): Likewise.
26936 (search_label_mod_LDFLAGS): Likewise.
26937 (search_fs_uuid_mod_SOURCES): New variable.
26938 (search_fs_uuid_mod_CFLAGS): Likewise.
26939 (search_fs_uuid_mod_LDFLAGS): Likewise.
26940 (fs_file_mod_SOURCES): Removed.
26941 (fs_file_mod_CFLAGS): Likewise.
26942 (fs_file_mod_LDFLAGS): Likewise.
26943 (fs_uuid_mod_SOURCES): Removed.
26944 (fs_uuid_mod_CFLAGS): Likewise.
26945 (fs_uuid_mod_LDFLAGS): Likewise.
26946 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
26947 Set to util/grub-install.in.
26948 * disk/fs_file.c: Removed.
26949 * disk/fs_uuid.c: Likewise.
26950 * include/grub/search.h: New file.
26951 * util/grub-install.in: Handle sparc64.
26952 Create and use load.cfg.
26953 * util/sparc64/ieee1275/grub-install.in: Removed.
26954
db943399
VS
269552009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26956
26957 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
26958 Ignore return status if CF is cleared.
26959 (grub_biosdisk_get_diskinfo_standard): Likewise.
26960
3fdae612
RM
269612009-12-25 Robert Millan <rmh.grub@aybabtu.com>
26962
26963 * term/i386/pc/at_keyboard.c
26964 (keyboard_controller_wait_untill_ready): New function.
26965 (grub_keyboard_controller_write, grub_keyboard_controller_read)
26966 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
26967 for keyboard polling, rather than duplicate the same loop. This
26968 saves a few bytes in code size.
26969
7ebaa2b4
VS
269702009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26971
26972 Support for (pxe[:server[:gateway]]) syntax and
26973 use environment variable for PXE.
26974
26975 * commands/i386/pc/pxecmd.c (options): Removed.
26976 (print_ip): Removed.
26977 (grub_cmd_pxe): Removed
26978 (grub_cmd_pxe_unload): New function.
26979 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
26980 (grub_pxe_your_ip): Made static.
26981 (grub_pxe_default_server_ip): Likewise.
26982 (grub_pxe_default_gateway_ip): Likewise.
26983 (grub_pxe_blksize): Likewise.
26984 (parse_ip): New function.
26985 (grub_pxe_open): Support server and gateway specification.
26986 (grub_pxe_close): Free disk->data.
26987 (grub_pxefs_open): Use disk->data.
26988 (grub_pxefs_read): Likewise.
26989 (grub_env_write_readonly): New function.
26990 (set_mac_env): Likewise.
26991 (set_env_limn_ro): Likewise.
26992 (parse_dhcp_vendor): Likewise.
26993 (grub_pxe_detect): Set the environment variables.
26994 (set_ip_env): New function.
26995 (write_ip_env): Likewise.
26996 (grub_env_write_pxe_default_server): Likewise.
26997 (grub_env_write_pxe_default_gateway): Likewise.
26998 (grub_env_write_pxe_blocksize): Likewise.
26999 (GRUB_MOD_INIT(pxe)): Set environment variables.
27000 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
27001 (grub_pxe_mac_addr_t): ... this. All users updated.
27002 (grub_pxe_your_ip): Removed.
27003 (grub_pxe_server_ip): Likewise.
27004 (grub_pxe_gateway_ip): Likewise.
27005 (grub_pxe_blksize): Likewise.
27006
ec5f98ab 270072009-12-25 Carles Pina i Estany <carles@pina.cat>
27008
27009 * commands/help.c: Include `<grub/i18n.h>'.
27010 (grub_cmd_help): Gettextizze.
27011 (GRUB_MOD_INIT): Likewise.
27012 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
27013 (GRUB_MOD_INIT): Gettextizze.
27014 * commands/search.c: Include `<grub/i18n.h>'.
27015 (options): Gettextizze.
27016 (GRUB_MOD_INIT): Gettextizze.
27017 * lib/arg.c: Include `<grub/i18n.h>'.
27018 (help_options): Gettextizze.
27019 (find_long): Likewise.
27020 (grub_arg_show_help): Likewise.
27021 * normal/dyncmd.c: Include `<grub/i18n.h>'.
27022 (read_command_list): Gettextizze.
27023 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 27024 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 27025
22815526
RM
270262009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27027
27028 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
27029 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
27030 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
27031 (led_status): New variable.
27032 (keyboard_controller_led): New function.
27033 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
27034 update led status for caps lock, num lock and scroll lock.
27035
0ad46fd7
FZ
270362009-12-25 Felix Zielcke <fzielcke@z-51.de>
27037
27038 * util/hostdisk.c (open_device): Fix a comment.
27039
d0e158c2
RM
270402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27041
27042 * util/grub-install.in (host_os): New variable.
27043 * util/i386/efi/grub-install.in (host_os): Likewise.
27044
401c0ad6
RM
270452009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27046
27047 * util/mkisofs/write.c (padblock_write): Abort when given an
27048 excedingly large embed image, instead of silently truncating it.
27049
d14d3370
RM
270502009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27051
27052 * include/multiboot.h: Indentation fixes.
27053
eeed10b4
RM
270542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27055
27056 * include/multiboot.h (struct multiboot_aout_symbol_table)
27057 (struct multiboot_elf_section_header_table): New structure
27058 declarations (stolen from GRUB Legacy).
27059 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
27060 table information.
27061
27062 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
27063 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
27064 type aliases.
27065
681c70ab
RM
270662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27067
27068 * include/multiboot.h: Make comments src2texi-friendly.
27069
e4d47d8d
RM
270702009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27071
27072 For consistency with [multiboot]/docs/boot.S.
27073
27074 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
27075 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
27076 (MULTIBOOT_MAGIC2): Rename from this ...
27077 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
27078
a0b70bda
RM
270792009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27080
27081 * include/multiboot.h: Remove `<grub/types.h>'.
27082 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
27083 types. Update all users.
27084
61ba42be 270852009-12-25 Carles Pina i Estany <carles@pina.cat>
27086
27087 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
27088 `couldn't' and `can not' by `cannot'.
27089 * commands/i386/pc/drivemap.c: Likewise.
27090 * disk/ata.c: Likewise.
27091 * disk/ieee1275/nand.c: Likewise.
27092 * fs/affs.c: Likewise.
27093 * fs/fat.c: Likewise.
27094 * fs/hfs.c: Likewise.
27095 * fs/hfsplus.c: Likewise.
27096 * fs/iso9660.c: Likewise.
27097 * fs/jfs.c: Likewise.
27098 * fs/minix.c: Likewise.
27099 * fs/reiserfs.c: Likewise.
27100 * fs/sfs.c: Likewise.
27101 * fs/udf.c: Likewise.
27102 * fs/ufs.c: Likewise.
27103 * fs/xfs.c: Likewise.
27104 * loader/powerpc/ieee1275/linux.c: Likewise.
27105 * loader/sparc64/ieee1275/linux.c: Likewise.
27106 * util/grub-probe.c: Likewise.
27107 * util/misc.c: Likewise.
27108
7fd0baee 271092009-12-24 Carles Pina i Estany <carles@pina.cat>
27110
27111 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
27112 grub_errno calls.
27113 * commands/acpi.c: Likewise.
27114 * commands/blocklist.c: Likewise.
27115 * commands/efi/loadbios.c: Likewise.
27116 * commands/i386/pc/drivemap.c: Likewise.
27117 * commands/loadenv.c: Likewise.
27118 * commands/memrw.c: Likewise.
27119 * commands/password.c: Likewise.
27120 * commands/videotest.c: Likewise.
27121 * disk/ata.c: Likewise.
27122 * disk/ata_pthru.c: Likewise.
27123 * disk/dmraid_nvidia.c: Likewise.
27124 * disk/ieee1275/nand.c: Likewise.
27125 * disk/ieee1275/ofdisk.c: Likewise.
27126 * disk/loopback.c: Likewise.
27127 * disk/lvm.c: Likewise.
27128 * disk/mdraid_linux.c: Likewise.
27129 * disk/raid.c: Likewise.
27130 * disk/raid6_recover.c: Likewise.
27131 * disk/scsi.c: Likewise.
27132 * efiemu/main.c: Likewise.
27133 * efiemu/mm.c: Likewise.
27134 * efiemu/pnvram.c: Likewise.
27135 * efiemu/symbols.c: Likewise.
27136 * font/font.c: Likewise.
27137 * fs/cpio.c: Likewise.
27138 * fs/hfsplus.c: Likewise.
27139 * fs/iso9660.c: Likewise.
27140 * fs/jfs.c: Likewise.
27141 * fs/minix.c: Likewise.
27142 * fs/ntfs.c: Likewise.
27143 * fs/ntfscomp.c: Likewise.
27144 * fs/reiserfs.c: Likewise.
27145 * fs/ufs.c: Likewise.
27146 * fs/xfs.c: Likewise.
27147 * gettext/gettext.c: Likewise.
27148 * include/grub/auth.h: Likewise.
27149 * kern/elf.c: Likewise.
27150 * kern/file.c: Likewise.
27151 * kern/ieee1275/init.c: Likewise.
27152 * kern/ieee1275/mmap.c: Likewise.
27153 * kern/ieee1275/openfw.c: Likewise.
27154 * kern/powerpc/dl.c: Likewise.
27155 * kern/sparc64/dl.c: Likewise.
27156 * lib/arg.c: Likewise.
27157 * loader/i386/bsd.c: Likewise.
27158 * loader/i386/bsdXX.c: Likewise.
27159 * loader/i386/efi/linux.c: Likewise.
27160 * loader/i386/efi/xnu.c: Likewise.
27161 * loader/i386/ieee1275/linux.c: Likewise.
27162 * loader/i386/linux.c: Likewise.
27163 * loader/i386/multiboot.c: Likewise.
27164 * loader/i386/pc/linux.c: Likewise.
27165 * loader/i386/pc/multiboot2.c: Likewise.
27166 * loader/i386/xnu.c: Likewise.
27167 * loader/ieee1275/multiboot2.c: Likewise.
27168 * loader/macho.c: Likewise.
27169 * loader/machoXX.c: Likewise.
27170 * loader/multiboot2.c: Likewise.
27171 * loader/multiboot_loader.c: Likewise.
27172 * loader/powerpc/ieee1275/linux.c: Likewise.
27173 * loader/sparc64/ieee1275/linux.c: Likewise.
27174 * loader/xnu.c: Likewise.
27175 * loader/xnu_resume.c: Likewise.
27176 * mmap/i386/pc/mmap.c: Likewise.
27177 * normal/menu_viewer.c: Likewise.
27178 * partmap/acorn.c: Likewise.
27179 * partmap/amiga.c: Likewise.
27180 * partmap/apple.c: Likewise.
27181 * script/lexer.c: Likewise.
27182 * term/gfxterm.c: Likewise.
27183 * term/i386/pc/serial.c: Likewise.
27184 * term/i386/pc/vga.c: Likewise.
27185 * term/ieee1275/ofconsole.c: Likewise.
27186 * term/terminfo.c: Likewise.
27187 * video/bitmap.c: Likewise.
27188 * video/efi_gop.c: Likewise.
27189 * video/efi_uga.c: Likewise.
27190 * video/fb/video_fb.c: Likewise.
27191 * video/i386/pc/vbe.c: Likewise.
27192 * video/readers/tga.c: Likewise.
27193 * video/video.c: Likewise.
27194
0ad46fd7 271952009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
27196
27197 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
27198 * commands/lspci.c: Likewise.
27199 * commands/probe.c: Likewise.
27200 * commands/xnu_uuid.c: Likewise.
27201 * conf/i386-coreboot.rmk: Likewise.
27202 * conf/i386-efi.rmk: Likewise.
27203 * conf/i386-ieee1275.rmk: Likewise.
27204 * conf/i386-pc.rmk: Likewise.
27205 * conf/powerpc-ieee1275.rmk: Likewise.
27206 * conf/sparc64-ieee1275.rmk: Likewise.
27207 * conf/x86_64-efi.rmk: Likewise.
27208 * fs/i386/pc/pxe.c: Likewise.
27209 * gettext/gettext.c: Likewise.
27210 * include/grub/efi/graphics_output.h: Likewise.
27211 * include/grub/i386/pc/memory.h: Likewise.
27212 * kern/env.c: Likewise.
27213 * kern/i386/qemu/startup.S: Likewise.
27214 * lib/i386/pc/biosnum.c: Likewise.
27215 * lib/i386/relocator.c: Likewise.
27216 * lib/i386/relocator_asm.S: Likewise.
27217 * lib/relocator.c: Likewise.
27218 * loader/i386/bsd.c: Likewise.
27219 * loader/i386/multiboot.c: Likewise.
27220 * loader/i386/pc/chainloader.c: Likewise.
27221 * loader/i386/xnu.c: Likewise.
27222 * loader/xnu.c: Likewise.
27223 * normal/main.c: Likewise.
27224 * normal/menu_text.c: Likewise.
27225 * util/getroot.c: Likewise.
27226 * util/grub-mkconfig_lib.in: Likewise.
27227 * util/grub.d/00_header.in: Likewise.
27228 * util/i386/pc/grub-mkimage.c: Likewise.
27229 * util/mkisofs/eltorito.c: Likewise.
27230 * util/mkisofs/exclude.h: Likewise.
27231 * util/mkisofs/hash.c: Likewise.
27232 * util/mkisofs/iso9660.h: Likewise.
27233 * util/mkisofs/joliet.c: Likewise.
27234 * util/mkisofs/mkisofs.c: Likewise.
27235 * util/mkisofs/mkisofs.h: Likewise.
27236 * util/mkisofs/multi.c: Likewise.
27237 * util/mkisofs/name.c: Likewise.
27238 * util/mkisofs/rock.c: Likewise.
27239 * util/mkisofs/tree.c: Likewise.
27240 * util/mkisofs/write.c: Likewise.
27241 * video/efi_gop.c: Likewise.
27242
009ec743
VS
272432009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
27244
27245 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
27246 size counting.
27247
0ad46fd7 272482009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
27249
27250 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
27251 * genmk.rb (class SCRIPT): Modify the target file instead of source.
27252
d3d30ea0
VS
272532009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27254
27255 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
27256 (GRUB_MOD_INIT(memrw)): Update help line.
27257
a34f5c70
VS
272582009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27259
27260 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
27261 Use grub_extcmd_t. All users updated.
27262 (options): New variable.
27263 (grub_cmd_read): Restructure for readability. Support "-v" option.
27264 (grub_cmd_write): Restructure for readability.
27265
0ad46fd7 272662009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
27267
27268 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
27269
0ad46fd7 272702009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
27271
27272 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
27273 with the actual contents of the correspondending make variable.
27274 * util/grub-mkrescue.in (pkglib_DATA): New variable.
27275 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
27276 specifying `*.lst' and `efiemu??.o'
27277
0ad46fd7 272782009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
27279
27280 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
27281 after function name.
27282 Noticed by Rene Engelhard <rene@debian.org>.
27283
dc77a799
VS
272842009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27285
27286 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
27287 (options): New variable.
27288 (iospace): Likewise.
27289 (grub_lspci_iter): List IO spaces if "-i" was given.
27290 (grub_cmd_lspci): Parse options.
27291 (GRUB_MOD_INIT(lspci)): Use extcmd.
27292 (GRUB_MOD_FINI(lspci)): Likewise.
27293
0ad46fd7 272942009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
27295
27296 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
27297 `function' keyword.
27298 Patch by Tony Mancill <tmancill@debian.org>.
27299
b5d5993b
VS
273002009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27301
27302 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
27303 (grub_uhci_portstatus): Likewise.
27304 (grub_uhci_portstatus): Add necessary delay.
11d18281 27305 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 27306
941903f2 273072009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 27308
941903f2 27309 * commands/acpi.c (options): Fix capitalizations and/or full stops.
27310 (GRUB_MOD_INIT): Likewise.
27311 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 27312 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
27313 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 27314 * commands/efi/loadbios.c (enable_rom_area): Likewise.
27315 (enable_rom_area): Likewise.
27316 (GRUB_MOD_INIT): Likewise.
27317 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27318 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
27319 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27320 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
27321 * commands/hexdump.c (options): Likewise.
27322 * commands/i386/cpuid.c (options): Likewise.
27323 (GRUB_MOD_INIT): Likewise.
27324 * commands/i386/pc/drivemap.c (options): Likewise.
27325 (GRUB_MOD_INIT): Likewise.
27326 * commands/i386/pc/halt (options): Likewise.
27327 (GRUB_MOD_INIT): Likewise.
27328 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27329 * commands/i386/pc/pxecmd.c (options): Likewise.
27330 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
27331 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
27332 * commands/keystatus.c (options): Likewise.
27333 (GRUB_MOD_INIT): Likewise.
27334 * commands/loadenv.c (options): Likewise.
27335 * commands/ls.c (options): Likewise.
27336 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27337 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27338 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27339 * commands/parttool.c (helpmsg): Likewise.
27340 * commands/probe.c (options): Likewise.
27341 * commands/read.c (GRUB_MOD_INIT): Likewise.
27342 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
27343 * commands/search.c (options): Likewise.
27344 * commands/sleep.c (options): Likewise.
27345 * commands/test.c (GRUB_MOD_INIT): Likewise.
27346 * commands/true.c (GRUB_MOD_INIT): Likewise.
27347 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
27348 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
27349 * lib/arg.c (help_options): Likewise.
e9bbb4e7 27350 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
27351 `$(XGETTEXT)'.
98a50553 27352 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 27353
0ad46fd7 273542009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 27355
ef3c2c3a 27356 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
27357 instead of specifying them explicit.
27358
7922f68b
RM
273592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27360
27361 * NEWS: Add grub-probe support for GNU/Hurd.
27362
537ce47f
RM
273632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27364
27365 * NEWS: gettext was added after 1.97.
27366
9b214e3a
RM
273672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27368
27369 * util/mkisofs/msdos_partition.h: New file (based on
27370 include/grub/msdos_partition.h).
27371 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
27372 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
27373 (ld_options, main): Recognize --protective-msdos-label.
27374 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
27375 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
27376 (padblock_write): If `use_protective_msdos_label' is set, patch a
27377 protective DOS-style label in the output image.
27378
27379 * util/grub-mkrescue.in: Use --protective-msdos-label.
27380
e9309813
RM
273812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27382
27383 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
27384 boot.
27385
0ae56929
RM
273862009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27387
27388 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
27389 variables.
27390 (ld_options, main): Recognize `--embedded-boot'.
27391 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
27392 declarations.
27393 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
27394 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
27395 (padblock_write): Likewise. Rewrite to support embedded boot image.
27396
27397 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
27398 for BIOS-based disk boot instead of only ElTorito.
27399
b15937b1
RM
274002009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27401
27402 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
27403 build (not needed for bootstrap).
27404
52cc3ce0
RM
274052009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27406
27407 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
27408 from i386-pc build (not needed for bootstrap).
27409 Rewrite a pair of strings.
27410
36f5ff04
RM
274112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27412
27413 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
27414
973c6c85 274152009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
27416
27417 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
27418
05d21547
AB
274192009-12-21 Andreas Born <futur.andy@googlemail.com>
27420
27421 * kern/env.c (grub_env_context_open): Mark exported variable for
27422 reexport.
27423
0175d51f
AB
274242009-12-21 Andreas Born <futur.andy@googlemail.com>
27425
27426 * kern/env.c (grub_env_export): Create nonexistent variables before
27427 exporting.
27428
7f39d92f 274292009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 27430
7f39d92f 27431 * include/grub/auth.h: Include `<grub/i18n.h>'.
27432 (GRUB_GET_PASSWORD): Gettextizze string.
27433 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
27434 menu_text.c.
27435 (grub_utf8_to_ucs4_alloc): Fix indentation.
27436 (grub_print_ucs4): Likewise.
27437 (grub_getstringwidth): Likewise.
27438 (print_message_indented): New declaration.
27439 * normal/auth.c: Include `<grub/i18n.h>'.
27440 (grub_auth_check_authentication): Gettexttize string.
27441 * normal/cmdline.c: Include `<grub/i18n.h>'.
27442 (grub_cmdline_get): Gettextizze.
27443 * normal/color.c: Include `<grub/i18n.h>'.
27444 (grub_parse_color_name_pair): Gettexttize strings.
27445 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
27446 string (use `print_message_indented').
27447 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
27448 `include/grub/normal.h'.
27449 (print_message_indented): Renamed to ...
27450 (grub_print_message_indented): ... this. Remove `static' qualifer (now
27451 used in normal/main.c).
27452 (print_message): Use `grub_print_message_indented' instead of
27453 `print_message_indented'.
27454 (print_timeout): Likewise.
27455 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
27456 (grub_normal_print_device_info): Gettexttize strings.
27457 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
27458
3041d898
VS
274592009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
27460
27461 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
27462 of arguments. Return number of tokens and not arguments. All users
27463 updated.
27464
de15bf8e
VS
274652009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
27466
27467 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
27468 non-MSDOS paritions.
27469
e0a6ca52
VS
274702009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
27471
27472 * include/grub/types.h (UNUSED): Removed since it conflicts with
27473 NetBSD headers. All users changed to direct __attribute__ ((unused)).
27474 Reported by Grégoire Sutre.
27475
b99518d1 274762009-12-19 Carles Pina i Estany <carles@pina.cat>
27477
27478 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
27479 (grub_print_ucs4_alloc): Likewise.
27480 (grub_getstringwidth): Likewise.
27481 * normal/main.c (grub_normal_init_page): Gettextize version string.
27482 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
27483 (getstringwidth): Renamed to ...
27484 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
27485 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
27486 (grub_print_ucs4): Remove `static' qualifer (now used in
27487 normal/main.c).
27488 * po/POTFILES: Add normal/main.c.
27489
bfd5e52b 274902009-12-19 Carles Pina i Estany <carles@pina.cat>
27491
27492 * normal/menu_text.c (STANDARD_MARGIN): New macro.
27493 (print_message_indented): Add `margin_left' and `margin_right'
27494 parameters.
27495 (print_message): Update `print_message_indented' calls. Adds '\n' to the
27496 strings.
27497 (print_timeout): Use `print_message_indented' to print the message.
27498 Deletes `second_stage' parameter.
27499 (run_menu): Update `print_timeout' calls.
27500
5a1ad2b9
VS
275012009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27502
27503 Fix console palette on OpenFirmware.
27504
27505 * term/ieee1275/ofconsole.c (MAX): Removed.
27506 (colors): Redone based on VGA palette.
27507 (grub_ofconsole_setcolor): Discard brightness bit since only 8
27508 colors are supported.
27509 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
27510
b045f00a
VS
275112009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27512
27513 Fix potential EfiEmu double prepare.
27514
27515 * efiemu/main.c (prepared): New variable
27516 (grub_efiemu_unload): Set prepare to '0'.
27517 (grub_efiemu_prepare): Return if already prepared. Set prepared.
27518
27519 set_virtual_address_map support.
27520
27521 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
27522 prototype.
27523 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
27524 prototype.
27525 (grub_efiemu_crc32): Likewise.
27526 (grub_efiemu_crc64): Likewise.
27527 (grub_efiemu_set_virtual_address_map): Likewise.
27528 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
27529 New definition.
27530 (grub_autoefi_set_virtual_address_map): Likewise.
27531 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
27532 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
27533 Restructure flow to accomodate it.
27534 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
27535 (grub_efiemu_crc): Recompute CRC32.
27536 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
27537 (efiemu_ptv_relocated): ... this. Made global. All users updated.
27538 * efiemu/symbols.c (relocated_handle): New variable.
27539 (grub_efiemu_free_syms): Free relocated_handle.
27540 (grub_efiemu_alloc_syms): Allocate relocated_handle.
27541 (grub_efiemu_write_sym_markers): New function.
27542 (grub_efiemu_set_virtual_address_map): Likewise.
27543
27544 Newer XNU parameters.
27545
27546 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
27547 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
27548 (grub_xnu_fill_devicetree): New prototype.
27549 (grub_xnu_heap_real_start): New variable.
27550 * loader/xnu.c (get_name_ptr): New function.
27551 (grub_xnu_load_driver): Fill namelen and name.
27552
27553 64-bit xnu support.
27554
27555 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
27556 and 'loader/macho64.c'.
27557 * conf/i386-pc.rmk: Likewise.
27558 * conf/x86_64-efi.rmk: Likewise.
27559 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
27560 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
27561 * include/grub/macho.h (grub_macho_segment64): New structure.
27562 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
27563 (grub_macho_size32): ... to this.
27564 (grub_macho32_get_entry_point): Renamed from ...
27565 (grub_macho_get_entry_point32): ... to this.
27566 (grub_macho_contains_macho64): New prototype.
27567 (grub_macho_size64): Likewise.
27568 (grub_macho_get_entry_point64): Likewise.
27569 (grub_macho32_load): Renamed from ...
27570 (grub_macho_load32): ... to this.
27571 (grub_macho32_filesize): Renamed from ...
27572 (grub_macho_filesize32): ... to this.
27573 (grub_macho32_readfile): Renamed from ...
27574 (grub_macho_readfile32): ... to this.
27575 (grub_macho_filesize64): New prototype.
27576 (grub_macho_readfile64): Likewise.
27577 (grub_macho_parse32): Likewise.
27578 (grub_macho_parse64): Likewise.
27579 * loader/macho.c: Split into ...
27580 * loader/machoXX.c: ... and this. Replace 32 with XX.
27581 * loader/macho32.c: New file.
27582 * loader/macho64.c: Likewise.
27583 * loader/xnu.c (grub_xnu_is_64bit): New variable.
27584 (grub_cmd_xnu_kernel): Make 32-bit only.
27585 (grub_cmd_xnu_kernel64): New function.
27586 (grub_xnu_load_driver): Support Mach-O 64.
27587 (grub_cmd_xnu_mkext): Likewise.
27588 * util/grub.d/30_os-prober.in (osx_entry): New function.
27589 Generate entries for 64-bit boot too.
27590
27591 Eliminate ad-hoc tree format in XNU and EfiEmu.
27592
27593 * efiemu/main.c (grub_efiemu_prepare): Update comment.
27594 * efiemu/pnvram.c: Rewritten to use environment variables.
27595 All users updated.
27596
27597 Inline utf16_to_utf8.
27598
27599 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
27600 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
27601 All users updated.
27602 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
27603
27604 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
27605 * commands/usbtest.c (grub_usb_get_string): ... move here.
27606 (usb_print_str): Fix error handling.
27607 * include/grub/usb.h (grub_usb_get_string): Remove.
27608
27609 UTF-8 to UTF-16 transformation.
27610
27611 * conf/common.rmk (pkglib_MODULES): Add charset.mod
27612 (charset_mod_SOURCES): New variable.
27613 (charset_mod_CFLAGS): Likewise.
27614 (charset_mod_LDFLAGS): Likewise.
27615 * include/grub/utf.h: New file.
27616 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
27617
27618 Support for device properties.
27619
27620 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
27621 (grub_xnu_devprop_device_header): Likewise.
27622 (grub_xnu_devprop_device_descriptor): Likewise.
27623 (grub_xnu_devprop_add_device): New prototype.
27624 (grub_xnu_devprop_remove_device): Likewise.
27625 (grub_xnu_devprop_remove_property): Likewise.
27626 (grub_xnu_devprop_add_property_utf8): Likewise.
27627 (grub_xnu_devprop_add_property_utf16): Likewise.
27628 (grub_cpu_xnu_init): Likewise.
27629 (grub_cpu_xnu_fini): Likewise.
27630 (grub_cpu_xnu_unload): Likewise.
27631 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
27632 (property_descriptor): Likewise.
27633 (devices): New variable.
27634 (grub_xnu_devprop_remove_property): New function.
27635 (grub_xnu_devprop_add_device): Likewise.
27636 (grub_xnu_devprop_remove_device): Likewise.
27637 (grub_xnu_devprop_add_property): Likewise.
27638 (grub_xnu_devprop_add_property_utf8): Likewise.
27639 (grub_xnu_devprop_add_property_utf16): Likewise.
27640 (hextoval): Likewise.
27641 (grub_cpu_xnu_fill_devprop): Likewise.
27642 (grub_cmd_devprop_load): Likewise.
27643 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
27644 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
27645 (cmd_devprop_load): New variable.
27646 (grub_cpu_xnu_init): New function.
27647 (grub_cpu_xnu_fini): Likewise.
27648 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
27649 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
27650 (grub_cmd_xnu_devtree): Likewise.
27651 (hextoval): New function.
27652 (unescape): Likewise.
27653 (grub_xnu_fill_devicetree): Likewise.
27654
27655 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
27656 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
27657
0945f181
VS
276582009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27659
27660 Workaround for broken ATI VBE.
27661
27662 * video/i386/pc/vbe.c (last_set_mode): New variable.
27663 (grub_vbe_set_video_mode): Set 'last_set_mode'.
27664 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
27665 (grub_video_vbe_setup): Don't check for reserved flag.
27666
0ad46fd7 276672009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
27668
27669 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
27670 the `find' command.
27671
c179ebe4
VS
276722009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
27673
27674 UUID support for HFS.
27675
27676 * fs/hfs.c (grub_hfs_uuid): New function.
27677 (grub_hfs_fs): New value .uuid.
27678 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
27679
0ad46fd7 276802009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
27681
27682 Fix a segfault with parsing unknown long options.
27683
27684 * util/grub-mkrelpath.c (options): Zero terminate it.
27685
c4a3e41a
CPE
276862009-12-13 Carles Pina i Estany <carles@pina.cat>
27687
27688 * include/grub/misc.h (grub_puts): New declaration.
27689 (grub_puts_): Likewise.
a22008a6 27690 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
27691 (grub_puts_): Likewise.
27692
2e8a7602
RM
276932009-12-13 Robert Millan <rmh.grub@aybabtu.com>
27694
27695 * util/grub-probe.c (probe): Improve error message.
27696
b50b77b9
RM
276972009-12-13 Robert Millan <rmh.grub@aybabtu.com>
27698
27699 * loader/i386/multiboot_elfxx.c
27700 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
27701 initialization.
27702
277032009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
27704
27705 Relocator framework
27706
27707 * loader/i386/xnu_helper.S: Removed. All users updated.
27708 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
27709 (relocator_mod_SOURCES): New variable.
27710 (relocator_mod_CFLAGS): Likewise.
27711 (relocator_mod_LDFLAGS): Likewise.
27712 (relocator_mod_ASFLAGS): Likewise.
27713 * conf/x86_64.rmk: Likewise.
27714 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
27715 (grub_multiboot_payload_entry_offset): Likewise.
27716 (grub_multiboot_forward_relocator): Likewise.
27717 (grub_multiboot_forward_relocator_end): Likewise.
27718 (grub_multiboot_backward_relocator): Likewise.
27719 (grub_multiboot_backward_relocator_end): Likewise.
27720 (grub_multiboot_payload_eip): New variable.
27721 (grub_multiboot_payload_orig): Likewise.
27722 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
27723 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
27724 * include/grub/i386/memory.h
27725 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
27726 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
27727 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
27728 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
27729 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
27730 * include/grub/i386/relocator.h: New file.
27731 * include/grub/x86_64/relocator.h: Likewise.
27732 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
27733 (XNU_RELOCATOR): New macro.
27734 (grub_xnu_launcher_start): Remove.
27735 (grub_xnu_launcher_end): Likewise.
27736 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
27737 (grub_xnu_heap_real_start): Remove.
27738 (grub_xnu_heap_start): Change to void *. All users updated.
27739 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
27740 * lib/i386/relocator.c: New file.
27741 * lib/i386/relocator_asm.S: Likewise.
27742 * lib/i386/relocator_backward.S: Likewise.
27743 * lib/mips/relocator.c: Likewise.
27744 * lib/mips/relocator_asm.S: Likewise.
27745 * lib/relocator.c: Likewise.
27746 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
27747 (entry): Removed.
27748 (playground): Likewise.
27749 (grub_multiboot_payload_orig): New variable.
27750 (grub_multiboot_payload_dest): Likewise.
27751 (grub_multiboot_payload_size): Likewise.
27752 (grub_multiboot_payload_eip): Likewise.
27753 (grub_multiboot_payload_esp): Likewise.
27754 (grub_multiboot_boot): Use grub_relocator32_boot.
27755 (grub_multiboot_unload): Free relocators.
27756 (grub_multiboot): Setup stack. Use relocators.
27757 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
27758 (grub_multiboot_load_elfXX): Use relocators.
27759 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
27760 (grub_multiboot_payload_size): Likewise.
27761 (grub_multiboot_payload_dest): Likewise.
27762 (grub_multiboot_payload_entry_offset): Likewise.
27763 (grub_multiboot_forward_relocator): Likewise.
27764 (grub_multiboot_backward_relocator): Likewise.
27765 (grub_multiboot_real_boot): Likewise.
27766 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
27767 (grub_xnu_entry_point): Likewise.
27768 (grub_xnu_arg1): Likewise.
27769 (grub_xnu_stack): Likewise.
27770 (grub_xnu_launch): Removed.
27771 (grub_xnu_boot_resume): New function.
27772 (grub_xnu_boot): Use relocators.
27773 * loader/i386/xnu_helper.S: Removed.
27774 * loader/xnu.c (grub_xnu_heap_start): New variable.
27775 (grub_xnu_heap_size): Likewise.
27776 (grub_xnu_heap_malloc): Use relocators.
27777 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
27778
29eb90c6
VS
277792009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
27780
27781 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
27782 anything.
27783
31027430
CPE
277842009-12-13 Carles Pina i Estany <carles@pina.cat>
27785
27786 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
27787 GRUB_ERR_NONE before calling grub_env_set.
27788
dc0c71d9
RM
277892009-12-12 Robert Millan <rmh@aybabtu.com>
27790
27791 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
27792 * genmk.rb (video): New variable.
27793 (CLEANFILES, VIDEOFILES): Add #{video}.
27794 (#{video}): New target rule.
27795 * genvideolist.sh: New file.
27796 * Makefile.in (pkglib_DATA): Add video.lst.
27797 (video.lst): New target rule.
27798 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
27799 `video.lst'.
27800 * util/grub.d/30_os-prober.in: Replace `vbe' with
27801 ${GRUB_VIDEO_BACKEND}.
27802
2a4bfcf0
RM
278032009-12-11 Robert Millan <rmh.grub@aybabtu.com>
27804
27805 * THANKS: Add David Miller.
27806
2a3aa4d5
RM
278072009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
27808
27809 libpciaccess support.
27810
27811 * Makefile.in (LIBPCIACCESS): New variable.
27812 (enable_grub_emu_pci): Likewise.
27813 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
27814 util/pci.c and commands/lspci.c.
27815 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
27816 * configure.ac (grub-emu-pci): New option.
27817 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
27818 (grub_pci_device_unmap_range): Likewise.
27819 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
27820 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
27821 (grub_pci_address_t) [!GRUB_UTIL]: New type.
27822 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
27823 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
27824 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
27825 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
27826 * include/grub/pciutils.h: New file.
27827 * util/pci.c: Likewise.
27828
0ad46fd7 278292009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
27830
27831 * util/misc.c: Don't include <errno.h> twice.
27832
0ad46fd7 278332009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
27834
27835 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
27836 name in an error message.
27837 (grub_biosdisk_rw): Likewise.
27838
2e59983c
VS
278392009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27840
27841 Eliminate NTFS 4Gib barrier.
27842
27843 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
27844 (read_run_data): Likewise.
27845 (grub_ntfs_read_run_list): Likewise.
27846 (grub_ntfs_read_block): Likewise.
27847 (grub_ntfs_iterate_dir): Likewise.
27848 (read_mft): Likewise.
27849 (read_data): Likewise.
27850 Use COM_LOG_LEN.
27851 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
27852 to avoid 64-bit division
27853 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
27854 (grub_ntfs_rlst): Use grub_disk_addr_t.
27855
71ee178a
VS
278562009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27857
27858 Eliminate grub-fstest 4Gib barrier.
27859
27860 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
27861 (read_file): Fix error reporting.
27862
2520d4b8
VS
278632009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27864
27865 Eliminate hexdump 4Gib barrier.
27866
27867 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
27868 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
27869
e1f27065
VS
278702009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27871
27872 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
27873 Fixes amarsh bug.
27874
1a0f7f45
RM
278752009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
27876
27877 Remove miscellaneous files in distclean target.
27878
27879 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
27880
c631d9fb
CW
278812009-12-09 Colin Watson <cjwatson@ubuntu.com>
27882
27883 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
27884 if they're already set. This resolves the conflict between my
27885 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
27886 fixing the --grub-probe option again.
27887 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
27888 change on 2009-10-06, so that we now once again source
27889 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
27890
7c7b6106
RM
278912009-12-08 Robert Millan <rmh.grub@aybabtu.com>
27892
27893 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
27894 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
27895 `util/devicemap.c'.
27896
e3069ec1
CPE
278972009-12-08 Carles Pina i Estany <carles@pina.cat>
27898
27899 * include/grub/misc.h (grub_printf_): New declaration.
27900 * kern/misc.c (grub_printf_): New definition.
27901 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
27902 instead of `grub_printf' and `_'.
27903 * normal/menu_entry.c (store_completion): Likewise.
27904 (run): Likewise.
27905 (grub_menu_entry_run): Likewise.
27906 * normal/menu_text.c (grub_wait_after_message): Likewise.
27907 (notify_booting): Likewise.
27908 (notify_fallback): Likewise.
27909 (notify_execution_failure): Likewise.
27910
d6ceebf1
CW
279112009-12-07 Colin Watson <cjwatson@ubuntu.com>
27912
27913 * configure.ac: Check for vasprintf.
27914 * util/misc.c (asprintf): Move allocation from here ...
27915 (vasprintf): ... to here. New function.
27916 (xasprintf): New function.
27917 * include/grub/util/misc.h (vasprintf, xasprintf): Add
27918 prototypes.
27919 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
27920 * util/grub-mkfont.c (write_font): Likewise.
27921 * util/grub-probe.c (probe): Likewise.
27922 * util/hostdisk.c (make_device_name): Likewise.
27923
de6daa8b
DM
279242009-12-06 David S. Miller <davem@sunset.davemloft.net>
27925
27926 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
27927 anything even prefixed with 'cdrom' as a cdrom.
27928
0ad46fd7 279292009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
27930
27931 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
27932 mount points.
27933
98d3dc02
CPE
279342009-12-05 Carles Pina i Estany <carles@pina.cat>
27935
27936 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
27937 grub_gettext_msg_list.
27938 (grub_gettext_gettranslation_from_position): Return const char *
27939 and not char *.
a2c1332b 27940 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
27941 returns from the list if existing there.
27942 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
27943 (grub_gettext_delete_list): Delete the list.
27944 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
27945 lang environment variable is changed.
27946 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
27947
b283f108
VS
279482009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27949
27950 Rename kernel.mod to kernel.img.
27951
27952 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
27953 (kernel_mod_EXPORTS): Rename to ...
27954 (kernel_img_EXPORTS): ... this.
27955 (kernel_mod_SOURCES): Rename to ...
27956 (kernel_img_SOURCES): ... this.
27957 (kernel_mod_HEADERS): Rename to ...
27958 (kernel_img_HEADERS): ... this. All users updated.
27959 (kernel_mod_CFLAGS): Rename to ...
27960 (kernel_img_CFLAGS): ... this.
27961 (kernel_mod_ASFLAGS): Rename to ...
27962 (kernel_img_ASFLAGS): ... this.
27963 (kernel_mod_LDFLAGS): Rename to ...
27964 (kernel_img_LDFLAGS): ... this.
27965 * conf/x86_64-efi.rmk: Likewise.
27966 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
27967 (read_kernel_image): ... this. All users updated.
27968 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
27969
69055f8a
CPE
279702009-12-05 Carles Pina i Estany <carles@pina.cat>
27971
27972 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
27973 (print_spaces): New function.
27974 (grub_print_ucs4): New function.
27975 (getstringwidth): New function.
27976 (print_message_indented): New function.
27977 (print_message): Gettexttize strings using print_message_indented.
27978 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
27979 width.
27980 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 27981 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
27982 Gettextize.
27983 * normal/menu_entry.c (store_completion): Cleanup the gettextized
27984 string.
27985 (run): Likewise.
27986 (grub_menu_entry_run): Likewise.
27987 * PO/POTFILES: Add normal/menu_entry.c.
27988
f616f51c
VS
279892009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27990
27991 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
27992
57bbe3be
CPE
279932009-12-05 Carles Pina i Estany <carles@pina.cat>
27994
27995 * util/grub-install.in: Install gettext .mo files.
27996 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
27997
013d67a1
CPE
279982009-12-05 Carles Pina i Estany <carles@pina.cat>
27999
28000 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
28001 grub_dprintf.
28002
fb954db0
RM
280032009-12-05 Robert Millan <rmh.grub@aybabtu.com>
28004
28005 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
28006 non-firmware-dependant one in realmode.S takes precedence.
28007
6b8474f8
RM
280082009-12-04 Robert Millan <rmh.grub@aybabtu.com>
28009
28010 * commands/halt.c: Replace misc arch-specific headers with
28011 `<grub/misc.h>'.
28012 * commands/reboot.c: Likewise.
28013 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
28014 `<grub/misc.h>'.
28015 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
28016 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
28017 (kernel_img_SOURCES): ... to here.
28018
28019 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
28020 * include/grub/i386/pc/init.h: Likewise.
28021 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28022 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28023
28024 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
28025
28026 * include/grub/i386/halt.h: Remove.
28027 * include/grub/i386/reboot.h: Likewise.
28028
28029 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
28030
4b2e6ca2
DM
280312009-12-03 David S. Miller <davem@sunset.davemloft.net>
28032
28033 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
28034 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
28035 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
28036 "progname.h"
28037 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28038 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28039 (usage): Add missing comma in printf.
28040
5239348f
RM
280412009-12-02 Robert Millan <rmh.grub@aybabtu.com>
28042
28043 Use the same reboot approach on i386 coreboot and qemu as we do on
28044 BIOS.
28045
28046 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
28047 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
28048 * kern/i386/reboot.c: Remove.
28049 * include/grub/i386/reboot.h (grub_reboot): Export function.
28050 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
28051 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
28052 0xf000:0xfff0 instead of 0xffff:0x0000.
28053 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
28054 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
28055
ef34cbd4
RM
280562009-11-30 Robert Millan <rmh.grub@aybabtu.com>
28057
28058 Fix $srcdir != $objdir build.
28059
28060 * Makefile.in (po/%.po): Rewrite as ...
28061 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
28062
dc9837ea
ST
280632009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
28064
28065 Fix GNU/Hurd grub-install crash.
28066 * util/grub-probe.c (probe): Try to access `path' only when it is not
28067 NULL.
28068
2f857f98
VS
280692009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28070
28071 Correct module naming.
28072
28073 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28074 (GRUB_MOD_INIT(efi_uga)): ... to this
28075 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28076 (GRUB_MOD_FINI(efi_uga)): ... to this
28077 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28078 (GRUB_MOD_INIT(efi_gop)): ... to this
28079 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28080 (GRUB_MOD_FINI(efi_gop)): ... to this
28081
c5448046
RM
280822009-11-28 Robert Millan <rmh.grub@aybabtu.com>
28083
28084 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
28085 translatable.
28086 (usage): Translate `arg' strings using gettext().
28087 Thanks to Jordi Mallach for the suggestion.
28088
c85184ad
VS
280892009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28090
28091 GOP support. Based on patch from Bean
28092 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28093
28094 * video/efi_gop.c: New file.
28095 * include/grub/efi/graphics_output.h: Likewise.
28096 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
28097 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28098 variables.
28099 * conf/x86_64-efi.rmk: Likewise.
28100
8a4c48d8
VS
281012009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28102
28103 Rename efi_fb to efi_uga.
28104
28105 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28106 'efi_uga.mod'.
28107 (efi_fb_mod_SOURCES): Rename this ...
28108 (efi_uga_mod_SOURCES): ... to this.
28109 (efi_fb_mod_CFLAGS): Rename this ...
28110 (efi_uga_mod_CFLAGS): ... to this.
28111 (efi_fb_mod_LDFLAGS): Rename this ...
28112 (efi_uga_mod_LDFLAGS): ... to this.
28113 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28114 'efi_uga.mod'.
28115 (efi_fb_mod_SOURCES): Rename this ...
28116 (efi_uga_mod_SOURCES): ... to this.
28117 (efi_fb_mod_CFLAGS): Rename this ...
28118 (efi_uga_mod_CFLAGS): ... to this.
28119 (efi_fb_mod_LDFLAGS): Rename this ...
28120 (efi_uga_mod_LDFLAGS): ... to this.
28121 * video/efi_fb.c: Move this ...
28122 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
28123
fb6c1a7b
RM
281242009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28125
28126 * po/README: New file. Explain our PO file workflow.
28127
3bc7896c
RM
281282009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28129
28130 * po/ChangeLog: Remove. Move relevant entries back to ...
28131 * ChangeLog: ... here.
28132 * po/ca.po: Remove (now handled by TLP).
28133 * po/id.po: Likewise.
28134 * po/zh_CN.po: Likewise.
28135 * Makefile.in (LINGUAS): Initialize in a way that supports
28136 empty set.
28137
9ed4841d
RM
281382009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28139
28140 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
28141 reliing on po/LINGUAS.
28142 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
28143 (po/%.po): ... this.
28144
0ad46fd7 281452009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
28146
28147 * util/i386/efi/grub-mkimage.c: Include "progname.h".
28148 (main): Use `program_name' instead of nonexistent `progname'.
28149
e30dd392
FZ
281502009-11-26 Felix Zielcke <fzielcke@z-51.de>
28151
28152 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28153 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
28154
7656de4f
RM
281552009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28156
28157 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
28158 commit.
28159 * conf/i386-efi.rmk: Likewise.
28160 * conf/i386-ieee1275.rmk: Likewise.
28161 * conf/powerpc-ieee1275.rmk: Likewise.
28162 * conf/sparc64-ieee1275.rmk: Likewise.
28163 * conf/x86_64-efi.rmk: Likewise.
28164
db77c4d4
FZ
281652009-11-26 Felix Zielcke <fzielcke@z-51.de>
28166
28167 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
28168
a755bb04
FZ
281692009-11-26 Felix Zielcke <fzielcke@z-51.de>
28170
28171 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
28172
8a4c07fd
RM
281732009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28174
28175 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
28176 (grub_mkdevicemap_SOURCES): New variable.
28177 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
28178 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
28179 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
28180 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
28181 (grub_mkdevicemap_SOURCES): Remove.
28182 * conf/i386-efi.rmk: Likewise.
28183 * conf/i386-ieee1275.rmk: Likewise.
28184 * conf/i386-pc.rmk: Likewise.
28185 * conf/powerpc-ieee1275.rmk: Likewise.
28186 * conf/sparc64-ieee1275.rmk: Likewise.
28187 * conf/x86_64-efi.rmk: Likewise.
28188 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
28189 (usage): Fix strings to use `program_name'.
28190 (main): Initialize gettext.
28191 * util/grub-editenv.c: Likewise.
28192 * util/grub-emu.c: Likewise.
28193 * util/grub-fstest.c: Likewise.
28194 * util/grub-mkdevicemap.c: Likewise.
28195 * util/grub-mkfont.c: Likewise.
28196 * util/grub-mkrelpath.c: Likewise.
28197 * util/grub-pe2elf.c: Likewise.
28198 * util/grub-probe.c: Likewise.
28199 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28200 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28201 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28202
28203 * util/misc.c: Include `"progname.h"'.
28204 (progname): Remove variable.
28205 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
28206
6f61ed55
FZ
282072009-11-25 Felix Zielcke <fzielcke@z-51.de>
28208
28209 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
28210 printf and print a newline after the menuentry header line.
28211 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28212
f022876b
FZ
282132009-11-25 Felix Zielcke <fzielcke@z-51.de>
28214
28215 autoconf >= 2.60 support $(localedir).
28216
28217 * INSTALL: Note that autoconf 2.60 is required.
28218 * configure.ac (AC_PREREQ): Bump to 2.60.
28219 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
28220 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28221
6717926e
YB
282222009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
28223
28224 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
28225 aclocal is run.
28226
08806a54
RM
282272009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28228
28229 * normal/main.c (grub_normal_read_line): Fix off-by-one
28230 buffer overflow.
28231
13b33fba
RM
282322009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28233
28234 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
28235 "parser.grub" in grub_command_execute() call.
28236
4a8572e9
CPE
282372009-11-24 Carles Pina i Estany <carles@pina.cat>
28238
28239 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
28240 * conf/i386-efi.rmk: Likewise.
28241 * conf/i386-ieee1275.rmk: Likewise.
28242 * conf/i386-pc.rmk: Likewise.
28243 * conf/powerpc-ieee1275.rmk: Likewise.
28244 * conf/sparc64-ieee1275.rmk: Likewise.
28245 * conf/x86_64-efi.rmk: Likewise.
28246 * gettext/gettex.c: Include <grub/i18n.h>.
28247 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
28248 here ...
28249 * include/grub/i18n.h: ... to here
28250 * include/grub/i18n.h: ... to here.
28251 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 28252 (grub_gettext_dummy): Move above user.
4a8572e9 28253
bee48093
FZ
282542009-11-24 Felix Zielcke <fzielcke@z-51.de>
28255
28256 * util/Makefile.in (install-local): Convert a `for' into a normal
28257 shell expansion.
28258
a031e91c
RM
282592009-11-24 Robert Millan <rmh.grub@aybabtu.com>
28260
28261 * autogen.sh: Add automake call.
28262 * config.guess: Remove.
28263 * config.sub: Likewise.
28264 * install-sh: Likewise.
28265
26bec39d
FZ
282662009-11-24 Felix Zielcke <fzielcke@z-51.de>
28267
28268 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
28269
8e2532fd
FZ
282702009-11-24 Felix Zielcke <fzielcke@z-51.de>
28271
28272 * util/Makefile.in (install-local): Convert a make `$(foreach)'
28273 function to a normal shell `for'.
28274
fefa1b7d
FZ
282752009-11-24 Felix Zielcke <fzielcke@z-51.de>
28276
28277 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28278
4501250b
FZ
282792009-11-24 Felix Zielcke <fzielcke@z-51.de>
28280
28281 * util/grub-mkrelpath.c: New file.
28282 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
28283 (grub_mkrelpath_SOURCES): New variable.
28284 * include/grub/util/misc.h: New function prototype.
28285 * util/misc.c (make_system_path_relative_to_its_root): New function.
28286
28287 * util/grub-mkconfig_lib.in (bindir): New variable.
28288 (grub_mkrelpath): Likewise.
28289 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
28290
28291 * util/probe.c (probe): Make the file path relative to its root.
28292 Change a info message to use the GRUB path. Enable again the
28293 check if we can read the file with GRUB facilities.
28294
28295 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
28296 to its root.
28297
11d9778b
FZ
282982009-11-24 Felix Zielcke <fzielcke@z-51.de>
28299
28300 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
28301 platform.
28302
4465287d
FZ
283032009-11-24 Felix Zielcke <fzielcke@z-51.de>
28304
28305 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
28306 strncmp().
28307
62b47f22
FZ
283082009-11-24 Felix Zielcke <fzielcke@z-51.de>
28309
28310 * util/getroot.c (grub_util_is_dmraid): New function.
28311 (grub_util_get_dev_abstraction): Treat dmraid and multipath
28312 devices as normal ones, not as LVM.
28313
1eafb9b9 283142009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
28315
28316 * conf/common.rmk: Add grub-gettext_lib target and updates
28317 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
28318 LDFLAGS.
28319 * gettext/gettext.c: New file. (Reads mo files).
28320 * include/grub/file.h (grub_file_pread): New prototype.
28321 * include/grub/i18n.h (_): New prototype.
28322 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
28323 prototypes.
28324 * kern/misc.c (grub_gettext_dummy): New function.
28325 * normal/menu_text.c: Include <grub/i18n.h>.
28326 * normal/menu_text.c (print_timeout): Gettexttize string.
28327 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
28328 * po/POTFILES: Add `normal/menu_text.c'.
28329 * po/ca.po: Add new translations.
c3ea6bd4
CPE
28330 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
28331 gettext module and defines locale_dir and lang in grub.cfg.
28332 * NEWS: Add gettext support.
28333
0fdb2568
RM
283342009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28335
28336 * util/hostdisk.c: Include `<grub/i18n.h>'.
28337 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
28338 (make_device_name): Rewrite using asprintf.
28339 (convert_system_partition_to_system_disk): Replace 0 with NULL.
28340 (find_system_device): If a device is not found, generate one just
28341 by reusing the OS path name.
28342 (read_device_map): Make it permissible for device.map not to exist.
28343
f515aa62
RM
283442009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28345
28346 * script/sh/execute.c: Move from here ...
28347 * script/execute.c: ... to here. Update all users.
28348 * script/sh/function.c: Move from here ...
28349 * script/function.c: ... to here. Update all users.
28350 * script/sh/lexer.c: Move from here ...
28351 * script/lexer.c: ... to here. Update all users.
28352 * script/sh/main.c: Move from here ...
28353 * script/main.c: ... to here. Update all users.
28354 * script/sh/parser.y: Move from here ...
28355 * script/parser.y: ... to here. Update all users.
28356 * script/sh/script.c: Move from here ...
28357 * script/script.c: ... to here. Update all users.
28358
f84b481b
RM
283592009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28360
28361 * configure.ac: Detect all `emu' platforms. Define
28362 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
28363 --enable-grub-emu logic. Disable include/grub/machine
28364 symlink on `emu' platforms.
28365
28366 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
28367 * gensymlist.sh.in: Likewise.
28368
28369 * include/grub/i386/coreboot/machine.h: Remove file.
28370 * include/grub/i386/efi/machine.h: Likewise.
28371 * include/grub/i386/ieee1275/machine.h: Likewise.
28372 * include/grub/i386/pc/machine.h: Likewise.
28373 * include/grub/i386/qemu/machine.h: Likewise.
28374 * include/grub/powerpc/ieee1275/machine.h: Likewise.
28375 * include/grub/sparc64/ieee1275/machine.h: Likewise.
28376 * include/grub/x86_64/efi/machine.h: Likewise.
28377
28378 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
28379 * commands/halt.c: Likewise.
28380 * commands/reboot.c: Likewise.
28381 * include/grub/autoefi.h: Likewise.
28382 * include/grub/i386/at_keyboard.h: Likewise.
28383 * include/grub/i386/kernel.h: Likewise.
28384 * include/grub/i386/loader.h: Likewise.
28385 * include/grub/i386/pc/memory.h: Likewise.
28386 * kern/dl.c: Likewise.
28387 * kern/i386/coreboot/init.c: Likewise.
28388 * loader/i386/bsd.c: Likewise.
28389 * loader/i386/linux.c: Likewise.
28390 * loader/multiboot_loader.c: Likewise.
28391 * term/i386/pc/serial.c: Likewise.
28392 * term/usb_keyboard.c: Likewise.
28393
28394 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
28395 `<grub/machine/machine.h>'
28396 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
28397 * util/misc.c: Remove `<grub/machine/machine.h>' and
28398 `<grub/machine/time.h>'.
28399
28400 * Makefile.in (enable_grub_emu): Remove variable.
28401 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
28402
28403 * conf/any-emu.rmk: New file.
28404 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
28405 (grub_emu_init.c): Move from here ...
28406 * conf/any-emu.rmk: ... to here.
28407
28408 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
28409 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
28410 * conf/any-emu.rmk: ... to here.
28411
4efeab03
RM
284122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28413
28414 * include/grub/parser.h (grub_parser_register): Document need
28415 of `name' parameter.
28416 * normal/main.c (grub_normal_read_line): Simplify prompt string.
28417 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
28418 "sh" to "grub".
28419
ea1dd8bf
RM
284202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28421
28422 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
28423 `$(XGETTEXT)'.
28424 * include/grub/i18n.h (N_): New macro.
28425 * util/mkisofs/mkisofs.h: Likewise.
28426 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
28427 around N_().
28428 (usage): Use gettext() to translate help strings when printing them.
28429
0c140626
RM
284302009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28431
28432 Based on patch from Bean
28433 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28434
28435 * video/efi_fb.c: New file.
28436 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
28437 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28438 variables.
28439 * conf/x86_64-efi.rmk: Likewise.
28440
87d58298
RM
284412009-11-22 Robert Millan <rmh.grub@aybabtu.com>
28442
28443 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
28444 * util/i386/pc/grub-setup.c: Likewise.
28445
994cc3a3
ST
284462009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
28447
28448 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
28449 <hurd/fs.h>
28450 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
28451 file_get_storage_info to implement grub_guess_root_device.
28452
26a61d6a
FZ
284532009-11-21 Felix Zielcke <fzielcke@z-51.de>
28454
28455 * Makefile.in (target): Use make's builtin $(shell) function
28456 instead of calling directly $(SHELL) to create the locale directories,
28457 inside the $(foreach) function.
28458
74ff1dd5
FZ
284592009-11-21 Felix Zielcke <fzielcke@z-51.de>
28460
28461 * util/grub-mkrescue.in: Print an error and usage if output option
28462 has not been given.
28463
0b787d0e
FZ
284642009-11-21 Felix Zielcke <fzielcke@z-51.de>
28465
28466 Patch from Loïc Minier <loic.minier@ubuntu.com>.
28467 * util/grub.d/30_os-prober.in: Cope with Linux entries where
28468 root and /boot are on different devices.
28469
1164b270
RM
284702009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28471
28472 Fix build for srcdir != objdir.
28473
28474 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
28475 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
28476 $(srcdir).
28477 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
28478 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
28479 reference for input.
28480
13774a2f
RM
284812009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28482
28483 * util/grub-mkrescue.in: Use source directory direcly (without copiing
28484 or hardlinking it). Remove -J option, Joliet is not compatible with
28485 multiple source directories.
28486
efda854e
RM
284872009-11-21 Carles Pina i Estany <carles@pina.cat>
284882009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28489
28490 * util/grub-mkrescue.in: Recognize `--override-directory' option.
28491 (process_input_dir): New function. Process an arbitrary input
28492 directory.
28493 Misc adjustments to support both "override mode" and system-wide mode.
28494
6c09890c
FZ
284952009-11-20 Felix Zielcke <fzielcke@z-51.de>
28496
28497 * configure.ac (UNIFONT_BDF): Rename to ...
28498 (FONT_SOURCE): ... this. Update all users.
28499
a797824f
FZ
285002009-11-20 Felix Zielcke <fzielcke@z-51.de>
28501
28502 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
28503 to the list of unifont files to look for.
28504
cd4f42b0
RM
285052009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28506
28507 Patch from Joe Auricchio <jauricchio@gmail.com>
28508 * commands/minicmd.c (grub_mini_cmd_clear): New function.
28509 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
28510 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
28511
393c783d
FZ
285122009-11-19 Felix Zielcke <fzielcke@z-51.de>
28513
28514 * Makefile.in (install-local): Add a missing backslash.
28515
b2f1e327
FZ
285162009-11-19 Felix Zielcke <fzielcke@z-51.de>
28517
28518 * include/grub/x86_64/io.h: New file.
28519
f577f7a0
RM
285202009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28521
28522 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
28523 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
28524 Include `"progname.h"'.
28525 (main): Initialize gettext.
28526 * util/i386/pc/grub-setup.c: Gettexttize.
28527 * util/i386/pc/grub-mkimage.c: Likewise.
28528
28529 * Makefile.in (po/*.po): Redefine as ...
28530 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
28531
3bc7896c
RM
28532 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
28533
c37943b6
RM
285342009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28535
28536 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
28537 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
28538 (program_name): Remove.
28539 (main): Initialize gettext support.
6323f705
RM
28540 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
28541 Include `<libintl.h>'.
28542 (_): New macro.
c37943b6
RM
28543
28544 * util/mkisofs/eltorito.c: Gettexttize.
28545 * util/mkisofs/joliet.c: Likewise.
28546 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
28547 * util/mkisofs/multi.c: Likewise.
28548 * util/mkisofs/rock.c: Likewise.
28549 * util/mkisofs/tree.c: Likewise.
28550 * util/mkisofs/write.c: Likewise.
28551
3bc7896c
RM
28552 * po/POTFILES: Update with new files.
28553
5ce77c6e
RM
285542009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28555
28556 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
28557 * util/mkisofs/iso9660.h: Likewise.
28558 * util/mkisofs/joliet.c: Likewise.
28559 * util/mkisofs/mkisofs.c: Likewise.
28560 * util/mkisofs/mkisofs.h: Likewise.
28561 * util/mkisofs/rock.c: Likewise.
28562 * util/mkisofs/tree.c: Likewise.
28563 * util/mkisofs/write.c: Likewise.
28564
28565 * util/mkisofs/eltorito.c (rcsid): Remove.
28566 * util/mkisofs/hash.c: Likewise.
28567 * util/mkisofs/joliet.c: Likewise.
28568 * util/mkisofs/name.c: Likewise.
28569 * util/mkisofs/rock.c: Likewise.
28570 * util/mkisofs/tree.c: Likewise.
28571 * util/mkisofs/write.c: Likewise.
28572
1dabbc77
RM
285732009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28574
28575 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
28576 instead of static allocation.
28577 * util/mkisofs/match.h: Likewise.
28578
633877cb
RM
285792009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28580
3bc7896c
RM
28581 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
28582 and `util/grub.d/10_linux.in'.
633877cb
RM
28583 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
28584 translatable Shell files.
28585
af1c0c85
RM
285862009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28587
28588 * Makefile.in ($(srcdir)/aclocal.m4): New target.
28589
769ae37b
RM
285902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28591
28592 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 28593 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
28594 * util/grub.d/10_kfreebsd.in (bindir): New variable.
28595 Add gettext initialization.
28596 (kfreebsd_entry): Make menuentry output translatable.
28597
285982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28599
28600 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
28601 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
28602 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
28603 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
28604 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 28605 * po/LINGUAS: New file.
769ae37b
RM
28606
286072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28608
28609 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
28610 other things).
28611 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
28612 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
28613 bindtextdomain() calls for gettext initialization.
28614
286152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28616
28617 * gnulib/progname.c: New file (imported from Gnulib).
28618 * gnulib/progname.h: Likewise.
28619 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28620 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
28621 (usage): Replace `progname' with `program_name'.
28622 (main): Use set_program_name() for program name initialization.
28623
286242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28625
28626 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
28627 from here ...
28628 * Makefile.in (CPPFLAGS): ... to here.
28629
286302009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28631
28632 * aclocal.m4: Move from here ...
28633 * acinclude.m4: ... to here.
28634 * autogen.sh: Add call to `aclocal'.
28635 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
28636
286372009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28638
28639 * Makefile.in (CLEANFILES): Add `po/*.mo'.
28640 (LINGUAS): New variable.
28641 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
28642 (install-local): Install MO files.
28643 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
28644 * include/grub/i18n.h: New file.
3bc7896c
RM
28645 * po/POTFILES: New file.
28646 * po/ca.po: New file.
769ae37b
RM
28647 * util/grub.d/10_linux.in (bindir): New variable.
28648 Add gettext initialization.
28649 (linux_entry): Make menuentry output translatable.
28650 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
28651 (usage): Make --help output translatable.
28652 (main): Initialize gettext.
28653
02c0a6ad
RM
286542009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28655
28656 * import_gcry.py: New file (written by Vladimir with minor
28657 adjustments).
28658 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
28659 ciphers.
28660 * INSTALL: Document that Python is required for bootstrap.
28661
286622009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28663
28664 Import ciphers from libgcrypt 1.4.4.
28665
28666 * lib/libgcrypt/cipher/ChangeLog
28667 * lib/libgcrypt/cipher/ac.c
28668 * lib/libgcrypt/cipher/arcfour.c
28669 * lib/libgcrypt/cipher/bithelp.h
28670 * lib/libgcrypt/cipher/blowfish.c
28671 * lib/libgcrypt/cipher/camellia-glue.c
28672 * lib/libgcrypt/cipher/camellia.c
28673 * lib/libgcrypt/cipher/camellia.h
28674 * lib/libgcrypt/cipher/cast5.c
28675 * lib/libgcrypt/cipher/cipher.c
28676 * lib/libgcrypt/cipher/crc.c
28677 * lib/libgcrypt/cipher/des.c
28678 * lib/libgcrypt/cipher/dsa.c
28679 * lib/libgcrypt/cipher/ecc.c
28680 * lib/libgcrypt/cipher/elgamal.c
28681 * lib/libgcrypt/cipher/hash-common.c
28682 * lib/libgcrypt/cipher/hash-common.h
28683 * lib/libgcrypt/cipher/hmac-tests.c
28684 * lib/libgcrypt/cipher/md.c
28685 * lib/libgcrypt/cipher/md4.c
28686 * lib/libgcrypt/cipher/md5.c
28687 * lib/libgcrypt/cipher/primegen.c
28688 * lib/libgcrypt/cipher/pubkey.c
28689 * lib/libgcrypt/cipher/rfc2268.c
28690 * lib/libgcrypt/cipher/rijndael-tables.h
28691 * lib/libgcrypt/cipher/rijndael.c
28692 * lib/libgcrypt/cipher/rmd.h
28693 * lib/libgcrypt/cipher/rmd160.c
28694 * lib/libgcrypt/cipher/rsa.c
28695 * lib/libgcrypt/cipher/seed.c
28696 * lib/libgcrypt/cipher/serpent.c
28697 * lib/libgcrypt/cipher/sha1.c
28698 * lib/libgcrypt/cipher/sha256.c
28699 * lib/libgcrypt/cipher/sha512.c
28700 * lib/libgcrypt/cipher/tiger.c
28701 * lib/libgcrypt/cipher/twofish.c
28702 * lib/libgcrypt/cipher/whirlpool.c
28703
af2f93ac
RM
287042009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28705
28706 Fix build for systems without error().
28707
28708 * gnulib/error.c: New file (imported from Gnulib).
28709 * gnulib/error.h: Likewise.
28710 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
28711 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
28712 (this variable is now used by error()).
28713
73fb3dd5
FZ
287142009-11-16 Felix Zielcke <fzielcke@z-51.de>
28715
814f5e96
FZ
28716 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
28717 instead of relying that char is signed.
73fb3dd5 28718
a691ca33
VS
287192009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
28720
28721 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
28722 blocksize different from specified.
28723 (grub_pxefs_read): Likewise.
28724
2af8f0f4
FZ
287252009-11-16 Felix Zielcke <fzielcke@z-51.de>
28726
28727 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
28728
28729 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
28730 (grub_ata_readwrite): Likewise. Update 2 format strings.
28731 (grub_atapi_read): Likewise.
28732
28733 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
28734 * conf/i386.rmk (pkglib_MODULES): ... to here ...
28735 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
28736 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
28737 (ata_mod_LDFLAGS): Move from here ...
28738 * conf/i386.rmk: ... to here ...
28739 * conf/x86_64-efi.rmk: ... and here.
28740 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
28741 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
28742
83bdecaf
RM
287432009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28744
28745 Relicense multiboot.h, with RMS' blessing.
28746
28747 * include/multiboot.h: Change to X11 license.
28748
fd6fd3d7
RM
287492009-11-15 Robert Millan <rmh.grub@aybabtu.com>
28750
28751 Support --version in grub-mkisofs.
28752
28753 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
28754 (OPTION_VERSION): New macro.
28755 (ld_options): Recognize --version.
28756 (usage): Move `program_name' from here ...
28757 (program_name): ... to here. Add `static' qualifier.
28758 (main): Recognize `OPTION_VERSION'.
28759
16a88c49
FZ
287602009-11-15 Felix Zielcke <fzielcke@z-51.de>
28761
28762 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
28763 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
28764
a4158476
RM
287652009-11-14 Robert Millan <rmh.grub@aybabtu.com>
28766
28767 Fix help2man generation for mkisofs.
28768
28769 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
28770 (usage): Send output to stdout (rather than stderr).
28771
fc2208b0
RM
287722009-11-14 Robert Millan <rmh.grub@aybabtu.com>
28773
28774 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
28775 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
28776 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
28777 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
28778 (bin_SCRIPTS): Add `grub-mkfloppy'.
28779 (grub_mkfloppy_SOURCES): New variable.
28780
28781 * util/grub-mkrescue.in: New file.
28782 * util/i386/pc/grub-mkfloppy.in: New file.
28783
28784 * util/i386/coreboot/grub-mkrescue.in: Remove.
28785 * util/i386/pc/grub-mkrescue.in: Remove.
28786
8d0edf4a
RM
287872009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28788
28789 * include/grub/multiboot.h (struct grub_multiboot_header): Move
28790 from here ...
28791 * include/multiboot.h (struct multiboot_header): ... to here. Update
28792 all users.
28793 * include/grub/multiboot.h (struct grub_multiboot_info): Move
28794 from here ...
28795 * include/multiboot.h (struct multiboot_info): ... to here. Update
28796 all users.
28797 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
28798 from here ...
28799 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
28800 Update all users.
28801 * include/grub/multiboot.h (struct grub_mod_list): Move
28802 from here ...
28803 * include/multiboot.h (struct multiboot_mod_list): ... to here.
28804 Update all users.
28805
a73f5969
RM
288062009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28807
28808 * include/multiboot2.h (multiboot_word): Rename from this ...
28809 (multiboot2_word): ... to this. Update all users.
28810 (multiboot_header): Rename from this ...
28811 (multiboot2_header): ... to this. Update all users.
28812 (multiboot_tag_header): Rename from this ...
28813 (multiboot2_tag_header): ... to this. Update all users.
28814 (multiboot_tag_start): Rename from this ...
28815 (multiboot2_tag_start): ... to this. Update all users.
28816 (multiboot_tag_name): Rename from this ...
28817 (multiboot2_tag_name): ... to this. Update all users.
28818 (multiboot_tag_module): Rename from this ...
28819 (multiboot2_tag_module): ... to this. Update all users.
28820 (multiboot_tag_memory): Rename from this ...
28821 (multiboot2_tag_memory): ... to this. Update all users.
28822 (multiboot_tag_unused): Rename from this ...
28823 (multiboot2_tag_unused): ... to this. Update all users.
28824 (multiboot_tag_end): Rename from this ...
28825 (multiboot2_tag_end): ... to this. Update all users.
28826
1c8927f0
RM
288272009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28828
28829 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
28830 this platform we should support Multiboot1 first.
28831
28832 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28833 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
28834 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
28835
6e1e0d89
RM
288362009-11-12 Robert Millan <rmh.grub@aybabtu.com>
28837
28838 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
28839 of write calls (converting them to fwrite() if they aren't already).
28840 (get_torito_desc): Likewise.
28841 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
28842
7f2b34d8
RM
288432009-11-12 Robert Millan <rmh.grub@aybabtu.com>
28844
28845 * util/i386/pc/grub-install.in: Move from here ...
28846 * util/grub-install.in: ... to here. Update all users.
28847
c0ef3311
CW
288482009-11-11 Colin Watson <cjwatson@ubuntu.com>
28849
28850 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
28851
e1f240ff
RM
288522009-11-11 Robert Millan <rmh.grub@aybabtu.com>
28853
28854 Support for El Torito without floppy emulation.
28855
28856 * util/mkisofs/eltorito.c: Include `<errno.h>'.
28857 (init_boot_catalog): Improve error handling.
28858 (get_torito_desc): Don't use floppy emulation unless requested by
28859 user. Patch boot information table when requested via
28860 `-boot-info-table'.
28861 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
28862 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
28863 (use_boot_info_table): New variables.
28864 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
28865 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
28866 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
28867 `--eltorito-emul-floppy'.
28868 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
28869 and `OPTION_ELTORITO_EMUL_FLOPPY'.
28870 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
28871 (use_boot_info_table, get_731): New prototypes.
28872 * util/mkisofs/write.c (get_731): New function.
28873
af7d4de5
FZ
288742009-11-11 Felix Zielcke <fzielcke@z-51.de>
28875
28876 Fix the generation of the man page.
28877
28878 * util/pc/i386/grub-install.in: Source
28879 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28880
2c55dbc0
RM
288812009-11-11 Robert Millan <rmh.grub@aybabtu.com>
28882
28883 Large file support for grub-mkisofs.
28884
28885 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
28886 * util/mkisofs/mkisofs.c (next_extent, last_extent)
28887 (session_start): Upgrade type to `uint64_t'. Update all users.
28888 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
28889 (struct directory_entry): Upgrade type of `starting_block' and
28890 `size' to `uint64_t'. Update all users.
28891 (struct deferred): Remove unused structure.
28892 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
28893 Update all users.
28894 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
28895 file is larger than `UINT32_MAX'.
28896 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
28897 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
28898 return value.
28899 (struct deferred_write): Upgrade type of `extent' and `size' to
28900 `uint64_t'. Update all users.
28901 (last_extent_written): Upgrade type to `uint64_t'. Update all
28902 users.
28903 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
28904 Update all users. Upgrade type of `remain' to `int64_t' and
28905 `use' to `size_t'. Use error() to handle fread() errors.
28906 (write_files): Rely on write_one_file() rather than calling
28907 xfwrite() directly.
28908
6a9cead5
FZ
289092009-11-09 Felix Zielcke <fzielcke@z-51.de>
28910
28911 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
28912
4825d790
RM
289132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28914
28915 * util/mkisofs/fnmatch.c: Remove.
28916 * util/mkisofs/getopt1.c: Likewise.
28917 * util/mkisofs/getopt.c: Likewise.
28918 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
28919 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
28920 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
28921 `gnulib/getopt1.c' and `gnulib/getopt.c'.
28922 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
28923
28924 * configure.ac: Detect `mingw32msvc' host_os.
28925 Check for lstat(), getuid() and getgid().
28926
28927 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
28928 instances of `u_char' with `uint8_t'.
28929
28930 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
28931 [!HAVE_GETUID] (getuid): New function (stub).
28932 [!HAVE_GETGID] (getgid): Likewise.
28933 [!HAVE_LSTAT] (lstat): Likewise.
28934 [!S_IROTH] (S_IROTH): New macro (dummy).
28935 [!S_IRGRP] (S_IRGRP): Likewise.
28936
84b860d8
RM
289372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28938
28939 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
28940 conditional expression).
28941
66e9b712
RM
289422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28943
28944 Import from Gnulib.
28945
28946 * gnulib/fnmatch.c: New file.
28947 * gnulib/fnmatch.h: Likewise.
28948 * gnulib/fnmatch_loop.c: Likewise.
28949 * gnulib/getopt.c: Likewise.
28950 * gnulib/getopt.h: Likewise.
28951 * gnulib/getopt1.c: Likewise.
28952 * gnulib/getopt_int.h: Likewise.
28953 * gnulib/gettext.h: Likewise.
28954
34f4a5b0
RM
289552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28956
28957 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
28958 * normal/handler.c (read_handler_list): Likewise.
28959
ac451143
RM
289602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28961
28962 Misc cleanup.
28963
28964 * kern/command.c (grub_register_command_prio): Use
28965 grub_zalloc() instead of explicitly zeroing data.
28966 * kern/list.c: Include `<grub/mm.h>'.
28967 (grub_named_list_find): Replace `0' with `NULL'.
28968 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
28969 (fs_module_list): Change type to `grub_named_list_t'. Update all
28970 users.
28971 * normal/dyncmd.c (read_command_list): Add space between function
28972 call and parenthesis.
28973 * normal/handler.c (read_handler_list): Likewise.
28974
4089b167
RM
289752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28976
28977 * normal/auth.c (punishment_delay): Moved from here ...
28978 (grub_auth_strcmp): ... to here (inside function).
28979
325f5037
RM
289802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28981
28982 * include/grub/list.h (struct grub_named_list): Remove `const'
28983 qualifier from `name'.
28984 (struct grub_prio_list): Likewise.
28985
7aea29a3
RM
289862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28987
28988 * normal/auth.c: Include `<grub/time.h>'.
28989 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
28990
3fd6f044
RM
289912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28992
28993 * normal/auth.c (punishment_delay): New variable.
28994 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
28995 (grub_auth_check_authentication): Punish failed login attempts with
28996 an incremental (2^N) delay.
28997
a4cd68e4
RM
289982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28999
29000 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
29001 path with $(srcdir).
29002
7ad12f43
VS
290032009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29004
29005 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
29006
c1129f03
RM
290072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29008
29009 * util/i386/coreboot/grub-mkrescue.in: New file.
29010 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
29011 variables.
29012
29013 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
29014 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
29015 * configure.ac: Add header and function checks to satisfy grub-mkisofs
29016 requirements.
29017 * util/mkisofs/defaults.h: New file.
29018 * util/mkisofs/eltorito.c: Likewise.
29019 * util/mkisofs/exclude.h: Likewise.
29020 * util/mkisofs/fnmatch.c: Likewise.
29021 * util/mkisofs/getopt.c: Likewise.
29022 * util/mkisofs/getopt1.c: Likewise.
29023 * util/mkisofs/hash.c: Likewise.
29024 * util/mkisofs/include/fctldefs.h: Likewise.
29025 * util/mkisofs/include/mconfig.h: Likewise.
29026 * util/mkisofs/include/prototyp.h: Likewise.
29027 * util/mkisofs/include/statdefs.h: Likewise.
29028 * util/mkisofs/iso9660.h: Likewise.
29029 * util/mkisofs/joliet.c: Likewise.
29030 * util/mkisofs/match.c: Likewise.
29031 * util/mkisofs/match.h: Likewise.
29032 * util/mkisofs/mkisofs.c: Likewise.
29033 * util/mkisofs/mkisofs.h: Likewise.
29034 * util/mkisofs/multi.c: Likewise.
29035 * util/mkisofs/name.c: Likewise.
29036 * util/mkisofs/rock.c: Likewise.
29037 * util/mkisofs/tree.c: Likewise.
29038 * util/mkisofs/write.c: Likewise.
29039
ec8bb77d
VS
290402009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29041
29042 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
29043 being insecure.
29044
3716b12c
RM
290452009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29046
29047 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
29048 `grub-mkimage' (and use $0 when possible).
29049
b97b7b91
RM
290502009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29051
29052 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
29053 error message for excessively large memory map.
29054
04114812
RM
290552009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29056
29057 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
29058 executable bit.
29059
e4eb2373
RM
290602009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29061
29062 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
29063 message for coreboot users.
29064
c926e1d5 290652009-11-07 Robert Millan <rmh.grub@aybabtu.com>
29066
29067 Fix build with GNU gold.
29068
29069 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
29070 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
29071 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
29072 link addresses.
29073 * aclocal.m4: Likewise.
29074
86e5b1db 290752009-11-04 Felix Zielcke <fzielcke@z-51.de>
29076
29077 * configure.ac (AC_PREREQ): Bump to 2.59d.
29078 * INSTALL: Make it more clear when Autoconf and Ruby are
29079 needed and when to run `./autogen.sh'.
29080
246cd78f 290812009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
29082
29083 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
29084 OSes.
29085
4f9dfb37 290862009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29087
29088 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
29089
b82bd5e1 290902009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29091
29092 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
29093 giving it to GNU Mach.
29094
ff1a9bca 290952009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29096
29097 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
29098 GNU partition number to get internal GRUB partition number.
29099
61697d9c 291002009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29101
29102 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
29103 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
29104
a50569e1 291052009-11-01 Robert Millan <rmh.grub@aybabtu.com>
29106
29107 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
29108 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
29109 case.
29110
5b153867 291112009-11-01 Felix Zielcke <fzielcke@z-51.de>
29112
29113 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
29114
d9e2cd70 291152009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29116
29117 Fix build problem.
29118
29119 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
29120 `-isystem=$(srcdir)/include'.
29121
805111a4 291222009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29123
29124 * util/i386/pc/grub-install.in: Remove hint that device.map should be
29125 checked (grub-install doesn't currently rely on it).
29126
fa6e945f 291272009-10-29 Robert Millan <rmh.grub@aybabtu.com>
29128
29129 Revert SVN r2660.
29130
29131 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
29132 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29133 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
29134 * conf/i386-ieee1275.rmk: Likewise.
29135 * conf/i386-pc.rmk: Likewise.
29136 * conf/powerpc-ieee1275.rmk: Likewise.
29137 * conf/sparc64-ieee1275.rmk: Likewise.
29138 * conf/x86_64-efi.rmk: Likewise.
29139
cee15086 291402009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29141
29142 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
29143
95b9239e 291442009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29145
29146 * include/grub/misc.h: Stop checking for APPLE_CC.
29147
2ed19dfd 291482009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29149
29150 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
29151 doesn't cause an infinite call loop.
29152
fdcdde19 291532009-10-28 Felix Zielcke <fzielcke@z-51.de>
29154
29155 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
29156 strings.
29157
cefabfe1 291582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29159
29160 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
29161 variable.
29162 * Makefile.in: Likewise.
29163
ed96ab6d 291642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29165
29166 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
29167
0579b753 291682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29169
29170 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
29171
478df409 291722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29173
29174 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
29175
083d1679 291762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29177
29178 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
29179 from here ...
29180 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
29181
5947ae32 291822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29183
29184 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
29185 in $(MAKEINFO) invocation. This makes it clear in output that
29186 errors are being ignored.
29187
94180ff6 291882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29189
29190 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
29191 from here ...
29192 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29193 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
29194 * conf/i386-ieee1275.rmk: Likewise.
29195 * conf/i386-pc.rmk: Likewise.
29196 * conf/powerpc-ieee1275.rmk: Likewise.
29197 * conf/sparc64-ieee1275.rmk: Likewise.
29198 * conf/x86_64-efi.rmk: Likewise.
29199
9031b03a 292002009-10-26 Colin Watson <cjwatson@ubuntu.com>
29201
29202 * util/grub-editenv.c (main): If only a command is given, use
29203 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
29204 (usage): FILENAME is now optional and has a default.
29205
e4f6809b 292062009-10-26 Colin Watson <cjwatson@ubuntu.com>
29207
29208 Improve grub-mkconfig performance when there are several menu
29209 entries on a single filesystem.
29210
29211 * util/grub.d/10_linux.in (linux_entry): Cache the output of
29212 prepare_grub_to_access_device.
29213 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29214 * util/grub.d/30_os-prober.in: Likewise.
29215
67937d4d 292162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29217
29218 * util/grub.d/10_freebsd.in: Remove.
29219 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
29220 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
29221
ee3756cc 292222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29223
5c35048e 29224 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 29225
4dea1c6f 292262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29227
29228 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
29229 grub_util_error() call.
29230
042484d7 292312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29232
29233 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
29234 `reserved_first_sector' member.
29235 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
29236 `reserved_first_sector' to 1.
29237 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
29238 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
29239 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
29240 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
29241 filesystems which begin at first sector.
29242 (options): New option --skip-fs-probe.
29243 (main): Handle --skip-fs-probe and pass it to setup().
29244
d64448a7 292452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29246
29247 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
29248 (memset): Fix function prototype.
29249
508d42ec 292502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
292512009-10-25 Vasily Averin <vvs@parallels.com>
29252
29253 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
29254 `dirent.direntlen == 0'.
29255
b240e30c 292562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29257
29258 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
29259 `cpio'.
29260 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
29261
346e7fbe 292622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29263
29264 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
29265 `__trampoline_setup' and `__ucmpdi2'.
29266 * include/grub/powerpc/libgcc.h: Only export symbols for functions
29267 that libgcc provides.
29268
cdb308b0 292692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29270
29271 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
29272 * include/grub/sparc64/libgcc.h (memset): Likewise.
29273 * include/grub/misc.h (memset, memcmp): New function prototypes.
29274
fb26abc2 292752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29276
29277 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
29278 `cpio'.
29279 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
29280
f6693890 292812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29282
29283 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
29284 * docs/grub.cfg: Compensate for recent change in multiboot
29285 loader (since 2009-08-14 it won't pass filename to payload).
29286 * util/grub.d/10_hurd.in: Likewise.
29287
0933cdc0 292882009-10-21 Felix Zielcke <fzielcke@z-51.de>
29289
29290 * config.guess: Update to latest version from config git
29291 repository.
29292 * config.sub: Likewise.
29293
3b2fe8c2 292942009-10-20 Robert Millan <rmh.grub@aybabtu.com>
29295
29296 Fix build on sparc64.
29297
29298 * configure.ac: Perform checks for libgcc symbols before
29299 adding `-nostdlib' to LDFLAGS.
29300
46695a62 293012009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29302
29303 Let user specify OpenBSD root device.
29304
29305 * loader/i386/bsd.c (openbsd_root): New variable.
29306 (openbsd_opts): New option 'root'.
29307 (OPENBSD_ROOT_ARG): New macro.
29308 (grub_openbsd_boot): Use 'openbsd_root'.
29309 (grub_cmd_openbsd): Fill 'openbsd_root'.
29310
d2b6b7fc 293112009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29312
29313 * NEWS: Misc adjustments.
29314
421bd7ac 293152009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29316
29317 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
29318
f1d29d87 293192009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29320
29321 * configure.ac: Bump version to 1.97.
29322
6f3cd880 293232009-10-16 Colin Watson <cjwatson@ubuntu.com>
29324
29325 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
29326 -mno-3dnow on x86 architectures. Some toolchains enable these
29327 features by default, but they rely on registers that aren't enabled
29328 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
29329
035f7122 293302009-10-15 Robert Millan <rmh.grub@aybabtu.com>
29331
29332 Make entry text a bit more readable.
29333
29334 * util/grub.d/10_linux.in: Add `with' before `Linux'.
29335
44998e58 293362009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29337
29338 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
29339
cd2851b3 293402009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29341
29342 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
29343 operations.
29344
c6f3b249 293452009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29346
29347 * configure.ac: Add missing dollar.
29348
6b5886ba 293492009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29350
29351 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
29352
29353 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
29354 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
29355 exports.
29356 * include/grub/sparc64/libgcc.h: Likewise. Use
29357 preprocessor conditionals.
29358
e9d66f6d 293592009-10-14 Robert Millan <rmh.grub@aybabtu.com>
29360
29361 * conf/common.rmk (grub-dumpbios): Remove rule.
29362 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
29363 * util/grub-dumpbios.in: Remove file.
29364
9155bc17 293652009-10-14 Robert Millan <rmh.grub@aybabtu.com>
29366
29367 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
29368 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
29369
29370 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
29371 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
29372 users.
29373
29374 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
29375 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
29376 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
29377 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
29378 users.
29379
bf7f7a18 293802009-10-12 Robert Millan <rmh.grub@aybabtu.com>
29381
29382 * term/tparm.c: Switch to GPLv3.
29383
86564c26 293842009-10-09 Robert Millan <rmh.grub@aybabtu.com>
29385
29386 * include/grub/i386/cpuid.h: Add header protection.
29387
5c936493 293882009-10-09 Robert Millan <rmh.grub@aybabtu.com>
29389
29390 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
29391
29392 * include/grub/i386/cpuid.h: New file.
29393 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
29394 (has_longmode): Rename to ...
29395 (grub_cpuid_has_longmode): ... this. Update all users. Remove
29396 `static' attribute.
29397 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
29398 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
29399 on a CPU that doesn't implement AMD64 instruction set.
29400
186e7cf2 294012009-10-06 Colin Watson <cjwatson@ubuntu.com>
29402
29403 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
29404 that version.texi is rebuilt on version number changes.
29405
83b65c4a 294062009-10-06 Colin Watson <cjwatson@ubuntu.com>
29407
29408 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
29409 Fixes bug #27602.
29410
d244281c 294112009-10-06 Colin Watson <cjwatson@ubuntu.com>
29412
29413 * util/i386/pc/grub-install.in: Source
29414 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
29415 that the --grub-probe option will work.
29416 * util/sparc64/ieee1275/grub-install.in: Likewise.
29417
da25306d 294182009-10-05 Robert Millan <rmh.grub@aybabtu.com>
29419
29420 * configure.ac: Bump version to 1.97~beta4.
29421
e8ee83c0 294222009-10-03 Robert Millan <rmh.grub@aybabtu.com>
29423
29424 Resync grub-mkdevicemap in x86_64-efi.
29425
29426 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
29427 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
29428 `util/devicemap.c'.
29429
50dcabcf 294302009-10-01 Colin Watson <cjwatson@ubuntu.com>
29431
29432 * util/grub-editenv.c (create_envblk_file): Write new block with a
29433 .new suffix and then rename it into place, to ensure atomic
29434 creation.
29435
0e51c3a7 294362009-09-28 Robert Millan <rmh.grub@aybabtu.com>
29437
29438 Do not automatically install headers.
29439
29440 * Makefile.in (include_DATA): Remove. Update all users.
29441
31299a95 294422009-09-26 Robert Millan <rmh.grub@aybabtu.com>
29443
29444 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
29445 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
29446
29447 * util/osdetect.lua: Remove.
29448 * script/lua/lauxlib.c: Likewise.
29449 * script/lua/ldebug.c: Likewise.
29450 * script/lua/grub_main.c: Likewise.
29451 * script/lua/lauxlib.h: Likewise.
29452 * script/lua/ldebug.h: Likewise.
29453 * script/lua/ltablib.c: Likewise.
29454 * script/lua/liolib.c: Likewise.
29455 * script/lua/lstrlib.c: Likewise.
29456 * script/lua/lualib.h: Likewise.
29457 * script/lua/ldo.c: Likewise.
29458 * script/lua/ldump.c: Likewise.
29459 * script/lua/ldo.h: Likewise.
29460 * script/lua/loslib.c: Likewise.
29461 * script/lua/lundump.c: Likewise.
29462 * script/lua/grub_lib.c: Likewise.
29463 * script/lua/ldblib.c: Likewise.
29464 * script/lua/lundump.h: Likewise.
29465 * script/lua/lmem.c: Likewise.
29466 * script/lua/grub_lib.h: Likewise.
29467 * script/lua/lmathlib.c: Likewise.
29468 * script/lua/lstate.c: Likewise.
29469 * script/lua/ltm.c: Likewise.
29470 * script/lua/lvm.c: Likewise.
29471 * script/lua/lmem.h: Likewise.
29472 * script/lua/lstate.h: Likewise.
29473 * script/lua/ltm.h: Likewise.
29474 * script/lua/ltable.c: Likewise.
29475 * script/lua/lvm.h: Likewise.
29476 * script/lua/llex.c: Likewise.
29477 * script/lua/lgc.c: Likewise.
29478 * script/lua/grub_lua.h: Likewise.
29479 * script/lua/loadlib.c: Likewise.
29480 * script/lua/lfunc.c: Likewise.
29481 * script/lua/lopcodes.c: Likewise.
29482 * script/lua/lparser.c: Likewise.
29483 * script/lua/ltable.h: Likewise.
29484 * script/lua/llex.h: Likewise.
29485 * script/lua/lgc.h: Likewise.
29486 * script/lua/lfunc.h: Likewise.
29487 * script/lua/lbaselib.c: Likewise.
29488 * script/lua/lopcodes.h: Likewise.
29489 * script/lua/lparser.h: Likewise.
29490 * script/lua/lzio.c: Likewise.
29491 * script/lua/linit.c: Likewise.
29492 * script/lua/lobject.c: Likewise.
29493 * script/lua/llimits.h: Likewise.
29494 * script/lua/lstring.c: Likewise.
29495 * script/lua/lzio.h: Likewise.
29496 * script/lua/lapi.c: Likewise.
29497 * script/lua/lcode.c: Likewise.
29498 * script/lua/lua.h: Likewise.
29499 * script/lua/lobject.h: Likewise.
29500 * script/lua/lstring.h: Likewise.
29501 * script/lua/lapi.h: Likewise.
29502 * script/lua/lcode.h: Likewise.
29503 * script/lua/luaconf.h: Likewise.
29504
cb8a2c38 295052009-09-26 Colin Watson <cjwatson@ubuntu.com>
29506
29507 * docs/grub.texi (Command-line and menu entry commands): Document
29508 date and echo commands.
29509
6b9b6276 295102009-09-24 Pavel Roskin <proski@gnu.org>
29511
29512 * include/grub/kernel.h (struct grub_module_header): Remove
29513 `grub_module_header_types'. Make `type' unsigned. Make `size'
29514 32-bit on all platforms.
29515 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
29516 8-bit field. Use grub_host_to_target32() for `size'.
29517 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
29518 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
29519 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
29520
4e5a02a7 295212009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29522
29523 Fix "lost keypress" bug in at_keyboard.
29524
29525 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
29526 Checks for readyness of input buffer (without flushing it).
29527 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
29528 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
29529
c6dcedf6 295302009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29531
29532 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
29533 size check within GRUB_MACHINE_PCBIOS section.
29534
74c958b1 295352009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29536
29537 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
29538 return value.
29539 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
29540 KEYBOARD_ISREADY check.
29541 (grub_at_keyboard_checkkey): Rename to ...
29542 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
29543 Remove gratuitous cast.
29544
ff420223 295452009-09-23 Colin Watson <cjwatson@ubuntu.com>
29546
29547 * configure.ac: Call AC_PROG_MKDIR_P.
29548 * Makefile.in (docs/stamp-vti): Create docs directory. Create
29549 version.texi in $(builddir) rather than $(srcdir).
29550 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
29551 to makeinfo's @include search path.
29552
d96875df 295532009-09-23 Felix Zielcke <fzielcke@z-51.de>
29554
29555 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
29556
9b3f8365 295572009-09-23 Felix Zielcke <fzielcke@z-51.de>
29558
29559 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
29560 for `*.dpkg-new'.
29561
c44c90db 295622009-09-21 Colin Watson <cjwatson@ubuntu.com>
29563
29564 Build info documentation. Some code borrowed from Automake.
29565
29566 * configure.ac: Check for makeinfo.
29567 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
29568 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
29569 docs/version.texi.
29570 (MOSTLYCLEANFILES): Add vti.tmp.
29571 (docs/version.texi, docs/stamp-vti): Update automatically.
29572 (docs/grub.info): Build info documentation. Use --force and ignore
29573 errors for now.
29574 (all-local): Add $(INFOS).
29575 (install-local): Install info files.
29576 (uninstall): Uninstall info files.
29577 * docs/version.texi: Remove from revision control. This file is
29578 automatically generated on build now.
29579 * gendistlist.sh: Add `*.info'.
29580
e0b37bb5 295812009-09-21 Felix Zielcke <fzielcke@z-51.de>
29582
29583 * kern/term.c: Fix indentation.
29584
5a78865b 295852009-09-21 Felix Zielcke <fzielcke@z-51.de>
29586
29587 * util/hostdisk.c: Fix a comment.
29588
dace7e8a 295892009-09-20 Robert Millan <rmh.grub@aybabtu.com>
29590
29591 Fix regression introduced in r2539.
29592
29593 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
29594 to 0xA1.
29595
a83d079b 295962009-09-19 Colin Watson <cjwatson@ubuntu.com>
29597
29598 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 29599 os-prober. Under normal operation, it does not print anything to
29600 stderr; if it does, we need to debug it, and throwing away stderr
29601 makes that excessively difficult.
a83d079b 29602
be94a509 296032009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
29604
29605 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
29606
63f745e8 296072009-09-16 Robert Millan <rmh.grub@aybabtu.com>
29608
29609 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
29610 AC_LANG_PROGRAM from autoconf.
29611 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
29612 prototypes (fixes warning).
29613
29614 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
29615 `--disable-werror' was used.
29616
bbb2a70f 296172009-09-16 Robert Millan <rmh.grub@aybabtu.com>
29618
29619 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
29620 uninitialized `lastaddr'.
29621
77c24f1d 296222009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
29623
0f0b8c87 29624 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 29625
07197f23 296262009-09-14 Colin Watson <cjwatson@ubuntu.com>
29627
29628 * commands/test.c (get_fileinfo): Return immediately if
29629 grub_fs_probe fails.
29630
dabf1798 296312009-09-14 José Martínez <xosemp@gmail.com>
29632
29633 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
29634
d52109a7 296352009-09-14 Colin Watson <cjwatson@ubuntu.com>
29636
29637 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
29638 output.
29639
56532179 296402009-09-13 Robert Millan <rmh.grub@aybabtu.com>
29641
29642 * configure.ac: Remove --enable-grub-pe2elf. Only build
29643 grub-pe2elf when needed by the build system itself.
29644 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
29645
8ef070f5 296462009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29647
29648 * configure.ac: Bump version to 1.97~beta3.
29649 * docs/version.texi: Likewise.
29650
61229557 296512009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29652
29653 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
29654 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
29655 from here ...
29656 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
29657 (grub_linux_setup_video): ... to here (with some adjustments).
29658
5c9f8d84 296592009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29660
29661 Fix memory corruption issue (spotted by Colin Watson).
29662
29663 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
29664 causing returned size to be stored in an incorrect memory location.
29665 Fix use of uninitialized value when storing the returned size.
29666
e8f5d6e9 296672009-09-12 Yves Blusseau <blusseau@zetam.org>
29668
29669 Change clean rules to properly remove files
29670
29671 * genmk.rb: add new clean rules
29672 * Makefile.in (clean): add the new targets
29673 (mostlyclean): likewise
29674
cda2a409 296752009-09-11 Colin Watson <cjwatson@ubuntu.com>
29676
29677 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
29678 to grub_uint64_t.
29679 * fs/ntfs.c (init_file): Understand 64-bit sizes for
29680 non-resident files.
29681
86695375 296822009-09-11 Colin Watson <cjwatson@ubuntu.com>
29683
29684 * configure.ac: Don't look for help2man when cross-compiling. Fixes
29685 part of bug #27349.
29686
8aa1541a 296872009-09-10 Felix Zielcke <fzielcke@z-51.de>
29688
29689 * util/grub-mkconfig.in: Make the created config mode 400 and
29690 print a warning if it fails.
29691
48d9bb0a 296922009-09-10 Robert Millan <rmh.grub@aybabtu.com>
29693
29694 * util/grub.d/40_custom.in: Ask user to type custom entries below
29695 comment, rather than below 'exec tail' line.
29696
3b0521be 296972009-09-10 Colin Watson <cjwatson@ubuntu.com>
29698
29699 * util/grub.d/40_custom.in: Make sure that the explanatory text is
29700 visible in grub.cfg.
29701
50051d55 297022009-09-10 Colin Watson <cjwatson@ubuntu.com>
29703
29704 * util/grub.d/40_custom.in: Make it a little clearer how to use this
29705 file.
29706
c0d34387 297072009-09-10 Felix Zielcke <fzielcke@z-51.de>
29708
29709 * docs/grub.cfg: Add an example menu entry for memtest86+.
29710
80a608f3 297112009-09-09 Felix Zielcke <fzielcke@z-51.de>
29712
a2094832 29713 * config.guess: Update to latest version from config git.
80a608f3 29714 * config.sub: Likewise.
29715
99423078 297162009-09-08 Colin Watson <cjwatson@ubuntu.com>
29717
29718 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
29719 unknown-command case. Fixes bug #27320.
29720
44454e4c 297212009-09-08 Felix Zielcke <fzielcke@z-51.de>
29722
29723 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
29724 `help' if the command exists.
29725
e30d87ad 297262009-09-06 Robert Millan <rmh.grub@aybabtu.com>
29727
29728 * INSTALL: Require GCC 4.1.3 or later.
29729
9a86f1ec 297302009-09-06 Yves Blusseau <blusseau@zetam.org>
29731
29732 * Makefile.in (RMKFILES): add i386-qemu.rmk
29733 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
29734 $(srcdir)/stamp-h.in
29735
7f26d466 297362009-09-05 Robert Millan <rmh.grub@aybabtu.com>
29737
29738 * util/grub-probe.c (probe): Comment out buggy codepath, which
29739 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
29740 should be re-enabled after 1.97.
29741
3a613259 297422009-09-05 Felix Zielcke <fzielcke@z-51.de>
29743
29744 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
29745 find searches for.
29746
197f76c7 297472009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
29748
29749 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
29750 unnecessary calls to grub_error.
29751
70ba68ce 297522009-09-04 Colin Watson <cjwatson@ubuntu.com>
29753
29754 * NEWS: Mention `keystatus' and Unicode fonts.
29755
4ff0d7a4 297562009-09-04 Robert Millan <rmh.grub@aybabtu.com>
29757
29758 * configure.ac: Bump version to 1.97~beta2.
29759 * docs/version.texi: Likewise.
29760
77c55a87 297612009-09-03 Colin Watson <cjwatson@ubuntu.com>
29762
29763 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
29764 containing unwind information in some cases where it previously did
29765 not. Use -fno-dwarf2-cfi-asm if available to restore the old
29766 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
29767 discussion.
29768
f79572cd 297692009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
29770
29771 Embedding loadenv module into grub-emu
29772
29773 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
29774 commands/loadenv.c
29775 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
29776 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
29777 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
29778 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
29779 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
29780 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
29781
93a81088 297822009-09-03 Magnus Granberg <zorry@ume.nu>
29783
29784 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
29785 include -fPIE in the default specs.
29786 * configure.ac: Check if pie_possible is yes and add -fno-PIE
29787 to TARGET_CFLAGS.
29788
160034b2 297892009-09-03 Felix Zielcke <fzielcke@z-51.de>
29790
29791 * INSTALL: Note that GNU Bison 2.3 or later is required.
29792
087c07c4 297932009-09-03 Colin Watson <cjwatson@ubuntu.com>
29794
29795 * kern/i386/pc/startup.S: Fix typo.
29796
cbf978c0 297972009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
29798
29799 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
29800 according to GCS.
29801
298022009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 29803
29804 * docs/grub.texi (Naming convention): Describe one-based partition
29805 numbering.
29806 (Device syntax): Likewise.
29807 (File name syntax): Likewise.
29808 (Block list syntax): Likewise.
29809 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
29810 menu.lst.
29811 (File name syntax): Likewise.
29812 (Command-line and menu entry commands): Document acpi, blocklist,
29813 crc, export, insmod, keystatus, ls, set, and unset commands.
29814
f3e8cdfd 298152009-09-02 Colin Watson <cjwatson@ubuntu.com>
29816
29817 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
29818 to avoid implying that only one of --shift, --ctrl, or --alt may be
29819 used.
29820
c0bc232b 298212009-09-02 Colin Watson <cjwatson@ubuntu.com>
29822
29823 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
29824 rather than comparing against S_IFREG, which will almost never work.
29825
aa0f752d 298262009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
29827
29828 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
29829 (write_blocklists): Likewise.
29830
ecb3166a 298312009-09-01 Colin Watson <cjwatson@ubuntu.com>
29832
29833 * script/lua/grub_lua.h (fputs): Supply a format string as the first
29834 argument to grub_printf.
29835
c403a125 298362009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 29837
29838 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 29839 non GNU test.
31aba781 29840
b5e7312c 298412009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
29842
29843 * kern/file.c (grub_file_read): Spelling fix
29844
fe00f472 298452009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
29846
29847 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
29848 loading of headers in some cases.
29849
cc55302e 298502009-08-30 Robert Millan <rmh.grub@aybabtu.com>
29851
29852 * configure.ac: Bump version to 1.97~beta1.
29853 * docs/version.texi: Likewise.
29854
5c90cdd2 298552009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 29856
29857 * include/grub/i386/xnu.h: Add license header.
29858 include grub/err.h explicitly.
29859
c90edae4 298602009-08-29 Robert Millan <rmh.grub@aybabtu.com>
29861
29862 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
29863 to `ufs' in the vfs.root.mountfrom kernel parameter.
29864
d8888b5c 298652009-08-29 Robert Millan <rmh.grub@aybabtu.com>
29866
29867 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
29868
29869 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
29870 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
29871
29872 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
29873 `ARRAY_SIZE' macro.
29874
6f07b921 298752009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29876
29877 * kern/file.c (grub_file_read): Check offset.
29878 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
29879 * fs/jfs.c (grub_jfs_read_file): Likewise.
29880 * fs/ntfs.c (grub_ntfs_read): Likewise.
29881 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
29882 * fs/minix.c (grub_minix_read_file): Correct offset check.
29883 * fs/ufs.c (grub_ufs_read_file): Likewise.
29884
b4f34077 298852009-08-28 Colin Watson <cjwatson@ubuntu.com>
29886
29887 * term/i386/pc/console.c (bios_data_area): Cast
29888 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
29889
e7c69859 298902009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29891
29892 1-bit optimised blitters.
29893
29894 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
29895 prototype.
29896 (grub_video_fbblit_replace_24bit_1bit): Likewise.
29897 (grub_video_fbblit_replace_16bit_1bit): Likewise.
29898 (grub_video_fbblit_replace_8bit_1bit): Likewise.
29899 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
29900 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
29901 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
29902 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
29903 function.
29904 (grub_video_fbblit_replace_24bit_1bit): Likewise.
29905 (grub_video_fbblit_replace_16bit_1bit): Likewise.
29906 (grub_video_fbblit_replace_8bit_1bit): Likewise.
29907 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
29908 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
29909 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
29910 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
29911 when possible.
29912 * video/video.c (grub_video_get_blit_format): Return
29913 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
29914
a57da43f 299152009-08-28 Colin Watson <cjwatson@ubuntu.com>
29916
29917 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
29918 the first argument to grub_printf.
29919
4cbe67e5 299202009-08-28 Colin Watson <cjwatson@ubuntu.com>
299212009-08-28 Robert Millan <rmh.grub@aybabtu.com>
29922
29923 Add `getkeystatus' terminal method. Add a new `keystatus' command
29924 to query it.
29925
29926 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
29927 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
29928 modifier key bitmasks.
29929 (struct grub_term_input): Add `getkeystatus' member.
29930 (grub_getkeystatus): Add prototype.
29931 * kern/term.c (grub_getkeystatus): New function.
29932
29933 * include/grub/i386/pc/memory.h
29934 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
29935 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
29936 Data Area layout.
29937 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
29938 (grub_console_term_input): Set `getkeystatus' member.
29939 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
29940 constants.
29941 (grub_usb_keyboard_getreport): Likewise.
29942 (grub_usb_keyboard_checkkey): Likewise.
29943 (grub_usb_keyboard_getkeystatus): New function.
29944 (grub_usb_keyboard_term): Set `getkeystatus' member.
29945
29946 * commands/keystatus.c: New file.
29947 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
29948 (keystatus_mod_SOURCES): New variable.
29949 (keystatus_mod_CFLAGS): Likewise.
29950 (keystatus_mod_LDFLAGS): Likewise.
29951 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
29952 commands/keystatus.c.
29953 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29954 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29955 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29956 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29957 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29958 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 29959
6e2a9085 299602009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29961
29962 Split befs.mod and afs.mod into *_be.mod and *.mod
29963
29964 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
29965 (grub_fstest_SOURCES): Likewise.
29966 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
29967 (afs_be_mod_SOURCES): New variable.
29968 (afs_be_mod_CFLAGS): Likewise.
29969 (afs_be_mod_LDFLAGS): Likewise.
29970 (befs_be_mod_SOURCES): Likewise.
29971 (befs_be_mod_CFLAGS): Likewise.
29972 (befs_be_mod_LDFLAGS): Likewise.
29973 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
29974 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29975 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29976 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29977 (grub_emu_SOURCES): Likewise.
29978 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29979 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29980 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29981 * fs/afs_be.c: New file.
29982 * fs/befs_be.c: New file.
29983 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
29984 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
29985 (U16): Replaced with ...
29986 (grub_afs_to_cpu16): ...this. All users updated.
29987 (U32): Replaced with ...
29988 (grub_afs_to_cpu32): ...this. All users updated.
29989 (U64): Replaced with ...
29990 (grub_afs_to_cpu64): ...this. All users updated.
29991 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
29992 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 29993 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 29994 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29995 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
29996 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
29997 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
29998 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29999 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30000 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30001 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30002
32a71655 300032009-08-26 Bean <bean123ch@gmail.com>
30004
30005 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
30006 64-bit number.
30007 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
30008 (grub_xfs_inode_block): Change return type to grub_uint64_t.
30009 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
30010
552bf6c5 300112009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30012
30013 NetBSD memory map support.
30014
30015 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
30016 (grub_netbsd_btinfo_mmap_header): New structure.
30017 (grub_netbsd_btinfo_mmap_entry): Likewise.
30018 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
30019
1ae2078c 300202009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30021
30022 Enable bsd.mod on coreboot.
30023
30024 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
30025 (bsd_mod_SOURCES): New variable.
30026 (bsd_mod_CFLAGS): Likewise.
30027 (bsd_mod_LDFLAGS): Likewise.
30028 (bsd_mod_ASFLAGS): Likewise.
30029 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
30030 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
30031
beefc598 300322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30033
30034 Cleanup NetBSD root support.
30035
30036 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
30037 grub_bsd_get_device.
30038 Fix typo.
30039
3b76e68b 300402009-08-25 Felix Zielcke <fzielcke@z-51.de>
30041
30042 * util/grub.d/00_header.in: Move check for the video backend of
30043 gfxterm from here ...
30044 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
30045 a suitable video backend.
30046
aea664ea 300472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30048
30049 Fix breakage in grub-setup.
30050
30051 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
30052 "msdos_partition_map".
30053
ff747d50 300542009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30055
30056 Fix breakage in normal/auth.c.
30057
30058 * normal/auth.c (grub_iswordseparator): New function.
30059
e7e1f93f 300602009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30061
30062 Authentication support.
30063
30064 * commands/password.c: New file.
30065 * conf/common.rmk (pkglib_MODULES): Add password.mod.
30066 (password_mod_SOURCES): New variable.
30067 (password_mod_CFLAGS): Likewise.
30068 (password_mod_LDFLAGS): Likewise.
30069 (normal_mod_SOURCES): Add normal/auth.c.
30070 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
30071 normal/auth.c.
30072 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30073 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30074 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30075 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30076 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30077 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30078 * include/grub/auth.h: New file.
30079 * include/grub/err.h (grub_err_t): New enum value
30080 GRUB_ERR_ACCESS_DENIED.
30081 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
30082 'users'.
30083 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
30084 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
30085 users updated.
30086 * normal/auth.c: New file.
30087 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
30088 (grub_cmdline_run): Don't allow to go to command line without
30089 authentication.
30090 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
30091 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
30092 menuentry without superuser rights.
30093 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
30094 user isn't a superuser.
30095
70f1161d 300962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30097
30098 Save space by inlining misc.c functions.
30099
30100 * kern/misc.c (grub_iswordseparator): Made static.
30101 * kern/misc.c (grub_strcat): Moved from here ...
30102 * include/grub/misc.h (grub_strcat): ... here. Inlined.
30103 * kern/misc.c (grub_strncat): Moved from here ...
30104 * include/grub/misc.h (grub_strncat): ... here. Inlined.
30105 * kern/misc.c (grub_strcasecmp): Moved from here ...
30106 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
30107 * kern/misc.c (grub_strncasecmp): Moved from here ...
30108 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
30109 * kern/misc.c (grub_isalpha): Moved from here ...
30110 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
30111 * kern/misc.c (grub_isdigit): Moved from here ...
30112 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
30113 * kern/misc.c (grub_isgraph): Moved from here ...
30114 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
30115 * kern/misc.c (grub_tolower): Moved from here ...
30116 * include/grub/misc.h (grub_tolower): ... here. Inlined.
30117
48e40bff 301182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30119
30120 * script/sh/function.c (grub_script_function_find): Cut error message
30121 not to flood terminal.
30122 * script/sh/lexer.c (grub_script_yylex): Remove command line length
30123 limit.
30124 * script/sh/script.c (grub_script_arg_add): Duplicate string.
30125
c385bfc3 301262009-08-24 Colin Watson <cjwatson@ubuntu.com>
30127
30128 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
30129 `report' grub_uint8_t *.
30130 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
30131 Use a 50-millisecond timeout rather than just repeating
30132 grub_usb_keyboard_getreport 50 times.
30133 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
30134
2d21e3e8 301352009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30136
30137 Rename *_partition_map to part_*
30138
30139 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
30140 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
30141 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
30142 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
30143 All users updated.
30144 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
30145 All users updated.
30146 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
30147 * util/grub-probe.c (probe_partmap): Don't transform partition name
30148 to get module name.
30149
dd103c4e 301502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30151
30152 Fix OpenBSD and NetBSD support.
30153
30154 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
30155 memory address conflict.
30156 (OPENBSD_MMAP_ACPI): New definition.
30157 (OPENBSD_MMAP_NVS): Likewise.
30158 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
30159 and OPENBSD_MMAP_NVS.
30160 Add memory map terminator
30161 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 30162 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 30163
16c84d74 301642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30165
30166 Let user specify NetBSD root device.
30167
30168 * loader/i386/bsd.c (netbsd_root): New variable.
30169 (netbsd_opts): New option 'root'.
30170 (NETBSD_ROOT_ARG): New macro.
30171 (grub_netbsd_boot): Use 'netbsd_root'.
30172 (grub_bsd_unload): Free 'netbsd_root'.
30173 (grub_cmd_netbsd): Fill 'netbsd_root'.
30174
adb29902 301752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30176
30177 Support for 64-bit NetBSD.
30178
30179 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
30180 point when booting non-FreeBSD.
30181
f5ae9f74 301822009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30183
30184 Support --no-smp and --no-acpi for NetBSD.
30185
30186 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
30187 (NETBSD_AB_NOACPI): Likewise.
30188 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
30189 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
30190
de74f136 301912009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30192
30193 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
30194 errors.
30195 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
30196 errors. Call grub_error when needed.
30197
e9a925da 301982009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30199
30200 * commands/search.c (search_fs): Try searching without autoload first.
30201 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
30202 filesystem module explicitly for faster booting.
30203
5174302b 302042009-08-23 Colin Watson <cjwatson@ubuntu.com>
30205
30206 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
30207
c8c80635 302082009-08-23 Colin Watson <cjwatson@ubuntu.com>
30209
30210 * util/grub.d/30_os-prober.in: Disable os-prober if
30211 `GRUB_DISABLE_OS_PROBER' was set to true.
30212
71acf5e5 302132009-08-23 Robert Millan <rmh.grub@aybabtu.com>
30214
30215 * partmap/pc.c: Rename to ...
30216 * partmap/msdos.c: ... this. Update all users.
30217 (grub_pc_partition_map): Rename to ...
30218 (grub_msdos_partition_map): ... this. Update all users.
30219
30220 * parttool/pcpart.c: Rename to ...
30221 * parttool/msdospart.c: ... this. Update all users.
30222
30223 * include/grub/pc_partition.h: Rename to ...
30224 * include/grub/msdos_partition.h: ... this. Update all users.
30225 (grub_pc_partition_bsd_entry): Rename to ...
30226 (grub_msdos_partition_bsd_entry): ... this. Update all users.
30227 (grub_pc_partition_disk_label): Rename to ...
30228 (grub_msdos_partition_disk_label): ... this. Update all users.
30229 (grub_pc_partition_entry): Rename to ...
30230 (grub_msdos_partition_entry): ... this. Update all users.
30231 (grub_pc_partition_mbr): Rename to ...
30232 (grub_msdos_partition_mbr): ... this. Update all users.
30233 (grub_pc_partition): Rename to ...
30234 (grub_msdos_partition): ... this. Update all users.
30235 (grub_pc_partition_is_empty): Rename to ...
30236 (grub_msdos_partition_is_empty): ... this. Update all users.
30237 (grub_pc_partition_is_extended): Rename to ...
30238 (grub_msdos_partition_is_extended): ... this. Update all users.
30239 (grub_pc_partition_is_bsd): Rename to ...
30240 (grub_msdos_partition_is_bsd): ... this. Update all users.
30241
30242 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
30243 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
30244 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
30245 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
30246 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
30247 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
30248 (gpt_mod_LDFLAGS): Rename to ...
30249 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
30250 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
30251 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
30252 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
30253 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
30254 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
30255 (part_gpt_mod_LDFLAGS): ... this.
30256 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
30257 `pcpart.mod' to `msdospart.mod'.
30258 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
30259 to ...
30260 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
30261 (msdospart_mod_LDFLAGS): ... this.
30262
c11fded5 302632009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30264
30265 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
30266 (openbsd_opts): Likewise.
30267 (netbsd_opts): Likewise.
30268 (freebsd_flags): Added 0 terminator.
30269 (openbsd_flags): Likewise.
30270 (netbsd_flags): Likewise.
30271 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
30272 (grub_cmd_freebsd): Transformed into extended command.
30273 (grub_cmd_openbsd): Likewise.
30274 (grub_cmd_netbsd): Likewise.
30275 (cmd_freebsd): Changed type to grub_extcmd_t.
30276 (cmd_openbsd): Likewise.
30277 (cmd_netbsd): Likewise.
30278 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
30279 grub_cmd_openbsd as extended commands.
30280 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
30281 cmd_netbsd and cmd_openbsd
30282
11d1c769 302832009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
30284
30285 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
30286
7a9094e5 302872009-08-21 Pavel Roskin <proski@gnu.org>
30288
5496c37e 30289 * Makefile.in (install-local): When checking if a file is in the
30290 build directory, use "test -e" to detect symlinks.
30291
7a9094e5 30292 * Makefile.in (install-local): Remove all files in
30293 $(DESTDIR)$(pkglibdir) before installing new files there.
30294
e53cea11 302952009-08-18 Felix Zielcke <fzielcke@z-51.de>
30296
30297 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
30298 grub-mkelfimage.
30299
9aced544 303002009-08-18 Felix Zielcke <fzielcke@z-51.de>
30301
30302 * util/grub-mkconfig.in: Don't use gfxterm by default if not
30303 explicitly specified by the user.
30304
b7da6bab 303052009-08-18 Pavel Roskin <proski@gnu.org>
30306
30307 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
30308 grub_uint8_t pointer for data.
30309 * include/grub/fbutil.h (struct grub_video_fbblit_info):
30310 Likewise.
30311 * video/fb/fbutil.c: Remove unnecessary casts.
30312
19f1b335 303132009-08-17 Michal Suchanek <hramrach@centrum.cz>
30314
30315 VBE cleanup.
30316
30317 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
30318 (grub_vbe_set_video_mode): Save active mode info
30319 only after setting the mode.
30320 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
30321 second argument.
30322
2f467aa9 303232009-08-17 Michal Suchanek <hramrach@centrum.cz>
30324
30325 Rename variables for clarity.
30326
30327 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
30328 (active_vbe_mode_info): ... this. All users updated.
30329 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
30330 All users updated.
30331 (initial_mode): Rename to ...
30332 (initial_vbe_mode): ... this. All users updated.
30333 (mode_in_use): Rename to ..
30334 (vbe_mode_in_use): ... this. All users updated.
30335 (mode_list): Rename to ..
30336 (vbe_mode_list): ... this. All users updated.
30337 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
30338 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
30339 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
30340 'mode_list_size' to 'vbe_mode_list_size'.
30341 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
30342 'best_mode_info' to 'best_vbe_mode_info' and
30343 'best_mode' to 'best_vbe_mode'
30344
6025fcd7 303452009-08-17 Michal Suchanek <hramrach@centrum.cz>
30346
30347 Remove duplicate grub_video_fb_get_video_ptr.
30348
30349 * include/grub/fbutil.h (get_data_ptr): Rename to ...
30350 (grub_video_fb_get_video_ptr): ... this.
30351 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
30352 * video/fb/fbutil.c: Add comment about addressing.
30353 (get_data_ptr): Rename to ...
30354 (grub_video_fb_get_video_ptr): ... this. All users updated.
30355 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
30356
cc8c6faf 303572009-08-17 Robert Millan <rmh.grub@aybabtu.com>
30358
30359 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
30360 grub_dprintf() that was just added.
30361
08aa61f0 303622009-08-17 Robert Millan <rmh.grub@aybabtu.com>
30363
30364 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
30365 (DEFAULT_VIDEO_MODE): Remove macros.
30366 (grub_linux_boot): Remove assumption that Linux has FB support,
30367 and use "text" as default video mode.
30368
7cef4f75 303692009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
30370
30371 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
30372 grub_dprintf.
30373 * fs/fat.c (grub_fat_read_data): Likewise.
30374
e1f39873 303752009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30376
30377 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
30378 payload.
30379 (grub_module): Likewise.
30380
c166d79e 303812009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30382
30383 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
30384 mbi->cmdline but free playground.
30385
c60cee8e 303862009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30387
30388 Handle group offset on UFS1.
30389
30390 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
30391 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
30392
c0d8b5d4 303932009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30394
30395 Split ufs.mod into ufs1.mod and ufs2.mod.
30396
30397 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
30398 (grub_fstest_SOURCES): Likewise.
30399 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
30400 (ufs_mod_SOURCES): Remove.
30401 (ufs_mod_CFLAGS): Likewise.
30402 (ufs_mod_LDFLAGS): Likewise.
30403 (ufs1_mod_SOURCES): New variable.
30404 (ufs1_mod_CFLAGS): Likewise.
30405 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 30406 (ufs2_mod_SOURCES): New variable.
30407 (ufs2_mod_CFLAGS): Likewise.
30408 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 30409 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
30410 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
30411 Likewise.
30412 (grub_emu_SOURCES): Likewise.
30413 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30414 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30415 (grub_setup_SOURCES): Likewise.
30416 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30417 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
30418 (grub_setup_SOURCES): Likewise.
30419 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
30420 Likewise.
30421 * fs/ufs2.c: New file.
30422 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
30423
d3539132 304242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30425
30426 Framebuffer split.
30427
30428 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
30429 subsystem at the end.
30430 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
30431 (video_fb_mod_SOURCES): New variable.
30432 (video_fb_mod_CFLAGS): Likewise.
30433 (video_fb_mod_LDFLAGS): Likewise.
30434 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
30435 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
30436 * video/i386/pc/vbeblit.c: Moved from here ...
30437 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
30438 * video/i386/pc/vbefill.c: Moved from here ...
30439 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
30440 * video/i386/pc/vbeutil.c: Moved from here ...
30441 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
30442 * include/grub/i386/pc/vbeblit.h: Moved from here ...
30443 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
30444 * include/grub/i386/pc/vbefill.h: Moved from here ...
30445 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
30446 * include/grub/i386/pc/vbeutil.h: Moved from here ...
30447 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
30448 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
30449 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
30450 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
30451 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
30452 (grub_video_adapter): Added 'get_info_and_fini'.
30453 (grub_video_get_info_and_fini): New prototype.
30454 (grub_video_set_mode): make modestring const char *.
30455 * loader/i386/linux.c (grub_linux_setup_video): Use
30456 grub_video_get_info_and_fini.
30457 (grub_linux_boot): Move modesetting just before booting.
30458 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
30459 grub_video_get_info_and_fini.
30460 * video/i386/pc/vbe.c: Moved framebuffer part ...
30461 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
30462 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
30463 grub_video_fbstd_colors and grub_video_fb_set_palette.
30464 (grub_video_vbe_init): Clear 'framebuffer' variable and use
30465 grub_video_fb_init.
30466 (grub_video_vbe_fini): Use grub_video_fb_fini.
30467 (grub_video_vbe_setup): Use framebuffer.render_target instead of
30468 render_target and use grub_video_fb_set_active_render_target and
30469 grub_video_fb_set_palette.
30470 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
30471 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
30472 (grub_video_vbe_adapter): Use framebuffer.
30473 * video/video.c (grub_video_get_info_and_fini): New function.
30474 (grub_video_set_mode): Make modestring const char *.
30475 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
30476 values are already initialised.
30477
d404ee56 304782009-08-14 Pavel Roskin <proski@gnu.org>
30479
30480 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
30481 ABS and APPLE_CC.
30482 * boot/i386/pc/diskboot.S: Likewise.
30483 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
30484 sectors allow compilation on MacOSX.
30485 * conf/i386-pc.rmk: Enable unconditional compilation of
30486 lnxboot.img.
30487
9a10df16 304882009-08-13 Colin Watson <cjwatson@ubuntu.com>
30489
30490 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
30491 * util/grub.d/00_header.in: Enter interruptible sleep if
30492 GRUB_HIDDEN_TIMEOUT is set.
30493
be3c9ca7 304942009-08-13 Yves Blusseau <blusseau@zetam.org>
30495
30496 * include/grub/symbol.h: Add the LOCAL macro.
30497 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
30498 starting with "L_".
30499
1f9e557e 305002009-08-13 Pavel Roskin <proski@gnu.org>
30501
9ca62843 30502 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
30503 any modern compilers we support.
30504
1f9e557e 30505 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
30506 Use local labels starting with "L_" so that Apple assembler
30507 knows they are local.
30508
81623db6 305092009-08-10 Robert Millan <rmh.grub@aybabtu.com>
30510
30511 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
30512 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
30513 (bsd_kernel_types): ... this enum.
30514
30515 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
30516 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
30517 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
30518
30519 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
30520 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
30521 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
30522 messages.
30523
f5d35e7a 305242009-08-08 Robert Millan <rmh.grub@aybabtu.com>
30525
30526 * util/grub-dumpdevtree: Moved from here ...
30527 * util/i386/efi/grub-dumpdevtree: ... to here.
30528 (hexify): New function. Converts a string to its hex version.
30529 Generate hex versions of "efi" and "device-properties" by calling
30530 hexify() on the ASCII strings rather than by hardcoding numbers.
30531
d1e1d527 305322009-08-08 Robert Millan <rmh.grub@aybabtu.com>
30533
30534 * fs/jfs.c: Update copyright year.
30535
1ebbe064 305362009-08-08 Felix Zielcke <fzielcke@z-51.de>
30537
30538 * util/grub.d/00_header.in: Fix a comment.
30539 * util/grub.d/10_linux.in: Likewise.
30540 * util/grub.d/10_windows.in: Likewise.
30541 * util/grub.d/10_hurd.in: Likewise.
30542
a78c8d24 305432009-08-08 Felix Zielcke <fzielcke@z-51.de>
30544
30545 * util/grub-mkconfig.in: Allow the user to specify the used font
30546 with GRUB_FONT.
30547
29a6b9e8 305482009-08-08 Pavel Roskin <proski@gnu.org>
30549
b5f16cc4 30550 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
30551 available, xfs.mod needs it now.
30552
2f5cb827 30553 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
30554 the "g" modifier in sed when the intention is to strip something
30555 once. This fixes comparison of kernels with multiple dashes.
30556
29a6b9e8 30557 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
30558 on it. Add missing space before closing bracket. Fix
30559 misleading formatting.
30560
892a3d98 305612009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30562
30563 * docs/grub.texi: Major overhaul. Remove all sections that are
30564 specific to GRUB Legacy, or mostly composed of Legacy-specific
30565 information.
30566
ed94253f 305672009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30568
30569 * docs/version.texi: New file. Provides version information for
30570 grub.texi.
30571
126d6628 305722009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30573
30574 * docs/grub.texi: Update CVS information to SVN.
30575 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
30576
998b5aa9 305772009-08-07 Felix Zielcke <fzielcke@z-51.de>
30578
30579 * util/grub-mkconfig.in: Remove a wrong `fi'.
30580
818e094a 305812009-08-07 Felix Zielcke <fzielcke@z-51.de>
30582
30583 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
30584 (grub_jfs_uuid): New function.
30585 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
30586
b969c52f 305872009-08-07 Felix Zielcke <fzielcke@z-51.de>
30588
30589 * util/grub-mkconfig_lib.in (font_path): Move the functionality
30590 of it to ...
30591 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
30592 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
30593
7a4894cc 305942009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30595
30596 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
30597 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
30598 Update all users.
30599
30600 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
30601 not just "vmlinu[zx]".
30602 Moved from here ...
30603 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
30604 all users.
30605
30606 * util/grub.d/10_linux.in (find_latest): Moved from here ...
30607 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
30608 all users.
30609
4e2171f8 306102009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30611
30612 * util/grub.d/10_freebsd.in: Use an absolute device path for
30613 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
30614
6dcfcb32 306152009-08-06 Felix Zielcke <fzielcke@z-51.de>
30616
30617 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
30618 handling of multiple abstraction modules.
30619
f56a8756 306202009-08-04 Robert Millan <rmh.grub@aybabtu.com>
30621
30622 Fix a bug resulting in black screen when loading Linux using a
30623 packed video mode.
30624
30625 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
30626 function.
30627
30628 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
30629 (grub_vbe_bios_getset_dac_palette_width): New function.
30630 (grub_vbe_bios_get_dac_palette_width)
30631 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
30632 grub_vbe_bios_getset_dac_palette_width()).
30633
30634 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
30635 check for return status.
30636 (grub_vbe_get_video_mode_info): When getting information for a packed
30637 mode (<= 8 bpp), obtain DAC palette width using
30638 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
30639 {red,green,blue}_mark_size.
30640
222671b2 306412009-08-04 Felix Zielcke <fzielcke@z-51.de>
30642
ecb1a6d9 30643 * commands/search.c (options): Fix help output to match actual code.
222671b2 30644
f84114f5 306452009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
30646
30647 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
30648 of homegrown code.
30649
bd288a20 306502009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 30651
30652 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
30653 on XFS or ReiserFS.
30654
8aab5e25 306552009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
30656
30657 Support Apple partition map with sector size different from 512 bytes.
30658
30659 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
30660 (apple_partition_map_iterate): Respect 'aheader.blocksize'
30661 and 'apart.partmap_size'.
30662
6ad6258a 306632009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
306642009-08-01 Robert Millan <rmh.grub@aybabtu.com>
30665
30666 Fix cpuid command.
30667
30668 * commands/i386/cpuid.c (options): New variable.
30669 (grub_cmd_cpuid): Return real error.
30670 (GRUB_MOD_INIT(cpuid)): Declare options.
30671
67459bc6 306722009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
30673
30674 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
30675 valid.
30676
fbc6ab54 306772009-07-31 Bean <bean123ch@gmail.com>
30678
30679 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
30680 log2_inode.
30681 (grub_fshelp_node): Move inode field to the end.
30682 (grub_xfs_data): Remove inode field.
30683 (grub_xfs_inode_block): Calculate inode size using sblock.
30684 (grub_xfs_inode_offset): Likewise.
30685 (grub_xfs_read_inode): Calculate inode size using sblock.
30686 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
30687 (grub_xfs_iterate_dir): Calculate inode size using sblock.
30688 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
30689 to match inode size.
30690 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
30691 not accessible when data is null.
30692 (grub_xfs_open): Likewise.
30693
f45d6cfc 306942009-07-31 Bean <bean123ch@gmail.com>
30695
30696 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
30697 Don't change pv->disk if it's already set.
30698
30699 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
30700 (grub_raid_register): ... here.
30701 (grub_raid_rescan): Removed.
30702
30703 * include/grub/raid.h (grub_raid_rescan): Removed.
30704
30705 * util/grub-fstest.c: Remove include file <grub/raid.h>.
30706 (fstest): Replace grub_raid_rescan with module fini function followed
30707 by init function.
30708
30709 * util/grub-probe.c: Add include file <grub/raid.h>.
30710 (probe_raid_level): New function.
30711 (probe): Detect abstraction by walking the disk device, support two
30712 level of abstraction (LVM on RAID) when detecting partition map.
30713
24443b5a 307142009-07-31 Pavel Roskin <proski@gnu.org>
30715
30716 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
30717 to grub_zalloc(), it was erroneous.
30718 Reported by Bean <bean123ch@gmail.com>
30719
a275d9e7 307202009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
30721
30722 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 30723 embedding zone, not only the first one.
a275d9e7 30724
56c5a47f 307252009-07-29 Joe Auricchio <jauricchio@gmail.com>
30726
30727 * term/gfxterm.c (clear_char): New function.
30728 (grub_virtual_screen_setup): Use clear_char.
30729 (scroll_up): Likewise.
30730 (grub_virtual_screen_cls): Likewise.
30731
67bb323a 307322009-07-29 Felix Zielcke <fzielcke@z-51.de>
30733
30734 * util/deviceiter.c (get_acceleraid_disk_name): New static
30735 function.
30736 (grub_util_iterate_devices): Handle Accelraid devices.
30737 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
30738
388a7c75 307392009-07-28 Robert Millan <rmh.grub@aybabtu.com>
30740
30741 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
30742 separator for the suggested gfxpayload string (';' collides with the
30743 parser and needs escaping).
30744
3bb7abcf 307452009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
30746
30747 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
30748 Clear direction flag before jumping to OS.
30749 (grub_multiboot2_real_boot): Likewise.
30750
2ddd36d7 307512009-07-28 Felix Zielcke <fzielcke@z-51.de>
30752
30753 * util/i386/pc/grub-install: Fix parsing of --disk-module
30754 option.
30755
c521b62b 307562009-07-28 Felix Zielcke <fzielcke@z-51.de>
30757
30758 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
30759 when embedding.
30760
880e0a0c 307612009-07-26 Felix Zielcke <fzielcke@z-51.de>
30762
30763 * util/grub-mkconfig.in (package_version): New variable.
30764 Use it do display the version.
30765
2366e356 307662009-07-25 Felix Zielcke <fzielcke@z-51.de>
30767
30768 * kern/file.c (grub_file_open): Revert to previous check with
30769 grub_errno.
30770
7ad8c80e 307712009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
30772
30773 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
30774 from help line. It's out of sync with code.
30775
72b9658b 307762009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
30777
30778 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
30779 entries on failed boot.
30780
77435277 307812009-07-25 Felix Zielcke <fzielcke@z-51.de>
30782
30783 * kern/file.c (grub_file_open): Fix an error check.
30784
fcaa8b21 307852009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
30786
35d16c74 30787 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
30788 partition map couldn't be identified.
fcaa8b21 30789
48904cd1 307902009-07-23 Pavel Roskin <proski@gnu.org>
30791
ef3c317f 30792 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
30793 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
30794 case of little endian words becomes just an optimization.
30795 Respect const modifier.
ad8ea1f4 30796 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 30797
48904cd1 30798 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
30799 to avoid loss of upper bits if align is unsigned and shorter
30800 than addr.
30801
260c9a89 308022009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
30803
30804 UUID support for UFS
30805
30806 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
30807 (grub_ufs_uuid): New function.
30808 (grub_ufs_fs): add .uuid
30809
f76ce889 308102009-07-21 Pavel Roskin <proski@gnu.org>
30811
30812 * kern/dl.c (grub_dl_check_header): Make static.
30813
6a6cbcaf 308142009-07-21 Felix Zielcke <fzielcke@z-51.de>
30815
30816 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
30817 add drivemap for Vista. It breaks Windows 7.
30818
cffcddb2 308192009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
30820
30821 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
30822 128 bytes
30823
1ef44b80 308242009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30825
30826 Add BFS support
30827
30828 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
30829 (grub_fstest_SOURCES): Likewise.
30830 (pkglib_MODULES): Add befs.mod.
30831 (befs_mod_SOURCES): New variable.
30832 (befs_mod_CFLAGS): Likewise.
30833 (befs_mod_LDFLAGS): Likewise.
30834 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30835 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30836 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30837 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30838 (grub_setup_SOURCES): Likewise.
30839 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30840 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30841 (grub_setup_SOURCES): Likewise.
30842 * fs/befs.c: New file.
30843 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
30844 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
30845 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
30846 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
30847 (B_KEY_INDEX_ALIGN): New declaration.
30848 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
30849 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
30850 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
30851 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
30852 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
30853 (grub_afs_mount) [MODE_BFS]: Likewise.
30854 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
30855 (grub_afs_fs): Use GRUB_AFS_FSNAME
30856 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
30857 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
30858 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
30859 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
30860
4f253044 308612009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
30862
30863 * util/getroot.c (find_root_device): Add support for MacOSX.
30864 * util/hostdisk.c: Likewise.
30865
57a55913 308662009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30867
30868 * font/font.c (find_glyph): Check whether a font is present to avoid
30869 segmentation fault.
75421ca9 30870
308712009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 30872
30873 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
30874
e98cd0c2 308752009-07-20 Pavel Roskin <proski@gnu.org>
30876
30877 * configure.ac: Trim excessively wordy excuses.
30878
1d2d169a 308792009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30880
30881 Add symlink, mtime and label support to AtheFS.
30882
30883 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
30884 (grub_afs_iterate_dir): Handle symlinks.
30885 (grub_afs_open): Use grub_afs_read_symlink.
30886 (grub_afs_dir): Likewise.
30887 Pass mtime.
30888 (grub_afs_label): New function.
30889 (grub_afs_fs): Add grub_afs_label.
30890 (grub_afs_read_symlink): New function.
30891
186f3189 308922009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30893
30894 Fix AtheFS support.
30895
30896 * fs/afs.c: Fix comments style.
30897 (grub_afs_blockrun): Declare as packed.
30898 (grub_afs_datastream): Likewise.
30899 (grub_afs_bnode): Likewise.
30900 (grub_afs_btree): Likewise.
30901 (grub_afs_sblock): Likewise.
30902 Declare `name' as char.
30903 (grub_afs_inode): Declare as packed.
30904 Change void *vnode to grub_uint32_t unused.
30905 (grub_afs_iterate_dir): Check that key_size is positive.
30906 (grub_afs_mount): Don't read superblock twice.
75421ca9 30907 (grub_afs_dir): Don't free node in case of error,
186f3189 30908 grub_fshelp_find_file already handles this.
30909 (grub_afs_open): Likewise.
30910
5680109e 309112009-07-19 Pavel Roskin <proski@gnu.org>
30912
30913 * Makefile.in: Remove LIBLZO and enable_lzo.
30914 * conf/i386-pc.rmk: Remove lzo support.
30915 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
30916 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
30917 support.
30918 * kern/i386/pc/lzo1x.S: Remove.
30919 * kern/i386/pc/startup.S: Remove lzo support.
30920 * util/i386/pc/grub-mkimage.c: Likewise.
30921
ac70fa32 309222009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
30923
30924 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
30925 * fs/xfs.c (grub_xfs_dir): Likewise.
30926 * fs/afs.c (grub_afs_dir): Likewise.
30927 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
30928 (grub_iso9660_open): Likewise.
30929 * fs/jfs.c (grub_jfs_open): Likewise.
30930 * fs/ext2.c (grub_ext2_dir): Likewise.
30931 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
30932 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 30933
eab58da2 309342009-07-16 Pavel Roskin <proski@gnu.org>
30935
d2838156 30936 * configure.ac: Never add "-c" to CFLAGS.
30937
55c70904 30938 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
30939
43e6200c 30940 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
30941 grub_cv_cc_efiemu should be used.
30942
ce7a733d 30943 * configure.ac: Typo fixes.
30944
eab58da2 30945 * kern/mm.c (grub_zalloc): New function.
30946 (grub_debug_zalloc): Likewise.
30947 * include/grub/mm.h: Declare grub_zalloc() and
30948 grub_debug_zalloc().
30949 * util/misc.c (grub_zalloc): New function.
30950 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
30951 instead of grub_malloc(), remove unneeded initializations.
30952 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
30953 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
30954 * commands/parttool.c (grub_cmd_parttool): Likewise.
30955 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
30956 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
30957 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
30958 * disk/usbms.c (grub_usbms_finddevs): Likewise.
30959 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
30960 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
30961 (grub_cmd_efiemu_pnvram): Likewise.
30962 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
30963 * fs/iso9660.c (grub_iso9660_mount): Likewise.
30964 (grub_iso9660_iterate_dir): Likewise.
30965 * fs/jfs.c (grub_jfs_opendir): Likewise.
30966 * fs/ntfs.c (list_file): Likewise.
30967 (grub_ntfs_mount): Likewise.
30968 * kern/disk.c (grub_disk_open): Likewise.
30969 * kern/dl.c (grub_dl_load_core): Likewise.
30970 * kern/elf.c (grub_elf_file): Likewise.
30971 * kern/env.c (grub_env_context_open): Likewise.
30972 (grub_env_set): Likewise.
30973 (grub_env_set_data_slot): Likewise.
30974 * kern/file.c (grub_file_open): Likewise.
30975 * kern/fs.c (grub_fs_blocklist_open): Likewise.
30976 * loader/i386/multiboot.c (grub_module): Likewise.
30977 * loader/xnu.c (grub_xnu_create_key): Likewise.
30978 (grub_xnu_create_value): Likewise.
30979 * normal/main.c (grub_normal_add_menu_entry): Likewise.
30980 (read_config_file): Likewise.
30981 * normal/menu_entry.c (make_screen): Likewise.
30982 * partmap/sun.c (sun_partition_map_iterate): Likewise.
30983 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
30984 * script/sh/script.c (grub_script_parse): Likewise.
30985 * video/bitmap.c (grub_video_bitmap_create): Likewise.
30986 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
30987 * video/readers/png.c (grub_png_output_byte): Likewise.
30988 (grub_video_reader_png): Likewise.
30989
830afef7 309902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 30991
30992 Enable all targets that can be built by default
30993
830afef7 30994 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 30995 grub-mkfont and grub-fstest if they can be built
30996
ee293aee 309972009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30998
30999 Fix hang and segmentation fault in grub-emu-usb
31000
31001 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
31002 * util/usb.c (grub_libusb_devices): likewise
31003 (grub_libusb_init): rename to ...
31004 (GRUB_MOD_INIT (libusb)):...this
31005 (grub_libusb_fini): rename to ..
31006 (GRUB_MOD_FINI (libusb)):...this
31007 * disk/usbms.c (grub_usbms_transfer): fix retry logic
31008 * include/grub/disk.h (grub_raid_init): removed, it's useless
31009 (grub_raid_fini): likewise
31010 (grub_lvm_init): likewise
31011 (grub_lvm_fini): likewise
31012 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
31013 by grub_init_all
31014
94414221 310152009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31016
31017 Fix libusb
31018
31019 * Makefile.in (LIBUSB): new macro
31020 * genmk.rb (Utility/print_tail): new method
31021 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
31022 (top level): call util.print_tail at the end.
31023
59ade63d 310242009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31025
31026 Make FreeBSD accept zpool.cache
31027
31028 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
31029 type is /boot/zfs/zpool.cache
31030
a58da8c7 310312009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31032
31033 Fix 64-bit efiemu
31034
31035 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
31036 correct wrong typedef
31037 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
31038
20591577 310392009-07-15 Pavel Roskin <proski@gnu.org>
31040
560ca572 31041 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
31042 * kern/disk.c (struct grub_disk_cache): Likewise.
31043
e8e8e4fd 31044 * commands/probe.c (options): Typo fix.
31045
fde24e10 31046 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
31047 Increase to 0x5a to accommodate FAT32. Adjust other offsets
31048 accordingly.
31049 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
31050
379c54c1 31051 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
31052 the end of "Error" to make the message more readable.
31053
7bd8f5bf 31054 * boot/i386/pc/boot.S (kernel_segment): Remove.
31055 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
31056 for destination.
31057
40b132c5 31058 * boot/i386/pc/boot.S (boot_version): Remove.
31059 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
31060 Remove.
31061
20591577 31062 * include/grub/i386/pc/boot.h: Sort all offsets.
31063 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
31064 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
31065 * boot/i386/pc/boot.S: Assert location of every offset listed in
31066 include/grub/i386/pc/boot.h.
31067
2df32b2c 310682009-07-13 Pavel Roskin <proski@gnu.org>
31069
44b5d879 31070 * include/grub/i386/coreboot/machine.h: Rename
31071 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
31072 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
31073 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
31074
17dc3751 31075 * kern/dl.c: Force native word size to suppress warnings when
31076 compiling grub-emu.
31077
2df32b2c 31078 * kern/device.c (grub_device_iterate): Change struct part_ent to
31079 hold the name, not a pointer to it. Use one grub_malloc() per
31080 partition, not two. Free partition_name if grub_malloc() fails.
31081 Set ents to NULL only before grub_partition_iterate() is called.
31082
75c59f59 310832009-07-11 Bean <bean123ch@gmail.com>
31084
31085 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
31086 childname.
31087
0ae1bf88 310882009-07-10 Bean <bean123ch@gmail.com>
310892009-07-10 Robert Millan <rmh.grub@aybabtu.com>
31090
31091 * kern/ieee1275/openfw.c (grub_children_iterate)
31092 (grub_devalias_iterate): Fix size evaluation for property or path
31093 strings, which was broken since r2132.
31094
8279cade 310952009-07-07 Pavel Roskin <proski@gnu.org>
31096
7d8a52d3 31097 * commands/search.c (search_file): Merge into ...
31098 (search_fs): ... this. Accept search type as argument.
31099 (grub_cmd_search): Pass search type to search_fs().
31100
25f9a05a 31101 * include/grub/util/console.h: New file.
31102 * util/console.c: Use it instead of grub/machine/console.h.
31103 * util/grub-emu.c: Likewise.
31104
8279cade 31105 * lib/arg.c (find_long_option): Remove.
31106 (find_long): Add `len' argument, make `s' const char *.
31107 (grub_arg_parse): Parse long options in place, not in a
31108 temporary buffer.
31109
4a11b60f 311102009-07-06 Pavel Roskin <proski@gnu.org>
31111
99f68041 31112 * commands/search.c (search_fs): Fix potential NULL pointer
31113 dereference.
31114
4a11b60f 31115 * commands/search.c (search_fs): Replace QUID macro with quid_fn
31116 function pointer.
31117
e110f4de 311182009-07-06 Daniel Mierswa <impulze@impulze.org>
31119
31120 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
31121 comparison.
31122
46eeb6a2 311232009-07-05 Pavel Roskin <proski@gnu.org>
31124
bab74958 31125 * include/grub/i386/linux.h (struct linux_kernel_params):
31126 Restore padding3, it's still needed.
31127
46eeb6a2 31128 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
31129 FreeBSD.
31130 * util/osdetect.lua: Likewise.
31131
b4a1dc79 311322009-07-05 Bean <bean123ch@gmail.com>
31133
31134 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
31135
31136 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
31137 (grub_lua_getenv): Likewise.
31138 (grub_lua_setenv): Likewise.
31139 (save_errno): New function.
31140 (push_result): Likewise.
31141 (grub_lua_enum_device): Likewise.
31142 (grub_lua_enum_file): Likewise.
31143 (grub_lua_file_open): Likewise.
31144 (grub_lua_file_close): Likewise.
31145 (grub_lua_file_seek): Likewise.
31146 (grub_lua_file_read): Likewise.
31147 (grub_lua_file_getline): Likewise.
31148 (grub_lua_file_getsize): Likewise.
31149 (grub_lua_file_getpos): Likewise.
31150 (grub_lua_file_eof): Likewise.
31151 (grub_lua_file_exist): Likewise.
31152 (grub_lua_add_menu): Likewise.
31153
31154 * script/lua/grub_lua.h (isupper): New inline function.
31155 (islower): Likewise.
31156 (ispunct): Likewise.
31157 (isxdigit): Likewise.
31158 (strcspn): Change to normal function.
31159 (strpbkr): New function declaration.
31160 (memchr): Likewise.
31161
31162 * script/lua/grub_main.c (scan_str): New function.
31163 (strcspn): Likewise.
31164 (strpbrk): Likewise.
31165 (memchr): Likewise.
31166
31167 * script/lua/linit.c (lualibs): Enable the string library.
31168
31169 * util/osdetect.lua: New file.
31170
2da92295 311712009-07-04 Robert Millan <rmh.grub@aybabtu.com>
31172
31173 * include/grub/i386/linux.h (struct linux_kernel_params): Add
31174 `capabilities' member.
31175
b2582ec9 311762009-07-02 Pavel Roskin <proski@gnu.org>
31177
31178 * genparttoollist.sh: Add missing newline at the end.
31179
32622956 311802009-07-01 Pavel Roskin <proski@gnu.org>
31181
87a7339e 31182 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
31183
d23af54e 31184 * util/hostdisk.c (open_device): Remove `const' from
31185 `sysctl_size', as sysctlbyname() can change it (in this case it
31186 doesn't actually happen).
31187
c94b18a9 31188 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
31189 using signed long int constants.
31190
c6cd3ef0 31191 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
31192 constant to avoid a warning on FreeBSD.
31193
0df63420 31194 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
31195 where it's needed.
31196
999577f1 31197 * Makefile.in: Install include/grub/machine symlink.
31198
6f41557f 31199 * Makefile.in: When installing symlinks, use "cp -fR", which
31200 works on FreeBSD and MacOSX.
31201 From Yves Blusseau <cl7m42e02@sneakemail.com>
31202
c8d22988 31203 * kern/dl.c (grub_dl_resolve_symbol): Make static.
31204 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
31205
1b96e952 31206 * util/misc.c: Move grub_reboot() and grub_halt() ...
31207 * util/grub-emu.c: ... here. Make main_env static.
31208 * include/grub/util/misc.h: Remove main_env.
31209
2ef0084d 31210 * kern/mm.c: Use correct format to print size_t.
31211
32622956 31212 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
31213 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
31214 * kern/powerpc/dl.c: Likewise.
31215 * kern/sparc64/dl.c: Likewise.
31216 * kern/x86_64/dl.c: Likewise.
31217
3f7f0cd0 312182009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31219
31220 Fix grub-emu build on sparc64-ieee1275.
31221
75421ca9 31222 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 31223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
31224
211d06b5 312252009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31226
31227 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
31228 (grub_reboot, grub_halt): New functions.
31229
31230 * util/i386/pc/misc.c: Delete. Update all users.
31231 * util/sparc64/ieee1275/misc.c: Likewise.
31232 * util/powerpc/ieee1275/misc.c: Likewise.
31233
aaf53e3c 312342009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31235
31236 * conf/i386.rmk (setjmp_mod_SOURCES)
31237 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
31238 * conf/common.rmk (setjmp_mod_SOURCES)
31239 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
31240 to use $(target_cpu).
31241 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
31242 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
31243 * conf/powerpc-ieee1275.rmk: Likewise.
31244 * conf/sparc64-ieee1275.rmk: Likewise.
31245
31246 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
31247 $(target_cpu) for kern/$(target_cpu)/dl.c.
31248 * conf/i386-efi.rmk: Likewise.
31249 * conf/i386-ieee1275.rmk: Likewise.
31250 * conf/x86_64-efi.rmk: Likewise.
31251 * conf/i386-coreboot.rmk: Likewise.
31252 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
31253 $(target_cpu) for kern/$(target_cpu)/dl.c and for
31254 kern/$(target_cpu)/cache.S.
31255 * conf/sparc64-ieee1275.rmk: Likewise.
31256
a337130b 312572009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31258
31259 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
31260 type to `grub_uint8_t', and adjust `padding9' accordingly.
31261
c6fe4d53 312622009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31263
b09db61d 31264 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
31265
c6fe4d53 31266 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
31267 assembly in final jump, using register constraints.
31268
b09db61d 31269 (grub_linux_boot): For text mode, initialize `have_vga' using
31270 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
31271
31272 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
31273 right before the final jump.
31274
31275 Set `video_mode' to 0x3.
31276
31277 Document initialization of `video_page', `video_mode' and
31278 `video_ega_bx'.
31279
28333ad0 312802009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31281
31282 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
31283 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 31284 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 31285
02164e1b 312862009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31287
31288 Fix build on Debian / sparc.
31289
31290 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
31291
18b6c557 312922009-06-28 Pavel Roskin <proski@gnu.org>
31293
85f2aab6 31294 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
31295 fix a warning.
31296
18b6c557 31297 * util/grub.d/10_linux.in: Match SUSE style initrd names.
31298
ad760f81 312992009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31300
31301 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
31302 `err'.
31303
87a4623b 313042009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31305
31306 Revert r2338.
31307
31308 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
31309 file can't be opened. grub_file_open() is already supposed to set
75421ca9 31310 grub_errno / grub_errmsg appropriately.
87a4623b 31311 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31312
8231fb77 313132009-06-27 Pavel Roskin <proski@gnu.org>
313142009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31315
31316 * include/grub/dl.h: Include grub/elf.h.
31317 (struct grub_dl): Add symtab field.
31318 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
31319 GRUB_MODULES_MACHINE_READONLY.
31320 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
31321 of the header for read-only modules.
31322 (grub_dl_unload): Free mod->symtab for read-only modules.
31323 * kern/i386/dl.c: Use mod->symtab.
31324 * kern/powerpc/dl.c: Likewise.
31325 * kern/sparc64/dl.c: Likewise.
31326 * kern/x86_64/dl.c: Likewise.
31327
31328 * conf/i386-qemu.rmk: New file.
31329 * kern/i386/qemu/startup.S: Likewise.
31330 * kern/i386/qemu/mmap.c: Likewise.
31331 * boot/i386/qemu/boot.S: Likewise.
31332 * include/grub/i386/qemu/time.h: Likewise.
31333 * include/grub/i386/qemu/serial.h: Likewise.
31334 * include/grub/i386/qemu/kernel.h: Likewise.
31335 * include/grub/i386/qemu/console.h: Likewise.
31336 * include/grub/i386/qemu/boot.h: Likewise.
31337 * include/grub/i386/qemu/init.h: Likewise.
31338 * include/grub/i386/qemu/machine.h: Likewise.
31339 * include/grub/i386/qemu/loader.h: Likewise.
31340 * include/grub/i386/qemu/memory.h: Likewise.
31341
31342 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
31343 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
31344 [qemu] (pkglib_IMAGES): Add `boot.img'.
31345 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
31346 [qemu] (boot_img_FORMAT): New variables.
31347 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
31348 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
31349 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
31350 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31351 [qemu] (kernel_img_FORMAT): New variables.
31352
31353 * configure.ac: Recognise `i386-qemu'.
31354
31355 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
31356 (for no compression).
31357 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
31358 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
31359 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
31360 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
31361 ifdefs).
31362
97fe384e 313632009-06-27 Pavel Roskin <proski@gnu.org>
31364
31365 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
31366 read.
31367 * efiemu/prepare32.c: Likewise.
31368 * efiemu/prepare64.c: Likewise.
31369
c402ab17 313702009-06-26 Pavel Roskin <proski@gnu.org>
31371
31372 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
31373 * include/grub/elf.h: Define symbols without "32" or "64" based
31374 on GRUB_TARGET_WORDSIZE.
31375 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
31376 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
31377 ELF definitions.
31378 * efiemu/loadcore64.c: Likewise.
31379 * loader/i386/bsd32.c: Likewise.
31380 * loader/i386/bsd64.c: Likewise.
31381 * kern/dl.c: Remove own ELF definitions.
31382 * util/i386/efi/grub-mkimage.c: Likewise.
31383
9bbdfd4d 313842009-06-23 Robert Millan <rmh.grub@aybabtu.com>
31385
31386 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
31387 segment 0x0 unconditionally, because the reference generated by
31388 GAS is an absolute address.
31389
a42ce6e9 313902009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31391
31392 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
31393 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
31394
c952cf92 313952009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31396
31397 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
31398 indexes. Check for -f explicitly.
cc3752ad 31399 (search_file): Improve error message.
31400 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 31401
132a0a59 314022009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31403
31404 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
31405 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
31406
387a140c 314072009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31408
31409 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
31410 * conf/i386-ieee1275.rmk: Likewise.
31411 * conf/i386-coreboot.rmk: Likewise.
31412
31413 * kern/i386/pc/startup.S (grub_stop): Remove function.
31414 * kern/i386/ieee1275/startup.S: Likewise.
31415 * kern/i386/coreboot/startup.S: Likewise.
31416 * kern/i386/misc.S (grub_stop): New function.
31417
41da9665 314182009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31419
31420 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
31421 * kern/i386/realmode.S (real_to_prot): ... to here.
31422
bf337234 314232009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31424
31425 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
31426 with `kernel.img'.
31427 (kernel_elf_SOURCES): Rename to ...
31428 (kernel_img_SOURCES): ... this.
31429 (kernel_elf_HEADERS): Rename to ...
31430 (kernel_img_HEADERS): ... this. Update all users.
31431 (kernel_elf_ASFLAGS): Rename to ...
31432 (kernel_img_ASFLAGS): ... this.
31433 (kernel_elf_CFLAGS): Rename to ...
31434 (kernel_img_CFLAGS): ... this.
31435 (kernel_elf_LDFLAGS): Rename to ...
31436 (kernel_img_LDFLAGS): ... this.
31437 * conf/i386-coreboot.rmk: Likewise.
31438 * conf/powerpc-ieee1275.rmk: Likewise.
31439
31440 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
31441 with "kernel.img".
31442
f52196ff 314432009-06-21 Pavel Roskin <proski@gnu.org>
31444
c3cee413 31445 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
31446 to match nested functions.
31447 * loader/sparc64/ieee1275/linux.c: Likewise.
31448
f52196ff 31449 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
31450
58750afc 314512009-06-21 Robert Millan <rmh.grub@aybabtu.com>
31452
31453 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
31454 all i386 platforms.
31455
15355c7d 314562009-06-21 Robert Millan <rmh.grub@aybabtu.com>
31457
31458 Fix asm file handling on ELF, and remove workarounds.
31459
31460 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 31461 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 31462 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
31463 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
31464
3f3ec72b 314652009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
31466
31467 Load BSD ELF modules
31468
31469 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
31470 and loader/i386/bsd64.c
31471 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
31472 (FREEBSD_MODTYPE_ELF_MODULE): New definition
31473 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
31474 (grub_freebsd_load_elfmodule32): New declaration
31475 (grub_freebsd_load_elfmoduleobj64): Likewise
31476 (grub_freebsd_load_elf_meta32): Likewise
31477 (grub_freebsd_load_elf_meta64): Likewise
31478 (grub_freebsd_add_meta): Likewise
31479 (grub_freebsd_add_meta_module): Likewise
31480 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
31481 (grub_freebsd_add_meta_module): Likewise and move module-specific
31482 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
31483 (grub_cmd_freebsd): Add elf-kernel specific parts
31484 based on grub_freebsd_add_meta_module
31485 (grub_cmd_freebsd_module): Add type parsing moved from
31486 grub_freebsd_add_meta_module
31487 (grub_cmd_freebsd_module_elf): New function
31488 (cmd_freebsd_module_elf): New variable
31489 (GRUB_MOD_INIT): Register freebsd_module_elf
31490 * loader/i386/bsd32.c: New file
31491 * loader/i386/bsd64.c: Likewise
31492 * loader/i386/bsdXX.c: Likewise
31493 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
31494 (grub_elf64_load): Likewise
31495 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
31496 All users updated
31497 (grub_elf64_load_hook_t): Likewise
31498
0db15301 314992009-06-21 Colin Watson <cjwatson@ubuntu.com>
31500
31501 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
31502 variable.
31503 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
31504 don't write a menu entry for recovery mode.
31505
546796c1 315062009-06-20 Robert Millan <rmh.grub@aybabtu.com>
31507
31508 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
31509 after it's no longer needed.
31510
cd7310d5 315112009-06-20 Robert Millan <rmh.grub@aybabtu.com>
31512
31513 * include/grub/i386/loader.h (grub_linux_prot_size)
31514 (grub_linux_tmp_addr, grub_linux_real_addr)
31515 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
31516 GRUB_MACHINE_PCBIOS.
31517 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
31518 common grub_util_info() call to ...
31519 (generate_image): ... here.
31520 Fix use of uninitialized memory, comparison of signed with
31521 unsigned integers and memory leak.
31522 Remove bogus module address message.
31523
ab32d3b5 315242009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
31525
31526 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
31527 grub_raid_register
31528 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
31529
024ef597 315302009-06-19 Pavel Roskin <proski@gnu.org>
31531
31532 * configure.ac: Remove stray AC_MSG_CHECKING.
31533
3ac72b51 315342009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
31535
31536 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 31537
e14cd814 315382009-06-18 Pavel Roskin <proski@gnu.org>
31539
31540 * conf/common.rmk: Add fs_file.mod.
31541 * disk/fs_file.c: New file.
31542 * include/grub/disk.h (enum grub_disk_dev_id): Add
31543 GRUB_DISK_DEVICE_FILE_ID.
31544
26586d98 315452009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31546
31547 Fix build with Apple's toolchain. Part 2
31548
31549 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
31550 a fake start
31551
26de2bcd 315522009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31553
31554 Fix build with Apple's toolchain. Part 1
31555
31556 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
31557 for long calls
31558 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 31559 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 31560 Apple's toolchain
31561
09b3490b 315622009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31563
31564 Fix warnings
31565
31566 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
31567 (decomp_block): initialize ch
31568 use grub_memcpy instead of memcpy
31569
c22a006a 315702009-06-17 Pavel Roskin <proski@gnu.org>
31571
d3638678 31572 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
31573 version, use declarations needed to use vga_text as the startup
31574 console.
31575
c22a006a 31576 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
31577 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
31578 the kernel.
31579 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
31580 and grub_at_keyboard_fini(), it's done on module load and
31581 unload.
31582
05b129e0 315832009-06-17 Felix Zielcke <fzielcke@z-51.de>
31584
31585 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
31586 file can't be found.
31587 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31588
cf24ed9e 315892009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
31590
31591 Fix newline handling
31592
31593 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 31594 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 31595 (grub_script_yylex): don't segfault on unterminated script
31596 newline terminates command and variable
31597
74aa8e4b 315982009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
31599
31600 avoid double grub_adjust_range call. Bug reported by David Simner
31601
31602 * kern/disk.c (grub_disk_write): change to raw disk access before
31603 calling disk_read
31604
1bd265f3 316052009-06-17 Colin Watson <cjwatson@ubuntu.com>
31606
31607 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
31608 spaces, for the benefit of help2man.
31609 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31610
a2d08c06 316112009-06-16 Pavel Roskin <proski@gnu.org>
31612
31613 * kern/i386/halt.c: Include grub/machine/init.h.
31614 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
31615
b97bcb19 316162009-06-16 Felix Zielcke <fzielcke@z-51.de>
31617
31618 * util/grub.d/30_os-prober.in: Use ${root} in the generated
31619 drivemap menuentry.
31620
0644f96c 316212009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
31622
31623 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
31624 `echo' command.
31625
3ef17a2e 316262009-06-16 Pavel Roskin <proski@gnu.org>
31627
31628 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
31629 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
31630 save %dx, we only need %dl and we never change it.
31631 * boot/i386/pc/cdboot.S: Don't set the root drive.
31632 * boot/i386/pc/pxeboot.S: Likewise.
31633 * include/grub/i386/pc/boot.h: Remove
31634 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
31635 GRUB_BOOT_MACHINE_DRIVE_CHECK.
31636 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
31637 * kern/i386/pc/init.c (make_install_device): Remove references
31638 to grub_root_drive.
31639 * kern/i386/pc/startup.S: Likewise.
31640 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
31641
693fe637 316422009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
31643
31644 xnu_uuid command
31645
31646 * commands/xnu_uuid.c: new file
31647 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
31648 (xnu_uuid_mod_SOURCES): new variable
31649 (xnu_uuid_mod_CFLAGS): likewise
31650 (xnu_uuid_mod_LDFLAGS): likewise
31651 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
31652 * conf/i386-ieee1275.rmk: likewise
31653 * conf/i386-pc.rmk: likewise
31654 * conf/powerpc-ieee1275.rmk: likewise
31655 * conf/sparc64-ieee1275.rmk: likewise
31656 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
31657
c9da87d0 316582009-06-16 Pavel Roskin <proski@gnu.org>
31659
31660 * configure.ac: Avoid '==' in test command, it's not portable.
31661
9c6f4596 316622009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
31663
31664 Probe command
31665
31666 * commands/probe.c: new file
31667 * conf/common.rmk (pkglib_MODULES): add probe.mod
31668 (probe_mod_SOURCES): new variable
31669 (probe_mod_CFLAGS): likewise
31670 (probe_mod_LDFLAGS): likewise
31671 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
31672 * conf/i386-ieee1275.rmk: likewise
31673 * conf/i386-pc.rmk: likewise
31674 * conf/powerpc-ieee1275.rmk: likewise
31675 * conf/sparc64-ieee1275.rmk: likewise
31676
70b7f9fd 316772009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
31678
31679 Fix handling of string like \"hello\" and "a
31680 b"
31681
31682 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
31683 (grub_script_yylex): fix parsing of quoting, escaping and newline
31684
71c79a6b 316852009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
31686
dd74360c 31687 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 31688 handling
dd74360c 31689
0644f96c 316902009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 31691
31692 * util/grub-mkconfig.in: Fix parsing of --output option.
31693
e40893c3 316942009-06-12 Pavel Roskin <proski@gnu.org>
31695
31696 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
31697 genmk.rb don't need to be generated or installed.
31698
3a1acfe2 316992009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
31700
31701 * commands/i386/pc/drivemap_int13h.S: add more comments
31702
3a4575d4 317032009-06-11 Pavel Roskin <proski@gnu.org>
31704
0658e928 31705 * Makefile.in (uninstall): Uninstall manuals.
31706
ca0388f0 31707 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
31708 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
31709 and update-grub_lib in two places.
31710 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
31711
e3b27c39 31712 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
31713 a compiler warning.
31714
3a4575d4 31715 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
31716 `entry_lo' to fix variable shadowing.
31717
af1f4f55 317182009-06-11 Christian Franke <franke@computer.org>
31719
31720 * kern/misc.c (__enable_execute_stack): Add missing return type
31721 to prevent gcc warning.
31722
5225e649 317232009-06-11 Felix Zielcke <fzielcke@z-51.de>
31724
31725 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
31726
7d83bd47 317272009-06-11 Pavel Roskin <proski@gnu.org>
31728
c1cb63ba 31729 * Makefile.in: Don't rely on any scripts being executable.
31730 Always use $(SHELL) to run shell scripts.
31731
7d83bd47 31732 * configure.ac: Always define ___main if using -nostdlib. This
31733 fixes tests on Cygwin.
31734
948f48e7 317352009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
31736
31737 UDF fix
31738
7d83bd47 31739 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 31740 is in bytes and not in blocks
7d83bd47 31741
8ada9bc1 317422009-06-11 Pavel Roskin <proski@gnu.org>
31743
31744 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
31745 warning.
31746
25ad2323 317472009-06-11 Felix Zielcke <fzielcke@z-51.de>
31748
31749 * util/grub.d/30_os-prober.in: Fix a comment. Source
31750 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
31751 to set the root device. Place drivemap command in the generated
31752 chain entry.
31753
e65acb0c 317542009-06-11 Pavel Roskin <proski@gnu.org>
31755
31756 * configure.ac: Remove host_m32. Issues with 64-bit utilities
31757 have long been resolved.
31758
f285fe2d 317592009-06-11 Colin Watson <cjwatson@ubuntu.com>
31760
bd47b0b5 31761 * util/grub.d/10_linux.in: Capitalise "Linux".
31762
f285fe2d 31763 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
31764
a0c62e4e 317652009-06-11 Pavel Roskin <proski@gnu.org>
31766
b6783cb2 31767 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
31768 fix a gcc warning and ensure that the function won't ever exit.
31769
dde032e8 31770 * kern/i386/ieee1275/init.c: Add missing prototype for
31771 grub_stop_floppy().
31772
22cd079d 31773 * loader/ieee1275/multiboot2.c [__i386__]: Include
31774 grub/cpu/multiboot.h.
31775
a0c62e4e 31776 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
31777 casts to short - they are not portable and cause warnings. Fix
31778 use of uninitialized values in input_buf. Use ARRAY_SIZE.
31779
63963d17 317802009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
31781
31782 Drivemap fixes
31783
31784 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
31785 new function
31786 (grub_get_root_biosnumber_saved): new variable
31787 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
31788 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 31789 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 31790 %dx after the call if necessary
31791 * conf/common.rmk (pkglib_MODULES): remove boot.mod
31792 (boot_mod_SOURCES): remove
31793 (boot_mod_CFLAGS): remove
31794 (boot_mod_LDFLAGS): remove
31795 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
31796 (boot_mod_SOURCES): new variable
31797 (boot_mod_CFLAGS): likewise
31798 (boot_mod_LDFLAGS): likewise
31799 * conf/i386-efi.rmk: likewise
31800 * conf/i386-ieee1275.rmk: likewise
31801 * conf/i386-pc.rmk: likewise
31802 * conf/powerpc-ieee1275.rmk: likewise
31803 * conf/sparc64-ieee1275.rmk: likewise
31804 * conf/x86_64-efi.rmk: likewise
31805 * include/grub/i386/pc/biosnum.h: new file
31806 * lib/i386/pc/biosnum.c: likewise
31807 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
31808 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
31809 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 31810
33abf7ae 318112009-06-10 Pavel Roskin <proski@gnu.org>
31812
5ac35b35 31813 * io/gzio.c (test_header): Don't reuse one buffer for all data.
31814 Use separate variables. Read only the file size at the end, but
31815 not the checksum that we don't use.
31816
5c5215d5 31817 * kern/file.c (grub_file_read): Use void pointer for the buffer.
31818 Adjust all callers.
31819
27d5fef7 31820 * kern/ieee1275/openfw.c: Remove libc includes.
31821 * kern/ieee1275/cmain.c: Likewise.
31822 * include/grub/ieee1275/ieee1275.h: Likewise.
31823
33abf7ae 31824 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
31825 compiler warnings.
31826
19d50c2b 318272009-06-10 Felix Zielcke <fzielcke@z-51.de>
31828
31829 * Makefile.in: Remove all trailing whitespace.
31830 * conf/i386-pc.rmk: Likewise.
31831 * conf/powerpc-ieee1275.rmk: Likewise.
31832 * conf/sparc64-ieee1275.rmk: Likewise.
31833 * docs/grub.texi: Likewise.
31834 * docs/texinfo.tex: Likewise.
31835 * disk/fs_uuid.c: Likewise.
31836 * disk/lvm.c: Likewise.
31837 * disk/scsi.c: Likewise.
31838 * disk/ata.c: Likewise.
31839 * disk/ieee1275/ofdisk.c: Likewise.
31840 * disk/i386/pc/biosdisk.c: Likewise.
31841 * disk/host.c: Likewise.
31842 * disk/raid.c: Likewise.
31843 * disk/efi/efidisk.c: Likewise.
31844 * disk/usbms.c: Likewise.
31845 * disk/memdisk.c: Likewise.
31846 * disk/loopback.c: Likewise.
31847 * kern/powerpc/dl.c: Likewise.
31848 * kern/device.c: Likewise.
31849 * kern/dl.c: Likewise.
31850 * kern/sparc64/dl.c: Likewise.
31851 * kern/ieee1275/ieee1275.c: Likewise.
31852 * kern/term.c: Likewise.
31853 * kern/fs.c: Likewise.
31854 * kern/i386/dl.c: Likewise.
31855 * kern/i386/pc/startup.S: Likewise.
31856 * kern/i386/pc/init.c: Likewise.
31857 * kern/i386/pc/mmap.c: Likewise.
31858 * kern/i386/pc/lzo1x.S: Likewise.
31859 * kern/i386/ieee1275/init.c: Likewise.
31860 * kern/i386/realmode.S: Likewise.
31861 * kern/i386/tsc.c: Likewise.
31862 * kern/partition.c: Likewise.
31863 * kern/corecmd.c: Likewise.
31864 * kern/file.c: Likewise.
31865 * kern/efi/efi.c: Likewise.
31866 * kern/efi/init.c: Likewise.
31867 * kern/efi/mm.c: Likewise.
31868 * kern/main.c: Likewise.
31869 * kern/err.c: Likewise.
31870 * kern/env.c: Likewise.
31871 * kern/disk.c: Likewise.
31872 * kern/generic/millisleep.c: Likewise.
31873 * kern/generic/rtc_get_time_ms.c: Likewise.
31874 * kern/misc.c: Likewise.
31875 * kern/parser.c: Likewise.
31876 * genmk.rb: Likewise.
31877 * configure.ac: Likewise.
31878 * boot/i386/pc/diskboot.S: Likewise.
31879 * boot/i386/pc/pxeboot.S: Likewise.
31880 * boot/i386/pc/boot.S: Likewise.
31881 * boot/i386/pc/lnxboot.S: Likewise.
31882 * boot/i386/pc/cdboot.S: Likewise.
31883 * parttool/pcpart.c: Likewise.
31884 * video/readers/tga.c: Likewise.
31885 * video/video.c: Likewise.
31886 * video/bitmap.c: Likewise.
31887 * lib/envblk.c: Likewise.
31888 * lib/i386/setjmp.S: Likewise.
31889 * fs/xfs.c: Likewise.
31890 * fs/afs.c: Likewise.
31891 * fs/fat.c: Likewise.
31892 * fs/ntfs.c: Likewise.
31893 * fs/udf.c: Likewise.
31894 * fs/affs.c: Likewise.
31895 * fs/iso9660.c: Likewise.
31896 * fs/hfs.c: Likewise.
31897 * fs/fshelp.c: Likewise.
31898 * fs/ext2.c: Likewise.
31899 * fs/jfs.c: Likewise.
31900 * fs/reiserfs.c: Likewise.
31901 * fs/hfsplus.c: Likewise.
31902 * fs/minix.c: Likewise.
31903 * fs/cpio.c: Likewise.
31904 * fs/sfs.c: Likewise.
31905 * fs/ufs.c: Likewise.
31906 * efiemu/prepare.c: Likewise.
31907 * efiemu/loadcore_common.c: Likewise.
31908 * efiemu/runtime/efiemu.sh: Likewise.
31909 * efiemu/runtime/efiemu.S: Likewise.
31910 * efiemu/runtime/efiemu.c: Likewise.
31911 * efiemu/pnvram.c: Likewise.
31912 * efiemu/main.c: Likewise.
31913 * efiemu/i386/pc/cfgtables.c: Likewise.
31914 * efiemu/i386/loadcore64.c: Likewise.
31915 * efiemu/i386/loadcore32.c: Likewise.
31916 * efiemu/loadcore.c: Likewise.
31917 * efiemu/symbols.c: Likewise.
31918 * efiemu/mm.c: Likewise.
31919 * include/grub/autoefi.h: Likewise.
31920 * include/grub/datetime.h: Likewise.
31921 * include/grub/term.h: Likewise.
31922 * include/grub/hfs.h: Likewise.
31923 * include/grub/lvm.h: Likewise.
31924 * include/grub/i386/tsc.h: Likewise.
31925 * include/grub/i386/linux.h: Likewise.
31926 * include/grub/i386/xnu.h: Likewise.
31927 * include/grub/i386/efiemu.h: Likewise.
31928 * include/grub/i386/pc/biosdisk.h: Likewise.
31929 * include/grub/i386/pc/memory.h: Likewise.
31930 * include/grub/i386/pc/vbe.h: Likewise.
31931 * include/grub/parttool.h: Likewise.
31932 * include/grub/video.h: Likewise.
31933 * include/grub/memory.h: Likewise.
31934 * include/grub/fs.h: Likewise.
31935 * include/grub/partition.h: Likewise.
31936 * include/grub/xnu.h: Likewise.
31937 * include/grub/efi/api.h: Likewise.
31938 * include/grub/efi/pe32.h: Likewise.
31939 * include/grub/efi/memory.h: Likewise.
31940 * include/grub/multiboot.h: Likewise.
31941 * include/grub/usbdesc.h: Likewise.
31942 * include/grub/multiboot2.h: Likewise.
31943 * include/grub/acpi.h: Likewise.
31944 * include/grub/efiemu/efiemu.h: Likewise.
31945 * include/grub/disk.h: Likewise.
31946 * include/grub/ieee1275/ieee1275.h: Likewise.
31947 * include/grub/net.h: Likewise.
31948 * include/grub/machoload.h: Likewise.
31949 * include/grub/macho.h: Likewise.
31950 * include/multiboot.h: Likewise.
31951 * genmoddep.awk: Likewise.
31952 * normal/main.c: Likewise.
31953 * normal/menu_entry.c: Likewise.
31954 * normal/menu_viewer.c: Likewise.
31955 * normal/completion.c: Likewise.
31956 * normal/cmdline.c: Likewise.
31957 * normal/misc.c: Likewise.
31958 * normal/datetime.c: Likewise.
31959 * bus/usb/usbtrans.c: Likewise.
31960 * bus/usb/ohci.c: Likewise.
31961 * bus/usb/uhci.c: Likewise.
31962 * bus/usb/usb.c: Likewise.
31963 * mmap/efi/mmap.c: Likewise.
31964 * mmap/i386/pc/mmap_helper.S: Likewise.
31965 * mmap/i386/pc/mmap.c: Likewise.
31966 * mmap/i386/mmap.c: Likewise.
31967 * mmap/i386/uppermem.c: Likewise.
31968 * mmap/mmap.c: Likewise.
31969 * commands/acpi.c: Likewise.
31970 * commands/echo.c: Likewise.
31971 * commands/blocklist.c: Likewise.
31972 * commands/loadenv.c: Likewise.
31973 * commands/usbtest.c: Likewise.
31974 * commands/boot.c: Likewise.
31975 * commands/parttool.c: Likewise.
31976 * commands/search.c: Likewise.
31977 * commands/cat.c: Likewise.
31978 * commands/i386/pc/play.c: Likewise.
31979 * commands/i386/pc/drivemap.c: Likewise.
31980 * commands/i386/pc/vbeinfo.c: Likewise.
31981 * commands/i386/pc/acpi.c: Likewise.
31982 * commands/i386/pc/vbetest.c: Likewise.
31983 * commands/ls.c: Likewise.
31984 * commands/cmp.c: Likewise.
31985 * commands/test.c: Likewise.
31986 * commands/efi/acpi.c: Likewise.
31987 * commands/gptsync.c: Likewise.
31988 * commands/help.c: Likewise.
31989 * partmap/amiga.c: Likewise.
31990 * partmap/apple.c: Likewise.
31991 * partmap/acorn.c: Likewise.
31992 * partmap/pc.c: Likewise.
31993 * partmap/sun.c: Likewise.
31994 * partmap/gpt.c: Likewise.
31995 * script/sh/lexer.c: Likewise.
31996 * script/sh/function.c: Likewise.
31997 * font/font.c: Likewise.
31998 * font/font_cmd.c: Likewise.
31999 * loader/powerpc/ieee1275/linux.c: Likewise.
32000 * loader/efi/chainloader.c: Likewise.
32001 * loader/multiboot_loader.c: Likewise.
32002 * loader/macho.c: Likewise.
32003 * loader/i386/multiboot.c: Likewise.
32004 * loader/i386/linux.c: Likewise.
32005 * loader/i386/pc/linux.c: Likewise.
32006 * loader/i386/pc/multiboot2.c: Likewise.
32007 * loader/i386/pc/chainloader.c: Likewise.
32008 * loader/i386/pc/xnu.c: Likewise.
32009 * loader/i386/bsd_trampoline.S: Likewise.
32010 * loader/i386/efi/linux.c: Likewise.
32011 * loader/i386/multiboot_elfxx.c: Likewise.
32012 * loader/i386/bsd_helper.S: Likewise.
32013 * loader/i386/bsd.c: Likewise.
32014 * loader/i386/linux_trampoline.S: Likewise.
32015 * loader/i386/xnu_helper.S: Likewise.
32016 * loader/i386/xnu.c: Likewise.
32017 * loader/i386/bsd_pagetable.c: Likewise.
32018 * loader/i386/multiboot_helper.S: Likewise.
32019 * loader/xnu.c: Likewise.
32020 * loader/xnu_resume.c: Likewise.
32021 * io/gzio.c: Likewise.
32022 * term/efi/console.c: Likewise.
32023 * term/terminfo.c: Likewise.
32024 * term/ieee1275/ofconsole.c: Likewise.
32025 * term/i386/pc/serial.c: Likewise.
32026 * term/i386/pc/vesafb.c: Likewise.
32027 * term/i386/pc/vga.c: Likewise.
32028 * term/usb_keyboard.c: Likewise.
32029 * term/gfxterm.c: Likewise.
32030 * aclocal.m4: Likewise.
32031 * util/lvm.c: Likewise.
32032 * util/grub.d/30_os-prober.in: Likewise.
32033 * util/grub.d/10_hurd.in: Likewise.
32034 * util/console.c: Likewise.
32035 * util/grub-macho2img.c: Likewise.
32036 * util/grub-probe.c: Likewise.
32037 * util/hostfs.c: Likewise.
32038 * util/i386/pc/grub-mkimage.c: Likewise.
32039 * util/i386/pc/grub-setup.c: Likewise.
32040 * util/i386/efi/grub-mkimage.c: Likewise.
32041 * util/grub-mkconfig.in: Likewise.
32042 * util/raid.c: Likewise.
32043 * util/resolve.c: Likewise.
32044 * util/grub-mkdevicemap.c: Likewise.
32045 * util/grub-emu.c: Likewise.
32046 * util/getroot.c: Likewise.
32047 * util/hostdisk.c: Likewise.
32048 * util/usb.c: Likewise.
32049 * util/grub-editenv.c: Likewise.
32050 * util/misc.c: Likewise.
32051
d2d49665 320522009-06-10 Felix Zielcke <fzielcke@z-51.de>
32053
32054 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
32055 `genparttoollist.sh'.
32056 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
32057 Add `*.sh' to the list find searches for and change `mdate.sh'
32058 to `mdate-sh'.
32059
fe052e37 320602009-06-10 Pavel Roskin <proski@gnu.org>
32061
2763ac18 32062 * include/grub/multiboot2.h: Provide compatibility defines for
32063 multiboot2.h.
32064 * include/multiboot2.h: Include stdint.h only if needed, using
32065 angle brackets.
32066 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
32067 grub/multiboot2.h.
32068 * loader/ieee1275/multiboot2.c: Likewise.
32069 * loader/multiboot2.c: Likewise.
32070 * loader/multiboot_loader.c: Likewise.
32071
437e6adc 32072 * configure.ac: Use -nostdlib when probing for the target. It
32073 should not be required to have libc for the target.
32074
06a6836c 32075 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
32076 they fail without libc headers for the target.
32077 * include/grub/powerpc/libgcc.h: Use weak attribute for all
32078 exports.
32079 * include/grub/sparc64/libgcc.h: Likewise. Don't use
32080 preprocessor conditionals.
32081
fe052e37 32082 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
32083 build system doesn't need to be aware of the tar.c internals.
32084
afd22553 320852009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 32086
afd22553 32087 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 32088
6b787c4f 320892009-06-09 Robert Millan <rmh.grub@aybabtu.com>
32090
32091 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
32092 disk limit to 26 for IDE, Virtio, Xen and SCSI.
32093
320942009-06-09 Felix Zielcke <fzielcke@z-51.de>
32095
32096 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 32097 aren't available if ata.mod gets used.
6b787c4f 32098
473d1e45 320992009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 32100
473d1e45 32101 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 32102 initialising controller.
473d1e45 32103 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 32104
255a27d4 321052009-06-08 Felix Zielcke <fzielcke@z-51.de>
32106
32107 * util/i386/pc/grub-install.in: Add a parameter --disk-module
32108 to choose between ata and biosdisk module on i386-pc.
32109
473d1e45 321102009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 32111
d55842d8 32112 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
32113 Subclass and Programming Interface fields in terms of the 3 byte
32114 Class Code register.
32115 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32116
fa5db0b1 32117 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
32118 interface is OHCI. Add grub_dprintf for symmetry with
32119 bus/usb/uhci.c.
32120 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
32121 interface is UHCI. Add interf variable for programming
32122 interface. Print interface with class/subclass.
32123
c0947beb 32124 * bus/usb/ohci.c: Set interf with correct field.
32125
69da8877 32126 * bus/usb/uhci.c: Remove unneeded doubled lines.
32127 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
32128 Remove whitespace inside comment.
32129
9e172e30 321302009-06-08 Robert Millan <rmh.grub@aybabtu.com>
32131
32132 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
32133 as fallback an equivalent option without depth.
32134
de65ee2b 321352009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32136
32137 Not fail if unable to retrieve C/H/S on LBA disks
32138
473d1e45 32139 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 32140 if unable to retrieve C/H/S on LBA disks
32141
b57ea2c9 321422009-06-08 Pavel Roskin <proski@gnu.org>
32143
32144 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
32145 about aliasing.
32146
af361263 321472009-06-08 Felix Zielcke <fzielcke@z-51.de>
32148
32149 * Makefile.in (uninstall): Remove all $lib_DATA files.
32150
4c9ec6b3 321512009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32152
32153 Bugfix: install on partitionless device
32154
32155 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
32156 is a whole disk
32157
e76fc924 321582009-06-08 Felix Zielcke <fzielcke@z-51.de>
32159
32160 * Makefile.in (uninstall): Remove all $include_DATA files.
32161
ba5a0d05 321622009-06-08 Felix Zielcke <fzielcke@z-51.de>
32163
32164 * commands/true.c: New file. Implement the true and false commands.
32165 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
32166 (true_mod_SOURCES): New variable.
32167 (true_mod_CFLAGS): Likewise.
32168 (true_mod_LDFLAGS): Likewise.
32169
c8048e32 321702009-06-05 Colin D Bennett <colin@gibibit.com>
32171
32172 Optimized font character lookup using binary search instead of linear
32173 search. Fonts now are required to have the character index ordered by
32174 code point.
32175
32176 * font/font.c (load_font_index): Verify that fonts have ordered
32177 character indices.
32178 (find_glyph): Use binary search instead of linear search to find a
32179 character in a font.
32180
408305be 321812009-06-05 Michael Scherer <misc@mandriva.org>
32182
32183 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
32184 uses case sensitive btree.
32185 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
32186 only for case insensitive filesystems.
32187
8ee1e0d9 321882009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
32189
32190 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
32191 * conf/common.rmk (search_mod_CFLAGS): likewise
32192
a9966eb1 321932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32194
473d1e45 32195 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 32196 compensate a compiler bug
32197
9e7100fb 321982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32199
473d1e45 32200 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 32201 instead of '\b'
473d1e45 32202
ede21d71 322032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32204
32205 Definitions for creating asm symbols with Apple's CC
32206
32207 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
32208 [APPLE_CC] (VARIABLE): likewise
32209
9dbf7653 322102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32211
32212 Disable lnxboot.img when compiled
32213 with Apple's CC
32214
32215 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
32216 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
32217 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
32218 [! APPLE_CC] (CODE_LENG): skip
32219 [! APPLE_CC] (setup_sects): likewise
32220 [! APPLE_CC]: skip filling
473d1e45 32221
e93cdc3d 322222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32223
32224 Address in trampolines based on 32-bit registers when compiled
32225 with Apple's CC
32226
473d1e45 32227 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 32228 for addresses
32229 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
32230
6c688477 322312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32232
32233 Avoid aliases when compiling with Apple's CC for PCBIOS machine
32234
32235 * kern/misc.c [APPLE_CC] (memcpy): new function
32236 [APPLE_CC] (memmove): likewise
32237 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 32238 (memcpy): define alias conditionally on !APPLE_CC
6c688477 32239 (memset): likewise
32240 (abort): likewise
32241 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
32242 APPLE_CC are defined
32243 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
32244 (grub_assert_fail): make prototype conditional
32245
e37ffc5c 322462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32247
32248 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
32249
473d1e45 32250 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
32251 grub-macho2img
e37ffc5c 32252 (CLEANFILES): add grub-macho2img
32253 (grub_macho2img_SOURCES): new variable
32254 * kern/i386/pc/startup.S (bss_start): new variable
32255 (bss_end): likewise
32256 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
32257 * util/grub-macho2img.c: new file
32258
cf00df31 322592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32260
32261 Use objconv when compiling with Apple's CC
32262
32263 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
32264 (efiemu64.o): likewise
32265 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
32266 when compiling with Apple's CC
32267 (efiemu64_s.o): likewise
32268 * configure.ac: check for objconv when compiling with Apple's CC
32269 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 32270
d119a20c 322712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32272
32273 Define segment as well as section when compiling with
32274 Apple's CC
32275
32276 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
32277 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
32278 (efiemu_convert_pointer): likewise
32279 (efiemu_set_virtual_address_map): likewise
32280 (efiemu_convert_pointer): likewise
32281 (efiemu_getcrc32): likewise
32282 (init_crc32_table): likewise
32283 (reflect): likewise
32284 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
32285 (GRUB_MOD_DEP): likewise
473d1e45 32286
c8600122 322872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32288
32289 Allow a compilation without -mcmodel=large
32290
32291 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
32292 when compiled without -mcmodel=large
473d1e45 32293 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 32294 without -mcmodel=large
473d1e45 32295 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 32296 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 32297
e8df1d4e 322982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32299
32300 Remove nested functions in efiemu core
32301
32302 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 32303
cc6c3ac1 323042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32305
32306 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
32307
32308 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
32309 temporary storage
473d1e45 32310 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
32311 using Apple's CC
cc6c3ac1 32312 (grub_cpu_is_tsc_supported): likewise
32313 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 32314
3e325901 323152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32316
32317 Absolute addressing through constant with Apple's cc
32318
32319 * kern/i386/pc/startup.S: Define necessary constants
32320 and address through it when using ABS with Apple's CC
32321 * boot/i386/pc/diskboot.S: likewise
32322 * boot/i386/pc/boot.S: likewise
32323 * boot/i386/pc/lnxboot.S: likewise
32324 * boot/i386/pc/cdboot.S: likewise
32325 * mmap/i386/pc/mmap_helper.S: likewise
32326 * commands/i386/pc/drivemap_int13h.S: likewise
32327
2b167a72 323282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32329
32330 Check if compiler is apple cc
32331
32332 * Makefile.in (ASFLAGS): new variable
32333 (TARGET_ASFLAGS): likewise
32334 (TARGET_MODULE_FORMAT): likewise
32335 (TARGET_APPLE_CC): likewise
32336 (OBJCONV): likewise
32337 (TARGET_IMG_CFLAGS): likewise
32338 (TARGET_CPPFLAGS): add includedir
32339 * configure.ac: call grub_apple_cc and grub_apple_target_cc
32340 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
32341 Check for linker script only if compiler isn't Apple's CC
32342 (TARGET_MODULE_FORMAT): set
32343 (TARGET_APPLE_CC): likewise
32344 (TARGET_ASFLAGS): likewise
32345 (ASFLAGS): likewise
32346 Check for objcopy only if compiler isn't Apple's CC
32347 Check for BSS symbol only if compiler isn't Apple's CC
32348 * genmk.rb: adapt nm options if we use Apple's utils
32349 * aclocal.m4 (grub_apple_cc): new test
32350 (grub_apple_target_cc): likewise
473d1e45 32351
fb14123e 323522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32353
32354 Simplify sed expressions and improve awk
32355
32356 * Makefile.in (install-local): simplify sed expression
32357 * gencmdlist.sh: likewise
32358 * genmoddep.awk: avoid adding module as a dependency of itself
32359
5b889789 323602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32361
32362 Add missing start symbols
32363
32364 * boot/i386/pc/boot.S: add start
fb14123e 32365 * boot/i386/pc/pxeboot.S: likewise
473d1e45 32366
fd2bf2e3 323672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32368
32369 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 32370
32371 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 32372 (relocate_addresses): consider both r_addend and value at offset
32373 (make_mods_section): zerofill modinfo and header
32374 (convert_elf): write prefix here
473d1e45 32375
5389763d 323762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32377
32378 Use .asciz instead of .string
32379
32380 * i386/pc/diskboot.S: use .asciz instead of .string
32381 * i386/pc/boot.S: likewise
32382 * include/grub/dl.h (GRUB_MOD_DEP): likewise
32383 (GRUB_MOD_NAME): likewise
473d1e45 32384
3eb5ed4e 323852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32386
32387 gfxpayload support
32388
32389 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
32390 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
32391 (grub_video_setup): remove
32392 (grub_video_set_mode): new prototype
32393 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
32394 (vid_mode): remove
32395 (linux_vesafb_res): compile only on PCBIOS
32396 (grub_linux_boot): support gfxpayload
32397 * loader/i386/pc/xnu.c (video_hook): new function
32398 (grub_xnu_set_video): support gfxpayload
32399 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
32400 (DEFAULT_VIDEO_HEIGHT): likewise
32401 (DEFAULT_VIDEO_FLAGS): likewise
32402 (DEFAULT_VIDEO_MODE): new definition
32403 (video_hook): new function
32404 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 32405 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 32406 loading xnu
32407 * video/video.c (grub_video_setup): removed
473d1e45 32408 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 32409 grub_video_setup
32410
4b0e1143 324112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32412
32413 Avoid calling biosdisk in drivemap
32414
32415 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
32416 (revparse_biosdisk): likewise
32417 (list_mappings): derive name from id directly
32418 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 32419
fda6cb98 324202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32421
32422 Script fixes
32423
32424 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
32425 (grub_lexer_param): add tokenonhold
32426 (grub_script_create_cmdline): remove cmdline. All callers updated
32427 (grub_script_function_create): make functionname
32428 grub_script_arg. All callers updated
32429 (grub_script_execute_argument_to_string): new prototype
32430 * kern/parser.c (state_transitions): reorder
32431 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 32432 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 32433 make global
32434 (grub_script_execute_cmdline): use new format
32435 * script/sh/function.c (grub_script_function_create): make functionname
32436 grub_script_arg. All callers updated
473d1e45 32437 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 32438 (grub_script_yylex): remove
32439 (grub_script_yylex2): renamed to ...
32440 (grub_script_yylex): ...renamed
32441 parse the expressions like a${b}c
32442 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
32443 (GRUB_PARSER_TOKEN_VAR): remove
32444 (GRUB_PARSER_TOKEN_NAME): likewise
32445 ("if"): declare as typeless
32446 ("while"): likewise
32447 ("function"): likewise
32448 ("else"): likewise
32449 ("then"): likewise
32450 ("fi"): likewise
32451 (text): remove
32452 (argument): likewise
32453 (script): accept empty scripts and make exit on error
32454 (arguments): use GRUB_PARSER_TOKEN_ARG
32455 (function): likewise
32456 (command): move error handling to script
32457 (menuentry): move grub_script_lexer_ref before
473d1e45 32458 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 32459 argument. All callers updated
32460
f4448a07 324612009-06-04 Robert Millan <rmh.grub@aybabtu.com>
32462
32463 Prevent GRUB from probing floppies during boot.
32464
32465 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
32466 * commands/search.c (options): Add --no-floppy.
32467 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
32468 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
32469 --no-floppy when searching for UUIDs.
32470
2bf5885a 324712009-06-04 Robert Millan <rmh.grub@aybabtu.com>
32472
32473 Simplify the code duplication in commands/search.c.
32474
32475 * commands/search.c (search_label, search_fs_uuid): Merge into ...
32476 (search_fs): ... this. Update all users.
32477
f6fd460a 324782009-06-03 Felix Zielcke <fzielcke@z-51.de>
32479
32480 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
32481
cbb3c83e 324822009-05-28 Pavel Roskin <proski@gnu.org>
32483
57788cfd 32484 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
32485 Remove the original symlink explicitly.
32486
cbb3c83e 32487 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
32488 just one slash. That's how grub_fshelp_find_file() does it.
32489
cd0d5e30 324902009-05-26 Pavel Roskin <proski@gnu.org>
32491
f0f8bbe2 32492 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
32493 to `str'.
32494
cd0d5e30 32495 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
32496 possibly unused.
32497
8c2cab51 324982009-05-25 Christian Franke <franke@computer.org>
32499
32500 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
32501 register.
32502 (grub_atapi_identify): Add wait after drive select.
32503 (grub_ata_identify): Do more strict status register check before
32504 calling grub_atapi_identify (). Suppress error message if status
32505 register is 0x00 after command failure. Add status register
32506 check after PIO read to avoid bogus identify due to stuck DRQ.
32507 Thanks to Pavel Roskin for testing.
32508 (grub_device_initialize): Remove unsafe status register check.
32509 Thanks to 'phcoder' for problem report and patch.
32510 Prevent sign extension in debug message.
32511
230c0ad6 325122009-05-23 Colin D Bennett <colin@gibibit.com>
32513
32514 Cleaned up `include/grub/normal.h'. Grouped prototypes by
32515 definition file, and functions defined in `normal/menu.c' have had
32516 their prototypes moved to `include/grub/menu.h' for consistency.
32517
32518 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
32519 from normal.h.
32520 (grub_menu_get_entry): Likewise.
32521 (grub_menu_get_timeout): Likewise.
32522 (grub_menu_set_timeout): Likewise.
32523 (grub_menu_execute_entry): Likewise.
32524 (grub_menu_execute_with_fallback): Likewise.
32525 (grub_menu_entry_run): Likewise.
32526
32527 * include/grub/normal.h: Re-ordered and grouped function
32528 prototypes by file that the function is defined in.
32529 (grub_menu_execute_callback): Removed; moved to menu.h.
32530 (grub_menu_get_entry): Likewise.
32531 (grub_menu_get_timeout): Likewise.
32532 (grub_menu_set_timeout): Likewise.
32533 (grub_menu_execute_entry): Likewise.
32534 (grub_menu_execute_with_fallback): Likewise.
32535 (grub_menu_entry_run): Likewise.
32536 (grub_menu_addentry): Renamed from this ...
32537 (grub_normal_add_menu_entry): ... to this.
32538
32539 * normal/main.c (grub_menu_addentry): Renamed from this ...
32540 (grub_normal_add_menu_entry): ... to this.
32541
32542 * script/sh/execute.c (grub_script_execute_menuentry): Update
32543 reference to renamed grub_menu_addentry function.
32544
861f03a5 325452009-05-23 Felix Zielcke <fzielcke@z-51.de>
32546
32547 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
32548
96b1619a 325492009-05-22 Pavel Roskin <proski@gnu.org>
32550
bf6a5fb2 32551 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
32552 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
32553 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
32554 compiling for the i386 targets, but not for the utilities.
32555
96b1619a 32556 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
32557 to grub_uint8_t.
32558 (grub_root_drive): Likewise.
32559 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
32560 remove alignment.
32561 (grub_root_drive): Change size to byte.
32562 (grub_start_addr): Remove.
32563 (grub_end_addr): Likewise.
32564 (grub_apm_bios_info): Likewise.
32565
b729776b 325662009-05-21 Felix Zielcke <fzielcke@z-51.de>
32567
32568 * normal/i386: Remove.
32569 * normal/powerpc: Likewise.
32570 * normal/sparc64: Likewise.
32571 * normal/x86_64: Likewise.
32572
0a15ce80 325732009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
32574
32575 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 32576 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 32577 * loader/i386/xnu_helper.S: Likewise
d6da58e6 32578
33db9015 325792009-05-18 Colin D Bennett <colin@gibibit.com>
32580
d6da58e6 32581 Display error messages when parsing a Lua statement fails.
32582 Previously, executing a syntactically invalid statement like
32583 ")foo" or "bar;" would silently fail.
33db9015 32584
32585 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 32586 (grub_lua_parse_line): Improved reporting of Lua parser and
32587 execution errors.
33db9015 32588
46422c89 325892009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
32590
32591 Remove -Werror which causes build to fail on some systems
32592
32593 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
32594 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
32595 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 32596
22f53a96 325972009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
32598
32599 trampoline for linux on 64-bit platform
32600
18f547ad 32601 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
32602 loader/i386/efi/linux_trampoline.S
32603 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 32604 declaration
d6da58e6 32605 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
32606 here
22f53a96 32607 * loader/i386/linux_trampoline.S: moved here
d6da58e6 32608 * loader/i386/efi/linux.c (allocate_pages): reserve space for
32609 trampoline
22f53a96 32610 (jumpvector): removed
32611 (grub_linux_trampoline_start): new declaration
32612 (grub_linux_trampoline_end): likewise
32613 (grub_linux_boot): use trampoline when on 64-bit platform
32614 * loader/i386/linux.c: likewise
32615
cb5a0f40 326162009-05-16 Pavel Roskin <proski@gnu.org>
32617
32618 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
32619 const to avoid a warning.
32620 (grub_lua_setenv): Likewise.
32621 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
32622 lmsg to fix a warning.
32623
334f2c28 326242009-05-16 Felix Zielcke <fzielcke@z-51.de>
32625
32626 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 32627 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32628 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
32629 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32630 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
32631 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32632 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
32633 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 32634
59e5d3ec 326352009-05-16 Felix Zielcke <fzielcke@z-51.de>
32636
32637 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
32638
9d87a1ba 326392009-05-16 Bean <bean123ch@gmail.com>
32640
32641 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
32642 (lua_mod_SOURCES): New variable.
32643 (lua_mod_CFLAGS): Likewise.
32644 (lua_mod_LDFLAGS): Likewise.
32645
32646 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
32647 (setjmp_mod_SOURCES): New variable.
32648 (setjmp_mod_CFLAGS): Likewise.
32649 (setjmp_LDFLAGS): Likewise.
32650
32651 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
32652 (setjmp_mod_SOURCES): New variable.
32653 (setjmp_mod_CFLAGS): Likewise.
32654 (setjmp_LDFLAGS): Likewise.
32655
32656 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
32657 (setjmp_mod_SOURCES): New variable.
32658 (setjmp_mod_CFLAGS): Likewise.
32659 (setjmp_LDFLAGS): Likewise.
32660
32661 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
32662 (setjmp_mod_SOURCES): New variable.
32663 (setjmp_mod_CFLAGS): Likewise.
32664 (setjmp_LDFLAGS): Likewise.
32665
32666 * normal/i386/setjmp.S: Moved from here ...
32667 * lib/i386/setjmp.S: ... Moved here
32668 * normal/x86_64/setjmp.S: Moved from here ...
32669 * lib/x86_64/setjmp.S: ... Moved here
32670 * normal/powerpc/setjmp.S: Moved from here ...
32671 * lib/powerpc/setjmp.S: ... Moved here
32672 * normal/sparc64/setjmp.S: Moved from here ...
32673 * lib/sparc64/setjmp.S: ... Moved here
32674
32675 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
32676 returns_twice in mingw.
32677
32678 * script/lua/grub_lib.c: New file.
32679 * script/lua/grub_lib.h: Likewise.
32680 * script/lua/grub_lua.h: Likewise.
32681 * script/lua/grub_main.c: Likewise.
32682 * script/lua/lapi.c: Likewise.
32683 * script/lua/lapi.h: Likewise.
32684 * script/lua/lauxlib.c: Likewise.
32685 * script/lua/lauxlib.h: Likewise.
32686 * script/lua/lbaselib.c: Likewise.
32687 * script/lua/lcode.c: Likewise.
32688 * script/lua/lcode.h: Likewise.
32689 * script/lua/ldblib.c: Likewise.
32690 * script/lua/ldebug.c: Likewise.
32691 * script/lua/ldebug.h: Likewise.
32692 * script/lua/ldo.c: Likewise.
32693 * script/lua/ldo.h: Likewise.
32694 * script/lua/ldump.c: Likewise.
32695 * script/lua/lfunc.c: Likewise.
32696 * script/lua/lfunc.h: Likewise.
32697 * script/lua/lgc.c: Likewise.
32698 * script/lua/lgc.h: Likewise.
32699 * script/lua/linit.c: Likewise.
32700 * script/lua/liolib.c: Likewise.
32701 * script/lua/llex.c: Likewise.
32702 * script/lua/llex.h: Likewise.
32703 * script/lua/llimits.h: Likewise.
32704 * script/lua/lmathlib.c: Likewise.
32705 * script/lua/lmem.c: Likewise.
32706 * script/lua/lmem.h: Likewise.
32707 * script/lua/loadlib.c: Likewise.
32708 * script/lua/lobject.c: Likewise.
32709 * script/lua/lobject.h: Likewise.
32710 * script/lua/lopcodes.c: Likewise.
32711 * script/lua/lopcodes.h: Likewise.
32712 * script/lua/loslib.c: Likewise.
32713 * script/lua/lparser.c: Likewise.
32714 * script/lua/lparser.h: Likewise.
32715 * script/lua/lstate.c: Likewise.
32716 * script/lua/lstate.h: Likewise.
32717 * script/lua/lstring.c: Likewise.
32718 * script/lua/lstring.h: Likewise.
32719 * script/lua/lstrlib.c: Likewise.
32720 * script/lua/ltable.c: Likewise.
32721 * script/lua/ltable.h: Likewise.
32722 * script/lua/ltablib.c: Likewise.
32723 * script/lua/ltm.c: Likewise.
32724 * script/lua/ltm.h: Likewise.
32725 * script/lua/lua.h: Likewise.
32726 * script/lua/luaconf.h: Likewise.
32727 * script/lua/lualib.h: Likewise.
32728 * script/lua/lundump.c: Likewise.
32729 * script/lua/lundump.h: Likewise.
32730 * script/lua/lvm.c: Likewise.
32731 * script/lua/lvm.h: Likewise.
32732 * script/lua/lzio.c: Likewise.
32733 * script/lua/lzio.h: Likewise.
32734
5e898c9d 327352009-05-16 Bean <bean123ch@gmail.com>
32736
32737 * include/grub/kernel.h (grub_module_header_types): Add type
32738 OBJ_TYPE_CONFIG.
32739
32740 * kern/main.c (grub_load_config): New function.
32741 (grub_main): Call grub_load_config to read boot config.
32742
32743 * grub-mkimage (generate_image): New parameter config_path.
32744 (options): New option --config.
32745 (main): Parse --config option, and pass it to generate_image.
32746
cf353a47 327472009-05-14 Christian Franke <franke@computer.org>
32748
32749 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
32750 This fixes build on Cygwin.
32751
3834887f 327522009-05-14 Pavel Roskin <proski@gnu.org>
32753
32754 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
32755 jump. This saves two bytes, so the typical case of 2 swapped
32756 drives would fit 32 bytes.
32757
8090fc01 327582009-05-13 Pavel Roskin <proski@gnu.org>
32759
ac963883 32760 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
32761 grub_uint32_t to avoid a warning.
32762
8090fc01 32763 * loader/i386/linux.c (allocate_pages): When assigning
32764 real_mode_mem, cast through grub_size_t to fix a warning. The
32765 code already makes sure that the value would fit a pointer.
32766 (grub_linux_setup_video): Cast render_target->data to
32767 grub_size_t to fix a warning.
32768
18f547ad 327692009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 32770
32771 * commands/i386/pc/drivemap.c: New file - implement drivemap
32772 command.
32773 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
32774 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
32775
6f6a8b28 327762009-05-13 Pavel Roskin <proski@gnu.org>
32777
32778 * util/i386/pc/grub-setup.c (setup): Remove unused variable
32779 embedding_area_exists.
32780
15fbf4c4 327812009-05-13 Robert Millan <rmh.grub@aybabtu.com>
32782
32783 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
32784 it easier to understand / work with.
59978c8a 32785 Improve warning messages for cases where there's no embedding area,
32786 or when it is too small (or core.img too large).
15fbf4c4 32787
238e871f 327882009-05-13 Pavel Roskin <proski@gnu.org>
32789
0ab3a9a4 32790 * loader/i386/pc/multiboot2.c: Add necessary includes for
32791 grub_multiboot2_real_boot().
32792
a2c8c5f8 32793 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
32794 PX record is always little-endian. We only need the lower 2
32795 bytes of the mode.
32796
faec96af 32797 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
32798 facilitate code reuse.
32799 (grub_cpio_mount): Use "struct head", not a char buffer. This
32800 fixes a warning reported by gcc 4.4.
32801
238e871f 32802 * kernel/disk.c (grub_disk_read): Use void pointer for the
32803 buffer.
32804 (grub_disk_write): Use const void pointer for the buffer.
32805 Adjust all callers. Remove unnecessary casts.
32806
901d2f0c 328072009-05-10 Robert Millan <rmh.grub@aybabtu.com>
32808
32809 * util/i386/pc/grub-install.in: Update copyright year.
32810
18f547ad 328112009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 32812
32813 gptsync
32814
32815 * commands/gptsync.c: new file
32816 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
32817 (gptsync_mod_SOURCES): new variable
32818 (gptsync_mod_CFLAGS): likewise
32819 (gptsync_mod_LDFLAGS): likewise
18f547ad 32820 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 32821 new definition
32822 (GRUB_PC_PARTITION_TYPE_HFS): likewise
32823 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
32824 * conf/i386-ieee1275.rmk: likewise
32825 * conf/i386-pc.rmk: likewise
32826 * conf/powerpc-ieee1275.rmk: likewise
32827
b4ba690a 328282009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
32829
32830 Fixed grub-emu
32831
32832 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
32833 (grub_dl_ref): likewise
32834
317e1a44 328352009-05-08 Robert Millan <rmh.grub@aybabtu.com>
32836
32837 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
32838 split in two functions (one for msdos and one for gpt).
32839
041b8094 328402009-05-08 Pavel Roskin <proski@gnu.org>
32841
752473c2 32842 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
32843 not modified.
32844
041b8094 32845 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
32846 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
32847 Initialize them with -1. Add sanity check for bad1. Eliminate
32848 nerr variable.
32849
172800ce 328502009-05-08 David S. Miller <davem@davemloft.net>
32851
32852 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
32853
29aa5e81 328542009-05-06 Robert Millan <rmh.grub@aybabtu.com>
32855
32856 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 32857 existence.
29aa5e81 32858
96613b62 328592009-05-05 Felix Zielcke <fzielcke@z-51.de>
32860
32861 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 32862 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 32863
eef73c8a 328642009-05-05 David S. Miller <davem@davemloft.net>
32865
32866 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
32867
119494b5 328682009-05-05 Pavel Roskin <proski@gnu.org>
32869
32870 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
32871 of grub_dl_ref() and grub_dl_unref().
32872 * commands/parttool.c: Remove preprocessor conditionals around
32873 grub_dl_ref() and grub_dl_unref().
32874 * fs/affs.c: Likewise.
32875 * fs/afs.c: Likewise.
32876 * fs/cpio.c: Likewise.
32877 * fs/ext2.c: Likewise.
32878 * fs/fat.c: Likewise.
32879 * fs/hfs.c: Likewise.
32880 * fs/hfsplus.c: Likewise.
32881 * fs/iso9660.c: Likewise.
32882 * fs/jfs.c: Likewise.
32883 * fs/minix.c: Likewise.
32884 * fs/ntfs.c: Likewise.
32885 * fs/reiserfs.c: Likewise.
32886 * fs/sfs.c: Likewise.
32887 * fs/udf.c: Likewise.
32888 * fs/ufs.c: Likewise.
32889 * fs/xfs.c: Likewise.
32890 * include/grub/dl.h: Likewise.
32891 * loader/xnu.c: Likewise.
32892
de5fd76e 328932009-05-04 Pavel Roskin <proski@gnu.org>
32894
32895 * commands/acpi.c: Remove unused variable my_mod.
32896 * partmap/amiga.c: Likewise.
32897 * partmap/apple.c: Likewise.
32898 * partmap/gpt.c: Likewise.
32899 * partmap/pc.c: Likewise.
32900 * partmap/sun.c: Likewise.
32901 * term/gfxterm.c: Likewise.
32902 * term/i386/pc/vesafb.c: Likewise.
32903 * term/i386/pc/vga.c: Likewise.
32904
983598ad 329052009-05-04 David S. Miller <davem@davemloft.net>
32906
32907 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
32908 pointer args to grub_ieee1275_get_property().
32909
8aadec43 32910 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
32911
9554b15e 32912 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
32913 devices, and do not traverse down under controller nodes.
32914
67e23c90 32915 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
32916 (grub_ofdisk_open): Use it to un-escape "," characters.
32917 * kern/disk.c (find_part_sep): New.
32918 (grub_disk_open): Use it to find the first non-escaped ','
32919 character in the disk name.
32920 * util/ieee1275/devicemap.c (escape_of_path): New.
32921 (grub_util_emit_devicemap_entry): Use it.
32922 * util/sparc64/ieee1275/grub-install.in: Update script to
32923 strip partition specifiers properly by not triggering on
32924 '\' escaped ',' characters.
32925
74bfdd2f 329262009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32927
32928 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
32929 to 0x300.
32930 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
32931 resolutions.
32932 (linux_vesafb_modes): Add a lot of additional modes to the list (based
32933 on documentation from Wikipedia).
32934
4241d2b1 329352009-05-04 Pavel Roskin <proski@gnu.org>
32936
32937 * disk/ata.c: Spelling fixes.
32938 * disk/raid.c: Likewise.
32939 * disk/usbms.c: Likewise.
32940 * disk/dmraid_nvidia.c: Likewise.
32941 * kern/ieee1275/openfw.c: Likewise.
32942 * kern/ieee1275/init.c: Likewise.
32943 * kern/ieee1275/cmain.c: Likewise.
32944 * boot/i386/pc/cdboot.S: Likewise.
32945 * video/readers/png.c: Likewise.
32946 * video/i386/pc/vbe.c: Likewise.
32947 * fs/udf.c: Likewise.
32948 * fs/hfs.c: Likewise.
32949 * fs/reiserfs.c: Likewise.
32950 * efiemu/runtime/efiemu.c: Likewise.
32951 * efiemu/main.c: Likewise.
32952 * efiemu/mm.c: Likewise.
32953 * include/grub/elf.h: Likewise.
32954 * include/grub/xnu.h: Likewise.
32955 * include/grub/usbdesc.h: Likewise.
32956 * include/grub/usb.h: Likewise.
32957 * include/grub/script_sh.h: Likewise.
32958 * include/grub/lib/LzmaEnc.h: Likewise.
32959 * include/grub/efiemu/efiemu.h: Likewise.
32960 * include/grub/command.h: Likewise.
32961 * normal/menu.c: Likewise.
32962 * normal/main.c: Likewise.
32963 * normal/datetime.c: Likewise.
32964 * bus/usb/uhci.c: Likewise.
32965 * mmap/i386/uppermem.c: Likewise.
32966 * mmap/mmap.c: Likewise.
32967 * commands/acpi.c: Likewise.
32968 * commands/test.c: Likewise.
32969 * partmap/apple.c: Likewise.
32970 * font/font.c: Likewise.
32971 * loader/sparc64/ieee1275/linux.c: Likewise.
32972 * loader/macho.c: Likewise.
32973 * loader/i386/bsd_trampoline.S: Likewise.
32974 * loader/i386/bsd.c: Likewise.
32975 * loader/xnu.c: Likewise.
32976 * term/i386/pc/vesafb.c: Likewise.
32977 * term/usb_keyboard.c: Likewise.
32978 * util/resolve.c: Likewise.
32979 * util/getroot.c: Likewise.
32980
0cfc0083 329812009-05-04 Felix Zielcke <fzielcke@z-51.de>
32982
32983 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
32984
7c1d00cd 329852009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32986
32987 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
32988 build error.
32989
b01f0548 329902009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32991
32992 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
32993 parameter only available on BIOS.
32994
ecc3eb22 329952009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32996
32997 Removed wrong semicolon in declaration
32998
32999 * grub/misc.h (grub_dprintf): remove semicolon
33000
112972a9 330012009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33002
33003 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
33004 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
33005 is done by grub_cmd_linux() now).
33006 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
33007 restore video to text mode.
33008 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
33009 indicates lack of "vga=" parameter. "vga=0" is mapped to
33010 `GRUB_LINUX_VID_MODE_NORMAL'.
33011
afd5c115 330122009-05-04 Felix Zielcke <fzielcke@z-51.de>
33013
33014 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
33015 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
33016 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 33017 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 33018 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
33019 `grub_script.tab.c'.
33020
33021 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33022 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33024 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33025 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33026
faa517ce 33027 * Makefile.in: Remove duplicated 2008 in Copyright line.
33028
ae0c0bdc 330292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33030
473d1e45 33031 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 33032 unconditionally.
33033 * include/grub/util/misc.h (grub_util_warn): New declaration.
33034
33035 * util/i386/pc/grub-install.in: Understand --force and pass it down
33036 to grub-setup.
33037
33038 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
33039 down to setup().
33040 (setup): Improve error messages and add warnings when requested to
33041 install in odd layouts. Refuse to install using blocklists unless
33042 --force was set.
33043
18f547ad 330442009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 33045
33046 * disk/raid.c (grub_raid_scan_device): Improve debug message.
33047
6d260daa 330482009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33049
33050 Updated copyright year
33051
33052 * fs/hfsplus.c: updated copyright year
18f547ad 33053
69f853f8 330542009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33055
33056 HFS+ UUID
33057
18f547ad 33058 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 33059 in the space previously used by unused3
33060 (grub_hfsplus_uuid): new function
33061 (grub_hfsplus_fs): added uuid field
33062
4c402e73 330632009-05-03 Pavel Roskin <proski@gnu.org>
33064
33065 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
33066 suppress warnings. It's no longer needed.
33067 * disk/host.c: Likewise.
33068 * disk/ata_pthru.c: Likewise.
33069 * disk/loopback.c: Likewise.
33070 * hook/datehook.c: Likewise.
33071 * parttool/pcpart.c: Likewise.
33072 * fs/i386/pc/pxe.c: Likewise.
33073 * fs/ntfscomp.c: Likewise.
33074 * efiemu/main.c: Likewise.
33075 * mmap/mmap.c: Likewise.
33076 * commands/crc.c: Likewise.
33077 * commands/hexdump.c: Likewise.
33078 * commands/hdparm.c: Likewise.
33079 * commands/acpi.c: Likewise.
33080 * commands/echo.c: Likewise.
33081 * commands/minicmd.c: Likewise.
33082 * commands/blocklist.c: Likewise.
33083 * commands/memrw.c: Likewise.
33084 * commands/loadenv.c: Likewise.
33085 * commands/usbtest.c: Likewise.
33086 * commands/lsmmap.c: Likewise.
33087 * commands/boot.c: Likewise.
33088 * commands/parttool.c: Likewise.
33089 * commands/configfile.c: Likewise.
33090 * commands/search.c: Likewise.
33091 * commands/ieee1275/suspend.c: Likewise.
33092 * commands/cat.c: Likewise.
33093 * commands/i386/pc/pxecmd.c: Likewise.
33094 * commands/i386/pc/play.c: Likewise.
33095 * commands/i386/pc/halt.c: Likewise.
33096 * commands/i386/pc/vbeinfo.c: Likewise.
33097 * commands/i386/pc/vbetest.c: Likewise.
33098 * commands/lspci.c: Likewise.
33099 * commands/date.c: Likewise.
33100 * commands/handler.c: Likewise.
33101 * commands/ls.c: Likewise.
33102 * commands/test.c: Likewise.
33103 * commands/cmp.c: Likewise.
33104 * commands/efi/loadbios.c: Likewise.
33105 * commands/efi/fixvideo.c: Likewise.
33106 * commands/halt.c: Likewise.
33107 * commands/help.c: Likewise.
33108 * commands/reboot.c: Likewise.
33109 * hello/hello.c: Likewise.
33110 * script/sh/main.c: Likewise.
33111 * loader/xnu.c: Likewise.
33112 * term/terminfo.c: Likewise.
33113 * term/i386/pc/serial.c: Likewise.
33114 * term/usb_keyboard.c: Likewise.
33115
515b5079 331162009-05-03 David S. Miller <davem@davemloft.net>
33117
33118 * normal/menu.c: Include grub/parser.h
33119
dfc31a22 331202009-05-03 Pavel Roskin <proski@gnu.org>
33121
2fee74f1 33122 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
33123 not char*.
33124 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
33125 Suggested by Javier Martín <lordhabbit@gmail.com>
33126
dfc31a22 33127 * util/i386/pc/grub-mkrescue.in: Allow for the case when
33128 efiemu??.o doesn't exist.
33129 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
33130 copying.
33131
18f547ad 331322009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 33133
33134 FreeBSD 64-bit support
33135
18f547ad 33136 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 33137 and loader/i386/bsd_trampoline.S
33138 (bsd_mod_ASFLAGS): new variable
33139 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
33140 (FREEBSD_MODTYPE_KERNEL64): likewise
33141 (grub_bsd64_trampoline_start): likewise
33142 (grub_bsd64_trampoline_end): likewise
33143 (grub_bsd64_trampoline_selfjump): likewise
33144 (grub_bsd64_trampoline_gdt): likewise
33145 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
33146 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
33147 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
33148 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 33149 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 33150 of "attrib" member
33151 * loader/i386/bsd_pagetable.c: new file
33152 * loader/i386/bsd_trampoline.S: likewise
33153 * loader/i386/bsd.c (ALIGN_QWORD): new macro
33154 (ALIGN_VAR): likewise
33155 (entry_hi): new variable
33156 (kern_end_mdofs): likewise
33157 (is_64bit): likewise
33158 (grub_freebsd_add_meta): use ALIGN_VAR
33159 (grub_e820_mmap): new declaration
33160 (grub_freebsd_add_mmap): new function
33161 (grub_freebsd_add_meta_module): support 64 bit kernels
33162 (grub_freebsd_list_modules): use ALIGN_VAR
33163 (gdt_descriptor): new declaration
33164 (grub_freebsd_boot): support 64 bit kernels
33165 (grub_bsd_elf64_hook): new function
33166 (grub_bsd_load_elf): support elf64
33167
038c5720 331682009-05-03 Bean <bean123ch@gmail.com>
33169
33170 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
33171 after we get the result of if statement.
33172
fc45fb58 331732009-05-03 Bean <bean123ch@gmail.com>
33174
33175 * Makefile.in (enable_efiemu): New variable.
33176
33177 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
33178 set.
33179 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
33180 path.
33181 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
33182 path, add -mno-red-zone option.
33183 (efiemu64_s.o): Likewise.
33184 (efiemu64.o): Use macro $^ for source file.
33185
33186 * configure.ac (--enable-efiemu): New option.
33187
bbee0f2b 331882009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
33189
33190 xnu support
33191
33192 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
33193 (pkglib_MODULES): add xnu.mod
33194 (xnu_mod_SOURCES): new variable
33195 (xnu_mod_CFLAGS): likewise
33196 (xnu_mod_LDFLAGS): likewise
33197 (xnu_mod_ASFLAGS): likewise
33198 * conf/i386-pc.rmk: likewise
33199 * conf/x86_64-efi.rmk: likewise
7dd4a573 33200 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 33201 new declaration
33202 * include/grub/i386/macho.h: new file
33203 * include/grub/i386/xnu.h: likewise
33204 * include/grub/macho.h: likewise
33205 * include/grub/machoload.h: likewise
33206 * include/grub/x86_64/macho.h: likewise
33207 * include/grub/x86_64/xnu.h: likewise
33208 * include/grub/xnu.h: likewise
33209 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
33210 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
33211 * loader/i386/efi/xnu.c: new file
33212 * loader/i386/pc/xnu.c: likewise
33213 * loader/i386/xnu.c: likewise
33214 * loader/i386/xnu_helper.S: likewise
33215 * loader/macho.c: likewise
33216 * loader/xnu.c: likewise
33217 * loader/xnu_resume.c: likewise
33218 * util/grub-dumpdevtree: likewise
33219 * include/grub/i386/pit.h: include grub/err.h
33220 (grub_pit_wait): export
33221 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 33222
5caf964d 332232009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33224
33225 Efiemu
7dd4a573 33226
5caf964d 33227 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 33228 _linux_efi, linux_efi.
33229 new files in grub-emu
5caf964d 33230 new targets efiemu32.o and efiemu64.o
33231 * loader/linux_normal_efiemu.c: likewise
33232 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 33233 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 33234 files to copy
33235 * include/grub/autoefi.h: new file
7dd4a573 33236 * include/grub/i386/efiemu.h: likewise
5caf964d 33237 * include/grub/i386/pc/efiemu.h: likewise
33238 * include/grub/efi/api.h: add LL suffix when necessary
33239 new definitions relating to tables
33240 * include/grub/efiemu/efiemu.h: new file
33241 * include/grub/efiemu/runtime.h: likewise
33242 * efiemu/prepare.c: likewise
33243 * efiemu/loadcore_common.c: likewise
33244 * efiemu/loadcore64.c: likewise
33245 * efiemu/runtime/efiemu.sh: likewise
33246 * efiemu/runtime/efiemu.S: likewise
33247 * efiemu/runtime/efiemu.c: likewise
33248 * efiemu/runtime/config.h: likewise
33249 * efiemu/prepare32.c: likewise
33250 * efiemu/main.c: likewise
33251 * efiemu/modules/pnvram.c: likewise
33252 * efiemu/modules/i386: likewise
33253 * efiemu/modules/i386/pc: likewise
33254 * efiemu/modules/acpi.c: likewise
33255 * efiemu/i386/pc/cfgtables.c: likewise
33256 * efiemu/i386/loadcore64.c: likewise
33257 * efiemu/i386/loadcore32.c: likewise
33258 * efiemu/prepare64.c: likewise
33259 * efiemu/loadcore.c: likewise
33260 * efiemu/symbols.c: likewise
33261 * efiemu/mm.c: likewise
33262 * efiemu/loadcore32.c: likewise
7dd4a573 33263
332642009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 33265
33266 ACPI spoofing
33267
33268 * commands/acpi.c: new file
33269 * commands/i386/pc/acpi.c: likewise
33270 * commands/efi/acpi.c: likewise
33271 * include/grub/acpi.h: likewise
33272 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
33273 (acpi_mod_SOURCES): new variable
33274 (acpi_mod_CFLAGS): likewise
33275 (acpi_mod_LDFLAGS): likewise
33276 * conf/i386-efi.rmk: likewise
33277 * conf/x86_64-efi.rmk: likewise
33278
7dd4a573 332792009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 33280
33281 Missing part from mmap patch
33282
33283 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
33284 (grub_mmap_unregister)
33285 (grub_mmap_free_and_unregister): use grub_mmap_register
33286
7dd4a573 332872009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 33288
33289 Mmap services
33290
33291 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
33292 * loader/i386/linux.c (find_mmap_size): likewise
33293 (allocate_pages): likewise
33294 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
33295 (grub_fill_multiboot_mmap): likewise
33296 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
33297 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
33298 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
33299 (OPENBSD_MMAP_RESERVED): likewise
33300 * include/grub/i386/pc/memory.h: include grub/memory.h
33301 (grub_lower_mem): removed
33302 (grub_upper_mem): likewise
33303 (GRUB_MACHINE_MEMORY_ACPI): new definition
33304 (GRUB_MACHINE_MEMORY_NVS): likewise
33305 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
33306 (GRUB_MACHINE_MEMORY_HOLE): likewise
33307 (grub_machine_mmap_register): likewise
33308 (grub_machine_mmap_unregister): likewise
33309 (grub_machine_get_upper): likewise
33310 (grub_machine_get_lower): likewise
33311 (grub_machine_get_post64): likewise
33312 * include/grub/i386/efi/memory.h: new file
33313 * include/grub/x86_64/efi/memory.h: likewise
33314 * include/grub/efi/memory.h: likewise
33315 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
33316 (mmap_mod_SOURCES): new variable
33317 (mmap_mod_LDFLAGS): likewise
33318 (mmap_mod_ASFLAGS): likewise
33319 * conf/i386-coreboot.rmk: likewise
33320 * conf/i386-ieee1275.rmk: likewise
33321 * conf/i386-efi.rmk: likewise
33322 * conf/x86_64-efi.rmk: likewise
33323 * include/grub/types.h (UINT_TO_PTR): new macro
33324 (PTR_TO_UINT32): likewise
33325 (PTR_TO_UINT64): likewise
33326 * include/grub/memory.h: new file
33327 * mmap/i386/pc/mmap.c: likewise
33328 * mmap/i386/pc/mmap_helper.S: likewise
33329 * mmap/i386/uppermem.c: likewise
33330 * mmap/mmap.c: likewise
33331 * mmap/efi/mmap.c: likewise
7dd4a573 33332 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 33333 grub_upper_mem
33334 * kern/i386/pc/init.c (grub_lower_mem): removed variable
33335 (grub_upper_mem): likewise
33336 (grub_machine_init): don't use grub_upper_mem,
33337 make grub_lower_mem local
33338 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
33339 grub_mmap_iterate and grub_mmap_get_upper
33340 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
33341
d558e6b5 333422009-05-02 Bean <bean123ch@gmail.com>
33343
33344 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
33345 script/sh/parser.y.
33346 (pkglib_MODULES): Add normal.mod and sh.mod.
33347 (normal_SOURCES): New variable.
33348 (normal_mod_CFLAGS): Likewise.
33349 (normal_mod_LDFLAGS): Likewise.
33350 (sh_mod_SOURCES): Likewise.
33351 (sh_mod_CFLAGS): Likewise.
33352 (sh_mod_LDFLAGS): Likewise.
33353
33354 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
33355 script/sh/lexer.c_DEPENDENCIES.
33356 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
33357 kern/rescue_reader.c and kern/rescue_parser.c.
33358 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
33359 (grub_emu_SOURCES): Change source files.
33360 (pkglib_MODULES): Remove normal.mod.
33361 (normal_SOURCES): Removed.
33362 (normal_mod_CFLAGS): Likewise.
33363 (normal_mod_LDFLAGS): Likewise.
33364 * conf/i386-coreboot.rmk: Likewise.
33365 * conf/i386-efi.rmk: Likewise.
33366 * conf/i386-ieee1276.rmk: Likewise.
33367 * conf/powerpc-ieee1275.rmk: Likewise.
33368 * conf/sparc64-ieee1275.rmk: Likewise.
33369 * conf/x86_64-efi.rmk: Likewise.
33370
33371 * include/grub/command.h (grub_command_execute): New inline function.
33372
33373 * include/grub/menu.h (grub_menu_entry): Removed commands field.
33374
33375 * include/grub/normal.h: Remove <grub/setjmp.h>.
33376 (grub_fs_module_list): Moved to normal/autofs.c.
33377 (grub_exit_env): Removed.
33378 (grub_command_execute): Likewise.
33379 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
33380 parameter script.
33381 (read_command_list): New function declaration.
33382 (read_fs_list): Likewise.
33383
33384 * include/parser.h: Include <grub/reader.h>.
33385 (grub_parser_split_cmdline): Change type of getline parameter.
33386 (grub_parser): New structure.
33387 (grub_parser_class): New variable.
33388 (grub_parser_execute): New function declaration.
33389 (grub_register_rescue_parser): Likewise.
33390 (grub_parser_register): New inline function.
33391 (grub_parser_unregister): Likewise.
33392 (grub_parser_get_current): Likewise.
33393 (grub_parser_set_current): Likewise.
33394
33395 * include/grub/reader.h: New file.
33396 * kern/reader.c: Likewise.
33397 * kern/rescue_parser.c: Likewise.
33398 * kern/rescue_reader.c: Likewise.
33399 * normal/autofs.c: Likewise.
33400 * normal/dyncmd.c: Likewise.
33401
33402 * include/grub/rescue.h: Removed.
33403 * normal/command.h: Likewise.
33404
33405 * include/grub/script.h: Moved to ...
33406 * include/grub/script_sh.h: ... Moved here.
33407 * normal/execute.c: Moved to ...
33408 * script/sh/execute.c: ... Moved here.
33409 * normal/function.c: Moved to ...
33410 * script/sh/function.c: ... Moved here.
33411 * normal/lexer.c: Moved to ...
33412 * script/sh/lexer.c: ... Moved here.
33413 * normal/parser.y: Moved to ...
33414 * script/sh/parser.y: ... Moved here.
33415 * normal/script.c: Moved to ...
33416 * script/sh/script.c: ... Moved here.
33417
33418 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
33419 <grub/reader.h>.
33420 (grub_exit_env): Removed.
33421 (fs_module_list): Moved to normal/autofs.c.
33422 (grub_file_getline): Don't handle comment here.
33423 (free_menu): Skip removed field entry->commands.
33424 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
33425 script parameter.
33426 (read_config_file): Removed nested parameter, change getline function.
33427 (grub_enter_normal_mode): Removed.
33428 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
33429 (read_command_list): Likewise.
33430 (autoload_fs_module): Moved to normal/autofs.c.
33431 (read_fs_list): Likewise.
33432 (reader_nested): New variable.
33433 (grub_normal_execute): Run parser.sh to switch to sh parser.
33434 (grub_cmd_rescue): Removed.
33435 (cmd_normal): Removed.
33436 (grub_cmd_normal): Unregister itself at the beginning. Don't register
33437 rescue command.
33438 (grub_cmdline_run): New function.
33439 (grub_normal_reader_init): Likewise.
33440 (grub_normal_read_line): Likewise.
33441 (grub_env_write_pager): Likewise.
33442 (cmdline): New variable.
33443 (grub_normal_reader): Likewise.
33444 (GRUB_MOD_INIT): Register normal reader and set as current, register
33445 pager hook, register normal command with grub_register_command_prio,
33446 so that it won't show up in command.lst.
33447 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
33448 grub_fs_autoload_hook.
33449
33450 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
33451 (grub_menu_execute_entry): Replace grub_script_execute with
33452 grub_parser_execute, change parameter to grub_command_execute.
33453
33454 * normal/menu_text.c: Remove <grub/script.h>.
33455
33456 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
33457 and <grub/parser.h>.
33458 (run): Change editor_getline to use new parser interface. Change
33459 parameter to grub_command_execute.
33460
33461 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
33462 <grub/reader.h> and <grub/parser.h>.
33463 (grub_load_normal_mode): Execute normal command.
33464 (grub_main): Call grub_register_core_commands,
33465 grub_register_rescue_parser and grub_register_rescue_reader, use
33466 grub_reader_loop to enter input loop.
33467
7dd4a573 33468 * kern/parser.c (grub_parser_split_cmdline): Change type of
33469 getline parameter.
d558e6b5 33470 (grub_parser_class): New variable.
33471 (grub_parser_execute): New function.
33472
33473 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
33474 * loader/multiboot2.c: Likewise.
33475 * loader/sparc64/ieee1275/linux.c: Likewise.
33476
33477 * util/grub-emu.c (read_command_list): New dummy function.
33478
18db813d 334792009-05-02 Robert Millan <rmh.grub@aybabtu.com>
33480
33481 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
33482 count to 16 for CCISS and IDA.
33483
6c67de15 334842009-05-02 Robert Millan <rmh.grub@aybabtu.com>
33485
33486 * normal/menu_text.c (grub_wait_after_message): Print a newline
33487 after waiting for user input.
33488
33489 * loader/i386/linux.c: Include `<grub/normal.h>'.
33490 (grub_cmd_linux): Improve the error message about `ask' mode, by
33491 waiting for user input so it's not missed (we can do this, since
33492 user requested interaction).
33493
d9dc87b0 334942009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33495
33496 Added missing lst to grub-mkrescue
33497
33498 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
33499 and ${input_dir}/parttool.lst
33500
ac8a2baa 335012009-04-30 David S. Miller <davem@davemloft.net>
33502
ad22a610 33503 * util/hostdisk.c (device_is_wholedisk): New function.
33504 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
33505 zero only if device_is_wholedisk() returns true.
33506
6966215d 33507 * util/hostdisk.c (convert_system_partition_to_system_disk):
33508 Handle virtual disk devices named /dev/vdiskX as found on sparc
33509 and powerpc.
33510
ac8a2baa 33511 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
33512 lettered partition specifier is found, convert to numbered.
33513
979b4fb4 335142009-04-29 David S. Miller <davem@davemloft.net>
33515
e2bf39b2 33516 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
33517 * include/grub/sparc64/ieee1275/memory.h: Likewise.
33518
3c64e104 33519 * normal/command.c: Add missing newline at end of file.
33520
979b4fb4 33521 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
33522 warnings.
33523 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
33524 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
33525 grub_ofdisk_read): Likewise, and deal similarly with the fact that
33526 ihandles have a 32-bit type but need to be stored in a "void *".
33527
136d9f82 335282009-04-28 Pavel Roskin <proski@gnu.org>
33529
9459c306 33530 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
33531 not disk. Adjust all dependencies.
2e08a26a 33532 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 33533 grub_disk_close().
33534
136d9f82 33535 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
33536 parent's partition, don't copy it by reference, as it gets freed
33537 on close.
33538
7dd4a573 335392009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 33540
33541 Preboot hooks support
33542
33543 * commands/boot.c (struct grub_preboot_t): new declaration
33544 (preboots_head): new variable
33545 (preboots_tail): likewise
33546 (grub_loader_register_preboot_hook): new function
33547 (grub_loader_unregister_preboot_hook): likewise
33548 (grub_loader_set): launch preboot hooks
33549 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
33550 (grub_loader_register_preboot_hook): new declaration
33551 (grub_loader_unregister_preboot_hook): likewise
33552
5af922b5 335532009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
33554
33555 Warning fix
33556
7dd4a573 33557 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 33558 calling grub_dprintf
33559
a5562c30 335602009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
33561
33562 Bug and warning fixes
33563
7dd4a573 33564 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 33565 declaration
33566 * commands/test.c (test_parse): fixed bug with file tests and corrected
33567 declaration of find_file
33568
4006f85c 335692009-04-26 Pavel Roskin <proski@gnu.org>
33570
33571 * Makefile.in: Don't install empty manual pages if help2man is
33572 missing. Use help2man option for output, not shell redirection.
33573
5c77c3de 335742009-04-26 David S. Miller <davem@davemloft.net>
33575
33576 * util/grub-mkdevicemap.c (make_device_map): Add missing
33577 NESTED_FUNC_ATTR to process_device().
33578
033b10a8 335792009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33580
33581 Test command
33582
33583 * commands/test.c: rewritten to use bash-like test
33584
e4343593 335852009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33586
33587 Parttool autoloading and improvements
33588
7dd4a573 33589 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 33590 (parttool.lst): new target
33591 * genmk.rb: generate parttool-*
33592 (CLEANFILES): add #{parttool}
33593 (PARTTOOLFILES): new variable
33594 * genparttoollist.sh: new file
7dd4a573 33595 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 33596 (grub_pcpart_type): likewise
33597 * commands/parttool.c (helpmsg): new variable
33598 (grub_cmd_parttool): output help if not enough arguments are supplied
33599 autoload modules
33600 (GRUB_MOD_INIT(parttool)): use helpmsg
33601
0d312500 336022009-04-24 David S. Miller <davem@davemloft.net>
33603
7dd4a573 33604 Avoiding opening same device multiple times in device iterator.
0d312500 33605
33606 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 33607 and use it to build a list of partitions in iterate_disk() and
0d312500 33608 iterate_partition().
33609
ac20caff 33610 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
33611 on disk->data.
33612
0dcf7495 33613 * disk/ieee1275/nand.c (grub_nand_iterate): Return
33614 grub_devalias_iterate() result instead of unconditional 0.
33615 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
33616 Also, capture hook return value, either directly or via
33617 grub_children_iterate(), and propagate to caller.
33618 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
33619 grub_children_iterate): Return value is now 'int' instead of
33620 'grub_err_t'.
33621 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
33622 like a proper iterator, stopping when hooks return non-zero.
33623 (grub_devalias_iterate): Likewise.
33624
c8c08833 336252009-04-23 David S. Miller <davem@davemloft.net>
33626
33627 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
33628
f01005a8 336292009-04-22 David S. Miller <davem@davemloft.net>
33630
33631 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
33632 is larger than address_cells, use that value for address_cells too.
33633
4e8269da 33634 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
33635 IEEE1275_MAX_PATH_LEN): Define.
33636 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
33637 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
33638 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
33639 'devtype'. Explicitly NULL terminate devalias expansion.
33640
a1447506 33641 * util/sparc64/ieee1275/misc.c: New file.
33642 * util/sparc64/ieee1275/grub-setup.c: New file.
33643 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
33644 * util/sparc64/ieee1275/grub-mkimage.c: New file.
33645 * util/sparc64/ieee1275/grub-install.in: New file.
33646 * util/ieee1275/ofpath.c: New file.
33647 * util/ieee1275/devicemap.c: New file.
33648 * util/devicemap.c: New file.
33649 * util/deviceiter.c: New file.
33650 * kern/sparc64/ieee1275/init.c: New file.
33651 * include/grub/util/ofpath.h: New file.
33652 * include/grub/util/deviceiter.h: New file.
33653 * util/grub-mkdevicemap.c: Include deviceiter.h.
33654 Implement using grub_util_emit_devicemap_entry and
33655 grub_util_iterate_devices.
33656 * conf/i386-corebook.rmk: Build util/deviceiter.c and
33657 util/devicemap.c into grub-mkdevicemap
33658 * conf/i386-efi.rmk: Likewise.
33659 * conf/i386-ieee1275.rmk: Likewise.
33660 * conf/i386-pc.rmk: Likewise.
33661 * conf/powerpc-ieee1275.rmk: Likewise.
33662 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
33663 images and installation utilities. Build kernel as image
33664 instead of as elf binary. Use common rules as much as possible.
33665
7dd4a573 336662009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 33667
33668 Correct GPT definition
33669
7dd4a573 33670 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 33671 of "attrib" member
33672
c6c5219f 336732009-04-19 Felix Zielcke <fzielcke@z-51.de>
33674
33675 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
33676
0552ff9f 336772009-04-19 David S. Miller <davem@davemloft.net>
33678
33679 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
33680 (grub_rescue_cmd_linux): Rename to...
33681 (grub_cmd_linux): and fix prototype.
33682 (grub_rescue_cmd_initrd): Rename to...
33683 (grub_cmd_initrd): and fix prototype.
33684 (cmd_linux, cmd_initrd): New.
33685 (GRUB_MOD_INIT(linux)): Use grub_register_command().
33686 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
33687
d1a282fc 336882009-04-17 Pavel Roskin <proski@gnu.org>
33689
07c5039f 33690 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
33691 format.
33692 (grub_ohci_transfer): Likewise.
33693
b012002d 33694 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
33695
1bc09c35 33696 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
33697 return without a value. Fix inconsistent indentation.
33698
e0ff9126 33699 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
33700 match struct grub_fs.
33701
d1a282fc 33702 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
33703 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
33704 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33705 * commands/lspci.c (grub_lspci_iter): Likewise.
33706
a96df3f2 337072009-04-16 Bean <bean123ch@gmail.com>
33708
33709 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
33710 value.
33711
41bb0fe9 337122009-04-15 Pavel Roskin <proski@gnu.org>
33713
33714 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
33715 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
33716 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
33717 definitions.
33718
596c6970 337192009-04-15 Felix Zielcke <fzielcke@z-51.de>
33720
33721 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 33722 that no multiple data or metadata areas are supported and `Unknown
596c6970 33723 metadata header'.
33724
7dd4a573 337252009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 33726
33727 Move loader out of the kernel
33728
33729 * kern/loader.c: moved to ...
33730 * commands/boot.c: ... moved here
33731 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
33732 * commands/boot.c (grub_cmd_boot): moved here. All users updated
33733 * include/grub/kernel.h (grub_machine_fini): export
33734 * include/grub/loader.h (grub_loader_is_loaded): update declaration
33735 (grub_loader_set): likewise
33736 (grub_loader_unset): likewise
33737 (grub_loader_boot): likewise
33738 * conf/common.rmk: new module boot.mod
33739 (pkglib_MODULES): add boot.mod
33740 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
33741 (grub_emu_SOURCES): likewise
33742 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
33743 (grub_emu_SOURCES): likewise
33744 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
33745 (grub_emu_SOURCES): likewise
33746 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
33747 (grub_emu_SOURCES): likewise
33748 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
33749 (grub_emu_SOURCES): likewise
7dd4a573 33750 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
33751 (grub_emu_SOURCES): likewise
0d5d5653 33752 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 33753 (grub_emu_SOURCES): likewise
0d5d5653 33754
7dd4a573 337552009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 33756
33757 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 33758
5999d619 33759 * kern/misc.c (grub_itoa): Removed function
33760 (grub_ltoa): likewise
33761 (grub_vsprintf): use grub_lltoa
33762
7dd4a573 337632009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 33764
33765 Restore grub-emu
33766
33767 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
33768 * conf/i386-coreboot.rmk: likewise
33769 * conf/i386-ieee1275.rmk: likewise
33770 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 33771
20318222 337722009-04-15 Felix Zielcke <fzielcke@z-51.de>
33773
33774 * INSTALL: Add that `./autogen.sh' needs to be run before
33775 `./configure.'.
33776
d05f0df3 337772009-04-14 Bean <bean123ch@gmail.com>
33778
33779 * Makefile.in (pkglib_DATA): Add handler.lst.
33780 (handler.lst): New rule.
33781
33782 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
33783 * conf/i386-coreboot.rmk: Likewise.
33784 * conf/i386-ieee1275.rmk: Likewise.
33785 * conf/i386-efi.rmk: Likewise.
33786 * conf/x86_64-efi.rmk: Likewise.
33787 * conf/powerpc-ieee1275.rmk: Likewise.
33788 * conf/sparc64-ieee1275.rmk: Likewise.
33789
33790 * genhandlerlist.sh: New file.
33791
33792 * genmk.rb: Add rules to generate handler.lst.
33793
33794 * include/grub/normal.h (grub_file_getline): New function definition.
33795 (read_handler_list): Likewise.
33796 (free_handler_list): Likewise.
33797
33798 * include/grub/term.h (grub_term_register_input): Add name parameter
33799 for auto generation of handler.lst.
33800 (grub_term_register_output): Likewise.
33801
33802 * normal/handler.c: New file.
33803
33804 * normal/main.c (get_line): Renamed to grub_file_getline.
33805 (read_config_file): Use the newly renamed grub_file_getline.
33806 (read_command_list): Likewise.
33807 (read_fs_list): Likewise.
33808 (grub_normal_execute): Call read_handler_list to parse handler.lst.
33809 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
33810
33811 * term/efi/console.c (grub_console_init): Add name parameter for auto
33812 generation of handler.lst.
33813 * term/gfxterm.c: Likewise.
33814 * term/i386/pc/at_keyboard.c: Likewise.
33815 * term/i386/pc/console.c: Likewise.
33816 * term/i386/pc/serial.c: Likewise.
33817 * term/i386/pc/vesafb.c: Likewise.
33818 * term/i386/pc/vga.c: Likewise.
33819 * term/i386/pc/vga_text.c: Likewise.
33820 * term/ieee1275/ofconsole.c: Likewise.
33821 * term/usb_keyboard.c: Likewise.
33822
33c846be 338232009-04-14 Bean <bean123ch@gmail.com>
33824
33825 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
33826 properly with null character.
33827
4484e01e 338282009-04-14 Felix Zielcke <fzielcke@z-51.de>
33829
33830 * configure: Remove.
33831 * config.h.in: Likewise.
f93d668e 33832 * stamp-h.in: Likewise.
4484e01e 33833 * DISTLIST: Likewise.
33834 * conf/common.mk: Likewise.
33835 * conf/i386-coreboot.mk: Likewise.
33836 * conf/i386-efi.mk: Likewise.
33837 * conf/i386-ieee1275.mk: Likewise.
33838 * conf/i386.mk: Likewise.
33839 * conf/i386-pc.mk: Likewise.
33840 * conf/powerpc-ieee1275.mk: Likewise.
33841 * conf/sparc64-ieee1275.mk: Likewise.
33842 * conf/x86_64-efi.mk: Likewise.
33843
33844 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
33845 develop on GRUB.
33846
7dd4a573 338472009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 33848 David S. Miller <davem@davemloft.net>
33849
33850 * util/hostdisk.c (make_device_name): Fix buffer length
33851 calculations.
33852
e25b5a8c 338532009-04-14 Felix Zielcke <fzielcke@z-51.de>
33854
33855 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
33856 <sys/param.h> and <sys/sysctl.h>.
33857 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
33858 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
33859 opening the device and reset them afterwards.
33860
1f1f580c 338612009-04-13 Pavel Roskin <proski@gnu.org>
33862
33863 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
33864 Reported by John Stanley <jpsinthemix@verizon.net>
33865
7ebc2d6b 338662009-04-13 Robert Millan <rmh@aybabtu.com>
33867
33868 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 33869 that name for menuentries when appropriate.
7ebc2d6b 33870
d8ba3667 338712009-04-13 Felix Zielcke <fzielcke@z-51.de>
33872
33873 * util/grub.d/10_freebsd.in: Add a missing `fi'.
33874
cba416eb 338752009-04-13 Robert Millan <rmh@aybabtu.com>
33876
33877 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
33878 to Linux, simply abort telling the user it's no longer supported.
33879
a547a745 338802009-04-13 Felix Zielcke <fzielcke@z-51.de>
33881
33882 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 33883 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 33884 `freebsd_loadenv' only when devices.hints exist.
33885
232a769c 338862009-04-13 Pavel Roskin <proski@gnu.org>
33887
33888 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
33889
c3012039 338902009-04-13 Felix Zielcke <fzielcke@z-51.de>
33891
33892 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
33893 partition number.
33894 (grub_drive): Likewise.
33895
234022fe 338962009-04-13 David S. Miller <davem@davemloft.net>
33897
33898 * kern/sparc64/ieee1275/ieee1275.c: New file.
33899 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
33900 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
33901 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
33902 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
33903 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
33904 grub_ieee1275_alloc_physmem): Declare new exported functions.
33905
d8e1836c 33906 * include/grub/sparc64/ieee1275/loader.h: New file.
33907 * include/grub/sparc64/ieee1275/memory.h: Likewise.
33908 * include/grub/sparc64/kernel.h: Likewise.
33909 * loader/sparc64/ieee1275/linux.c: Likewise.
33910
96bd81ec 33911 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
33912 (grub_fstest_SOURCES): Likewise.
33913
6a4737e5 33914 * util/hostdisk.c (make_device_name): Do not make any assumptions
33915 about the length of drive names.
33916
1d7a72fd 33917 * kern/dl.c (grub_dl_load_file): Close file immediately when
33918 we are done using it.
33919
56bc2471 339202009-04-12 David S. Miller <davem@davemloft.net>
33921
33922 * kern/misc.c (grub_ltoa): Fix cast when handling negative
33923 values. Noticed by Pavel Roskin.
33924
df38d0bb 33925 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
33926 target compiler.
7dd4a573 33927
e382e93a 33928 * genmk.rb: Add more flexible image type specification, also
33929 pass --strip-unneeded to objcopy.
33930 * conf/i386-pc.rmk: Use *_FORMAT.
33931 * conf/i386-pc.mk: Rebuilt.
33932
f5dbbca9 33933 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
33934 (OFDISK_HASH_SZ): Define.
33935 (ofdisk_hash): New hash table.
33936 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
33937 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
33938 instead of device phandle which is not unique.
33939
91c88b12 33940 * kern/sparc64/ieee1275/init.c: Delete, replace with...
33941 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
33942 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
33943 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
33944 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
33945 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
33946 GRUB_KERNEL_MACHINE_DATA_END): Define.
33947 (grub_kernel_image_size, grub_total_module_size): Declare.
33948
5b5d4aa5 339492009-04-12 Pavel Roskin <proski@gnu.org>
33950
7dd4a573 33951 * configure.ac: Change the logic when we check for target tools.
33952 Do it when the target is specified and it's different from the
33953 specified value of the host.
5b5d4aa5 33954
c91e1793 339552009-04-11 Felix Zielcke <fzielcke@z-51.de>
33956
33957 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
33958 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
33959 GNU/kFreeBSD. Check if a device is a character device. Use
33960 DIOCGMEDIASIZE to get the size.
33961 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
33962 support for GNU/kFreeBSD.
33963 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
33964 is a character device instead of a block device. Add support for
33965 FreeBSD device names.
33966
33967 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
33968 is a character device instead of a block device.
33969
33970 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
33971 is a character device instead of a block device.
33972
b1ac8644 339732009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
33974
33975 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
33976 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
33977 FreeBSD. Check if a device is a character device. Use
33978 DIOCGMEDIASIZE to get the size.
33979 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
33980 support for FreeBSD.
33981 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
33982 is a character device instead of a block device. Add support for
33983 FreeBSD device names.
33984
33985 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
33986 a character device instead of a block device.
33987 (grub_util_check_char_device): New function.
33988
33989 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
33990 a character device instead of a block device.
33991
33992 * include/grub/util/getroot.h (grub_util_check_char_device): New
33993 prototype.
33994
a3f7515a 339952009-04-11 David S. Miller <davem@davemloft.net>
33996
33997 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
33998 static libgcc.
33999 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
34000 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
34001 function, if present.
34002 (__bswapdi2): Likewise.
34003
0d44993d 34004 * include/grub/sparc64/ieee1275/boot.h: New file.
34005 * boot/sparc64/ieee1275/boot.S: Likewise.
34006 * boot/sparc64/ieee1275/diskboot.S: Likewise.
34007
ed3d2bc2 34008 * kern/misc.c (grub_ltoa): New function.
34009 (grub_vsprintf): Use it to format 'long' integers.
34010
d3bfb59c 340112009-04-10 David S. Miller <davem@davemloft.net>
34012
34013 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
34014 slots are of type grub_ieee1275_cell_t.
34015 (grub_nand_read): Likewise.
34016 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
34017 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
34018 macros are used to compare values in arg/ret block of the call.
34019 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34020 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
34021 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
34022 grub_ieee1275_instance_to_path, grub_ieee1275_write,
34023 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
34024 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
34025 grub_ieee1275_close, grub_ieee1275_set_property,
34026 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
34027 grub_ieee1275_cell_t.
34028 * kern/ieee1275/openfw.c (grub_map): Likewise.
34029 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
34030 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
34031
450e2238 34032 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
34033 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
34034 (grub_devalias_iterate): Likewise.
34035
7dd4a573 340362009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 34037
34038 UFS improvements
34039
34040 * fs/ufs.c (INODE_NBLOCKS): new definition
34041 (struct grub_ufs_dirent): added fields for non-BSD dirents
34042 (grub_ufs_get_file_block): fixed double indirect handling
34043 (grub_ufs_lookup_symlink): use more robust way to determine whether
34044 symlink is inline
34045 (grub_ufs_find_file): support for non-BSD dirents
34046 (grub_ufs_dir): support for non-BSD dirents
34047
e7e6862a 340482009-04-10 Bean <bean123ch@gnail.com>
34049
34050 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
34051 attribute, otherwise the size would be wrong for i386 platform.
34052
34053 * include/grub/pci.h (grub_pci_read_word): New inline function.
34054 (grub_pci_read_byte): Likewise.
34055 (grub_pci_write): Likewise.
34056 (grub_pci_write_word): Likewise.
34057 (grub_pci_write_byte): Likewise.
34058
34059 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
34060
34061 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
34062 (find_framebuf): Scan pci to locate the frame buffer address.
34063
34064 * commands/efi/fixvideo.c: New file.
34065
34066 * commands/efi/loadbios.c: Likewise.
34067
34068 * commands/memrw.c: Likewise.
34069
34070 * util/grub-dumpbios.in: Likewise.
34071
34072 * conf/common.rmk (grub-dumpbios): New utility.
34073 (pkglib_MODULES): New module memrw.mod.
34074 (memrw_mod_SOURCE): New macro.
34075 (memrw_mod_CFLAGS): Likewise.
34076 (memrw_mod_LDFLAGS): Likewise.
34077
7dd4a573 34078 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34079 fixvideo.mod.
34080 (loadbios_mod_SOURCE): New macro.
34081 (loadbios_mod_CFLAGS): Likewise.
34082 (loadbios_mod_LDFLAGS): Likewise.
34083 (fixvideo_mod_SOURCE): Likewise.
34084 (fixvideo_mod_CFLAGS): Likewise.
34085 (fixvideo_mod_LDFLAGS): Likewise.
34086
7dd4a573 34087 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34088 fixvideo.mod.
34089 (loadbios_mod_SOURCE): New macro.
34090 (loadbios_mod_CFLAGS): Likewise.
34091 (loadbios_mod_LDFLAGS): Likewise.
34092 (fixvideo_mod_SOURCE): Likewise.
34093 (fixvideo_mod_CFLAGS): Likewise.
34094 (fixvideo_mod_LDFLAGS): Likewise.
34095
af63ada2 340962009-04-08 Felix Zielcke <fzielcke@z-51.de>
34097
34098 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
34099
c2cdde70 341002009-04-07 David S. Miller <davem@davemloft.net>
34101
34102 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
34103 support for R_SPARC_OLO10 relocations. Fix compile warning for
34104 R_SPARC_WDISP30 case.
ea3f72cf 34105 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 34106
761319cf 341072009-04-06 Pavel Roskin <proski@gnu.org>
34108
1007d1f5 34109 * include/grub/misc.h (ARRAY_SIZE): New macro.
34110 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
34111 New macro.
34112 * loader/i386/linux.c (allocate_pages): Use free_pages().
34113 (grub_linux_unload): Don't use free_pages().
34114 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
34115 wrong index. Treat all other modes as text modes.
34116 (grub_cmd_linux): Initialize vid_mode unconditionally to
34117 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
34118
761319cf 34119 * commands/help.c (print_command_help): Use cmd->prio, not
34120 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
34121
ea761d40 341222009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 34123
ea761d40 34124 Parttool
34125
34126 * parttool/pcpart.c: new file
34127 * commands/parttool.c: likewise
34128 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
34129 (parttool_mod_SOURCES): new variable
34130 (parttool_mod_CFLAGS): likewise
34131 (parttool_mod_LDFLAGS): likewise
34132 (pcpart_mod_SOURCES): likewise
34133 (pcpart_mod_CFLAGS): likewise
34134 (pcpart_mod_LDFLAGS): likewise
7dd4a573 34135 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 34136 and parttool/pcpart.c
34137 * conf/i386-efi.rmk: likewise
34138 * conf/i386-ieee1275.rmk: likewise
34139 * conf/i386-pc.rmk: likewise
34140 * conf/powerpc-ieee1275.rmk: likewise
34141 * conf/sparc64-ieee1275.rmk: likewise
34142 * conf/x86_64-ieee1275.rmk: likewise
34143
05aaebfb 341442009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34145
34146 Support for mtime and further expandability of dir command
34147
34148 * include/grub/lib/datetime.h: moved to ...
7dd4a573 34149 * include/grub/datetime.h: ... moved here and added
05aaebfb 34150 declaration of grub_unixtime2datetime. All users updated
7dd4a573 34151 * include/grub/fs.h: new syntax for dir and mtime functions in
34152 struct grub_fs
05aaebfb 34153 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
34154 and GRUB_FSHELP_FLAGS_MASK
34155 * commands/ls.c (grub_ls_list_files): Write mtime in long format
34156 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
34157 (grub_ext2_mtime): new function
34158 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
34159 (grub_hfsplus_mtime): new function
34160 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
34161 (GRUB_UFS_ATTR_FILE): likewise
34162 (GRUB_UFS_ATTR_LNK): likewise
34163 (struct grub_ufs_sblock): new fields mtime
34164 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
34165 all users updated
34166 (grub_ufs_dir): mtime support
34167 (grub_ufs_mtime): new function
34168 * fs/affs.c (grub_affs_dir): use new dir syntax
34169 * fs/afs.c (grub_afs_dir): likewise
34170 * fs/cpio.c (grub_cpio_dir): likewise
34171 * fs/fat.c (grub_fat_find_dir): likewise
34172 * fs/hfs.c (grub_hfs_dir): likewise
34173 * fs/iso9660.c (grub_iso9660_dir): likewise
34174 * fs/jfs.c (grub_jfs_dir): likewise
34175 * fs/minix.c (grub_minix_dir): likewise
34176 * fs/ntfs.c (grub_ntfs_dir): likewise
34177 * fs/reiserfs.c (grub_reiserfs_dir): likewise
34178 * fs/sfs.c (grub_sfs_dir): likewise
34179 * fs/xfs.c (grub_xfs_dir): likewise
34180 * util/hostfs.c (grub_hostfs_dir): likewise
34181 * lib/datetime.c: moved to ...
34182 * normal/datetime.c: ... moved here
34183 (grub_unixtime2datetime): new function
34184 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 34185 * normal/completion.c (iterate_dir): use new dir syntax
34186 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 34187 last modification time of a volume
7dd4a573 34188 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 34189 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 34190 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 34191 (normal_mod_SOURCES): likewise
34192 (datetime_mod_SOURCES): Removed lib/datetime.c
34193 * conf/i386-efi.rmk: likewise
7dd4a573 34194 * conf/i386-ieee1275.rmk: likewise
05aaebfb 34195 * conf/i386-pc.rmk: likewise
34196 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34197 * conf/sparc64-ieee1275.rmk: likewise
34198 * conf/x86_64-efi.rmk: likewise
05aaebfb 34199
8a7e1a14 342002009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34201
34202 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 34203
34204 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 34205 on grub_fat_find_dir
34206 (grub_fat_find_dir): use grub_fat_iterate_dir
34207 (grub_fat_label): likewise
34208
04186a9c 342092009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
34210
7dd4a573 34211 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 34212 and command.h
34213 remove extraneous kernel_elf_HEADERS
34214
da4c0bb6 342152009-04-04 Bean <bean123ch@gnail.com>
34216
34217 * include/grub/util/misc.h: Add dummy function fsync for mingw.
34218
34219 * util/misc.c: Likewise.
34220
54ad9555 342212009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34222
34223 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
34224 instead of grub_printf.
34225
7a6bf9f2 342262009-04-03 Robert Millan <rmh@aybabtu.com>
34227
34228 * loader/i386/linux.c (grub_linux_setup_video): Fill
34229 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
34230 values from `mode info' structure instead of hardcoded
34231 values.
34232
3fcc2083 342332009-04-01 Pavel Roskin <proski@gnu.org>
34234
34235 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
34236 unused now.
34237 * genmk.rb: Likewise.
34238 * configure.ac: Likewise.
34239
5ec9740b 342402009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
34241
34242 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
34243 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
34244
5270cec8 342452009-04-01 David S. Miller <davem@davemloft.net>
34246
34247 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 34248 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 34249 (grub_setjmp): Mark with 'returns_twice' attribute.
34250 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
34251 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
34252 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
34253
9c3dd854 342542009-04-01 Robert Millan <rmh@aybabtu.com>
34255
34256 Reapply fix from 2008-07-28 which was accidentally reverted; also
34257 perform the same fix to a similar check in same function.
34258
34259 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34260 with the same number are found, just use issue a warning with
34261 grub_dprintf(), as this error has been reported to be non-fatal.
34262
0d818b7e 342632009-03-31 Pavel Roskin <proski@gnu.org>
34264
34265 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
34266 for cross-compilation.
34267
95646d92 342682009-03-30 Robert Millan <rmh@aybabtu.com>
34269
34270 Fix i386-ieee1275 build.
34271
34272 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
34273 Remove declaration.
34274
6a003ed1 342752009-03-30 Pavel Roskin <proski@gnu.org>
34276
34277 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
34278 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
34279 zero-terminated, rely only on the strlen value. Fix comparison
34280 of strings differing in length.
34281
92f33540 342822009-03-30 Robert Millan <rmh@aybabtu.com>
34283
34284 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
34285 checking for abi version. Improve error messages on BIOS to notify
34286 user about `linux16' command.
34287
a8c48fd5 342882009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
34289
f968172e 34290 Leak fixes
a8c48fd5 34291
f968172e 34292 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
34293 in case of collision
34294 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 34295
9c323f09 342962009-03-29 Robert Millan <rmh@aybabtu.com>
34297
34298 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
34299 set `vid_mode' accordingly.
34300 (grub_linux_boot): Process `vid_mode' and set video mode.
34301
ae68f423 343022009-03-29 Robert Millan <rmh@aybabtu.com>
34303
34304 * util/grub.d/10_linux.in (linux_entry): New function.
34305 Factorize generation of Linux boot entries.
34306
5709cfc4 343072009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
34308
34309 Make the format of Environment Block plain text. The boot loader
34310 part is not tested well yet.
7dd4a573 34311
5709cfc4 34312 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
34313 (buffer): Removed.
34314 (envblk): Likewise.
34315 (usage): Remove "info" and "clear". Add "unset". Update the
34316 description of "set", as this does not delete variables any
34317 longer.
34318 (create_envblk_file): Complete rewrite.
34319 (open_envblk_file): Likewise.
34320 (cmd_info): Removed.
34321 (cmd_list): Likewise.
34322 (cmd_set): Likewise.
34323 (cmd_clear): Likewise.
34324 (list_variables): New function.
34325 (write_envblk): Likewise.
34326 (set_variables): Likewise.
34327 (unset_variables): Likewise.
34328 (main): Complete rewrite.
34329
34330 * commands/loadenv.c (buffer): Removed.
34331 (envblk): Likewise.
34332 (open_envblk_file): New function.
34333 (read_envblk_file): Complete rewrite.
34334 (grub_cmd_load_env): Likewise.
34335 (grub_cmd_list_env): Likewise.
34336 (struct blocklist): New struct.
34337 (free_blocklists): New function.
34338 (check_blocklists): Likewise.
34339 (write_blocklists): Likewise.
34340 (grub_cmd_save_env): Complete rewrite.
34341
34342 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
34343 a plain text signature.
34344 (GRUB_ENVBLK_MAXLEN): Removed.
34345 (struct grub_envblk): Complete rewrite.
34346 (grub_envblk_find): Removed.
34347 (grub_envblk_insert): Likewise.
34348 (grub_envblk_open): New prototype.
34349 (grub_envblk_set): Likewise.
34350 (grub_envblk_delete): Put const to VALUE.
34351 (grub_envblk_iterate): Put const to NAME and VALUE.
34352 (grub_envblk_close): New prototype.
34353 (grub_envblk_buffer): New inline function.
34354 (grub_envblk_size): Likewise.
34355
34356 * lib/envblk.c: Include grub/mm.h.
34357 (grub_env_find): Removed.
34358 (grub_envblk_open): New function.
34359 (grub_envblk_close): Likewise.
34360 (escaped_value_len): Likewise.
34361 (find_next_line): Likewise.
34362 (grub_envblk_insert): Removed.
34363 (grub_envblk_set): New function.
34364 (grub_envblk_delete): Complete rewrite.
34365 (grub_envblk_iterate): Likewise.
34366
a9368fd3 343672009-03-28 Robert Millan <rmh@aybabtu.com>
34368
34369 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
34370 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
34371 variables. Use 16-bit loader.
34372 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
34373 loader.
34374 * kern/i386/loader.S (grub_linux_boot): Rename to ...
34375 (grub_linux16_boot): ... this. Update all users.
34376 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
34377 (grub_linux_boot): ... this. Update all users.
34378
34379 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
34380 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
34381 commands to `linux16' and `initrd16'.
34382 (GRUB_MOD_FINI(linux)): Rename to ...
34383 (GRUB_MOD_FINI(linux16)): ... this.
34384
e4dd5a7e 343852009-03-24 Pavel Roskin <proski@gnu.org>
34386
34387 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
34388 not just for compilation.
34389
c04d6e05 343902009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
34391
34392 Move multiboot helper out of kernel
34393
34394 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
34395 `loader/i386/multiboot_helper.S'.
34396 * conf/i386-coreboot.rmk: Likewise
34397 * conf/i386-ieee1275.rmk: Likewise
34398
34399 * kern/i386/loader.S: Move multiboot helpers from here...
34400 * loader/i386/multiboot_helper.S: ...moved here
34401 * include/grub/i386/loader.h: Move declarations of multiboot
34402 helpers from here...
34403 * include/grub/i386/multiboot.h: ...moved here
34404 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
34405
42a5b3fc 344062009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34407
34408 * kern/env.c (grub_env_context_open): Added an argument to specify
34409 whether a new context inherits exported variables from current
34410 one. This is useful when making a sandbox to interpret a config
34411 file.
34412 All callers updated.
34413
34414 * include/grub/env.h (grub_env_context_open): Updated the prototype.
34415
b28bbc4e 344162009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34417
34418 * kern/env.c (grub_env_context_close): Fix memory leaks.
34419
f04f02e4 344202009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34421
34422 * normal/main.c (grub_normal_execute): Added an argument
34423 BATCH to specify if an interactive interface should be provided
34424 after reading a config file.
34425 All callers updated.
34426 (read_command_list): Prevent being executed twice.
34427 (read_fs_list): Likewise.
34428
42a5b3fc 34429 * include/grub/normal.h (grub_normal_execute): Updated the
34430 prototype.
f04f02e4 34431
41473ac2 344322009-03-22 Pavel Roskin <proski@gno.org>
34433
fbc00b0c 34434 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
34435 _start.
34436 * kern/i386/pc/startup.S: Likewise.
34437 * kern/i386/efi/startup.S: Likewise.
34438 * kern/i386/ieee1275/startup.S: Likewise.
34439 * kern/i386/coreboot/startup.S: Likewise.
34440 * kern/x86_64/efi/startup.S: Likewise.
34441
41473ac2 34442 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
34443 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
34444 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
34445
2274cc8f 344462009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
34447
34448 Bugfixes in multiboot for bugs uncovered by solaris kernel.
34449
34450 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
34451 limit detection.
34452 Use vaddr of correct segment for entry_point.
34453
b1b797cb 344542009-03-21 Bean <bean123ch@gmail.com>
34455
34456 * commands/blocklist.c: Add include file <grub/command.h>, remove
34457 <grub/normal.h> and <grub/arg.h>.
34458 (grub_cmd_blocklist): Use the new command interface.
34459 (GRUB_MOD_INIT): Likewise.
34460 (GRUB_MOD_FINI): Likewise.
34461 * commands/boot.c: Likewise.
34462 * commands/cat.c: Likewise.
34463 * commands/cmp.c: Likewise.
34464 * commands/configfile.c: Likewise.
34465 * commands/crc.c: Likewise.
34466 * commands/echo.c: Likewise.
34467 * commands/halt.c: Likewise.
34468 * commands/handler.c: Likewise.
34469 * commands/hdparm.c: Likewise.
34470 * commands/help.c: Likewise.
34471 * commands/hexdump.c: Likewise.
34472 * commands/loadenv.c: Likewise.
34473 * commands/ls.c: Likewise.
34474 * commands/lsmmap.c: Likewise.
34475 * commands/lspci.c: Likewise.
34476 * commands/loadenv.c: Likewise.
34477 * commands/read.c: Likewise.
34478 * commands/reboot.c: Likewise.
34479 * commands/search.c: Likewise.
34480 * commands/sleep.c: Likewise.
34481 * commands/test.c: Likewise.
34482 * commands/usbtest.c: Likewise.
34483 * commands/videotest.c: Likewise.
34484 * commands/i386/cpuid.c: Likewise.
34485 * commands/i386/pc/halt.c: Likewise.
34486 * commands/i386/pc/play.c: Likewise.
34487 * commands/i386/pc/pxecmd.c: Likewise.
34488 * commands/i386/pc/vbeinfo.c: Likewise.
34489 * commands/i386/pc/vbetest.c: Likewise.
34490 * commands/ieee1275/suspend.c: Likewise.
34491 * disk/loopback.c: Likewise.
34492 * font/font_cmd.c: Likewise.
34493 * hello/hello.c: Likewise.
34494 * loader/efi/appleloader.c: Likewise.
34495 * loader/efi/chainloader.c: Likewise.
34496 * loader/i386/bsd.c: Likewise.
34497 * loader/i386/efi/linux.c: Likewise.
34498 * loader/i386/ieee1275/linux.c: Likewise.
34499 * loader/i386/linux.c: Likewise.
34500 * loader/i386/pc/chainloader.c: Likewise.
34501 * loader/i386/pc/linux.c: Likewise.
34502 * loader/powerpc/ieee1275/linux.c: Likewise.
34503 * loader/multiboot_loader.c: Likewise.
34504 * term/gfxterm.c: Likewise.
34505 * term/i386/pc/serial.c: Likewise.
34506 * term/terminfo.c: Likewise.
34507
34508 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
34509 * term/i386/pc/vga.c: Likewise.
34510 * video/readers/jpeg.c: Likewise.
34511 * video/readers/png.c: Likewise.
34512 * video/readers/tga.c: Likewise.
34513
34514 * util/grub-fstest (cmd_loopback): Removed.
34515 (cmd_blocklist): Likewise.
34516 (cmd_ls): Likewise.
34517 (grub_register_command): Likewise.
34518 (grub_unregister_command): Likewise.
34519 (execute_command): Use grub_command_find to locate command and execute
34520 it.
34521
34522 * include/grub/efi/chainloader.h: Removed.
34523 * loader/efi/chainloader_normal.c: Likewise.
34524 * loader/i386/bsd_normal.c: Likewise.
34525 * loader/i386/pc/chainloader_normal.c: Likewise.
34526 * loader/i386/pc/multiboot_normal.c: Likewise.
34527 * loader/linux_normal.c: Likewise.
34528 * loader/multiboot_loader_normal.c: Likewise.
34529 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34530
34531 * gencmdlist.sh: Scan new registration command grub_register_extcmd
34532 and grub_register_command_p1.
34533
34534 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
34535 kern/command.c, lib/arg.c and commands/extcmd.c.
34536 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
34537 (minicmd_mod_SOURCES): New variable.
34538 (minicmd_mod_CFLAGS): Likewise.
34539 (minicmd_mod_LDFLAGS): Likewise.
34540 (extcmd_mod_SOURCES): Likewise.
34541 (extcmd_mod_CFLAGS): Likewise.
34542 (extcmd_mod_LDFLAGS): Likewise.
34543 (boot_mod_SOURCES): Removed.
34544 (boot_mod_CFLAGS): Likewise.
34545 (boot_mod_LDFLAGS): Likewise.
34546
34547 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
34548 kern/corecmd.c.
34549 (kernel_img_HEADERS): Add command.h.
34550 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
34551 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
34552 and lib/arg.c.
34553 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
34554 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
34555 remove the corresponding normal mode command.
34556 (normal_mod_SOURCES): Remove normal/arg.c.
34557 * conf/i386-coreboot.rmk: Likewise.
34558 * conf/i386-efi.rmk: Likewise.
34559 * conf/i386-ieee1275.rmk: Likewise.
34560 * conf/powerpc-ieee1275.rmk: Likewise.
34561 * conf/x86_64-efi.rmk: Likewise.
34562
34563 * include/grub/arg.h: Move from here ...
34564 * include/grub/lib/arg.h: ... to here.
34565
34566 * normal/arg.c: Move from here ...
34567 * lib/arg.c: ... to here.
34568
34569 * commands/extcmd.c: New file.
34570 * commands/minicmd.c: Likewise.
34571 * include/grub/command.h: Likewise.
34572 * include/grub/extcmd.h: Likewise.
34573 * kern/command.c: Likewise.
34574 * kern/corecmd.c: Likewise.
34575
34576 * kern/list.c (grub_list_iterate): Return int instead of void.
34577 (grub_list_insert): New function.
34578 (grub_prio_list_insert): Likewise.
34579
34580 * kern/rescue.c (grub_rescue_command): Removed.
34581 (grub_rescue_command_list): Likewise.
34582 (grub_rescue_register_command): Likewise.
34583 (grub_rescue_unregister_command): Likewise.
34584 (grub_rescue_cmd_boot): Move to minicmd.c
34585 (grub_rescue_cmd_help): Likewise.
34586 (grub_rescue_cmd_info): Likewise.
34587 (grub_rescue_cmd_boot): Likewise.
34588 (grub_rescue_cmd_testload): Likewise.
34589 (grub_rescue_cmd_dump): Likewise.
34590 (grub_rescue_cmd_rmmod): Likewise.
34591 (grub_rescue_cmd_lsmod): Likewise.
34592 (grub_rescue_cmd_exit): Likewise.
34593 (grub_rescue_print_devices): Moved to corecmd.c.
34594 (grub_rescue_print_files): Likewise.
34595 (grub_rescue_cmd_ls): Likewise.
34596 (grub_rescue_cmd_insmod): Likewise.
34597 (grub_rescue_cmd_set): Likewise.
34598 (grub_rescue_cmd_unset): Likewise.
7d074e3c 34599 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 34600 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 34601 commands, remove grub_rescue_register_command calls.
b1b797cb 34602
7d074e3c 34603 * normal/command.c (grub_register_command): Removed.
b1b797cb 34604 (grub_unregister_command): Likewise.
34605 (grub_command_find): Likewise.
34606 (grub_iterate_commands): Likewise.
34607 (rescue_command): Likewise.
34608 (export_command): Moved to corecmd.c.
34609 (set_command): Removed.
34610 (unset_command): Likewise.
34611 (insmod_command): Likewise.
34612 (rmmod_command): Likewise.
34613 (lsmod_command): Likewise.
34614 (grub_command_init): Likewise.
34615
34616 * normal/completion.c (iterate_command): Use cmd->prio to check for
34617 active command.
34618 (complete_arguments): Use grub_extcmd_t structure to find options.
34619 (grub_normal_do_completion): Change function grub_iterate_commands to
34620 grub_command_iterate.
34621
34622 * normal/execute.c (grub_script_execute_cmd): No need to parse
34623 argument here.
34624
34625 * normal/main.c (grub_dyncmd_dispatcher): New function.
34626 (read_command_list): Register unload commands as dyncmd.
34627 (grub_cmd_normal): Use new command interface, register rescue,
34628 unregister normal at entry, register normal, unregister rescue at exit.
34629
34630 * include/grub/list.h (grub_list_test_t): New type.
34631 (grub_list_iterate): Return int instead of void.
34632 (grub_list_insert): New function.
34633 (GRUB_AS_NAMED_LIST_P): New macro.
34634 (GRUB_AS_PRIO_LIST): Likewise.
34635 (GRUB_AS_PRIO_LIST_P): Likewise.
34636 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
34637 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
34638 (grub_prio_list): New structure.
34639 (grub_prio_list_insert): New function.
34640 (grub_prio_list_remove): New inline function.
34641
34642 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
34643 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
34644 (GRUB_COMMAND_FLAG_MENU): Likewise.
34645 (GRUB_COMMAND_FLAG_BOTH): Likewise.
34646 (GRUB_COMMAND_FLAG_TITLE): Likewise.
34647 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
34648 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
34649 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
34650 (grub_command): Likewise.
34651 (grub_register_command): Likewise.
34652 (grub_command_find): Likewise.
34653 (grub_iterate_commands): Likewise.
34654 (grub_command_init): Likewise.
34655 (grub_arg_parse): Likewise.
34656 (grub_arg_show_help): Likewise.
34657
34658 * include/grub/rescue.h (grub_rescue_register_command): Removed.
34659 (grub_rescue_unregister_command): Likewise.
34660
34661 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
34662 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
34663 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
34664
34665 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
34666 grub_rescue_cmd_initrd.
34667 * include/grub/i386/loader.h: Likewise.
34668 * include/grub/x86_64/loader.h: Likewise.
34669
34670 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
34671
1f4147aa 346722009-03-21 Bean <bean123ch@gmail.com>
34673
34674 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
34675 instead of stat in mingw environment.
34676
34677 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
34678
34679 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
34680
34681 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
34682 AC_CONFIG_LINKS.
34683
2156d5ba 346842009-03-21 Bean <bean123ch@gmail.com>
34685
34686 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
34687 out of range error.
34688
177b82ca 346892009-03-18 Michel Dänzer <michel@daenzer.net>
34690
34691 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
34692 checking inode flags for EXT4_EXTENTS_FLAG.
34693
14aad807 346942009-03-18 Robert Millan <rmh@aybabtu.com>
34695
34696 * loader/i386/linux.c: Include `<grub/video.h>' and
34697 `<grub/i386/pc/vbe.h>'..
34698 (grub_linux_setup_video): New function. Loosely based on the EFI one.
34699 (grub_linux32_boot): Attempt to configure video settings with
34700 grub_linux_setup_video().
34701 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
34702 to avoid grub_console_fini() which would step out of graphical mode
34703 unconditionally.
34704
8cf83a27 347052009-03-14 Robert Millan <rmh@aybabtu.com>
34706
34707 Fix build on powerpc.
34708 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
34709
40164e75 347102009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
34711
34712 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
34713 background image command.
34714
c58bc32a 347152009-03-12 Colin D Bennett <colin@gibibit.com>
34716
34717 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
34718 (grub_gfxterm_putchar): Extract pairs of identical calls to
34719 draw_cursor out of conditional blocks.
34720
5415144a 347212009-03-11 Pavel Roskin <proski@gnu.org>
34722
34723 * fs/hfs.c (grub_hfs_strncasecmp): New function.
34724 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
34725
6394042e 347262009-03-11 Robert Millan <rmh@aybabtu.com>
34727
34728 * loader/i386/multiboot_elfxx.c
34729 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
34730
b7b50e5f 347312009-03-11 Felix Zielcke <fzielcke@z-51.de>
34732
34733 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
34734 `kern/handler.c'.
34735
1ca7fc96 347362009-03-11 Robert Millan <rmh@aybabtu.com>
34737
34738 * loader/i386/multiboot.c (code_size): New variable.
34739 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 34740 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 34741 4-byte alignment to MBI and others by increasing
7d074e3c 34742 `boot_loader_name_length' appropriately.
1ca7fc96 34743
34744 * loader/i386/multiboot_elfxx.c
34745 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
34746
a83ea1d2 347472009-03-09 Felix Zielcke <fzielcke@z-51.de>
34748
34749 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
34750 `fs/ext2.c'.
34751
aa9f3bff 347522009-03-08 Robert Millan <rmh@aybabtu.com>
34753
34754 Make loader/i386/linux.c usable on i386-pc again.
34755
34756 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
34757 memory to heap.
34758 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
34759 `#error' stanza.
34760
d8b3b60e 347612009-03-07 Bean <bean123ch@gmail.com>
34762
34763 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
34764 allocation.
34765
b362c9e9 347662009-03-06 Robert Millan <rmh@aybabtu.com>
34767
34768 Fix display issue on terminals with screen size other than 80x25
34769 (e.g. gfxterm with resolution higher than 640x480).
34770
34771 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 34772 position relative to the center of the terminal instead of relying
b362c9e9 34773 on a hardcoded offset.
34774
9304eef1 347752009-03-04 Robert Millan <rmh@aybabtu.com>
34776
34777 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
34778 installed.
34779
34780 * Makefile.in (host_kernel): New variable.
34781 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
34782 scripts instead of just the windows one.
34783 * configure.ac: Initialize and AC_SUBST `host_kernel'.
34784
eabc95fb 347852009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 34786
34787 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
34788 `kern/handler.c'.
34789 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34790 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34791 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34793 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34794 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34795
ceb1223c 347962009-03-04 Felix Zielcke <fzielcke@z-51.de>
34797
34798 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
34799 or if there's no space for the disk label and print the partition number on a
34800 invalid magic.
34801
4910684a 348022009-03-04 Felix Zielcke <fzielcke@z-51.de>
34803
34804 * util/misc.c: Include <time.h>.
34805 (grub_millisleep): New function.
34806
7e9ca17a 348072009-03-04 Bean <bean123ch@gmail.com>
34808
34809 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
34810 another option -mno-red-zone.
34811
34812 * commands/handler.c: Change module description.
34813
34814 * kern/handler.c: Add missing space at the end of description line.
34815
34816 * kern/list.c: Likewise.
34817
f501677c 348182009-03-03 Robert Millan <rmh@aybabtu.com>
34819
34820 Move more components to the relocation area, and fix mbi pointer
34821 handling to use the destination rather than the origin (thanks to
34822 Vladimir Serbinenko for spotting).
34823
34824 * loader/i386/multiboot.c (mbi_dest): New variable.
34825 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
34826 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
34827 relocation area.
34828
9902d047 348292009-03-01 Bean <bean123ch@gmail.com>
34830
50fb7002 34831 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 34832 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
34833 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
34834 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
34835
34836 * loader/i386/efi/linux.c (acpi_guid): New variable.
34837 (acpi_guid): Likewise.
34838 (EBDA_SEG_ADDR): New constant.
34839 (LOW_MEM_ADDR): Likewise.
34840 (FAKE_EBDA_SEG): Likewise.
34841 (fake_bios_data): New function.
34842 (grub_linux_boot): Call fake_bios_data.
34843
71b9f361 348442009-03-01 Bean <bean123ch@gmail.com>
34845
34846 * commands/terminal.c: Removed.
34847
34848 * commands/handler.c: New file.
34849
34850 * include/grub/list.h: Likewise.
34851
34852 * include/grub/handler.h: Likewise.
34853
34854 * kern/list.c: Likewise.
34855
34856 * kern/handler.c: Likewise.
34857
34858 * kern/term.h: Include header file <grub/handler.h>.
34859 (grub_term_input): Move next field to the beginning.
34860 (grub_term_output): Likewise.
34861 (grub_term_input_class): New variable.
34862 (grub_term_output_class): Likewise.
34863 (grub_term_register_input): Changed to inline function.
34864 (grub_term_register_output): Likewise.
34865 (grub_term_unregister_input): Likewise.
34866 (grub_term_unregister_output): Likewise.
34867 (grub_term_set_current_input): Likewise.
34868 (grub_term_set_current_output): Likewise.
34869 (grub_term_get_current_input): Likewise.
34870 (grub_term_get_current_output): Likewise.
34871 (grub_term_iterate_input): Removed.
34872 (grub_term_iterate_output): Likewise.
34873
34874 * kern/term.c (grub_term_list_input): Removed.
34875 (grub_term_list_output): Likewise.
34876 (grub_term_input_class): New variable.
34877 (grub_term_output_class): Likewise.
50fb7002 34878 (grub_cur_term_input): Change variable as macro.
71b9f361 34879 (grub_cur_term_output): Likewise.
34880 (grub_term_register_input): Removed.
34881 (grub_term_register_output): Likewise.
34882 (grub_term_unregister_input): Likewise.
34883 (grub_term_unregister_output): Likewise.
34884 (grub_term_set_current_input): Likewise.
34885 (grub_term_set_current_output): Likewise.
34886 (grub_term_iterate_input): Likewise.
34887 (grub_term_iterate_output): Likewise.
34888 (grub_term_get_current_input): Likewise.
34889 (grub_term_get_current_output): Likewise.
34890
34891 * util/grub-editenv.c: Include header file <grub/handler.h>.
34892 (grub_term_get_current_input): Removed.
34893 (grub_term_get_current_output): Likewise.
34894 (grub_term_input_class): New variable.
50fb7002 34895 (grub_term_output_class): Likewise.
71b9f361 34896
34897 * util/grub-fstest.c (grub_term_get_current_input): Removed.
34898 (grub_term_get_current_output): Likewise.
34899 (grub_term_input_class): New variable.
50fb7002 34900 (grub_term_output_class): Likewise.
71b9f361 34901
34902 * util/grub-probe.c (grub_term_get_current_input): Removed.
34903 (grub_term_get_current_output): Likewise.
34904 (grub_term_input_class): New variable.
50fb7002 34905 (grub_term_output_class): Likewise.
71b9f361 34906
34907 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
34908 (grub_term_get_current_output): Likewise.
34909 (grub_term_input_class): New variable.
50fb7002 34910 (grub_term_output_class): Likewise.
71b9f361 34911
34912 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
34913 (terminal_mod_SOURCES): Likewise.
34914 (terminal_mod_CFLAGS): Likewise.
34915 (terminal_mod_LDFLAGS): Likewise.
34916
34917 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
34918 handler.c.
34919 (kernel_img_SOURCES): Add list.c and handler.c.
34920 (kernel_img_HEADERS): Add list.h and handler.h.
34921
34922 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
34923 handler.c.
34924 (kernel_mod_SOURCES): Add list.c and handler.c.
34925 (kernel_mod_HEADERS): Add list.h and handler.h.
34926
34927 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
34928 handler.c.
34929 (kernel_elf_SOURCES): Add list.c and handler.c.
34930 (kernel_elf_HEADERS): Add list.h and handler.h.
34931
34932 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34933 handler.c.
34934 (kernel_elf_SOURCES): Add list.c and handler.c.
34935 (kernel_elf_HEADERS): Add list.h and handler.h.
34936
34937 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
34938 handler.c.
34939 (kernel_mod_SOURCES): Add list.c and handler.c.
34940 (kernel_mod_HEADERS): Add list.h and handler.h.
34941
34942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34943 handler.c.
34944 (kernel_elf_SOURCES): Add list.c and handler.c.
34945 (kernel_elf_HEADERS): Add list.h and handler.h.
34946
8a31787f 349472009-02-27 Robert Millan <rmh@aybabtu.com>
34948
34949 Factorize elf32 / elf64 code in Multiboot loader. This will
34950 prevent it from getting out of sync again.
34951
34952 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
34953 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
34954 grub_multiboot_load_elf64): Move from here ...
34955 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
34956 grub_multiboot_load_elf): ... to here (new file).
34957
51cd3dfc 349582009-02-27 Robert Millan <rmh@aybabtu.com>
34959
34960 * util/grub.d/10_linux.in: Rename "single-user mode" to
34961 "recovery mode".
34962
6e8c9c3a 349632009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
34964
34965 Don't leak in SCSI code.
34966 * disk/scsi.c (grub_scsi_close): free `scsi'.
34967
4b6bf4f9 349682009-02-27 Robert Millan <rmh@aybabtu.com>
34969
34970 * loader/i386/pc/multiboot.c: Move from here ...
34971 * loader/i386/multiboot.c: ... to here. Update all users.
34972
b9413424 349732009-02-27 Robert Millan <rmh@aybabtu.com>
34974
34975 Patch from Alexandre Bique <bique.alexandre@gmail.com>
34976 * util/i386/pc/grub-setup.c (setup): Fix directory path.
34977
50fb7002 349782009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 34979
34980 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
34981 b-tree.
34982
8cc50345 349832009-02-27 Robert Millan <rmh@aybabtu.com>
34984
34985 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
34986 `0x' qualifier as 0 when base is specified as parameter).
34987
6e09b8b7 349882009-02-24 Bean <bean123ch@gmail.com>
34989
34990 * configure.ac: Check for -mcmodel=large in x86_64 target.
34991
34992 * include/grub/efi/api.h (efi_call_10): New macro.
34993 (efi_wrap_10): New function.
34994
34995 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
34996 (GRUB_PE32_REL_BASED_HIGH): Likewise.
34997 (GRUB_PE32_REL_BASED_LOW): Likewise.
34998 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
34999 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
35000 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
35001 (GRUB_PE32_REL_BASED_SECTION): Likewise.
35002 (GRUB_PE32_REL_BASED_REL): Likewise.
35003 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
35004 (GRUB_PE32_REL_BASED_DIR64): Likewise.
35005 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
35006
35007 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
35008 issue.
35009
35010 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
35011 (efi_wrap_10): New function.
35012
35013 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
35014
35015 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
35016 MB/MBP model (NV chipset).
35017 (devdata_devs): Add devpath_5 to the list.
35018
35019 * load/i386/efi/linux.c (video_base): Remove variable.
35020 (RGB_MASK): New macro.
35021 (RGB_MAGIC): Likewise.
35022 (LINE_MIN): Likewise.
35023 (LINE_MAX): Likewise.
35024 (FBTEST_STEP): Likewise.
35025 (FBTEST_COUNT): Likewise.
35026 (fb_list): New variable.
35027 (grub_find_video_card): Remove function.
35028 (find_framebuf): New function.
35029 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
35030 line length.
35031
35032 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
35033 problem for x86_64.
35034
74b21bee 350352009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
35036
35037 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
35038
35039 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
35040 coding tool name.
35041
a455f472 350422009-02-22 Robert Millan <rmh@aybabtu.com>
35043
35044 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
35045 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
35046 in our relocation, instead of using it directly from heap. Also
35047 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
35048
6374daf3 350492009-02-21 Robert Millan <rmh@aybabtu.com>
35050
35051 Implement USB keyboard support (based on patch by Marco Gerards)
35052
35053 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
35054 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
35055 (usb_keyboard_mod_LDFLAGS): New variables.
35056
35057 * term/usb_keyboard.c: New file.
35058
8fa4ea70 350592009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
35060
35061 Corrected wrong declaration
35062
35063 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
35064
353976ac 350652009-02-14 Christian Franke <franke@computer.org>
35066
35067 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
35068 (grub_lspci_iter): Print class code and programming interface byte.
35069
6aa1169b 350702009-02-14 Christian Franke <franke@computer.org>
35071
35072 * gendistlist.sh: Ignore `.svn' directories.
35073
265372ca 350742009-02-14 Felix Zielcke <fzielcke@z-51.de>
35075
35076 * fs/fat.c: Add 2009 to Copyright line.
35077
9ff516f3 350782009-02-14 Christian Franke <franke@computer.org>
35079
35080 * commands/hdparm.c: New file. Provides `hdparm' command
35081 which sends ATA commands via grub_disk_ata_pass_through ().
35082
35083 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
35084
35085 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
35086 and <grub/cpu/io.h> to include/grub/ata.h.
35087 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
35088 (GRUB_CDROM_SECTOR_SIZE): Remove.
35089 (GRUB_ATA_*): Move to include/grub/ata.h.
35090 (GRUB_ATAPI_*): Likewise.
35091 (enum grub_ata_commands): Likewise.
35092 (enum grub_ata_timeout_milliseconds): Likewise.
35093 (struct grub_ata_device): Likewise.
35094 (grub_ata_regset): Likewise.
35095 (grub_ata_regget): Likewise.
35096 (grub_ata_regset2): Likewise.
35097 (grub_ata_regget2): Likewise.
35098 (grub_ata_check_ready): Likewise.
35099 (grub_ata_wait_not_busy): Remove static, exported in
35100 include/grub/ata.h.
35101 (grub_ata_wait_drq): Likewise.
35102 (grub_ata_pio_read): Likewise.
35103
35104 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
35105 function for hdparm.mod.
35106
35107 * include/grub/ata.h: New file, contains declarations from
35108 disk/ata.c.
35109 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
35110
35111 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
35112 (grub_disk_ata_pass_through): New exported variable.
35113
35114 * kern/disk.c (grub_disk_ata_pass_through): New variable.
35115
772e23da 351162009-02-13 Colin D Bennett <colin@gibibit.com>
35117
35118 Support multiple fallback entries, and provide an API to support
35119 executing default+fallback menu entries. Renamed the `terminal' menu
35120 viewer to `text'.
35121
35122 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
35123 variable declaration.
35124 (grub_menu_execute_callback): New structure declaration.
35125 (grub_menu_execute_callback_t): New typedef.
35126 (grub_menu_execute_with_fallback): New function declaration.
35127 (grub_menu_get_entry): Likewise.
35128 (grub_menu_get_timeout): Likewise.
35129 (grub_menu_set_timeout): Likewise.
35130
35131 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
35132
35133 * normal/menu.c (grub_wait_after_message): Moved to
35134 `normal/menu_text.c'.
35135 (draw_border): Likewise.
35136 (print_message): Likewise.
35137 (print_entry): Likewise.
35138 (print_entries): Likewise.
35139 (grub_menu_init_page): Likewise.
35140 (get_entry_number): Likewise.
35141 (print_timeout): Likewise.
35142 (run_menu): Likewise.
35143 (grub_menu_execute_entry): Likewise.
35144 (show_text_menu): Likewise.
35145 (get_and_remove_first_entry_number): New function.
35146 (grub_menu_execute_with_fallback): Likewise.
35147 (get_entry): Renamed to ...
35148 (grub_menu_get_entry): .. this and made it global.
35149 (get_timeout): Renamed to ...
35150 (grub_menu_get_timeout): ... this and made it global.
35151 (set_timeout): Renamed to ...
35152 (grub_menu_set_timeout): ... this and made it global.
35153 (grub_normal_terminal_menu_viewer): Renamed to ...
35154 (grub_normal_text_menu_viewer): ... this.
35155
35156 * normal/menu_text.c: New file. Extracted text-menu-specific code
35157 from normal/menu.c.
35158
35159 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
35160 (normal_mod_SOURCES): Likewise.
35161
35162 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35163 (normal_mod_SOURCES): Likewise.
35164
35165 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35166 (normal_mod_SOURCES): Likewise.
35167
35168 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
35169 (normal_mod_SOURCES): Likewise.
35170
35171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35172 (normal_mod_SOURCES): Likewise.
35173
35174 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35175 (normal_mod_SOURCES): Likewise.
35176
35177 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35178 (normal_mod_SOURCES): Likewise.
35179
16ac430e 351802009-02-11 Robert Millan <rmh@aybabtu.com>
35181
35182 * util/grub.d/00_header.in: Update old reference to `font' command.
35183
06ff20fc 351842009-02-10 Felix Zielcke <fzielcke@z-51.de>
35185
35186 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
35187
35188 Based on patch from Javier Martín.
35189
96da9407 351902009-02-09 Felix Zielcke <fzielcke@z-51.de>
35191
35192 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 35193 to avoid false positives with FAT.
96da9407 35194 (grub_fstest_SOURCES): Likewise.
35195 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35196 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35198 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35199 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35200 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35201
6dca6fe4 352022009-02-09 Felix Zielcke <fzielcke@z-51.de>
35203
06ff20fc 35204 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 35205 bpb.version_specific.fat12_or_fat16.fstype and
35206 bpb.version_specific.fat32.fstype.
35207
2550c62f 352082009-02-08 Robert Millan <rmh@aybabtu.com>
35209
be110b30 35210 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 35211
56978920 352122009-02-08 Robert Millan <rmh@aybabtu.com>
35213
35214 * Makefile.in (host_os, host_cpu): New variables.
35215 (target_os): Remove. Update all users.
35216
d64399b5 352172009-02-08 Marco Gerards <marco@gnu.org>
35218
35219 * Makefile.in (enable_grub_emu_usb): New variable.
35220 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
35221 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
35222 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
35223 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
35224 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
35225 `usbtest.mod' and `usbms.mod'.
35226 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
35227 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
35228 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
35229 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
35230 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
35231 variables.
35232
35233 * disk/usbms.c: New file.
35234
35235 * include/grub/usb.h: Likewise.
35236
35237 * include/grub/usbtrans.h: Likewise.
35238
35239 * include/grub/usbdesc.h: Likewise.
35240
35241 * bus/usb/usbtrans.c: Likewise.
35242
35243 * bus/usb/ohci.c: Likewise.
35244
35245 * bus/usb/uhci.c: Likewise.
35246
35247 * bus/usb/usbhub.c: Likewise.
35248
35249 * bus/usb/usb.c: Likewise.
35250
35251 * commands/usbtest.c: Likewise.
35252
35253 * util/usb.c: Likewise.
50fb7002 35254
d64399b5 35255 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
35256
35257 * configure.ac: Test for libusb presence.
50fb7002 35258
d64399b5 35259 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
35260
2b40d6bb 352612009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
35262
35263 * kern/mm.c: Add more comments.
35264
73a4ce81 352652009-02-08 Robert Millan <rmh@aybabtu.com>
35266
35267 Patch from Javier Martín.
35268 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
35269 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
35270
f821ce59 352712009-02-08 Robert Millan <rmh@aybabtu.com>
35272
35273 * fs/cpio.c: Split tar functionality to ...
35274 * fs/tar.c: ... here (new file). Update all users.
35275
aebfc4b0 352762009-02-07 Robert Millan <rmh@aybabtu.com>
35277
35278 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
35279 backward-incompatible features.
35280
35281 Based on patch from Javier Martín, with some adjustments.
35282
50fb7002 352832009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 35284
35285 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
35286
0bb5115e 352872009-02-07 Robert Millan <rmh@aybabtu.com>
35288
35289 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
35290 position of `disk/lvm.c' to ensure grub_init_all() always picks it
35291 after the RAID stuff.
35292
38a0f8e7 352932009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
35294
50fb7002 35295 Fixes problem when running vbetest command as reported by
38a0f8e7 35296 Vladimir Serbinenko <phcoder@gmail.com>.
35297
35298 * (grub_vbe_set_video_mode): Fixed problem with text modes.
35299
3143cc1c 353002009-02-04 Felix Zielcke <fzielcke@z-51.de>
35301
35302 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
35303 /dev/md/NpN style mdraid devices.
35304
9cba6fce 353052009-02-03 Felix Zielcke <fzielcke@z-51.de>
35306
35307 * util/unifont2pff.rb: Remove.
35308
e507a2c1 353092009-02-03 Felix Zielcke <fzielcke@z-51.de>
35310
35311 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
35312 `#'.
35313
d2c2b4cd 353142009-02-03 Felix Zielcke <fzielcke@z-51.de>
35315
35316 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
35317 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35318 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35319 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35320 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35321 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35322 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35323
b4315fb0 353242009-02-02 Christian Franke <franke@computer.org>
35325
35326 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
35327
de3aa260 353282009-02-01 Felix Zielcke <fzielcke@z-51.de>
35329
7c3ff286 35330 * INSTALL: Note that we now require at least autoconf 2.59 and
35331 that LZO is optional.
de3aa260 35332
825a182b 353332009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35334
35335 Base on patch on bug #24154 created by Tomas Tintera
35336 <trosos@seznam.cz>.
35337
35338 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
35339
a69ef770 353402009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35341
7c3ff286 35342 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 35343 <bero@arklinux.org>.
35344
35345 * normal/parser.y (script_init): Add missing semicolon.
35346
6fa42fa6 353472009-01-31 Colin D Bennett <colin@gibibit.com>
35348
7c3ff286 35349 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 35350 (free_menu_entry_classes): Added.
35351 (grub_normal_menu_addentry): Added class property handling.
35352 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
35353 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
35354
35355 * normal/menu_viewer.c: New file.
35356
35357 * normal/menu.c (run_menu_entry): Renamed to ...
35358 (grub_menu_execute_entry): ... this and made it as global.
35359 (grub_menu_run): Renamed to ...
35360 (show_text_menu): ... this and made it local.
35361 (show_text_menu): Adapt to new function names.
35362 (grub_normal_terminal_menu_viewer): New global variable.
35363
35364 * include/grub/menu.h: New file.
35365
35366 * include/grub/menu_viewer.h: New file.
35367
35368 * include/grub/normal.h: Added include to grub/menu.h.
35369 (grub_menu_entry): Moved to include/grub/menu.h.
35370 (grub_menu_entry_t): Likewise.
35371 (grub_menu): Likewise.
35372 (grub_menu_t): Likewise.
35373 (grub_normal_terminal_menu_viewer): Added.
35374 (grub_menu_execute_entry): Likewise.
35375 (grub_menu_run): Removed.
35376
35377 * DISTLIST: Added include/grub/menu.h.
35378 Added include/grub/menu_viewer.h.
35379 Added normal/menu_viewer.c.
35380
353812009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
35382
35383 * normal/execute.c (grub_script_execute_menuentry): Changed to use
35384 arglist for menutitle arguments.
35385
35386 * normal/main.c (grub_normal_menu_addentry): Likewise.
35387
35388 * normal/parser.y (menuentry): Likewise.
35389
35390 * normal/script.c (grub_script_create_cmdmenu): Likewise.
35391
35392 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
35393 (grub_script_create_cmdmenu): Likewise.
35394
35395 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
35396
35397 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
35398 changes.
35399
35400 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
35401
35402 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
35403
35404 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
35405
35406 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35407
35408 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35409
35410 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35411
56192c23 354122009-01-30 Christian Franke <franke@computer.org>
35413
35414 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
35415 in option help text.
35416
d72521b3 354172009-01-27 Pavel Roskin <proski@gnu.org>
35418
35419 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
35420
994b5e84 354212009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
35422
35423 * commands/lsmmap.c: Add include to grub/machine/memory.h.
35424
35425 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
35426
35427 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
35428 unregister function.
35429
6a7eab2c 354302009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
35431
35432 * disk/scsi.c (grub_scsi_read): Fix sign problem.
35433
35434 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
35435
35436 * util/grub-mkfont.c (usage): Fix typo.
35437
35438 * util/elf/grub-mkimage.c (load_modules): Fix warning.
35439
1806b56e 354402009-01-26 Daniel Mierswa <impulze@impulze.org>
35441
3fb18f09 35442 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
35443
336e1fb9 35444 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
35445
1806b56e 35446 * kern/misc.c (grub_strcasecmp): New function.
35447 (grub_strcasecmp): Use grub_size_t instead of int for length.
35448 Fix return value.
35449 * include/grub/misc.h: Update function prototypes.
35450
580b2a0f 354512009-01-26 Robert Millan <rmh@aybabtu.com>
35452
35453 * configure.ac: Fix cross-compilation check.
ef257b36 35454
d31c24f1 354552009-01-22 Christian Franke <franke@computer.org>
35456
35457 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
35458 (precision) digit string. Allow `.format2' without `format1' (width).
35459 Limit input chars for `%s' output to `format2' if specified. This is
35460 compatible with standard printf ().
35461
3138b44c 354622009-01-22 Christian Franke <franke@computer.org>
35463
35464 * disk/ata.c (grub_ata_wait_status): Replace by ...
35465 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
35466 other status bits may be invalid while BSY is asserted.
35467 (grub_ata_check_ready): New function.
35468 (grub_ata_cmd): Removed.
35469 (grub_ata_wait_drq): New function.
35470 (grub_ata_strncpy): Remove inline.
35471 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
35472 and error check now done by grub_ata_wait_drq ().
35473 (grub_ata_pio_write): Likewise.
35474 (grub_atapi_identify): Set DEV before check for !BSY. Use
35475 grub_ata_wait_drq () to wait for data.
35476 (grub_ata_device_initialize): Add status register check to
35477 detect missing SATA slave devices. Add debug messages.
35478 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
35479 (grub_atapi_packet): Set DEV before check for !BSY. Replace
35480 transfer loop by grub_ata_pio_write ().
35481 (grub_ata_identify): Set DEV before check for !BSY. Use
35482 grub_ata_wait_drq () to wait for data.
ef257b36 35483 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 35484 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
35485 read/write in one loop. Fix invalid command on write. Fix incomplete
35486 command on (size % batch) == 0. Add missing error check after write of
35487 last block. Add debug messages.
35488 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
35489
59a64ef6 354902009-01-19 Christian Franke <franke@computer.org>
35491
35492 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
35493 (GRUB_ATAPI_IREASON_*): Likewise.
35494 (grub_ata_pio_write): Fix timeout error return.
35495 (grub_atapi_identify): Add grub_ata_wait () after cmd.
35496 (grub_atapi_wait_drq): New function.
35497 (grub_atapi_packet): New parameter `size'.
35498 Use grub_atapi_wait_drq () and direct write instead of
35499 grub_ata_pio_write ().
35500 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
35501 reads the number of bytes requested by the device for each DRQ
35502 assertion.
35503 (grub_atapi_write): Remove old implementation, return not
35504 implemented instead.
35505
1cfe20b3 355062009-01-19 Christian Franke <franke@computer.org>
35507
35508 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
35509 of 512 to calculate data size.
35510 (grub_scsi_read12): Likewise.
35511 (grub_scsi_write10): Likewise.
35512 (grub_scsi_write12): Likewise.
35513 (grub_scsi_read): Adjust size according to blocksize.
35514 Add checks for invalid blocksize and unaligned transfer.
35515
bee5fe5d 355162009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
35517
35518 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
35519
ef257b36 35520 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 35521 width glyphs.
35522
3e643f8c 355232009-01-19 Robert Millan <rmh@aybabtu.com>
35524
35525 * config.guess: Update to latest version from config git.
35526 * config.sub: Likewise.
35527
4fa80998 355282009-01-17 Felix Zielcke <fzielcke@z-51.de>
35529
35530 * Makefile.in: Change font compilation to use new grub-mkfont instead
35531 of java version.
35532
35533 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
35534 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
35535 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35536 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35537 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
35538 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
35539 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
35540 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
35541 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
35542
7086085b 355432009-01-16 Christian Franke <franke@computer.org>
35544
35545 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
35546 (enum grub_ata_timeout_milliseconds): New enum.
35547 (grub_ata_wait_status): Add parameter milliseconds.
35548 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
35549 recovery from timed-out commands.
35550 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
35551 return grub_errno instead of REG_ERROR.
35552 (grub_ata_pio_write): Add parameter milliseconds.
35553 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
35554 Pass milliseconds to grub_ata_wait_status () and
35555 grub_ata_pio_read ().
35556 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
35557 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
35558 grub_ata_wait_status (). Fix IDENTIFY timeout check.
35559 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
35560 It is not suitable for device detection, because DEV bit is ignored,
35561 the command may run too long, and not all devices set the signature
35562 properly.
35563 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
35564 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
35565 Fix device selection, DEV bit must be set first to address the registers
35566 of the correct device.
35567 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
35568 grub_ata_pio_read/write ().
35569 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
35570 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
35571
4a412913 355722009-01-13 Carles Pina i Estany <carles@pina.cat>
35573
35574 * util/grub-editenv.c (main): Use fseeko(), not fseek().
35575
7795c55e 355762009-01-13 Bean <bean123ch@gmail.com>
d913988c 35577
35578 * util/grub-mkfont.c (write_font): forget to remove some debug code.
35579
7795c55e 355802009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 35581
35582 * Makefile.in: (enable_grub_mkfont): New variable.
35583 (freetype_cflags): Likewise.
35584 (freetype_libs): Likewise.
35585
35586 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
35587 (grub_mkfont_SOURCES): New variable.
35588 (grub_mkfont_CFLAGS): Likewise.
35589 (grub_mkfont_LDFLAGS): Likewise.
35590
35591 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
35592 library if `--enable-grub-mkfont' is requested.
35593 (enable_grub_mkfont): New variable.
35594 (freetype_cflags): Likewise.
35595 (freetype_libs): Likewise.
35596
35597 * util/grub-mkfont.c: New file.
35598
093af1fe 355992009-01-12 Christian Franke <franke@computer.org>
35600
35601 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
35602 mode check. Fix setting of compat_use[].
35603
f36cc108 356042009-01-10 Robert Millan <rmh@aybabtu.com>
35605
35606 Update a few copyright years which we forgot to do in 2008 (only for
35607 files whose changes made in 2008 were copyright-significant)
35608
35609 * Makefile.in: Add 2008 to Copyright line.
35610 * disk/ieee1275/ofdisk.c: Likewise.
35611 * disk/efi/efidisk.c: Likewise.
35612 * kern/dl.c: Likewise.
35613 * kern/sparc64/ieee1275/init.c: Likewise.
35614 * kern/mm.c: Likewise.
35615 * kern/efi/mm.c: Likewise.
35616 * boot/i386/pc/boot.S: Likewise.
35617 * genfslist.sh: Likewise.
35618 * fs/iso9660.c: Likewise.
35619 * fs/hfs.c: Likewise.
35620 * fs/jfs.c: Likewise.
35621 * fs/minix.c: Likewise.
35622 * fs/ufs.c: Likewise.
35623 * gensymlist.sh.in: Likewise.
35624 * genkernsyms.sh.in: Likewise.
35625 * include/grub/misc.h: Likewise.
35626 * include/grub/types.h: Likewise.
35627 * include/grub/symbol.h: Likewise.
35628 * include/grub/elf.h: Likewise.
35629 * include/grub/kernel.h: Likewise.
35630 * include/grub/disk.h: Likewise.
35631 * include/grub/dl.h: Likewise.
35632 * include/grub/i386/linux.h: Likewise.
35633 * include/grub/i386/pc/biosdisk.h: Likewise.
35634 * include/grub/efi/api.h: Likewise.
35635 * include/grub/efi/pe32.h: Likewise.
35636 * include/grub/util/misc.h: Likewise.
35637 * normal/execute.c: Likewise.
35638 * normal/arg.c: Likewise.
35639 * normal/completion.c: Likewise.
35640 * normal/lexer.c: Likewise.
35641 * normal/parser.y: Likewise.
35642 * normal/misc.c: Likewise.
35643 * commands/i386/pc/vbeinfo.c: Likewise.
35644 * commands/hexdump.c: Likewise.
35645 * commands/terminal.c: Likewise.
35646 * commands/ls.c: Likewise.
35647 * commands/help.c: Likewise.
35648 * partmap/pc.c: Likewise.
35649 * loader/efi/chainloader.c: Likewise.
35650 * loader/multiboot_loader.c: Likewise.
35651 * loader/i386/pc/multiboot2.c: Likewise.
35652 * term/efi/console.c: Likewise.
35653 * term/i386/pc/serial.c: Likewise.
35654 * util/lvm.c: Likewise.
35655 * util/console.c: Likewise.
35656 * util/i386/efi/grub-mkimage.c: Likewise.
35657 * util/raid.c: Likewise.
35658
7f02114b 356592009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
35660
35661 * commands/videotest.c: Removed include to grub/machine/memory.h.
35662
35663 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
35664 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
35665 (video_mod_SOURCES): Removed.
35666 (video_mod_CFLAGS): Likewise.
35667 (video_mod_LDFLAGS): Likewise.
35668 (gfxterm_mod_SOURCES): Likewise.
35669 (gfxterm_mod_CFLAGS): Likewise.
35670 (gfxterm_mod_LDFLAGS): Likewise.
35671 (videotest_mod_SOURCES): Likewise.
35672 (videotest_mod_CFLAGS): Likewise.
35673 (videotest_mod_LDFLAGS): Likewise.
35674 (bitmap_mod_SOURCES): Likewise.
35675 (bitmap_mod_CFLAGS): Likewise.
35676 (bitmap_mod_LDFLAGS): Likewise.
35677 (tga_mod_SOURCES): Likewise.
35678 (tga_mod_CFLAGS): Likewise.
35679 (tga_mod_LDFLAGS): Likewise.
35680 (jpeg_mod_SOURCES): Likewise.
35681 (jpeg_mod_CFLAGS): Likewise.
35682 (jpeg_mod_LDFLAGS): Likewise.
35683 (png_mod_SOURCES): Likewise.
35684 (png_mod_CFLAGS): Likewise.
35685 (png_mod_LDFLAGS): Likewise.
35686
35687 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
35688 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
35689 (video_mod_SOURCES): Added.
35690 (video_mod_CFLAGS): Likewise.
35691 (video_mod_LDFLAGS): Likewise.
35692 (videotest_mod_SOURCES): Likewise.
35693 (videotest_mod_CFLAGS): Likewise.
35694 (videotest_mod_LDFLAGS): Likewise.
35695 (bitmap_mod_SOURCES): Likewise.
35696 (bitmap_mod_CFLAGS): Likewise.
35697 (bitmap_mod_LDFLAGS): Likewise.
35698 (tga_mod_SOURCES): Likewise.
35699 (tga_mod_CFLAGS): Likewise.
35700 (tga_mod_LDFLAGS): Likewise.
35701 (jpeg_mod_SOURCES): Likewise.
35702 (jpeg_mod_CFLAGS): Likewise.
35703 (jpeg_mod_LDFLAGS): Likewise.
35704 (png_mod_SOURCES): Likewise.
35705 (png_mod_CFLAGS): Likewise.
35706 (png_mod_LDFLAGS): Likewise.
35707 (gfxterm_mod_SOURCES): Likewise.
35708 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 35709 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 35710
35711 * term/gfxterm.c: Removed include to grub/machine/memory.h,
35712 grub/machine/console.h.
35713
644fff97 357142009-01-04 Jerone Young <jerone@gmail.com>
35715
35716 Make on screen instructions clearer
35717
35718 Based on patch created by Jidanni <jidanni@jidanni.org>
35719
35720 * normal/menu.c: print clearer instructions on the screen
35721
1e901a75 357222009-01-02 Colin D Bennett <colin@gibibit.com>
35723
35724 New font engine.
34c44600 35725
1e901a75 35726 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
35727 build system and fixed gfxterm.c to work with different sized fonts.
35728
35729 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 35730
1e901a75 35731 * configure: Re-generated.
34c44600 35732
1e901a75 35733 * DISTLIST: Removed font/manager.c.
35734 Added font/font.c.
35735 Added font/font_cmd.c.
34c44600 35736
1e901a75 35737 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
35738 compilation.
34c44600 35739
1e901a75 35740 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 35741
35742 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 35743
35744 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 35745
1e901a75 35746 * normal/menu.c: Likewise.
34c44600 35747
1e901a75 35748 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
35749 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 35750
1e901a75 35751 * include/grub/font.h: Replaced with new file.
34c44600 35752
1e901a75 35753 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
35754 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
35755 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
35756 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
35757 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 35758 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 35759 fg_red, fg_green, fg_blue, fg_alpha.
35760 (grub_video_adapter): Removed blit_glyph.
34c44600 35761 (grub_video_blit_glyph): Removed.
35762
1e901a75 35763 * font/manager.c: Removed file.
34c44600 35764
35765 * font/font.c: New file.
35766
1e901a75 35767 * font/font_cmd.c: Likewise.
34c44600 35768
1e901a75 35769 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 35770
1e901a75 35771 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
35772 (grub_video_vbe_map_rgba): Likewise.
35773 (grub_video_vbe_unmap_color_int): Likewise.
35774 (grub_video_vbe_blit_glyph): Removed.
35775 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 35776
1e901a75 35777 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
35778 (get_pixel): Likewise.
34c44600 35779 (set_pixel): Likewise.
35780
1e901a75 35781 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 35782
1e901a75 35783 * term/gfxterm.c: Adapted to new font engine.
34c44600 35784
1e901a75 35785 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 35786
1e901a75 35787 * term/i386/pc/vga.c: Likewise.
34c44600 35788
1e901a75 35789 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 35790
1e901a75 35791 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 35792
1e901a75 35793 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 35794
1e901a75 35795 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 35796
1e901a75 35797 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 35798
1e901a75 35799 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 35800
1e901a75 35801 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 35802
1e901a75 35803 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 35804
1e901a75 35805 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
35806
35807 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 35808
1e901a75 35809 * util/grub-mkconfig_lib.in: Changed font extension.
35810
278922e8 358112008-12-28 Felix Zielcke <fzielcke@z-51.de>
35812
35813 * util/getroot.c (grub_util_get_grub_dev): Add support for
35814 /dev/md/dNNpNN style partitionable mdraid devices.
35815
3ced05cf 358162008-12-12 Alex Smith <alex@alex-smith.me.uk>
35817
35818 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
35819 at a time limit of the PXE TFTP API correctly.
35820 (grub_pxefs_close): Likewise.
35821
7fd0ee30 358222008-11-29 Robert Millan <rmh@aybabtu.com>
35823
34c44600 35824 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 35825 grub_ata_device_initialize() calls.
35826
34c44600 358272008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 35828
35829 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
35830 iteration failed.
35831 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
35832
89313780 358332008-11-28 Robert Millan <rmh@aybabtu.com>
35834
35835 Fix build on powerpc-ieee1275. Based on patch created by
35836 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
35837 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35838 `kern/ieee1275/mmap.c'.
35839 * include/grub/powerpc/ieee1275/memory.h: New file.
35840
15257703 35841 Provide grub-install on coreboot.
35842 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
35843 (grub_install_SOURCES): New variable.
35844 * util/i386/pc/grub-install.in: Add a few condition checks to make it
35845 usable on coreboot.
35846
9fc5388a 358472008-11-25 Felix Zielcke <fzielcke@z-51.de>
35848
35849 * util/grub-fstest.c (grub_term_get_current_input): Change return type
35850 to `grub_term_input_t'.
35851 (grub_term_get_current_output): Change return type to
35852 `grub_term_output_t'.
35853
bc3a2f31 358542008-11-22 Robert Millan <rmh@aybabtu.com>
35855
34c44600 35856 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 35857 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
35858 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
35859 grub_vga_text_cls().
35860
80fc88f2 35861 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 35862 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 35863
cbf36fd3 35864 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
35865 to 0x200000 (avoids trouble with some OFW implementations, and matches
35866 with the one in Yaboot).
35867 Reported by Manoel Abranches
35868
73e8e268 358692008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 35870
35871 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
35872 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
35873
73e8e268 35874 * util/grub-mkconfig_lib.in (grub_warn): New function.
35875 (convert_system_path_to_grub_path): Use grub_warn() when issuing
35876 warnings, to obtain consistent formatting.
35877 * util/grub.d/00_header.in: Likewise.
35878 * util/update-grub_lib.in: Likewise.
35879
e94045a1 35880 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 35881 Move comment text to `#error' stanza.
e94045a1 35882
79d29fd7 35883 Harmonize ieee1275's grub_available_iterate() with the generic
35884 grub_machine_mmap_iterate() interface (fixes a recently-introduced
35885 build problem on i386-ieee1275):
35886 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
35887 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
35888 parameter `type'. Update all users of this function.
35889 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35890 `kern/ieee1275/mmap.c'.
35891 * kern/ieee1275/init.c
35892 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
35893 with ...
35894 (grub_machine_mmap_iterate): ... this.
35895 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
35896 return type to `grub_err_t'. Update all implementations of this
35897 function prototype.
35898 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
35899 Likewise.
35900
60d6b16e 35901 Add `lsmmap' command (lists firmware-provided memory map):
35902 * commands/lsmmap.c: New file.
35903 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
35904 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
35905 variables.
35906 * conf/powerpc-ieee1275.rmk: Likewise.
35907 * conf/i386-coreboot.rmk: Likewise.
35908 * conf/i386-ieee1275.rmk: Likewise.
35909
ebaaf49b 359102008-11-19 Robert Millan <rmh@aybabtu.com>
35911
35912 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 35913 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
35914 constraints to initrd allocation (based on code from
35915 loader/i386/pc/linux.c). Without them, initrd was allocated too high
35916 for Linux to find it.
ebaaf49b 35917
dfab719f 359182008-11-14 Robert Millan <rmh@aybabtu.com>
35919
35920 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
35921 order to cope with duplicate slashes.
35922
10fc3eb9 359232008-11-14 Robert Millan <rmh@aybabtu.com>
35924
35925 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
35926 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
35927 don't want to mess with lower memory, because it is used in the Linux
35928 loader.
35929
35930 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 35931 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 35932 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
35933 is in our heap (probably as a result of it being corrupted during
2f2a3442 35934 decompression). Add #error instance with comment to explain why this
35935 loader isn't currently usable on PC/BIOS.
10fc3eb9 35936
e2e07847 359372008-11-14 Robert Millan <rmh@aybabtu.com>
35938
35939 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 35940 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 35941
fe8e8d69 359422008-11-12 Robert Millan <rmh@aybabtu.com>
35943
35944 Make loader/i386/linux.c buildable on i386-pc (although disabled).
35945
35946 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
35947 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
35948 from here ...
35949 * include/grub/i386/pc/memory.h: ... to here.
35950
976b07d0 359512008-11-12 Robert Millan <rmh@aybabtu.com>
35952
35953 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
35954 split).
35955
35956 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
35957 (grub_console_cur_color, grub_console_real_putchar)
35958 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35959 (grub_console_setcolorstate, grub_console_setcolor)
35960 (grub_console_getcolor): Move from here ...
35961 * include/grub/i386/vga_common.h: ... to here (new file).
35962
35963 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
35964 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
35965 `<grub/i386/io.h>'.
35966 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
35967 `<grub/i386/vga_common.h>'.
35968
76679cd3 359692008-11-12 Robert Millan <rmh@aybabtu.com>
35970
35971 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
35972 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
35973 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
35974 variables.
35975 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
35976 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
35977
35978 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
35979 grub_console_init() with call to grub_vga_text_init().
35980 (grub_machine_fini): Replace call to
35981 grub_console_fini() with call to grub_vga_text_fini() and
35982 grub_at_keyboard_fini().
35983
35984 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
35985 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35986 (grub_console_setcolorstate, grub_console_setcolor)
35987 (grub_console_getcolor): New function prototypes.
35988
35989 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
35990 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
35991 (grub_vga_text_setcursor): Static-ize.
35992 (grub_vga_text_term): New structure.
35993 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
35994
35995 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
35996 (grub_console_cur_color, grub_console_standard_color)
35997 (grub_console_normal_color, grub_console_highlight_color)
35998 (map_char, grub_console_putchar, grub_console_getcharwidth)
35999 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
36000 (grub_console_getcolor): Move from here ...
36001 * term/i386/vga_common.c: ... to here (same function names).
36002
95b841d3 360032008-11-12 Robert Millan <rmh@aybabtu.com>
36004
36005 Use newly-added Multiboot support in coreboot.
36006
36007 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36008 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
36009
36010 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
36011 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
36012 (codestart): Store the MBI in `startup_multiboot_info' when we're
36013 being loaded using Multiboot.
36014
36015 * kern/i386/coreboot/init.c (grub_machine_init): Move
36016 grub_at_keyboard_init() call to beginning of function (useful for
36017 debugging). Call grub_machine_mmap_init() before attempting to use
36018 grub_machine_mmap_iterate().
36019 (grub_lower_mem, grub_upper_mem): Move from here ...
36020 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
36021 here (new file).
36022
36023 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
36024 function prototype.
36025
761ca975 360262008-11-12 Robert Millan <rmh@aybabtu.com>
36027
36028 Fix a regression introduced by the at_keyboard.mod split. Because
36029 some terminals are default on some platforms and non-default on
36030 others, the first terminal being registered determines which is
36031 going to be default.
36032
36033 * kern/term.c (grub_term_register_input): If this is the first
36034 terminal being registered, set it as the current one.
36035 (grub_term_register_output): Likewise.
36036
36037 * term/efi/console.c (grub_console_init): Do not call
36038 grub_term_set_current_output() or grub_term_set_current_input().
36039 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
36040 * term/i386/pc/console.c (grub_console_init): Likewise.
36041 (grub_console_fini): Do not call grub_term_set_current_input()
36042 (but leave grub_term_set_current_output() to restore text mode).
36043
6c529df7 360442008-11-10 Robert Millan <rmh@aybabtu.com>
36045
36046 * util/grub.d/00_header.in: Add backward compatibility check for
36047 versions of terminal.mod that don't understand `terminal_input' or
36048 `terminal_output'.
36049
132e4113 360502008-11-09 Robert Millan <rmh@aybabtu.com>
36051
36052 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
36053 `terminal_input' / `terminal_output', not `terminal'.
36054
ac293d50 360552008-11-08 Robert Millan <rmh@aybabtu.com>
36056
36057 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 36058 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 36059
0025933a 360602008-11-08 Robert Millan <rmh@aybabtu.com>
36061
36062 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 36063 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 36064 members. Update all users.
36065 * util/console.c (grub_ncurses_term): Split in ...
36066 (grub_ncurses_term_input): ... this, and ...
36067 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 36068 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 36069
37c86336 360702008-11-08 Robert Millan <rmh@aybabtu.com>
36071
36072 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
36073 (PKGDATA): Add $(pkgdata_SRCDIR).
36074 (pkglib_BUILDDIR): New variable.
36075 (pkgdata_SRCDIR): New variable.
36076 (build_env.mk): New target.
36077 (include_DATA): New variable.
36078 (install-local): Install $(include_DATA) files in $(includedir).
36079
b6c15a2d 360802008-11-07 Pavel Roskin <proski@gnu.org>
36081
d99d46f1 36082 * gendistlist.sh: Use C locale for sorting to ensure consistent
36083 output on all systems.
36084
b6c15a2d 36085 * util/grub.d/00_header.in: Remove incorrect space before
36086 "serial".
36087
c32ee8c9 360882008-11-07 Robert Millan <rmh@aybabtu.com>
36089
36090 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
36091 per specification.
36092 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
36093 * loader/multiboot_loader.c (find_multi_boot2_header): New function
36094 (based on find_multi_boot1_header).
36095 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
36096 using find_multi_boot2_header(), and abort if neither Multiboot or
36097 Multiboot headers were found.
36098
651c29b7 360992008-11-07 Robert Millan <rmh@aybabtu.com>
36100
36101 Modularize at_keyboard.mod:
36102
36103 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
36104 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
36105 (at_keyboard_mod_LDFLAGS): New variables.
36106
36107 Actual terminal split:
36108
36109 * include/grub/term.h (struct grub_term): Split in ...
36110 (struct grub_term_input): ... this, and ...
36111 (struct grub_term_output): ... this. Update all users.
36112 (grub_term_set_current): Split in ...
36113 (grub_term_set_current_input): ... this, and ...
36114 (grub_term_set_current_output): ... this.
36115 (grub_term_get_current): Split in ...
36116 (grub_term_get_current_input): ... this, and ...
36117 (grub_term_get_current_output): ... this.
36118 (grub_term_register): Split in ...
36119 (grub_term_register_input): ... this, and ...
36120 (grub_term_register_output): ... this.
36121 (grub_term_unregister): Split in ...
36122 (grub_term_unregister_input): ... this, and ...
36123 (grub_term_unregister_output): ... this.
36124 (grub_term_iterate): Split in ...
36125 (grub_term_iterate_input): ... this, and ...
36126 (grub_term_iterate_output): ... this.
36127
36128 * kern/term.c (grub_term_list): Split in ...
36129 (grub_term_list_input): ... this, and ...
36130 (grub_term_list_output): ... this. Update all users.
36131 (grub_cur_term): Split in ...
36132 (grub_cur_term_input): ... this, and ...
36133 (grub_cur_term_output): ... this. Update all users.
36134 (grub_term_set_current): Split in ...
36135 (grub_term_set_current_input): ... this, and ...
36136 (grub_term_set_current_output): ... this.
36137 (grub_term_get_current): Split in ...
36138 (grub_term_get_current_input): ... this, and ...
36139 (grub_term_get_current_output): ... this.
36140 (grub_term_register): Split in ...
36141 (grub_term_register_input): ... this, and ...
36142 (grub_term_register_output): ... this.
36143 (grub_term_unregister): Split in ...
36144 (grub_term_unregister_input): ... this, and ...
36145 (grub_term_unregister_output): ... this.
36146 (grub_term_iterate): Split in ...
36147 (grub_term_iterate_input): ... this, and ...
36148 (grub_term_iterate_output): ... this.
36149
36150 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
36151 a check for input and one for output (and only attempt to get keys
36152 from user when input works).
36153
36154 * util/grub-probe.c (grub_term_get_current): Split in ...
36155 (grub_term_get_current_input): ... this, and ...
36156 (grub_term_get_current_output): ... this.
36157 * util/grub-fstest.c: Likewise.
36158 * util/i386/pc/grub-setup.c: Likewise.
36159 * util/grub-editenv.c: Likewise.
36160
36161 Portability adjustments:
36162
36163 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
36164 `term/i386/pc/at_keyboard.c'.
36165 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
36166 grub_keyboard_controller_init() (now handled by terminal .init).
36167 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
36168 grub_at_keyboard_init().
36169 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
36170 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
36171 at_keyboard.mod via input terminal interface).
36172 * include/grub/i386/coreboot/console.h: Convert into a stub for
36173 `<grub/i386/pc/console.h>'.
36174
36175 Migrate full terminals to new API:
36176
36177 * term/efi/console.c (grub_console_term): Split into ...
36178 (grub_console_term_input): ... this, and ...
36179 (grub_console_term_output): ... this. Update all users.
36180 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
36181 (grub_ofconsole_init): Split into ...
36182 (grub_ofconsole_init_input): ... this, and ...
36183 (grub_ofconsole_init_output): ... this.
36184 (grub_ofconsole_term): Split into ...
36185 (grub_ofconsole_term_input): ... this, and ...
36186 (grub_ofconsole_term_output): ... this. Update all users.
36187 * term/i386/pc/serial.c (grub_serial_term): Split into ...
36188 (grub_serial_term_input): ... this, and ...
36189 (grub_serial_term_output): ... this. Update all users.
36190 * term/i386/pc/console.c (grub_console_term): Split into ...
36191 (grub_console_term_input): ... this, and ...
36192 (grub_console_term_output): ... this. Update all users.
36193 (grub_console_term_input): Only enable it on PC/BIOS platform.
36194 (grub_console_init): Remove grub_keyboard_controller_init() call.
36195
36196 Migrate input terminals to new API:
36197
36198 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
36199 `i386' and `i386/pc' to enable build on x86_64 (this driver is
36200 i386-specific anyway).
36201 (grub_console_checkkey): Rename to ...
36202 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
36203 users.
36204 (grub_keyboard_controller_orig): New variable.
36205 (grub_console_getkey): Rename to ...
36206 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
36207 users.
36208 (grub_keyboard_controller_init): Static-ize. Save original
36209 controller value so that it can be restored ...
36210 (grub_keyboard_controller_fini): ... here (new function).
36211 (grub_at_keyboard_term): New structure.
36212 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
36213 functions.
36214
36215 Migrate output terminals to new API:
36216
36217 * term/i386/pc/vga.c (grub_vga_term): Change type to
36218 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36219 members. Update all users.
36220 * term/gfxterm.c (grub_video_term): Change type to
36221 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36222 members. Update all users.
36223 * include/grub/i386/pc/console.h (grub_console_checkkey)
36224 (grub_console_getkey): Do not export (no longer needed by gfxterm,
36225 etc).
36226
36227 Migrate `terminal' command and userland tools to new API:
36228
36229 * commands/terminal.c (grub_cmd_terminal): Split into ...
36230 (grub_cmd_terminal_input): ... this, and ...
36231 (grub_cmd_terminal_output): ... this.
36232 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
36233 `terminal_input' and `terminal_output'.
36234 * util/grub.d/00_header.in: Adjust `terminal' calls to new
36235 `terminal_input' / `terminal_output' API.
36236 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
36237 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
36238 provided ${GRUB_TERMINAL}, convert it).
36239
96e5d876 362402008-11-04 Robert Millan <rmh@aybabtu.com>
36241
36242 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
36243 for FreeBSD.
36244 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
36245
556f3775 362462008-11-03 Bean <bean123ch@gmail.com>
36247
36248 * kern/elf.c (grub_elf32_load): Revert to previous code.
36249 (grub_elf64_load): Likewise.
36250
36251 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
36252
926b9823 362532008-11-01 Robert Millan <rmh@aybabtu.com>
36254
36255 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
36256 (TARGET_CPPFLAGS): Likewise.
36257 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
36258
1432e958 362592008-11-01 Carles Pina i Estany <carles@pina.cat>
36260
36261 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
36262
dba3f844 362632008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 36264
36265 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
36266 addition of objects until the code is not going to be able to fail.
36267
dba3f844 362682008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 36269
36270 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
36271 (add a missing NULL check, and correct them by moving the pointer
36272 operations after the actual check).
36273
7ab28c21 362742008-10-29 Robert Millan <rmh@aybabtu.com>
36275
36276 * util/i386/pc/grub-install.in: Handle empty string as output from
36277 make_system_path_relative_to_its_root().
36278
1b7748eb 362792008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
36280
36281 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
36282 circular metadata worst case scenario. If the metadata is circular
36283 then copy the wrap in place.
36284 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
36285 project lib/format_text/layout.h
36286 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
36287
c9618ab2 362882008-10-03 Felix Zielcke <fzielcke@z-51.de>
36289
7a36edca 36290 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 36291
bf981c62 362922008-10-03 Felix Zielcke <fzielcke@z-51.de>
36293
36294 * util/update-grub_lib.in: Mention filename in warning message.
36295
6d994591 362962008-09-29 Felix Zielcke <fzielcke@z-51.de>
36297
36298 * NEWS: Update for rename of update-grub to grub-mkconfig.
36299
18ade780 363002008-09-29 Felix Zielcke <fzielcke@z-51.de>
36301
36302 * util/update-grub_lib.in: Copy to ...
36303 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 36304 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 36305 * util/update-grub.in: Rename to ...
36306 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
36307 option. Add `--output' option to allow users to specify the generated
36308 configuration file. Default to stdout.
36309 (update_grub_dir): Rename to ...
36310 (grub_mkconfig_dir): ... this.
36311 (grub_cfg): Default to an empty string.
36312 * conf/common.rmk (update-grub): Rename to ...
36313 (grub-mkconfig): ... this.
36314 (update-grub_lib): Copy to ...
36315 (grub-mkconfig_lib): ... this.
36316 (update-grub_SCRIPTS): Copy to ...
36317 (grub-mkconfig_SCRIPTS): ... this. Update all users.
36318 (update-grub_DATA): Rename to ...
36319 (grub-mkconfig_DATA): ... this.
36320
556ce6ac 363212008-09-28 Robert Millan <rmh@aybabtu.com>
36322
36323 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
36324 to `modified'. Add the real `created' field.
36325 (grub_iso9660_uuid): Use `modified' rather than `created' for
36326 constructing the UUID.
36327
363282008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 36329
36330 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
36331 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
36332
92274e85 363332008-09-28 Bean <bean123ch@gmail.com>
36334
36335 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
36336 Thanks to Christian Franke for finding this bug.
36337
add6f17a 363382008-09-25 Robert Millan <rmh@aybabtu.com>
36339
36340 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
36341 instances of grub_util_get_disk_name() (see previous commit).
36342
d2a367b8 363432008-09-25 Robert Millan <rmh@aybabtu.com>
36344
36345 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
36346 `util/i386/get_disk_name.c'.
36347 * conf/i386-efi.rmk: Likewise.
36348 * conf/x86_64-efi.rmk: Likewise.
36349 * conf/i386-coreboot.rmk: Likewise.
36350 * conf/i386-ieee1275.rmk: Likewise.
36351 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
36352 `util/ieee1275/get_disk_name.c'.
36353 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
36354 * util/ieee1275/get_disk_name.c: Remove file.
36355 * util/i386/get_disk_name.c: Remove file.
36356 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
36357 "hd%d" for device.map entries, rather than using
36358 grub_util_get_disk_name().
36359
81a06771 363602008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 36361
36362 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
36363 warning.
36364 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
36365
5a004279 363662008-09-24 Carles Pina i Estany <carles@pina.cat>
36367
36368 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
36369 Changed to 0x5100.
36370 (GRUB_TERM_PPAGE): Changed to 0x4900.
36371
397093d3 363722008-09-24 Robert Millan <rmh@aybabtu.com>
36373
36374 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
36375 macros (they were i386-pc specific).
36376 * include/grub/sparc64/ieee1275/console.h: Likewise.
36377 * include/grub/efi/console.h: Likewise.
36378
a91b6c7c 363792008-09-22 Bean <bean123ch@gmail.com>
36380
36381 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
36382 resident and in attribute list.
36383
36384 * include/grub/ntfs.h (BMP_LEN): Removed.
36385
c40fd116 363862008-09-22 Bean <bean123ch@gmail.com>
36387
81a06771 36388 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 36389 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
36390
36391 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
36392 error occurs, as grub_disk_open will call grub_disk_close, which will
36393 call p->close (scsi).
36394
81a06771 363952008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 36396
36397 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
36398 (AC_PREREQ): Bumped to 2.59.
36399 (AC_TRY_COMPILE): Replace obsolete macro with ...
36400 (AC_COMPILE_IFELSE): ... this.
36401 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
36402 (AC_LINK_IFELSE): ... this.
36403
5dc43410 364042008-09-21 Felix Zielcke <fzielcke@z-51.de>
36405
36406 * autogen.sh: Add a call to `gendistlist.sh'.
36407
9035dce4 364082008-09-19 Christian Franke <franke@computer.org>
36409
36410 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
36411 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
36412 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
36413 Export __enable_execute_stack() to modules.
36414 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
36415 New function.
36416
7fd75377 364172008-09-09 Felix Zielcke <fzielcke@z-51.de>
36418
040030b3 36419 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
36420 Sort the list.
36421
364222008-09-09 Felix Zielcke <fzielcke@z-51.de>
36423
36424 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 36425 #include <grub/util/hostdisk.h>.
36426
89d5ffcf 364272008-09-08 Robert Millan <rmh@aybabtu.com>
36428
36429 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
36430 segments when their filesz is zero (grub_file_read() interprets
81a06771 36431 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 36432 Use `lowest_segment' rather than 0 for calculating the current
36433 segment load address.
36434
40da438f 364352008-09-08 Robert Millan <rmh@aybabtu.com>
36436
36437 * util/hostdisk.c (open_device): Replace a grub_util_info() call
36438 with grub_dprintf("hostdisk", ...), as it was so verbose that it
36439 clobbered useful information.
36440
ddbf5556 364412008-09-08 Robert Millan <rmh@aybabtu.com>
36442
36443 * include/grub/util/biosdisk.h: Move to ...
36444 * include/grub/util/hostdisk.h: ... here. Update all users.
36445 * util/biosdisk.c: Move to ...
36446 * util/hostdisk.c: ... here. Update all users.
36447
783d0f48 364482008-09-07 Robert Millan <rmh@aybabtu.com>
36449
36450 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
36451 variables.
36452 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
36453 and length can be stored directly in the `mbi->mmap_addr' and
36454 `mbi->mmap_length' struct fields.
36455
548e2ea5 364562008-09-07 Robert Millan <rmh@aybabtu.com>
36457
36458 * conf/i386.rmk: New file. Provides declaration for building
36459 `cpuid.mod'.
36460 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
36461 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
36462 variables.
36463 Include `conf/i386.mk'.
36464 * conf/i386-efi.rmk: Likewise.
36465 * conf/x86_64-efi.rmk: Likewise.
36466 * conf/i386-coreboot.rmk: Likewise.
36467 * conf/i386-ieee1275.rmk: Likewise.
36468
0ea85a37 364692008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
36470
36471 Based on patch created by Colin D Bennett <colin@gibibit.com>.
36472 Adds optimization support for BGR based modes.
36473
36474 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
36475 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
36476 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36477 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36478 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36479 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36480 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36481 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36482 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36483 (grub_video_i386_vbeblit_index_index): Likewise.
36484 (grub_video_i386_vbeblit_replace_directN): Added.
36485 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
36486 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
36487 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
36488 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
36489 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
36490 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 36491 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 36492 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
36493 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
36494 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
36495 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
36496 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
36497 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
36498
36499 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
36500 (grub_video_i386_vbefill_R8G8B8): Likewise.
36501 (grub_video_i386_vbefill_index): Likewise.
36502 (grub_video_i386_vbefill_direct32): Added.
36503 (grub_video_i386_vbefill_direct24): Likewise.
36504 (grub_video_i386_vbefill_direct16): Likewise.
36505 (grub_video_i386_vbefill_direct8): Likewise.
36506
81a06771 36507 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 36508 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
36509 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
36510 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
36511 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
36512 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 36513
0ea85a37 36514 * video/video.c (grub_video_get_blit_format): Updated to use new
36515 blit formats. Added handling for 16 bit color modes.
81a06771 36516
36517 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 36518 fillers.
36519 (common_blitter): Updated to use new blitters.
36520
36521 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
36522 Removed.
36523 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
36524 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36525 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36526 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36527 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36528 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36529 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36530 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36531 (grub_video_i386_vbeblit_index_index): Likewise.
36532 (grub_video_i386_vbeblit_replace_directN): Added.
36533 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
36534 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
36535 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
36536 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
36537 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
36538 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
36539 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
36540 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
36541 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
36542 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
36543 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
36544 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
36545 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 36546
0ea85a37 36547 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
36548 (grub_video_i386_vbefill_R8G8B8): Likewise.
36549 (grub_video_i386_vbefill_index): Likewise.
36550 (grub_video_i386_vbefill_direct32): Added.
36551 (grub_video_i386_vbefill_direct24): Likewise.
36552 (grub_video_i386_vbefill_direct16): Likewise.
36553 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 36554
0ea85a37 36555 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
36556 types.
81a06771 36557
0ea85a37 36558 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
36559 types.
81a06771 36560
0ea85a37 36561 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
36562 blitter types.
81a06771 36563
0ea85a37 36564 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
36565 types.
36566
e8a83df6 365672008-09-06 Felix Zielcke <fzielcke@z-51.de>
36568
36569 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
36570 RAID level 1.
36571
6bcd8ee5 365722008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 36573
6bcd8ee5 36574 * fs/iso9660.c (grub_iso9660_date): New structure.
36575 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
36576 (grub_iso9660_uuid): New function.
c375ae58 36577
59261157 365782008-09-05 Bean <bean123ch@gmail.com>
36579
36580 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
36581
36582 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
36583 insensitive bit for names in Win32 and Win32 & DOS namespace.
36584
36585 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
36586
36587 * include/grub/types.h (LONG_MAX): Likewise.
36588
58b6645a 365892008-09-04 Felix Zielcke <fzielcke@z-51.de>
36590
4ee55921 36591 * util/getroot.c: Include <config.h>.
36592 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
36593 add support for /dev/md/N devices and handle LVM double dash escaping.
36594
365952008-09-04 Felix Zielcke <fzielcke@z-51.de>
36596
36597 * config.guess: Update to latest version from config git.
36598 * config.sub: Likewise.
58b6645a 36599
9124f65d 366002008-09-03 Robert Millan <rmh@aybabtu.com>
36601
36602 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
36603 `disk->total_sectors'.
36604
81a06771 366052008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 36606
36607 * include/grub/normal.h: Fixed incorrect comment for
36608 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
36609
81a06771 366102008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 36611
36612 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
36613 values with defines.
36614
36615 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
36616 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
36617 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
36618 (GRUB_VBE_MODEATTR_COLOR): Likewise.
36619 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
36620 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
36621 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
36622 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
36623 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
36624 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
36625 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
36626 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
36627 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
36628 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
36629 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
36630 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
36631 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
36632 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
36633 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
36634
93d5cbf8 366352008-08-31 Robert Millan <rmh@aybabtu.com>
36636
36637 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
36638 declaration.
36639 (grub_multiboot): Fix a few warnings.
36640
21751d50 366412008-08-31 Robert Millan <rmh@aybabtu.com>
36642
36643 * loader/i386/pc/multiboot.c: Update comment not to say that
36644 boot_device support is unimplemented.
36645
e27a75c5 366462008-08-31 Robert Millan <rmh@aybabtu.com>
36647
36648 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
36649 or memory map support are unimplemented.
36650
81a06771 366512008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 36652
36653 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
36654
81a06771 366552008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 36656
36657 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
36658 total video memory in 'vbeinfo' output; show color format details for
36659 each video mode.
36660
7c5d8d95 366612008-08-30 Pavel Roskin <proski@gnu.org>
36662
36663 * util/genmoddep.c: Remove for real this time.
36664 * DISTLIST: Remove util/genmoddep.c.
36665
4cebd25a 366662008-08-30 Robert Millan <rmh@aybabtu.com>
36667
36668 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
36669 as required by Multiboot spec (it was already 4-byte aligned, but
36670 only by chance).
36671
b497a269 366722008-08-29 Pavel Roskin <proski@gnu.org>
36673
e3925185 36674 * kern/powerpc/ieee1275/crt0.S: Rename to ...
36675 * kern/powerpc/ieee1275/startup.S: ... this.
36676 * conf/powerpc-ieee1275.rmk: Adjust for the above.
36677 * DISTLIST: Likewise.
36678
b497a269 36679 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
36680 grub/cpu/kernel.h. Add start label for consistency with other
36681 platforms. Add grub_prefix immediately after start. Add jump
36682 to the code after grub_prefix.
36683 * include/grub/powerpc/kernel.h: Provide valid values for
36684 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
36685
6e5a42fe 366862008-08-29 Bean <bean123ch@gmail.com>
36687
36688 * configure.ac: Change host_os to cygwin for mingw.
36689 (asprintf): New check for function.
36690
36691 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
36692 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
36693
36694 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 36695 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 36696 sync, sleep and grub_util_get_disk_size for mingw.
36697
36698 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
36699 to get size in mingw.
36700 (open_device): Use flag O_BINARY if it's defined.
36701 (find_root_device): Add dummy code for mingw.
36702
36703 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
36704 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
36705 (get_scsi_disk_name): Return 0 for mingw.
36706
36707 * util/hostfs.c: #include <grub/util/misc.h>.
36708 (grub_hostfs_open): Use "rb" flag to open file, use
36709 grub_util_get_disk_size to get disk size for mingw.
36710
36711 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
36712 (asprintf): New function if HAVE_ASPRINTF is not set.
36713 (sync): New function for mingw.
36714 (sleep): Likewise.
36715 (grub_util_get_disk_size): Likewise.
36716
ab3f2673 367172008-08-28 Pavel Roskin <proski@gnu.org>
36718
36719 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36720 kern/time.c.
36721
1c282483 367222008-08-28 Robert Millan <rmh@aybabtu.com>
36723
36724 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
36725
678e849c 367262008-08-28 Robert Millan <rmh@aybabtu.com>
36727
36728 Change find_grub_drive() syntax so it doesn't prevent it from
36729 detecting NULL names as errors.
36730
36731 * util/biosdisk.c (find_grub_drive): Move free slot search code
36732 from here ...
36733 (find_free_slot): ... to here.
36734 (read_device_map): Use find_free_slot() to search for free slots.
36735
965c75ca 367362008-08-27 Marco Gerards <marco@gnu.org>
36737
36738 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
36739 (scsi_mod_SOURCES): New variable.
36740 (scsi_mod_CFLAGS): Likewise
36741 (scsi_mod_LDFLAGS): Likewise.
36742
36743 * disk/scsi.c: New file.
36744
36745 * include/grub/scsi.h: Likewise.
36746
36747 * include/grub/scsicmd.h: Likewise.
36748
36749 * disk/ata.c: Include <grub/scsi.h>.
36750 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
36751 instead.
36752 (grub_ata_iterate): Skip ATAPI devices.
36753 (grub_ata_open): Only handle ATAPI devices.
36754 (struct grub_atapi_read): Removed.
36755 (grub_atapi_readsector): Likewise.
36756 (grub_ata_read): No longer handle ATAPI devices.
36757 (grub_ata_write): Likewise.
36758 (grub_atapi_iterate): New function.
36759 (grub_atapi_read): Likewise.
36760 (grub_atapi_write): Likewise.
36761 (grub_atapi_open): Likewise.
36762 (grub_atapi_close): Likewise.
36763 (grub_atapi_dev): New variable.
36764 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
36765 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
36766
36767 * include/grub/disk.h (enum grub_disk_dev_id): Add
36768 `GRUB_DISK_DEVICE_SCSI_ID'.
36769
c07ae501 367702008-08-26 Robert Millan <rmh@aybabtu.com>
36771
36772 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
36773 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
36774 descriptive.
36775
5ed20adc 367762008-08-23 Bean <bean123ch@gmail.com>
36777
36778 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
36779 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
36780 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
36781 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
36782 dm_nv.mod.
36783 (raid5rec_mod_SOURCES): New macro.
36784 (raid5rec_mod_CFLAGS): Likewise.
36785 (raid5rec_mod_LDFLAGS): Likewise.
36786 (raid6rec_mod_SOURCES): Likewise.
36787 (raid6rec_mod_CFLAGS): Likewise.
36788 (raid6rec_mod_LDFLAGS): Likewise.
36789 (mdraid_mod_SOURCES): Likewise.
36790 (mdraid_mod_CFLAGS): Likewise.
36791 (mdraid_mod_LDFLAGS): Likewise.
36792 (dm_nv_mod_SOURCES): Likewise.
36793 (dm_nv_mod_CFLAGS): Likewise.
36794 (dm_nv_mod_LDFLAGS): Likewise.
36795
36796 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
36797 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
36798 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
36799
36800 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
36801 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
36802
36803 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36804
36805 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36806
36807 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36808
36809 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36810
36811 * disk/raid5_recover.c: New file.
36812
36813 * disk/raid6_recover.c: Likewise.
36814
36815 * disk/mdraid_linux.c: Likewise.
36816
36817 * disk/dmraid_nvidia.c: Likewise.
36818
36819 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
36820 ULONG_MAX.
36821
36822 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
36823 calculate the size of raid device.
36824 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
36825 different layout of raid5.
36826 (grub_raid_scan_device): Remove code specific to mdraid.
36827 (grub_raid_list): New variable.
36828 (free_array): New function.
36829 (grub_raid_register): Likewise.
36830 (grub_raid_unregister): Likewise.
36831 (grub_raid_rescan): Likewise.
36832 (GRUB_MOD_INIT): Don't iterate device here.
36833 (GRUB_MOD_FINI): Use free_array to release resource.
36834
36835 * include/grub/raid.h: Remove macro and structure specific to mdraid.
36836 (grub_raid5_recover_func_t): New function variable type.
36837 (grub_raid6_recover_func_t): Likewise.
36838 (grub_raid5_recover_func): New variable.
36839 (grub_raid6_recover_func): Likewise.
36840 (grub_raid_register): New function.
36841 (grub_raid_unregister): Likewise.
36842 (grub_raid_rescan): Likewise.
36843 (grub_raid_block_xor): Likewise.
36844
36845 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
36846 (CMD_CRC): New macro.
36847 (part): Removed.
36848 (read_file): Handle device as well as file.
36849 (cmd_crc): New function.
36850 (fstest): Handle multiple disks.
36851 (options): Remove part, raw and long, add root and diskcount.
36852 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 36853 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 36854 add handling for the new options, support multiple disks.
36855
36856 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
36857
29c18915 368582008-08-23 Bean <bean123ch@gmail.com>
36859
36860 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
36861
36862 * genfslist.sh: Ignore kernel.mod.
36863
36864 * genpartmaplist.sh: Likewise.
36865
8415f261 368662008-08-23 Robert Millan <rmh@aybabtu.com>
36867
36868 * util/getroot.c (find_root_device): Skip anything that starts with
36869 a dot, not just directories. This avoids things like /dev/.tmp.md0.
36870
d5a7dc5b 368712008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 36872
d5a7dc5b 36873 * util/update-grub.in (GRUB_GFXMODE): Export variable.
36874 * util/grub.d/00_header.in: Allow the administrator to change default
36875 gfxmode via ${GRUB_GFXMODE}.
36876
380cfbb4 368772008-08-21 Felix Zielcke <fzielcke@z-51.de>
36878
36879 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
36880
c9baafe7 368812008-08-21 Robert Millan <rmh@aybabtu.com>
36882
36883 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
36884 loader.
36885 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
36886 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
36887
e290bef2 368882008-08-20 Carles Pina i Estany <carles@pina.cat>
36889
36890 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
36891 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
36892
f9dbfc96 368932008-08-19 Robert Millan <rmh@aybabtu.com>
36894
36895 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
36896 (struct grub_virtual_screen): Remove `cursor_color'.
36897 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
36898 initialization.
36899 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
36900
dd6bd6ab 369012008-08-18 Robert Millan <rmh@aybabtu.com>
36902
36903 Unify (identical) linux_normal.c files.
36904 * loader/i386/efi/linux_normal.c: Move from here ...
36905 * loader/linux_normal.c: ... to here. Update all users.
36906 * loader/i386/pc/linux_normal.c: Delete. Update all users.
36907 * loader/i386/ieee1275/linux_normal.c: Likewise.
36908
7f42f83e 369092008-08-18 Robert Millan <rmh@aybabtu.com>
36910
36911 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
36912 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
36913 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
36914 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
36915 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
36916 New macros.
36917 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
36918 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
36919 (GRUB_LINUX_CL_END_OFFSET): ... to here.
36920 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
36921 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
36922 (GRUB_EFI_CL_END_OFFSET): Rename to ...
36923 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
36924 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
36925 Initialize `params->video_cursor_x' and `params->video_cursor_y'
36926 portably using grub_getxy().
36927 Replace `-EFI' with `-bzImage' in boot message.
36928
38487ddb 369292008-08-17 Robert Millan <rmh@aybabtu.com>
36930
36931 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
36932
deceb3ec 369332008-08-17 Robert Millan <rmh@aybabtu.com>
36934
36935 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
36936
36937 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
36938 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
36939 (grub_machine_mmap_iterate): New function declaration.
36940 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
36941 structure.
36942 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
36943 macros.
36944
36945 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
36946 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
36947 Move e820 parsing from here ...
36948 * kern/i386/pc/mmap.c: New file.
36949 (grub_machine_mmap_iterate): ... to here.
36950
36951 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
36952 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
36953 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
36954 (grub_available_iterate): Redeclare to return `void', and redeclare
36955 its hook to use grub_uint64_t as addr and size parameters, and rename
36956 to ...
36957 (grub_machine_mmap_iterate): ... this. Update all users.
36958
36959 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
36960 to make it more readable. Rename to ...
36961 (grub_machine_mmap_iterate): ... this.
36962
36963 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
36964 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
36965 (grub_multiboot): Allocate an extra region after the payload, and fill
36966 it with a Multiboot memory map. Adjust a.out loader to calculate size
36967 with the extra space.
36968 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
36969 with the extra space.
36970
f8aa0f43 369712008-08-17 Carles Pina i Estany <carles@pina.cat>
36972
9807deb9 36973 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 36974
605f5bb6 369752008-08-17 Felix Zielcke <fzielcke@z-51.de>
36976
36977 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
36978 mdate-sh to the list `find' searches for.
36979 * DISTLIST: Regenerated.
36980
210db6c6 369812008-08-16 Felix Zielcke <fzielcke@z-51.de>
36982
36983 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
36984 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 36985 genmoddep.awk, gensymlist.sh.in.
36986 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 36987 * DISTLIST: Regenerated.
48cdbfd4 36988 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 36989
1082b929 369902008-08-16 Robert Millan <rmh@aybabtu.com>
36991
36992 * disk/raid.c (grub_raid_init): Handle/report errors set by
36993 grub_device_iterate().
36994 * disk/lvm.c (grub_lvm_init): Likewise.
36995
42ce5170 369962008-08-15 Bean <bean123ch@gmail.com>
36997
36998 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36999 and datehook.mod.
37000 (datetime_mod_SOURCES): New macro.
37001 (datetime_mod_CFLAGS): Likewise.
37002 (datetime_mod_LDFLAGS): Likewise.
37003 (date_mod_SOURCES): Likewise.
37004 (date_mod_CFLAGS): Likewise.
37005 (date_mod_LDFLAGS): Likewise.
37006 (datehook_mod_SOURCES): Likewise.
37007 (datehook_mod_CFLAGS): Likewise.
37008 (datehook_mod_LDFLAGS): Likewise.
37009
37010 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37011 and datehook.mod.
37012 (datetime_mod_SOURCES): New macro.
37013 (datetime_mod_CFLAGS): Likewise.
37014 (datetime_mod_LDFLAGS): Likewise.
37015 (date_mod_SOURCES): Likewise.
37016 (date_mod_CFLAGS): Likewise.
37017 (date_mod_LDFLAGS): Likewise.
37018 (datehook_mod_SOURCES): Likewise.
37019 (datehook_mod_CFLAGS): Likewise.
37020 (datehook_mod_LDFLAGS): Likewise.
37021
37022 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37023 and datehook.mod.
37024 (datetime_mod_SOURCES): New macro.
37025 (datetime_mod_CFLAGS): Likewise.
37026 (datetime_mod_LDFLAGS): Likewise.
37027 (date_mod_SOURCES): Likewise.
37028 (date_mod_CFLAGS): Likewise.
37029 (date_mod_LDFLAGS): Likewise.
37030 (datehook_mod_SOURCES): Likewise.
37031 (datehook_mod_CFLAGS): Likewise.
37032 (datehook_mod_LDFLAGS): Likewise.
37033
37034 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37035 and datehook.mod.
37036 (datetime_mod_SOURCES): New macro.
37037 (datetime_mod_CFLAGS): Likewise.
37038 (datetime_mod_LDFLAGS): Likewise.
37039 (date_mod_SOURCES): Likewise.
37040 (date_mod_CFLAGS): Likewise.
37041 (date_mod_LDFLAGS): Likewise.
37042 (datehook_mod_SOURCES): Likewise.
37043 (datehook_mod_CFLAGS): Likewise.
37044 (datehook_mod_LDFLAGS): Likewise.
37045
37046 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37047 and datehook.mod.
37048 (datetime_mod_SOURCES): New macro.
37049 (datetime_mod_CFLAGS): Likewise.
37050 (datetime_mod_LDFLAGS): Likewise.
37051 (date_mod_SOURCES): Likewise.
37052 (date_mod_CFLAGS): Likewise.
37053 (date_mod_LDFLAGS): Likewise.
37054 (datehook_mod_SOURCES): Likewise.
37055 (datehook_mod_CFLAGS): Likewise.
37056 (datehook_mod_LDFLAGS): Likewise.
37057
37058 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
37059
37060 * commands/date.c: New file.
37061
37062 * hook/datehook.c: Likewise.
37063
37064 * include/grub/lib/datetime.h: Likewise.
37065
37066 * include/grub/i386/cmos.h: Likewise.
37067
37068 * lib/datetime.c: Likewise.
37069
37070 * lib/i386/datetime.c: Likewise.
37071
37072 * lib/efi/datetime.c: Likewise.
37073
0e9242da 370742008-08-14 Robert Millan <rmh@aybabtu.com>
37075
37076 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
37077 (grub_mkelfimage_SOURCES): New variable.
37078 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
37079
37080 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
37081 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
37082 * conf/powerpc-ieee1275.rmk: Likewise.
37083 * conf/i386-ieee1275.rmk: Likewise.
37084
37085 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
37086 * kern/i386/coreboot/init.c: Likewise.
37087
37088 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
37089 with `<grub/cpu/kernel.h>'.
37090 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
37091 to ...
37092 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
37093 * kern/i386/coreboot/startup.S: Likewise.
37094
37095 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
37096 (GRUB_MOD_GAP): Remove.
37097 * include/grub/powerpc/kernel.h: New file.
37098 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
37099 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37100 * include/grub/i386/kernel.h: New file.
37101 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
37102 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
37103 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37104
37105 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
37106 `grub-mkelfimage'.
37107 Use --directory when invoking grub_mkimage.
37108
37109 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
37110 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
37111 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
37112 and GRUB_KERNEL_CPU_PREFIX.
37113
b86408f8 371142008-08-14 Felix Zielcke <fzielcke@z-51.de>
37115
d5e619ca 37116 * include/grub/err.h (grub_err_printf): New function prototype.
37117 * util/misc.c (grub_err_printf): New function.
37118 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
37119 grub_printf.
37120 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 37121
7161f0e0 371222008-08-13 Robert Millan <rmh@aybabtu.com>
37123
37124 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
37125
a1967522 371262008-08-13 Robert Millan <rmh@aybabtu.com>
37127
37128 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
37129 boot entry.
37130
371458b5 371312008-08-12 Robert Millan <rmh@aybabtu.com>
37132
37133 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
37134 of the relocation code from here ...
37135 (grub_multiboot): ... to here.
37136 (forward_relocator, backward_relocator): Move from here ...
37137 * kern/i386/loader.S (grub_multiboot_forward_relocator)
37138 (grub_multiboot_backward_relocator): ... to here.
37139 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
37140 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
37141 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
37142 (grub_multiboot_forward_relocator_end)
37143 (grub_multiboot_backward_relocator)
37144 (grub_multiboot_backward_relocator_end): New variables.
37145
05f9452b 371462008-08-12 Bean <bean123ch@gmail.com>
37147
37148 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
37149
20024ab0 371502008-08-11 Robert Millan <rmh@aybabtu.com>
37151
37152 * kern/i386/linuxbios/startup.S: Move from here ...
37153 * kern/i386/coreboot/startup.S: ... to here.
37154
37155 * kern/i386/linuxbios/init.c: Move from here ...
37156 * kern/i386/coreboot/init.c: ... to here.
37157
37158 * kern/i386/linuxbios/table.c: Move from here ...
37159 * kern/i386/coreboot/mmap.c: ... to here.
37160
37161 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
37162
e352e9cd 371632008-08-11 Robert Millan <rmh@aybabtu.com>
37164
37165 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
37166 errors. Leave it to the upper layer to handle them.
37167
2d05bc6a 371682008-08-09 Christian Franke <franke@computer.org>
37169
37170 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
37171 * conf/common.rmk: Install `grub-pe2elf' only if requested.
37172 Install `grub.d/10_windows' only on Cygwin.
37173 * configure.ac: Add subst of `target_os'.
37174 Check `target_os' also before setting TARGET_OBJ2ELF.
37175 Add `--enable-grub-pe2elf'.
37176
042bd419 371772008-08-08 Robert Millan <rmh@aybabtu.com>
37178
37179 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37180 (grub_last_time): Change type to grub_uint64_t.
37181 (grub_disk_open): Migrate code from to using grub_get_time_ms().
37182 (grub_disk_close): Likewise.
37183
37184 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37185 (run_menu): Migrate code from to using grub_get_time_ms().
37186
37187 * util/misc.c (grub_get_time_ms): New function.
37188
7f280db5 371892008-08-08 Marco Gerards <marco@gnu.org>
37190
37191 * disk/ata.c (grub_ata_regget): Change return type to
37192 `grub_uint8_t'.
37193 (grub_ata_regget2): Likewise.
37194 (grub_ata_wait_status): New function.
37195 (grub_ata_wait_busy): Removed function, updated all users to use
37196 `grub_ata_wait_status'.
37197 (grub_ata_wait_drq): Likewise.
37198 (grub_ata_cmd): New function.
37199 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
37200 error handling.
37201 (grub_ata_pio_write): Add error handling.
37202 (grub_atapi_identify): Likewise.
37203 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
37204 handling.
37205 (grub_ata_identify): Use `grub_ata_cmd' and improve error
37206 handling. Actually use the detected registers. Reorder the
37207 detection logic such that it is easier to read.
37208 (grub_ata_pciinit): Do not assign the same ID to each controller.
37209 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
37210 handling.
37211 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
37212
37213 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
37214
1fbc5e66 372152008-08-08 Marco Gerards <marco@gnu.org>
37216
37217 * NEWS: Update.
37218
819ce6c0 372192008-08-07 Bean <bean123ch@gmail.com>
37220
37221 * include/grub/x86_64/pci.h: New file.
37222
5c41d44d 372232008-08-07 Christian Franke <franke@computer.org>
37224
37225 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
37226 (TIMER2_GATE): Likewise.
37227 (grub_pit_wait): Add enable/disable of the timer2 gate
37228 bit of port 0x61. This fixes a possible infinite loop.
37229
5ebc275d 372302008-08-07 Bean <bean123ch@gmail.com>
37231
37232 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
37233 kern/i386/tsc.c and kern/i386/pit.c.
37234
37235 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
37236 x86_64 platform.
37237
37238 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
37239 <grub/i386/tsc.h>.
37240
37241 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
37242
e383b3d0 372432008-08-07 Bean <bean123ch@gmail.com>
37244
37245 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
37246
37247 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
37248
37249 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
37250 multiple inclusion. Add #include <grub/types.h>.
37251
1cbb58ac 372522008-08-06 Christian Franke <franke@computer.org>
37253
37254 * conf/common.rmk: Build and install `10_windows'.
37255 * util/grub.d/10_windows.in: New script.
37256
337f5a1e 372572008-08-06 Pavel Roskin <proski@gnu.org>
37258
37259 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
37260
057bc4ac 372612008-08-06 Robert Millan <rmh@aybabtu.com>
37262
37263 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
37264 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
37265
2b99f123 372662008-08-06 Bean <bean123ch@gmail.com>
37267
37268 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
37269 (grub_pxefs_fs_int): Remove dummy definition.
37270 (grub_pxefs_open): Use data->block_size to store the current block
37271 size setting.
37272 (grub_pxefs_read): Use block size stored in data->block_size. As the
37273 value of grub_pxe_blksize can be changed after the file is opened.
37274
9f0234cb 372752008-08-06 Bean <bean123ch@gmail.com>
37276
37277 * fs/i386/pc/pxe.c (curr_file): new variable.
37278 (grub_pxefs_open): Simply the handling of pxe file system. Don't
37279 require the dummy internal file system anymore.
37280 (grub_pxefs_read): Removed.
37281 (grub_pxefs_close): Likewise.
37282 (grub_pxefs_fs_int): Likewise.
37283 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
37284 connection when we switch file.
37285 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
37286
a55d42e0 372872008-08-06 Robert Millan <rmh@aybabtu.com>
37288
37289 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
37290 `halt.mod'.
37291 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
37292 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
37293
37294 * kern/i386/halt.c: New file.
37295 * kern/i386/reboot.c: Likewise.
37296 * include/grub/i386/reboot.h: Likewise.
37297 * include/grub/i386/halt.h: Likewise.
37298
37299 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
37300 Include `<grub/cpu/halt.h>'.
37301 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
37302 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
37303
37304 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
37305 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
37306 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
37307 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
37308 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
37309 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
37310 from here ...
37311 * include/grub/i386/at_keyboard.h: ... to here.
37312
24371d26 373132008-08-05 Robert Millan <rmh@aybabtu.com>
37314
37315 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
37316 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
37317 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
37318 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37319 `kern/generic/millisleep.c'.
37320
37321 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
37322 instead of grub_get_rtc().
37323 (grub_tsc_init): Initialize `tsc_boot_time'.
37324
37325 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
37326 (grub_machine_init): Use grub_tsc_init() rather than
37327 installing an RTC-based handler via grub_install_get_time_ms().
37328
37329 * kern/i386/pit.c: New file.
37330 * include/grub/i386/pit.h: Likewise.
37331
9e7007b3 373322008-08-05 Bean <bean123ch@gmail.com>
37333
37334 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
37335
37336 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
37337 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
37338 (pxe_mod_SOURCES): New macro.
37339 (pxe_mod_CFLAGS): Likewise.
37340 (pxe_mod_LDFLAGS): Likewise.
37341 (pxecmd_mod_SOURCES): Likewise.
37342 (pxecmd_mod_CFLAGS): Likewise.
37343 (pxecmd_mod_LDFLAGS): Likewise.
37344
37345 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
37346 (grub_pxe_call): Likewise.
37347
37348 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
37349
37350 * commands/i386/pc/pxecmd.c: New file.
37351
9f0234cb 37352 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 37353
37354 * include/grub/i386/pc/pxe.h: Likewise.
37355
6977d49f 373562008-08-05 Bean <bean123ch@gmail.com>
37357
37358 * util/console.c (grub_console_cur_color): New variable.
37359 (grub_console_standard_color): Likewise.
37360 (grub_console_normal_color): Likewise.
37361 (grub_console_highlight_color): Likewise.
37362 (color_map): Likewise.
37363 (use_color): Likewise.
37364 (NUM_COLORS): New macro.
37365 (grub_ncurses_setcolorstate): Handle color properly.
37366 (grub_ncurses_setcolor): Don't change color here, just remember the
37367 settings, color will be set in grub_ncurses_setcolorstate.
37368 (grub_ncurses_getcolor): New function.
37369 (grub_ncurses_init): Initialize color pairs.
37370 (grub_ncurses_term): New member grub_ncurses_getcolor.
37371
9c2ff3ee 373722008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 37373
9c2ff3ee 37374 High resolution timer support. Implemented for x86 CPUs using TSC.
37375 Extracted generic grub_millisleep() so it's linked in only as needed.
37376 This requires a Pentium compatible CPU; if the RDTSC instruction is
37377 not supported, then it falls back on the generic grub_get_time_ms()
37378 implementation that uses the machine's RTC.
37379
37380 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
37381 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37382 `kern/generic/millisleep.c'.
37383
37384 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
37385 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
37386
37387 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
37388 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
37389
37390 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37391
37392 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37393 `kern/generic/millisleep.c'.
37394
37395 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37396
37397 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
37398
37399 * kern/generic/rtc_get_time_ms.c: New file.
37400
37401 * kern/generic/millisleep.c: New file.
337f5a1e 37402
9c2ff3ee 37403 * kern/misc.c: Don't include
37404 <kern/time.h> anymore.
37405 (grub_millisleep_generic): Removed.
37406
37407 * commands/sleep.c (grub_interruptible_millisleep): Uses
37408 grub_get_time_ms() instead of grub_get_rtc().
37409
37410 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
37411 function.
37412 (grub_cpu_is_cpuid_supported): New inline function.
37413 (grub_cpu_is_tsc_supported): New inline function.
37414 (grub_tsc_init): New function prototype.
37415 (grub_tsc_get_time_ms): New function prototype.
37416
37417 * kern/i386/tsc.c (grub_get_time_ms): New file.
37418
37419 * include/grub/time.h: Include <grub/types.h.
37420 (grub_millisleep_generic): Removed.
37421 (grub_get_time_ms): New prototype.
37422 (grub_install_get_time_ms): New prototype.
37423 (grub_rtc_get_time_ms): New prototype.
37424
37425 * kern/time.c (grub_get_time_ms): New function.
37426 (grub_install_get_time_ms): New function.
37427
37428 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
37429 <grub/time.h> anymore.
37430 (grub_millisleep): Removed.
37431 (grub_machine_init): Call grub_tsc_init.
37432
37433 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
37434 get_time_ms() implementation.
37435
37436 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
37437 (ieee1275_get_time_ms): New function.
37438 (grub_machine_init): Install get_time_ms() implementation.
37439
37440 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
37441 (grub_machine_init): Call grub_tsc_init().
37442 (grub_millisleep): Removed.
bf06a93f 37443
9c2ff3ee 37444 * kern/ieee1275/init.c (grub_millisleep): Removed.
37445 (grub_machine_init): Install ieee1275_get_time_ms()
37446 implementation.
37447 (ieee1275_get_time_ms): New function.
37448 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
37449 real work.
37450
9ec92aaf 374512008-08-05 Marco Gerards <marco@gnu.org>
37452
37453 * disk/ata.c: Include <grub/pci.h>.
37454 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
37455 (grub_ata_initialize): Rewritten.
37456 (grub_ata_device_initialize): New function.
37457
8d23f507 374582008-08-04 Pavel Roskin <proski@gnu.org>
37459
37460 * kern/main.c: Include grub/mm.h.
37461
5e15ee3d 374622008-08-04 Robert Millan <rmh@aybabtu.com>
37463
37464 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
37465 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
37466 corruption problem).
37467
a9053f8f 374682008-08-04 Robert Millan <rmh@aybabtu.com>
37469
37470 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
37471 warnings introduced in my last commit.
37472
dd19c7d7 374732008-08-03 Robert Millan <rmh@aybabtu.com>
37474
37475 Make PCI available on all i386 architectures.
37476
37477 * include/grub/i386/pc/pci.h: Move from here ...
37478 * include/grub/i386/pci.h: ... to here.
37479
37480 * include/grub/i386/pc/pci.h: Remove.
37481 * include/grub/i386/efi/pci.h: Remove.
37482 * include/grub/x86_64/efi/pci.h: Remove.
37483
37484 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
37485 `<grub/cpu/pci.h>'.
37486
37487 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
37488 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
37489 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
37490
37491 * conf/i386-ieee1275.rmk: Likewise.
37492
e14a6184 374932008-08-03 Robert Millan <rmh@aybabtu.com>
37494
37495 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
37496 (grub_console_setcursor): Make it possible to set cursor off.
37497
52768e37 374982008-08-03 Robert Millan <rmh@aybabtu.com>
37499
37500 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
37501 of modules instead of assuming which platform provides what.
37502 * util/update-grub.in: Likewise.
37503
2d52f57f 375042008-08-03 Robert Millan <rmh@aybabtu.com>
37505
37506 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
37507 instead of `grub_install_dos_part' to determine whether a drive needs
37508 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 37509 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 37510
2a5cd121 375112008-08-02 Robert Millan <rmh@aybabtu.com>
37512
37513 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
37514
93808428 375152008-08-02 Robert Millan <rmh@aybabtu.com>
37516
37517 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
37518 of informational grub_dprintf() calls.
37519
3bd0a12a 375202008-08-02 Robert Millan <rmh@aybabtu.com>
37521
37522 * disk/memdisk.c (memdisk_size): Don't initialize.
37523 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
37524
37525 * include/grub/i386/pc/kernel.h
37526 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
37527 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
37528 (grub_memdisk_image_size, grub_arch_memdisk_addr)
37529 (grub_arch_memdisk_size): Remove.
37530
37531 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
37532 field (was only used to transfer a constant). Add `type' field to
37533 support multiple module types.
37534 (grub_module_iterate): New function.
37535
37536 * kern/device.c (grub_device_open): Do not hide error messages
37537 when grub_disk_open() fails. Use grub_print_error() instead.
37538
37539 * kern/i386/pc/init.c (grub_arch_modules_addr)
37540 (grub_arch_memdisk_size): Remove functions.
37541 (grub_arch_modules_addr): Return the module address in high memory
37542 (now that it isn't copied anymore).
37543
37544 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
37545 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
37546 decompression routine (grub_total_module_size already includes that
37547 now). Don't copy modules back to low memory.
37548
37549 * kern/main.c: Include `<grub/mm.h>'.
37550 (grub_load_modules): Split out (and use) ...
37551 (grub_module_iterate): ... this function, which iterates through
37552 module objects and runs a hook.
37553 Comment out grub_mm_init_region() call, as it would cause non-ELF
37554 modules to be overwritten.
37555
37556 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
37557 the memdisk image in its own region, make it part of the module list.
37558 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
37559 (main): Parse --memdisk|-m option, and pass user-provided path as
37560 parameter to generate_image().
37561 (add_segments): Pass `memdisk_path' down to load_modules().
37562 (load_modules): Embed memdisk image in module section when requested.
37563 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
37564 `header.type' instead of `header.offset'.
37565
37566 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
37567 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
37568 (memdisk_mod_LDFLAGS): New variables.
37569 * conf/i386-coreboot.rmk: Likewise.
37570 * conf/i386-ieee1275.rmk: Likewise.
37571
a927cc73 375722008-08-02 Robert Millan <rmh@aybabtu.com>
37573
37574 * loader/i386/pc/multiboot.c (playground, forward_relocator)
37575 (backward_relocator): New variables. Used to allocate and relocate
37576 the payload, respectively.
37577 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 37578 address, install the appropriate relocator code in each bound of
a927cc73 37579 the payload, and set the entry point such that
37580 grub_multiboot_real_boot() will jump to one of them.
37581
37582 * kern/i386/loader.S (grub_multiboot_payload_size)
37583 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
37584 (grub_multiboot_payload_entry_offset): New variables.
37585 (grub_multiboot_real_boot): Set cpu context to what the relocator
37586 expects, and jump to the relocator instead of the payload.
37587
37588 * include/grub/i386/loader.h (grub_multiboot_payload_size)
37589 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
37590 (grub_multiboot_payload_entry_offset): Export.
37591
b15d8a0c 375922008-08-01 Bean <bean123ch@gmail.com>
37593
37594 * normal/menu_entry.c (editor_getline): Don't return the original
37595 string as result, as it will be released by lexer once it has done
37596 using it.
37597
cdfb3d22 375982008-08-01 Robert Millan <rmh@aybabtu.com>
37599
37600 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
37601 within menuentries, not before them.
37602 util/grub.d/10_hurd.in: Likewise.
37603
9175e93d 376042008-08-01 Bean <bean123ch@gmail.com>
37605
37606 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
37607 (bufio_mod_SOURCES): New macro.
37608 (bufio_mod_CFLAGS): Likewise.
37609 (bufio_mod_LDFLAGS): Likewise.
37610
37611 * include/grub/bufio.h: New file.
37612
37613 * io/bufio.c: Likewise.
37614
37615 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
37616 (grub_video_reader_png): Use grub_buffile_open to open file.
37617
37618 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
37619 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
37620
37621 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
37622 (grub_video_reader_tga): Use grub_buffile_open to open file.
37623
37624 * font/manager.c: Include <grub/bufio.h>.
37625 (add_font): Use grub_buffile_open to open file.
37626
3d8383e7 376272008-07-31 Robert Millan <rmh@aybabtu.com>
37628
37629 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
37630 ELF segments, use a macro for arbitrarily accessing any of them instead
37631 of preparing a pointer that allows access to one at a time.
37632 (grub_multiboot_load_elf64): Likewise.
37633
16e641b6 376342008-07-31 Bean <bean123ch@gmail.com>
37635
37636 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
37637 GRUB_KERNEL_MACHINE_DATA_END.
37638
59198b72 376392008-07-30 Robert Millan <rmh@aybabtu.com>
37640
37641 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
37642 Increase from 0x50 to 0x60.
37643 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
37644 use UUIDs to identify the root drive for them. If that's not
37645 possible, abort.
37646 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
37647 check, for cross-disk installs.
37648
ae88bca3 376492008-07-30 Robert Millan <rmh@aybabtu.com>
37650
37651 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
37652 is non-empty, use it to set the `prefix' environment variable instead
37653 of the usual approach.
37654 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
37655 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
37656 environment variable instead of dummy make_install_device().
37657
37658 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
37659 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 37660 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 37661
37662 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
37663 New variable reference.
37664 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
37665 New macro. Defines offset of `grub_prefix' within startup.S (relative
37666 to `start').
37667 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
37668 section within startup.S (relative to `start').
37669 * include/grub/i386/coreboot/kernel.h: Likewise.
37670
37671 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
37672 Overwrite grub_prefix with its contents, at the beginning of the
37673 first segment.
37674 (main): Understand -p|--prefix.
37675
14f41dd1 376762008-07-30 Robert Millan <rmh@aybabtu.com>
37677
37678 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
37679
4ca049a3 376802008-07-30 Robert Millan <rmh@aybabtu.com>
37681
37682 * term/i386/pc/vga_text.c (grub_console_cls): Use
37683 grub_console_gotoxy() to go back to beginning of the screen.
37684 Found by Patrick Georgi <patrick.georgi@coresystems.de>
37685
2921d337 376862008-07-29 Christian Franke <franke@computer.org>
37687
37688 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37689 Add conversion of emulated mount points on Cygwin.
37690
b609876d 376912008-07-29 Christian Franke <franke@computer.org>
37692
37693 * util/update-grub.in: Add a check for admin
37694 group on Cygwin.
37695 Remove old `grub.cfg.new' before creation.
37696 Add `-f' to `mv' to handle the different filesystem
37697 semantics of Windows.
37698
e93e4679 376992008-07-29 Bean <bean123ch@gmail.com>
37700
37701 * normal/main.c (get_line): Fix buffer overflow bug.
37702
41694fd0 377032008-07-28 Robert Millan <rmh@aybabtu.com>
37704
37705 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
37706 (struct grub_apple_header): New struct. Describes the layout of
37707 the partmap header.
37708 (apple_partition_map_iterate): Check the header magic as well as the
37709 partition magic (which was already being checked).
37710
cfd0b4e6 377112008-07-28 Pavel Roskin <proski@gnu.org>
37712
37713 * genmk.rb: Add a warning to the beginning of the output that
37714 it's a generated file and should not be edited.
37715
93cce016 377162008-07-28 Robert Millan <rmh@aybabtu.com>
37717
37718 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37719 with the same number are found, just use issue a warning with
37720 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 37721
cd1df915 377222008-07-27 Robert Millan <rmh@aybabtu.com>
37723
37724 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
37725 information.
37726
b70a8427 377272008-07-27 Bean <bean123ch@gmail.com>
37728
37729 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
37730 (grub_fat_find_dir): Ignore case when comparing filename.
37731
8f5e379f 377322008-07-27 Bean <bean123ch@gmail.com>
37733
37734 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
37735 smallino, as it's more descriptive, and i8count can be confused with
37736 the other field count.
37737 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
37738 inode type.
37739
a85cd5a0 377402008-07-27 Bean <bean123ch@gmail.com>
37741
37742 * commands/crc.c: New file.
37743
37744 * lib/crc.c: Likewise.
37745
37746 * include/grub/lib/crc.h: Likewise.
37747
37748 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
37749
37750 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
37751 (hexdump): Move this function to ...
37752
37753 * lib/hexdump.c: ... here.
37754
37755 * include/grub/hexdump.h: Renamed to ...
37756
37757 * include/grub/lib/hexdump.h: ... this.
37758
37759 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
37760
37761 * util/grub-editenv.c: Likewise.
37762
37763 * include/envblk.h: Renamed to ...
37764
37765 * include/lib/envblk.h: ... this.
37766
37767 * util/envblk.c: Renamed to ...
37768
37769 * lib/envblk.c: ... this.
37770
37771 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
37772 lib/hexdump.c.
37773 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
37774 (pkglib_MODULES): Add crc.mod.
37775 (hexdump_mod_SOURCES): Add lib/hexdump.c.
37776 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
37777 (crc_mod_SOURCES): New macro.
37778 (crc_mod_CFLAGS): Likewise.
37779 (crc_mod_LDFLAGS): Likewise.
37780
37781 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
37782
37783 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37784
37785 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37786
37787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37788
37789 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37790
c298def0 377912008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 37792
37793 * commands/help.c: Include <grub/term.h>.
37794 (TERM_WIDTH): Removed. Updated all users.
37795
cc349fb3 377962008-07-27 Pavel Roskin <proski@gnu.org>
37797
37798 * util/getroot.c (find_root_device): Rephrase a comment to avoid
37799 spurious warnings about a comment within a comment.
37800
9051607e 378012008-07-25 Robert Millan <rmh@aybabtu.com>
37802
37803 * util/getroot.c (find_root_device): Skip devices that match
37804 /dev/dm-[0-9]. This lets the real device be found for any type of
37805 abstraction (LVM, EVMS, RAID..).
37806 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
37807 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
37808 device is found first, find_root_device() will now skip it.
37809
01453bfc 378102008-07-24 Pavel Roskin <proski@gnu.org>
37811
37812 * include/grub/types.h: Use __builtin_bswap32() and
37813 __builtin_bswap64() with gcc 4.3 and newer.
37814
6af9849f 378152008-07-24 Christian Franke <franke@computer.org>
37816
3a0fa256 37817 * util/i386/pc/grub-install.in: If `--debug' is specified,
37818 pass `--verbose' to grub-setup.
37819 Abort script if make_system_path_relative_to_its_root() fails.
37820
7810e747 378212008-07-24 Bean <bean123ch@gmail.com>
37822
37823 * configure.ac: Fixed a bug caused by the previous cygwin patch,
37824 variable `target_platform' should be `platform'.
37825
42290e17 378262008-07-24 Bean <bean123ch@gmail.com>
37827
51cc5193 37828 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 37829 (grub_png_init_fixed_block): New function.
37830 (grub_png_decode_image_data): Handle fixed huffman code compression.
37831
2a8a80e4 378322008-07-24 Bean <bean123ch@gmail.com>
37833
37834 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
37835 (grub_pe2elf_SOURCES): New macro.
37836 (CLEANFILES): Add grub-pe2elf.
37837
37838 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
37839 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
37840 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
37841 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
37842 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
37843 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
37844 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
37845 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
37846 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
37847 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
37848 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
37849 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
37850 (GRUB_PE32_DT_FUNCTION): Likewise.
37851 (GRUB_PE32_REL_I386_DIR32): Likewise.
37852 (GRUB_PE32_REL_I386_REL32): Likewise.
37853 (grub_pe32_symbol): New structure.
37854 (grub_pe32_reloc): Likewise.
37855
37856 * util/grub-pe2elf.c: New file.
37857
37858 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
37859 start symbol in non pc platform.
37860
37861 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
37862
37863 The following patches are from Christian Franke.
37864
37865 * include/grub/dl.h: Remove .previous, gas supports this only
37866 for ELF format.
37867
37868 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
37869 Remove .type, gas supports this only for ELF format.
37870
37871 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
37872 nullbytes in symbol table. This fixes an infinite loop if table is
37873 zero filled.
37874
37875 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
37876 TARGET_IMG_LDFLAGS and EXEEXT.
37877
37878 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
37879 TARGET_IMG_LDFLAGS_AC.
37880 (grub_CHECK_STACK_ARG_PROBE): New function.
37881
37882 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
37883
37884 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
37885
37886 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
37887 to set TARGET_IMG_LD* accordingly.
37888 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
37889 Add call to grub_CHECK_STACK_ARG_PROBE.
37890 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
37891
37892 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
37893
37894 * genmk.rb: Add EXEEXT to CLEANFILES.
37895
12ccdb75 378962008-07-23 Robert Millan <rmh@aybabtu.com>
37897
37898 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
37899 define the codes for arrows and lines used for the menu).
37900 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
37901 as well.
37902
37903 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
37904 fonts, because the latter are too slow.
37905
18eeaf04 379062008-07-21 Bean <bean123ch@gmail.com>
37907
37908 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
37909 a20. Run keyboard test last, as it will cause macbook to halt.
37910
b095e2ad 379112008-07-18 Pavel Roskin <proski@gnu.org>
37912
37913 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
37914 load foreign architecture modules correctly anyway. Keep
37915 support for loading host architecture modules, whether we
37916 compile them or not.
37917
737feb35 379182008-07-17 Pavel Roskin <proski@gnu.org>
37919
3f4ce737 37920 * configure.ac: Use -m32 or -m64 regardless of whether we had to
37921 change target_cpu. The compiler default can mismatch target_cpu
37922 in any case.
37923
4ad2d049 37924 * disk/efi/efidisk.c: Fix format warnings on x86_64.
37925 * kern/efi/efi.c: Likewise.
37926
f6130a12 37927 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
37928 target compiler is functional.
37929 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
37930 are set up.
37931
58393a2d 37932 * configure.ac: Default to efi platform for x86_64-apple. Allow
37933 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
37934 adjustments from the rest, only do them if target is not
37935 explicitly given. Merge other adjustments with the final sanity
37936 check. Remove an extraneous check for supported CPU. Be
37937 specific which CPU and which platform is not supported.
37938
737feb35 37939 * configure.ac: Default to pc platform for x86_64.
37940
546f966a 379412008-07-17 Robert Millan <rmh@aybabtu.com>
37942
37943 Partial LinuxBIOS -> Coreboot rename.
37944
37945 * conf/i386-linuxbios.rmk: Renamed to ...
37946 * conf/i386-coreboot.rmk: ... this.
37947 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
37948 * configure.ac: Accept "coreboot" as input platform (but maintain
37949 compatibility with "linuxbios").
37950 * include/grub/i386/linuxbios: Renamed to ...
37951 * include/grub/i386/coreboot: ... this.
37952
20011694 379532008-07-17 Bean <bean123ch@gmail.com>
37954
37955 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 37956 (appleldr_mod_SOURCE): New variable.
20011694 37957 (appleldr_mod_CFLAGS): Likewise.
37958 (appleldr_mod_LDFLAGS): Likewise.
37959 (pci_mod_SOURCES): Likewise.
37960 (pci_mod_CFLAGS): Likewise.
37961 (pci_mod_LDFLAGS): Likewise.
37962 (lspci_mod_SOURCES): Likewise.
37963 (lspci_mod_CFLAGS): Likewise.
37964 (lspci_mod_LDFLAGS): Likewise.
37965
37966 * conf/x86_64-efi.rmk: New file.
37967
37968 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
37969 macro.
37970 (grub_efidisk_write): Likewise.
37971
37972 * include/efi/api.h (efi_call_0): New macro.
37973 (efi_call_1): Likewise.
37974 (efi_call_2): Likewise.
37975 (efi_call_3): Likewise.
37976 (efi_call_4): Likewise.
37977 (efi_call_5): Likewise.
37978 (efi_call_6): Likewise.
37979
37980 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
37981 grub_rescue_cmd_chainloader.
37982
37983 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
37984 (grub_pe32_optional_header): Change some fields based on i386 or
37985 x86_64 platform.
37986 (GRUB_PE32_PE32_MAGIC): Likewise.
37987
37988 * include/grub/efi/uga_draw.h: New file.
37989
37990 * include/grub/elf.h (STN_ABS): New constant.
37991 (R_X86_64_NONE): Relocation constant for x86_64.
37992 (R_X86_64_64): Likewise.
37993 (R_X86_64_PC32): Likewise.
37994 (R_X86_64_GOT32): Likewise.
37995 (R_X86_64_PLT32): Likewise.
37996 (R_X86_64_COPY): Likewise.
37997 (R_X86_64_GLOB_DAT): Likewise.
37998 (R_X86_64_JUMP_SLOT): Likewise.
37999 (R_X86_64_RELATIVE): Likewise.
38000 (R_X86_64_GOTPCREL): Likewise.
38001 (R_X86_64_32): Likewise.
38002 (R_X86_64_32S): Likewise.
38003 (R_X86_64_16): Likewise.
38004 (R_X86_64_PC16): Likewise.
38005 (R_X86_64_8): Likewise.
38006 (R_X86_64_PC8): Likewise.
38007
38008 * include/grub/i386/efi/pci.h: New file.
38009
38010 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
38011 Change it value based on platform.
38012 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
38013 (GRUB_E820_RAM): Likewise.
38014 (GRUB_E820_RESERVED): Likewise.
38015 (GRUB_E820_ACPI): Likewise.
38016 (GRUB_E820_NVS): Likewise.
38017 (GRUB_E820_EXEC_CODE): Likewise.
38018 (GRUB_E820_MAX_ENTRY): Likewise.
38019 (grub_e820_mmap): New structure.
38020 (linux_kernel_header): Change the efi field according to different
38021 kernel version, also field from linux_kernel_header.
38022
38023 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
38024
38025 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
38026 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
38027 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
38028 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
38029 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
38030 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
38031 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
38032 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
38033 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
38034 (GRUB_PCI_ADDR_IO_MASK): Likewise.
38035
38036 * include/grub/x86_64/efi/kernel.h: New file.
38037
38038 * include/grub/x86_64/efi/loader.h: Likewise.
38039
38040 * include/grub/x86_64/efi/machine.h: Likewise.
38041
38042 * include/grub/x86_64/efi/pci.h: Likewise.
38043
38044 * include/grub/x86_64/efi/time.h: Likewise.
38045
38046 * include/grub/x86_64/linux.h: Likewise.
38047
38048 * include/grub/x86_64/setjmp.h: Likewise.
38049
38050 * include/grub/x86_64/time.h: Likewise.
38051
38052 * include/grub/x86_64/types.h: Likewise.
38053
38054 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
38055 GRUB_TARGET_SIZEOF_VOID_P.
38056
38057 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
38058 (grub_efi_locate_handle): Likewise.
38059 (grub_efi_open_protocol): Likewise.
38060 (grub_efi_set_text_mode): Likewise.
38061 (grub_efi_stall): Likewise.
38062 (grub_exit): Likewise.
38063 (grub_reboot): Likewise.
38064 (grub_halt): Likewise.
38065 (grub_efi_exit_boot_services): Likewise.
38066 (grub_get_rtc): Likewise.
38067
38068 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
38069 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
38070 (grub_efi_allocate_pages): Wrap efi calls.
38071 (grub_efi_free_pages): Wrap efi calls.
38072 (grub_efi_get_memory_map): Wrap efi calls.
38073
38074 * kern/x86_64/dl.c: New file.
38075
38076 * kern/x86_64/efi/callwrap.S: Likewise.
38077
38078 * kern/x86_64/efi/startup.S: Likewise.
38079
38080 * loader/efi/appleloader.c: Likewise.
38081
38082 * loader/efi/chainloader.c (cmdline): New variable.
38083 (grub_chainloader_unload): Wrap efi calls.
38084 (grub_chainloader_boot): Likewise.
38085 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
38086 command line.
38087
38088 * loader/efi/chainloader_normal.c (chainloader_command):
38089 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
38090 command line.
38091
38092 * loader/i386/efi/linux.c (allocate_pages): Change allocation
38093 method.
38094 (grub_e820_add_region): New function.
38095 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
38096 booting.
38097 (grub_find_video_card): New function.
38098 (grub_linux_setup_video): New function.
38099 (grub_rescue_cmd_linux): Probe for video information.
38100
38101 * normal/x86_64/setjmp.S: New file.
38102
38103 * term/efi/console.c (map_char): New function.
38104 (grub_console_putchar): Map unicode char.
38105 (grub_console_checkkey): Wrap efi calls.
38106 (grub_console_getkey): Likewise.
38107 (grub_console_getwh): Likewise.
38108 (grub_console_gotoxy): Likewise.
38109 (grub_console_cls): Likewise.
38110 (grub_console_setcolorstate): Likewise.
38111 (grub_console_setcursor): Likewise.
38112
38113 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
38114
59652a20 381152008-07-16 Pavel Roskin <proski@gnu.org>
38116
ef294055 38117 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
38118 format strings.
38119
59652a20 38120 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
38121 pointer, not an integer. This fixes a warning and prevents
38122 precision loss on 64-bit systems.
38123 (relocate_addresses): Remove unneeded cast.
38124
afc3b5d7 381252008-07-15 Pavel Roskin <proski@gnu.org>
38126
506b2b3e 38127 * kern/i386/ieee1275/init.c: Include grub/cache.h.
38128
62ead89c 38129 * term/ieee1275/ofconsole.c: Disable code unused on i386.
38130
c4cd51d7 38131 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
38132 Fix comparison between signed and unsigned.
38133
0d3d8f28 38134 * include/grub/i386/ieee1275/console.h: Declare
38135 grub_console_init() and grub_console_fini().
38136
8804b286 38137 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
38138 It's empty and unused.
38139
ee01cf35 38140 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
38141 beginning to avoid warnings with some compilers.
38142
afc3b5d7 38143 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
38144 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
38145
e4e8eaa5 381462008-07-14 Pavel Roskin <proski@gnu.org>
38147
407aceb4 38148 * kern/env.c (grub_register_variable_hook): Don't copy empty
38149 string, it leaks memory. Pass "" to grub_env_set(), it should
38150 handle constant strings.
38151
e4e8eaa5 38152 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
38153 * commands/cmp.c (grub_cmd_cmp): Likewise.
38154 * kern/dl.c (grub_dl_flush_cache): Likewise.
38155 (grub_dl_load_core): Likewise.
38156 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
38157 (grub_elf64_load_phdrs): Likewise.
38158
d4e2dad3 381592008-07-13 Pavel Roskin <proski@gnu.org>
38160
38161 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
38162 between signed and unsigned.
38163 (LzmaEnc_Finish): Fix warning about an unused parameter.
38164
aa24b516 381652008-07-13 Bean <bean123ch@gmail.com>
38166
38167 * Makefile.in (enable_lzo): New rule.
38168
38169 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
38170
38171 * configure.ac (ENABLE_LZO): New option --enable-lzo.
38172
38173 * boot/i386/pc/lnxboot.S: #include <config.h>.
38174
38175 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 38176 its value according to the compression algorithm used, lzo or lzma.
aa24b516 38177
38178 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
38179 compression algorithm according to configure macro.
38180
38181 * kern/i386/pc/startup.S (codestart): Likewise.
38182
38183 * kern/i386/pc/lzma_decode.S: New file.
38184
38185 * include/grub/lib/LzFind.h: Likewise.
38186
38187 * include/grub/lib/LzHash.h: Likewise.
38188
38189 * include/grub/lib/LzmaDec.h: Likewise.
38190
38191 * include/grub/lib/LzmaEnc.h: Likewise.
38192
38193 * include/grub/lib/LzmaTypes.h: Likewise.
38194
38195 * lib/LzFind.c: Likewise.
38196
38197 * lib/LzmaDec.c: Likewise.
38198
38199 * lib/LzmaEnc.c: Likewise.
38200
4ae821ac 382012008-07-13 Bean <bean123ch@gmail.com>
38202
38203 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
38204 (grub_ext4_extent_header): New structure.
38205 (grub_ext4_extent): Likewise.
38206 (grub_ext4_extent_idx): Likewise.
38207 (grub_ext4_find_leaf): New function.
38208 (grub_ext2_read_block): Handle extents.
38209
9a745147 382102008-07-12 Robert Millan <rmh@aybabtu.com>
38211
38212 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
38213
d49a4cf6 382142008-07-11 Robert Millan <rmh@aybabtu.com>
38215
38216 * util/grub.d/40_custom.in: New file. Example on how to add custom
38217 entries to /etc/grub.d.
38218 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
38219 40_custom (implicitly, by merging all the grub.d rules).
38220
947414b4 382212008-07-11 Pavel Roskin <proski@gnu.org>
38222
0059cf6f 38223 * commands/read.c (grub_getline): Fix invalid memory access.
38224 Don't add newline to the variable value.
38225
947414b4 38226 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
38227 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
38228 (serial_hw_get_port): Check validity of the port number.
38229 (grub_cmd_serial): Check return value of serial_hw_get_port().
38230
62a02d00 382312008-07-07 Pavel Roskin <proski@gnu.org>
38232
38233 * boot/i386/pc/diskboot.S (notification_string): Replace
38234 "Loading kernel" with just "loading". This is shorter, less
38235 confusing and saves a few bytes for possible future changes.
38236
3e5581b0 382372008-07-05 Pavel Roskin <proski@gnu.org>
38238
ea387a48 38239 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
38240 size for ATAPI devices, they are undefined. Output sector
38241 number in decimal form.
38242
3e5581b0 38243 * disk/ata.c: Use named constants for status bits.
38244
fdecb8fd 382452008-07-04 Pavel Roskin <proski@gnu.org>
38246
bcd35b90 38247 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
38248 grub_addr_t before casting it to the void pointer to fix a
38249 warning. Non-addressable regions are discarded earlier.
38250 (grub_arch_modules_addr): Cast _end to grub_addr_t.
38251 * kern/i386/linuxbios/table.c: Include grub/misc.h.
38252 (check_signature): Don't shadow table_header.
38253 (grub_linuxbios_table_iterate): Cast numeric constants to
38254 grub_linuxbios_table_header_t.
38255 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
38256 grub_stop().
38257
af58ab3d 38258 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
38259 prevent warnings.
38260
1759aa57 38261 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
38262 pointer, which can cause warnings. Support 64-bit addresses.
38263
fdecb8fd 38264 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
38265 of sizeof(long). This fixes PowerPC image generation on x86_64.
38266
8516d2a8 382672008-07-04 Robert Millan <rmh@aybabtu.com>
38268
38269 This fixes a performance issue when pc & gpt partmap iterators
38270 didn't abort iteration even after our hook found what it was
fe987087 38271 looking for (often causing expensive probes of non-existent drives).
8516d2a8 38272
38273 Some callers relied on previous buggy behaviour, since they would
34c44600 38274 raise an error when their own hooks caused early abortion of its
8516d2a8 38275 iteration.
38276
38277 * kern/device.c (grub_device_open): Improve error message.
38278 * disk/lvm.c (grub_lvm_open): Likewise.
38279 * disk/raid.c (grub_raid_open): Likewise.
38280
38281 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
38282 when hook requests it, independently of grub_errno.
38283 (pc_partition_map_probe): Do not fail when find_func() caused
38284 early abortion of pc_partition_map_iterate().
38285
38286 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
38287 when hook requests it, independently of grub_errno.
38288 (gpt_partition_map_probe): Do not fail when find_func() caused
38289 early abortion of gpt_partition_map_iterate().
38290
38291 * kern/partition.c (grub_partition_iterate): Abort parent iteration
38292 when hook requests it, independently of grub_errno. Do not fail when
38293 part_map_iterate_hook() caused early abortion of p->iterate().
38294
38295 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
38296 when grub_partition_iterate() returned with non-zero.
38297
277d0de9 382982008-07-03 Pavel Roskin <proski@gnu.org>
38299
38300 * disk/ata.c (grub_ata_pio_write): Check status before writing,
38301 like we do in grub_ata_pio_read().
38302 (grub_ata_readwrite): Always write individual sectors. Fix the
38303 sector count for the remainder.
38304 (grub_ata_write): Enable writing to ATA devices. Correctly
38305 report error for ATAPI devices.
38306
d4c9b428 383072008-07-02 Pavel Roskin <proski@gnu.org>
38308
e43fc690 38309 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
38310 warning.
38311
f707af42 38312 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
38313 for every read sector, we already increment it for the whole
38314 batch. This fixes reading more than 256 sectors at once.
38315
11e16b15 38316 * util/grub-editenv.c (cmd_info): Cast argument to long
38317 explicitly. ptrdiff_t reduces to int on i386.
38318
cbabfdd4 38319 * util/grub-editenv.c (main): Be specific which parameter is
38320 missing.
38321
b8fbce0a 38322 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
38323 (memdisk): Make memdisk_orig_addr a pointer.
38324
c9c8e606 38325 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
38326 for file offsets, use grub_off_t instead. Fix printf format
38327 warnings.
38328
ca62e598 38329 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
38330 there. Real unexpected warnings should not drown in the noise
38331 about known problems.
38332
ce8d1766 38333 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
38334 grub_disk_addr_t for memory addresses.
38335
00c7a56a 38336 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
38337 explicitly to fix a warning.
38338
08d3ef09 38339 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
38340
cb71ba20 38341 * Makefile.in (MODULE_LDFLAGS): New variable.
38342 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
38343 the linker accepts --build-id=none.
38344 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
38345 MODULE_LDFLAGS.
38346 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
38347
d4c9b428 38348 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
38349 those in Linux XFS code. Provide a way to access 64-bit parent
38350 inode.
38351 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
38352 the end of struct grub_xfs_dir_header.
38353
d4156eee 383542008-07-02 Bean <bean123ch@gmail.com>
38355
38356 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
38357 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
38358 and GRUB_IEEE1275_FLAG_NO_ANSI.
38359
38360 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
38361 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
38362 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
38363
38364 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
38365 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
38366
38367 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
38368 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
38369
38370 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
38371 esc sequence on non ANSI terminal.
38372 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
38373
38374 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
38375 beginning of file.
38376
2270f77b 383772008-07-02 Bean <bean123ch@gmail.com>
38378
38379 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
38380 (grub_editenv_SOURCES): New variable.
38381 (pkglib_MODULES): Add loadenv.mod.
38382 (loadenv_mod_SOURCES): New variable.
38383 (loadenv_mod_CFLAGS): Likewise.
38384 (loadenv_mod_LDFLAGS): Likewise.
38385
38386 * include/grub/envblk.h: New file.
38387
38388 * util/envblk.c: New file.
38389
38390 * util/grub-editenv.c: New file.
38391
38392 * commands/loadenv.c: New file.
38393
0e9e51ec 383942008-07-01 Pavel Roskin <proski@gnu.org>
38395
d89b7634 38396 * include/multiboot2.h (struct multiboot_tag_module): Use char,
38397 not unsigned char. This fixes warnings and is consistent with
38398 other tags.
38399
bf1835b1 38400 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
38401
8222a04b 38402 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
38403
6a42d99d 38404 * term/tparm.c (analyze): Always set *popcount.
38405
10b159d1 38406 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
38407 cast to fix a warning.
38408
b8789f6c 38409 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
38410 cast to suppress a warning.
38411
29d7e38a 38412 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
38413 grub_fshelp_read_file() expects.
38414
f341f669 38415 * fs/fat.c: Fix UUID calculation on big-endian systems. We
38416 write uuid as a 32-bit value in CPU byte order, so declare and
38417 use it as such.
38418
0e9e51ec 38419 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
38420 long if the format specifier expects it.
38421 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
38422 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38423 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
38424 long to fix a warning.
38425 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
38426 grub_dprintf() arguments to fix warnings.
38427
3aefa857 384282008-06-30 Pavel Roskin <proski@gnu.org>
38429
56c7668b 38430 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
38431 install_bsd_part immediately before core.img is embedded or
38432 modified on disk. This fixes core.img verification if core.img
38433 cannot be embedded.
38434
3aefa857 38435 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
38436 core_path to calculate the blocklist.
38437 Patch from Javier Martín <lordhabbit@gmail.com>
38438
5444088d 384392008-06-29 Robert Millan <rmh@aybabtu.com>
38440
38441 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
38442 block to disk block.
38443 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
38444 Patch from Niels Böhm <bitbucket@arcor.de>
38445
674835c8 384462008-06-29 Robert Millan <rmh@aybabtu.com>
38447
38448 * util/update-grub_lib.in (font_path): Search for fonts in
38449 /boot/grub first, which is more likely to be readable (we aren't
38450 deciding where fonts live, just looking for them).
38451
f527dbc8 384522008-06-26 Pavel Roskin <proski@gnu.org>
38453
6c2d8df6 38454 * util/biosdisk.c (read_device_map): Don't leave dead map
38455 entries for devices failing stat() check.
38456
f527dbc8 38457 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
38458 core_path_dev for the core.img path on the target device.
38459
aebe3d13 384602008-06-26 Robert Millan <rmh@aybabtu.com>
38461
38462 * disk/fs_uuid.c: New file.
38463 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
38464 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
38465 (fs_uuid_mod_LDFLAGS): New variables.
38466 * include/grub/disk.h (grub_disk_dev_id): Add
38467 `GRUB_DISK_DEVICE_UUID_ID'.
38468 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
38469 implement iterate().
38470
37aaf354 384712008-06-26 Robert Millan <rmh@aybabtu.com>
38472
38473 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
38474 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
38475 Linux image includes no initrd.
38476
25ff262a 384772008-06-21 Javier Martín <lordhabbit@gmail.com>
38478
38479 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
38480 call to resolve the core image location that effectively appended the
38481 name twice.
38482
76a2bd44 384832008-06-21 Robert Millan <rmh@aybabtu.com>
38484
38485 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
38486 call from here ...
38487
38488 * util/grub.d/10_hurd.in: ... to here ...
38489 * util/grub.d/10_linux.in: ... and here.
38490
650e1c79 384912008-06-19 Robert Millan <rmh@aybabtu.com>
38492
fe987087 38493 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 38494 after it has been set by grub_machine_set_prefix().
38495
6ce63911 384962008-06-19 Robert Millan <rmh@aybabtu.com>
38497
38498 * commands/search.c (search_label, search_fs_uuid, search_file): Print
38499 search result when not saving to variable, not the other way around.
38500 When saving to variable, abort iteration as soon as a match is found.
38501
73940cec 385022008-06-19 Robert Millan <rmh@aybabtu.com>
38503
38504 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
38505 check for partition that provides /boot/grub. Its logic is flawed,
38506 as it prevents prepare_grub_to_access_device() from being called
38507 multiple times.
38508
3c62a39d 385092008-06-19 Robert Millan <rmh@aybabtu.com>
38510
38511 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
38512 "insmod" command directly when abstraction modules are needed,
fe987087 38513 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 38514 since it had already been processed).
38515
47395a42 385162008-06-19 Pavel Roskin <proski@gnu.org>
38517
38518 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
38519 changed. This is needed in case GRUB_LIBDIR changes.
38520 * conf/i386-ieee1275.rmk: Likewise.
38521 * conf/i386-linuxbios.rmk: Likewise.
38522 * conf/i386-pc.rmk: Likewise.
38523 * conf/powerpc-ieee1275.rmk: Likewise.
38524
a145ac2d 385252008-06-18 Pavel Roskin <proski@gnu.org>
38526
38527 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
38528 kernel_elf_symlist.c to symlist.c for consistency with other
38529 architectures. Update all users.
38530 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38531
7847c51e 385322008-06-18 Robert Millan <rmh@aybabtu.com>
38533
38534 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
38535 it in prefix.
38536
38537 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
38538 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
38539 a RAID device, run setup() for all members independently on whether
38540 LVM abstraction is being used.
38541 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
38542 If grub-mkimage has set `*install_dos_part == -2', don't override this
38543 value.
38544 Perform *install_dos_part adjustments independently on whether
38545 we're embedding or not.
38546 Clarify error message when image is too big for embedding.
38547 Remove duplicate *install_dos_part stanza.
38548
b23e5644 385492008-06-17 Robert Millan <rmh@aybabtu.com>
38550
38551 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
38552 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
38553 variables.
38554 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
38555 values in grub_ofconsole_normal_color and
38556 grub_ofconsole_highlight_color (they're not directly related to
38557 background and foreground).
38558 (grub_ofconsole_setcolorstate): Extract background and foreground
38559 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
38560
0aac2f79 385612008-06-17 Robert Millan <rmh@aybabtu.com>
38562
38563 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
38564 /boot/grub for the check in last commit, not /boot (they could be
38565 different partitions).
38566
3cca7ef3 385672008-06-16 Robert Millan <rmh@aybabtu.com>
38568
38569 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
38570 asked to setup access for the same partition that provides /boot,
38571 don't bother using UUIDs since our root already has the value we
38572 want.
38573
347396d8 385742008-06-16 Robert Millan <rmh@aybabtu.com>
38575
38576 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
38577 I2O devices.
38578 Patch from Sven Mueller <sven@debian.org>.
38579
991477f8 385802008-06-16 Robert Millan <rmh@aybabtu.com>
38581
38582 * util/update-grub.in: Check for $EUID instead of $UID.
38583 Reported by Vincent Zweije.
38584
d31a32a1 385852008-06-16 Bean <bean123ch@gmail.com>
38586
fe987087 38587 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 38588 (grub_ext2_read_block): Likewise.
38589 (grub_ext2_read_inode): Likewise.
38590 (grub_ext2_mount): Likewise.
38591 (grub_ext2_close): Likewise.
38592 (grub_ext3_get_journal): Removed.
38593
fe987087 38594 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 38595 (grub_reiserfs_read_symlink): Likewise.
38596 (grub_reiserfs_mount): Likewise.
38597 (grub_reiserfs_open): Likewise.
38598 (grub_reiserfs_read): Likewise.
38599 (grub_reiserfs_close): Likewise.
38600 (grub_reiserfs_get_journal): Removed.
38601
38602 * fs/fshelp.c (grub_fshelp_read): Removed.
38603 (grub_fshelp_map_block): Likewise.
38604
38605 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
38606 (grub_fshelp_journal): Likewise.
38607 (grub_fshelp_read): Likewise.
38608 (grub_fshelp_map_block): Likewise.
38609
3540a760 386102008-06-16 Pavel Roskin <proski@gnu.org>
38611
38612 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
38613 floating point anymore.
38614 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
38615
95614c84 386162008-06-15 Pavel Roskin <proski@gnu.org>
38617
38618 * commands/ls.c (grub_ls_list_files): Use integer calculations
38619 for human readable format, avoid floating point use.
38620 * kern/misc.c (grub_ftoa): Remove.
38621 (grub_vsprintf): Remove floating point support.
38622
50465dd6 386232008-06-15 Robert Millan <rmh@aybabtu.com>
38624
fe6b695a 38625 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 38626 devices.
38627 Reported by Max Vozeler.
38628
a9207284 386292008-06-15 Robert Millan <rmh@aybabtu.com>
38630
38631 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
38632 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
38633 skipped later.
38634 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
38635 the beginning of the prefix.
38636
38637 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
38638 It is assumed that if we have a memdisk, grub-mkimage has set
38639 grub_prefix to include the "(memdisk)" drive in it.
38640
a7cbd45a 386412008-06-15 Robert Millan <rmh@aybabtu.com>
38642
38643 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
38644 Initialize keyboard controller after registering the terminal, so that
38645 grub_printf() can be called from grub_keyboard_controller_init().
38646
21cf716a 386472008-06-15 Robert Millan <rmh@aybabtu.com>
38648
38649 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
38650 extent-btree which is written as big endian on disk.
38651 Reported by Alain Greppin <al@chilibi.org>.
38652
23a64d8e 386532008-06-14 Robert Millan <rmh@aybabtu.com>
38654
38655 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
38656 * util/i386/pc/grub-install.in (modules): Likewise.
38657
d687651c 386582008-06-13 Pavel Roskin <proski@gnu.org>
38659
38660 * commands/ls.c (grub_ls_list_files): Fix format warnings.
38661
dfe9ddd4 386622008-06-13 Bean <bean123ch@gmail.com>
38663
38664 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
38665
38666 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
38667
38668 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
38669 to indicate sparse block.
38670
16ae7781 386712008-06-12 Pavel Roskin <proski@gnu.org>
38672
e6d1a308 38673 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
38674 number, grub_fshelp_read() does it for us.
38675
16ae7781 38676 * fs/fshelp.c (grub_fshelp_read): New function. Implement
38677 linear disk read with journal translation.
38678 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
38679 * include/grub/fshelp.h: Declare grub_fshelp_read().
38680
40fd3a2b 386812008-06-09 Pavel Roskin <proski@gnu.org>
38682
38683 * fs/minix.c (grub_minix_mount): Handle error reading
38684 superblock.
38685
f5679726 386862008-06-08 Robert Millan <rmh@aybabtu.com>
38687
38688 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
38689 don't append the RAID prefix afterwards.
38690 Reported by Clint Adams.
38691
ce525529 386922008-06-08 Robert Millan <rmh@aybabtu.com>
38693
38694 Based on description from Pavel:
38695 * kern/disk.c (grub_disk_check_range): Rename to ...
38696 (grub_disk_adjust_range): ... this. Add a comment explaining the
38697 tasks performed by this function.
38698
ad4936a0 386992008-06-08 Robert Millan <rmh@aybabtu.com>
38700
38701 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
38702 `num_serial' (for consistency with other variables).
38703 (struct grub_ntfs_data): Add `uuid' member.
38704 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
38705 (grub_ntfs_uuid): New function.
38706 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
38707
dc20b0f9 387082008-06-07 Pavel Roskin <proski@gnu.org>
38709
38710 * util/biosdisk.c (open_device): Revert last change to the
38711 function, it broke installation. The sector needs to be
38712 different dependent on which device is opened.
38713
c5e3cfba 387142008-06-06 Robert Millan <rmh@aybabtu.com>
38715
38716 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
38717 rest of GRUB, and breakage doesn't happen if its value were modified.
38718
38719 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38720 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
38721 a constant (same value).
38722 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
38723 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
38724
26a1f8c4 387252008-06-06 Robert Millan <rmh@aybabtu.com>
38726
38727 * util/biosdisk.c (open_device): Do not modify sector offset when
38728 accessing a partition. kern/disk.c already handles this for us.
38729
25d6b327 387302008-06-06 Robert Millan <rmh@aybabtu.com>
38731
38732 * util/grub-emu.c (grub_machine_init): Move code in this function from
38733 here ...
38734 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
38735 segfault in case grub_printf() is called).
38736
38737 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
38738 grub_probe. Update all users not to explicitly add it again.
38739 (grub_device): New variable; contains corresponding device for grubdir.
38740 (fs_module, partmap_module, devabstraction_module): Pass
38741 `--device ${grub_device}' to grub_probe to avoid traversing /dev
38742 every time.
38743
9ece62fb 387442008-06-05 Robert Millan <rmh@aybabtu.com>
38745
38746 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
38747 is found, print it (same layout as with labels).
38748
1ad36d37 387492008-06-04 Robert Millan <rmh@aybabtu.com>
38750
38751 * util/biosdisk.c (get_drive): Rename to ...
38752 (find_grub_drive): ... this. Update all users.
38753
38754 (get_os_disk): Rename to ...
38755 (convert_system_partition_to_system_disk): ... this. Update all users.
38756
38757 (find_drive): Rename to ...
38758 (find_system_device): ... this. Update all users.
38759
e6a30859 387602008-06-04 Robert Millan <rmh@aybabtu.com>
38761
38762 * util/biosdisk.c (get_os_disk): Handle IDA devices.
38763 * util/grub-mkdevicemap.c (get_mmc_disk_name)
38764 (make_device_map): Likewise.
38765
00c108a4 387662008-06-01 Robert Millan <rmh@aybabtu.com>
38767
38768 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
38769 before dereferencing it.
38770
38771 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
38772 union with fat12/fat16-specific ones. Add some new fields, including
38773 `num_serial' for both versions.
38774 (struct grub_fat_data): Add `uuid' member.
38775 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
38776 names. Initialize `data->uuid' using `num_serial'.
38777 (grub_fat_uuid): New function.
38778 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
38779
38780 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
38781 (grub_reiserfs_uuid): New function.
38782 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
38783 member.
38784
38785 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
38786 (grub_xfs_uuid): New function.
38787 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
38788
1385c5bb 387892008-06-01 Robert Millan <rmh@aybabtu.com>
38790
38791 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
38792 code that is backward compatible with pre-uuid search command.
38793
c682dfd7 387942008-05-31 Robert Millan <rmh@aybabtu.com>
38795
38796 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
38797 floppies after everything else, to ensure floppy drive isn't accessed
38798 unnecessarily (patch from Bean).
38799
b7db5d47 388002008-05-31 Robert Millan <rmh@aybabtu.com>
38801
38802 * commands/search.c (search_label, search_fs_uuid, search_file): Do
38803 not print device names when we were asked to set a variable.
38804
6e037aa9 388052008-05-31 Robert Millan <rmh@aybabtu.com>
38806
38807 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
38808 using "cursor-on" and "cursor-off" commands (understood at least by
38809 the Open Firmware flavour on OLPC).
38810
41305bc8 388112008-05-31 Michael Gorven <michael@gorven.za.net>
38812
38813 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
38814 on and off sequences.
38815
69ba137e 388162008-05-31 Robert Millan <rmh@aybabtu.com>
38817
38818 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
38819 * util/update-grub.in: Likewise.
38820
520ae21b 388212008-05-30 Pavel Roskin <proski@gnu.org>
38822
38823 * util/biosdisk.c (linux_find_partition): Simplify logic and
38824 make the code more universal. Keep special processing for
38825 devfs, but use a simple rule for all other devices. If the
38826 device ends with a number, append 'p' and the partition number.
38827 Otherwise, append only the partition number.
38828
5786569b 388292008-05-30 Robert Millan <rmh@aybabtu.com>
38830
38831 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
38832 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
38833 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
38834 the `root' parameter to Linux.
38835
51500452 388362008-05-30 Robert Millan <rmh@aybabtu.com>
38837
38838 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
38839 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
38840 --fs_uuid with --fs-uuid.
38841 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
38842 all filesystems support them).
38843
811d3878 388442008-05-30 Robert Millan <rmh@aybabtu.com>
38845
38846 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 38847 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 38848
cab63c95 388492008-05-30 Robert Millan <rmh@aybabtu.com>
38850
38851 * util/grub.d/00_header.in: Remove obsolete comment referencing
38852 convert_system_path_to_grub_path().
38853 * util/update-grub.in: Likewise.
38854 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
38855 (convert_system_path_to_grub_path): Add a warning message explaining
38856 that this function is deprecated. Rely on is_path_readable_by_grub()
38857 for the readability checks.
38858 (font_path): Use is_path_readable_by_grub() for the readability
38859 check rather than convert_system_path_to_grub_path().
38860
972e2f7a 388612008-05-30 Robert Millan <rmh@aybabtu.com>
38862
38863 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
38864 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
38865 converting it first.
38866 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
38867 grub.cfg for access to font file, and afterwards call it again to set
38868 the root device.
38869
62191274 388702008-05-30 Robert Millan <rmh@aybabtu.com>
38871
38872 * commands/search.c (options): Add --fs_uuid option.
38873 (search_fs_uuid): New function.
38874 (grub_cmd_search): Fix --set argument passing.
38875 Use search_fs_uuid() when requested via --fs_uuid.
38876 (grub_search_init): Update help message.
38877 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
38878 and redeclare it as an array of 16-bit words.
38879 (grub_ext2_uuid): New function.
38880 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
38881 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
38882 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
38883 (GRUB_DEVICE_BOOT_UUID): New variables.
38884 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
38885 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
38886 whenever possible.
38887 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
38888 just assume `root' variable has the right value.
38889 * util/grub.d/10_linux.in: Likewise.
38890 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
38891 via PRINT_FS_UUID.
38892 (main): Recognise `-t fs_uuid' argument.
38893
01b73ec8 388942008-05-30 Robert Millan <rmh@aybabtu.com>
38895
38896 * util/biosdisk.c (map): Redefine structure to hold information
38897 about GRUB drive name.
fe6b695a 38898 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 38899 drive names.
38900 (call_hook): Remove.
38901 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
38902 member. Assume drive has partitions.
38903 (grub_util_biosdisk_open): Access device names via `.device' struct
38904 member.
38905 (open_device): Likewise.
38906 (find_drive): Likewise.
38907 (read_device_map): Adjust map[] usage to match the new struct
38908 definition. Don't check for duplicates (still possible, but not cheap
38909 anymore).
38910 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
38911 (make_device_name): Remove assumption of BIOS-like drive names.
38912
22f16596 389132008-05-30 Pavel Roskin <proski@gnu.org>
38914
38915 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
38916 compiling execute.c doesn't need grub_script.tab.h anymore.
38917 (normal/command.c_DEPENDENCIES): Likewise.
38918 (normal/function.c_DEPENDENCIES): Likewise.
38919 * conf/i386-ieee1275.rmk: Likewise.
38920 * conf/i386-linuxbios.rmk: Likewise.
38921 * conf/i386-pc.rmk: Likewise.
38922 * conf/powerpc-ieee1275.rmk: Likewise.
38923 * conf/sparc64-ieee1275.rmk: Likewise.
38924
528ad8f2 389252008-05-29 Pavel Roskin <proski@gnu.org>
38926
d1dff95d 38927 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
38928 when scanning metadata for volume group name.
38929
528ad8f2 38930 * include/grub/script.h: Don't include grub_script.tab.h. It's
38931 a generated file, which may only be included from the files with
38932 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
38933 use union YYSTYPE, as the later allows forward declaration.
38934 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
38935
47248e08 389362008-05-29 Robert Millan <rmh@aybabtu.com>
38937
38938 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
38939 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
38940 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
38941 (grub_console_checkkey): Add grub_dprintf() call to report unknown
38942 scan codes.
38943
ee632529 389442008-05-29 Robert Millan <rmh@aybabtu.com>
38945
38946 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
38947 control key combinations.
38948
eee96e08 389492008-05-29 Robert Millan <rmh@aybabtu.com>
38950
38951 * util/powerpc/ieee1275/grub-install.in: Move from here ...
38952 * util/ieee1275/grub-install.in: ... to here.
38953 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
38954 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
38955 (grub_install_SOURCES): Likewise.
38956
da9a6a94 389572008-05-29 Robert Millan <rmh@aybabtu.com>
38958
38959 * fs/affs.c: Update copyright year.
38960 * fs/ext2.c: Likewise.
38961 * fs/fshelp.c: Likewise.
38962 * fs/hfsplus.c: Likewise.
38963 * fs/ntfs.c: Likewise.
38964 * fs/xfs.c: Likewise.
38965 * include/grub/fshelp.h: Likewise.
38966 * util/grub-mkdevicemap.c: Likewise.
38967
12e65f3a 389682008-05-28 Robert Millan <rmh@aybabtu.com>
38969
38970 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
38971 might need to be fatfs to support some firmware implementations
38972 (e.g. OFW or EFI).
38973
23023641 389742008-05-28 Robert Millan <rmh@aybabtu.com>
38975
38976 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
38977 devices.
38978 * util/grub-mkdevicemap.c (get_mmc_disk_name)
38979 (make_device_map): Likewise.
38980
887d2619 389812008-05-20 Bean <bean123ch@gmail.com>
38982
38983 * fs/fshelp.c (grub_fshelp_map_block): New function.
38984 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
38985 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
38986
38987 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
38988 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
38989 (grub_fshelp_journal): New structure.
38990 (grub_fshelp_map_block): New function prototype.
38991 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
38992 (grub_fshelp_map_block): Likewise.
38993
38994 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
38995 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
38996 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
38997 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
38998 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
38999 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
39000 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
39001 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
39002 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
39003 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
39004 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
39005 (grub_ext2_sblock): New members for journal support.
39006 (grub_ext3_journal_header): New structure.
39007 (grub_ext3_journal_revoke_header): Likewise.
39008 (grub_ext3_journal_block_tag): Likewise.
39009 (grub_ext3_journal_sblock): Likewise.
39010 (grub_fshelp_node): New members logfile and journal.
39011 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
39012 grub_fshelp_map_block to get real block number.
39013 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
39014 number.
39015 (grub_ext2_read_inode): Likewise.
39016 (grub_ext3_get_journal): New function.
39017 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
39018 (grub_ext2_close): Release memory used by journal.
39019
39020 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
39021 (REISERFS_MAGIC_DESC_BLOCK): New macro.
39022 (grub_reiserfs_transaction_header): Renamed to
39023 grub_reiserfs_description_block, replace field data with real_blocks.
39024 (grub_reiserfs_commit_block): New structure.
39025 (grub_reiserfs_data): New member journal.
39026 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
39027 number.
39028 (grub_reiserfs_read_symlink): Likewise.
39029 (grub_reiserfs_iterate_dir): Likewise.
39030 (grub_reiserfs_open): Likewise.
39031 (grub_reiserfs_read): Likewise.
39032 (grub_reiserfs_get_journal): New function.
39033 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
39034 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
39035 using grub_reiserfs_get_journal.
39036 (grub_reiserfs_close): Release memory used by journal.
39037
39038 * fs/affs.c (grub_affs_read_block): Change block type to
39039 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
39040
39041 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
39042
39043 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
39044
39045 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
39046
39047 * fs/udf.c (grub_udf_read_block): Change block type to
39048 grub_disk_addr_t. Use type cast to avoid warning.
39049
39050 * fs/xfs.c (grub_xfs_read_block): Likewise.
39051
b7c6bed5 390522008-05-16 Christian Franke <franke@computer.org>
39053
39054 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
39055 to ensure that break with ESC will always work.
39056 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
39057 Remove ESC from keyboard queue.
39058
eedf167f 390592008-05-16 Christian Franke <franke@computer.org>
39060
39061 * util/biosdisk.c: [__CYGWIN__] Add includes.
39062 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
39063 (get_os_disk): Move variable declarations to OS specific
39064 parts to avoid warning.
39065 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
39066 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
39067 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
39068 Cygwin.
39069 * util/getroot.c: [__CYGWIN__] Add includes.
39070 (strip_extra_slashes): Fix "/" case.
39071 [__CYGWIN__] (get_win32_path): New function.
39072 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
39073 [__CYGWIN__] (find_root_device): Disable.
39074 [__CYGWIN__] (get_bootsec_serial): New function.
39075 [__CYGWIN__] (find_cygwin_root_device): Likewise.
39076 [__linux__] (grub_guess_root_device): Add early returns to simplify
39077 structure.
39078 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
39079 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
39080 check for Linux only.
39081
a079699e 390822008-05-15 Bean <bean123ch@gmail.com>
39083
39084 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
39085 keyboard hang problem in apple's intel mac.
39086
1cf4059a 390872008-05-09 Robert Millan <rmh@aybabtu.com>
39088
39089 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
39090 devices.
39091 * util/grub-mkdevicemap.c (get_virtio_disk_name)
39092 (make_device_map): Likewise.
39093 Reported by Aurelien Jarno <aurel32@debian.org>
39094
ed759390 390952008-05-07 Ian Campbell <ijc@hellion.org.uk>
39096
39097 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
39098 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
39099 (make_device_map): Output entries for xvd type disks.
39100
b56c4eaa 391012008-05-07 Robert Millan <rmh@aybabtu.com>
39102
39103 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
39104 devices.
39105 * util/grub-mkdevicemap.c (get_cciss_disk_name)
39106 (make_device_map): Likewise.
39107 Reported by Roland Dreier <rdreier@cisco.com>
39108
7f8866ed 391092008-05-07 Robert Millan <rmh@aybabtu.com>
39110
39111 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
39112 grub_strstr() call. Correct a few mistakes in failure path handling.
39113
b0346e0f 391142008-05-06 Robert Millan <rmh@aybabtu.com>
39115
39116 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39117 Do not print a trailing slash (therefore, the root directory is an
39118 empty string).
39119 (convert_system_path_to_grub_path): Do not remove trailing slash
39120 from make_system_path_relative_to_its_root() output.
39121
39122 * util/i386/pc/grub-install.in: Add trailing slash to output from
39123 make_system_path_relative_to_its_root().
39124
6cf12cbd 391252008-05-06 Robert Millan <rmh@aybabtu.com>
39126
39127 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
39128 ensures that output lines aren't intermangled with those sent to
39129 stderr (via grub_util_info()).
39130 * util/grub-probe.c (grub_refresh): Likewise.
39131 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
39132
0fbb3117 391332008-05-05 Christian Franke <franke@computer.org>
39134
39135 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
39136 Add Cygwin device names.
39137 (get_ide_disk_name) [__CYGWIN__]: Likewise.
39138 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
39139 (check_device): Return error instead of success on empty name.
39140 (make_device_map): Move label inside linux specific code to
39141 prevent compiler warning.
39142
8124cdb7 391432008-04-30 Robert Millan <rmh@aybabtu.com>
39144
39145 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
39146 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
39147 first boot option.
39148 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
39149
094c01d0 391502008-04-29 Robert Millan <rmh@aybabtu.com>
39151
39152 * docs/grub.cfg: New file (example GRUB configuration).
39153
f4b1fc02 391542008-04-26 Robert Millan <rmh@aybabtu.com>
39155
329ce2a5 39156 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
39157 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
39158 and `disk/ieee1275/nand.c'.
f4b1fc02 39159
25f16ec1 391602008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 39161
25f16ec1 39162 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
39163 i386-linuxbios.
39164
39165 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
39166 change the buffer size to 4096 for cdrom device.
39167
39168 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
39169 and nand.mod.
39170 (_linux_mod_SOURCES): New variable.
39171 (_linux_mod_CFLAGS): Likewise.
39172 (_linux_mod_LDFLAGS): Likewise.
39173 (linux_mod_SOURCES): Likewise.
39174 (linux_mod_CFLAGS): Likewise.
39175 (linux_mod_LDFLAGS): Likewise.
39176 (nand_mod_SOURCES): Likewise.
39177 (nand_mod_CFLAGS): Likewise.
39178 (nand_mod_LDFLAGS): Likewise.
39179
39180 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
39181 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
39182 type property. (nand device in olpc don't have this property)
39183
39184 * include/grub/disk.h (grub_disk_dev_id): New macro
39185 GRUB_DISK_DEVICE_NAND_ID.
39186
39187 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
39188 function prototype.
39189 (grub_rescue_cmd_initrd): Likewise.
39190
39191 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
39192 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
39193 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 39194
25f16ec1 39195 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
39196 GRUB_MACHINE_IEEE1275 is defined.
39197
39198 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
39199 Use NESTED_FUNC_ATTR attribute on the hook parameter.
39200
39201 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
39202 on nested function heap_init.
39203 (grub_upper_mem): New variable for i386-ieee1275.
39204 (grub_get_extended_memory): New function for i386-ieee1275.
39205 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
39206
39207 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
39208 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
39209 property.
f19dbdb7 39210
25f16ec1 39211 * loader/i386/ieee1275/linux.c: New file.
39212
39213 * loader/i386/ieee1275/linux_normal.c: New file.
39214
39215 * disk/ieee1275/nand.c: New file.
39216
e89d61e9 392172008-04-18 Thomas Schwinge <tschwinge@gnu.org>
39218
39219 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
39220 value.
39221 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
39222
602566f6 392232008-04-18 Robert Millan <rmh@aybabtu.com>
39224
39225 Restructures early code path on ieee1275 to unify grub_main() as
39226 the first C function that is executed in every platform.
39227
39228 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
39229 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
39230 cmain().
39231 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
39232 * kern/ieee1275/cmain.c (cmain): Rename to ...
39233 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
39234 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
39235 at the beginning.
39236
57490c2b 392372008-04-18 Robert Millan <rmh@aybabtu.com>
39238
39239 * util/update-grub.in: Fix syntax error when setting
39240 `GRUB_PRELOAD_MODULES'.
39241 Reported by Stephane Chazelas <stephane@artesyncp.com>
39242
1977517d 392432008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
39244
39245 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
39246 section into account, newer toolchains generate unique build ids
39247 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 39248 we want build ids to be preserved
1977517d 39249 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
39250 far from other sections don't cause the raw binary images grow
39251 size
39252
bfb1f1a2 392532008-04-15 Robert Millan <rmh@aybabtu.com>
39254
39255 * disk/lvm.c: Update copyright year.
39256 * kern/misc.c: Likewise.
39257
01979850 392582008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39259
39260 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 39261 there is no memory left for physical volume name.
01979850 39262
0a1150e2 392632008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39264
39265 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
39266 volume name mapping to support bigger than 9 character names properly.
39267
82ead3fe 392682008-04-13 Robert Millan <rmh@aybabtu.com>
39269
39270 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
39271 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
39272
e54a72f5 392732008-04-13 Christian Franke <franke@computer.org>
39274
39275 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
39276 to create a floppy emulation boot CD when non emulation mode
39277 does not work.
39278 Enable Joliet CD filesystem extension.
39279
9fe86034 392802008-04-13 Robert Millan <rmh@aybabtu.com>
39281
39282 * kern/misc.c (grub_strncat): Fix off-by-one error.
39283 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
39284
39285 * kern/env.c (grub_env_context_close): Clear current context, not
39286 previous one.
39287 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
39288
39289 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
39290
7ceeee39 392912008-04-13 Robert Millan <rmh@aybabtu.com>
39292
39293 Improve robustness when handling LVM.
39294
39295 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 39296 (and leave `*p' unmodified).
7ceeee39 39297 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
39298 through it.
39299 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
39300 iterating through it.
39301 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
39302 through it.
fe6b695a 39303 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 39304 when due) on each grub_lvm_getvalue() or grub_strstr() call.
39305 Don't assume `vg->pvs != NULL' when iterating through it.
39306
58cd3d85 393072008-04-13 Robert Millan <rmh@aybabtu.com>
39308
39309 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
39310 * genmk.rb (partmap): New variable.
39311 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
39312 (#{partmap}): New target rule.
39313 * genpartmaplist.sh: New file.
39314 * Makefile.in (pkglib_DATA): Add partmap.lst.
39315 (partmap.lst): New target rule.
39316 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
39317 modules (including all partition maps), instead of preloading them.
39318
78b51059 393192007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
39320
39321 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
39322 `linux-boot-prober' (if installed) to detect other operating
39323 systems which are installed on the computer and add them to
39324 the boot menu.
39325 * conf/common.rmk: Build and install 30_os-prober.
39326
a91627b4 393272008-04-12 Robert Millan <rmh@aybabtu.com>
39328
39329 * kern/powerpc/ieee1275/init.c: Move from here ...
39330 * kern/ieee1275/init.c: ... to here. Update all users.
39331
39332 * kern/powerpc/ieee1275/cmain.c: Move from here ...
39333 * kern/ieee1275/cmain.c: ... to here. Update all users.
39334
39335 * kern/powerpc/ieee1275/openfw.c: Move from here ...
39336 * kern/ieee1275/openfw.c: ... to here. Update all users.
39337
39338 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
39339 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
39340
322562ea 393412008-04-10 Pavel Roskin <proski@gnu.org>
39342
39343 * configure.ac: Always use "_cv_" in cache variables for
39344 compatibility with Autoconf 2.62.
39345
a02a73c5 393462008-04-07 Robert Millan <rmh@aybabtu.com>
39347
39348 Revert grub/machine/init.h addition by Pavel (since it breaks on
39349 i386-ieee1275 and others):
39350 * util/i386/pc/misc.c: Remove grub/machine/init.h.
39351 * util/powerpc/ieee1275/misc.c: Likewise.
39352
25c024b1 393532008-04-07 Robert Millan <rmh@aybabtu.com>
39354
39355 * util/grub-probe.c (probe): Improve error message.
39356
3cbd2f98 393572008-04-07 Robert Millan <rmh@aybabtu.com>
39358
39359 * util/biosdisk.c (read_device_map): Skip devices that don't exist
39360 (this prevents the presence of a bogus entry from ruining the whole
39361 thing).
39362
87a297bf 393632008-04-06 Pavel Roskin <proski@gnu.org>
39364
36747a62 39365 * util/biosdisk.c: Include grub/util/biosdisk.h.
39366 * util/grub-fstest.c (execute_command): Make static.
39367 * util/grub-mkdevicemap.c (check_device): Likewise.
39368 * util/i386/pc/misc.c: Include grub/machine/init.h.
39369 * util/powerpc/ieee1275/misc.c: Likewise.
39370 * util/lvm.c: Include grub/util/lvm.h.
39371 * util/misc.c: Include grub/kernel.h, grub/misc.h and
39372 grub/cache.h.
39373 * util/raid.c: Include grub/util/raid.h.
39374 (grub_util_getdiskname): Make static.
39375
87a297bf 39376 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
39377 grub_hostfs_fini(), as they are called from grub_init_all() and
39378 grub_fini_all() respectively. This fixes an infinite loop in
39379 grub-fstest due to double registration of hostfs.
39380 Reported by Christian Franke <Christian.Franke@t-online.de>
39381
f6ce7629 393822008-04-05 Pavel Roskin <proski@gnu.org>
39383
39384 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
39385 all 8 functions. Otherwise, probe function 0 only.
39386
070e49e4 393872008-04-04 Pavel Roskin <proski@gnu.org>
39388
8b088a4c 39389 * commands/lspci.c (grub_lspci_iter): Print the bus number
39390 correctly.
39391
4f657021 39392 * commands/lspci.c (grub_pci_classes): Fix typos.
39393 (grub_lspci_iter): Don't print func twice. Print vendor ID
39394 before device ID, as it's normally done.
39395
070e49e4 39396 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39397 Fix signedness warnings.
39398 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
39399 Likewise.
39400 * util/ieee1275/get_disk_name.c: Include config.h so that
39401 _GNU_SOURCE is defined and getline() is declared. Mark an
39402 unused argument as such. Fix a signedness warning.
39403
ba7328dc 394042008-04-02 Pavel Roskin <proski@gnu.org>
39405
26887f22 39406 * genkernsyms.sh.in: Use more robust assignments for CC and
39407 srcdir. Quote srcdir.
39408 * gensymlist.sh.in: Likewise. Assert at the compile time that
39409 the symbol table is not empty.
39410
ba7328dc 39411 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
39412 * fs/cpio.c (grub_cpio_read): Likewise.
39413
0f582c6b 394142008-04-01 Pavel Roskin <proski@gnu.org>
39415
4b6e1995 39416 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
39417 * disk/host.c (grub_host_open): Likewise.
39418 * disk/loopback.c (grub_loopback_open): Likewise.
39419 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
39420 disk->id as in disk/host.c, not a multi-character constant.
39421
828a2768 39422 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
39423 later is obsolete, potentially dangerous and sets a bad example.
39424 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
39425 * util/misc.c (grub_util_get_image_size): Likewise.
39426
2bb4fb47 39427 * disk/loopback.c (options): Improve help for "--partitions".
39428
0f582c6b 39429 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
39430 options to align them with the short options, e.g. "echo -e".
39431
a33224e0 394322008-03-31 Bean <bean123ch@gmail.com>
39433
39434 * video/reader/png.c (grub_png_data): New member is_16bit and
39435 image_data.
39436 (grub_png_decode_image_header): Detect 16 bit png image.
39437 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
39438 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
39439 (grub_video_reader_png): Release memory occupied by image_data.
39440
39441 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
39442 4096 bytes.
39443 (grub_nfs_mount): Skip the test for sector per cluster.
39444
39445 * include/grub/ntfs.h (MAX_SPC): Removed.
39446
86cb4f54 394472008-03-31 Bean <bean123ch@gmail.com>
39448
39449 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
39450 (grub_probe_SOURCES): Add fs/afs.c.
39451 (grub_fstest_SOURCES): Likewise.
39452 (afs_mod_SOURCES): New variable.
39453 (afs_mod_CFLAGS): Likewise.
39454 (afs_mod_LDFLAGS): Likewise.
39455
39456 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
39457 (grub_emu_SOURCES): Likewise.
39458
39459 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39460
39461 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39462
39463 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39464
39465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39466
39467 * fs/afs.c: New file.
39468
17c74c21 394692008-03-30 Pavel Roskin <proski@gnu.org>
39470
4cb68e89 39471 * disk/host.c: Include grub/misc.h to fix a warning.
39472 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
39473 warnings about implicit declarations.
39474
8790bb04 39475 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
39476 variable.
39477 * include/grub/i386/loader.h: Change declaration of
39478 grub_linux_boot() to match what grub_loader_set() expects.
39479 * util/getroot.c (grub_guess_root_device): Return const char* to
39480 fix a warning.
39481 * util/grub-probe.c (probe): Fix a warning about uninitialized
39482 abstraction_name variable.
39483 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
39484 second argument as unused to fix a warning.
39485
9a3f3296 39486 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
39487 missing grub_error() call.
39488
0ecef90d 39489 * util/update-grub_lib.in: Define datarootdir, since Autoconf
39490 2.60 and newer uses it to define datadir.
39491
0bf6d401 39492 * commands/sleep.c: Fix warning about implicit declaration.
39493 * disk/memdisk.c: Likewise.
39494 * loader/aout.c: Likewise.
39495 * loader/i386/bsd_normal.c: Likewise.
39496 * util/grub-probe.c: Likewise.
39497
7cdacf97 39498 * commands/i386/cpuid.c (has_longmode): Make static.
39499 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
39500 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
39501
17c74c21 39502 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
39503 GDT. This is more robust, as %ds can change.
39504 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
39505 calling real_to_prot().
39506 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
39507
80a3e68b 395082008-03-28 Pavel Roskin <proski@gnu.org>
39509
39510 * kern/i386/pc/startup.S: Assert that uncompressed functions
39511 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
39512 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
39513 code, as they push parts of the code (error handlers) beyond
39514 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
39515 code as correctness and size.
39516
77bcd272 395172008-03-28 Pavel Roskin <proski@gnu.org>
39518
39519 * kern/i386/pc/startup.S
39520 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
39521 data block address to the real mode, keep offset minimal. This
39522 works around a bug in AWARD BIOS on old Athlon systems, which
39523 makes CD detection hang.
39524
c5dfd43b 395252008-03-26 Pavel Roskin <proski@gnu.org>
39526
39527 * normal/color.c (grub_parse_color_name_pair): Make `name' a
39528 const.
39529 * include/grub/normal.h: Add grub_parse_color_name_pair()
39530 declaration.
39531
bf962df2 395322008-03-24 Bean <bean123ch@gmail.com>
39533
39534 * disk/i386/pc/biosdisk.c (cd_start): Removed.
39535 (cd_count): Removed.
39536 (cd_drive): New variable.
39537 (grub_biosdisk_get_drive): Don't check for (cdN) device.
39538 (grub_biosdisk_call_hook): Likewise.
39539 (grub_biosdisk_iterate): Change cdrom detection method.
39540 (grub_biosdisk_open): Replace cd_start with cd_drive.
39541 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
39542 detect cdrom device.
39543
39544 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
39545 Removed.
39546 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
39547 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
39548 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
39549 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
39550 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
39551 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
39552 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
39553 (grub_biosdisk_cdrp): New structure.
39554 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
39555
39556 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
39557
39558 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
39559 device.
39560
39561 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
39562 New function.
39563
68e7fc7a 395642008-03-20 Robert Millan <rmh@aybabtu.com>
39565
39566 Remove 2 TiB limit in ata.mod.
39567 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
39568 (grub_ata_dumpinfo): Print sector count with 0x%llx.
39569 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
39570 grub_uint64_t instead of grub_uint32_t.
39571
38ad2cf5 395722008-03-05 Bean <bean123ch@gmail.com>
39573
39574 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
39575 (grub_multiboot): Set boot device.
39576
39577 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
39578
2b89344e 395792008-03-02 Bean <bean123ch@gmail.com>
39580
39581 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
39582 symlink_buffer.
39583
87a95d1f 395842008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
39585
39586 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
39587 texinfo.tex.
39588
39589 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
39590 modified.
39591
39592 * docs/fdl.texi: New file.
f19dbdb7 39593
87a95d1f 39594 * docs/mdate-sh: New file. Copied from gnulib.
39595 * docs/texinfo.tex: Likewise.
39596
39597 * config.guess: Updated from gnulib.
39598 * install-sh: Likewise.
39599
7dc15d8e 396002008-02-28 Robert Millan <rmh@aybabtu.com>
39601
39602 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
39603 (aout_mod_SOURCES): New variable.
39604 (aout_mod_CFLAGS): Likewise.
39605 (aout_mod_LDFLAGS): Likewise.
39606
39607 * conf/i386-ieee1275.rmk: Likewise.
39608
b00ab696 396092008-02-28 Robert Millan <rmh@aybabtu.com>
39610
39611 * util/update-grub.in: Reorganise terminal validity check. Accept
39612 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
39613 Based on suggestion by Franklin PIAT.
39614
79ca2d78 396152008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
39616
39617 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
39618 function.
39619 * util/getroot.c (grub_util_check_block_device): New function that
39620 returns the given argument if it is a block device and returns NULL else.
39621 * util/grub-probe.c (argument_is_device): New variable.
39622 (probe): Promote device_name from a variable to an argument. Receive
39623 device_name from grub_util_check_block_device() if path is NULL and from
39624 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 39625 (options): Introduce new parameter '-d, --device'.
79ca2d78 39626 (main): Add description of the new parameter to the help screen.
39627 Rename path variable to argument. Set argument_is_device if the '-d'
39628 option is given. Pass argument to probe() depending on
39629 argument_is_device.
39630
0d16e571 396312008-02-24 Bean <bean123ch@gmail.com>
39632
39633 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
39634 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
39635 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
39636 (GRUB_ISO9660_VOLDESC_PART): Likewise.
39637 (GRUB_ISO9660_VOLDESC_END): Likewise.
39638 (grub_iso9660_primary_voldesc): New member escape.
39639 (grub_iso9660_data): New member joliet.
39640 (grub_iso9660_convert_string): New function.
39641 (grub_iso9660_mount): Detect joliet extension.
39642 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
39643 (grub_iso9660_iso9660_label): Likewise.
39644
39645 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
39646 (grub_setup_SOURCES): Add fs/udf.c.
39647 (grub_fstest_SOURCES): Likewise.
39648 (udf_mod_SOURCES): New variable.
39649 (udf_mod_CFLAGS): Likewise.
39650 (udf_mod_LDFLAGS): Likewise.
39651
39652 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
39653 (grub_emu_SOURCES): Likewise.
39654
39655 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39656
39657 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39658
39659 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39660
39661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39662
39663 * fs/udf.c: New file.
39664
8a594a17 396652008-02-24 Robert Millan <rmh@aybabtu.com>
39666
39667 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
39668 (normal/lexer.c_DEPENDENCIES): New variables.
39669 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39670 (normal/lexer.c_DEPENDENCIES): Likewise.
39671 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
39672 (normal/lexer.c_DEPENDENCIES): Likewise.
39673 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
39674 (normal/lexer.c_DEPENDENCIES): Likewise.
39675 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39676 (normal/lexer.c_DEPENDENCIES): Likewise.
39677 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39678 (normal/lexer.c_DEPENDENCIES): Likewise.
39679
2dc33c03 396802008-02-23 Robert Millan <rmh@aybabtu.com>
39681
39682 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
39683 since they were intended to be in hex. This didn't break previously
39684 because of a bug in gpt_partition_map_iterate() (see below).
39685
39686 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
39687 when checking the validity of GPT header.
39688 Remove `partno', since it always provides the same information as `i'.
39689
f6f4cfb0 396902008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
39691
39692 * include/grub/efi/time.h: Fix a wrong comment.
39693
79ff665f 396942008-02-19 Pavel Roskin <proski@gnu.org>
39695
39696 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
39697 message.
39698
d38e24c2 396992008-02-19 Bean <bean123ch@gmail.com>
39700
39701 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
39702 (aout_mod_SOURCES): New variable.
39703 (aout_mod_CFLAGS): Likewise.
39704 (aout_mod_LDFLAGS): Likewise.
39705 (_bsd_mod_SOURCES): New variable.
39706 (_bsd_mod_CFLAGS): Likewise.
39707 (_bsd_mod_LDFLAGS): Likewise.
39708 (bsd_mod_SOURCES): New variable.
39709 (bsd_mod_CFLAGS): Likewise.
39710 (bsd_mod_LDFLAGS): Likewise.
39711
39712 * include/grub/aout.h: New file.
39713
39714 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
39715
39716 * include/grub/i386/bsd.h: New file.
39717
39718 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
39719 to make it public.
39720
39721 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
39722 function is called, so that it's possible to change it inside the hook.
39723 (grub_elf64_load): Likewise.
39724 (grub_elf_file): Don't close the file if elf header is not found.
39725 (grub_elf_close): Close the file if grub_elf_file fails (The new
39726 grub_elf_file won't close it).
39727 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
39728 (grub_elf64_size): Likewise.
39729
39730 * kern/i386/loader.S (grub_unix_real_boot): New function.
39731
39732 * loader/aout.c: New file.
39733
39734 * loader/i386/bsd.c: New file.
39735
39736 * loader/i386/bsd_normal.c: New file.
39737
39738 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
39739
39740 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 39741 can test other formats.
d38e24c2 39742
b93bdb0f 397432008-02-19 Robert Millan <rmh@aybabtu.com>
39744
39745 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
39746 (grub_gpt_partition_type_empty): Redefine with macro from
39747 `<grub/gpt_partition.h>'.
39748 (gpt_partition_map_iterate): Adjust partition type comparison.
39749
39750 Export `entry' as partmap-specific `part.data' struct.
39751 (grub_gpt_header, grub_gpt_partentry): Move from here ...
39752
39753 * include/grub/gpt_partition.h (grub_gpt_header)
39754 (grub_gpt_partentry): ... to here (new file).
39755
39756 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
39757
39758 (grub_gpt_partition_type_bios_boot): New const variable, defined
39759 with macro from `<grub/gpt_partition.h>'.
39760
39761 (setup): Replace `first_start' with `embed_region', which keeps
39762 track of the embed region (and is partmap-agnostic).
39763
39764 Replace find_first_partition_start() with find_usable_region(),
39765 which finds a usable region for embedding using partmap-specific
39766 knowledge (supports PC/MSDOS and GPT).
39767
39768 Fix all assumptions that the embed region start at sector 1, using
39769 `embed_region.start' from now on. Similarly, use `embed_region.end'
39770 rather than `first_start' to calculate available size.
39771
39772 In grub_util_info() message, replace "into after the MBR" with an
39773 indication of the specific sector our embed region starts at.
39774
66cb40f6 397752008-02-19 Robert Millan <rmh@aybabtu.com>
39776
39777 * DISTLIST: Replace `commands/ieee1275/halt.c' and
39778 `commands/ieee1275/reboot.c' with `commands/halt.c' and
39779 `commands/reboot.c'.
39780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
39781 (halt_mod_SOURCES): Likewise.
39782 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
39783 (halt_mod_SOURCES): Likewise.
39784
b7202015 397852008-02-17 Christian Franke <franke@computer.org>
39786
39787 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
39788
32b0fc49 397892008-02-17 Robert Millan <rmh@aybabtu.com>
39790
39791 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
39792 set `first_start' to 0 for non-PC/MSDOS partition maps.
39793
aca63502 397942008-02-16 Robert Millan <rmh@aybabtu.com>
39795
39796 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
39797 do not assume partition map is PC/MSDOS before performing checks that
39798 are specific to that layout.
39799
0de8be86 398002008-02-13 Robert Millan <rmh@aybabtu.com>
39801
39802 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
39803 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
39804 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
39805
c3db8364 398062008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
39807
39808 * configure.ac: Only a cosmetic change on the handling of
39809 -fno-stack-protector.
39810
f714229e 398112008-02-12 Alexandre Boeglin <alex@boeglin.org>
39812
c3db8364 39813 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
39814 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
39815 reboot.c.
f714229e 39816 (grub_install_SOURCES): Add halt.mod and reboot.mod.
39817 (halt_mod_SOURCES): New variable.
39818 (halt_mod_CFLAGS): Likewise.
39819 (halt_mod_LDFLAGS): Likewise.
39820 (reboot_mod_SOURCES): Likewise.
39821 (reboot_mod_CFLAGS): Likewise.
39822 (reboot_mod_LDFLAGS): Likewise.
39823
c3db8364 39824 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
39825 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
39826 reboot.c.
f714229e 39827 (halt_mod_SOURCES): Likewise.
39828 (reboot_mod_SOURCES): Likewise.
39829
c3db8364 39830 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
39831 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 39832 (reboot_mod_SOURCES): Likewise.
39833
39834 * commands/i386/pc/reboot.c: merge this file ...
39835
39836 * commands/ieee1275/reboot.c: ... and this file ...
39837
39838 * commands/reboot.c: ... to this file.
c3db8364 39839 Add some precompiler directive to include the correct header for
39840 each machine.
f714229e 39841
39842 * commands/ieee1275/halt.c: move this file ...
39843
39844 * commands/halt.c: ... to here.
c3db8364 39845 Add some precompiler directive to include the correct header for
39846 each machine.
f714229e 39847
39848 * include/grub/efi/efi.h (grub_reboot): New function declaration.
39849 (grub_halt): Likewise.
39850
39851 * kern/efi/efi.c (grub_reboot): New function.
39852 (grub_halt): Likewise.
39853
c74493e0 398542008-02-12 Robert Millan <rmh@aybabtu.com>
39855
39856 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
39857 /dev (like it is done for /dev/mapper). This doesn't provide support
39858 for EVMS, but at least it is now easy to identify the problem when it
39859 arises.
39860
d0db4b04 398612008-02-11 Robert Millan <rmh@aybabtu.com>
39862
39863 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
39864 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
39865 comparing it with -1, not 0.
39866
bf748642 398672008-02-10 Robert Millan <rmh@aybabtu.com>
39868
39869 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
39870 `disk/lvm.c'.
39871 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39872 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
39873
39874 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
39875 `disk/lvm.c' to the end of the list.
39876 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39877 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39878
b5db202a 398792008-02-10 Robert Millan <rmh@aybabtu.com>
39880
39881 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
39882 grub_print_error() instead. This will let user know why we're entering
39883 rescue mode.
39884 Based on suggestions from Sam Morris.
39885
83abee31 398862008-02-10 Alexandre Boeglin <alex@boeglin.org>
39887
39888 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
39889 on remaining N args, instead of "--" arg N times.
39890
78d5a08b 398912008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
39892
39893 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
39894 (fill_with_default_glyph): Changed to use unknown_glyph for fill
39895 pattern for unknown glyphs.
39896
68807e5f 398972008-02-09 Robert Millan <rmh@aybabtu.com>
39898
39899 * configure.ac: Probe for `help2man'.
39900 * Makefile.in (builddir): New variable.
39901 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
39902 or otherwise add a few flags/options to it.
39903 (install-local): For every executable utility or script that is
39904 installed, invoke $(HELP2MAN) to install a manpage based on --help
39905 output.
39906
39907 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
39908 that it doesn't prevent --help from working in build tree.
39909
39910 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
39911 with `bug-grub@gnu.org'.
39912 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
39913 * util/update-grub.in (usage): New function.
39914 Implement proper argument check, with support for --help and --version
39915 (as well as existing -y).
39916
399172008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 39918
39919 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
39920 avoid overwriting previous output.
39921 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
39922
c1962162 399232008-02-09 Robert Millan <rmh@aybabtu.com>
39924
39925 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
39926 drawing the menu.
39927
3dac2e3f 399282008-02-09 Robert Millan <rmh@aybabtu.com>
39929
39930 * commands/sleep.c: New file.
39931 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
39932 (sleep_mod_SOURCES): New variable.
39933 (sleep_mod_CFLAGS): Likewise.
39934 (sleep_mod_LDFLAGS): Likewise.
39935
7a634e08 399362008-02-09 Robert Millan <rmh@aybabtu.com>
39937
39938 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
39939 situations in which we can deduce the RAID size and the superblock
39940 doesn't match it.
39941
b92f0c18 399422008-02-09 Robert Millan <rmh@aybabtu.com>
39943
39944 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
39945 and return a grub_diskmemberlist_t composed of LVM physical volumes.
39946 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
39947
39948 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
39949 and return a grub_diskmemberlist_t composed of physical array members.
39950 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
39951
39952 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
39953 prototype.
39954 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
39955 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
39956 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
39957
39958 * util/grub-probe.c (probe): Move partmap probing code from here ...
39959 (probe_partmap): ... to here.
39960 (probe): Use probe_partmap() once for the disk we're probing, and
39961 additionally, when such disk contains a memberlist() struct member,
39962 once for each disk that is contained in the structure returned by
39963 memberlist().
39964
91a4bf68 399652008-02-09 Robert Millan <rmh@aybabtu.com>
39966
39967 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
39968 environment variable to 'all' in order to obtain debug output from
39969 non-util/ code.
39970 * util/i386/pc/grub-setup.c (main): Likewise.
39971
a96f9caa 399722008-02-08 Robert Millan <rmh@aybabtu.com>
39973
39974 * disk/raid.c (grub_raid_scan_device): Check for
39975 `array->device[sb.this_disk.number]' rather than for
39976 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 39977 guaranteed to be accessible.
a96f9caa 39978
b37a9222 399792008-02-08 Robert Millan <rmh@aybabtu.com>
39980
39981 * disk/raid.c: Update copyright.
39982 * fs/cpio.c: Likewise.
39983 * include/grub/raid.h: Likewise.
39984 * loader/i386/pc/multiboot.c: Likewise.
39985 * util/hostfs.c: Likewise.
39986
5626aee1 399872008-02-08 Robert Millan <rmh@aybabtu.com>
39988
39989 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
39990 to a grub_disk_t array.
39991 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
39992 `device[x]'.
39993 (grub_raid_scan_device): Replace `device[x].name' accesses with
39994 `device[x]->name'. Simplify initialization of `array->device[x]'.
39995
554f0187 399962008-02-08 Robert Millan <rmh@aybabtu.com>
39997
39998 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
39999 grub_dprintf() calls.
40000 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
40001 error message.
40002
1ec8425d 400032008-02-07 Christian Franke <franke@computer.org>
40004
40005 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
40006 instead of fseek and ftell to support large files.
40007 (grub_hostfs_read): Likewise.
40008
f2156fda 400092008-02-07 Robert Millan <rmh@aybabtu.com>
40010
40011 Patch from Jeroen Dekkers.
40012 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 40013 failure, since successfully reading all array members might not be
f2156fda 40014 required.
40015
9216e0e7 400162008-02-06 Robert Millan <rmh@aybabtu.com>
40017
40018 * util/grub-probe.c (probe): Simplify partmap probing (with the
40019 assumption that the first word up to the underscore equals to
40020 the module name).
40021
b0dfd29a 400222008-02-06 Christian Franke <franke@computer.org>
40023
40024 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
40025 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
40026 last block of a cpio or tar stream.
40027 Check for "TRAILER!!!" instead of any empty data
40028 block to detect last block of a cpio stream.
40029 (grub_cpio_dir): Fix constness of variable np.
40030 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
40031 cpio or tar trailer is detected. This fixes a crash
40032 on open of a non existing file.
40033
c32865bf 400342008-02-05 Bean <bean123ch@gmail.com>
40035
40036 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
40037 address of entry.
40038 (grub_multiboot_load_elf64): Likewise.
40039 (grub_multiboot): Initialize mbi structure.
40040
40041 * util/grub-fstest.c: Don't include unused header file script.h.
40042
fe6b695a 40043 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 40044 of file.
40045 (grub_fstest_SOURCES): Likewise.
40046
409480b7 400472008-02-05 Robert Millan <rmh@aybabtu.com>
40048
40049 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
40050 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
40051 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
40052 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
40053
40054 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
40055 (translation_table): Replace hardcoded values with macros
40056 provided by `<grub/term.h>'.
40057
40058 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
40059 (keyboard_map): Correct/add a few values, with macros provided
40060 by `<grub/term.h>'.
40061 (keyboard_map_shift): Zero values that don't differ from their
40062 `keyboard_map' equivalents.
40063 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
40064 Discard the second scan code that is always sent by Caps lock.
40065 Only use `keyboard_map_shift' when it provides a non-zero value,
40066 otherwise fallback to `keyboard_map'.
40067
99fadbaa 400682008-02-04 Bean <bean123ch@gmail.com>
40069
40070 * Makefile.in (enable_grub_fstest): New variable.
40071
40072 * conf/common.rmk (grub_fstest_init.lst): New rule.
40073 (grub_fstest_init.h): Likewise.
40074 (grub_fstest_init.c): Likewise.
40075 (util/grub-fstest.c_DEPENDENCIES): New variable.
40076 (grub_fstest_SOURCES): Likewise.
40077
40078 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
40079
40080 * util/grub-fstest.c: New file.
40081
bf567c50 400822008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40083
40084 Make grub-setup handle a separate root device.
f19dbdb7 40085
bf567c50 40086 * util/i386/pc/grub-setup.c (setup): Always open the root device,
40087 so that the root device can be compared with the destination
40088 device.
40089 When embedding the core image, if the root and destination devices
40090 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
40091 0xFF.
40092 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 40093
9be6b98b 400942008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40095
40096 Add support for having a grub directory in a different drive. This
40097 is still only the data handling part.
f19dbdb7 40098
9be6b98b 40099 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
40100 (codestart): Save %dh in GRUB_ROOT_DRIVE.
40101 (grub_root_drive): New variable.
40102
40103 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
40104 instead of GRUB_BOOT_DRIVE to construct a device name. Set
40105 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
40106 as it was.
40107
40108 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
40109
40110 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
40111 macro.
40112 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
40113
40114 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
40115 is bogus, because PXE booting does not specify any drive
40116 correctly.
40117
40118 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
40119 am not sure if this is really correct.
40120
40121 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
40122 is always identical to the boot drive when booting from a CD.
40123
40124 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
40125 longer.
40126 (root_drive): New variable.
40127 (real_start): Unconditionally set %dh to ROOT_DRIVE.
40128 (setup_sectors): Push %dx right after popping it, because %dh will
40129 be modified later.
40130 (copy_buffer): Restore %dx.
40131
e0ca0677 401322008-02-03 Robert Millan <rmh@aybabtu.com>
40133
40134 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
40135 use `cdboot.img' for cdrom images.
40136
3b3f6629 401372008-02-03 Robert Millan <rmh@aybabtu.com>
40138
40139 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
40140 only setup gfxterm when `font' command has succeeded.
40141
d42b3672 401422008-02-03 Robert Millan <rmh@aybabtu.com>
40143
40144 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
40145 (grub_rescue_cmd_multiboot_loader)
40146 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
40147
fa370ea6 401482008-02-03 Pavel Roskin <proski@gnu.org>
40149
e0c5dacb 40150 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 40151 %edx and %esi from stack only after grub_gate_a20() is called.
40152 grub_gate_a20() clobbers %edx.
40153
f2a76e1d 401542008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40155
40156 * configure.ac (AC_INIT): Bumped to 1.96.
40157
40158 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
40159 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
40160 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
40161 video/readers/png.c.
40162
90fd32d1 401632008-02-03 Bean <bean123ch@gmail.com>
9be665dd 40164
40165 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
40166 (cdboot_img_SOURCES): New variable.
40167 (cdboot_img_ASFLAGS): New variable.
40168 (cdboot_img_LDFLAGS): New variable.
40169
40170 * boot/i386/pc/cdboot.S: New file.
40171
40172 * disk/i386/pc/biosdisk.c (cd_start): New variable.
40173 (cd_count): Likewise.
40174 (grub_biosdisk_get_drive): Add support for cd device.
40175 (grub_biosdisk_call_hook): Likewise.
40176 (grub_biosdisk_iterate): Likewise.
40177 (grub_biosdisk_open): Likewise.
40178 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
40179 (grub_biosdisk_rw): Support reading from cd device.
40180 (GRUB_MOD_INIT): Iterate cd devices.
40181
40182 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
40183 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
40184 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
40185
40186 * kern/i386/pc/init.c (make_install_device): Check for cd device.
40187
4020aa53 401882008-02-02 Robert Millan <rmh@aybabtu.com>
40189
40190 * commands/read.c: New file.
40191 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
40192 (read_mod_SOURCES): New variable.
40193 (read_mod_CFLAGS): Likewise.
40194 (read_mod_LDFLAGS): Likewise.
40195
e03a1132 401962008-02-02 Robert Millan <rmh@aybabtu.com>
40197
40198 * normal/main.c (grub_normal_execute): Check for `menu->size' when
40199 determining whether menu has to be displayed.
40200
58c69220 402012008-02-02 Marco Gerards <marco@gnu.org>
40202
40203 * bus/pci.c: New file.
40204
40205 * include/grub/pci.h: Likewise.
40206
40207 * include/grub/i386/pc/pci.h: Likewise.
40208
40209 * commands/lspci.c: Likewise.
40210
40211 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
40212 `lspci.mod'.
40213 (pci_mod_SOURCES): New variable.
40214 (pci_mod_CFLAGS): Likewise.
40215 (pci_mod_LDFLAGS): Likewise.
40216 (lspci_mod_SOURCES): Likewise.
40217 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 40218 (lspci_mod_LDFLAGS): Likewise.
58c69220 40219
c004e1b4 402202008-02-02 Bean <bean123ch@gmail.com>
40221
40222 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
40223 (grub_ufs_get_file_block): Fix indirect block calculation problem.
40224
40225 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
40226 (grub_xfs_btree_node): New structure.
40227 (grub_xfs_btree_root): New structure.
40228 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
40229 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
40230 (GRUB_XFS_EXTENT_BLOCK): Likewise.
40231 (GRUB_XFS_EXTENT_SIZE): Likewise.
40232 (grub_xfs_read_block): Support btree format type.
40233 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
40234 Use directory block as basic unit.
40235
40236 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
40237
40238 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
40239 __attribute__ ((__regparm__ (1))).
40240
f95562bf 402412008-02-01 Robert Millan <rmh@aybabtu.com>
40242
40243 Correct a mistake in previous commit.
40244
40245 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
40246 top.
40247 (normal/command.c_DEPENDENCIES): New variable.
40248
7d31f41f 402492008-02-01 Robert Millan <rmh@aybabtu.com>
40250
40251 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
40252 top.
40253 (normal/command.c_DEPENDENCIES): New variable.
40254 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
40255 * conf/i386-ieee1275.rmk: Likewise.
40256 * conf/i386-linuxbios.rmk: Likewise.
40257 * conf/i386-pc.rmk: Likewise.
40258 * conf/sparc64-ieee1275.rmk: Likewise.
40259 * conf/powerpc-ieee1275.rmk: Likewise.
40260 (grub_emu_SOURCES): Add `fs/fshelp.c'.
40261
40262 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
40263
60b6be74 402642008-02-01 Robert Millan <rmh@aybabtu.com>
40265
40266 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
40267 call at beginning of function.
40268
078522ab 402692008-01-31 Pavel Roskin <proski@gnu.org>
40270
40271 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 40272 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
40273 (grub_mkrescue_SOURCES): Likewise.
078522ab 40274 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
40275
ccaa8a5f 402762008-01-30 Robert Millan <rmh@aybabtu.com>
40277
40278 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
40279 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
40280 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
40281 (grub_probe_SOURCES): ... to here.
40282
40283 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
40284 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
40285 * conf/i386-ieee1275.rmk: Likewise.
40286 * conf/i386-linuxbios.rmk: Likewise.
40287 * conf/powerpc-ieee1275.rmk: Likewise.
40288
ae5a9cd7 402892008-01-30 Tristan Gingold <gingold@free.fr>
40290
40291 * kern/rescue.c: Silently accept empty lines.
40292
70bc2ef2 402932008-01-29 Bean <bean123ch@gmail.com>
40294
40295 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
40296 (real_code_2): Code cleanup and change comment style.
40297 (move_memory): Avoid using 32-bit address mode.
40298
6a4d50ea 402992008-01-29 Bean <bean123ch@gmail.com>
40300
40301 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
40302 (png_mod_SOURCES): New variable.
40303 (png_mod_CFLAGS): Likewise.
40304 (png_mod_LDFLAGS): Likewise.
40305
40306 * video/readers/png.c: New file.
40307
11cc30ac 403082008-01-28 Robert Millan <rmh@aybabtu.com>
40309
40310 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
40311 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
40312 `ifndef GRUB_MOD_GAP' hack.
40313 * util/elf/grub-mkimage.c (add_segments): Likewise.
40314
3abc589f 403152008-01-27 Robert Millan <rmh@aybabtu.com>
40316
40317 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
40318 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 40319 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 40320
e1907778 403212008-01-27 Robert Millan <rmh@aybabtu.com>
40322
40323 Get grub-emu to build again (including parallel builds).
40324
40325 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
40326 Split into ...
40327 (util/grub-emu.c_DEPENDENCIES): ... this, ...
40328 (normal/execute.c_DEPENDENCIES): ... this, ...
40329 (grub-emu_DEPENDENCIES): ... and this.
40330
40331 * conf/i386-efi.rmk: Likewise.
40332 * conf/i386-linuxbios.rmk: Likewise.
40333 * conf/i386-ieee1275.rmk: Likewise.
40334 * conf/powerpc-ieee1275.rmk: Likewise.
40335 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
40336
2216b101 403372008-01-27 Robert Millan <rmh@aybabtu.com>
40338
40339 * NEWS: Add a few items.
40340
f75172d9 403412008-01-27 Robert Millan <rmh@aybabtu.com>
40342
40343 Fix parallel builds with grub-emu. Based on earlier commit for
40344 grub-probe and grub-setup.
40345
40346 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40347 (util/grub-emu.c_DEPENDENCIES): ... this.
40348 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40349 (util/grub-emu.c_DEPENDENCIES): ... this.
40350 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40351 (util/grub-emu.c_DEPENDENCIES): ... this.
40352 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40353 (util/grub-emu.c_DEPENDENCIES): ... this.
40354 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40355 (util/grub-emu.c_DEPENDENCIES): ... this.
40356
3f51de77 403572008-01-27 Pavel Roskin <proski@gnu.org>
40358
40359 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
40360 to create a gap between _end and the modules added to the image
40361 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
40362 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
40363 * util/elf/grub-mkimage.c (add_segments): Likewise.
40364
2033f53e 403652008-01-26 Pavel Roskin <proski@gnu.org>
40366
40367 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
40368 just return an error.
40369
22da1f6f 403702008-01-26 Bean <bean123ch@gmail.com>
40371
40372 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
40373 (grub_reiserfs_get_item): Save offset of the next item.
40374 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
40375
2a9525e6 403762008-01-25 Robert Millan <rmh@aybabtu.com>
40377
40378 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
40379 make all filesystem sources appear together (possibly fixing omissions
40380 while at it).
40381 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40382 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40383 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40384 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40385
40386 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
40387 add `kern/file.c'.
40388 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
40389 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
40390 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
40391 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
40392
40393 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
40394 (probe): Add a sanity check to make sure of our ability to read
40395 requested files when probing for filesystem type.
40396
40397 * genmk.rb: Update copyright year (2007).
40398
40399 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
40400 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
40401 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
40402 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
40403 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
40404 : Remove function prototypes.
40405
b95f71b5 404062008-01-25 Robert Millan <rmh@aybabtu.com>
40407
40408 Revert my previous commits (based on wrong assumption of how grub_errno
40409 works).
40410
fe6b695a 40411 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 40412 * kern/file.c (grub_file_open): Likewise.
40413
d08bbb49 404142008-01-24 Pavel Roskin <proski@gnu.org>
40415
40416 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
40417 that hang if GRUB tries to setup colors.
40418 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
40419 colors for firmwares that don't support it.
40420 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
40421 Recognize Open Hack'Ware, set flags to work around its
40422 limitations.
40423
605e36ed 404242008-01-24 Robert Millan <rmh@aybabtu.com>
40425
40426 * kern/file.c (grub_file_open): Do not account previous failures of
40427 unrelated functions when grub_errno is checked for.
40428 Reported by Oleg Strikov.
40429
bac332a1 404302008-01-24 Bean <bean123ch@gmail.com>
40431
40432 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
40433 (grub_ufs_sblock): New member volume name.
40434 (grub_ufs_find_file): Fix string copy bug.
40435 (grub_ufs_label): Implement this function properly.
40436
40437 * fs/hfs.c (grub_hfs_cnid_type): New enum.
40438 (grub_hfs_iterate_records): Use the correct file number for extents
40439 and catalog file. Fix problem in next index calculation.
40440 (grub_hfs_find_node): Replace recursive function call with loop.
40441 (grub_hfs_iterate_dir): Replace recursive function call with loop.
40442
15c80c09 404432008-01-23 Robert Millan <rmh@aybabtu.com>
40444
40445 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
40446 `<grub/symbol.h>' and `<grub/multiboot.h>'.
40447 (grub_multiboot2_real_boot): New function prototype.
40448
40449 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
40450 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
40451
40452 * kern/i386/ieee1275/init.c (grub_os_area_addr)
40453 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
40454
305338fd 404552008-01-23 Robert Millan <rmh@aybabtu.com>
40456
40457 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
40458 #ifdef'ed out grub_printf().
40459
3ea52685 404602008-01-23 Robert Millan <rmh@aybabtu.com>
40461
40462 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
40463 grub_dprintf calls, since they make "debug=all" mode unusable.
40464 (grub_console_checkkey): Likewise.
40465
5882ae4b 404662008-01-23 Robert Millan <rmh@aybabtu.com>
40467
40468 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40469 `term/i386/pc/at_keyboard.c'.
40470 (pkglib_MODULES): Add `serial.mod'.
40471 (serial_mod_SOURCES): New variable.
40472 (serial_mod_CFLAGS): Likewise.
40473 (serial_mod_LDFLAGS): Likewise.
40474
40475 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
40476 `<grub/powerpc/ieee1275/console.h>'.
40477 (grub_keyboard_controller_init): New function prototype.
40478 (grub_console_checkkey): Likewise.
40479 (grub_console_getkey): Likewise.
40480
40481 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
40482 keyboard on i386.
40483
40484 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
40485 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
40486
06ab5303 404872008-01-23 Robert Millan <rmh@aybabtu.com>
40488
40489 * kern/i386/pc/init.c (make_install_device): When memdisk image is
40490 present, "(memdisk)/boot/grub" becomes the default prefix.
40491
40492 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
40493 a memdisk tarball with all the modules. Add --overlay=DIR option that
40494 allows users to overlay additional files into the image.
40495
dbb475a4 404962008-01-23 Robert Millan <rmh@aybabtu.com>
40497
40498 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
40499 and `machine/memory.h'.
40500 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
40501 (_multiboot_mod_SOURCES): New variable.
40502 (_multiboot_mod_CFLAGS): Likewise.
40503 (_multiboot_mod_LDFLAGS): Likewise.
40504 (multiboot_mod_SOURCES): Likewise.
40505 (multiboot_mod_CFLAGS): Likewise.
40506 (multiboot_mod_LDFLAGS): Likewise.
40507
40508 * include/grub/i386/ieee1275/loader.h: New file.
40509
40510 * include/grub/i386/ieee1275/machine.h: Likewise.
40511
40512 * include/grub/i386/ieee1275/memory.h: Likewise.
40513
40514 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
40515 variable declaration.
40516 (grub_os_area_size): Likewise.
40517
40518 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
40519 (grub_lower_mem, grub_upper_mem): New variables.
40520 (grub_stop_floppy): New function (just to make
40521 grub_multiboot2_real_boot() happy).
40522
40523 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
40524 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
40525 (grub_stop): New function.
40526 Include `"../realmode.S"' and `"../loader.S"'.
40527
40528 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
40529 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
40530
40531 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
40532 rely on grub_multiboot2_real_boot() for final boot.
40533
25638629 405342008-01-22 Robert Millan <rmh@aybabtu.com>
40535
40536 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
40537 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
40538 device that doesn't look like an SD card.
40539 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
40540 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
40541 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
40542 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
40543 found.
40544
9dad816d 405452008-01-22 Robert Millan <rmh@aybabtu.com>
40546
40547 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
40548 avoid claiming over our own code.
40549
34842f2d 405502008-01-22 Bean <bean123ch@gmail.com>
40551
40552 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
40553 (jpeg_mod_SOURCES): New variable.
40554 (jpeg_mod_CFLAGS): Likewise.
40555 (jpeg_mod_LDFLAGS): Likewise.
40556
40557 * video/readers/jpeg.c : New file.
40558
44023a28 405592008-01-22 Bean <bean123ch@gmail.com>
40560
40561 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
40562 there are no more items.
40563
bc2d8ac6 405642008-01-21 Robert Millan <rmh@aybabtu.com>
40565
40566 * kern/mm.c (grub_mm_init_region): Improve debug message.
40567
261bd4bc 405682008-01-21 Robert Millan <rmh@aybabtu.com>
40569
40570 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
40571 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
40572 address.
40573 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
40574 a C macro.
40575 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
40576 Indicates start of upper memory.
40577 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
40578 (generate_image): Abort when image size is big enough to corrupt
40579 upper memory.
40580
40581 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
40582 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
40583 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
40584 instead of hardcoding 0xA0000.
40585 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
40586 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
40587 instead of hardcoding 0xA0000.
40588
f970b55e 405892008-01-21 Robert Millan <rmh@aybabtu.com>
40590
40591 * disk/memdisk.c (memdisk_size): New variable.
40592 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
40593 `memdisk_size'.
40594 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
40595 image to dynamic memory.
40596 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
40597 `memdisk_size'. Free memdisk block.
40598
1a8b0526 405992008-01-21 Robert Millan <rmh@aybabtu.com>
40600
40601 Fix detection of very small filesystems (like tar).
40602
40603 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
40604 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
40605 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
40606 a problem with this disk).
40607
6e9b4aab 406082008-01-21 Robert Millan <rmh@aybabtu.com>
40609
40610 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
40611 on grub_biosdisk_rw_standard() error.
40612
0d8837b2 406132008-01-21 Robert Millan <rmh@aybabtu.com>
40614
40615 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
40616 recent changes.
40617 * kern/elf.c: Likewise.
40618 * kern/ieee1275/ieee1275.c: Likewise.
40619 * kern/powerpc/ieee1275/openfw.c: Likewise.
40620 * term/ieee1275/ofconsole.c: Likewise.
40621
ffd36e34 406222008-01-21 Robert Millan <rmh@aybabtu.com>
40623
40624 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
40625
3f0093d0 40626 * include/grub/kernel.h (grub_arch_memdisk_addr)
40627 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 40628
3f0093d0 40629 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
40630 (grub_arch_memdisk_size): ... to here.
ffd36e34 40631
6c391b21 406322008-01-21 Robert Millan <rmh@aybabtu.com>
40633
40634 Mostly based on bugfix from Bean.
40635
40636 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
40637 attribute with hook() parameter.
40638 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
40639 declaration.
40640 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
40641 attribute with hook() parameter.
40642 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
40643 declaration.
40644
55a581dc 406452008-01-21 Robert Millan <rmh@aybabtu.com>
40646
40647 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
40648 (pkglib_MODULES): Add `memdisk.mod'.
40649 (memdisk_mod_SOURCES): New variable.
40650 (memdisk_mod_CFLAGS): Likewise.
40651 (memdisk_mod_LDFLAGS): Likewise.
40652
40653 * disk/memdisk.c: New file.
40654
40655 * include/grub/disk.h (grub_disk_dev_id): Add
40656 `GRUB_DISK_DEVICE_MEMDISK_ID'.
40657
40658 * include/grub/i386/pc/kernel.h
40659 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
40660 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
40661 (grub_kernel_image_size): New variable declaration.
40662 (grub_total_module_size): Likewise.
40663 (grub_memdisk_image_size): Likewise.
40664
40665 * include/grub/i386/pc/memory.h
40666 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
40667
40668 * include/grub/kernel.h: Include `<grub/symbol.h>'.
40669 (grub_arch_memdisk_addr): New variable declaration.
40670 (grub_arch_memdisk_size): Likewise.
40671
40672 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
40673 (grub_arch_memdisk_size): Likewise.
40674
40675 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
40676 (codestart): Replace hardcoded `0x100000' with
40677 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
40678
40679 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
40680 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
40681 not NULL, append the contents of the file it refers to, at the end of
40682 the compressed kernel image. Initialize `grub_memdisk_image_size'
40683 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
40684 (options): Add "memdisk"|'m' option.
40685 (main): Parse --memdisk|-m option, and pass user-provided path as
40686 parameter to generate_image().
40687
3d7f54c9 406882008-01-20 Robert Millan <rmh@aybabtu.com>
40689
40690 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
40691 grub_dprintf() calls from here ...
40692 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
40693
0bf74728 406942008-01-20 Robert Millan <rmh@aybabtu.com>
40695
40696 Fix detection of "real mode" when /options/real-mode? doesn't exist.
40697
40698 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
40699 declaration.
40700 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
40701 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
40702 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 40703 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 40704 property).
40705 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
40706 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
40707
33bf70a7 407082008-01-19 Robert Millan <rmh@aybabtu.com>
40709
fe6b695a 40710 Get rid of confusing function (superseded by
33bf70a7 40711 `grub_ieee1275_get_integer_property')
40712 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
40713 prototype.
40714 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
40715 function.
40716 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
40717 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 40718 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 40719
e2da7d26 407202008-01-19 Robert Millan <rmh@aybabtu.com>
40721
40722 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
40723 command after "shut-down", since implementations differ on which
40724 the command for halt is.
40725
59f1fd8d 407262008-01-19 Robert Millan <rmh@aybabtu.com>
40727
40728 * include/grub/i386/linuxbios/console.h: Add header protection.
40729 (grub_keyboard_controller_init): New function prototype.
40730 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
40731 (KEYBOARD_COMMAND_READ): Likewise.
40732 (KEYBOARD_COMMAND_WRITE): Likewise.
40733 (KEYBOARD_SCANCODE_SET1): Likewise.
40734 (grub_keyboard_controller_write): New function.
40735 (grub_keyboard_controller_read): Likewise.
40736 (grub_keyboard_controller_init): Likewise.
40737
40738 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
40739 (grub_console_init): On coreboot/LinuxBIOS, call
40740 grub_keyboard_controller_init().
40741
5f5a7c15 407422008-01-19 Robert Millan <rmh@aybabtu.com>
40743
40744 PowerPC changes provided by Pavel Roskin.
40745
40746 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
40747 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
40748 don't rely on cmain() doing it.
40749 * kern/i386/ieee1275/startup.S (_start): Store %eax in
40750 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
40751
1210e168 407522008-01-16 Robert Millan <rmh@aybabtu.com>
40753
40754 * include/grub/i386/linuxbios/memory.h
40755 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
40756 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
40757 receive `table_header' as argument. Instead, probe for it in the
40758 known memory ranges where it can be present.
40759 (grub_available_iterate): Do not pass a fixed `table_header' address
40760 to grub_linuxbios_table_iterate().
40761
3d04eab8 407622008-01-15 Robert Millan <rmh@aybabtu.com>
40763
40764 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
40765 * conf/i386-ieee1275.rmk: New file.
40766 * include/grub/i386/ieee1275/console.h: Likewise.
40767 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
40768 * include/grub/i386/ieee1275/kernel.h: Likewise.
40769 * include/grub/i386/ieee1275/time.h: Likewise.
40770 * kern/i386/ieee1275/init.c: Likewise.
40771 * kern/i386/ieee1275/startup.S: Likewise.
40772
d1bc1b73 407732008-01-15 Robert Millan <rmh@aybabtu.com>
40774
40775 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
40776 when pointers are 32-bit (but still do set it to one when they are
40777 64-bit).
40778
66a65807 407792008-01-15 Robert Millan <rmh@aybabtu.com>
40780
40781 * include/grub/ieee1275/ieee1275.h
40782 (grub_ieee1275_get_integer_property): New function prototype.
40783
40784 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
40785 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 40786 grub_ieee1275_get_property() to handle endianness.
66a65807 40787
40788 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
40789 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 40790 where appropriate.
66a65807 40791 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
40792 (grub_map): Likewise.
40793 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
40794
a83ccafd 407952008-01-15 Bean <bean123ch@gmail.com>
40796
40797 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
40798 (grub_script_execute_cmdline): Reset grub_errno.
40799
40800 * normal/main.c (read_config_file): Reset grub_errno.
40801
40802 * normal/parse.y (script_init): New.
40803 (script): Move function and menuentry here.
40804 (delimiter): New.
40805 (command): Add delimiter at the end of command.
40806 (commands): Adjust to match the new command.
40807 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 40808 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 40809 (if): Use the new commands.
40810
40811 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
40812
df6ecfc6 408132008-01-15 Robert Millan <rmh@aybabtu.com>
40814
40815 * normal/menu.c (run_menu): Move timeout message from here ...
40816 (print_timeout): ... to here.
40817 (run_menu): Use print_timeout() once during initial draw to print
40818 the whole message, and again in every clock tick to update only
40819 the number of seconds.
40820
87ae25eb 408212008-01-15 Robert Millan <rmh@aybabtu.com>
40822
40823 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
40824 actual size of `available' from grub_ieee1275_get_property(), and
40825 restrict parsing to that bound.
40826
47bf09a4 408272008-01-15 Christian Franke <franke@computer.org>
40828
40829 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
40830 (argp_program_version): Remove variable.
40831 (argp_program_bug_address): Likewise.
40832 (options): Convert from struct argp_option to struct option.
40833 (struct arguments): Remove.
40834 (parse_opt): Remove.
40835 (usage): New function.
40836 (main): Replace struct args members by simple variables.
40837 Replace argp_parse() by getopt_long().
40838 Add switch to evaluate options.
40839 Add missing "(...)" around root_dev in prefix string.
40840
c86f1469 408412008-01-14 Robert Millan <rmh@aybabtu.com>
40842
40843 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
40844 for grub_ieee1275_exit(), in order to improve portability.
40845
e622c559 408462008-01-14 Robert Millan <rmh@aybabtu.com>
40847
40848 * util/grub.d/10_linux.in (prefix): Define.
40849 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
40850
44cb1ec8 408512008-01-13 Pavel Roskin <proski@gnu.org>
40852
40853 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
40854 grub_errno if no errors have been detected.
40855
1eb8c802 408562008-01-12 Robert Millan <rmh@aybabtu.com>
40857
40858 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
40859 (grub_util_get_dev_abstraction): New function prototype.
40860
40861 * util/getroot.c: Include `<grub/util/getroot.h>'
40862 (grub_util_get_grub_dev): Move detection of abstraction type to ...
40863 (grub_util_get_dev_abstraction): ... here (new function).
40864
40865 * util/grub-probe.c: Convert PRINT_* to an enum. Add
40866 `PRINT_ABSTRACTION'.
40867 (probe): Probe for abstraction type when requested.
40868 (main): Understand `--target=abstraction'.
40869
40870 * util/i386/efi/grub-install.in: Add abstraction module to core
40871 image when it is found to be necessary.
40872 * util/i386/pc/grub-install.in: Likewise.
40873 * util/powerpc/ieee1275/grub-install.in: Likewise.
40874
40875 * util/update-grub_lib.in (font_path): Return system path without
40876 converting to GRUB path.
40877 * util/update-grub.in: Convert system path returned by font_path()
40878 to a GRUB path. Use `grub-probe -t abstraction' to determine what
40879 abstraction module is needed for loading fonts (if any). Export
40880 that as `GRUB_PRELOAD_MODULES'.
40881 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
40882 insmod commands).
40883
52bd3de9 408842008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
40885
40886 Remove some unused code from reiserfs.
f19dbdb7 40887
52bd3de9 40888 * fs/reiserfs.c (struct grub_reiserfs_key)
40889 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
40890 (struct grub_reiserfs_node_body): Removed.
40891 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
40892 Likewise.
40893 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40894 Likewise.
40895 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40896 Likewise.
40897 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40898 Likewise.
40899 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
40900 Likewise.
40901 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
40902 Likewise.
40903 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40904 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40905 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40906
2f80039d 409072008-01-10 Robert Millan <rmh@aybabtu.com>
40908
40909 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
40910 Determines if a file is garbage left by packaging systems, etc.
40911 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
40912 for processing /etc/grub.d scripts.
40913 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
40914 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
40915 as a condition for processing Linux images.
40916
87888032 409172008-01-10 Pavel Roskin <proski@gnu.org>
40918
40919 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
40920 to compile reiserfs.c on PowerPC.
40921
7e54fced 409222008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 40923
40924 * kern/device.c (grub_device_iterate): Do not abort device iteration
40925 when one of the devices cannot be opened.
40926 * kern/disk.c (grub_disk_open): Do not account previous failures of
40927 unrelated functions when grub_errno is checked for.
40928
5aa541e6 409292008-01-08 Robert Millan <rmh@aybabtu.com>
40930
40931 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
40932 `! grub_linux_is_bzimage', change order of address comparison to make
40933 it more intuitive, and improve "too big zImage" error message.
40934
7076340d 409352008-01-08 Robert Millan <rmh@aybabtu.com>
40936
40937 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
40938 `$(update-grub_DATA)'.
40939 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
40940 targets.
40941
9ca70333 409422008-01-07 Robert Millan <rmh@aybabtu.com>
40943
40944 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
40945 which instruction is modified by grub-setup during installation
40946 (since it wasn't obvious by only looking at this file).
40947
38ccf575 409482008-01-07 Robert Millan <rmh@aybabtu.com>
40949
40950 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
40951 listing actual TODO items.
40952
f5db4291 409532008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40954
868967cf 40955 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
40956 correctly.
40957 (grub_reiserfs_get_key_offset): Likewise.
40958 (grub_reiserfs_set_key_offset): Likewise.
40959 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 40960 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 40961
40962 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
40963 better to remove the bitfield version completely.
f19dbdb7 40964
868967cf 409652008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40966
f5db4291 40967 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
40968 allocated from the heap, due to the fshelp implementation.
40969 (grub_reiserfs_dir): Free NODE, due to the same reason.
40970
492e6d9d 409712008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40972
40973 Mostly from Vincent Pelletier:
f19dbdb7 40974
492e6d9d 40975 * fs/reiserfs.c: New file.
f19dbdb7 40976
492e6d9d 40977 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
40978 (reiserfs_mod_SOURCES): New variable.
40979 (reiserfs_mod_CFLAGS): Likewise.
40980 (reiserfs_mod_LDFLAGS): Likewise.
40981
40982 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
40983 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
40984 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
40985 normal/color.c.
40986
9ce3e7c1 409872008-01-06 Robert Millan <rmh@aybabtu.com>
40988
40989 * normal/color.c: Remove `<grub/env.h>'.
40990
f3b58148 409912008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
40992
40993 * include/grub/normal.h: Include <grub/env.h>.
40994
7ac3bcfa 409952008-01-05 Robert Millan <rmh@aybabtu.com>
40996
40997 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
40998 usage example with `(hd0,1)'.
fb358190 40999 Reported by Samuel Thibault.
7ac3bcfa 41000
c8ee99d7 410012008-01-05 Robert Millan <rmh@aybabtu.com>
41002
41003 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
41004 (grub_linux_boot_zimage): Rename to ...
41005 (grub_linux_boot): ... this.
41006 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
41007 (grub_linux_boot_zimage): Conditionalize zImage copy.
41008
41009 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
41010 (grub_linux_boot_bzimage): Remove prototype.
41011 (grub_linux_boot_zimage): Rename to ...
41012 (grub_linux_boot): ... this.
41013
41014 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
41015 (grub_linux_boot): Remove function.
41016
0ece25b1 410172008-01-05 Robert Millan <rmh@aybabtu.com>
41018
41019 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
41020 (grub_env_write_color_highlight): Likewise.
41021 (grub_wait_after_message): Likewise.
41022
41023 * normal/color.c: New file.
41024
41025 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41026 (normal_mod_DEPENDENCIES): Likewise.
41027
41028 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41029 (normal_mod_DEPENDENCIES): Likewise.
41030
41031 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41032 (normal_mod_DEPENDENCIES): Likewise.
41033
41034 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41035 (normal_mod_DEPENDENCIES): Likewise.
41036
41037 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
41038 for waiting after a message is printed.
41039 * normal/main.c (read_config_file): Likewise.
41040 (grub_normal_init): Register grub_env_write_color_normal() and
41041 grub_env_write_color_highlight() hooks. Mark `color_normal' and
41042 `color_highlight' variables as global.
41043
41044 * normal/menu.c (grub_wait_after_message): New function.
41045 (grub_color_menu_normal): New variable. Replaces ...
41046 (GRUB_COLOR_MENU_NORMAL): ... this macro.
41047 (grub_color_menu_highlight): New variable. Replaces ...
41048 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
41049 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
41050 `GRUB_TERM_COLOR_STANDARD'.
41051 (print_message): Use `grub_setcolorstate' to reload colors. Rename
41052 `normal_code' and `highlight_code' to `old_color_normal' and
41053 `old_color_highlight', respectively.
41054 (grub_menu_init_page): Update colors when drawing the menu, based on
41055 `menu_color_normal' and `menu_color_highlight' variables.
41056 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
41057 a message is printed.
41058
182dd4e5 410592008-01-05 Robert Millan <rmh@aybabtu.com>
41060
41061 * kern/env.c (grub_env_context_open): Propagate hooks for global
41062 variables to new context.
41063
41064 * kern/main.c (grub_set_root_dev): Export `root' variable.
41065
ddf8f6ad 410662008-01-05 Robert Millan <rmh@aybabtu.com>
41067
41068 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 41069 discs unconditionally, since udev and others have options to provide
ddf8f6ad 41070 them.
41071
d8b43d9b 410722008-01-05 Robert Millan <rmh@aybabtu.com>
41073
41074 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
41075
2bff2de3 410762008-01-04 Christian Franke <franke@computer.org>
41077
41078 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
41079 of eisa_mmap.
41080
97eab917 410812008-01-03 Pavel Roskin <proski@gnu.org>
41082
41083 * kern/i386/linuxbios/init.c: Put "void" to all function
41084 declarations with no arguments.
41085 * kern/powerpc/ieee1275/init.c: Likewise.
41086 * term/i386/pc/at_keyboard.c: Likewise.
41087 * term/i386/pc/vga_text.c: Likewise.
41088 * util/grub-mkdevicemap.c: Likewise.
41089
b9416d00 410902008-01-02 Robert Millan <rmh@aybabtu.com>
41091
41092 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
41093 message when loaded image is out of bounds.
41094 (grub_multiboot_load_elf64): Likewise.
41095
92695df9 410962008-01-02 Pavel Roskin <proski@gnu.org>
41097
41098 * util/grub.d/10_linux.in: Try version without ".old" when
41099 looking for initrd. It's better to use initrd from the newer
41100 kernel of the same version than no initrd at all.
41101
d98d9cad 411022008-01-01 Robert Millan <rmh@aybabtu.com>
41103
41104 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
41105
dbfdce36 411062008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
41107
f19dbdb7 41108 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 41109 grub_video_get_active_render_target.
41110 (grub_video_adapter): Added unmap_color and get_active_render_target.
41111
f19dbdb7 41112 * video/video.c: Added grub_video_unmap_color and
dbfdce36 41113 grub_video_get_active_render_target.
41114 (grub_video_get_info): Changed method to accept NULL pointer as an
41115 argument to allow detection of active video adapter.
41116
41117 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
41118 grub_video_vbe_unmap_color_int.
41119 Added grub_video_vbe_unmap_color and
41120 grub_video_vbe_get_active_render_target.
41121 (grub_video_vbe_adapter): Added unmap_color and
41122 get_active_render_target.
41123
f19dbdb7 41124 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 41125 with grub_video_vbe_unmap_color_int.
41126
41127 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
41128 (DEFAULT_NORMAL_COLOR): Likewise.
41129 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
41130 (DEFAULT_FG_COLOR): Removed.
41131 (DEFAULT_BG_COLOR): Likewise.
41132 (DEFAULT_CURSOR_COLOR): Changed value.
41133 (grub_virtual_screen): Added standard_color_setting,
41134 normal_color_setting, highlight_color_setting and term_color.
41135 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
41136 (bitmap_width): Added.
41137 (bitmap_height): Likewise.
41138 (bitmap): Likewise.
41139 (set_term_color): Likewise.
41140 (grub_virtual_screen_setup): Changed to use new terminal coloring
41141 settings.
41142 (grub_gfxterm_init): Added init for bitmap.
41143 (grub_gfxterm_fini): Added destroy for bitmap.
41144 (redraw_screen_rect): Updated to use background bitmap and new
41145 terminal coloring.
41146 (scroll_up): Added optimization for case when there is no bitmap.
41147 (grub_gfxterm_cls): Fixed to use correct background color.
41148 (grub_virtual_screen_setcolorstate): Changed to use new terminal
41149 coloring.
41150 (grub_virtual_screen_setcolor): Likewise.
41151 (grub_virtual_screen_getcolor): Added.
41152 (grub_gfxterm_background_image_cmd): Likewise.
41153 (grub_video_term): Added setcolor and getcolor.
41154 (MOD_INIT): Added registration of background_image command.
41155 (MOD_TERM): Added unregistration for background_image command.
41156
c3c20931 411572007-12-30 Pavel Roskin <proski@gnu.org>
41158
41159 * loader/multiboot_loader.c: Fix multiboot command
41160 unregistration. Fix all typos in the word "multiboot".
41161
df266716 411622007-12-29 Pavel Roskin <proski@gnu.org>
94239199 41163
41164 * util/grub.d/10_linux.in: Refactor search for initrd. Add
41165 support for initrd names used in Fedora.
41166
fc6e896c 411672007-12-26 Bean <bean123ch@gmail.com>
41168
41169 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
41170 (cpio_mod_SOURCES): New variable.
41171 (cpio_mod_CFLAGS): Likewise.
41172 (cpio_mod_LDFLAGS): Likewise.
41173
41174 * fs/cpio.c: New file.
41175
41176 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
41177
41178 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41179
41180 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41181
41182 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41183
533110ad 411842007-12-25 Robert Millan <rmh@aybabtu.com>
41185
41186 * include/grub/term.h (struct grub_term): Add `getcolor' function.
41187 (grub_getcolor): New function.
41188
41189 * kern/term.c (grub_getcolor): New function.
41190 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
41191 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
41192 (print_entry): Set normal and highlight colors to
41193 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
41194 respectively, before printing and restore them to old
41195 values afterwards.
41196 (grub_menu_init_page): Likewise. Fill an additional colored space
41197 that would otherwise be left blank.
41198
41199 * term/efi/console.c (grub_console_getcolor): New function.
41200 (struct grub_console_term.getcolor): New variable.
41201 * term/i386/pc/console.c (grub_console_getcolor): New function.
41202 (struct grub_console_term.getcolor): New variable.
41203 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
41204 (struct grub_console_term.getcolor): New variable.
41205
41206 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
41207 (struct grub_console_term.setcolor): Remove variable.
41208 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
41209 (struct grub_console_term.setcolor): Remove variable.
41210 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
41211 (struct grub_console_term.setcolor): Remove variable.
41212 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
41213 (struct grub_console_term.setcolor): Remove variable.
41214
4931827f 412152007-12-25 Robert Millan <rmh@aybabtu.com>
41216
41217 * configure.ac: Search for possible unifont.hex locations, and
41218 define UNIFONT_HEX if found.
41219
41220 * Makefile.in (UNIFONT_HEX): Define variable.
41221 (DATA): Rename to ...
41222 (PKGLIB): ... this. Update all users.
41223 (PKGDATA): New variable.
41224 (pkgdata_IMAGES): Rename to ...
41225 (pkglib_IMAGES): ... this. Update all users.
41226 (pkgdata_MODULES): Rename to ...
41227 (pkglib_MODULES): ... this. Update all users.
41228 (pkgdata_PROGRAMS): Rename to ...
41229 (pkglib_PROGRAMS): ... this. Update all users.
41230 (pkgdata_DATA): Rename to ...
41231 (pkglib_DATA): ... this. Update all users.
41232 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
41233 (unicode.pff, ascii.pff): New rules.
41234 (all-local): Add `$(PKGDATA)' dependency.
41235 (install-local): Process `$(PKGDATA)'.
41236
41237 * util/update-grub_lib.in (font_path): Search for *.pff files in
41238 a few more locations, including `${pkgdata}'.
41239
57e57e31 412402007-12-23 Robert Millan <rmh@aybabtu.com>
41241
41242 Patch from Bean <bean123ch@gmail.com>:
41243 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
41244 `size'.
41245
4bc72aa9 412462007-12-21 Bean <bean123ch@gmail.com>
41247
41248 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
41249 (ntfscomp_mod_SOURCES): New variable.
41250 (ntfscomp_mod_CFLAGS): Likewise.
41251 (ntfscomp_mod_LDFLAGS): Likewise.
41252
41253 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
41254 (grub_probe_SOURCES): Likewise.
41255 (grub_emu_SOURCES): Likewise.
41256
41257 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41258 (grub_emu_SOURCES): Likewise.
41259
41260 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41261 (grub_emu_SOURCES): Likewise.
41262
41263 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41264 (grub_emu_SOURCES): Likewise.
41265
41266 * fs/ntfs.c (grub_ntfscomp_func): New variable.
41267 (read_run_list): Renamed to grub_ntfs_read_run_list.
41268 (decomp_nextvcn): Moved to ntfscomp.c.
41269 (decomp_getch): Likewise.
41270 (decomp_get16): Likewise.
41271 (decomp_block): Likewise.
41272 (read_block): Likewise.
41273 (read_data): Partially moved to ntfscomp.c.
41274 (fixup): Change unsigned to grub_uint16_t.
41275 (read_mft): Change unsigned long to grub_uint32_t.
41276 (read_attr): Likewise.
41277 (read_data): Likewise.
41278 (read_run_data): Likewise.
41279 (read_run_list): Likewise.
41280 (read_mft): Likewise.
41281
41282 * fs/ntfscomp.c: New file.
41283
41284 * include/grub/ntfs.h: New file.
41285
af680a87 412862007-12-16 Robert Millan <rmh@aybabtu.com>
41287
41288 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
41289 IDE disk check, since Linux is known to support 20 IDE disks.
41290 Reported by Colin Watson.
41291
84be7599 412922007-12-15 Bean <bean123ch@gmail.com>
41293
41294 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
41295 (lnxboot_img_SOURCES): New variable.
41296 (lnxboot_img_ASFLAGS): Likewise.
41297 (lnxboot_img_LDFLAGS): Likewise.
41298
41299 * boot/i386/pc/lnxboot.S: New file.
41300
6af9db01 413012007-11-24 Pavel Roskin <proski@gnu.org>
41302
41303 * configure.ac: Test if '--build-id=none' is supported by the
41304 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
41305 objcopy to generate incorrect binary files (binutils
41306 2.17.50.0.18-1 as shipped by Fedora 8).
41307 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
41308 linking, so that build ID doesn't break the test.
41309
7361cfe6 413102007-11-24 Pavel Roskin <proski@gnu.org>
41311
41312 * include/grub/i386/time.h: use "void" in the argument list
41313 of grub_cpu_idle().
41314 * include/grub/powerpc/time.h: Likewise.
41315 * include/grub/sparc64/time.h: Likewise.
41316
1593e10c 413172007-11-18 Christian Franke <franke@computer.org>
41318
41319 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
41320 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
41321 This fixes the problem that function keys did not work in grub-emu.
41322
3b8db1a8 413232007-11-18 Christian Franke <franke@computer.org>
41324
41325 * disk/host.c (grub_host_open): Remove attribute unused from
41326 name parameter. Add check for "host". This fixes the problem
41327 that grub-emu does not find partitions.
41328
2e29408d 413292007-11-18 Christian Franke <franke@computer.org>
41330
41331 * util/hostfs.c (is_dir): New function.
41332 (grub_hostfs_dir): Handle missing dirent.d_type case.
41333 (grub_hostfs_read): Add missing fseek().
41334 (grub_hostfs_label): Clear label pointer. This fixes a crash
41335 of grub-emu on "ls (host)".
41336
398cd047 413372007-11-18 Christian Franke <franke@computer.org>
41338
41339 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
41340 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
41341 to 64 bit boundary by default.
41342
c405c391 413432007-11-18 Bean <bean123ch@gmail.com>
41344
41345 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
41346 (hexdump_mod_SOURCES): New variable.
41347 (hexdump_mod_CFLAGS): Likewise.
41348 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 41349
c405c391 41350 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41351
41352 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41353
41354 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41355
41356 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41357
41358 * include/grub/hexdump.h: New file.
41359
41360 * commands/hexdump.c: New file.
41361
5cced7fd 413622007-11-10 Robert Millan <rmh@aybabtu.com>
41363
41364 * commands/i386/pc/play.c (beep_off): Switch order of arguments
41365 in grub_outb() calls.
41366 (beep_on): Likewise.
41367
8b714eb0 413682007-11-10 Christian Franke <franke@computer.org>
41369
41370 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
41371 (grub_menu_run): Likewise.
41372
ce0f1839 413732007-11-10 Robert Millan <rmh@aybabtu.com>
41374
41375 * include/grub/i386/efi/machine.h: New file.
41376 * include/grub/i386/linuxbios/machine.h: Likewise.
41377 * include/grub/i386/pc/machine.h: Likewise.
41378 * include/grub/powerpc/ieee1275/machine.h: Likewise.
41379 * include/grub/sparc64/ieee1275/machine.h: Likewise.
41380
41381 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
41382 (serial_hw_io_addr): New variable.
41383 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
41384 instead of `(unsigned short *) 0x400'.
41385
270c237d 413862007-11-10 Bean <bean123ch@gmail.com>
41387
41388 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
41389
a87783bf 413902007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
41391
41392 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
41393 (vga_mod_SOURCES): Added.
41394 (vga_mod_CFLAGS): Likewise.
41395 (vga_mod_LDFLAGS): Likewise.
41396
41397 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
41398 grub_outb() calls.
41399 (set_map_mask): Likewise.
41400 (set_read_map): Likewise.
41401 (set_read_address): Likewise.
41402 (vga_font): Removed variable.
41403 (get_vga_glyph): Removed function.
41404 (invalidate_char): Likewise.
41405 (write_char): Changed to use grub_font_get_glyph() for font
41406 information.
41407 (grub_vga_putchar): Likewise.
41408 (grub_vga_getcharwidth): Likewise.
41409
6433b448 414102007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
41411
41412 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
41413 flags.
41414 (pxeboot_img_LDFLAGS): Likewise.
41415 (diskboot_img_LDFLAGS): Likewise.
41416 (kernel_img_LDFLAGS): Likewise.
41417
49178511 414182007-11-06 Robert Millan <rmh@aybabtu.com>
41419
41420 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
41421 in grub_outb() calls.
41422 (serial_hw_init): Likewise.
41423
53b052de 414242007-11-05 Robert Millan <rmh@aybabtu.com>
41425
41426 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
41427 spaces. Skip non-regular files.
41428
5ab33bba 414292007-11-05 Robert Millan <rmh@aybabtu.com>
41430
41431 * kern/disk.c (grub_disk_firmware_fini)
41432 (grub_disk_firmware_is_tainted): New variables.
41433
41434 * include/grub/disk.h (grub_disk_firmware_fini)
41435 (grub_disk_firmware_is_tainted): Likewise.
41436
41437 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
41438 (grub_disk_biosdisk_fini): ... to here.
41439 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
41440 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
41441 is set. Register grub_disk_biosdisk_fini() in
41442 `grub_disk_firmware_fini'.
41443
41444 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
41445 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
41446 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
41447 to finish existing firmware disk interface.
41448
41449 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
41450 (ata_mod_SOURCES): New variable.
41451 (ata_mod_CFLAGS): Likewise.
41452 (ata_mod_LDFLAGS): Likewise.
41453
0149ab7c 414542007-11-05 Robert Millan <rmh@aybabtu.com>
41455
41456 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
41457 (grub_ata_wait): Reimplement using grub_millisleep().
41458
41459 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
41460 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
41461
be7ac41e 414622007-11-03 Marco Gerards <marco@gnu.org>
41463
41464 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
41465 (CRTC_ADDR_PORT): New macro.
41466 (CRTC_DATA_PORT): Likewise.
41467 (CRTC_CURSOR): Likewise.
41468 (CRTC_CURSOR_ADDR_HIGH): Likewise.
41469 (CRTC_CURSOR_ADDR_LOW): Likewise.
41470 (update_cursor): New function.
41471 (grub_console_real_putchar): Call `update_cursor'.
41472 (grub_console_gotoxy): Likewise.
41473 (grub_console_cls): Set the default color when clearing the
41474 screen.
41475 (grub_console_setcursor): Implemented.
41476
bb06ab2e 414772007-11-03 Marco Gerards <marco@gnu.org>
41478
41479 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
41480 become activate.
41481 (grub_ata_pio_write): Likewise.
41482
41483 (grub_atapi_identify): Wait after issuing an ATA command.
41484 (grub_atapi_packet): Likewise.
41485 (grub_ata_identify): Likewise.
41486 (grub_ata_readwrite): Likewise.
41487
cf8f780b 414882007-11-03 Marco Gerards <marco@gnu.org>
41489
41490 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
41491 (grub_ata_pio_write): Likewise.
41492 (grub_ata_readwrite): Use `grub_error', instead of
41493 returning `grub_errno'.
41494
ed649e54 414952007-11-03 Marco Gerards <marco@gnu.org>
41496
41497 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
41498 grub_ata_pio_write once for every single sector, instead of for
41499 multiple sectors.
41500
ca25d8f0 415012007-10-31 Robert Millan <rmh@aybabtu.com>
41502
41503 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
41504
41505 * conf/i386-linuxbios.rmk: New file.
41506
41507 * kern/i386/pc/hardware.c: Likewise.
41508 * term/i386/pc/at_keyboard.c: Likewise.
41509 * term/i386/pc/vga_text.c: Likewise.
41510
41511 * include/grub/i386/linuxbios/boot.h: Likewise.
41512 * include/grub/i386/linuxbios/console.h: Likewise.
41513 * include/grub/i386/linuxbios/init.h: Likewise.
41514 * include/grub/i386/linuxbios/kernel.h: Likewise.
41515 * include/grub/i386/linuxbios/loader.h: Likewise.
41516 * include/grub/i386/linuxbios/memory.h: Likewise.
41517 * include/grub/i386/linuxbios/serial.h: Likewise.
41518 * include/grub/i386/linuxbios/time.h: Likewise.
41519
41520 * kern/i386/linuxbios/init.c: Likewise.
41521 * kern/i386/linuxbios/startup.S: Likewise.
41522 * kern/i386/linuxbios/table.c: Likewise.
41523
e911ecc1 415242007-10-31 Marco Gerards <marco@gnu.org>
41525
41526 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
41527 (ata_mod_SOURCES): New variable.
41528 (ata_mod_CFLAGS): Likewise.
41529 (ata_mod_LDFLAGS): Likewise.
41530
41531 * disk/ata.c: New file.
41532
41533 * include/grub/disk.h (grub_disk_dev_id): Add
41534 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 41535
7f66d0e0 415362007-10-31 Robert Millan <rmh@aybabtu.com>
41537
41538 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
41539 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
41540
41541 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
41542 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
41543
41544 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
41545 `<grub/types.h>'.
41546
41547 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
41548
5cd7dd46 415492007-10-27 Robert Millan <rmh@aybabtu.com>
41550
3236ca65 41551 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 41552
2ebfc90f 415532007-10-22 Robert Millan <rmh@aybabtu.com>
41554
41555 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
41556 `"../realmode.S"'.
41557 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
41558
73fcb0f3 415592007-10-22 Robert Millan <rmh@aybabtu.com>
41560
41561 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
41562 (pkgdata_MODULES): Add `biosdisk.mod'.
41563 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
41564 variables.
41565
41566 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
41567 (grub_biosdisk_init): Replace with ...
41568 (GRUB_MOD_INIT(biosdisk)): ... this.
41569 (grub_biosdisk_fini): Replace with ...
41570 (GRUB_MOD_FINI(biosdisk)): ... this.
41571
41572 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
41573 (grub_machine_init): Remove call to grub_biosdisk_init().
41574 (grub_machine_fini): Remove call to grub_machine_fini().
41575
41576 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
41577
3381d274 415782007-10-22 Robert Millan <rmh@aybabtu.com>
41579
41580 * include/grub/time.h: New file.
41581 * include/grub/i386/time.h: Likewise.
41582 * include/grub/powerpc/time.h: Likewise.
41583 * include/grub/sparc64/time.h: Likewise.
41584
41585 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
41586 instances to ...
41587 (KERNEL_MACHINE_TIME_HEADER): ... this.
41588 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
41589 instances to ...
41590 (KERNEL_MACHINE_TIME_HEADER): ... this.
41591 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
41592 instances to ...
41593 (KERNEL_MACHINE_TIME_HEADER): ... this.
41594
41595 * kern/i386/efi/init.c: Include `<grub/time.h>'.
41596 (grub_millisleep): New function.
41597 * kern/i386/pc/init.c: Include `<grub/time.h>'.
41598 (grub_millisleep): New function.
41599 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
41600 Remove `grub/machine/time.h' include.
41601 (grub_millisleep): New function.
41602 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
41603 Remove `grub/machine/time.h' include.
41604 (grub_millisleep): New function.
41605
41606 * include/grub/misc.h (grub_div_roundup): New function.
41607
41608 * kern/misc.c: Include `<grub/time.h>'.
41609 (grub_millisleep_generic): New function.
41610
41611 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
41612 Add `time.h'.
41613 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
41614 Add `time.h'.
41615 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
41616 `machine/time.h'. Add `time.h'.
41617 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
41618
a39a0312 416192007-10-21 Robert Millan <rmh@aybabtu.com>
41620
41621 * include/grub/misc.h (grub_max): New function.
41622
2aad70e2 416232007-10-21 Robert Millan <rmh@aybabtu.com>
41624
41625 * util/misc.c (grub_util_info): Call fflush() before returning.
41626
54b71c4b 416272007-10-20 Robert Millan <rmh@aybabtu.com>
41628
41629 * genmk.rb (Image): Copy `extra_flags' from here ...
41630 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
41631
41632 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
41633 to `argc' and `args' arguments.
41634
a979f513 416352007-10-17 Robert Millan <rmh@aybabtu.com>
41636
41637 * kern/i386/loader.S: New file.
41638
41639 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
41640 * kern/i386/loader.S (grub_linux_prot_size)... to here.
41641 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
41642 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
41643 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
41644 * kern/i386/loader.S (grub_linux_real_addr)... to here.
41645 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
41646 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
41647 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
41648 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
41649 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
41650 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
41651 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
41652 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
41653
41654 * kern/i386/realmode.S: New file.
41655
41656 * kern/i386/pc/startup.S (protstack): Moved from here ...
41657 * kern/i386/realmode.S (protstack)... to here.
41658 * kern/i386/pc/startup.S (gdt): Moved from here ...
41659 * kern/i386/realmode.S (gdt)... to here.
41660 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
41661 * kern/i386/realmode.S (prot_to_real)... to here.
41662
41663 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
41664 `kern/i386/realmode.S'.
41665
825fc8fd 416662007-10-17 Robert Millan <rmh@aybabtu.com>
41667
41668 * include/grub/i386/loader.h: New file.
41669
41670 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
41671 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
41672 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
41673 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
41674 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
41675 * include/grub/i386/loader.h (grub_linux_prot_size)
41676 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
41677 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
41678 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
41679 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
41680
41681 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
41682
e179b2f4 416832007-10-15 Robert Millan <rmh@aybabtu.com>
41684
41685 * normal/misc.c (grub_normal_print_device_info): Do not probe for
41686 filesystem when dev->disk is unset.
41687 Do probe for filesystem even when dev->disk->has_partitions is set.
41688 In case a filesystem is found, always report it.
41689 In case it isn't, if dev->disk->has_partitions is set, report that
41690 a partition table was found instead of reporting that no filesystem
41691 could be identified.
41692
5db82af6 416932007-10-12 Robert Millan <rmh@aybabtu.com>
41694
41695 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
41696 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
41697
68f6ac74 41698 * include/grub/types.h (grub_host_to_target16): New macro.
41699 (grub_host_to_target32): Likewise.
41700 (grub_host_to_target64): Likewise.
41701 (grub_target_to_host16): Likewise.
41702 (grub_target_to_host32): Likewise.
41703 (grub_target_to_host64): Likewise.
5db82af6 41704
41705 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
41706 Renamed from to ...
41707 (GRUB_MOD_ALIGN): ...this. Update all users.
41708
68f6ac74 41709 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
41710 grub_host_to_target32.
41711 Replace grub_be_to_cpu32 with grub_target_to_host32.
41712 (load_modules): Likewise.
41713 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
41714 Replace grub_be_to_cpu32 with grub_target_to_host32.
41715 Replace grub_cpu_to_be16 with grub_host_to_target16.
41716 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 41717
3cf497cc 417182007-10-12 Robert Millan <rmh@aybabtu.com>
41719
41720 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
41721 * util/elf/grub-mkimage.c: ... here.
41722
41723 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
41724 `util/powerpc/ieee1275/grub-mkimage.c'.
41725
c8cc3692 417262007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 41727
c8cc3692 41728 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
41729 and make it easier to figure out.
41730 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
41731 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
41732 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
41733 leave us with less than HEAP_MIN_SIZE total heap.
41734 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 41735
5c58b791 417362007-10-03 Robert Millan <rmh@aybabtu.com>
41737
41738 * include/grub/i386/io.h: New file.
41739 * commands/i386/pc/play.c (inb): Removed.
41740 (outb): Removed.
41741 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
41742 with grub_outb().
afcd2ef8 41743 * term/i386/pc/serial.c (inb): Removed.
41744 (outb): Removed.
41745 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
41746 with grub_outb().
41747 * term/i386/pc/vga.c (inb): Removed.
41748 (outb): Removed.
41749 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
41750 with grub_outb().
5c58b791 41751
1a477ed6 417522007-10-02 Robert Millan <rmh@aybabtu.com>
41753
41754 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
41755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41756 Reported by Marcin Kurek.
41757
6b5d80fa 417582007-09-07 Robert Millan <rmh@aybabtu.com>
41759
41760 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
41761 SmartFirmware version updates (as released by Sven Luther), and avoid
41762 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
41763 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
41764 known broken.
41765
5618afbf 417662007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41767
41768 From Hitoshi Ozeki:
41769 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
41770 when merging two regions.
41771
6139dcd9 417722007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41773
508e39ee 41774 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
41775 * normal/completion.c (grub_normal_do_completion): Likewise.
41776 Reported by Hitoshi Ozeki.
41777
417782007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41779
6139dcd9 41780 Do not use devices at boot in chainloading.
f19dbdb7 41781
6139dcd9 41782 * loader/i386/pc/chainloader.c (boot_drive): New variable.
41783 (boot_part_addr): Likewise.
41784 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
41785 with BOOT_DRIVE and BOOT_PART_ADDR.
41786 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
41787 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
41788
38da6516 417892007-08-29 Robert Millan <rmh@aybabtu.com>
41790
41791 Patch from Simon Peter <dn.tlp@gmx.net>:
41792 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
41793 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
41794 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
41795 util/i386/pc/grub-setup.c_DEPENDENCIES.
41796 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
41797 util/grub-probe.c_DEPENDENCIES.
41798 * conf/powerpc-ieee1275.rmk: Likewise.
41799
29d0928c 418002007-08-28 Robert Millan <rmh@aybabtu.com>
41801
41802 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
41803 to tell grub-mkdevicemap how to name devices.
41804 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
41805 feature).
41806
41807 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
41808 util/i386/get_disk_name.c.
41809 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
41810 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
41811 util/ieee1275/get_disk_name.c.
41812
41813 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
41814
41815 * DISTLIST: Add util/i386/get_disk_name.c and
41816 util/ieee1275/get_disk_name.c.
41817
41818 * util/grub-mkdevicemap.c: Replace device naming logic with
41819 grub_util_get_disk_name() calls.
41820
5a0d3cca 418212007-08-20 Robert Millan <rmh@aybabtu.com>
41822
41823 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
41824 (so that it works for both plural and singular quantities).
41825
8b72db2f 418262007-08-05 Robert Millan <rmh@aybabtu.com>
41827
41828 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
41829 so that [xz] isn't taken into account when determining order.
41830
352466bf 418312007-08-02 Marco Gerards <marco@gnu.org>
41832
41833 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
41834 `include/multiboot2.h', `include/grub/elfload.h',
41835 `include/multiboot.h', `include/grub/multiboot.h',
41836 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
41837 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
41838 `kern/elf.c', `loader/multiboot_loader.c',
41839 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
41840 `loader/i386/pc/multiboot2.c',
41841 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
41842 `util/i386/pc/grub-mkrescue.in'. Remove
41843 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
41844 `include/grub/i386/pc/util/biosdisk.h' and
41845 `include/grub/powerpc/ieee1275/multiboot.h'.
41846
8f096014 418472007-08-02 Bean <bean123ch@gmail.com>
41848
41849 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
41850 (ntfs_mod_SOURCES): New variable.
41851 (ntfs_mod_CFLAGS): Likewise.
41852 (ntfs_mod_LDFLAGS): Likewise.
41853
41854 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
41855 (grub_probe_SOURCES): Likewise.
41856 (grub_emu_SOURCES): Likewise.
41857
41858 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
41859 (grub_emu_SOURCES): Likewise.
41860
41861 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
41862 (grub_emu_SOURCES): Likewise.
f19dbdb7 41863
8f096014 41864 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
41865
41866 * fs/ntfs.c: New file.
41867
9959f7db 418682007-08-02 Bean <bean123ch@gmail.com>
41869
41870 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
41871
41872 * file.h (grub_file): Likewise.
41873
41874 * fshelp.h (grub_fshelp_read_file): Likewise.
41875
41876 * util/i386/pc/grub-setup.c (setup): Likewise.
41877 (save_first_sector): Likewise.
41878 (save_blocklists): Likewise.
f19dbdb7 41879
9959f7db 41880 * fs/affs.c (grub_affs_read_file): Likewise.
41881
41882 * fs/ext2.c (grub_ext2_read_file): Likewise.
41883
41884 * fs/fat.c (grub_fat_read_data): Likewise.
41885
41886 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
41887
41888 * fs/hfs.c (grub_hfs_read_file): Likewise.
41889
41890 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41891
41892 * fs/jfs.c (grub_jfs_read_file): Likewise.
41893
41894 * fs/minix.c (grub_minix_read_file): Likewise.
41895
41896 * fs/sfs.c (grub_sfs_read_file): Likewise.
41897
41898 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 41899
9959f7db 41900 * fs/xfs.c (grub_xfs_read_file): Likewise.
41901
41902 * command/blocklist.c (read_blocklist): Likewise.
41903 (print_blocklist): Likewise.
41904
0a203f83 419052007-08-02 Marco Gerards <marco@gnu.org>
41906
41907 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
41908 `util/hostfs.c'.
41909
41910 * disk/host.c: New file.
41911
41912 * util/hostfs.c: Likewise.
41913
41914 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
41915 return `GRUB_ERR_BAD_FS'.
41916 * fs/sfs.c (grub_sfs_mount): Likewise.
41917 * fs/xfs.c (grub_xfs_mount): Likewise.
41918
41919 * include/grub/disk.h (enum grub_disk_dev_id): Add
41920 `GRUB_DISK_DEVICE_HOST_ID'.
41921
41922 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
41923
e5dfe777 419242007-07-24 Jerone Young <jerone@gmail.com>
41925
f19dbdb7 41926 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 41927 modules for compilation.
41928 * conf/powerpc-ieee1275.rmk: Likewise.
41929
41930 * include/multiboot.h: Move multiboot definitions to one file. Rename
41931 many definitions to not get grub specific.
41932 * include/multiboot2.h: Create header with multiboot 2 definitions.
41933 * include/grub/multiboot.h: Header for grub specific function
41934 prototypes and definitions.
41935 * include/grub/multiboot2.h: Likewise.
41936 * include/grub/multiboot_loader.h: Likewise.
41937 * include/grub/i386/pc/multiboot.h: Removed.
41938 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
41939
41940 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
41941 and 2 to allow for one multiboot and module commands.
41942 * loader/multiboot2.c: Add multiboot2 functionality.
41943 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
41944 and definition names.
41945 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
41946 2 functions.
41947 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
41948 ieee1275 specific multiboot2 code.
41949
41950 * kern/i386/pc/startup.S: Change headers and definition names for
41951 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
41952
daf0f0ba 419532007-07-22 Robert Millan <rmh@aybabtu.com>
41954
41955 * geninitheader.sh: Process file specified in first parameter rather
41956 than hardcoding grub_modules_init.lst.
fe6b695a 41957 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 41958 than hardcoding grub_modules_init.h.
41959
41960 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
41961 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
41962 grub_probe_init.[ch] and grub_setup_init.[ch].
41963
41964 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
41965 grub_modules_init.h with grub_emu_init.h.
41966 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
41967 grub_probe_init.[ch] files.
41968 * conf/i386-efi.rmk: Likewise.
41969 * conf/i386-pc.rmk: Likewise.
41970 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
41971 grub_setup_init.[ch] files.
41972
41973 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
41974 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
41975 to initialize modules rather than a list of hardcoded functions.
41976 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
41977 grub_init_all() to initialize modules rather than a list of hardcoded
41978 functions.
41979
54cdc1cc 419802007-07-22 Robert Millan <rmh@aybabtu.com>
41981
41982 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
41983 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
41984
ad0686cc 419852007-07-22 Robert Millan <rmh@aybabtu.com>
41986
41987 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41988 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
41989 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
41990 flag when running on SmartFirmware.
41991 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
41992 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
41993 was set.
41994
41995 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
41996 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
41997 rather than decreasing it.
41998
41999 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
42000 there's not enough space to do it, fail in the same way as when it
42001 can't be done because there are no partitions.
42002
42003 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
42004 when nvsetenv failed.
42005
969c02ec 420062007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42007
42008 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
42009 because this rule is automatically generated.
42010 (grub-mkrescue): Removed for the same reason as above.
42011
5a79f472 420122007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42013
42014 Migrate to GNU General Public License Version 3.
f19dbdb7 42015
5a79f472 42016 * COPYING: Replaced with the plain text version of GPLv3.
42017
42018 * config.guess: Updated from gnulib.
42019 * config.sub: Likewise.
42020
42021 * geninit.sh: Output a GPLv3 copyright notice.
42022 * geninitheader.sh: Likewise.
42023 * genmodsrc.sh: Likewise.
42024 * gensymlist.sh.in: Likewise.
42025
42026 * boot/i386/pc/boot.S: Upgraded to GPLv3.
42027 * boot/i386/pc/diskboot.S: Likewise.
42028 * boot/i386/pc/pxeboot.S: Likewise.
42029 * commands/blocklist.c: Likewise.
42030 * commands/boot.c: Likewise.
42031 * commands/cat.c: Likewise.
42032 * commands/cmp.c: Likewise.
42033 * commands/configfile.c: Likewise.
42034 * commands/echo.c: Likewise.
42035 * commands/help.c: Likewise.
42036 * commands/ls.c: Likewise.
42037 * commands/search.c: Likewise.
42038 * commands/terminal.c: Likewise.
42039 * commands/test.c: Likewise.
42040 * commands/videotest.c: Likewise.
42041 * commands/i386/cpuid.c: Likewise.
42042 * commands/i386/pc/halt.c: Likewise.
42043 * commands/i386/pc/play.c: Likewise.
42044 * commands/i386/pc/reboot.c: Likewise.
42045 * commands/i386/pc/vbeinfo.c: Likewise.
42046 * commands/i386/pc/vbetest.c: Likewise.
42047 * commands/ieee1275/halt.c: Likewise.
42048 * commands/ieee1275/reboot.c: Likewise.
42049 * commands/ieee1275/suspend.c: Likewise.
42050 * disk/loopback.c: Likewise.
42051 * disk/lvm.c: Likewise.
42052 * disk/raid.c: Likewise.
42053 * disk/efi/efidisk.c: Likewise.
42054 * disk/i386/pc/biosdisk.c: Likewise.
42055 * disk/ieee1275/ofdisk.c: Likewise.
42056 * font/manager.c: Likewise.
42057 * fs/affs.c: Likewise.
42058 * fs/ext2.c: Likewise.
42059 * fs/fat.c: Likewise.
42060 * fs/fshelp.c: Likewise.
42061 * fs/hfs.c: Likewise.
42062 * fs/hfsplus.c: Likewise.
42063 * fs/iso9660.c: Likewise.
42064 * fs/jfs.c: Likewise.
42065 * fs/minix.c: Likewise.
42066 * fs/sfs.c: Likewise.
42067 * fs/ufs.c: Likewise.
42068 * fs/xfs.c: Likewise.
42069 * hello/hello.c: Likewise.
42070 * include/grub/acorn_filecore.h: Likewise.
42071 * include/grub/arg.h: Likewise.
42072 * include/grub/bitmap.h: Likewise.
42073 * include/grub/boot.h: Likewise.
42074 * include/grub/cache.h: Likewise.
42075 * include/grub/device.h: Likewise.
42076 * include/grub/disk.h: Likewise.
42077 * include/grub/dl.h: Likewise.
42078 * include/grub/elfload.h: Likewise.
42079 * include/grub/env.h: Likewise.
42080 * include/grub/err.h: Likewise.
42081 * include/grub/file.h: Likewise.
42082 * include/grub/font.h: Likewise.
42083 * include/grub/fs.h: Likewise.
42084 * include/grub/fshelp.h: Likewise.
42085 * include/grub/gzio.h: Likewise.
42086 * include/grub/hfs.h: Likewise.
42087 * include/grub/kernel.h: Likewise.
42088 * include/grub/loader.h: Likewise.
42089 * include/grub/lvm.h: Likewise.
42090 * include/grub/misc.h: Likewise.
42091 * include/grub/mm.h: Likewise.
42092 * include/grub/net.h: Likewise.
42093 * include/grub/normal.h: Likewise.
42094 * include/grub/parser.h: Likewise.
42095 * include/grub/partition.h: Likewise.
42096 * include/grub/pc_partition.h: Likewise.
42097 * include/grub/raid.h: Likewise.
42098 * include/grub/rescue.h: Likewise.
42099 * include/grub/script.h: Likewise.
42100 * include/grub/setjmp.h: Likewise.
42101 * include/grub/symbol.h: Likewise.
42102 * include/grub/term.h: Likewise.
42103 * include/grub/terminfo.h: Likewise.
42104 * include/grub/tparm.h: Likewise.
42105 * include/grub/types.h: Likewise.
42106 * include/grub/video.h: Likewise.
42107 * include/grub/efi/api.h: Likewise.
42108 * include/grub/efi/chainloader.h: Likewise.
42109 * include/grub/efi/console.h: Likewise.
42110 * include/grub/efi/console_control.h: Likewise.
42111 * include/grub/efi/disk.h: Likewise.
42112 * include/grub/efi/efi.h: Likewise.
42113 * include/grub/efi/pe32.h: Likewise.
42114 * include/grub/efi/time.h: Likewise.
42115 * include/grub/i386/linux.h: Likewise.
42116 * include/grub/i386/setjmp.h: Likewise.
42117 * include/grub/i386/types.h: Likewise.
42118 * include/grub/i386/efi/kernel.h: Likewise.
42119 * include/grub/i386/efi/loader.h: Likewise.
42120 * include/grub/i386/efi/time.h: Likewise.
42121 * include/grub/i386/pc/biosdisk.h: Likewise.
42122 * include/grub/i386/pc/boot.h: Likewise.
42123 * include/grub/i386/pc/chainloader.h: Likewise.
42124 * include/grub/i386/pc/console.h: Likewise.
42125 * include/grub/i386/pc/init.h: Likewise.
42126 * include/grub/i386/pc/kernel.h: Likewise.
42127 * include/grub/i386/pc/loader.h: Likewise.
42128 * include/grub/i386/pc/memory.h: Likewise.
42129 * include/grub/i386/pc/multiboot.h: Likewise.
42130 * include/grub/i386/pc/serial.h: Likewise.
42131 * include/grub/i386/pc/time.h: Likewise.
42132 * include/grub/i386/pc/vbe.h: Likewise.
42133 * include/grub/i386/pc/vbeblit.h: Likewise.
42134 * include/grub/i386/pc/vbefill.h: Likewise.
42135 * include/grub/i386/pc/vbeutil.h: Likewise.
42136 * include/grub/i386/pc/vga.h: Likewise.
42137 * include/grub/ieee1275/ieee1275.h: Likewise.
42138 * include/grub/ieee1275/ofdisk.h: Likewise.
42139 * include/grub/powerpc/libgcc.h: Likewise.
42140 * include/grub/powerpc/setjmp.h: Likewise.
42141 * include/grub/powerpc/types.h: Likewise.
42142 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
42143 * include/grub/powerpc/ieee1275/console.h: Likewise.
42144 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
42145 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
42146 * include/grub/powerpc/ieee1275/loader.h: Likewise.
42147 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
42148 * include/grub/powerpc/ieee1275/time.h: Likewise.
42149 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
42150 * include/grub/sparc64/libgcc.h: Likewise.
42151 * include/grub/sparc64/setjmp.h: Likewise.
42152 * include/grub/sparc64/types.h: Likewise.
42153 * include/grub/sparc64/ieee1275/console.h: Likewise.
42154 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42155 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42156 * include/grub/sparc64/ieee1275/time.h: Likewise.
42157 * include/grub/util/biosdisk.h: Likewise.
42158 * include/grub/util/getroot.h: Likewise.
42159 * include/grub/util/lvm.h: Likewise.
42160 * include/grub/util/misc.h: Likewise.
42161 * include/grub/util/raid.h: Likewise.
42162 * include/grub/util/resolve.h: Likewise.
42163 * io/gzio.c: Likewise.
42164 * kern/device.c: Likewise.
42165 * kern/disk.c: Likewise.
42166 * kern/dl.c: Likewise.
42167 * kern/elf.c: Likewise.
42168 * kern/env.c: Likewise.
42169 * kern/err.c: Likewise.
42170 * kern/file.c: Likewise.
42171 * kern/fs.c: Likewise.
42172 * kern/loader.c: Likewise.
42173 * kern/main.c: Likewise.
42174 * kern/misc.c: Likewise.
42175 * kern/mm.c: Likewise.
42176 * kern/parser.c: Likewise.
42177 * kern/partition.c: Likewise.
42178 * kern/rescue.c: Likewise.
42179 * kern/term.c: Likewise.
42180 * kern/efi/efi.c: Likewise.
42181 * kern/efi/init.c: Likewise.
42182 * kern/efi/mm.c: Likewise.
42183 * kern/i386/dl.c: Likewise.
42184 * kern/i386/efi/init.c: Likewise.
42185 * kern/i386/efi/startup.S: Likewise.
42186 * kern/i386/pc/init.c: Likewise.
42187 * kern/i386/pc/lzo1x.S: Likewise.
42188 * kern/i386/pc/startup.S: Likewise.
42189 * kern/ieee1275/ieee1275.c: Likewise.
42190 * kern/powerpc/cache.S: Likewise.
42191 * kern/powerpc/dl.c: Likewise.
42192 * kern/powerpc/ieee1275/cmain.c: Likewise.
42193 * kern/powerpc/ieee1275/crt0.S: Likewise.
42194 * kern/powerpc/ieee1275/init.c: Likewise.
42195 * kern/powerpc/ieee1275/openfw.c: Likewise.
42196 * kern/sparc64/cache.S: Likewise.
42197 * kern/sparc64/dl.c: Likewise.
42198 * kern/sparc64/ieee1275/init.c: Likewise.
42199 * kern/sparc64/ieee1275/openfw.c: Likewise.
42200 * loader/efi/chainloader.c: Likewise.
42201 * loader/efi/chainloader_normal.c: Likewise.
42202 * loader/i386/efi/linux.c: Likewise.
42203 * loader/i386/efi/linux_normal.c: Likewise.
42204 * loader/i386/pc/chainloader.c: Likewise.
42205 * loader/i386/pc/chainloader_normal.c: Likewise.
42206 * loader/i386/pc/linux.c: Likewise.
42207 * loader/i386/pc/linux_normal.c: Likewise.
42208 * loader/i386/pc/multiboot.c: Likewise.
42209 * loader/i386/pc/multiboot_normal.c: Likewise.
42210 * loader/powerpc/ieee1275/linux.c: Likewise.
42211 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42212 * normal/arg.c: Likewise.
42213 * normal/cmdline.c: Likewise.
42214 * normal/command.c: Likewise.
42215 * normal/completion.c: Likewise.
42216 * normal/execute.c: Likewise.
42217 * normal/function.c: Likewise.
42218 * normal/lexer.c: Likewise.
42219 * normal/main.c: Likewise.
42220 * normal/menu.c: Likewise.
42221 * normal/menu_entry.c: Likewise.
42222 * normal/misc.c: Likewise.
42223 * normal/parser.y: Likewise.
42224 * normal/script.c: Likewise.
42225 * normal/i386/setjmp.S: Likewise.
42226 * normal/powerpc/setjmp.S: Likewise.
42227 * normal/sparc64/setjmp.S: Likewise.
42228 * partmap/acorn.c: Likewise.
42229 * partmap/amiga.c: Likewise.
42230 * partmap/apple.c: Likewise.
42231 * partmap/gpt.c: Likewise.
42232 * partmap/pc.c: Likewise.
42233 * partmap/sun.c: Likewise.
42234 * term/gfxterm.c: Likewise.
42235 * term/terminfo.c: Likewise.
42236 * term/efi/console.c: Likewise.
42237 * term/i386/pc/console.c: Likewise.
42238 * term/i386/pc/serial.c: Likewise.
42239 * term/i386/pc/vesafb.c: Likewise.
42240 * term/i386/pc/vga.c: Likewise.
42241 * term/ieee1275/ofconsole.c: Likewise.
42242 * util/biosdisk.c: Likewise.
42243 * util/console.c: Likewise.
42244 * util/genmoddep.c: Likewise.
42245 * util/getroot.c: Likewise.
42246 * util/grub-emu.c: Likewise.
42247 * util/grub-mkdevicemap.c: Likewise.
42248 * util/grub-probe.c: Likewise.
42249 * util/lvm.c: Likewise.
42250 * util/misc.c: Likewise.
42251 * util/raid.c: Likewise.
42252 * util/resolve.c: Likewise.
42253 * util/update-grub.in: Likewise.
42254 * util/update-grub_lib.in: Likewise.
42255 * util/grub.d/00_header.in: Likewise.
42256 * util/grub.d/10_hurd.in: Likewise.
42257 * util/grub.d/10_linux.in: Likewise.
42258 * util/i386/efi/grub-install.in: Likewise.
42259 * util/i386/efi/grub-mkimage.c: Likewise.
42260 * util/i386/pc/grub-install.in: Likewise.
42261 * util/i386/pc/grub-mkimage.c: Likewise.
42262 * util/i386/pc/grub-mkrescue.in: Likewise.
42263 * util/i386/pc/grub-setup.c: Likewise.
42264 * util/i386/pc/misc.c: Likewise.
42265 * util/powerpc/ieee1275/grub-install.in: Likewise.
42266 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
42267 * util/powerpc/ieee1275/misc.c: Likewise.
42268 * video/bitmap.c: Likewise.
42269 * video/video.c: Likewise.
42270 * video/i386/pc/vbe.c: Likewise.
42271 * video/i386/pc/vbeblit.c: Likewise.
42272 * video/i386/pc/vbefill.c: Likewise.
42273 * video/i386/pc/vbeutil.c: Likewise.
42274 * video/readers/tga.c: Likewise.
42275
3572d015 422762007-07-02 Robert Millan <rmh@aybabtu.com>
42277
42278 * conf/i386-efi.rmk: Replace obsolete reference to
42279 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
42280 with util/getroot.c.
42281 * conf/powerpc-ieee1275.rmk: Likewise.
42282 * conf/sparc64-ieee1275.rmk: Likewise.
42283
42284 * util/grub-emu.c (main): Fix unchecked pointer handling.
42285
2c2a681b 422862007-07-02 Robert Millan <rmh@aybabtu.com>
42287
42288 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
42289 invocation to fail, in order to support partition-less media.
42290
42291 * util/i386/pc/grub-install.in: Likewise.
42292
42293 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
42294 which fs or partmap modules are needed (akin to its sister scripts).
42295
42296 Also use grub-probe to get rid of unportable /proc/mounts check.
42297
42298 Print the same informational message that the other scripts do, before
fe6b695a 42299 exiting.
2c2a681b 42300
6193defe 423012007-06-23 Robert Millan <rmh@aybabtu.com>
42302
fe6b695a 42303 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 42304 a font file can be found and, if so, echo the GRUB path to it.
42305
42306 * util/update-grub.in: Handle multiple terminals depending on user
42307 input, platform availability and font file presence. Propagate
42308 variables of our findings to /etc/grub.d/ children.
42309
42310 * util/grub.d/00_header.in: Handle multiple terminals, based on
42311 environment setup by update-grub.
42312
eface1dc 423132007-06-23 Robert Millan <rmh@aybabtu.com>
42314
ba50d28f 42315 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 42316
bf697e28 423172007-06-21 Robert Millan <rmh@aybabtu.com>
42318
42319 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
42320 indicate end of data section in kernel image.
42321 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
42322 GRUB_KERNEL_MACHINE_DATA_END.
42323
42324 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
42325 space for it.
42326 * kern/i386/efi/startup.S: Likewise.
42327
42328 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
42329 during image generation. Implement --prefix option to override this
42330 patch.
42331 * util/i386/efi/grub-mkimage.c: Likewise.
42332
42333 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
42334 code to make path relative to its root into a separate function.
42335
42336 * util/i386/pc/grub-install.in: Use newly provided
42337 make_system_path_relative_to_its_root() to convert ${grubdir}, then
42338 pass the result to grub-install --prefix.
42339
baa574b4 423402007-06-13 Robert Millan <rmh@aybabtu.com>
42341
42342 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
42343 DEFAULT_DEVICE_MAP.
42344 * util/grub-emu.c: Use above definitions from misc.h instead of
42345 defining them.
42346 * util/grub-mkdevicemap.c: Likewise.
42347 * util/i386/pc/grub-setup.c: Likewise.
42348 * util/grub-probe.c: Likewise.
42349 (probe): Abort with grub_util_error() when either
42350 grub_guess_root_device or grub_util_get_grub_dev fails.
42351
0215dcbf 423522007-06-12 Robert Millan <rmh@aybabtu.com>
42353
42354 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
42355 "pager" assignment.
42356 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
42357 "pcdata".
42358 * util/grub-probe.c (probe): Likewise for "drive_name".
42359
8af2ab7b 423602007-06-11 Robert Millan <rmh@aybabtu.com>
42361
42362 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
42363 not just the cdrom one.
42364
59d31694 423652007-06-11 Robert Millan <rmh@aybabtu.com>
42366
42367 * util/i386/pc/grub-mkrescue.in: Add "set -e".
42368 Add --pkglibdir=DIR option to override pkglibdir.
42369 Mention --image-type=TYPE in help output.
42370 Fix --grub-mkimage (it was a no-op).
fe6b695a 42371 Abort gracefully when no parameter is given.
59d31694 42372
7ee367e4 423732007-06-11 Robert Millan <rmh@aybabtu.com>
42374
42375 * util/i386/pc/grub-mkrescue.in: New file.
42376 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
42377 * Makefile.in: Handle bin_SCRIPTS.
42378
29b0ed46 423792007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
42380
42381 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
42382 list of video modes.
42383
c0f90770 423842007-06-06 Robert Millan <rmh@aybabtu.com>
42385
42386 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
42387 file doesn't exist, or if it is in a filesystem grub can't read.
42388
42389 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
42390 not abort if GRUB_DRIVE could not be defined. Rearrange generated
42391 header comment to fit in 80 columns when the variables are resolved.
42392
42393 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
42394 could be identified by update-grub. Remove redundant check for
fe6b695a 42395 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 42396 handles that).
42397
fb36dc26 423982007-06-04 Robert Millan <rmh@aybabtu.com>
42399
42400 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
42401
42402 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
42403
42404 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
42405
0c68c93e 424062007-06-04 Robert Millan <rmh@aybabtu.com>
42407
42408 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
42409
42410 * include/grub/partition.h: Declare grub_apple_partition_map_init and
42411 grub_apple_partition_map_fini.
42412
42413 * util/biosdisk.c
42414 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
42415 to access >2 TiB disks).
42416
42417 Print disk->total_sectors with %llu instead of %lu, since this
42418 variable is always 64-bit (prevents wrong disk size from being displayed
42419 on either >2 TiB disk or big-endian CPU).
42420
42421 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
42422 into a generic case that supports all (sane) partition maps.
42423
42424 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
42425 breaks big-endian.
42426
42427 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
42428 and grub_apple_partition_map_fini() after that.
42429
0f23eb74 424302007-06-01 Robert Millan <rmh@aybabtu.com>
42431
42432 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
42433
42434 * util/grub.d/00_header.in: Only enable gfxterm when
42435 convert_system_path_to_grub_path() succeeds.
42436
42c71976 424372007-05-20 Robert Millan <rmh@aybabtu.com>
42438
42439 * util/update-grub_lib.in: New file.
42440 * DISTLIST: Add update-grub_lib.in.
42441 * conf/common.rmk: Generate update-grub_lib and install it in
42442 $(lib_DATA).
42443 * Makefile.in: Add install routine for $(lib_DATA).
42444
42445 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
42446 function provided by update-grub_lib to support arbitrary paths of
42447 unifont.pff.
42448 * util/update-grub.in: Use convert_system_path_to_grub_path() to
42449 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
42450
5beb2291 424512007-05-19 Robert Millan <rmh@aybabtu.com>
42452
42453 * commands/i386/cpuid.c: New module.
42454 * DISTLIST: Add it.
42455 * conf/i386-efi.rmk: Enable cpuid.mod.
42456 * conf/i386-pc.rmk: Likewise.
42457
7262eca1 424582007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
42459
42460 * kern/disk.c (grub_disk_read): Check return value of
42461 grub_realloc().
42462
260ba823 424632007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
42464
42465 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
42466 arrays.
42467 * disk/raid.c (grub_raid_open): Likewise.
42468
1ecb6cf2 424692007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
42470
42471 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
42472 stack instead of on the heap.
42473
42474 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
42475 before doing a read on it.
42476
42477 * configure.ac: Only use -fno-stack-protector for the target
42478 environment.
f19dbdb7 42479
21c8cbb1 424802007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
42481
42482 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
42483 __attribute_ ((unused)) to mode_type argument.
42484
42485 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 42486
21c8cbb1 42487 * kern/misc.c (memcmp): Fix prototype.
42488
42489 * include/grub/partition.h [GRUB_UTIL]
42490 (grub_gpt_partition_map_init): Add prototype.
42491 (grub_gpt_partition_map_fini): Likewise.
42492
42493 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
42494 at the right place.
42495
42496 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
42497 (grub_fat_read_data): Likewise.
42498 (grub_fat_find_dir): Likewise.
42499
42500 * font/manager.c (find_glyph): Make table a const.
42501 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 42502
849d55d3 425032007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
42504
42505 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
42506 code, first search for device in /dev/mapper, then in /dev.
42507 (grub_util_get_grub_dev): New function.
42508 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
42509 prototype.
42510 * util/grub-probe.c (probe): Remove check for RAID, call
42511 grub_util_get_grub_dev() instead of
42512 grub_util_biosdisk_get_grub_dev().
42513 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
42514 grub_util_biosdisk_get_grub_dev().
42515 * util/i386/pc/grub-setup.c (main): Likewise.
42516
8fff7c2f 425172007-05-16 Robert Millan <rmh@aybabtu.com>
42518
42519 * DISTLIST: Update for the latest changes.
42520 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
42521 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
42522 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
42523 grub/util/biosdisk.h.
42524 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
42525 grub/util/biosdisk.h.
42526
48e12b52 425272007-05-16 Robert Millan <rmh@aybabtu.com>
42528
42529 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
42530
46b9d128 425312007-05-16 Robert Millan <rmh@aybabtu.com>
42532
42533 * util/i386/efi/grub-install.in: New.
42534 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
42535 newly added grub-install.
42536 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
42537 include.
42538 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
42539 grub/util/biosdisk.h.
42540 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
42541 grub/util/biosdisk.h.
42542
2d1a40a9 425432007-05-16 Robert Millan <rmh@aybabtu.com>
42544
42545 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
42546 * include/grub/util/biosdisk.h: ... here.
42547 * util/i386/pc/biosdisk.c: Moved to ...
42548 * util/biosdisk.c: ... here.
42549 * util/i386/pc/getroot.c: Moved to ...
42550 * util/getroot.c: ... here.
42551 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
42552 * util/grub-mkdevicemap.c: ... here.
42553 * util/i386/pc/grub-probe.c: Moved to ...
42554 * util/grub-probe.c: ... here.
42555
9e26e3bc 425562007-05-15 Robert Millan <rmh@aybabtu.com>
42557
42558 * util/update-grub.in: Remove duplicated line in grub.cfg header
42559 message.
42560
57f96397 425612007-05-13 Robert Millan <rmh@aybabtu.com>
42562
42563 * util/update-grub.in: Fix a few assumptions about the devices holding
42564 /, /boot and /boot/grub being the same.
42565 * util/grub.d/00_header.in: Likewise.
42566 * util/grub.d/10_hurd.in: Likewise.
42567 * util/grub.d/10_linux.in: Likewise.
42568
42569 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
42570 patterns. Use that to define the `.old' suffix as older than `'.
42571
42572 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
42573
42574 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
42575 the grub.cfg header message.
42576
2e610d62 425772007-05-11 Robert Millan <rmh@aybabtu.com>
42578
42579 * util/update-grub.in: Create device.map if it doesn't already exist,
42580 before attempting to run grub-probe.
42581 Check for grub-probe and grub-mkdevicemap with the same code
42582 grub-install is using.
42583 Remove test mode.
42584
3f6a10ef 425852007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
42586
42587 * Makefile.in: Add the datarootdir autoconf variable.
42588
02e7b75e 425892007-05-09 Robert Millan <rmh@aybabtu.com>
42590
42591 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 42592 fail gracefully if dev->disk->partition == NULL.
02e7b75e 42593
75f396cc 425942007-05-07 Robert Millan <rmh@aybabtu.com>
42595
42596 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
42597 determine partition map module.
42598 * util/i386/pc/grub-install.in: Use this feature to decide which
42599 partition module to load, instead of hardcoding pc and gpt.
42600
da65cb36 426012007-05-07 Robert Millan <rmh@aybabtu.com>
42602
42603 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
42604 source directory differs from build directory.
42605
b57d6a91 426062007-05-05 Robert Millan <rmh@aybabtu.com>
42607
42608 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
42609 initialisation.
42610
509d00f1 426112007-05-05 Robert Millan <rmh@aybabtu.com>
42612
42613 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
42614
c48f23ef 426152007-05-05 Robert Millan <rmh@aybabtu.com>
42616
42617 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
42618 command-line arguments via ${GRUB_CMDLINE_LINUX}.
42619
20b97658 426202007-05-05 Robert Millan <rmh@aybabtu.com>
42621
42622 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
42623 (grub_probe_SOURCES): Likewise.
42624 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
42625 GPT and initialize dos_part and bsd_part accordingly.
42626 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
42627 install_bsd_part.
42628 (main): Activate gpt module for use during partition identification,
42629 and deactivate it afterwards.
42630 * util/i386/pc/grub-install.in: Add gpt module to core.img.
42631 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
42632 partition identification, and deactivate it afterwards.
42633
99123174 426342007-05-05 Robert Millan <rmh@aybabtu.com>
42635
42636 * term/i386/pc/console.c (grub_console_fini): Call
42637 grub_term_set_current() before grub_term_unregister().
42638
ebd97f6e 426392007-05-04 Robert Millan <rmh@aybabtu.com>
42640
42641 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
42642 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
42643 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
42644 and update-grub_DATA.
42645 * conf/common.rmk: Build and install update-grub components.
42646 * conf/common.mk: Regenerate.
42647 * util/update-grub.in: New. Core of update-grub.
42648 * util/grub.d/00_header.in: New. Generates grub.cfg header.
42649 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
42650 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
42651 * util/grub.d/README: New. Document grub.d directory layout.
42652
b06a264d 426532007-05-01 Robert Millan <rmh@aybabtu.com>
42654
42655 * util/grub-emu.c: Move initialization functions
42656 grub_util_biosdisk_init() and grub_init_all() before
42657 grub_util_biosdisk_get_grub_dev(), which relies on them.
42658
41f0050e 426592007-04-19 Robert Millan <rmh@aybabtu.com>
42660
42661 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
42662 it is used later.
42663
04582bb3 426642007-04-18 Jerone Young <jerone@gmail.com>
42665
f19dbdb7 42666 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 42667 stanza.
42668
08db4632 426692007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 42670
08db4632 42671 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
42672 continue on and look for device node with real device name.
42673
801b76be 426742007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 42675
fe6b695a 42676 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 42677 ability.
42678 * Makefile.in: Add autoconf package transformation code.
42679 * util/i386/pc/grub-install.in: Likewise.
42680 * util/powerpc/ieee1275/grub-install.in: Likewise.
42681
6795c4e1 426822007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42683
42684 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
42685 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
42686 (EXT2_REVISION): Likewise.
42687 (EXT2_INODE_SIZE): Likewise.
42688 (struct grub_ext2_block_group): Added a missing member
42689 "used_dirs".
42690 (grub_ext2_read_inode): Divide by the inode size in a superblock
42691 instead of 128 to obtain INODES_PER_BLOCK.
42692 Use the macro EXT2_INODE_SIZE instead of directly using
42693 SBLOCK->INODE_SIZE.
42694
d70af616 426952007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42696
42697 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
42698 superblock instead of the structure size to compute an
42699 offset. This fixes the problem that GRUB could not read a
42700 filesystem when inode size is different from 128-byte.
42701
3b801603 427022007-03-05 Marco Gerards <marco@gnu.org>
42703
42704 * normal/main.c (read_config_file): When "menu" is not set, create
42705 an initial context.
42706
4785bfe4 427072007-02-21 Hollis Blanchard <hollis@penguinppc.org>
42708
42709 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
42710 (HEAP_LIMIT): New macro.
42711 (grub_claim_heap): Claim memory up to `heaplimit'.
42712
a0cbb023 427132007-02-21 Hollis Blanchard <hollis@penguinppc.org>
42714
42715 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
42716 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
42717 (_start): Likewise.
42718 (grub_arch_modules_addr): Return address after `_end'.
42719 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
42720 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
42721 (add_segments): Calculate `_end' from phdr size and location.
42722 (ALIGN_UP): Moved to ...
42723 * include/grub/misc.h: here.
42724 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42725 New macro.
42726 (GRUB_IEEE1275_MODULE_BASE): Removed.
42727
fd7d8eba 427282007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42729
42730 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
42731 loop boundary.
42732
9b09e6fc 427332007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42734
42735 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
42736 All users updated.
42737 (grub_elf64_load_hook_t): Likewise.
42738 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
42739 debug output.
42740
3ce27299 427412007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42742
42743 * kern/mm.c: Update copyright.
42744 (grub_mm_debug): Correct syntax error.
42745 (grub_mm_dump_free): New function.
42746 (grub_debug_free): Call `grub_free'.
42747 * include/grub/mm.h: Update copyright.
42748 (grub_mm_dump_free): Add declaration.
42749
077d5fee 427502007-02-12 Hollis Blanchard <hollis@penguinppc.org>
42751
42752 * include/grub/ieee1275/ieee1275.h: Update copyright.
42753 * kern/powerpc/ieee1275/init.c: Likewise.
42754 * kern/powerpc/ieee1275/openfw.c: Likewise.
42755
42756 * loader/powerpc/ieee1275/linux.c: Likewise.
42757 * include/grub/elfload.h: Likewise.
42758 * kern/elf.c: Likewise.
42759 (grub_elf32_load): Pass `base' and `size' parameters. Update all
42760 callers.
42761 (grub_elf64_load): Likewise.
42762 (grub_elf32_load_segment): Move to a nested function.
42763 (grub_elf64_load_segment): Likewise.
42764
dc946850 427652007-02-12 Hollis Blanchard <hollis@penguinppc.org>
42766
42767 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
42768 prototype.
42769 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
42770 (grub_heap_len): Likewise.
42771 (HEAP_SIZE): New macro.
42772 (grub_claim_heap): New function.
42773 (grub_machine_init): Don't claim heap directly. Call
42774 `grub_claim_heap'.
42775 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
42776 (grub_available_iterate): New function.
42777
baa2a121 427782007-02-03 Thomas Schwinge <tschwinge@gnu.org>
42779
42780 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
42781 * configure.ac: Use it for testing the HOST and TARGET compilers.
42782
4fe9862e 427832006-12-13 Thomas Schwinge <tschwinge@gnu.org>
42784
42785 * Makefile.in (enable_grub_emu): New variable.
42786 * configure.ac (--enable-grub-emu): New option.
42787 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
42788 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
42789 * conf/i386-pc.rmk: Likewise.
42790 * conf/powerpc-ieee1275.rmk: Likewise.
42791 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
42792
a8aa5762 427932006-12-12 Marco Gerards <marco@gnu.org>
42794
42795 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
42796
42797 * kern/env.c (grub_env_unset): Don't free the member `value' when
42798 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
42799 pointer.
42800
42801 * normal/main.c (current_menu): Removed.
42802 (free_menu): Unset the `menu' environment variable.
42803 (grub_normal_menu_addentry): Make use of the environment variable
42804 `menu', instead of using the global `current_menu'. Allocate
42805 memory for the sourcecode of this entry.
42806 (read_config_file): New argument `nested', changed all callers.
42807 Only in the case of a new context, initialize a new menu. Set the
42808 `menu' environment variable.
42809 (grub_normal_execute): Don't set and unset the environment
42810 variable `menu' here anymore. Only free the menu when leaving the
42811 context.
42812
42813 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
42814 leak.
42815
957b3a3e 428162006-12-11 Marco Gerards <marco@gnu.org>
42817
42818 * normal/menu_entry.c (run): Fix off by one bug so the last line
42819 is executed. Move the loader check to outside the loop.
42820
ef875714 428212006-12-08 Hollis Blanchard <hollis@penguinppc.org>
42822
42823 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
42824
4e739985 428252006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
42826
42827 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
42828 the number of sectors. Reported by Andrey Shuvikov
42829 <mr_hyro@yahoo.com>.
f19dbdb7 42830
790707f2 428312006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
42832
42833 * kern/disk.c (grub_disk_read): When there is a read error, always
42834 try to read only the necessary data.
f19dbdb7 42835
790707f2 42836 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
42837 disk/raid.c.
42838 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
42839 prototype.
42840 [GRUB_UTIL] (grub_raid_fini): Likewise.
42841 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 42842 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 42843 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
42844 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
42845 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
42846 and grub_raid_fini().
f19dbdb7 42847
03e58196 428482006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42849
42850 * include/grub/types.h (__unused): Rename to UNUSED.
42851 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
42852 (grub_elf64_size): Likewise.
f19dbdb7 42853
ae4f23bf 428542006-11-03 Hollis Blanchard <hollis@penguinppc.org>
42855
42856 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
42857 grub_error_push and grub_error_pop in the error-handling path.
42858 (grub_elf32_load_segment): Only call grub_file_read with non-zero
42859 length.
42860
2166cc83 428612006-11-03 Hollis Blanchard <hollis@penguinppc.org>
42862
42863 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
42864 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42866 (kernel_elf_SOURCES): Likewise.
42867 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
42868 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
42869 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42870 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42871 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
42872 (elf_mod_SOURCES): New variable.
42873 (elf_mod_CFLAGS): Likewise.
42874 (elf_mod_LDFLAGS): Likewise.
42875 * include/grub/types.h (__unused): New macro.
42876 * include/grub/elfload.h: New file.
42877 * kern/elf.c: Likewise.
42878 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
42879 (ELF32_LOADMASK): New macro.
42880 (ELF64_LOADMASK): Likewise.
42881 (vmlinux): Removed.
42882 (grub_linux_load32): New function.
42883 (grub_linux_load64): Likewise.
42884 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
42885 Use grub_elf_t instead of grub_file_t.
42886
a09d5aa5 428872006-11-02 Hollis Blanchard <hollis@penguinppc.org>
42888
42889 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
42890 `catch_result' to struct set_color_args.
42891
d976fc51 428922006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42893
42894 * normal/menu.c: Include grub/script.h.
42895 * normal/menu_entry.c: Likewise.
42896 * include/grub/normal.h: Do not include grub/script.h.
42897
67507549 428982006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42899
42900 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
42901
69203a99 429022006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42903
42904 * kern/disk.c (grub_disk_open): Print debug messages when opening a
42905 disk.
42906 (grub_disk_close): Print debug messages when closing a disk.
42907 (grub_disk_read): Print debug messages when disk read fails.
42908 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
42909 filesystem type.
42910 * kern/partition.c: Include misc.h.
42911 (grub_partition_iterate): Print debug messages when detecting
42912 partition type.
42913
e2b8278c 429142006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42915
42916 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
42917 is negative.
42918 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
42919
97b2f2ff 429202006-10-26 Hollis Blanchard <hollis@penguinppc.org>
42921
42922 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42923 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
42924
6555d655 429252006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
42926
42927 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
42928 instead of sizeof(lv). Patch by Michael Guntsche.
42929
4d42b77f 429302006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
42931
42932 * disk/lvm.c: Rename VGS to VG_LIST.
42933 (grub_lvm_iterate): Change VGS->LV to VG-LV.
42934 (grub_lvm_open): Likewise.
42935 Thanks to Michael Guntsche for finding this bug.
42936
5d74d927 429372006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42938
42939 * configure.ac (AC_INIT): Bumped to 1.95.
42940
a1bb27e4 429412006-10-14 Robert Millan <rmh@aybabtu.com>
42942
42943 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
42944 with "/dev/.static/dev/md".
42945
e0994b8b 429462006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42947
42948 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
42949 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
42950 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
42951 DRIVE_NAME are always freed.
42952
42953 * util/i386/pc/biosdisk.c (make_device_name): Add one into
42954 DOS_PART, as a DOS partition is counted from one instead of zero
42955 now. Reported by Robert Millan.
42956
ddd5cee9 429572006-10-14 Robert Millan <rmh@aybabtu.com>
42958
42959 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
42960 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
42961 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
42962 string returned by grub_guess_root_device.
42963 * util/i386/pc/grub-setup.c: Likewise.
42964 * util/i386/pc/grub-probefs.c: Likewise.
42965
42966 * util/i386/pc/grub-probefs.c: Rename to ...
42967 * util/i386/pc/grub-probe.c: ... this.
42968 * DISTLIST: Remove grub-probefs, add grub-probe.
42969 * conf/i386-efi.rmk: Likewise.
42970 * conf/i386-pc.rmk: Likewise.
42971 * util/i386/pc/grub-install.in: Likewise.
42972
42973 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
42974 choose which information we want to print.
42975
2b002173 429762006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42977
42978 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
42979 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
42980 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
42981 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
42982 video/readers/tga.c and video/i386/pc/vbeutil.c.
42983
429842006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
42985
42986 Added support for RAID and LVM.
f19dbdb7 42987
2b002173 42988 * disk/lvm.c: New file.
42989 * disk/raid.c: Likewise.
42990 * include/grub/lvm.h: Likewise.
f19dbdb7 42991 * include/grub/raid.h: Likewise.
2b002173 42992 * include/grub/util/lvm.h: Likewise.
42993 * include/grub/util/raid.h: Likewise.
42994 * util/lvm.c: Likewise.
42995 * util/raid.c: Likewise.
42996
42997 * include/grub/disk.h (grub_disk_dev_id): Add
42998 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
42999 (grub_disk_get_size): New prototype.
43000 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
43001 returns a partition.
43002 (grub_disk_get_size): New function.
f19dbdb7 43003
2b002173 43004 * kern/i386/pc/init.c (make_install_device): Copy the prefix
43005 verbatim if grub_install_dos_part is -2.
43006
43007 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
43008 and LVM devices.
43009
43010 * util/i386/pc/grub-setup.c (setup): New argument
43011 MUST_EMBED. Force embedding of GRUB when the argument is
43012 true. Close FILE before returning.
43013 (main): Add support for RAID and LVM.
f19dbdb7 43014
2b002173 43015 * conf/common.rmk: Add RAID and LVM modules.
43016 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
43017 util/lvm.c.
43018 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
43019
43020 * kern/misc.c (grub_strstr): New function.
43021 * include/grub/misc.h (grub_strstr): New prototype.
43022
050548d0 430232006-10-10 Tristan Gingold <tristan.gingold@bull.net>
43024
43025 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
43026
da849d2d 430272006-10-05 Tristan Gingold <tristan.gingold@bull.net>
43028
43029 * kern/misc.c (grub_strtoull): Guess the base only if not
43030 specified.
43031
97b2f2ff 430322006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 43033
43034 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
43035 PowerMac support.
43036
97b2f2ff 430372006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 43038
43039 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
43040
43041 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
43042 Remove `flags' argument. All callers changed.
43043 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
43044 (IEEE1275_IHANDLE_INVALID): New variable.
43045 (IEEE1275_CELL_INVALID): New variable.
43046 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
43047 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
43048 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
43049 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
43050 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
43051 codes from Open Firmware. All callers updated.
43052 (grub_ieee1275_next_property): Directly return Open Firmware return
43053 code.
43054 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43055 Standardize error checking from `grub_ieee1275_get_property'.
43056 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
43057 `devalias' to `aliases'. Correct comments. Consolidate error paths.
43058
97b2f2ff 430592006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 43060
43061 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
43062 `instance_to_package_args' to `instance_to_path_args'.
43063
43064 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
43065 `grub_ieee1275_chosen'.
43066
43067 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
43068 `grub_ieee1275_interpret'.
43069
97b2f2ff 430702006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 43071
43072 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
43073
97b2f2ff 430742006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 43075
43076 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
43077 (__cmpdi): Likewise.
43078
43079 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
43080 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
43081 `grub_ssize_t'.
43082
02bb8acc 43083 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 43084
43085 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
43086 to type `grub_ssize_t'.
43087 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
43088
7f9a8531 430892006-09-22 Marco Gerards <marco@gnu.org>
43090
43091 * normal/script.c (grub_script_create_cmdmenu): Skip leading
43092 newlines.
43093
b5ef1102 430942006-09-22 Marco Gerards <marco@gnu.org>
43095
43096 * commands/echo.c: New file.
43097
43098 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
43099
43100 * conf/common.rmk (echo_mod_SOURCES): New variable.
43101 (echo_mod_CFLAGS): Likewise.
43102 (echo_mod_LDFLAGS): Likewise.
43103
2cff3677 431042006-09-22 Marco Gerards <marco@gnu.org>
43105
43106 * normal/main.c (get_line): Malloc memory instead of using
43107 preallocated memory. Removed the arguments `cmdline' and
43108 `max_len'. Updated all callers.
43109
6ba4688b 431102006-09-22 Marco Gerards <marco@gnu.org>
43111
43112 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
43113 (normal_mod_DEPENDENCIES): Likewise.
43114
43115 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
43116 (normal_mod_DEPENDENCIES): Likewise.
43117
43118 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
43119
e02ac02c 431202006-09-22 Johan Rydberg <jrydberg@gnu.org>
43121
43122 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
43123 programs.
43124 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
43125 (normal_mod_DEPENDENCIES): Likewise.
43126 * conf/i386-pc.mk: Regenerate.
43127 * conf/i386-efi.mk: Likewise
43128 * conf/common.mk: Likewise.
43129 * conf/powerpc-ieee1275.mk: Likewise.
43130 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43131
8d252e44 431322006-09-22 Robert Millan <rmh@aybabtu.com>
43133
43134 Sync with i386 version.
43135 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
43136 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
43137
209bf7ac 431382006-09-21 Robert Millan <rmh@aybabtu.com>
43139
43140 Import from GRUB Legacy (lib/device.c):
43141 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
43142 (init_device_map) [__linux__]: Add support for I2O devices.
43143
6b146090 431442006-09-14 Marco Gerards <marco@gnu.org>
43145
43146 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
43147 `-melf_i386'.
43148
e38600a8 431492006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 43150
43151 * util/i386/pc/grub-install.in: Skip menu.lst when removing
43152 /boot/grub/*.lst.
78fa1790 43153
2952da5d 43154 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 43155
2952da5d 43156 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
43157 before adding it to device.map.
43158
01b82a64 431592006-08-15 Johan Rydberg <jrydberg@gnu.org>
43160
fe6b695a 43161 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 43162 compiles a file; using the -MD option.
43163 * conf/common.mk: Regenerate.
43164 * conf/i386-pc.mk: Likewise.
43165 * conf/i386-efi.mk: Likewise.
43166 * conf/powerpc-ieee1275.mk: Likewise.
43167 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43168
1064790d 431692006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
43170
43171 Move the prototypes of grub_setjmp and grub_longjmp to
43172 cpu/setjmp.h, so that each architecture may specify different
43173 attributes.
f19dbdb7 43174
1064790d 43175 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
43176 (grub_longjmp): Likewise.
43177 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
43178 (grub_longjmp): Likewise.
43179 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
43180 (grub_longjmp): Likewise.
43181
43182 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
43183 [!GRUB_UTIL] (grub_longjmp): Removed.
43184
29dda3ed 431852006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
43186
43187 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
43188 "color!" method does not return any value.
43189
ad2a06ed 431902006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43191
43192 * include/grub/bitmap.h: New file.
43193
43194 * include/grub/i386/pc/vbeutil.h: Likewise.
43195
43196 * video/bitmap.c: Likewise.
43197
43198 * video/readers/tga.c: Likewise.
43199
43200 * video/i386/pc/vbeutil.c: Likewise.
43201
43202 * commands/videotest.c: Code cleanup and updated to reflect to new
43203 video API.
43204
43205 * term/gfxterm.c: Likewise.
43206
43207 * video/video.c: Likewise.
43208
43209 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
43210 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
43211 (bitmap_mod_SOURCES): New entry.
43212 (bitmap_mod_CFLAGS): Likewise.
43213 (bitmap_mod_LDFLAGS): Likewise.
43214 (tga_mod_SOURCES): Likewise.
43215 (tga_mod_CFLAGS): Likewise.
43216 (tga_mod_LDFLAGS): Likewise.
43217
43218 * include/grub/video.h (grub_video_blit_operators): New enum type.
43219 (grub_video_render_target): Changed as forward declaration and moved
43220 actual definition to be video driver specific.
43221 (grub_video_adapter.blit_bitmap): Added blitting operator.
43222 (grub_video_adapter.blit_render_target): Likewise.
43223 (grub_video_blit_bitmap): Likewise.
43224 (grub_video_blit_render_target): Likewise.
43225
43226 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
43227 driver specific render target definition.
43228 (grub_video_vbe_map_rgba): Added driver internal helper.
43229 (grub_video_vbe_unmap_color): Updated to use
43230 grub_video_i386_vbeblit_info.
43231 (grub_video_vbe_get_video_ptr): Likewise.
43232
43233 * include/grub/i386/pc/vbeblit.h
43234 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
43235 grub_video_i386_vbeblit_info.
43236 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
43237 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
43238 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
43239 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
43240 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
43241 (grub_video_i386_vbeblit_index_index): Likewise.
43242 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
43243 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
43244 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
43245 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
43246 operator.
43247 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
43248 operator.
43249
43250 * video/i386/pc/vbeblit.c: Updated to reflect changes on
43251 include/grub/i386/pc/vbeblit.h.
43252
43253 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
43254 Updated to use grub_video_i386_vbeblit_info.
43255 (grub_video_i386_vbefill_R8G8B8): Likewise.
43256 (grub_video_i386_vbefill_index): Likewise.
43257 (grub_video_i386_vbefill): Added generic filler.
43258
43259 * video/i386/pc/vbefill.c: Updated to reflect changes on
43260 include/grub/i386/pc/vbefill.h.
43261
43262 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
43263 grub_video_i386_vbeblit_info.
43264 (grub_video_vbe_unmap_color): Likewise.
43265 (grub_video_vbe_blit_glyph): Likewise.
43266 (grub_video_vbe_scroll): Likewise.
43267 (grub_video_vbe_draw_pixel): Removed function.
43268 (grub_video_vbe_get_pixel): Likewise.
43269 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
43270 updated code to use it.
43271 (common_blitter): Added common blitter for render target and bitmap.
43272 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
43273 (grub_video_vbe_blit_render_target): Likewise.
43274
bc8c036d 432752006-07-30 Johan Rydberg <jrydberg@gnu.org>
43276
43277 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
43278 is in text mode if there is no console control protocol instance
43279 available.
43280
684a8eff 432812006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43282
43283 * include/grub/video.h: Code cleanup.
43284
43285 * include/grub/i386/pc/vbe.h: Likewise.
43286
43287 * video/i386/pc/vbe.c: Likewise.
43288
43289 * video/i386/pc/vbeblit.c: Likewise.
43290
43291 * video/i386/pc/vbefill.c: Likewise.
43292
43293 * video/video.c: Likewise. Also added more comments.
43294
5915059b 432952006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43296
43297 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
43298 (struct grub_biosdisk_dap): Likewise.
43299
43300 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
43301 linkage settings for all functions.
43302
90ce5d56 433032006-07-12 Marco Gerards <marco@gnu.org>
43304
43305 * configure.ac (--enable-mm-debug): Fix typo.
43306
43307 * genkernsyms.sh.in: Use proper quoting for `CC'.
43308
43e7f879 433092006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
43310
43311 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
43312 (normal_mod_ASFLAGS): Remove "-m32".
43313
4889bdec 433142006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
43315
43316 * util/misc.c: Include config.h.
43317 [!HAVE_MEMALIGN]: Do not include malloc.h.
43318 (grub_memalign): Use posix_memalign, if present. Then, use
43319 memalign, if present. Otherwise, emit an error.
43320
43321 * util/grub-emu.c: Do not include malloc.h.
43322
43323 * include/grub/util/misc.h: Include unistd.h. This is required for
43324 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
43325 D. Eades III <hde@foobar-qux.org>.
43326
43327 * configure.ac (AC_GNU_SOURCE): Added.
43328 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
43329 type.
43330
fd39d4da 433312006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
43332
43333 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
43334 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
43335
b786f3b5 433362006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
43337
43338 * include/grub/types.h (grub_host_addr_t): Rename to
43339 grub_target_addr_t.
43340 (grub_host_off_t): Rename to grub_target_off_t.
43341 (grub_host_size_t): Rename to grub_target_size_t.
43342 (grub_host_ssize_t): Rename to grub_target_ssize_t.
43343 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
43344
43345 * include/grub/kernel.h (struct grub_module_header): Change type
43346 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
43347 (grub_module_info): Likewise.
f19dbdb7 43348
051988bb 433492006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
43350
43351 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
43352 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
43353 Velazquez <jesus.velazquez@gmail.com>.
43354
deae281b 433552006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
43356
43357 Count partitions from 1 instead of 0 in the string representation
43358 of partitions. Still use 0-based internally.
f19dbdb7 43359
deae281b 43360 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
43361 (sun_partition_map_iterate): Use grub_partition_t instead of
43362 struct grub_partition *. Cast DESC->START_CYLINDER to
43363 grub_uint64_t after converting the endian.
43364 (sun_partition_map_probe): Subtract 1 for PARTNUM.
43365 (sun_partition_map_get_name): Add 1 to P->INDEX.
43366
43367 * partmap/pc.c (grub_partition_parse): Subtract 1 for
43368 PCDATA->DOS_PART.
43369 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
43370
43371 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
43372 zero instead of one.
43373 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
43374 (gpt_partition_map_get_name): Add 1 into P->INDEX.
43375
43376 * partmap/apple.c (apple_partition_map_iterate): Change the type
43377 of POS to unsigned.
43378 (apple_partition_map_probe): Subtract 1 for PARTNUM.
43379 (apple_partition_map_get_name): Add 1 into P->INDEX.
43380
43381 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
43382 of POS to unsigned.
43383 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
43384 calculate the offset of a partition.
43385 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
43386 (amiga_partition_map_get_name): Add 1 into P->INDEX.
43387
43388 * partmap/acorn.c (acorn_partition_map_find): Change the type of
43389 SECTOR to grub_disk_addr_t.
43390 (acorn_partition_map_iterate): Likewise.
43391 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
43392 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
43393 top.
43394 (acorn_partition_map_get_name): Add 1 into P->INDEX.
43395
43396 * kern/i386/pc/init.c (make_install_device): Add 1 into
43397 GRUB_INSTALL_DOS_PART.
43398
43399 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
43400 conditional.
43401
524a1e6a 434022006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
43403
43404 Clean up the code to support 64-bit addressing in disks and
43405 files. This change is not enough for filesystems yet.
f19dbdb7 43406
524a1e6a 43407 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
43408 type of "start" to grub_uint64_t.
43409 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
43410 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
43411 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
43412 convert addresses.
43413
43414 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
43415 to grub_disk_addr_t.
43416
43417 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
43418 string.
43419
43420 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43421
43422 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
43423 to char *.
43424
43425 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
43426
43427 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
43428
43429 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
43430
43431 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
43432 to grub_off_t, to detect an error from grub_file_seek.
43433 (grub_multiboot_load_elf32): Likewise.
43434
43435 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
43436 maximum unsigned long value when an overflow is detected.
43437 (grub_strtoull): New function.
43438 (grub_divmod64): Likewise.
43439 (grub_lltoa): use grub_divmod64.
43440
43441 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
43442 grub_disk_addr_t.
43443 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
43444 the pointer to next character. Use grub_strtoull instead of
43445 grub_strtoul.
43446 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
43447 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
43448 respectively.
43449
fe6b695a 43450 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 43451 return value is signed.
43452 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
43453 test if OFFSET is less than zero, as OFFSET is unsigned now.
43454
43455 * kern/disk.c (struct grub_disk_cache): Change the type of
43456 "sector" to grub_disk_addr_t.
43457 (grub_disk_cache_get_index): Change the type of SECTOR to
43458 grub_disk_addr_t. Calculate the hash with SECTOR casted to
43459 unsigned after shifting.
43460 (grub_disk_cache_invalidate): Change the type of SECTOR to
43461 grub_disk_addr_t.
43462 (grub_disk_cache_unlock): Likewise.
43463 (grub_disk_cache_store): Likewise.
43464 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
43465 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
43466 grub_disk_addr_t and grub_uint64_t, respectively.
43467 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
43468 body, as the value of OFFSET is tweaked by
43469 grub_disk_check_range. Change the types of START_SECTOR, LEN and
43470 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
43471 respectively.
43472 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
43473 body, as the value of OFFSET is tweaked by
43474 grub_disk_check_range. Change the types of LEN and N to
43475 grub_size_t.
43476
43477 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
43478 and "saved_offset" to grub_off_t.
43479 (test_header): Cast BUF to char *.
43480 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
43481 to char *.
43482 (grub_gzio_read): Change the types of OFFSET and SIZE to
43483 grub_off_t and grub_size_t, respectively.
43484
43485 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
43486 Removed.
43487 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
43488 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
43489 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
43490 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
43491 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
43492
43493 * include/grub/types.h (grub_off_t): Unconditionally set to
43494 grub_uint64_t.
43495 (grub_disk_addr_t): Changed to grub_uint64_t.
43496
43497 * include/grub/partition.h (struct grub_partition): Change the
43498 types of "start", "len" and "offset" to grub_disk_addr_t,
43499 grub_uint64_t and grub_disk_addr_t, respectively.
43500 (grub_partition_get_start): Return grub_disk_addr_t.
43501 (grub_partition_get_len): Return grub_uint64_t.
43502
43503 * include/grub/misc.h (grub_strtoull): New prototype.
43504 (grub_divmod64): Likewise.
43505
43506 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
43507 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
43508 grub_off_t, respectively.
43509 All callers and references changed.
43510
43511 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
43512 grub_size_t in "read".
43513 All callers and references changed.
43514
43515 * include/grub/file.h (struct grub_file): Change the types of
43516 "offset" and "size" to grub_off_t and grub_off_t,
43517 respectively. Change the type of SECTOR to grub_disk_addr_t in
43518 "read_hook".
43519 (grub_file_read): Change the type of LEN to grub_size_t.
43520 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
43521 grub_off_t.
43522 (grub_file_size): Return grub_off_t.
43523 (grub_file_tell): Likewise.
43524 All callers and references changed.
43525
43526 * include/grub/disk.h (struct grub_disk_dev): Change the types of
43527 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
43528 "write".
43529 (struct grub_disk): Change the type of "total_sectors" to
43530 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 43531 "read_hook".
524a1e6a 43532 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
43533 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
43534 (grub_disk_write): Likewise.
43535 All callers and references changed.
43536
43537 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
43538 char * for grub_strncmp to silence gcc.
43539 (grub_iso9660_mount): Likewise.
43540 (grub_iso9660_mount): Likewise.
43541 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
43542 return statement.
43543 (grub_iso9660_iterate_dir): Likewise.
43544 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
43545
43546 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
43547 LEN to grub_disk_addr_t and grub_size_t, respectively.
43548
43549 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43550
43551 * fs/jfs.c (grub_jfs_read_file): Likewise.
43552
43553 * fs/minix.c (grub_jfs_read_file): Likewise.
43554
43555 * fs/sfs.c (grub_jfs_read_file): Likewise.
43556
43557 * fs/ufs.c (grub_jfs_read_file): Likewise.
43558
43559 * fs/xfs.c (grub_jfs_read_file): Likewise.
43560
43561 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
43562 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
43563 respectively.
43564
43565 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
43566 BLKNR to -1 instead of returning GRUB_ERRNO.
43567 (grub_ext2_read_file): Change the types of SECTOR and
43568 LEN to grub_disk_addr_t and grub_size_t, respectively.
43569
43570 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
43571 LEN to grub_disk_addr_t and grub_size_t, respectively.
43572
43573 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
43574 grub_file_read.
43575
43576 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
43577 string. Do not cast SECTOR explicitly.
43578
43579 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
43580 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
43581 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
43582 grub_disk_addr_t and grub_size_t, respectively. If the sector is
43583 over 2TB and LBA mode is not supported, raise an error.
43584 (get_safe_sectors): New function.
43585 (grub_biosdisk_read): Use get_safe_sectors.
43586 (grub_biosdisk_write): Likewise.
43587
43588 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
43589 (grub_efidisk_write): Likewise.
43590
43591 * disk/loopback.c (delete_loopback): Cosmetic changes.
43592 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
43593 correctly.
43594 (grub_loopback_open): Likewise.
43595 (grub_loopback_read): Likewise. Also, change the type of POS to
43596 grub_off_t, and fix the usage of grub_memset.
43597
43598 * commands/i386/pc/play.c: Include grub/machine/time.h.
43599
43600 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
43601 print FILE->SIZE.
43602
43603 * commands/configfile.c: Include grub/env.h.
43604
43605 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
43606 GRUB_ERRNO directly instead. Change the type of POS to
43607 grub_off_t. Follow the coding standard.
43608
43609 * commands/blocklist.c: Include grub/partition.h.
43610 (grub_cmd_blocklist): Return an error if the underlying device is
43611 not a disk. Take the starting sector of a partition into account,
43612 if a partition is used.
43613
43614 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
43615 a length field.
43616 (lba_mode): Support 64-bit addresses.
43617 (chs_mode): Likewise.
43618 (copy_buffer): Adapted to the new offsets of a length field and a
43619 segment field.
43620 (blocklist_default_start): Allocate 64-bit space.
43621
43622 * boot/i386/pc/boot.S (force_lba): Removed.
43623 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 43624 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 43625 space.
43626 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
43627 is useless.
43628 (lba_mode): Refactored to support a 64-bit address. More size
43629 optimization.
43630 (setup_sectors): Likewise.
43631
53af98ad 436322006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
43633
43634 * DISTLIST: Added include/grub/i386/linux.h. Removed
43635 include/grub/i386/pc/linux.h
43636
43637 * configure.ac (AC_INIT): Bumped to 1.94.
43638
43639 * config.guess: Updated from gnulib.
43640 * config.sub: Likewise.
43641 * install-sh: Likewise.
43642 * mkinstalldirs: Likewise.
43643
b4c1940a 436442006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
43645
43646 * conf/common.rmk (grub_modules_init.lst): Depended on
43647 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
43648 MODSRCFILES.
43649
43650 * genmk.rb (PModule::rule): Reverted the previous change.
43651
cfca1cfd 436522006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
43653
43654 * conf/common.rmk (grub_modules_init.lst): Depends on
43655 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
43656 that the target does not exist before producing.
43657 (grub_modules_init.h): Remove the target before generating.
43658 (grub_emu_init.c): Likewise.
43659
43660 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
43661
aa6d7826 436622006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
43663
43664 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
43665 for the target-specific tests. Make sure that we also have the
43666 up-to-date target variables for those tests.
43667
26c607b9 436682006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
43669
43670 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
43671 (PModule::rule): Likewise.
43672
0162321a 436732006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
43674
43675 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
43676 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
43677 target-specific flags should be prefixed.
43678 (PModule::rule): Likewise.
43679
6c826348 436802006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
43681
43682 * configure.ac (CMP): Check if cmp is available explicitly.
43683
b977bf01 436842006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
43685
43686 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
43687 (target_cpu): New variable.
43688 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 43689
b977bf01 43690 * util/i386/pc/grub-install.in (host_cpu): Removed.
43691 (target_cpu): New variable.
43692 (pkglibdir): Use target_cpu instead of host_cpu.
43693
43694 * util/genmoddep.c: Removed.
f19dbdb7 43695
b977bf01 43696 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
43697 instead of GRUB_HOST_SIZEOF_VOID_P.
43698 * kern/dl.c: Likewise.
43699
43700 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
43701 ...
43702 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43703 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43704 (GRUB_TARGET_SIZEOF_LONG): ... this.
43705 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43706 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43707 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
43708 to ...
43709 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43710 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43711 (GRUB_TARGET_SIZEOF_LONG): ... this.
43712 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43713 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43714 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
43715 to ...
43716 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43717 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43718 (GRUB_TARGET_SIZEOF_LONG): ... this.
43719 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43720 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43721
43722 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
43723 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
43724 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
43725 instead of GRUB_HOST_SIZEOF_LONG.
43726 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
43727 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
43728 GRUB_CPU_WORDS_BIGENDIAN.
43729 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
43730 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
43731 grub_host_ssize_t.
43732
43733 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
43734 (genmoddep_SOURCES): Likewise.
43735 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
43736 (genmoddep_SOURCES): Likewise.
43737 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
43738 (genmoddep_SOURCES): Likewise.
43739 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
43740 Likewise.
43741 (genmoddep_SOURCES): Likewise.
43742
43743 * genmoddep.awk: New file.
43744
43745 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
43746 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
43747 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
43748 (PModule::rule): Likewise.
43749 (Program::rule): Likewise.
43750 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
43751 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
43752 respectively.
43753
43754 * configure.ac: Rewritten intensively to use host and target
43755 instead of build and host, respectively.
43756
43757 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
43758 (host_cpu): Removed.
43759 (target_cpu): New variable.
43760 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
43761 (BUILD_CC): Removed.
43762 (BUILD_CFLAGS): Likewise.
43763 (BUILD_CPPFLAGS): Likewise.
43764 (TARGET_CC): New variable.
43765 (TARGET_CFLAGS): Likewise.
43766 (TARGET_CPPFLAGS): Likewise.
43767 (TARGET_LDFLAGS): Likewise.
43768 (AWK): Likewise.
43769 (include): Use target_cpu instead of host_cpu.
43770 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 43771
b977bf01 43772 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
43773
f09771a1 437742006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
43775
43776 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
43777 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
43778 field 'false' to 'exec_on_false'.
43779 (grub_script_create_cmdif): Renamed argument names to reflect above
43780 changes.
43781
43782 * normal/execute.c (grub_script_execute_cmdif): Likewise.
43783
43784 * normal/script.c (grub_script_create_cmdif): Likewise.
43785
118f4fb3 437862006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
43787
43788 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
43789 top.
43790 (grub_hfsplus_btree_recptr): Likewise.
43791 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
43792 FILEBLOCK both to pass a block number and store next block
43793 number.
43794 (grub_hfsplus_read_block): Rewritten heavily to support an extent
43795 overflow file correctly. Specify errors appropriately, because
43796 fshelp expects that GRUB_ERRNO is set when fails. Reuse
43797 grub_hfsplus_btree_recptr to get the pointer to a found key.
43798 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
43799 is found.
43800
43801 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
43802 linux.mod.
43803 (_linux_mod_SOURCES): New variable.
43804 (_linux_mod_CFLAGS): Likewise.
43805 (_linux_mod_LDFLAGS): Likewise.
43806 (linux_mod_SOURCES): Likewise.
43807 (linux_mod_CFLAGS): Likewise.
43808 (linux_mod_LDFLAGS): Likewise.
43809
43810 * DISTLIST: Added loader/i386/efi/linux.c,
43811 loader/i386/efi/linux_normal.c and
43812 include/grub/i386/efi/loader.h.
43813
43814 * loader/i386/efi/linux.c: New file.
43815 * loader/i386/efi/linux_normal.c: Likewise.
43816 * include/grub/i386/efi/loader.h: Likewise.
43817
89a7d726 438182006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
43819
43820 * commands/blocklist.c: New file.
43821
43822 * DISTLIST: Added commands/blocklist.c.
43823
43824 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 43825 color for the background, and a darker color for the foreground.
89a7d726 43826 (grub_console_checkkey): Return READ_KEY.
43827 (grub_console_cls): Set the background to
43828 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
43829
43830 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
43831
43832 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
43833 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
43834
43835 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
43836 prototype.
43837
43838 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
43839 BG. The spec is wrong again.
43840
43841 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
43842 prototype.
43843 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
43844
43845 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43846 commands/blocklist.c.
43847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 43848
89a7d726 43849 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
43850 (blocklist_mod_SOURCES): New variable.
43851 (blocklist_mod_CFLAGS): Likewise.
43852 (blocklist_mod_LDFLAGS): Likewise.
43853
75c8f258 438542006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
43855
43856 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
43857 duplication.
43858 (lba_mode): Use %eax more intensively to reduce the code size.
43859
da2eb181 438602006-05-20 Marco Gerards <marco@gnu.org>
43861
43862 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
43863
43864 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
43865 for `menuentry'.
43866 (script): Accept leading newlines.
43867 (newlines): New rule to describe 0 or more newlines.
43868 (commands): Accept `command' with trailing newline. Fixed the
43869 order in which arguments were passed to `grub_script_add_cmd'.
43870 Accept commands separated by newlines.
43871 (function): Changed to accept newlines.
43872 (menuentry) Rewritten.
43873
43874 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
43875 front of the list, instead of to the end.
43876
577b4050 438772006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
43878
43879 * util/i386/pc/grub-install.in (bindir): New variable.
43880 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
43881 Shaver <lbgwjl@gmail.com>.
43882
0d6e1189 438832006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
43884
43885 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
43886 grub/machine/linux.h
43887 * loader/i386/pc/linux.c: Likewise.
43888
43889 * include/grub/i386/pc/linux.h: Moved to ...
43890 * include/grub/i386/linux.h: ... here.
43891
43892 * include/grub/i386/linux.h (struct linux_kernel_params): New
43893 struct.
f19dbdb7 43894
31b86e9f 438952006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
43896
43897 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
43898 checking.
43899 (grub_video_vbe_blit_glyph): Likewise.
43900 (grub_video_vbe_blit_bitmap): Likewise.
43901 (grub_video_vbe_blit_render_target): Likewise.
43902
83b984de 439032006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
43904
43905 * configure.ac (--with-platform): Properly quote the square
43906 brackets.
43907
5f0413bd 439082006-05-08 Marco Gerards <marco@gnu.org>
43909
43910 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
43911 this...
43912 (kernel_elf_HEADERS): ...to this. Updated all users.
43913 (grubof_symlist.c): Renamed from this...
43914 (kernel_elf_symlist.c): ...to this. Updated all users.
43915 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
43916 (grubof_SOURCES): Renamed from this...
43917 (kernel_elf_SOURCES): ...to this.
43918 (grubof_HEADERS): Renamed from this...
43919 (kernel_elf_HEADERS): ...to this.
43920 (grubof_CFLAGS): Renamed from this...
43921 (kernel_elf_CFLAGS): ...to this.
43922 (grubof_ASFLAGS): Renamed from this...
43923 (kernel_elf_ASFLAGS): ...to this.
43924 (grubof_LDFLAGS): Renamed from this...
43925 (kernel_elf_LDFLAGS): ...to this.
43926
43927 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
43928 this...
43929 (kernel_elf_HEADERS): ...to this. Updated all users.
43930 (grubof_symlist.c): Renamed from this...
43931 (kernel_elf_symlist.c): ...to this. Updated all users.
43932 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
43933 (grubof_SOURCES): Renamed from this...
43934 (kernel_elf_SOURCES): ...to this.
43935 (grubof_HEADERS): Renamed from this...
43936 (kernel_elf_HEADERS): ...to this.
43937 (grubof_CFLAGS): Renamed from this...
43938 (kernel_elf_CFLAGS): ...to this.
43939 (grubof_ASFLAGS): Renamed from this...
43940 (kernel_elf_ASFLAGS): ...to this.
43941 (grubof_LDFLAGS): Renamed from this...
43942 (kernel_elf_LDFLAGS): ...to this.
43943
43944 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
43945 `kernel.elf' instead of `grubof'.
43946
05568c2e 439472006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
43948
43949 Add --with-platform to configure. Use pkglibdir instead of
43950 pkgdatadir. This is reported by Roger Leigh.
43951
43952 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
43953 (host_vendor): Likewise.
43954 (host_os): Likewise.
43955 (pkgdatadir): Likewise.
43956 (platform): New variable.
43957 (pkglibdir): Likewise.
43958 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 43959
05568c2e 43960 * util/i386/pc/grub-install.in (datadir): Removed.
43961 (host_vendor): Likewise.
43962 (host_os): Likewise.
43963 (pkgdatadir): Likewise.
43964 (platform): New variable.
43965 (pkglibdir): Likewise.
43966 Use PKGLIBDIR instead of PKGDATADIR.
43967
43968 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
43969 instead of GRUB_DATADIR.
43970 (main): Likewise.
43971 * util/i386/pc/grub-mkimage.c (usage): Likewise.
43972 (main): Likewise.
43973 * util/i386/efi/grub-mkimage.c (usage): Likewise.
43974 (main): Likewise.
43975
43976 * configure.ac (--with-platform): New option.
43977 Use PLATFORM instead of HOST_VENDOR to specify a platform.
43978
43979 * Makefile.in: Include a makefile based on PLATFORM instead of
43980 HOST_VENDOR.
43981 (pkgdatadir): Not appended by the machine type.
43982 (pkglibdir): Appended by the machine type.
43983 (host_vendor): Removed.
43984 (platform): New variable.
43985 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
43986 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
43987 (uninstall): Likewise.
43988
4e93851c 439892006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
43990
43991 Use the environment context in the menu. Remove the commands
43992 "default" and "timeout", and use variables instead.
f19dbdb7 43993
4e93851c 43994 * normal/menu.c: Include grub/env.h.
43995 (print_entry): Cast TITLE to silence gcc.
43996 (get_timeout): New function.
43997 (set_timeout): Likewise.
43998 (get_entry_number): Likewise.
43999 (run_menu): Use a default entry, a fallback entry and a timeout
44000 in the environment variables "default", "fallback" and
44001 "timeout". Also, tweak the default entry if it is not within the
44002 current menu entries.
44003 (grub_menu_run): Use a fallback entry in the environment variable
44004 "fallback".
44005
44006 * normal/main.c (read_config_file): Do not initialize
44007 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
44008 NEWMENU->TIMEOUT.
44009 (grub_normal_execute): Use a data slot to store the menu.
44010
44011 * include/grub/normal.h (struct grub_menu): Removed default_entry,
44012 fallback_entry and timeout.
44013 (struct grub_menu_list): Removed.
44014 (grub_menu_list_t): Likewise.
44015 (struct grub_context): Likewise.
44016 (grub_context_t): Likewise.
44017 (grub_context_get): Likewise.
44018 (grub_context_get_current_menu): Likewise.
44019 (grub_context_push_menu): Likewise.
44020 (grub_context_pop_menu): Likewise.
44021 (grub_default_init): Likewise.
44022 (grub_default_fini): Likewise.
44023 (grub_timeout_init): Likewise.
44024 (grub_timeout_fini): Likewise.
44025
44026 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
44027 and timeout.mod.
44028 (normal_mod_SOURCES): Removed normal/context.c.
44029
44030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
44031 commands/default.c, commands/timeout.c and normal/context.c.
44032 (normal_mod_SOURCES): Removed normal/context.c.
44033
44034 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
44035 commands/timeout.c and normal/context.c.
44036 (normal_mod_SOURCES): Removed normal/context.c.
44037
44038 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
44039 commands/default.c, commands/timeout.c and normal/context.c.
44040 (normal_mod_SOURCES): Removed normal/context.c.
44041
44042 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
44043 timeout.mod.
44044 (default_mod_SOURCES): Removed.
44045 (default_mod_CFLAGS): Likewise.
44046 (default_mod_LDFLAGS): Likewise.
44047 (timeout_mod_SOURCES): Removed.
44048 (timeout_mod_CFLAGS): Likewise.
44049 (timeout_mod_LDFLAGS): Likewise.
44050
44051 * DISTLIST: Removed commands/default.c, commands/timeout.c and
44052 normal/context.c.
44053
44054 * commands/default.c: Removed.
44055 * commands/timeout.c: Likewise.
44056 * normal/context.c: Likewise.
44057
1eb9cc1d 440582006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
44059
44060 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
44061
385bd9c1 440622006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
44063
44064 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
44065 "next" to "prev" for readability.
44066 (struct grub_env_sorted_var): New struct.
44067 (grub_env_context): Renamed to ...
44068 (initial_context): ... this.
44069 (grub_env_var_context): Renamed to ...
44070 (current_context): ... this.
44071 (grub_env_find): Look only at CURRENT_CONTEXT.
44072 (grub_env_context_open): Rewritten to copy exported variables from
44073 previous context.
44074 (grub_env_context_close): Rewritten according to the new
44075 scheme. Also, add an assertion to prevent the initial context from
44076 removed.
44077 (grub_env_insert): Removed the code for the sorted list.
44078 (grub_env_remove): Likewise.
44079 (grub_env_export): Simply mark the variable with
44080 GRUB_ENV_VAR_GLOBAL.
44081 (grub_env_set): A cosmetic change for naming consistency.
44082 (grub_env_get): Likewise.
44083 (grub_env_unset): Likewise.
44084 (grub_env_iterate): Rewritten to sort variables within this
44085 function.
44086 (grub_register_variable_hook): Fixed for naming consistency. Call
44087 grub_env_find again, only if NAME is not found at the first time.
44088 (mangle_data_slot_name): New function.
44089 (grub_env_set_data_slot): Likewise.
44090 (grub_env_get_data_slot): Likewise.
44091 (grub_env_unset_data_slot): Likewise.
44092
44093 * include/grub/env.h (grub_env_var_type): New enum.
44094 (GRUB_ENV_VAR_LOCAL): New constant.
44095 (GRUB_ENV_VAR_GLOBAL): Likewise.
44096 (GRUB_ENV_VAR_DATA): Likewise.
44097 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
44098 "type".
44099 (grub_env_set): Replace VAR with NAME for consistency.
44100 (grub_register_variable_hook): Likewise.
44101 (grub_env_export): Specify the name of the argument.
44102 (grub_env_set_data_slot): New prototype.
44103 (grub_env_get_data_slot): Likewise.
44104 (grub_env_unset_data_slot): Likewise.
44105
7f362539 441062006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44107
44108 Extend the loader so that GRUB can accept a loader which comes
44109 back to GRUB when a loaded image exits. Also, this change adds
44110 support for a chainloader on EFI.
f19dbdb7 44111
7f362539 44112 * term/efi/console.c: Include grub/misc.h.
44113 (grub_console_checkkey): Display a scan code on the top for
44114 debugging. This will be removed once the EFI port gets stable.
44115 Correct the scan code mapping.
44116
44117 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
44118 allocate memory from larger regions, in order to reduce the number
44119 of allocated regions. Otherwise, the MacOSX loader panics.
44120 (filter_memory_map): Avoid less than 1MB for compatibility with
44121 other loaders.
44122 (add_memory_regions): Allocate from the tail of a region, if
44123 possible, to avoid allocating a region near to 1MB, for the MacOSX
44124 loader.
44125
44126 * kern/efi/init.c (grub_efi_set_prefix): Specify
44127 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
44128
44129 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
44130 argument IMAGE_HANDLE and specify it to get a loaded image.
44131 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
44132 grub_efi_get_loaded_image.
fe6b695a 44133 (grub_efi_get_filename): Divide the length by the size of
7f362539 44134 grub_efi_char16_t.
44135 (grub_efi_get_device_path): New function.
44136 (grub_efi_print_device_path): Print End Device Path nodes. Divide
44137 the length by the size of grub_efi_char16_t for a file path device
44138 path node.
44139
44140 * kern/loader.c (grub_loader_noreturn): New variable.
44141 (grub_loader_set): Accept a new argument NORETURN. Set
44142 GRUB_LOADER_NORETURN to NORETURN.
44143 All callers changed.
44144 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
44145 grub_machine_fini.
44146
44147 * include/grub/efi/efi.h (grub_efi_get_device_path): New
44148 prototype.
44149 (grub_efi_get_loaded_image): Take an argument to specify an image
44150 handle.
44151
44152 * include/grub/loader.h (grub_loader_set): Added one more argument
44153 NORETURN.
44154
44155 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
44156 instead of grub_efi_open_protocol.
44157 (grub_efidisk_get_device_name): Likewise.
44158 (grub_efidisk_close): Print a newline.
44159 (grub_efidisk_get_device_handle): Fixed to use
44160 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
44161 GRUB_EFI_DEVICE_PATH_TYPE.
44162
44163 * disk/efi/efidisk.c (device_path_guid): Moved to ...
44164 * kern/efi/efi.c (device_path_guid): ... here.
44165
44166 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
44167 chain.mod.
44168 (kernel_mod_HEADERS): Added efi/disk.h.
44169 (_chain_mod_SOURCES): New variable.
44170 (_chain_mod_CFLAGS): Likewise.
44171 (_chain_mod_LDFLAGS): Likewise.
44172 (chain_mod_SOURCES): Likewise.
44173 (chain_mod_CFLAGS): Likewise.
44174 (chain_mod_LDFLAGS): Likewise.
44175
44176 * DISTLIST: Added include/grub/efi/chainloader.h,
44177 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
44178
44179 * include/grub/efi/chainloader.h: New file.
44180 * loader/efi/chainloader.c: Likewise.
44181 * loader/efi/chainloader_normal.c: Likewise.
44182
c0111d6e 441832006-04-30 Marco Gerards <marco@gnu.org>
44184
44185 * commands/configfile.c (grub_cmd_source): New function.
44186 (GRUB_MOD_INIT): Register the commands `source' and `.'.
44187 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
44188
df5341da 441892006-04-30 Marco Gerards <marco@gnu.org>
44190
44191 * normal/execute.c (grub_script_execute_cmd): Change the return
44192 type to `grub_err_t'. Correctly return the error.
44193 (grub_script_execute_cmdline): In case a command line is not a
44194 command or a function, try to interpret it as an assignment.
44195
f85934bd 441962006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44197
44198 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
44199 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
44200 skip a node whose name is obviously invalid as UTF-16,
44201 i.e. contains a NUL character. Stop the iteration when the last
44202 directory entry is found. Instead of using the return value of
44203 grub_hfsplus_btree_iterate_node, store the value in RET and use
44204 it, because the iterator can be stopped by the last directory
44205 entry.
44206
8f8a2cf8 442072006-04-30 Marco Gerards <marco@gnu.org>
44208
44209 * include/grub/env.h (grub_env_export): New prototype. Reported
44210 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
44211
a27e84ce 442122006-04-30 Marco Gerards <marco@gnu.org>
44213
44214 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
44215 size of the extents in a catalog file record.
44216
eaef0553 442172006-04-29 Marco Gerards <marco@gnu.org>
44218
44219 * commands/configfile.c (grub_cmd_configfile): Execute the
44220 configfile within its own context.
44221
44222 * include/grub/env.h (grub_env_context_open): New prototype.
44223 (grub_env_context_close): Likewise.
44224
44225 * kern/env.c (grub_env): Removed.
44226 (grub_env_sorted): Likewise.
44227 (grub_env_context): New variable.
44228 (grub_env_var_context): Likewise.
44229 (grub_env_find): Search both the active context and the global
44230 context.
44231 (grub_env_context_open): New function.
44232 (grub_env_context_close): Likewise.
44233 (grub_env_insert): Likewise.
44234 (grub_env_remove): Likewise.
44235 (grub_env_export): Likewise.
44236 (grub_env_set): Changed to use helper functions to avoid code
44237 duplication.
44238 (grub_env_iterate): Rewritten so both the current context and the
44239 global context are being used.
44240
44241 * normal/command.c (export_command): New function.
44242 (grub_command_init): Register the `export' function.
44243
7b455f4d 442442006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
44245
44246 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
44247 explicitly to suppress gcc's warnings.
44248 * fs/fat.c (grub_fat_find_dir): Likewise.
44249 (grub_fat_label): Likewise.
44250 * fs/xfs.c (grub_xfs_read_inode): Likewise.
44251 (grub_xfs_mount): Likewise.
44252 (grub_xfs_label): Likewise.
44253 * fs/affs.c (grub_affs_mount): Likewise.
44254 (grub_affs_label): Likewise.
44255 (grub_affs_iterate_dir): Likewise.
44256 * fs/sfs.c (grub_sfs_mount): Likewise.
44257 (grub_sfs_iterate_dir): Likewise.
44258 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
44259 * fs/hfs.c (grub_hfs_mount): Likewise.
44260 (grub_hfs_cmp_catkeys): Likewise.
44261 (grub_hfs_find_dir): Likewise.
44262 (grub_hfs_dir): Likewise.
44263 (grub_hfs_label): Likewise.
44264 * fs/jfs.c (grub_jfs_mount): Likewise.
44265 (grub_jfs_opendir): Likewise.
44266 (grub_jfs_getent): Likewise.
44267 (grub_jfs_lookup_symlink): Likewise.
44268 (grub_jfs_label): Likewise.
44269 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
44270 (grub_hfsplus_iterate_dir): Likewise.
44271 (grub_hfsplus_btree_iterate_node): Made static.
44272
44273 * util/grub-emu.c (prefix): New variable.
44274 (grub_machine_set_prefix): New function.
44275 (main): Do not set the environment variable "prefix" here. Only
44276 set PREFIX, which is used later by grub_machine_set_prefix.
44277
44278 * include/grub/video.h: Do not include grub/symbol.h.
44279 (grub_video_register): Not exported. This symbol is not defined in
44280 the kernel.
44281 (grub_video_unregister): Likewise.
44282 (grub_video_iterate): Likewise.
44283 (grub_video_setup): Likewise.
44284 (grub_video_restore): Likewise.
44285 (grub_video_get_info): Likewise.
44286 (grub_video_get_blit_format): Likewise.
44287 (grub_video_set_palette): Likewise.
44288 (grub_video_get_palette): Likewise.
44289 (grub_video_set_viewport): Likewise.
44290 (grub_video_get_viewport): Likewise.
44291 (grub_video_map_color): Likewise.
44292 (grub_video_map_rgb): Likewise.
44293 (grub_video_map_rgba): Likewise.
44294 (grub_video_fill_rect): Likewise.
44295 (grub_video_blit_glyph): Likewise.
44296 (grub_video_blit_bitmap): Likewise.
44297 (grub_video_blit_render_target): Likewise.
44298 (grub_video_scroll): Likewise.
44299 (grub_video_swap_buffers): Likewise.
44300 (grub_video_create_render_target): Likewise.
44301 (grub_video_delete_render_target): Likewise.
44302 (grub_video_set_active_render_target): Likewise.
44303
44304 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
44305 Undefined.
44306 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
44307
44308 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
44309 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44310 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44311 instead of $(srcdir)/genkernsyms.sh.
44312
44313 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
44314 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44315 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44316 instead of $(srcdir)/genkernsyms.sh.
44317
44318 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
44319 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44320 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44321 instead of $(srcdir)/genkernsyms.sh.
44322
44323 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
44324 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44325 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44326 instead of $(srcdir)/genkernsyms.sh.
44327
44328 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
44329 genkernsyms.sh.
44330
44331 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
44332 genkernsyms.sh.
44333 (gensymlist.sh): New target.
44334 (genkernsyms.sh): Likewise.
44335
44336 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
44337 genkernsyms.sh.in and gensymlist.sh.in.
44338
44339 * genkernsyms.sh: Removed.
44340 * gensymlist.sh: Likewise.
f19dbdb7 44341
7b455f4d 44342 * genkernsyms.sh.in: New file.
44343 * gensymlist.sh.in: Likewise.
44344
1885bb27 443452006-04-25 Hollis Blanchard <hollis@penguinppc.org>
44346
44347 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
44348 clobber "prefix", since we may have already set it manually.
44349
71538dff 443502006-04-25 Hollis Blanchard <hollis@penguinppc.org>
44351
44352 * kern/misc.c (abort): New alias for grub_abort.
44353
2965c7cc 443542006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
44355
44356 A new machine-specific function "grub_machine_set_prefix" is
44357 defined. This is called after loading modules, so that a prefix
44358 initialization can use modules. Also, this change adds an
44359 intensive debugging feature for the memory manager via the
44360 configure option "--enable-mm-debug".
f19dbdb7 44361
2965c7cc 44362 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
44363 PART.LEN.
44364
44365 * kern/sparc64/ieee1275/init.c (abort): Removed.
44366 (grub_stop): Likewise.
44367 (grub_exit): New function.
44368 (grub_set_prefix): Renamed to ...
44369 (grub_machine_set_prefix): ... this.
44370 (grub_machine_init): Do not call grub_set_prefix.
44371
44372 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
44373 (grub_machine_set_prefix): ... this.
44374 (grub_machine_init): Do not call grub_set_prefix.
44375
44376 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
44377 (grub_machine_init): Do not set the prefix here.
44378
44379 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
44380
44381 * kern/efi/init.c: Include grub/mm.h.
44382 (grub_efi_set_prefix): New function.
44383
44384 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
44385 (grub_efi_get_filename): New function.
44386 (grub_print_device_path): Renamed to ...
44387 (grub_efi_print_device_path): ... this.
44388
44389 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
44390 [MM_DEBUG] (grub_realloc): Likewise.
44391 [MM_DEBUG] (grub_free): Likewise.
44392 [MM_DEBUG] (grub_memalign): Likewise.
44393 [MM_DEBUG] (grub_mm_debug): New variable.
44394 [MM_DEBUG] (grub_debug_malloc): New function.
44395 [MM_DEBUG] (grub_debug_free): New function.
44396 [MM_DEBUG] (grub_debug_realloc): New function.
44397 [MM_DEBUG] (grub_debug_memalign): New function.
44398
44399 * kern/misc.c (grub_abort): Print a newline to distinguish
44400 the message.
44401
44402 * kern/main.c (grub_main): Call grub_machine_set_prefix and
44403 grub_set_root_dev after loading modules. This is necessary when
44404 setting a prefix depends on modules.
44405
44406 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
44407 (grub_efi_print_device_path): ... this.
44408 (grub_efi_get_filename): New prototype.
44409 (grub_efi_set_prefix): Likewise.
44410
44411 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
44412 and grub/disk.h.
44413 (grub_efidisk_get_device_handle): New prototype.
44414 (grub_efidisk_get_device_name): Likewise.
44415
44416 * include/grub/mm.h: Include config.h.
44417 (MM_DEBUG): Removed.
44418 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
44419 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
44420 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
44421 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
44422 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
44423 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
44424 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
44425 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
44426 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
44427
44428 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
44429
44430 * disk/efi/efidisk.c: Include grub/partition.h.
44431 (iterate_child_devices): New function.
44432 (add_device): First, compare only last device path nodes, so that
44433 devices are sorted by the types.
44434 (grub_efidisk_get_device_handle): New function.
44435 (grub_efidisk_get_device_name): Likewise.
44436
44437 * configure.ac (--enable-mm-debug): New option to enable the
44438 memory manager debugging feature. This makes the binary much
44439 bigger, so is disabled by default.
44440
9cacaa17 444412006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
44442
44443 Use grub_abort instead of grub_stop, and grub_exit must be
44444 define in each architecture now. Also, this change adds support
44445 for EFI disks.
f19dbdb7 44446
9cacaa17 44447 * util/i386/pc/grub-probefs.c: Include grub/term.h.
44448 (grub_getkey): New function.
44449 (grub_term_get_current): Likewise.
44450
44451 * util/i386/pc/grub-setup.c: Include grub/term.h.
44452 (grub_getkey): New function.
44453 (grub_term_get_current): Likewise.
44454
44455 * util/misc.c (grub_stop): Renamed to ...
44456 (grub_exit): ... this.
44457
44458 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
44459 (grub_exit): ... this.
44460 (grub_machine_init): Use grub_abort instead of abort.
44461 (grub_stop): Removed.
44462
44463 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
44464 abort.
44465
44466 * kern/i386/pc/startup.S (grub_exit): New function.
44467 (cold_reboot): New label.
44468
44469 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
44470 (grub_efi_init): Call grub_efidisk_init.
44471 (grub_efi_fini): Call grub_efidisk_fini.
44472
44473 * kern/efi/efi.c: Include grub/mm.h.
44474 (grub_efi_console_control_guid): Renamed to ...
44475 (console_control_guid): ... this.
44476 (grub_efi_loaded_image_guid): Renamed to ...
44477 (loaded_image_guid): ... this.
44478 (grub_efi_locate_handle): New function.
44479 (grub_efi_open_protocol): Likewise.
44480 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
44481 GRUB_EFI_CONSOLE_CONTROL_GUID.
44482 (grub_efi_exit): Removed.
44483 (grub_stop): Likewise.
44484 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
44485 (grub_exit): New function.
44486 (grub_print_device_path): Likewise.
44487
44488 * kern/rescue.c (grub_rescue_cmd_exit): New function.
44489 (grub_enter_rescue_mode): Register "exit".
44490
44491 * kern/misc.c (grub_real_dprintf): A cosmetic change.
44492 (grub_abort): New function.
44493
44494 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
44495
44496 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
44497
44498 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
44499
44500 * include/grub/efi/efi.h (grub_efi_exit): Removed.
44501 (grub_print_device_path): New prototype.
44502 (grub_efi_locate_handle): Likewise.
44503 (grub_efi_open_protocol): Likewise.
44504
44505 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
44506 * disk/efi/efidisk.c: Likewise.
44507
44508 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
44509
44510 * include/grub/efi/console_control.h
44511 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
44512
44513 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
44514 last 8 bytes as an array.
44515 (GRUB_EFI_DISK_IO_GUID): New macro.
44516 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
44517 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
44518 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
44519 grub_uint8_t.
44520 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
44521 (struct grub_efi_device_path): Rename the member "sub_type" to
44522 "subtype".
44523 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
44524 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
44525 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
44526 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
44527 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
44528 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
44529 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
44530 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
44531 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
44532 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
44533 (struct grub_efi_pci_device_path): New structure.
44534 (grub_efi_pci_device_path_t): New type.
44535 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
44536 (struct grub_efi_pccard_device_path): New structure.
44537 (grub_efi_pccard_device_path_t): New type.
44538 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
44539 (struct grub_efi_memory_mapped_device_path): New structure.
44540 (grub_efi_memory_mapped_device_path_t): New type.
44541 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
44542 (struct grub_efi_vendor_device_path): New structure.
44543 (grub_efi_vendor_device_path_t): New type.
44544 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
44545 (struct grub_efi_controller_device_path): New structure.
44546 (grub_efi_controller_device_path_t): New type.
44547 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
44548 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
44549 (struct grub_efi_acpi_device_path): New structure.
44550 (grub_efi_acpi_device_path_t): New type.
44551 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
44552 (struct grub_efi_expanded_acpi_device_path): New structure.
44553 (grub_efi_expanded_acpi_device_path_t): New type.
44554 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
44555 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
44556 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
44557 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
44558 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
44559 (struct grub_efi_atapi_device_path): New structure.
44560 (grub_efi_atapi_device_path_t): New type.
44561 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
44562 (struct grub_efi_fibre_channel_device_path): New structure.
44563 (grub_efi_fibre_channel_device_path_t): New type.
44564 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
44565 (struct grub_efi_1394_device_path): New structure.
44566 (grub_efi_1394_device_path_t): New type.
44567 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
44568 (struct grub_efi_usb_device_path): New structure.
44569 (grub_efi_usb_device_path_t): New type.
44570 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
44571 (struct grub_efi_usb_class_device_path): New structure.
44572 (grub_efi_usb_class_device_path_t): New type.
44573 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
44574 (struct grub_efi_i2o_device_path): New structure.
44575 (grub_efi_i2o_device_path_t): New type.
44576 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
44577 (struct grub_efi_mac_address_device_path): New structure.
44578 (grub_efi_mac_address_device_path_t): New type.
44579 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
44580 (struct grub_efi_ipv4_device_path): New structure.
44581 (grub_efi_ipv4_device_path_t): New type.
44582 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
44583 (struct grub_efi_ipv6_device_path): New structure.
44584 (grub_efi_ipv6_device_path_t): New type.
44585 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
44586 (struct grub_efi_infiniband_device_path): New structure.
44587 (grub_efi_infiniband_device_path_t): New type.
44588 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
44589 (struct grub_efi_uart_device_path): New structure.
44590 (grub_efi_uart_device_path_t): New type.
44591 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
44592 (struct grub_efi_vendor_messaging_device_path): New structure.
44593 (grub_efi_vendor_messaging_device_path_t): New type.
44594 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
44595 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
44596 (struct grub_efi_hard_drive_device_path): New structure.
44597 (grub_efi_hard_drive_device_path_t): New type.
44598 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
44599 (struct grub_efi_cdrom_device_path): New structure.
44600 (grub_efi_cdrom_device_path_t): New type.
44601 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
44602 (struct grub_efi_vendor_media_device_path): New structure.
44603 (grub_efi_vendor_media_device_path_t): New type.
44604 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
44605 (struct grub_efi_file_path_device_path): New structure.
44606 (grub_efi_file_path_device_path_t): New type.
44607 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
44608 (struct grub_efi_protocol_device_path): New structure.
44609 (grub_efi_protocol_device_path_t): New type.
44610 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
44611 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
44612 (struct grub_efi_bios_device_path): New structure.
44613 (grub_efi_bios_device_path_t): New type.
44614 (struct grub_efi_disk_io): New structure.
44615 (grub_efi_disk_io_t): New type.
44616 (struct grub_efi_block_io_media): New structure.
44617 (grub_efi_block_io_media_t): New type.
44618 (struct grub_efi_block_io): New structure.
44619 (grub_efi_block_io_t): New type.
44620
44621 * include/grub/misc.h (grub_stop): Removed.
44622 (grub_exit): New prototype.
44623 (grub_abort): Likewise.
44624
44625 * include/grub/disk.h (enum grub_disk_dev_id): Added
44626 GRUB_DISK_DEVICE_EFIDISK_ID.
44627
44628 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
44629 disk/efi/efidisk.c.
44630 (kernel_syms.lst): Remove the target if an error occurs.
44631
49986a9f 446322006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
44633
44634 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
44635 as it was simply too buggy.
44636
970d3b8a 446372006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
44638
44639 * kern/misc.c (grub_lltoa): New function.
44640 (grub_vsprintf): Added support for the long long suffix,
44641 i.e. "ll".
44642
ff04ec24 446432006-04-20 Hollis Blanchard <hollis@penguinppc.org>
44644
44645 * Makefile.in (LDFLAGS): Add variable.
44646 (LD): Remove variable.
44647 * configure.ac: Add -m32 to LDFLAGS.
44648 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
44649 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
44650 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
44651 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
44652 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
44653 variables.
44654 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
44655 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
44656 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
44657
37e5e1a4 446582006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
44659
44660 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
44661 length for unknown glyph.
44662
c352d8dd 446632006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
44664
2eab1c0d 44665 Add support for pre-loaded modules into the EFI port.
f19dbdb7 44666
2eab1c0d 44667 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
44668 completely. Accept one more argument DIR. The caller has changed.
44669
44670 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
44671
44672 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
44673 (grub_efi_loaded_image_guid): New variable.
44674 (grub_efi_get_loaded_image): New function.
44675 (grub_arch_modules_addr): Likewise.
44676
44677 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
44678 prototype.
44679
44680 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
44681 (struct grub_efi_loaded_image): New structure.
44682 (grub_efi_loaded_image_t): New type.
44683
446842006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44685
c352d8dd 44686 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
44687 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
44688 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
44689
6d01d6b4 446902006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
44691
44692 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
44693
976a4ea0 446942006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
44695
44696 * DISTLIST: Added include/grub/efi/console.h,
44697 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
44698 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
44699
44700 * include/grub/efi/console.h: New file.
44701 * include/grub/efi/time.h: Likewise.
44702 * include/grub/i386/efi/kernel.h: Likewise.
44703 * kern/efi/init.c: Likewise.
44704 * kern/efi/mm.c: Likewise.
44705 * term/efi/console.c: Likewise.
f19dbdb7 44706
976a4ea0 44707 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
44708 (grub_stop): Removed.
44709 (grub_get_rtc): Likewise.
44710 (grub_machine_init): Simply call grub_efi_init.
44711 (grub_machine_fini): Call grub_efi_fini.
44712
44713 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
44714 (grub_efi_output_string): Removed.
44715 (grub_efi_stall): New function.
44716 (grub_stop): Likewise.
44717 (grub_get_rtc): Likewise.
44718
44719 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
44720 (grub_efi_stall): New prototype.
44721 (grub_efi_allocate_pages): Likewise.
44722 (grub_efi_free_pages): Likewise.
44723 (grub_efi_get_memory_map): Likewise.
44724 (grub_efi_mm_init): Likewise.
44725 (grub_efi_mm_fini): Likewise.
44726 (grub_efi_init): Likewise.
44727 (grub_efi_fini): Likewise.
44728
44729 * include/grub/i386/efi/time.h: Do not include
44730 grub/symbol.h. Include grub/efi/time.h.
44731 (GRUB_TICKS_PER_SECOND): Removed.
44732 (grub_get_rtc): Likewise.
44733
44734 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
44735 Added padding. The EFI spec is buggy.
44736 (GRUB_EFI_BLACK): New macro.
44737 (GRUB_EFI_BLUE): Likewise.
44738 (GRUB_EFI_GREEN): Likewise.
44739 (GRUB_EFI_CYAN): Likewise.
44740 (GRUB_EFI_RED): Likewise.
44741 (GRUB_EFI_MAGENTA): Likewise.
44742 (GRUB_EFI_BROWN): Likewise.
44743 (GRUB_EFI_LIGHTGRAY): Likewise.
44744 (GRUB_EFI_BRIGHT): Likewise.
44745 (GRUB_EFI_DARKGRAY): Likewise.
44746 (GRUB_EFI_LIGHTBLUE): Likewise.
44747 (GRUB_EFI_LIGHTGREEN): Likewise.
44748 (GRUB_EFI_LIGHTCYAN): Likewise.
44749 (GRUB_EFI_LIGHTRED): Likewise.
44750 (GRUB_EFI_LIGHTMAGENTA): Likewise.
44751 (GRUB_EFI_YELLOW): Likewise.
44752 (GRUB_EFI_WHITE): Likewise.
44753 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
44754 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
44755 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
44756 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
44757 (GRUB_EFI_BACKGROUND_RED): Likewise.
44758 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
44759 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
44760 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
44761 (GRUB_EFI_TEXT_ATTR): Likewise.
44762
44763 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
44764 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
44765 (kernel_mod_HEADERS): Added efi/time.h.
44766
83709125 447672006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
44768
44769 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
44770 include/grub/efi/api.h, include/grub/efi/console_control.h,
44771 include/grub/efi/efi.h, include/grub/efi/pe32.h,
44772 include/grub/i386/efi/time.h, kern/efi/efi.c,
44773 kern/i386/efi/init.c, kern/i386/efi/startup.S,
44774 and util/i386/efi/grub-mkimage.c.
44775
44776 * Makefile.in (RMKFILES): Added i386-efi.rmk.
44777
44778 * genmk.rb (PModule#rule): Do not export symbols if
44779 #{prefix}_EXPORTS is set to "no".
44780
44781 * conf/i386-efi.mk: New file.
44782 * conf/i386-efi.rmk: Likewise.
44783 * include/grub/efi/api.h: Likewise.
44784 * include/grub/efi/console_control.h: Likewise.
44785 * include/grub/efi/efi.h: Likewise.
44786 * include/grub/efi/pe32.h: Likewise.
44787 * include/grub/i386/efi/time.h: Likewise.
44788 * kern/efi/efi.c: Likewise.
44789 * kern/i386/efi/init.c: Likewise.
44790 * kern/i386/efi/startup.S: Likewise.
44791 * util/i386/efi/grub-mkimage.c: Likewise.
44792
447932006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 44794
44795 * include/grub/script.h: Include <grub/parser.h> and
44796 "grub_script.tab.h".
44797 (struct grub_lexer_param): New struct.
44798 (struct grub_parser_param): Likewise.
44799 (grub_script_create_arglist): Pass the state in an argument.
44800 (grub_script_add_arglist): Likewise.
44801 (grub_script_create_cmdline): Likewise.
44802 (grub_script_create_cmdblock): Likewise.
44803 (grub_script_create_cmdif): Likewise.
44804 (grub_script_create_cmdmenu): Likewise.
44805 (grub_script_add_cmd): Likewise.
44806 (grub_script_arg_add): Likewise.
44807 (grub_script_lexer_ref): Likewise.
44808 (grub_script_lexer_deref): Likewise.
44809 (grub_script_lexer_record_start): Likewise.
44810 (grub_script_lexer_record_stop): Likewise.
44811 (grub_script_mem_record): Likewise.
44812 (grub_script_mem_record_stop): Likewise.
44813 (grub_script_malloc): Likewise.
44814 (grub_script_yylex): Likewise.
44815 (grub_script_yyparse): Likewise.
44816 (grub_script_yyerror): Likewise.
44817 (grub_script_yylex): Likewise.
44818 (grub_script_lexer_init): Return the state.
44819
44820 * normal/lexer.c (grub_script_lexer_state): Removed variable.
44821 (grub_script_lexer_done): Likewise.
44822 (grub_script_lexer_getline): Likewise.
44823 (grub_script_lexer_refs): Likewise.
44824 (script): Likewise.
44825 (newscript): Likewise.
44826 (record): Likewise.
44827 (recording): Likewise.
44828 (recordpos): Likewise.
44829 (recordlen): Likewise.
44830 (grub_script_lexer_init): Return the state instead of setting
44831 global variables.
44832 (grub_script_lexer_ref): Use the newly added argument for state
44833 instead of globals.
44834 (grub_script_lexer_deref): Likewise.
44835 (grub_script_lexer_record_start): Likewise.
44836 (grub_script_lexer_record_stop): Likewise.
44837 (recordchar): Likewise.
44838 (nextchar): Likewise.
44839 (grub_script_yylex2): Likewise.
44840 (grub_script_yylex): Likewise.
44841 (grub_script_yyerror): Likewise.
44842
44843 * normal/parser.y (func_mem): Removed variable.
44844 (menu_entry): Likewise.
44845 (err): Likewise.
44846 (%lex-param): New parser option.
44847 (%parse-param): Likewise.
44848 (script): Always return the AST.
44849 (argument): Pass the state around.
44850 (arguments): Likewise.
44851 (grubcmd): Likewise.
44852 (commands): Likewise.
44853 (function): Likewise.
44854 (menuentry): Likewise.
44855 (if_statement): Likewise.
44856 (if): Likewise.
44857
44858 * normal/script.c (grub_script_memused): Removed variable.
44859 (grub_script_parsed): Likewise.
44860 (grub_script_malloc): Added a state argument. Use that instead of
44861 global variables.
44862 (grub_script_mem_record): Likewise.
44863 (grub_script_mem_record_stop): Likewise.
44864 (grub_script_arg_add): Likewise.
44865 (grub_script_add_arglist): Likewise.
44866 (grub_script_create_cmdline): Likewise.
44867 (grub_script_create_cmdif): Likewise.
44868 (grub_script_create_cmdmenu): Likewise.
44869 (grub_script_add_cmd): Likewise.
44870 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 44871
e2a8c904 448722006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 44873
44874 * normal/command.c (grub_command_init): Remove the title command.
44875
44876 * normal/lexer.c (grub_script_yylex): Renamed from this...
44877 (grub_script_yylex2): ... to this.
44878 (grub_script_yylex): New function. Temporary
44879 introduced to filter some tokens.
44880 (grub_script_yyerror): Print a newline.
44881
44882 * normal/main.c (read_config_file): Output information about the
44883 lines that contain errors. Wait for a key after all lines have
44884 been processed. Don't return an empty menu.
44885
44886 * normal/parser.y (func_mem): Don't initialize.
44887 (menu_entry): Likewise.
44888 (err): New variable.
44889 (script): Don't return anything when an error was encountered.
44890 (ws, returns): Removed rules.
44891 (argument): Disabled concatenated variable support.
44892 (arguments): Remove explicit separators.
44893 (grubcmd): Likewise.
44894 (function): Likewise.
44895 (menuentry): Likewise.
44896 (if): Likewise.
44897 (commands): Likewise. Add error handling.
44898
44899 * normal/script.c (grub_script_create_cmdline): If
44900 `grub_script_parsed' is 0, assume the parser encountered an error.
44901
c9a86192 449022006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
44903
44904 * configure.ac: Add support for EFI. Fix the typo
44905 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
44906
70f3b243 449072006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
44908
44909 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
44910 foreign multibyte characters should be shown correctly.
44911
65f201ad 449122006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
44913
44914 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
44915 calculation.
44916 (read_config_file): Made it to close file before returning.
44917
b4b93674 449182006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
44919
44920 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
44921 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
44922 video/i386/pc/vbefill.c.
44923
44924 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
44925 video/i386/pc/vbefill.c.
44926
44927 * include/grub/video.h (grub_video_blit_format): New enum.
44928 (grub_video_mode_info): Added new member blit_format.
44929 (grub_video_get_blit_format): New function prototype.
44930
44931 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
44932 function prototype.
44933 (grub_video_vbe_map_rgb): Likewise.
44934 (grub_video_vbe_unmap_color): Likewise.
44935
44936 * include/grub/i386/pc/vbeblit.h: New file.
44937
44938 * include/grub/i386/pc/vbefill.h: New file.
44939
44940 * video/video.c (grub_video_get_blit_format): New function.
44941 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
44942 (grub_video_vbe_map_rgb): Likewise.
44943 (grub_video_vbe_unmap_color): Likewise.
44944
44945 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
44946 optimized fills.
44947 (grub_video_vbe_blit_render_target): Changed to use more optimized
44948 blits.
44949 (grub_video_vbe_setup): Added detection for optimized settings.
44950 (grub_video_vbe_create_render_target): Likewise.
44951
44952 * video/i386/pc/vbeblit.c: New file.
44953
44954 * video/i386/pc/vbefill.c: New file.
44955
c2379b9c 449562006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
44957
44958 * font/manager.c (grub_font_get_glyph): Removed font fixup from
44959 here...
44960
44961 * util/unifont2pff.rb: ... and moved it to here. Improved argument
44962 parsing to support both hex and dec ranges. If filename was missing
44963 show usage information.
44964
bd0d7896 449652006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
44966
44967 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
44968 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
44969
44970 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
44971 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
44972 (video_mod_SOURCES): Added.
44973 (video_mod_CFLAGS): Likewise.
44974 (video_mod_LDFLAGS): Likewise.
44975 (gfxterm_mod_SOURCES): Likewise.
44976 (gfxterm_mod_CFLAGS): Likewise.
44977 (gfxterm_mod_LDFLAGS): Likewise.
44978 (videotest_mod_SOURCES): Likewise.
44979 (videotest_mod_CFLAGS): Likewise.
44980 (videotest_mod_LDFLAGS): Likewise.
44981 (vesafb_mod_SOURCES): Removed.
44982 (vesafb_mod_CFLAGS): Likewise.
44983 (vesafb_mod_LDFLAGS): Likewise.
44984 (vga_mod_SOURCES): Likewise.
44985 (vga_mod_CFLAGS): Likewise.
44986 (vga_mod_LDFLAGS): Likewise.
44987
44988 * commands/videotest.c: New file.
44989
44990 * font/manager.c (fill_with_default_glyph): Modified to use
44991 grub_font_glyph.
44992 (grub_font_get_glyph): Likewise.
44993 (fontmanager): Renamed from this...
44994 (font_manager): ... to this.
44995
44996 * include/grub/font.h (grub_font_glyph): Added new structure.
44997 (grub_font_get_glyph): Modified to use grub_font_glyph.
44998
44999 * include/grub/misc.h (grub_abs): Added as inline function.
45000
45001 * include/grub/video.h: New file.
45002
45003 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
45004 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
45005 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
45006 (grub_vbe_get_controller_info): Renamed from this...
45007 (grub_vbe_bios_get_controller_info): ... to this.
45008 (grub_vbe_get_mode_info): Renamed from this...
45009 (grub_vbe_bios_get_mode_info): ... to this.
45010 (grub_vbe_set_mode): Renamed from this...
45011 (grub_vbe_bios_set_mode): ... to this.
45012 (grub_vbe_get_mode): Renamed from this...
45013 (grub_vbe_bios_get_mode): ... to this.
45014 (grub_vbe_set_memory_window): Renamed from this...
45015 (grub_vbe_bios_set_memory_window): ... to this.
45016 (grub_vbe_get_memory_window): Renamed from this...
45017 (grub_vbe_bios_get_memory_window): ... to this.
45018 (grub_vbe_set_scanline_length): Renamed from this...
45019 (grub_vbe_set_scanline_length): ... to this.
45020 (grub_vbe_get_scanline_length): Renamed from this...
45021 (grub_vbe_bios_get_scanline_length): ... to this.
45022 (grub_vbe_set_display_start): Renamed from this...
45023 (grub_vbe_bios_set_display_start): ... to this.
45024 (grub_vbe_get_display_start): Renamed from this...
45025 (grub_vbe_bios_get_display_start): ... to this.
45026 (grub_vbe_set_palette_data): Renamed from this...
45027 (grub_vbe_bios_set_palette_data): ... to this.
45028 (grub_vbe_set_pixel_rgb): Removed.
45029 (grub_vbe_set_pixel_index): Likewise.
45030
45031 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
45032 from this...
45033 (grub_vbe_bios_get_controller_info): ... to this.
45034 (grub_vbe_get_mode_info): Renamed from this...
45035 (grub_vbe_bios_get_mode_info): ... to this.
45036 (grub_vbe_set_mode): Renamed from this...
45037 (grub_vbe_bios_set_mode): ... to this.
45038 (grub_vbe_get_mode): Renamed from this...
45039 (grub_vbe_bios_get_mode): ... to this.
45040 (grub_vbe_set_memory_window): Renamed from this...
45041 (grub_vbe_bios_set_memory_window): ... to this.
45042 (grub_vbe_get_memory_window): Renamed from this...
45043 (grub_vbe_bios_get_memory_window): ... to this.
45044 (grub_vbe_set_scanline_length): Renamed from this...
45045 (grub_vbe_set_scanline_length): ... to this.
45046 (grub_vbe_get_scanline_length): Renamed from this...
45047 (grub_vbe_bios_get_scanline_length): ... to this.
45048 (grub_vbe_set_display_start): Renamed from this...
45049 (grub_vbe_bios_set_display_start): ... to this.
45050 (grub_vbe_get_display_start): Renamed from this...
45051 (grub_vbe_bios_get_display_start): ... to this.
45052 (grub_vbe_set_palette_data): Renamed from this...
45053 (grub_vbe_bios_set_palette_data): ... to this.
45054 (grub_vbe_bios_get_controller_info): Fixed problem with registers
45055 getting corrupted after calling it. Added more pushes and pops.
45056 (grub_vbe_bios_set_mode): Likewise.
45057 (grub_vbe_bios_get_mode): Likewise.
45058 (grub_vbe_bios_get_memory_window): Likewise.
45059 (grub_vbe_bios_set_scanline_length): Likewise.
45060 (grub_vbe_bios_get_scanline_length): Likewise.
45061 (grub_vbe_bios_get_display_start): Likewise.
45062 (grub_vbe_bios_set_palette_data): Likewise.
45063
45064 * normal/cmdline.c (cl_set_pos): Refresh the screen.
45065 (cl_insert): Likewise.
45066 (cl_delete): Likewise.
45067
45068 * term/gfxterm.c: New file.
45069
45070 * term/i386/pc/vesafb.c: Removed file.
45071
45072 * video/video.c: New file.
45073
45074 * video/i386/pc/vbe.c (real2pm): Added new function.
45075 (grub_video_vbe_draw_pixel): Likewise.
45076 (grub_video_vbe_get_video_ptr): Likewise.
45077 (grub_video_vbe_get_pixel): Likewise
45078 (grub_video_vbe_init): Likewise.
45079 (grub_video_vbe_fini): Likewise.
45080 (grub_video_vbe_setup): Likewise.
45081 (grub_video_vbe_get_info): Likewise.
45082 (grub_video_vbe_set_palette): Likewise.
45083 (grub_video_vbe_get_palette): Likewise.
45084 (grub_video_vbe_set_viewport): Likewise.
45085 (grub_video_vbe_get_viewport): Likewise.
45086 (grub_video_vbe_map_color): Likewise.
45087 (grub_video_vbe_map_rgb): Likewise.
45088 (grub_video_vbe_map_rgba): Likewise.
45089 (grub_video_vbe_unmap_color): Likewise.
45090 (grub_video_vbe_fill_rect): Likewise.
45091 (grub_video_vbe_blit_glyph): Likewise.
45092 (grub_video_vbe_blit_bitmap): Likewise.
45093 (grub_video_vbe_blit_render_target): Likewise.
45094 (grub_video_vbe_scroll): Likewise.
45095 (grub_video_vbe_swap_buffers): Likewise.
45096 (grub_video_vbe_create_render_target): Likewise.
45097 (grub_video_vbe_delete_render_target): Likewise.
45098 (grub_video_vbe_set_active_render_target): Likewise.
45099 (grub_vbe_set_pixel_rgb): Remove function.
45100 (grub_vbe_set_pixel_index): Likewise.
45101 (index_color_mode): Remove static variable.
45102 (active_mode): Likewise.
45103 (framebuffer): Likewise.
45104 (bytes_per_scan_line): Likewise.
45105 (grub_video_vbe_adapter): Added new static variable.
45106 (framebuffer): Likewise.
45107 (render_target): Likewise.
45108 (initial_mode): Likewise.
45109 (mode_in_use): Likewise.
45110 (mode_list): Likewise.
45111
5f97350b 451122006-03-10 Marco Gerards <marco@gnu.org>
45113
45114 * configure.ac (AC_INIT): Bumped to 1.93.
45115
45116 * DISTLIST: Added `include/grub/hfs.h'.
45117
a3c5c6f8 451182006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
45119
45120 * boot/i386/pc/boot.S (general_error): Before looping, try INT
45121 18H, which might help the BIOS falling back to next boot media.
45122
6de53d26 451232006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
45124
45125 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
45126 Poe Chen <poe.poechen@gmail.com>.
45127
77c4a393 451282006-01-17 Marco Gerards <marco@gnu.org>
45129
45130 * include/grub/normal.h: Include <grub/script.h>.
45131 (grub_command_list): Removed struct.
45132 (grub_command_list_t): Removed type.
45133 (grub_menu_entry): Remove members `num' and `command_list'. Add
45134 members `commands' and `sourcecode'.
45135 * include/grub/script.h: Add inclusion guards.
45136 (grub_script_cmd_menuentry): New struct.
45137 (grub_script_execute_menuentry): New prototype.
45138 (grub_script_lexer_record_start): Likewise.
45139 (grub_script_lexer_record_stop): Likewise.
45140 * normal/execute.c (grub_script_execute_menuentry): New function.
45141 * normal/lexer.c (record, recording, recordpos, recordlen): New
45142 variables.
45143 (grub_script_lexer_record_start): New function.
45144 (grub_script_lexer_record_stop): Likewise.
45145 (recordchar): Likewise.
45146 (nextchar): Likewise.
45147 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
45148 2048 as the buffer size. Add the tokens `menuentry' and `@'.
45149 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
45150 (current_menu): New variable.
45151 (free_menu): Mainly rewritten.
45152 (grub_normal_menu_addentry): New function.
45153 (read_config_file): Rewritten.
45154 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 45155 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 45156 the menu entry.
45157 (run): Mainly rewritten.
45158 * normal/parser.y (menu_entry): New variable.
45159 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
45160 (menuentry): New rule.
45161 (command): Add `menuentry'.
45162 (if_statement): Allow additional returns before `fi'.
45163 * normal/script.c (grub_script_create_cmdmenu): New function.
45164
144f1f98 451652006-01-03 Marco Gerards <marco@gnu.org>
45166
45167 * INSTALL: GNU Bison is required.
45168 * configure.ac: Rewritten the test to detect Bison.
45169 * Makefile.in (YACC): New variable. Reported by Xun Sun
45170 <xun.sun.cn@gmail.com>.
45171
af4b2d89 451722006-01-03 Marco Gerards <marco@gnu.org>
45173
45174 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
45175 the HFS+ filesystem to filesystem blocks.
45176 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
45177 GCC warning is silenced.
45178
15643b71 451792006-01-03 Marco Gerards <marco@gnu.org>
45180
45181 * partmap/apple.c (apple_partition_map_iterate): Convert the data
45182 read from disk from big endian to host byte order.
45183
00905879 451842006-01-03 Hollis Blanchard <hollis@penguinppc.org>
45185
45186 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
45187 documentation.
45188 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
45189 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
45190 embedded HFS+ filesystem.
45191 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
45192 (grub_hfs_sblock): Move from here...
45193 * include/grub/hfs.h: To here... New file.
45194 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
45195 documentation.
45196 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
45197 New macros.
45198 (grub_hfsplus_volheader): Change type of member `magic' to
45199 `grub_uint16_t'.
45200 (grub_hfsplus_data): Add new member `embedded_offset'.
45201 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
45202 returned block.
45203 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
45204 Calculate the offset.
45205
8899bc3e 452062005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45207
45208 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
45209 Removed.
45210 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
45211
ae8c0277 452122005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45213
45214 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
45215 ENV->NAME is NULL after allocating ENV->VALUE.
45216
07084456 452172005-12-25 Marco Gerards <marco@gnu.org>
45218
45219 * kern/env.c (grub_env_set): Rewritten the error handling code.
45220
4750f5f1 452212005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45222
45223 * geninit.sh: Made more robust, and more portable.
45224
50214199 452252005-12-25 Marco Gerards <marco@gnu.org>
45226
45227 Add support for Apple HFS+ filesystems.
f19dbdb7 45228
50214199 45229 * fs/hfsplus.c: New file.
45230
45231 * DISTLIST: Added `fs/hfsplus.c'.
45232
45233 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
45234 (hfsplus_mod_SOURCES): New variable.
45235 (hfsplus_mod_CFLAGS): Likewise.
45236 (hfsplus_mod_LDFLAGS): Likewise.
45237 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
45238 (grub_setup_SOURCES): Likewise.
45239 (grub_mkdevicemap_SOURCES): Likewise.
45240 (grub_emu_SOURCES): Likewise.
45241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45242
45243 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
45244
45245 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
45246
befaed6c 452472005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45248
45249 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
45250 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
45251 include/grub/parser.h, include/grub/script.h, kern/parser.c,
45252 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
45253 normal/lexer.c, normal/parser.y, normal/script.c, and
45254 partmap/gpt.c.
45255 Removed kern/sparc64/cache.c.
45256
45257 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
45258 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
45259 grub_emu_init.c.
45260
45261 * configure.ac (AC_INIT): Bumped to 1.92.
45262
6a124103 452632005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
45264
45265 * kern/err.c (grub_error_push): Added new function to support error
45266 stacks.
45267 (grub_error_pop): Likewise.
45268 (grub_error_stack_items): New local variable to support error stacks.
45269 (grub_error_stack_pos): Likewise.
45270 (grub_error_stack_assert): Likewise.
45271 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
45272 stack depth.
45273 (grub_print_error): Added support to print errors from error stack.
45274
45275 * include/grub/err.h (grub_error_push): Added function prototype.
45276 (grub_error_pop): Likewise.
45277
be973c1b 452782005-12-09 Hollis Blanchard <hollis@penguinppc.org>
45279
45280 * configure.ac: Accept `powerpc64' as host_cpu.
45281 (amd64): Rename to `biarch32'.
45282
45283 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
45284 non-cacheline-aligned addresses.
45285
45286 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
45287 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
45288 if `size' is non-zero.
45289
b04216ab 452902005-12-03 Marco Gerards <mgerards@xs4all.nl>
45291
45292 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
45293 and `cd' to make sure the filename is not prefixed with a
45294 directory name.
45295 (pkgdata_MODULES): Add `gpt.mod'.
45296 (gpt_mod_SOURCES): New variable.
45297 (gpt_mod_CFLAGS): Likewise.
45298 (gpt_mod_LDFLAGS): Likewise.
45299
45300 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
45301
45302 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
45303 New macro.
45304
45305 * partmap/gpt.c: New file.
45306
45307 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
45308 GPT partition map is detected.
45309
41730ed9 453102005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
45311
45312 * commands/i386/pc/play.c: New file.
45313 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
45314 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
45315 macros.
f19dbdb7 45316
95dc3643 453172005-11-27 Marco Gerards <mgerards@xs4all.nl>
45318
45319 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
45320 ((unused))' to silence gcc warning.
45321
1569ec51 453222005-11-26 Hollis Blanchard <hollis@penguinppc.org>
45323
45324 * configure.ac: Correct `AC_PROG_YACC' test.
45325
9abde152 453262005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45327
45328 * util/powerpc/ieee1275/grub-install.in: Run the mount point
45329 check before installing files.
45330
44b83271 453312005-11-22 Mike Small <smallm@panix.com>
45332
45333 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
45334 number regex so multidigit numbers are recognized correctly.
45335
453362005-11-22 Mike Small <smallm@panix.com>
45337
45338 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
45339 debugging message before attempting to claim memory.
45340 (grub_rescue_cmd_initrd): Add a claim debugging message and try
45341 multiple addresses in case of failure.
45342
9c12956b 453432005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45344
45345 * term/tparm.c (get_space): Remove empty `if' statement.
45346
45347 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
45348
45349 * kern/parser.c (check_varstate): Rename `state' to 's'.
45350
aeaf81d9 453512005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45352
45353 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
45354 variable definitions to the beginning of each function. Sort stack
45355 variables by size.
45356 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
45357 `buf' argument to `char *'.
45358
79bbb63f 453592005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45360
45361 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
45362 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 45363 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 45364 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
45365 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
45366 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
45367 configfile.mod, search.mod, gzio.mod and test.mod.
45368 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
45369 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
45370 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
45371 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
45372 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
45373 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
45374 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
45375 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
45376 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
45377 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
45378 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45379 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45380 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
45381 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
45382 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
45383 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
45384 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45385 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
45386 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
45387 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
45388 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
45389 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
45390 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
45391
45392 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
45393 `grep --include'.
45394 (pkgdata_MODULES): Add test.mod.
45395
233b1628 453962005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45397
45398 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
45399 appending to variables with "+=".
45400 (PModule): Use full pathname to generate *.lst filenames.
45401
45402 * Makefile.in: Fixed list rules moved from genmk.rb.
45403 (.DELETE_ON_ERROR): New special target.
45404 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
45405
45406 * conf/i386-pc.rmk: Include conf/common.mk.
45407 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 45408 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 45409 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
45410 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
45411 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
45412 configfile.mod, search.mod, gzio.mod and test.mod.
45413 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
45414 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
45415 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
45416 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
45417 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
45418 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
45419 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
45420 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
45421 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
45422 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
45423 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45424 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45425 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
45426 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
45427 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
45428 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
45429 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45430 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
45431 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
45432 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
45433 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
45434 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
45435 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
45436 here...
45437 * conf/common.rmk: ... to here. New file.
45438
45439 * conf/common.mk: New file.
45440
16f820c8 454412005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
45442
45443 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
45444 (grub_script.tab.c): ... here.
45445
45446 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
45447 (grub_script.tab.c): ... here.
45448
45449 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
45450 (grub_script.tab.c): ... here.
45451
45452 * normal/command.c (grub_command_find): Fixed a memory leak of
45453 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
45454
63ba1554 454552005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45456
45457 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
45458 "@" which marks the start of a comment on ARM.
45459 (VARIABLE): Likewise.
45460
7f67dc13 454612005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45462
79bbb63f 45463 Add support for Linux/ADFS partition tables.
7f67dc13 45464
45465 * partmap/acorn.c: New file.
45466
45467 * include/grub/acorn_filecore.h: Likewise.
45468
45469 * DISTLIST: Added `partmap/acorn.c' and
45470 `include/grub/acorn_filecore.h'.
f19dbdb7 45471
7f67dc13 45472 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45473 `partmap/acorn.c'.
45474 (pkgdata_MODULES): Add `acorn.mod'.
45475 (acorn_mod_SOURCES): New variable.
45476 (acorn_mod_CFLAGS): Likewise.
45477
45478 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
45479 `partmap/acorn.c'.
45480 (pkgdata_MODULES): Add `acorn.mod'.
45481 (acorn_mod_SOURCES): New variable.
45482 (acorn_mod_CFLAGS): Likewise.
45483
45484 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
45485 (pkgdata_MODULES): Add `acorn.mod'.
45486 (acorn_mod_SOURCES): New variable.
45487 (acorn_mod_CFLAGS): Likewise.
45488 (acorn_mod_LDFLAGS): Likewise.
45489
45490 * include/types.h (grub_disk_addr_t): New typedef.
45491
6d099807 454922005-11-13 Marco Gerards <mgerards@xs4all.nl>
45493
45494 * geninit.sh: New file.
45495
45496 * geninitheader.sh: Likewise.
45497
45498 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
45499 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
45500 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
45501 * commands/configfile.c (grub_configfile_init)
45502 (grub_configfile_fini): Likewise.
45503 * commands/default.c (grub_default_init, grub_default_fini):
45504 Likewise.
45505 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
45506 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
45507 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
45508 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
45509 Likewise.
45510 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
45511 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
45512 Likewise.
45513 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 45514 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 45515 Likewise.
45516 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
45517 Likewise.
fe6b695a 45518 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 45519 Likewise.
45520 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
45521 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
45522 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
45523 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
45524 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
45525 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
45526 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
45527 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
45528 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
45529 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
45530 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
45531 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
45532 * partmap/amiga.c (grub_amiga_partition_map_init)
45533 (grub_amiga_partition_map_fini): Likewise.
45534 * partmap/apple.c (grub_apple_partition_map_init)
45535 (grub_apple_partition_map_fini): Likewise.
45536 * partmap/pc.c (grub_pc_partition_map_init)
45537 (grub_pc_partition_map_fini): Likewise.
45538 * partmap/sun.c (grub_sun_partition_map_init,
45539 grub_sun_partition_map_fini): Likewise.
45540 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
45541 Likewise.
45542
45543 * util/grub-emu.c: Include <grub_modules_init.h>.
45544 (main): Don't initialize and de-initialize any modules directly,
45545 use `grub_init_all' and `grub_fini_all' instead.
45546
45547 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
45548 `grub_vesafb_mod_init'.
45549 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
45550 all users.
45551 * term/i386/pc/vga.c (grub_vga_init): Renamed to
45552 `grub_vga_mod_init'. Updated all users.
45553 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 45554
6d099807 45555 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
45556 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
45557 rules.
45558
45559 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
45560 Generate a function to initialize the module in utilities.
45561 Updated all callers.
45562 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
45563 initialize the module in utilities. Updated all callers.
45564
9046bcf0 455652005-11-09 Hollis Blanchard <hollis@penguinppc.org>
45566
45567 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
45568 escape sequence and a literal ^L to clear the screen.
45569
45570 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
45571 when returning from Open Firmware.
45572
d13ea639 455732005-11-09 Hollis Blanchard <hollis@penguinppc.org>
45574
45575 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
45576 (grub_ofconsole_height): Likewise.
45577 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
45578 manually insert a '\n'.
45579 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
45580 `grub_ofconsole_height'. Return early if these are already set.
45581
a8fcf206 455822005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
45583
45584 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
45585 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
45586 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
45587 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
45588 and `normal/script.c'.
45589 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45590 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45591 (test_mod_SOURCES): New variable.
45592 (test_mod_CFLAGS): Likewise.
45593 (test_mod_LDFLAGS): Likewise.
45594 (pkgdata_MODULES): Add `test.mod'.
45595 (grub_script.tab.c): New rule.
45596 (grub_script.tab.h): Likewise.
45597
b6b32745 455982005-11-07 Marco Gerards <mgerards@xs4all.nl>
45599
45600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45601 `commands/test.c', `normal/execute.c', `normal/lexer.c',
45602 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45603 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45604 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45605 (test_mod_SOURCES): New variable.
45606 (test_mod_CFLAGS): Likewise.
45607 (pkgdata_MODULES): Add `test.mod'.
45608 (grub_script.tab.c): New rule.
45609 (grub_script.tab.h): Likewise.
45610
daac212a 456112005-11-06 Marco Gerards <mgerards@xs4all.nl>
45612
45613 Add initial scripting support.
45614
45615 * commands/test.c: New file.
45616 * include/grub/script.h: Likewise.
45617 * normal/execute.c: Likewise.
45618 * normal/function.c: Likewise.
45619 * normal/lexer.c: Likewise.
45620 * normal/parser.y: Likewise.
45621 * normal/script.c: Likewise.
45622
45623 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 45624
daac212a 45625 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
45626 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
45627 `normal/function.c' and `normal/script.c'.
45628 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45629 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 45630 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
45631 variables.
daac212a 45632 (pkgdata_MODULES): Add `test.mod'.
45633 (grub_script.tab.c): New rule.
45634 (grub_script.tab.h): Likewise.
45635
45636 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
45637
45638 * include/grub/normal.h (grub_test_init): New prototype.
45639 (grub_test_fini): Likewise.
f19dbdb7 45640
daac212a 45641 * normal/command.c: Include <grub/script.h>.
45642 (grub_command_execute): Rewritten.
f19dbdb7 45643
daac212a 45644 * util/grub-emu.c (main): Call `grub_test_init' and
45645 `grub_test_fini'.
45646
77500b2b 456472005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45648
45649 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
45650 to 0.
45651 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
45652 there are no pending characters.
45653
e45deb9e 456542005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45655
45656 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
45657 `grub_strndup' to drop device arguments. Replace unnecessary
45658 `grub_strndup' with `grub_strdup'.
45659
4ce32619 456602005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45661
45662 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
45663 `debug' environment variable has been set.
45664
456652005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 45666
4ce32619 45667 * Makefile.in (install-local): Use $(DATA).
45668 (uninstall): Likewise.
45669 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
45670 (sbin_UTILITIES): ... to here.
45671 (sbin_SCRIPTS): New variable.
45672 (grub_install_SOURCES): New variable.
45673 * util/powerpc/ieee1275/grub-install.in: New file.
45674 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
45675 variable.
45676 (add_segments): Call `grub_util_get_path'.
45677
25fe6f03 456782005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
45679
45680 From Timothy Baldwin:
45681 * commands/ls.c (grub_ls_list_files): Close FILE with
45682 grub_file_close.
45683 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
45684
04ccf3ec 456852005-10-24 Marco Gerards <mgerards@xs4all.nl>
45686
45687 * include/grub/parser.h: New file.
45688
45689 * kern/parser.c: Likewise.
45690
45691 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
45692 (grub_setup_SOURCES): Likewise.
45693 (grub_probefs_SOURCES): Likewise.
45694 (grub_emu_SOURCES): Likewise.
45695 (kernel_img_HEADERS): Add `parser.h'.
45696
45697 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
45698 (grub_emu_SOURCES): Add `kern/parser.c'.
45699 (grubof_SOURCES): Likewise.
45700
45701 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
45702 (grubof_SOURCES): Add `kern/parser.c'.
45703
45704 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
45705
45706 * kern/misc.c (grub_split_cmdline): Removed function.
45707
45708 * kern/rescue.c: Include <grub/parser.h>.
45709 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
45710 of `grub_split_cmdline'.
45711
45712 * normal/command.c: Include <grub/parser.h>.
45713 (grub_command_execute): Use `grub_parser_split_cmdline' instead
45714 of `grub_split_cmdline'.
45715
45716 * normal/completion.c: Include <grub/parser.h>.
45717 (cmdline_state): New variable.
45718 (iterate_dir): End the filename with a quote depending on the
45719 command line state.
45720 (get_state): new function.
45721 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
45722 split the arguments and determine the current argument. When the
45723 argument string is not quoted, escape all spaces.
45724
6d8f4b0e 457252005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45726
45727 * normal/sparc64/setjmp.S: New file.
45728
15cf03ed 457292005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45730
45731 * include/grub/sparc64/libgcc.h: New file.
45732 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
45733 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
45734 normal/sparc64/setjmp.c.
45735
03e8661a 457362005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45737
45738 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
45739 * kern/sparc64/cache.S: New file.
45740 * kern/sparc64/cache.c: Removed.
45741 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
45742 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
45743 -mtune=ultrasparc.
45744 (COMMON_LDFLAGS): Add -melf64_sparc.
45745 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
45746 (grubof_SOURCES): Use cache.S instead of cache.c.
45747 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
45748 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
45749 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
45750 commented though.
45751 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
45752 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
45753 (linux_mod_CFLAGS): Commented out.
45754 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
45755 out because module isn't built.
45756 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
45757 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
45758 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
45759 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
45760 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
45761 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
45762 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
45763 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
45764 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
45765 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
45766 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45767 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45768 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
45769 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
45770
34eeec8a 457712005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
45772
45773 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
45774 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
45775 longer, because HFS should not be used on PC.
45776
708367a3 457772005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45778
45779 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
45780 consistently within the loop.
45781
6fa1251a 457822005-10-15 Marco Gerards <mgerards@xs4all.nl>
45783
45784 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
45785 directory can not be read.
45786
4801580b 457872005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45788
45789 * configure.ac (AC_INIT): Increase the version number to 1.91.
45790
45791 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
45792 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
45793 term/i386/pc/serial.c.
45794
219ad426 457952005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45796
45797 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
45798 file size must be permitted.
45799
45800 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
45801 between %ah and %al.
45802
688e5699 458032005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45804
45805 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
45806 grub_uint64_t.
45807 Call the hook with a NUL-terminated filename.
45808 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
45809 grub_cpu_to_be32.
45810
45811 * kern/term.c (cursor_state): New variable.
45812 (grub_term_set_current): Reset the cursor state on a new
45813 terminal.
45814 (grub_setcursor): Rewritten to use CURSOR_STATE.
45815 (grub_getcursor): New function.
45816
45817 * include/grub/term.h (grub_getcursor): New prototype.
45818
45819 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
45820 integers on ARM. Reported by Timothy Baldwin
45821 <T.E.Baldwin99@members.leeds.ac.uk>.
45822
bb34586c 458232005-10-11 Marco Gerards <mgerards@xs4all.nl>
45824
45825 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
45826 allocated.
45827 (grub_sfs_dir): Likewise.
45828
9a909877 458292005-10-09 Marco Gerards <mgerards@xs4all.nl>
45830
45831 Add support for the SFS filesystem.
45832
45833 * fs/sfs.c: New file.
45834
45835 * DISTLIST: Added `fs/sfs.c'.
45836
45837 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
45838 (grub_probefs_SOURCES): Likewise.
45839 (grub_emu_SOURCES): Likewise.
45840 (pkgdata_MODULES): Add `sfs.mod'.
45841 (sfs_mod_SOURCES): New variable.
45842 (sfs_mod_CFLAGS): Likewise.
45843 (sfs_mod_LDFLAGS): Likewise.
45844
45845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
45846 (pkgdata_MODULES): Add `sfs.mod'.
45847 (sfs_mod_SOURCES): New variable.
45848 (sfs_mod_CFLAGS): Likewise.
45849
45850 * util/grub-emu.c (main): Call `grub_sfs_init' and
45851 `grub_sfs_fini'.
45852
45853 * include/grub/fs.h (grub_sfs_init): New prototype.
45854 (grub_sfs_fini): Likewise.
45855
57bdbde3 458562005-10-07 Marco Gerards <mgerards@xs4all.nl>
45857
45858 Add support for the AFFS filesystem.
45859
45860 * fs/affs.c: New file.
45861
45862 * DISTLIST: Added `fs/affs.c'.
45863
45864 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
45865 (grub_probefs_SOURCES): Likewise.
45866 (grub_emu_SOURCES): Likewise.
45867 (pkgdata_MODULES): Add `affs.mod'.
45868 (affs_mod_SOURCES): New variable.
45869 (affs_mod_CFLAGS): Likewise.
45870 (affs_mod_LDFLAGS): Likewise.
45871
45872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
45873 (pkgdata_MODULES): Add `affs.mod'.
45874 (affs_mod_SOURCES): New variable.
45875 (affs_mod_CFLAGS): Likewise.
45876
45877 * util/grub-emu.c (main): Call `grub_affs_init' and
45878 `grub_affs_fini'.
45879
45880 * include/grub/fs.h (grub_affs_init): New prototype.
45881 (grub_affs_fini): Likewise.
45882
047b67e0 458832005-10-01 Marco Gerards <mgerards@xs4all.nl>
45884
45885 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
45886
59b8208a 458872005-10-01 Marco Gerards <mgerards@xs4all.nl>
45888
45889 * configure.ac: Accept `x86_64' as host_cpu. In that case add
45890 `-m32' to CFLAGS.
45891
45892 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
45893 linking.
f19dbdb7 45894
59b8208a 45895 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
45896 (COMMON_LDFLAGS): New variable.
45897 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
45898 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
45899 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
45900 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
45901 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
45902 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
45903 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
45904 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
45905 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
45906 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
45907 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
45908 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
45909 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
45910 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
45911 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
45912 variables.
45913 (normal_mod_ASFLAGS): Add `-m32'.
45914
45915 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
45916 (grub_host_size_t, grub_host_ssize_t): New types.
45917 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 45918 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 45919 `GRUB_HOST_SIZEOF_VOID_P'.
45920
45921 * include/grub/kernel.h (struct grub_module_header): Type of
45922 member offset changed to `grub_host_off_t'. Type of member size
45923 changed to `grub_host_size_t'.
45924 (struct grub_module_info): Type of member offset changed to
45925 `grub_host_off_t'. Type of member size changed to
45926 `grub_host_size_t'.
45927
b4093103 459282005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
45929
45930 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 45931
b4093103 45932 * kern/i386/pc/startup.S (multiboot_header): New label.
45933 (multiboot_entry): Likewise.
45934 (multiboot_trampoline): Likewise.
45935
45936 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
45937 Increased to 0x4A0.
45938
45939 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
45940 put parentheses after a question mark.
45941 [!GRUB_UTIL] (my_mod): New variable.
45942
45943 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
45944
b2499b29 459452005-09-28 Marco Gerards <mgerards@xs4all.nl>
45946
45947 Adds support for the XFS filesystem. Btrees are not supported
45948 yet.
45949
45950 * fs/xfs.c: New file.
45951
45952 * DISTLIST: Added `fs/xfs.c'.
45953
45954 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
45955 (grub_probefs_SOURCES): Likewise.
45956 (grub_emu_SOURCES): Likewise.
45957 (pkgdata_MODULES): Add `xfs.mod'.
45958 (xfs_mod_SOURCES): New variable.
45959 (xfs_mod_CFLAGS): Likewise.
45960
45961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
45962 (pkgdata_MODULES): Add `xfs.mod'.
45963 (xfs_mod_SOURCES): New variable.
45964 (xfs_mod_CFLAGS): Likewise.
45965
45966 * util/grub-emu.c (main): Call `grub_xfs_init' and
45967 `grub_xfs_fini'.
45968
45969 * include/grub/fs.h (grub_xfs_init): New prototype.
45970 (grub_xfs_fini): Likewise.
45971
f19dbdb7 45972
83d37a62 459732005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
45974
45975 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
45976 color modes, allow greater than 16 colors to be configured as
45977 a default palette.
45978
47d2d65e 459792005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45980
45981 * normal/completion.c (complete_arguments): Add the qualifier
45982 const into OPTIONS.
45983
45984 From Omniflux <omniflux+lists@omniflux.com>:
45985 * include/grub/terminfo.h: New file.
45986 * include/grub/tparm.h: Likewise.
45987 * include/grub/i386/pc/serial.h: Likewise.
45988 * term/terminfo.c: Likewise.
45989 * term/tparm.c: Likewise.
45990 * term/i386/pc/serial.c: Likewise.
45991 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
45992 serial.mod.
45993 (terminfo_mod_SOURCES): New variable.
45994 (terminfo_mod_CFLAGS): Likewise.
45995 (serial_mod_SOURCES): Likewise.
45996 (serial_mod_CFLAGS): Likewise.
45997
48b671ff 459982005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
45999
46000 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
46001 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
46002 and kern/powerpc/ieee1275/cmain.c, respectively.
46003
46004 * boot/powerpc/ieee1275/crt0.S: Moved to ...
46005 * kern/powerpc/ieee1275/crt0.S: ... here.
46006
46007 * boot/powerpc/ieee1275/cmain.c: Moved to ...
46008 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 46009
48b671ff 46010 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
46011 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
46012 instead of boot/powerpc/ieee1275/crt0.S and
46013 boot/powerpc/ieee1275/cmain.c, respectively.
46014
46015 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
46016 sectors. It was not used anyway.
46017
09fc77a7 460182005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46019
46020 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
46021 `unused parameter' warning.
46022
003789c7 460232005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46024
46025 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
46026 function.
46027 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
46028 getcharwidth.
46029
67f44c86 460302005-08-28 Marco Gerards <metgerards@student.han.nl>
46031
46032 * include/grub/normal.h (enum grub_completion_type): Added
46033 `GRUB_COMPLETION_TYPE_ARGUMENT'.
46034
46035 * normal/cmdline.c (print_completion): Handle
46036 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
46037 * normal/menu_entry.c (store_completion): Likewise.
46038
46039 * normal/completion.c (complete_arguments): New function.
46040 (grub_normal_do_completion): Call `complete_arguments' when the
46041 current words start with a dash.
46042
0b5abe02 460432005-08-27 Marco Gerards <metgerards@student.han.nl>
46044
46045 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
46046 `gzio.mod' instead of `io.mod').
46047
d9864ee1 460482005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
46049
46050 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
46051 (DISTDIRS): Added io and video.
46052 Rewrite the search routine to make an output consistently.
46053
46054 * DISTLIST: Added conf/sparc64-ieee1275.mk,
46055 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
46056 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
46057 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
46058 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
46059 util/powerpc/ieee1275/misc.c.
f19dbdb7 46060
d9864ee1 46061 * include/grub/gzio.h: New file.
46062 * io/gzio.c: Likewise.
f19dbdb7 46063
d9864ee1 46064 * kern/file.c (grub_file_close): Call grub_device_close only if
46065 FILE->DEVICE is not NULL.
46066
46067 * include/grub/mm.h [!NULL] (NULL): New macro.
46068
46069 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
46070
46071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
46072 (pkgdata_MODULES): Added gzio.mod.
46073 (gzio_mod_SOURCES): New variable.
46074 (gzio_mod_CFLAGS): Likewise.
46075
46076 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
46077 (pkgdata_MODULES): Added gzio.mod.
46078 (gzio_mod_SOURCES): New variable.
46079 (gzio_mod_CFLAGS): Likewise.
46080
46081 * commands/cat.c: Include grub/gzio.h.
46082 (grub_cmd_cat): Use grub_gzfile_open instead of
46083 grub_file_open.
f19dbdb7 46084
d9864ee1 46085 * commands/cmp.c: Include grub/gzio.h.
46086 (grub_cmd_cmp): Use grub_gzfile_open instead of
46087 grub_file_open.
46088
46089 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
46090 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
46091 grub_file_open.
46092 (grub_rescue_cmd_module): Likewise.
46093
fa46f4b5 460942005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46095
46096 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
46097 kern/sparc64/ieee1275/init.c because it contains _start.
46098 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
46099
e9211b5d 461002005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46101
46102 * configure.ac: Add support for sparc64 host with ieee1275
46103 firmware.
46104 * configure: Generated from configure.ac.
46105 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
46106 instead of int.
46107 (grub_ofdisk_read): Likewise.
46108 (grub_ofdisk_open): Use %p to print pointer values, and cast the
46109 pointers as (void *) to remove a warning.
46110 (grub_ofdisk_close): Likewise.
46111 (grub_ofdisk_read): Likewise.
46112 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
46113 returns, so make it return void to remove a warning.
46114 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
46115 Corresponding prototype change.
46116 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
46117 values, and cast the pointers as (void *) to remove a warning.
46118 (grub_mm_dump): Likewise.
46119 * conf/sparc64-ieee1275.mk: New file.
46120 * conf/sparc64-ieee1275.rmk: Likewise.
46121 * include/grub/sparc64/setjmp.h: Likewise.
46122 * include/grub/sparc64/types.h: Likewise.
46123 * include/grub/sparc64/ieee1275/console.h: Likewise.
46124 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46125 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46126 * include/grub/sparc64/ieee1275/time.h: Likewise.
46127 * kern/sparc64/cache.c: Likewise.
46128 * kern/sparc64/dl.c: Likewise.
46129 * kern/sparc64/ieee1275/init.c: Likewise.
46130 * kern/sparc64/ieee1275/openfw.c: Likewise.
46131
385c6a92 461322005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46133
46134 * util/console.c (grub_ncurses_putchar): If C is greater than
46135 0x7f, set C to a question mark.
46136 (grub_ncurses_getcharwidth): New function.
46137 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
46138 getcharwidth.
46139
46140 * normal/menu.c (print_entry): Made aware of Unicode. First,
46141 convert TITLE to UCS-4, and predict the cursor position by
46142 grub_getcharwidth.
46143
46144 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
46145 const to SRC.
46146 * kern/misc.c (grub_utf16_to_utf8): Likewise.
46147
16ccb8b1 461482005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46149
46150 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
46151 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46152 grub_strcat.
46153
46154 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
46155 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46156 grub_strcpy and grub_strlen. Take it into account that a space
46157 character is inserted as a delimiter.
46158
6a85ce79 461592005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46160
46161 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 46162 invalid magic in the error.
6a85ce79 46163
46164 * commands/search.c: New file.
f19dbdb7 46165
6a85ce79 46166 * util/grub-emu.c (main): Call grub_search_init and
46167 grub_search_fini.
46168
46169 * kern/rescue.c (grub_rescue_print_disks): Removed.
46170 (grub_rescue_print_devices): New function.
46171 (grub_rescue_cmd_ls): Use grub_device_iterate with
46172 grub_rescue_print_devices instead of grub_disk_dev_iterate with
46173 grub_rescue_print_disks.
46174
46175 * kern/partition.c (grub_partition_iterate): Return the result of
46176 PARTMAP->ITERATE instead of GRUB_ERRNO.
46177
46178 * kern/device.c: Include grub/partition.h.
46179 (grub_device_iterate): New function.
46180
46181 * include/grub/partition.h (grub_partition_iterate): Return int
46182 instead of grub_err_t.
46183
46184 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
46185 prototype.
46186 [GRUB_UTIL] (grub_search_fini): Likewise.
46187
46188 * include/grub/device.h (grub_device_iterate): New prototype.
46189
46190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46191 commands/search.c.
46192 (pkgdata_MODULES): Added search.mod.
46193 (search_mod_SOURCES): New variable.
46194 (search_mod_CFLAGS): Likewise.
46195
46196 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
46197 (pkgdata_MODULES): Added search.mod.
46198 (search_mod_SOURCES): New variable.
46199 (search_mod_CFLAGS): Likewise.
46200
46201 * commands/ls.c (grub_ls_list_disks): Renamed to ...
46202 (grub_ls_list_devices): ... this, and use grub_device_iterate.
46203 All callers changed.
46204
46205 * DISTLIST: Added commands/search.c.
46206
ef095434 462072005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46208
46209 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
46210 conversion.
46211 (grub_getcharwidth): New function.
46212
46213 * kern/misc.c (grub_utf8_to_ucs4): New function.
46214
46215 * include/grub/term.h (struct grub_term): Added a new member
46216 "getcharwidth".
46217 (grub_getcharwidth): New prototype.
46218
46219 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
46220
46221 * term/i386/pc/console.c (map_char): New function. Segregated from
46222 grub_console_putchar.
46223 (grub_console_putchar): Use map_char.
46224 (grub_console_getcharwidth): New function.
46225 (grub_console_term): Specified grub_console_getcharwidth as
46226 getcharwidth.
46227
46228 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
46229 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
46230
46231 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
46232 GRUB_ERRNO.
46233 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
46234 on grub_strtoul completely.
46235 (write_char): Declare local variables in the beginning of the
46236 function.
46237 (grub_vesafb_getcharwidth): New function.
46238 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
46239 getcharwidth.
46240
1f0a95e4 462412005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
46242
46243 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
46244 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
46245 commands/i386/pc/vbetest.c.
46246
46247 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
46248 call grub_vbe_get_controller_info again, because the returned
46249 information is volatile.
46250 (grub_vbe_set_video_mode): Mostly rewritten.
46251 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
46252 grub_vbe_status_t correctly.
46253 (grub_vbe_get_video_mode_info): Likewise.
46254 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
46255 several if statements.
46256
46257 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
46258 * commands/i386/pc/vbeinfo.c: ... this.
46259
46260 * commands/i386/pc/vbe_test.c: Renamed to ...
46261 * commands/i386/pc/vbetest.c: ... this.
46262
46263 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
46264 ...
46265 (grub_cmd_vbeinfo): ... this. Save video modes before
46266 iterating. Skip a video mode, if it is not available, not enough
46267 information is given or it is monochrome. Show the memory
46268 model. Leave the interpretation of MODEVAR to grub_strtoul
46269 completely.
46270 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
46271 (GRUB_MOD_FINI): Likewise.
46272
46273 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
46274 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
46275 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
46276 duplicated grub_env_get. Leave the interpretation of MODEVAR to
46277 grub_strtoul completely.
46278 (real2pm): Removed.
46279 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
46280 (GRUB_MOD_FINI): Likewise.
46281
46282 * normal/misc.c: Include grub/mm.h.
46283
46284 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
46285 vbe_list_modes with vbetest.mod and vbeinfo.mod.
46286 (vbe_list_modes_mod_SOURCES): Removed.
46287 (vbe_list_modes_mod_CFLAGS): Likewise.
46288 (vbe_test_mod_SOURCES): Likewise.
46289 (vbe_test_mod_CFLAGS): Likewise.
46290 (vbeinfo_mod_SOURCES): New variable.
46291 (vbeinfo_mod_CFLAGS): Likewise.
46292 (vbetest_mod_SOURCES): Likewise.
46293 (vbetest_mod_CFLAGS): Likewise.
46294
992ffbbe 462952005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
46296
46297 * normal/misc.c: New file.
46298
46299 * DISTLIST: Added normal/misc.c.
f19dbdb7 46300
992ffbbe 46301 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
46302 DISK to HOOK. Call HOOK with DISK.
46303 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46304 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46305 * partmap/sun.c (sun_partition_map_iterate): Likewise.
46306
46307 * normal/menu_entry.c (struct screen): Added a new member
46308 "completion_shown".
46309 (completion_buffer): New global variable.
46310 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
46311 (store_completion): New function.
46312 (complete): Likewise.
46313 (clear_completions): Likewise.
46314 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
46315 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
46316 a tab, call complete.
46317
46318 * normal/completion.c (disk_dev): Removed.
46319 (print_simple_completion): Likewise.
46320 (print_partition_completion): Likewise.
46321 (print_func): New global variable.
46322 (add_completion): Do not take the arguments WHAT or PRINT any
46323 longer. Added a new argument TYPE. Instead of printing directly,
46324 call PRINT_FUNC if not NULL.
46325 All callers changed.
46326 (complete_device): Use a local variable DEV instead of
46327 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
46328 (grub_normal_do_completion): Take a new argument HOOK. Do not
46329 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
46330 empty string, return NULL instead.
46331 All callers changed.
46332
46333 * normal/cmdline.c (print_completion): New function.
46334
46335 * kern/partition.c (grub_partition_iterate): Add an argument DISK
46336 to HOOK.
46337 All callers changed.
46338
46339 * kern/disk.c (grub_print_partinfo): Removed.
46340
46341 * include/grub/partition.h (struct grub_partition_map): Add a new
46342 argument DISK into HOOK of ITERATE.
46343 (grub_partition_iterate): Add a new argument DISK to HOOK.
46344
46345 * include/grub/normal.h (enum grub_completion_type): New enum.
46346 (grub_completion_type_t): New type.
46347 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
46348 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
46349 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
46350 (GRUB_COMPLETION_TYPE_FILE): Likewise.
46351 (grub_normal_do_completion): Added a new argument HOOK.
46352 (grub_normal_print_device_info): New prototype.
46353
46354 * include/grub/disk.h (grub_print_partinfo): Removed.
46355
46356 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
46357 (normal_mod_SOURCES): Likewise.
46358 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46359 (normal_mod_SOURCES): Likewise.
46360
46361 * commands/ls.c (grub_ls_list_disks): Use
46362 grub_normal_print_device_info instead of grub_print_partinfo. Free
46363 PNAME.
46364 (grub_ls_list_files): Use grub_normal_print_device_info instead of
46365 duplicating the code.
46366
0bd41162 463672005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
46368
46369 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 46370 follow GCS more precisely.
46371 * commands/i386/pc/vbe_test.c: Likewise.
46372 * include/grub/i386/pc/vbe.h: Likewise.
46373 * term/i386/pc/vesafb.c: Likewise.
46374 * video/i386/pc/vbe.c: Likewise.
0bd41162 46375
6323696a 463762005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
46377
46378 * DISTLIST: Added term/i386/pc/vesafb.c
46379 DISTLIST: Added video/i386/pc/vbe.c
46380 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
46381 DISTLIST: Added commands/i386/pc/vbe_test.c.
46382 * commands/i386/pc/vbe_list_modes.c: New file.
46383 * commands/i386/pc/vbe_test.c: Likewise.
46384 * term/i386/pc/vesafb.c: Likewise.
46385 * video/i386/pc/vbe.c: Likewise.
46386 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
46387 (grub_vbe_probe) Added prototype.
46388 (grub_vbe_set_video_mode) Likewise.
46389 (grub_vbe_get_video_mode) Likewise.
46390 (grub_vbe_get_video_mode_info) Likewise.
46391 (grub_vbe_set_pixel_rgb) Likewise.
46392 (grub_vbe_set_pixel_index) Likewise.
46393 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
46394 (pkgdata_MODULES): Added vesafb.mod.
46395 (pkgdata_MODULES): Added vbe_list_modes.mod.
46396 (pkgdata_MODULES): Added vbe_test.mod.
46397 (vbe_mod_SOURCES): Added.
46398 (vbe_mod_CFLAGS): Likewise.
46399 (vesafb_mod_SOURCES): Likewise.
46400 (vesafb_mod_CFLAGS): Likewise.
46401 (vbe_list_modes_mod_SOURCES): Likewise.
46402 (vbe_list_modes_mod_CFLAGS): Likewise.
46403 (vbe_test_mod_SOURCES): Likewise.
46404 (vbe_test_mod_CFLAGS): Likewise.
46405
0a74e62f 464062005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
46407
0a74e62f 46408 * normal/command.c (grub_command_execute): If INTERACTIVE is
46409 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
46410 CMDLINE. Disable the pager if INTERACTIVE is true.
46411 All callers are changed.
46412
46413 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
46414 before reading a config file.
46415 * normal/main.c (read_config_file): Even if a command is not
46416 found, register it if it is within an entry.
46417
46418 * util/grub-emu.c: Include sys/types.h and unistd.h.
46419 (options): Added --hold.
46420 (struct arguments): Added a new member "hold".
46421 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
46422 missing.
46423 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
46424 cleared by a debugger, if it is not zero.
46425
46426 * include/grub/normal.h (grub_command_execute): Add an argument
46427 INTERACTIVE.
46428
e51f85ae 464292005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
46430
46431 * DISTLIST: Added include/grub/i386/pc/vbe.h.
46432
e9c6f39b 464332005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
46434
46435 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
46436 program with another one, because the old one didn't detect a bug
46437 in gcc-3.4. Always use regparm 2, because the new test is still
46438 not enough for gcc-4.0. Someone must investigate a simple test
46439 case which detects a bug in gcc-4.0.
46440
8de3495c 464412005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
46442
46443 * DISTLIST: Added normal/completion.c.
46444
46445 * normal/completion.c: New file.
f19dbdb7 46446
8de3495c 46447 * term/i386/pc/console.c (grub_console_getwh): New function.
46448 (grub_console_term): Assign grub_console_getwh to getwh.
46449
46450 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
46451 function is defined in normal/completion.c as
46452 grub_normal_do_completion.
46453 (grub_cmdline_get): Use grub_normal_do_completion instead of
46454 grub_tab_complete.
46455
46456 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
46457 returns non-zero, otherwise return 0.
46458 (grub_partition_iterate): First, probe the partition map. Then,
46459 call ITERATE only for this partition map.
46460
46461 * kern/misc.c (grub_strncmp): Rewritten.
46462
46463 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
46464 returns non-zero. Otherwise return 0.
46465
46466 * include/grub/partition.h (grub_partition_map_iterate): Return
46467 int instead of void.
46468
46469 * include/grub/normal.h (grub_normal_do_completion): New prototype.
46470
46471 * include/grub/misc.h (grub_strncmp): Change the type of N to
46472 grub_size_t.
46473
46474 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
46475 of void.
46476
46477 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 46478 unsigned explicitly before comparing it with I.
8de3495c 46479
46480 * kern/main.c (grub_env_write_root): Add the attribute unused into
46481 VAR.
46482
46483 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46484 normal/completion.c.
46485 (normal_mod_SOURCES): Likewise.
46486 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46487 (normal_mod_SOURCES): Likewise.
46488
46489 * normal/command.c (grub_iterate_commands): If ITERATE returns
46490 non-zero, return one immediately.
46491
e85e144b 464922005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
46493
46494 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
46495 * kern/i386/pc/startup.S: Updated Global Descriptor table's
46496 descriptions.
46497 (grub_vbe_get_controller_info): New function.
46498 (grub_vbe_get_mode_info): Likewise.
46499 (grub_vbe_set_mode): Likewise.
46500 (grub_vbe_get_mode): Likewise.
46501 (grub_vbe_set_memory_window): Likewise.
46502 (grub_vbe_get_memory_window): Likewise.
46503 (grub_vbe_set_scanline_length): Likewise.
46504 (grub_vbe_get_scanline_length): Likewise.
46505 (grub_vbe_set_display_start): Likewise.
46506 (grub_vbe_get_display_start): Likewise.
46507 (grub_vbe_set_palette_data): Likewise.
46508 * include/grub/i386/pc/vbe.h: New file.
46509
c46153d2 465102005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46511
46512 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
46513 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
46514 * DISTLIST: Likewise.
46515 * kern/ieee1275/of.c: Moved to ...
46516 * kern/ieee1275/ieee1275.c: ... here.
46517
0cb90c45 465182005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46519
46520 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
46521 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
46522 Pass 0 as `end' parameter to grub_strtoul().
46523
a19fb360 465242005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46525
46526 * include/grub/powerpc/ieee1275/console.h: Do not include
46527 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
46528 ifdef.
46529 (grub_console_cur_color): Remove i386-specific prototype.
46530 (grub_console_real_putchar): Likewise.
46531 (grub_console_checkkey): Likewise.
46532 (grub_console_getkey): Likewise.
46533 (grub_console_getxy): Likewise.
46534 (grub_console_gotoxy): Likewise.
46535 (grub_console_cls): Likewise.
46536 (grub_console_setcursor): Likewise.
46537 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
46538 Include <grub/machine/console.h>.
46539 * term/ieee1275/ofconsole.c: Likewise.
46540
4ac9bd04 465412005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
46542
46543 * Makefile.in (LIBLZO): New variable.
46544
46545 * configure.ac: Check for LZO version 2.
46546
46547 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
46548 lzo/lzo1x.h instead of lzo1x.h.
46549
46550 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
46551 of -llzo.
46552
46553 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
46554 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
46555
46556 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
46557 copying the data from PARTITION to P.
46558
f4917dfd 465592005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46560
46561 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
46562 negative, unload the module.
46563
46564 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
46565 map is "pc_partition_map" but not "pc".
46566 (usage): Fix the description. The options are --boot-image and
46567 --core-image but not --boot-file or --core-file.
46568 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
46569 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
46570 DEFAULT_DIRECTORY.
46571
46572 * util/i386/pc/grub-install.in: Do not specify --boot-file or
46573 --core-file. Specify INSTALL_DEVICE as an argument.
46574
46575 * util/console.c: Include config.h.
46576 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
46577 [HAVE_NCURSES_H]: Include ncurses.h.
46578 [HAVE_CURSES_H]: Include curses.h.
46579 [!A_NORMAL] (A_NORMAL): Defined as zero.
46580 [!A_STANDOUT] (A_STANDOUT): Likewise.
46581
46582 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
46583 -lncurses.
46584 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
46585
46586 * configure.ac: Check for curses libraries and headers.
46587
46588 * Makefile.in (LIBCURSES): New variable.
46589
46590 * genmk.rb (Script::rule): Set the executable bits.
46591
46592 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
46593 name of the PC partition map is "pc_partition_map" but not "pc".
46594
0e143073 465952005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46596
46597 * util/i386/pc/grub-install.in (grub_probefs): New variable.
46598 (modules): Likewise.
46599 (usage): Added descriptions for --modules and --grub-probefs.
46600 Handle --modules and --grub-probefs. Save the arguments in MODULES
46601 and GRUB_PROBEFS, respectively.
46602 Auto-detect a filesystem module against GRUBDIR. If the result is
46603 empty and modules are not specified explicitly, abort the
46604 installation. Add the result to MODULES.
46605
46606 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
46607 disk/powerpc/ieee1275/ofdisk.c,
46608 include/grub/powerpc/ieee1275/init.h and
46609 term/powerpc/ieee1275/ofconsole.c.
46610 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
46611 term/ieee1275/ofconsole.c.
46612
46613 * include/grub/powerpc/ieee1275/console.h: Resurrected.
46614
46615 * COPYING: Upgraded to the latest version. Only the address of the
46616 FSF office has changed.
f19dbdb7 46617
efd6e6d5 466182005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46619
46620 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
46621 kern/ieee1275.c with kern/ieee1275/of.c.
46622
46623 * kern/ieee1275.c: Moved to ...
46624 * kern/ieee1275/of.c: ... here.
46625
8ceafda2 466262005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
46627
46628 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 46629 readability.
8ceafda2 46630
46631 * config.guess: Updated to the latest version from gnulib.
46632 * config.sub: Likewise.
46633 * install.sh: Likewise.
46634 * mkinstalldirs: Likewise.
46635
46636 * include/grub/console.h: Removed. This file is arch-specific. Do
46637 not put this in include/grub.
46638
46639 * include/grub/i386/pc/console.h: Resurrected.
46640
46641 * util/console.c: Include grub/machine/console.h instead of
46642 grub/console.h.
46643 * util/grub-emu.c: Likewise.
46644
267f6cd9 466452005-08-04 Marco Gerards <metgerards@student.han.nl>
46646
46647 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
46648 hardcoded value.
f19dbdb7 46649
267f6cd9 46650 From Vincent Pelletier <subdino2004@yahoo.fr>
46651 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
46652 Redefined to use grub_getwh.
46653 (grub_term): New member named getwh.
46654 (grub_getwh): New prototype.
46655 * kern/term.c (grub_getwh): New function.
46656 * term/i386/pc/console.c (grub_console_getwh): New function.
46657 (grub_console_term): New member `getwh'.
46658 * term/i386/pc/vga.c (grub_vga_getwh): New function.
46659 (grub_vga_term): New member `getwh'.
0b5abe02 46660 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 46661 grub_ssize_t.
46662 (grub_ofconsole_getw): New function.
46663 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
46664 (grub_ofconsole_term): New field named getwh and new initial
46665 value.
46666
3be7266d 466672005-08-03 Hollis Blanchard <hollis@penguinppc.org>
46668
46669 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
46670 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
46671 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
46672 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
46673 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
46674 of <grub/machine/ieee1275.h>.
46675 * commands/ieee1275/reboot.c: Likewise.
46676 * boot/powerpc/ieee1275/ieee1275.c: Move ...
46677 * kern/ieee1275.c: ... to here. All users updated. Change all
46678 parameter structs to use new type `grub_ieee1275_cell_t'.
46679 * term/powerpc/ieee1275/ofconsole.c: Move ...
46680 * term/ieee1275/ofconsole.c: ... to here. All users updated.
46681 * disk/powerpc/ieee1275/ofdisk.c: Move ...
46682 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
46683 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
46684 to return int.
46685 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
46686 Remove unused prototypes. All users updated.
46687 * include/grub/powerpc/ieee1275/console.h: Removed.
46688 * include/grub/powerpc/ieee1275/ieee1275.h: Define
46689 `grub_ieee1275_cell_t'.
46690 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
46691 Cast comparisons with -1 to the correct type.
46692 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
46693 type to match `grub_ieee1275_entry_fn'.
46694
8b5f3938 466952005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
46696
46697 * DISTLIST: Added util/i386/pc/grub-probefs.c.
46698
46699 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
46700 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
46701 partmap/sun.c.
46702 (grub_probefs_SOURCES): New variable.
46703
46704 * util/i386/pc/grub-probefs.c: New file.
46705
46706 * util/i386/pc/grub-setup.c (main): Call
46707 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
46708 grub_hfs_init and grub_jfs_init to initialize the system. Call
46709 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
46710 grub_pc_partition_map_fini to finish the system.
46711
ea409713 467122005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
46713
46714 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
46715 function.
46716 (grub_multiboot_load_elf32): Likewise.
46717 (grub_multiboot_is_elf64): Likewise.
46718 (grub_multiboot_load_elf64): Likewise.
46719 (grub_multiboot_load_elf): Likewise.
46720 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
46721 an ELF32 or ELF64 file.
46722 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
46723
46724 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
46725 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
46726 NULL before calling FS->LABEL.
46727 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
46728 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
46729 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
46730 before calling FS->LABEL.
46731
141a288b 467322005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
46733
46734 * util/i386/pc/grub-install.in (datadir): New variable.
46735 (libdir): Removed.
46736 (pkgdatadir): New variable.
46737 (pkglibdir): Removed.
46738
0d5f8a54 467392005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
46740
46741 * DISTLIST: Added util/i386/pc/grub-install.in.
46742
46743 * util/i386/pc/grub-install.in: New file.
46744
46745 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
46746 (grub_install_SOURCES): Likewise.
46747
46748 * genmk.rb: Added support for scripts.
46749 (Script): New class.
46750 (scripts): New variable.
46751
46752 * Makefile.in (install-local): Install sbin_SCRIPTS by
46753 INSTALL_SCRIPT.
46754 (uninstall): Remove sbin_SCRIPTS.
46755
46756 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
46757 device, try to get a GRUB device by
46758 grub_util_biosdisk_get_grub_dev.
46759 Free DEST_DEV.
46760
46761 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
46762 description for --device-map.
46763
5f968e1e 467642005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
46765
46766 Change the semantics of variable hooks. They now return strings
46767 instead of error values.
f19dbdb7 46768
5f968e1e 46769 * util/i386/pc/grub-setup.c: Include grub/env.h.
46770 (setup): Use grub_device_set_root instead of grub_env_set.
46771
46772 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
46773 grub_env_get instead of grub_device_set_root and
46774 grub_device_get_root, respectively.
46775
46776 * kern/main.c (grub_env_write_root): New function.
46777 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
46778 grub_env_set instead of grub_device_set_root.
46779
46780 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
46781 many variables.
46782 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
46783 rather than calling ENV->WRITE_HOOK afterwards.
46784 (grub_env_get): Return the result of ENV->READ_HOOK rather than
46785 passing a pointer of a pointer.
46786 (grub_register_variable_hook): Change the types of "read_hook" and
46787 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
46788 respectively.
46789 Allocate the default empty string on the heap, because this string
46790 may be freed later.
46791
46792 * kern/device.c: Include grub/env.h.
46793 (grub_device_set_root): Removed.
46794 (grub_device_get_root): Likewise.
46795 (grub_device_open): Use grub_env_get instead of
46796 grub_device_get_root.
46797
46798 * include/grub/env.h (grub_env_read_hook_t): New type.
46799 (grub_env_write_hook_t): Likewise.
46800 (grub_env_var): Change the types of "read_hook" and "write_hook"
46801 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
46802 (grub_register_variable_hook): Likewise.
46803
46804 * include/grub/device.h (grub_device_set_root): Removed.
46805 (grub_device_set_root): Likewise.
46806
46807 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
46808 make sure that DIRNAME terminates with '/', so that
46809 grub_fat_find_dir will fail if PATH is not a directory.
46810
46811 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
46812 from DIRNAME.
46813 Use the qualifier auto for print_files and print_files_long.
46814 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
46815 as a regular file.
46816 Put a newline only if there is no error.
46817 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
46818 used.
46819
896f0afd 468202005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
46821
46822 * kern/partition.c (grub_partition_probe): Initialize PART to
46823 NULL. Otherwise, when no partition map is registered, this returns
46824 a garbage.
46825
b28b81b2 468262005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
46827
46828 * partmap/apple.c (apple_partition_map_iterate): Check if POS
46829 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
46830 valid.
46831
5f3607e0 468322005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
46833
46834 * commands/ls.c (grub_ls_list_disks): Print the filesystem
46835 information on each device, if it does not have partitions. Print
46836 "Device" instead of "Disk", because this function is not specific
46837 to disk devices.
46838
46839 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
46840 static to ensure that it is put on the memory rather than a
46841 register.
46842
502c87e8 468432005-07-17 Yoshinori Okuji <okuji@enbug.org>
46844
46845 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
46846 (grub_cat_init): Likewise.
46847 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
46848 (options): Likewise.
46849 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
46850 (grub_configfile_init): Likewise.
46851 * font/manager.c (GRUB_MOD_INIT): Likewise.
46852 * commands/help.c (GRUB_MOD_INIT): Likewise.
46853 (grub_help_init): Likewise.
46854 * normal/command.c (grub_command_init): Likewise.
46855 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
46856 * disk/loopback.c (grub_loop_init): Likewise.
46857 (GRUB_MOD_INIT): Likewise.
46858 * commands/ls.c (grub_ls_init): Likewise.
46859 (GRUB_MOD_INIT): Likewise.
46860 (options): Likewise.
46861 * commands/boot.c (grub_boot_init): Likewise.
46862 (GRUB_MOD_INIT): Likewise.
46863 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
46864 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
46865 (GRUB_MOD_INIT): Likewise.
46866 * commands/cmp.c (grub_cmp_init): Likewise.
46867 (GRUB_MOD_INIT): Likewise.
46868
46869 * normal/arg.c: Use <> instead of "" to include header files.
46870 (SHORT_ARG_HELP): New macro.
46871 (SHORT_ARG_USAGE): Likewise.
46872 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
46873 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
46874 descriptions.
46875 (find_short): Check if C is 'h' or 'u' explicitly.
46876 (grub_arg_show_help): Use space characters instead of tabs. Treat
46877 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
46878 are shown with --help and --usage only if they are not used for
46879 the command itself.
46880 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
46881 'h' and 'u'.
46882
46883 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
46884 const into "longarg". Change the type of "shortarg" to int.
46885
f806d18e 468862005-07-17 Yoshinori Okuji <okuji@enbug.org>
46887
46888 * boot/i386/pc/boot.S (boot_drive_check): New label.
46889
46890 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
46891 macro.
46892
46893 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
46894 which do not pass a boot drive correctly. Copied from GRUB Legacy.
46895
e293232b 468962005-07-17 Yoshinori Okuji <okuji@enbug.org>
46897
46898 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
46899 When turning off Gate A20, skip the check and return immediately,
46900 because this is not fatal usually.
46901
ebedfd00 469022005-07-17 Yoshinori Okuji <okuji@enbug.org>
46903
46904 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
46905 be 0x7C00 instead of 0x8000.
46906
46907 * boot/i386/pc/pxeboot.S: Rewritten.
46908
46909 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
46910 EXT_C.
46911 (gate_a20_check_state): Read a byte from 0x108000. Invert the
46912 result.
46913
654fc59f 469142005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
46915
46916 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
46917 robustness. This routine now supports a BIOS call and System
46918 Control Port A to modify the gate A20.
46919
46920 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46921 Increased to 0x440.
46922
09f9923f 469232005-07-12 Hollis Blanchard <hollis@penguinppc.org>
46924
46925 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
46926 device path and resulting ihandle.
46927 (grub_ofdisk_close): dprintf the ihandle being closed.
46928 (grub_ofdisk_read): dprintf function parameters.
46929 * kern/mm.c (grub_mm_init_region): Likewise.
46930 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
46931 (grub_linux_boot): dprintf the Linux entry point, initrd address and
46932 size, and boot arguments.
46933 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
46934 before loading into memory.
46935 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
46936 before loading into memory.
46937
7ef504d8 469382005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
46939
46940 * kern/mm.c: Added much documentation.
46941 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
46942 8, set to 5 instead of 8.
46943
e0f050c2 469442005-07-10 Yoshinori Okuji <okuji@enbug.org>
46945
46946 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
46947
46948 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
46949 (grub_mkdevicemap_SOURCES): New variable.
46950
46951 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
46952 lib/device.c of GRUB Legacy.
46953
7224189a 469542005-07-10 Yoshinori Okuji <okuji@enbug.org>
46955
46956 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
46957 instead of PATH is NULL.
46958
68c864eb 469592005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
46960
46961 * commands/cmp.c (BUFFER_SIZE): New macro.
46962 (grub_cmd_cmp): Close the right file at the right time. Compare
46963 only data just read. Don't report files of different size as
46964 identical. Dynamically allocate buffers. Move variable
46965 declarations at the beginning of function.
46966
e6f3e614 469672005-07-09 Yoshinori Okuji <okuji@enbug.org>
46968
46969 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
46970 reverse.
46971
f8f1559a 469722004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
46973
46974 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
46975 when backspace is pressed at beginning of line.
46976
39c9d41d 469772005-07-03 Yoshinori Okuji <okuji@enbug.org>
46978
46979 * DISTLIST: Added genfslist.sh.
46980
46981 * normal/main.c (fs_module_list): New variable.
46982 (autoload_fs_module): New function.
46983 (read_fs_list): Likewise.
46984 (grub_normal_execute): Call read_fs_list.
46985
46986 * kern/fs.c (grub_fs_autoload_hook): New variable.
46987 (grub_fs_probe): Added support for auto-loading.
46988
46989 * include/grub/normal.h (struct grub_fs_module_list): New struct.
46990 (grub_fs_module_list_t): New type.
46991
46992 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
46993 (grub_fs_autoload_hook): New prototype.
46994
46995 * genfslist.sh: New file.
f19dbdb7 46996
39c9d41d 46997 * genmk.rb: Added a rule to generate a filesystem list.
46998
121c1d83 469992005-06-30 Marco Gerards <metgerards@student.han.nl>
47000
47001 * configure.ac: Fix the test for cross-compiling.
47002
47003 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
47004 define GRUB_UTIL anymore.
47005
47006 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
47007 so this function works on other systems than just big endian.
47008 (load_modules): Likewise.
47009 (add_segments): Likewise.
47010
e75d76e1 470112005-06-23 Hollis Blanchard <hollis@penguinppc.org>
47012
47013 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
47014 contains `l' modifier, get a long from va_arg().
47015
50b5a0a7 470162005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
47017
47018 * kern/mm.c (grub_free): If the next free block which is being
47019 merged is the first free block, set the first block to the block
47020 being freed.
47021 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
47022
89371b20 470232005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47024
47025 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
47026 `grub_ieee1275_chosen'.
47027
168d6e58 470282005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47029
47030 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
47031 (grub_ieee1275_chosen): New variable.
47032 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
47033 `chosen'.
47034 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
47035 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47036 Rename first argument to `phandle' for consistency.
47037 (grub_ieee1275_get_property_length): Likewise.
47038 (grub_ieee1275_next_property): Likewise. Change type of first argument
47039 to grub_ieee1275_phandle_t.
47040 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
47041 Move export next to declaration.
47042 (grub_ieee1275_chosen): New variable.
47043 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
47044 Correct cosmetic typo.
47045 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
47046 `grub_ieee1275_chosen'.
47047 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
47048 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
47049 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
47050 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
47051 `grub_ieee1275_chosen'.
47052
ca5baa3f 470532005-05-10 Hollis Blanchard <hollis@penguinppc.org>
47054
47055 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
47056 /chosen/bootargs.
47057 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
47058 /chosen/bootargs as "variable=value" pairs.
47059
708b345f 470602005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
47061
47062 * include/grub/misc.h (grub_dprintf): New macro.
47063 (grub_real_dprintf): New prototype.
47064 (grub_strword): Likewise.
47065 (grub_iswordseparator): Likewise.
47066 * kern/misc.c (grub_real_dprintf): New function.
47067 (grub_strword): Likewise.
47068 (grub_iswordseparator): Likewise.
47069
f4c5e67c 470702005-04-30 Hollis Blanchard <hollis@penguinppc.org>
47071
47072 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
47073 (roundup): Remove macro.
47074 (grub_ieee1275_flags): Make static.
47075 (grub_ieee1275_realmode): Remove.
47076 (grub_ieee1275_test_flag): New function.
47077 (grub_ieee1275_set_flag): Likewise.
47078 (find_options): Rename to `grub_ieee1275_find_options'; update
47079 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
47080 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
47081 (cmain): New prototype.
47082 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
47083 `grub_ieee1275_flags' directly.
47084 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
47085 machine/biosdisk.h.
47086 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
47087 Don't include grub/machine/init.h.
47088 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
47089 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47090 Remove prototype.
47091 (grub_ieee1275_realmode): Likewise.
47092 (grub_ieee1275_flag): New enum.
47093 (grub_ieee1275_test_flag): New prototype.
47094 (grub_ieee1275_set_flag): New prototype.
47095 * include/grub/powerpc/ieee1275/init.h: Remove file.
47096 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
47097 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
47098 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
47099 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
47100 comment.
47101 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
47102 `grub_ieee1275_test_flag'.
47103 (grub_ieee1275_encode_devname): Likewise.
47104
ed16607e 471052005-04-21 Hollis Blanchard <hollis@penguinppc.org>
47106
47107 * include/grub/powerpc/ieee1275/ieee1275.h
47108 (grub_ieee1275_encode_devname): New prototype.
47109 (grub_ieee1275_get_filename): Likewise.
47110 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
47111 function.
47112 (grub_set_prefix): Likewise.
47113 (grub_machine_init): Call grub_set_prefix.
47114 * kern/powerpc/ieee1275/openfw.c: Fix typos.
47115 (grub_parse_type): New enum.
47116 (grub_ieee1275_get_devargs): New function.
47117 (grub_ieee1275_get_devname): Likewise.
47118 (grub_ieee1275_parse_args): Likewise.
47119 (grub_ieee1275_get_filename): Likewise.
47120 (grub_ieee1275_encode_devname): Likewise.
47121
be369920 471222005-03-30 Marco Gerards <metgerards@student.han.nl>
47123
47124 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
47125 `grub_loader_unset'.
47126
a5ce3a4a 471272005-03-26 Hollis Blanchard <hollis@penguinppc.org>
47128
47129 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
47130 instead of grub_ieee1275_interpret.
47131 (grub_halt_init): New function.
47132 (grub_halt_fini): Likewise.
47133 (GRUB_MOD_INIT): Correct message grammar.
47134 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
47135 instead of grub_ieee1275_interpret.
47136 (grub_reboot_init): New function.
47137 (grub_reboot_fini): Likewise.
47138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
47139 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
47140 util/i386/pc/misc.c with commands/ieee1275/halt.c,
47141 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
47142 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
47143 function.
47144 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
47145 Add prototype.
47146 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
47147 prototype.
47148 (grub_halt): Likewise.
47149 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
47150 (cmain): Remove __attribute__((unused)).
47151 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
47152 (grub_heap_len): Likewise.
47153 (grub_machine_fini): New function.
47154 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
47155 (grub_halt): Likewise.
47156 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
47157 function.
47158 * util/powerpc/ieee1275/misc.c: New file.
47159
0058f771 471602005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47161
47162 * DISTLIST: New file.
47163 * gendistlist.sh: Likewise.
f19dbdb7 47164
0058f771 47165 * Makefile.in (COMMON_DISTFILES): Removed.
47166 (BOOT_DISTFILES): Likewise.
47167 (CONF_DISTFILES): Likewise.
47168 (DISK_DISTFILES): Likewise.
47169 (FS_DISTFILES): Likewise.
47170 (INCLUDE_DISTFILES): Likewise.
47171 (KERN_DISTFILES): Likewise.
47172 (LOADER_DISTFILES): Likewise.
47173 (TERM_DISTFILES): Likewise.
47174 (UTIL_DISTFILES): Likewise.
47175 (DISTFILES): Likewise.
47176 (uninstall): Uninstall files in $(pkgdata_DATA).
47177 (DISTLIST): New target.
47178 (distdir): Use the contents of the file DISTLIST to get a list of
47179 distributed files.
47180
46b3b8a5 471812005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47182
47183 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
47184 descriptor. This is ported from GRUB Legacy.
47185
47186 * gencmdlist.sh: Added an extra semicolon to make it work with
47187 old sed versions. Reported by Robert Bihlmeyer
47188 <robbe@orcus.priv.at>.
47189
5822ff87 471902005-03-08 Yoshinori Okuji <okuji@enbug.org>
47191
47192 Automatic loading of commands is supported.
f19dbdb7 47193
5822ff87 47194 * normal/main.c (read_command_list): New function.
47195 (grub_normal_execute): Call read_command_list.
47196
47197 * normal/command.c (grub_register_command): Return zero or CMD.
47198 Allocate CMD->NAME from the heap.
47199 Initialize CMD->MODULE_NAME to zero.
47200 Find the same name as well. If the same command is found and it is
47201 a dummy command, overwrite members. If it is not a dummy command,
47202 return zero.
47203 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
47204 (grub_command_find): If a dummy command is found, load a module
47205 and retry to find a command only once.
47206
47207 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
47208 make sure that each command is loaded.
47209
47210 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
47211 macro.
47212 (struct grub_command): Remove const from the member `name'.
47213 Add a new member `module_name'.
47214 (grub_register_command): Return grub_command_t.
47215
47216 * commands/help.c (grub_cmd_help): Call grub_command_find to make
47217 sure that each command is loaded.
47218
47219 * genmk.rb (PModule::rule): Specify a module name without the
47220 suffix ".mod" to gencmdlist.sh.
47221
7b1f4b57 472222005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47223
47224 * gencmdlist.sh: New file.
f19dbdb7 47225
7b1f4b57 47226 * genmk.rb (PModule::rule): Generate a rule for a command list.
47227 Clean command.lst.
47228 Generate command.lst from $(COMMANDFILES).
47229
47230 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
47231 (DATA): Added $(pkgdata_DATA).
47232 (install-local): Install files in $(pkgdata_DATA).
47233
062aaf39 472342005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47235
47236 * term/i386/pc/vga.c (debug_command): Removed.
47237 (GRUB_MOD_INIT): Do not register the command "debug".
47238
47239 From Hollis Blanchard:
47240 * commands/configfile.c: New file.
47241 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47242 commands/configfile.c.
47243 (pkgdata_MODULES): Added configfile.mod.
47244 (configfile_mod_SOURCES): New variable.
47245 (configfile_mod_CFLAGS): Likewise.
47246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47247 commands/configfile.c.
47248 (pkgdata_MODULES): Added configfile.mod.
47249 (configfile_mod_SOURCES): New variable.
47250 (configfile_mod_CFLAGS): Likewise.
47251 * util/grub-emu.c (main): Call grub_configfile_init and
47252 grub_configfile_fini.
47253 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
47254 prototype.
47255 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 47256
cee01aa6 472572005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47258
47259 * normal/arg.c (grub_arg_show_help): Do not show the bug report
47260 address.
47261
47262 * commands/help.c (grub_cmd_help): Do not print newlines after
47263 the last command in print_command_help.
47264
93f3a1d8 472652005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47266
47267 * commands/default.h: New file.
47268 * commands/timeout.h: Likewise.
47269 * normal/context.c: Likewise.
f19dbdb7 47270
93f3a1d8 47271 * util/misc.c: Do not include sys/times.h.
47272 Include sys/time.h and grub/machine/time.h.
47273 (grub_get_rtc): Rewritten with gettimeofday.
47274
47275 * util/grub-emu.c (main): Call grub_default_init and
47276 grub_timeout_init before grub_normal_init, and call
47277 grub_timeout_fini and grub_default_fini after grub_main.
47278
47279 * util/console.c (grub_ncurses_checkkey): Return the read
47280 character or -1.
47281
47282 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
47283 timeouts.
47284
47285 * normal/main.c (read_config_file): Push MENU. If this fails,
47286 print an error and wait for a user input.
47287 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
47288 If a menu is empty or an error occurs, pop MENU.
47289 (grub_normal_execute): Pop and free MENU after grub_menu_run
47290 returns.
47291
47292 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
47293
47294 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
47295 include time.h.
47296 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47297 without GRUB_UTIL.
47298 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
47299 time.h.
47300 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47301 without GRUB_UTIL.
47302
47303 * include/grub/normal.h (struct grub_menu_list): New struct.
47304 (grub_menu_list_t): New type.
47305 (struct grub_context): New struct.
47306 (grub_context_t): New type.
47307 (grub_register_command): Got rid of EXPORT_FUNC.
47308 (grub_unregister_command): Likewise.
47309 (grub_context_get): New prototype.
47310 (grub_context_get_current_menu): Likewise.
47311 (grub_context_push_menu): Likewise.
47312 (grub_context_pop_menu): Likewise.
47313 [GRUB_UTIL] (grub_default_init): Likewise.
47314 [GRUB_UTIL] (grub_default_fini): Likewise.
47315 [GRUB_UTIL] (grub_timeout_init): Likewise.
47316 [GRUB_UTIL] (grub_timeout_fini): Likewise.
47317
47318 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
47319 commands/timeout.c and normal/context.c.
47320 (pkgdata_MODULES): Added default.mod and timeout.mod.
47321 (normal_mod_SOURCES): Added normal/context.c.
47322 (default_mod_SOURCES): New variable.
47323 (default_mod_CFLAGS): Likewise.
47324 (timeout_mod_SOURCES): Likewise.
47325 (timeout_mod_CFLAGS): Likewise.
47326 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
47327 conf/i386-pc.rmk.
47328 (pkgdata_MODULES): Added default.mod and timeout.mod.
47329 (normal_mod_SOURCES): Added normal/context.c.
47330 (default_mod_SOURCES): New variable.
47331 (default_mod_CFLAGS): Likewise.
47332 (timeout_mod_SOURCES): Likewise.
47333 (timeout_mod_CFLAGS): Likewise.
47334
47335 * Makefile.in (all-local): Added $(MKFILES).
47336
4ed2e1dd 473372005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
47338
47339 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
47340 (grub_emu_SOURCES): Likewise.
47341 (pkgdata_MODULES): Add `sun.mod'.
47342 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
47343 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47344 `partmap/sun.c'.
47345 (pkgdata_MODULES): Add `sun.mod'.
47346 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
47347 * include/grub/partition.h (grub_sun_partition_map_init): New
47348 prototype.
47349 (grub_sun_partition_map_fini): Likewise.
47350 * partmap/sun.c: New file.
47351 * util/grub-emu.c (main): Initialize and de-initialize the sun
47352 partitionmap support.
47353
4d4e372e 473542005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
47355
47356 This implements an Emacs-like menu entry editor.
f19dbdb7 47357
4d4e372e 47358 * normal/menu_entry.c: New file.
f19dbdb7 47359
4d4e372e 47360 * util/console.c (grub_ncurses_putchar): Translate some Unicode
47361 characters to ASCII.
47362 (saved_char): New variable.
47363 (grub_ncurses_checkkey): Rewritten completely.
47364 (grub_ncurses_getkey): Likewise.
47365 (grub_ncurses_init): Call raw instead of cbreak.
47366
47367 * normal/menu.c (print_entry): Do not put a space.
47368 (init_page): Renamed to ...
47369 (grub_menu_init_page): ... this. All callers changed.
47370 (edit_menu_entry): Removed.
47371 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
47372
47373 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
47374
47375 * kern/misc.c (grub_vprintf): Call grub_refresh.
47376
47377 * normal/menu.c (DISP_LEFT): Renamed to ...
47378 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
47379 * normal/menu.c (DISP_UP): Renamed to ...
47380 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
47381 * normal/menu.c (DISP_RIGHT): Renamed to ...
47382 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
47383 * normal/menu.c (DISP_DOWN): Renamed to ...
47384 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
47385 * normal/menu.c (DISP_HLINE): Renamed to ...
47386 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
47387 * normal/menu.c (DISP_VLINE): Renamed to ...
47388 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
47389 * normal/menu.c (DISP_UL): Renamed to ...
47390 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
47391 * normal/menu.c (DISP_UR): Renamed to ...
47392 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
47393 * normal/menu.c (DISP_LL): Renamed to ...
47394 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
47395 * normal/menu.c (DISP_LR): Renamed to ...
47396 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
47397 * normal/menu.c (TERM_WIDTH): Renamed to ...
47398 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
47399 * normal/menu.c (TERM_HEIGHT): Renamed to ...
47400 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
47401 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
47402 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
47403 * normal/menu.c (TERM_MARGIN): Renamed to ...
47404 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
47405 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
47406 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
47407 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
47408 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
47409 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
47410 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
47411 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
47412 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
47413 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
47414 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
47415 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
47416 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
47417 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
47418 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
47419 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
47420 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
47421 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
47422 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
47423 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
47424 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
47425 All callers changed.
47426
47427 * include/grub/normal.h: New prototype.
47428
47429 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47430 normal/menu_entry.c.
47431 (normal_mod_SOURCES): Likewise.
47432 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47433 (normal_mod_SOURCES): Likewise.
47434
e6b92c8a 474352005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
47436
47437 * include/grub/normal.h (grub_halt_init): New prototype.
47438 (grub_halt_fini): Likewise.
47439 (grub_reboot_init): Likewise.
47440 (grub_reboot_fini): Likewise.
47441
47442 * util/grub-emu.c: Include signal.h.
47443 (main_env): New global variable.
47444 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
47445 catch C-c.
47446 (grub_machine_fini): New function.
47447 (main): Call grub_halt_init and grub_reboot_init before
47448 grub_main, and grub_reboot_fini and grub_halt_fini after it.
47449 Call setjmp with MAIN_ENV to go back afterwards.
47450 Call grub_machine_fini right before return.
47451
47452 * include/grub/util/misc.h: Include setjmp.h.
47453 (main_env): New prototype.
47454
47455 * include/grub/kernel.h (grub_machine_fini): New prototype.
47456 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
47457 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
47458
47459 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
47460 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
47461 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 47462
e6b92c8a 47463 * util/i386/pc/misc.c: New file.
f19dbdb7 47464
e6b92c8a 47465 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47466 util/i386/pc/misc.c, commands/i386/pc/halt.c and
47467 commands/i386/pc/reboot.c.
47468
c642636f 474692005-02-14 Guillem Jover <guillem@hadrons.org>
47470
47471 * include/grub/dl.h (grub_dl_check_header): New prototype.
47472 (grub_arch_dl_check_header): Change return type to grub_err_t,
47473 remove size parameter and export function. Update all callers.
47474 * kern/dl.c (grub_dl_check_header): New function.
47475 (grub_dl_load_core): Use `grub_dl_check_header' instead of
47476 `grub_arch_dl_check_header'. Check ELF type. Check if sections
47477 are inside the core.
47478 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
47479 independent ELF header checks.
47480 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
47481 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
47482 `grub_dl_check_header' instead of explicit checks. Check for the
47483 ELF type.
47484 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
47485 `grub_dl_check_header' instead of explicit checks. Remove arch
47486 specific ELF header checks.
47487
e6b92c8a 47488 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
47489 argument SIZE.
47490
5eabe94b 474912005-02-13 Hollis Blanchard <hollis@penguinppc.org>
47492
47493 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
47494 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
47495
1b14a681 474962005-02-12 Hollis Blanchard <hollis@penguinppc.org>
47497
47498 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 47499 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 47500 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 47501 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 47502 * partmap/amiga.c (amiga_partition_map_iterate): Return
47503 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
47504 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47505
aca108aa 475062005-02-01 Guillem Jover <guillem@hadrons.org>
47507
47508 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
47509 help info.
47510
c9f9c556 475112005-01-31 Marco Gerards <metgerards@student.han.nl>
47512
47513 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
47514 Removed prototype.
47515 (grub_rescue_cmd_linux): New prototype.
47516 (grub_rescue_cmd_initrd): Likewise.
47517 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
47518 `bi_rec'.
47519 (grub_linux_release_mem): Release the memory for the initrd.
47520 (grub_load_linux): Renamed from this...
47521 (grub_rescue_cmd_linux): ...To this. Changed all callers.
47522 Changed `entry' not to be static. Loop over memory regions to
47523 find another one when the default fails.
47524 (grub_rescue_cmd_initrd): New function.
47525 (grub_linux_init): Remove function.
47526 (grub_linux_fini): Likewise.
47527 (GRUB_MOD_INIT): Register `initrd'.
47528 (GRUB_MOD_FINI): Unregister `initrd'.
47529 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
47530 Function removed.
47531 (grub_linux_normal_fini): Likewise.
47532 (GRUB_MOD_INIT): Register `initrd'.
47533 (GRUB_MOD_FINI): Unregister `initrd'.
47534
990cf3aa 475352005-01-31 Marco Gerards <metgerards@student.han.nl>
47536
47537 * commands/help.c: New file.
47538 * normal/arg.c (show_help): Renamed to...
47539 (grub_arg_show_help): ... this.
47540 * commands/i386/pc/halt.c: New file.
47541 * commands/i386/pc/reboot.c: Likewise.
47542 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
47543 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
47544 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
47545 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
47546 variables.
47547 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47548 `commands/help.c'.
47549 (pkgdata_MODULES): Add `help.mod'.
47550 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
47551 * grub/i386/pc/init.h (grub_reboot): New prototype.
47552 (grub_halt): Likewise.
47553 * include/grub/normal.h (grub_arg_show_help): New prototype.
47554 (grub_help_init): Likewise.
47555 (grub_help_fini): Likewise.
47556 * util/grub-emu.c (main): Initialize and deinitialize the help
47557 command.
47558
47559 * normal/cmdline.c (grub_cmdline_get): Doc fix.
47560
47561 * normal/command.c (grub_command_init): Fixed the description of
47562 the `set' and `unset' commands.
47563
475642005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 47565
47566 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
47567 function.
47568 * commands/ieee1275/halt.c: New file.
47569 * commands/ieee1275/reboot.c: Likewise.
47570 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
47571 `__attribute__ ((unused))'. Some GCS related fixed.
47572 (grub_suspend_init) [GRUB_UTIL]: Function removed.
47573 (grub_suspend_fini): Likewise.
47574 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
47575 and `halt.mod'.
47576 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
47577 (halt_mod_CFLAGS): New variables.
47578 * include/grub/powerpc/ieee1275/ieee1275.h
47579 (grub_ieee1275_interpret): New prototype.
47580
1ab09cc7 475812005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
47582
47583 * include/grub/misc.h (memmove): New prototype.
47584 (memcpy): Likewise.
47585
8b8cbdb2 475862005-01-22 Hollis Blanchard <hollis@penguinppc.org>
47587
47588 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
47589 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
47590
e3741a27 475912005-01-22 Marco Gerards <metgerards@student.han.nl>
47592
47593 * kern/misc.c (grub_strndup): Function rewritten.
47594
776bd780 475952005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
47596
47597 * normal/menu.c (TERM_WIDTH): Macro redefined.
47598 (TERM_TOP_BORDER_Y): Likewise.
47599 (draw_border): Replaced while-loop by a for-loop. Make the number
47600 of lines consistent with the number of lines displayed in
47601 print_entries. Added a margin below the rectangle.
47602 (print_entry): Make the entry fit in the rectangle.
47603 (print_entries): Display the scroll arrows next to the right
47604 border.
47605
78026bce 476062005-01-21 Marco Gerards <metgerards@student.han.nl>
47607
47608 * fs/minix.c (grub_minix_find_file): Reserve more space for
47609 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
47610 `grub_strncpy' to copy `path' into it.
47611
67bbaf0f 476122005-01-21 Marco Gerards <metgerards@student.han.nl>
47613
47614 Add the loopback device, a device via which files can be accessed
47615 as devices.
f19dbdb7 47616
67bbaf0f 47617 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
47618 (pkgdata_MODULES): Add loopback.mod.
47619 (loopback_mod_SOURCES): New variable.
47620 (loopback_mod_CFLAGS): Likewise.
47621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47622 `disk/loopback.c'.
47623 (pkgdata_MODULES): Add loopback.mod.
47624 (loopback_mod_SOURCES): New variable.
47625 (loopback_mod_CFLAGS): Likewise.
47626 * disk/loopback.c: new file.
47627 * include/grub/normal.h (grub_loop_init): New prototype.
47628 (grub_loop_fini): New prototype.
47629 * util/grub-emu.c (main): Initialize and de-initialize loopback
47630 support.
47631 * include/grub/disk.h (grub_disk_dev_id): Add
47632 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
47633
6f1c18bd 476342005-01-20 Hollis Blanchard <hollis@penguinppc.org>
47635
47636 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
47637 function.
47638 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
47639 (suspend_mod_SOURCES): New variable.
47640 (suspend_mod_CFLAGS): Likewise.
47641 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
47642 New prototype.
47643 * commands/ieee1275/suspend.c: New file.
47644
b38551da 476452005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47646
47647 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 47648 ((unused))' to `__attribute__ ((used))'.
b38551da 47649 (GRUB_MOD_FINI): Likewise.
47650 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
47651 * genmk.rb (PModule): Assign space to common symbols when linking
47652 modules.
47653
777aff39 476542005-01-20 Marco Gerards <metgerards@student.han.nl>
47655
47656 * include/grub/mm.h (grub_mm_init_region): Change the type of the
47657 `unsigned' arguments to `grub_size_t'.
47658 (grub_malloc): Likewise.
47659 (grub_realloc): Likewise.
47660 (grub_memalign): Likewise.
47661 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
47662 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
47663 * util/misc.c (grub_malloc): Likewise.
47664 (grub_realloc): Likewise.
47665 * kern/mm.c (get_header_from_pointer): Change the casts to
47666 `unsigned' into a cast to `grub_size_t'.
47667
47668 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
47669 point to `currnode' when `currnode' is changed.
47670
47671 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
47672 Schottelius <nico-linux@schottelius.org>.
47673
d0ff18e1 476742005-01-09 Hollis Blanchard <hollis@penguinppc.org>
47675
47676 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
47677 (note_path): Remove variable.
47678 (GRUB_IEEE1275_NOTE_NAME): New macro.
47679 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
47680 (grub_ieee1275_note_hdr): New structure.
47681 (grub_ieee1275_note_desc): Likewise.
47682 (grub_ieee1275_note): Likewise.
47683 (load_note): Remove `dir' argument. All callers updated. Remove
47684 `note_img' and `path'. Do not load a file from `note_path'.
47685 Initialize a struct grub_ieee1275_note and write that to `out'.
47686 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
47687
4ca7004c 476882005-01-05 Marco Gerards <metgerards@student.han.nl>
47689
47690 * util/misc.c (grub_util_read_image): Revert last change. It
47691 called `grub_util_read_at', which seeks from the beginning of the
47692 file.
47693
0b412211 476942005-01-04 Hollis Blanchard <hollis@penguinppc.org>
47695
47696 * TODO: Add note about endianness in grub-mkimage.
47697 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
47698 section.
47699 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
47700 (grub_mkimage_SOURCES): New target.
47701 * include/grub/kernel.h (grub_start_addr): Remove variable.
47702 (grub_end_addr): Likewise.
47703 (grub_total_module_size): Likewise.
47704 (grub_kernel_image_size): Likewise.
47705 (GRUB_MODULE_MAGIC): New constant.
47706 (grub_module_info): New structure.
47707 (grub_arch_modules_addr): New prototype.
47708 (grub_get_end_addr): Remove prototype.
47709 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
47710 * include/grub/powerpc/ieee1275/kernel.h: New file.
47711 * include/grub/util/misc.h (grub_util_get_fp_size): New
47712 prototype.
47713 (grub_util_read_at): Likewise.
47714 (grub_util_write_image_at): Likewise.
47715 * kern/main.c (grub_get_end_addr): Remove function.
47716 (grub_load_modules): Call grub_arch_modules_addr instead of using
47717 grub_end_addr. Look for a grub_module_info struct in memory. Use
47718 the grub_module_info fields instead of calling grub_get_end_addr
47719 as loop conditions. Move grub_add_unused_region code here.
47720 (grub_add_unused_region): Remove function.
47721 * kern/i386/pc/init.c: Include grub/cache.h.
47722 (grub_machine_init): Remove call to grub_get_end_addr. Remove
47723 one call to add_mem_region.
47724 (grub_arch_modules_addr): New function.
47725 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
47726 (grub_total_module_size): Likewise.
47727 Include grub/machine/kernel.h.
47728 (grub_arch_modules_addr): New function.
47729 * util/grub-emu.c (grub_end_addr): Remove variable.
47730 (grub_total_module_size): Likewise.
47731 (grub_arch_modules_addr): New function.
47732 * util/misc.c: Include unistd.h.
47733 (grub_util_get_fp_size): New function.
47734 (grub_util_read_at): Likewise.
47735 (grub_util_write_image_at): Likewise.
47736 (grub_util_read_image): Call grub_util_read_at.
47737 (grub_util_write_image): Call grub_util_write_image_at.
47738 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
47739 additional memory in kernel_img for a struct grub_module_info.
47740 Fill in that grub_module_info.
47741 * util/powerpc/ieee1275/grub-mkimage.c: New file.
47742
458786f8 477432005-01-03 Hollis Blanchard <hollis@penguinppc.org>
47744
47745 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
47746 New function.
47747 * include/grub/powerpc/ieee1275/ieee1275.h
47748 (grub_ieee1275_milliseconds): New prototype.
47749 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
47750 Change to 1000.
47751 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
47752 grub_ieee1275_milliseconds.
47753
ac507d1b 477542005-01-03 Hollis Blanchard <hollis@penguinppc.org>
47755
47756 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
47757 variable.
47758 (find_options): New function.
47759 (cmain): Call find_options.
47760 * include/grub/powerpc/ieee1275/ieee1275.h
47761 (grub_ieee1275_realmode): New extern variable.
47762 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
47763 grub_map if grub_ieee1275_realmode is false.
47764
6b8fd1c4 477652004-12-29 Marco Gerards <metgerards@student.han.nl>
47766
47767 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
47768 lines are inserted and make it work like readline. Reported by
47769 Vincent Pelletier <subdino2004@yahoo.fr>.
47770
8514a1e0 477712004-12-28 Marco Gerards <metgerards@student.han.nl>
47772
47773 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
47774
47775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
47776 `kern/powerpc/cache.S'.
47777
924b6140 477782004-12-27 Marco Gerards <metgerards@student.han.nl>
47779
47780 * genmk.rb: Handle the `Program' class in the main loop. Written
47781 by Johan Rydberg <jrydberg@gnu.org>.
47782 (Program): New class.
47783 (programs): New variable.
47784 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
47785 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
47786 instead of "grub/kernel.h". Include <grub/machine/init.h>.
47787 (help_arch): Function removed.
47788 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
47789 `powerpc/libgcc.h' and `loader.h'.
47790 (pkgdata_PROGRAMS): New variable.
47791 (sbin_UTILITIES): Variable removed.
47792 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
47793 (grubof_SOURCES): Variable re-defined so it only includes the
47794 core functionality.
47795 (grubof_CFLAGS): Remove `-DGRUBOF'.
47796 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
47797 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
47798 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
47799 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
47800 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
47801 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
47802 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
47803 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
47804 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
47805 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
47806 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47807 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
47808 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
47809 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
47810 (pc_mod_CFLAGS): New variables.
47811 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
47812 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
47813 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
47814 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
47815 Moved from here...
47816 * include/grub/i386/pc/init.h (grub_os_area_addr)
47817 (rub_os_area_size): ... to here.
47818 * include/grub/powerpc/ieee1275/ieee1275.h
47819 (grub_ieee1275_entry_fn): Export symbol.
47820 * include/grub/powerpc/ieee1275/init.h: New file.
47821 * include/grub/powerpc/libgcc.h: Likewise.
47822 * include/grub/cache.h: Likewise.
47823 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
47824 <hollis@penguinppc.org>.
47825 * kern/dl.c: Include <grub/cache.h>.
47826 (grub_dl_flush_cache): New function.
47827 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
47828 for this module.
47829 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
47830 (grub_console_init): Removed prototypes.
47831 (grub_machine_init): Don't initialize the modules anymore.
47832 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
47833 static.
47834 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
47835 Macro undef removed.
47836 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
47837 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
47838 relocation `R_PPC_REL32'. Return an error when the relocation is
47839 unknown.
47840 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
47841 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
47842 * util/misc.c (grub_arch_sync_caches): Likewise.
47843
e4b47e0c 478442004-12-19 Marco Gerards <metgerards@student.han.nl>
47845
47846 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
47847 `symlist.c', add `grubof_symlist.c'.
47848 (symlist.c): Variable removed.
47849 (grubof_HEADERS): Variable added.
47850 (grubof_symlist.c): New target.
47851 (kernel_syms.lst): Use `grubof_HEADERS' instead of
47852 `kernel_img_HEADERS'.
47853 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
47854 * kern/powerpc/dl.c: New file.
47855 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
47856 Function removed.
47857 (grub_arch_dl_relocate_symbols): Likewise.
47858 (grub_register_exported_symbols): Likewise.
47859
4ceb3636 478602004-12-13 Marco Gerards <metgerards@student.han.nl>
47861
47862 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
47863 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
47864 to fail instead. Reported by Vincent Pelletier
47865 <subdino2004@yahoo.fr>.
47866
47867 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
47868 it is not allocated. Reported by Vincent Pelletier
47869 <subdino2004@yahoo.fr>.
47870
47871 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
47872 output so the output looks better.
f19dbdb7 47873
3f1578fe 478742004-12-04 Marco Gerards <metgerards@student.han.nl>
47875
47876 Modulize the partition map support and add support for the amiga
47877 partition map.
f19dbdb7 47878
3f1578fe 47879 * commands/ls.c: Include <grub/partition.h> instead of
47880 <grub/machine/partition.h>.
47881 * kern/disk.c: Likewise.
47882 * kern/rescue.c: Likewise.
47883 * loader/i386/pc/chainloader.c: Likewise.
47884 * normal/cmdline.c: Likewise.
47885 * kern/powerpc/ieee1275/init.c: Likewise.
47886 (grub_machine_init): Call `grub_pc_partition_map_init',
47887 `grub_amiga_partition_map_init' and
47888 `grub_apple_partition_map_init'.
47889 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
47890 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
47891 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
47892 `partition.h' and `pc_partition.h'.
47893 (grub_setup_SOURCES): Remove
47894 `disk/i386/pc/partition.c'. Add `kern/partition.c',
47895 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
47896 (grub_emu_SOURCES): Likewise.
47897 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
47898 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
47899 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
47900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
47901 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
47902 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
47903 (grubof_SOURCES): Likewise.
47904 * disk/i386/pc/partition.c: File removed.
47905 * disk/powerpc/ieee1275/partition.c: Likewise.
47906 * include/grub/powerpc/ieee1275/partition.h: Likewise.
47907 * include/grub/i386/pc/partition.h: Likewise.
47908 * kern/partition.c: New file.
47909 * partmap/amiga.c: Likewise.
47910 * partmap/apple.c: Likewise.
47911 * partmap/pc.c: Likewise.
47912 * include/grub/partition.h: Likewise..
47913 * include/grub/pc_partition.h: Likewise.
47914 * util/grub-emu.c: Include <grub/partition.h> instead of
47915 <grub/machine/partition.h>.
47916 (main): Call `grub_pc_partition_map_init',
47917 `grub_amiga_partition_map_init' and
47918 `grub_apple_partition_map_init' and deinitialize afterwards.
47919 * util/i386/pc/biosdisk.c: Include `#include
47920 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
47921 `<grub/machine/partition.h>'.
47922 * util/i386/pc/grub-setup.c: Likewise.
47923 * util/i386/pc/biosdisk.c: Likewise.
47924 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
47925 partition information in case of a PC partition.
47926 * util/i386/pc/grub-setup.c: Include `#include
47927 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
47928 `<grub/machine/partition.h>'.
47929 (setup): Only access the PC specific partition information in case
47930 of a PC partition.
47931
0ef4ced9 479322004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47933
0ef4ced9 47934 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
47935 (grub_longjmp): Likewise.
47936 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
47937 20.
47938 * normal/powerpc/setjmp.S: New file.
47939 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
47940 `normal/powerpc/setjmp.S'.
47941 (grubof_CFLAGS): Add `-DGRUBOF'.
47942 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
47943 [GRUB_UTIL && !GRUBOF].
f19dbdb7 47944
19950e29 479452004-11-16 Marco Gerards <metgerards@student.han.nl>
47946
47947 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
47948 property named `name'. Correctly handle the error returned by
47949 `grub_ieee1275_finddevice' if a device can not be opened.
47950
a2fea427 479512004-11-02 Hollis Blanchard <hollis@penguinppc.org>
47952
47953 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
47954 `actual' for negativity.
47955 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
47956 kern/fshelp.c.
47957
41ea0ea3 479582004-11-01 Marco Gerards <metgerards@student.han.nl>
47959
47960 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
47961 (PAGE_OFFSET): New macro.
47962 (CRTC_ADDR_PORT): Likewise.
47963 (CRTC_DATA_PORT): Likewise.
47964 (START_ADDR_HIGH_REGISTER): Likewise.
47965 (START_ADDR_LOW_REGISTER): Likewise.
47966 (GRAPHICS_ADDR_PORT): Likewise.
47967 (GRAPHICS_DATA_PORT): Likewise.
47968 (READ_MAP_REGISTER): Likewise.
47969 (INPUT_STATUS1_REGISTER): Likewise.
47970 (INPUT_STATUS1_VERTR_BIT): Likewise.
47971 (page): New variable.
47972 (wait_vretrace): New function.
47973 (set_read_map): Likewise.
47974 (set_start_address): Likewise.
47975 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
47976 the right page.
47977 (check_vga_mem): Take the page into account.
47978 (write_char): Likewise.
47979 (write_cursor): Likewise.
47980 (scroll_up): Likewise. Copy the page to the page that is not
47981 shown and switch between both pages.
47982 (grub_vga_putchar): Fix off by one error.
47983 (grub_vga_cls): Wait for the vertical retrace. Take the page into
47984 account.
47985
ad0bd20b 479862004-11-01 Marco Gerards <metgerards@student.han.nl>
47987
47988 Add support for iso9660 (including rockridge).
f19dbdb7 47989
ad0bd20b 47990 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47991 (iso9660_mod_SOURCES): New variable.
47992 (iso9660_mod_CFLAGS): Likewise.
47993 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47994 * include/grub/fs.h (grub_iso9660_init): New prototype.
47995 * util/grub-emu.c (main): Call `grub_iso9660_init'.
47996 * fs/iso9660.c: New file.
47997
47998 * include/grub/misc.h (grub_strncat): New prototype.
47999 * kern/misc.c (grub_strncat): New function.
f19dbdb7 48000
ad0bd20b 48001 * fs/hfs.c (grub_hfs_mount): Translate the error
48002 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
48003 * fs/jfs.c (grub_jfs_mount): Likewise.
48004 * fs/ufs.c (grub_ufs_mount): Likewise.
48005
a5477a59 480062004-10-28 Hollis Blanchard <hollis@penguinppc.org>
48007
48008 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
48009 which initialized BAT registers.
48010 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
48011 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48012 Move from here...
48013 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
48014 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48015 ... to here.
48016 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
48017 (grub_mapclaim): Likewise.
48018 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
48019 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
48020 hand.
48021
9304c1f8 480222004-10-19 Hollis Blanchard <hollis@penguinppc.org>
48023
48024 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
48025 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
48026 -ffreestanding and -msoft-float.
48027
86f4ae25 480282004-10-15 Hollis Blanchard <hollis@penguinppc.org>
48029
48030 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
48031 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
48032 set in grub_ieee1275_flags.
48033
38912228 480342004-10-14 Hollis Blanchard <hollis@penguinppc.org>
48035
48036 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
48037 prototype.
48038 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
48039 grub_console_init first.
48040 Change the memory range used for grub_ieee1275_claim and
48041 grub_mm_init_region.
48042 Print an error message if the claim fails.
48043 Include <grub/misc.h>.
48044
d1923dc8 480452004-10-13 Hollis Blanchard <hollis@penguinppc.org>
48046
48047 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
48048 Call grub_children_iterate for device nodes of type `scsi',
48049 `ide', or `ata'.
48050 (grub_ofdisk_open): Remove manual device alias resolution.
48051 Fix memory leak when device cannot be opened.
f19dbdb7 48052 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 48053 (grub_children_iterate): New prototype.
48054 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
48055 New function.
48056 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48057 Return -1 if args.size was -1.
48058
4512e4f3 480592004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48060
48061 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
48062 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
48063 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
48064 Open Firmware's memory for it; claim memory from _start to _end.
48065 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
48066 (_end): New extern.
48067 (_start): Zero BSS from __bss_start to _end.
48068 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48069 New extern.
48070 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
48071
4d61feb0 480722004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48073
ad0bd20b 48074 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
48075 -1 if args.base was -1.
4d61feb0 48076
026fa2f9 480772004-10-08 Hollis Blanchard <hollis@penguinppc.org>
48078
48079 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
48080 escape sequence instead of a literal ^L. Also call
48081 grub_ofconsole_gotoxy.
48082
9f2220ef 480832004-10-03 Hollis Blanchard <hollis@penguinppc.org>
48084
48085 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
48086 void * arguments to grub_addr_t. All callers updated. Also make
48087 the `result' argument optional.
48088 (grub_ieee1275_release): change void * arguments to grub_addr_t.
48089 All callers updated.
48090
8a572cd7 480912004-09-22 Hollis Blanchard <hollis@penguinppc.org>
48092
48093 * commands/ls.c (grub_ls_list_files): Use the string following the
48094 initial ')', if present, as the filesystem path.
48095 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
48096
48097 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
48098
18aa81f2 480992004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
48100
48101 Make the source code of the menu interface more readable.
f19dbdb7 48102
18aa81f2 48103 * normal/menu.c: Include grub/mm.h.
48104 (TERM_WIDTH): New macro.
48105 (TERM_HEIGHT): Likewise.
48106 (TERM_INFO_HEIGHT): Likewise.
48107 (TERM_MARGIN): Likewise.
48108 (TERM_SCROLL_WIDTH): Likewise.
48109 (TERM_TOP_BORDER_Y): Likewise.
48110 (TERM_LEFT_BORDER_X): Likewise.
48111 (TERM_BORDER_WIDTH): Likewise.
48112 (TERM_MESSAGE_HEIGHT): Likewise.
48113 (TERM_BORDER_HEIGHT): Likewise.
48114 (TERM_NUM_ENTRIES): Likewise.
48115 (TERM_FIRST_ENTRY_Y): Likewise.
48116 (TERM_ENTRY_WIDTH): Likewise.
48117 (TERM_CURSOR_X): Likewise.
48118 (draw_border): Use macros instead of magic numbers.
48119 (print_entry): Likewise.
48120 (print_entries): Likewise.
48121 (run_menu): Likewise. Also, handle the key 'e'.
48122 (run_menu_entry): Ignore empty command lines.
48123 (print_message): Added a new argument EDIT. If EDIT is true,
48124 print a different message.
48125 (init_page): Likewise.
48126 (edit_menu_entry): New function. Not implemented yet.
48127
b47efe30 481282004-09-17 Marco Gerards <metgerards@student.han.nl>
48129
48130 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
48131 can be loaded from normal mode.
f19dbdb7 48132
b47efe30 48133 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
48134 `multiboot.mod'.
48135 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
48136 (multiboot_mod_CFLAGS): New variables.
48137 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 48138 * loader/i386/pc/multiboot_normal.c: Likewise.
48139
b47efe30 48140 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
48141 attribute `unused'.
f19dbdb7 48142
b47efe30 48143 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
48144 `fdiro' to read the mode information from instead of `diro'.
48145
48146 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
48147 looking up a symlink.
48148
48149 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
48150 macro.
48151 * normal/command.c (grub_command_execute): Don't parse the
48152 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
48153 flags of the command.
48154
48155 * normal/menu.c (grub_menu_run): Fix typo.
48156
da75ac71 481572004-09-14 Hollis Blanchard <hollis@penguinppc.org>
48158
48159 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
48160
48161 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
48162 `y + 1' instead of `y - 1'.
48163
48164 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 48165
062b24c2 481662004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
48167
48168 From Hollis Blanchard <hollis@penguinppc.org>:
48169 * kern/misc.c (memmove): New alias for grub_memmove.
48170 (memcmp): New alias for grub_memcmp.
48171 (memset): New alias for grub_memset.
f19dbdb7 48172 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 48173 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 48174 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 48175 (grub_ieee1275_get_property): Likewise.
f19dbdb7 48176
8ddad845 481772004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
48178
48179 Added normal mode command `chainloader' as module chain.mod, which
48180 depends on normal.mod and _chain.mod.
f19dbdb7 48181
8ddad845 48182 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
48183 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
48184 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
48185 Deleted prototype.
48186 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
48187 but arguments parsing moved to ...
48188 (grub_chainloader_cmd): ... here. New function.
48189 * include/grub/i386/pc/chainloader.h: New file.
48190 * loader/i386/pc/chainloader_normal.c: Likewise.
48191
2c1f4ce3 481922004-09-11 Marco Gerards <metgerards@student.han.nl>
48193
48194 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
48195 (grub_mkimage_LDFLAGS): Likewise.
48196 (grub_emu_SOURCES): Likewise.
48197 (kernel_img_HEADERS): Added fshelp.h.
48198 * fs/ext2.c: Include <grub/fshelp.h>.
48199 (FILETYPE_REG): New macro.
48200 (FILETYPE_INO_REG): Likewise.
48201 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
48202 Changed all users.
48203 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
48204 all users.
48205 (grub_fshelp_node): New struct.
48206 (grub_ext2_data): Added member `diropen'. Changed member `inode'
48207 to a pointer.
48208 (grub_ext2_get_file_block): Removed function.
48209 (grub_ext2_read_block): New function.
48210 (grub_ext2_read_file): Replaced parameter `data' by `node'.
48211 This function was written.
48212 (grub_ext2_mount): Read the root inode. Create a diropen struct.
48213 (grub_ext2_find_file): Removed function.
48214 (grub_ext2_read_symlink): New function.
48215 (grub_ext2_iterate_dir): Likewise.
48216 (grub_ext2_open): Rewritten.
48217 (grub_ext2_dir): Rewritten.
48218 * include/grub/fshelp.h: New file.
48219 * fs/fshelp.c: Likewise.
48220
3c52136a 482212004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
48222
48223 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
48224 (print_message): Add a missing newline.
48225 (run_menu): Added timeout support.
48226 (run_menu_entry): New local function.
48227 (grub_menu_run): Added support for booting.
48228
48229 * kern/loader.c (grub_loader_is_loaded): New function.
48230
48231 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
48232 (grub_get_rtc): Exported.
48233
48234 * include/grub/i386/pc/time.h: Include grub/symbol.h.
48235 (grub_get_rtc): Exported.
48236
48237 * include/grub/normal.h (struct grub_command_list): Remove
48238 constant from the member `command'.
48239
48240 * include/grub/loader.h (grub_loader_is_loaded): Declared.
48241
48242 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
48243
48244 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
48245
aa033560 482462004-08-28 Marco Gerards <metgerards@student.han.nl>
48247
48248 Add support for the JFS filesystem.
48249
48250 * fs/jfs.c: New file.
48251 * include/grub/fs.h (grub_jfs_init): New prototype.
48252 (grub_jfs_fini): New prototype.
48253 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
48254 (grub_emu_SOURCES): Likewise.
48255 (pkgdata_MODULES): Add jfs.mod.
48256 (jfs_mod_SOURCES): New variable.
48257 (jfs_mod_CFLAGS): Likewise.
48258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
48259 (grubof_SOURCES): Likewise.
48260 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
48261
48262 * fs/fat.c (grub_fat_find_dir): Convert the filename little
48263 endian to the host endian.
48264 (grub_fat_utf16_to_utf8): Move function from there...
48265 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 48266 the endianness of the source string anymore.
aa033560 48267 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
48268
94bc45af 482692004-08-24 Marco Gerards <metgerards@student.han.nl>
48270
48271 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
48272 (grub_boot_fini) [GRUB_UTIL]: Likewise.
48273 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
48274 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 48275
94bc45af 48276 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
48277 (grub_hfs_iterate_dir): Make the function static. Add prototypes
48278 for `node_found' and `it_dir'.
48279 (grub_hfs_dir): Add prototype for `dir_hook'.
48280
48281 * fs/minix.c (grub_minix_get_file_block): Add prototype for
48282 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
48283 and `indir32' to silence a gcc warning.
48284
48285 * include/grub/fs.h (grub_hfs_init): New prototype.
48286 (grub_hfs_fini): Likewise.
f19dbdb7 48287
48288
97543f08 482892004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48290
48291 Each disk device has its own id now. This is useful to make use
48292 of multiple disk devices.
f19dbdb7 48293
97543f08 48294 * include/grub/disk.h (grub_disk_dev_id): New enum.
48295 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
48296 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
48297
48298 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
48299 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48300
48301 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
48302 GRUB_DISK_DEVICE_OFDISK_ID as an id.
48303
48304 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
48305 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48306
48307 * include/grub/disk.h (struct grub_disk_dev): Added a new member
48308 "id" which is used by the cache manager.
48309
48310 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
48311 of just "GRUB".
48312
64372eb4 483132004-08-18 Marco Gerards <metgerards@student.han.nl>
48314
48315 * fs/hfs.c: New file.
48316 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
48317 (grub_emu_SOURCES): Likewise.
48318 (pkgdata_MODULES): Add hfs.mod.
48319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
48320 (grubof_SOURCES): Likewise.
48321 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
48322
48323 * include/grub/misc.h (grub_strncasecmp): Add prototype.
48324 * kern/misc.c (grub_strncasecmp): Add function.
48325
cc61b58f 483262004-08-14 Marco Gerards <metgerards@student.han.nl>
48327
48328 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
48329 with parentheses.
48330
48331 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
48332 (grub_ext2_dir): In case the directory entry type is unknown, read
48333 it from the inode.
48334
0ef123f6 483352004-08-02 Peter Bruin <pjbruin@dds.nl>
48336
48337 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
48338 grub_load_linux instead of grub_rescue_cmd_linux as second
48339 argument of grub_rescue_register_command.
48340
48341 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
48342
a447c5df 483432004-07-27 Marco Gerards <metgerards@student.han.nl>
48344
48345 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
48346 function.
48347 * commands/boot.c: Remove the check for `GRUB_UTIL'.
48348 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48349 `loader/powerpc/ieee1275/linux.c',
48350 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
48351 * include/grub/powerpc/ieee1275/ieee1275.h
48352 (grub_ieee1275_release): New prototype.
48353 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
48354 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
48355 normal, boot, linux and linux_normal.
48356 * loader/powerpc/ieee1275/linux.c: New file.
48357 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
48358
5a9e3546 483592004-07-12 Marco Gerards <metgerards@student.han.nl>
48360
48361 * normal/arg.c (grub_arg_parse): Correct error handling after
48362 reallocating the argumentlist (check if `argl' is not null instead
48363 of checking if `args' is not null).
48364 * kern/mm.c (grub_realloc): Return the same pointer when using the
48365 same region, instead of returning the header address.
48366
e15199cb 483672004-07-11 Marco Gerards <metgerards@student.han.nl>
48368
48369 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
48370 one block instead of two when looking for the initial partition.
48371 (grub_partition_probe): Initialize the local variable `p' with 0.
48372 Use base 10 for the grub_strtoul call.
48373 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
48374 need for one local variable.
48375 (grub_strtoul): Don't add the new value to `num', instead of that
48376 just assign it.
48377
020616c2 483782004-07-11 Marco Gerards <metgerards@student.han.nl>
48379
48380 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
48381 (pxeboot_img_SOURCES): New variable.
48382 (pxeboot_img_ASFLAGS): Likewise.
48383 (pxeboot_img_LDFLAGS): Likewise.
48384 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
48385 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
48386 <lode_leroy@hotmail.com>.
48387
6c51eb64 483882004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48389
48390 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
48391 there was no input.
48392
cfb12aff 483932004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48394
48395 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
48396 the history buffer logic.
48397
6eabba74 483982004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48399
48400 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
48401 (FILETYPE_INO_SYMLINK): New macros.
48402 (grub_ext2_find_file): Check if the node is a directory using the
48403 inode stat information instead of using the filetype in the
48404 dirent. Exclude the first character of an absolute symlink.
48405 (grub_ext2_dir): Mask out the filetype part of the mode member of
48406 the inode.
48407
66e19ef8 484082004-05-24 Marco Gerards <metgerards@student.han.nl>
48409
48410 Add support for UFS version 1 and 2. Add support for the minix
48411 filesystem version 1 and 2, both the variants with 14 and 30 long
48412 filenames.
f19dbdb7 48413
66e19ef8 48414 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
48415 fs/minix.c.
48416 (grub_emu_SOURCES): Likewise.
48417 (pkgdata_MODULES): Add ufs.mod and minix.mod.
48418 (ufs_mod_SOURCES): New variable.
48419 (ufs_mod_CFLAGS): Likewise.
48420 (minix_mod_SOURCES): Likewise.
48421 (minix_mod_CFLAGS): Likewise.
48422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
48423 fs/minix.c.
48424 (grubof_SOURCES): Likewise.
48425 * fs/ufs.c: New file.
48426 * fs/minix.c: New file.
48427 * include/grub/fs.h (grub_ufs_init): New prototype.
48428 (grub_ufs_fini): Likewise.
48429 (grub_minix_init): Likewise.
48430 (grub_minix_fini): Likewise.
48431 * util/grub-emu.c (main): Initialize and deinitialize UFS and
48432 minix fs.
48433
cc2e748a 484342004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
48435
48436 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
48437 commands/ls.c, commands/terminal.c, commands/boot.c,
48438 commands/cmp.c and commands/cat.c.
48439 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
48440
48441 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
48442 "env.h"
48443
4b13b216 484442004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
48445
48446 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
48447 and grub_, respectively. Because the conversion is trivial and
48448 mechanical, I omit the details here. Please refer to the CVS
48449 if you need more information.
48450
6a142551 484512004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
48452
48453 * include/pupa: Renamed to ...
48454 * include/grub: ... this.
48455 * util/i386/pc/pupa-mkimage.c: Renamed to ...
48456 * util/i386/pc/grub-mkimage.c: ... this.
48457 * util/i386/pc/pupa-setup.c: Renamed to ...
48458 * util/i386/pc/grub-setup.c: ... this.
48459 * util/pupa-emu.c: Renamed to ...
48460 * util/grub-emu.c: ... this.
48461
e56cdf21 484622004-03-29 Marco Gerards <metgerards@student.han.nl>
48463
48464 Add support for the newworld apple macintosh (PPC). This has been
48465 tested on the powerbook 2000 only. It only adds support for
48466 generic ieee1275 functions, console and disk support. This should
48467 be easy to port to other architectures with support for Open
48468 Firmware.
f19dbdb7 48469
e56cdf21 48470 * configure.ac: Accept the powerpc as host_cpu. In the case of
48471 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
48472 specific tests are only executed while building for the i386.
48473 Inverse test for crosscompile.
48474 * genmk.rb (Utility): Allow assembler files.
48475 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
48476 * conf/powerpc-ieee1275.rmk: New file.
48477 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
48478 * disk/powerpc/ieee1275/partition.c: Likewise.
48479 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
48480 * include/pupa/powerpc/ieee1275/console.h: Likewise.
48481 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
48482 * include/pupa/powerpc/ieee1275/time.h: Likewise.
48483 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
48484 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
48485 * include/pupa/powerpc/ieee1275/loader.h
48486 * include/pupa/powerpc/setjmp.h: Likewise.
48487 * include/pupa/powerpc/types.h: Likewise.
48488 * kern/powerpc/ieee1275/init.c: Likewise.
48489 * kern/powerpc/ieee1275/openfw.c: Likewise.
48490 * term/powerpc/ieee1275/ofconsole.c: Likewise.
48491
48492 These files were written by Johan Rydberg
48493 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 48494
e56cdf21 48495 * boot/powerpc/ieee1275/cmain.c: New file.
48496 * boot/powerpc/ieee1275/crt0.S: Likewise.
48497 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
48498 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
48499
8c8cc205 485002004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
48501
48502 * Makefile.in: Update copyright.
48503 * genmodsrc.sh: Likewise.
48504 * gensymlist.sh: Likewise.
48505 * term/i386/pc/vga.c: Indent correctly.
48506
48507 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
48508 bugreporting address.
48509 * util/i386/pc/pupa-setup.c (usage): Likewise,
48510 (main): Call pupa_ext2_init and pupa_ext2_fini.
48511
f19dbdb7 48512 * fs/fat.c (log2): Renamed to ...
8c8cc205 48513 (fat_log2): ... this.
48514 All callers changed.
48515 * kern/misc.c (memcpy): Alias to pupa_memmove.
48516 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
48517 lvalue cast.
48518 * util/console.c (pupa_ncurses_fini): Return 0.
48519
48520 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
48521 Move fail label here.
48522 [__GNU__]: Don't warn when using stat.
48523 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
48524 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
48525 long int. Use strtol instead of strtoul.
f19dbdb7 48526
db1771cf 485272004-03-14 Marco Gerards <metgerards@student.han.nl>
48528
48529 * commands/boot.c: New file.
48530 * commands/cat.c: Likewise.
48531 * commands/cmp.c: Likewise.
48532 * commands/ls.c: Likewise.
48533 * commands/terminal.c: Likewise.
48534 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
48535 (pupa_register_command): Changed interface to match the new
48536 argument parser.
48537 (pupa_command_execute): Changed (almost rewritten) so it uses
48538 pupa_split_command. Added support for setting variables using the
48539 syntax `foo=bar'.
48540 (rescue_command): Changed to work with the new argument parser.
48541 (terminal_command): Moved from here to commands/terminal.c.
48542 (set_command): New function.
48543 (unset_command): New function.
48544 (insmod_command): New function.
48545 (rmmod_command): New function.
48546 (lsmod_command): New function.
48547 (pupa_command_init): Don't initialize the command terminal
48548 anymore. Initialize the commands set, unset, insmod, rmmod and
48549 lsmod.
48550 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
48551 (kernel_img_HEADERS): Add arg.h and env.h.
48552 (pupa_mkimage_LDFLAGS): Add kern/env.c.
48553 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
48554 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
48555 normal/arg.c.
48556 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
48557 terminal.mod.
48558 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
48559 (boot_mod_SOURCES): New variable.
48560 (terminal_mod_SOURCES): Likewise.
48561 (ls_mod_SOURCES): Likewise.
48562 (cmp_mod_SOURCES): Likewise.
48563 (cat_mod_SOURCES): Likewise.
48564
48565 * normal/arg.c: New file.
48566 * kern/env.c: Likewise.
48567 * include/pupa/arg.h: Likewise.
48568 * include/pupa/env.h: Likewise.
48569 * font/manager.c (font_command): Changed to match argument parsing
48570 interface changes.
48571 (PUPA_MOD_INIT): Likewise.
48572 * hello/hello.c (pupa_cmd_hello): Likewise.
48573 (PUPA_MOD_INIT): Likewise.
48574 * include/pupa/disk.h: Include <pupa/device.h>.
48575 (pupa_print_partinfo): New prototype.
48576 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
48577 (pupa_dl_get_prefix): Likewise.
48578 * include/pupa/misc.h: Include <pupa/err.h>.
48579 (pupa_isgraph): New prototype.
48580 (pupa_isdigit): Likewise.
48581 (pupa_split_cmdline): Likewise.
48582 * include/pupa/normal.h: Include <pupa/arg.h>.
48583 (pupa_command): Changed the prototype of the member `func' to
48584 match the argument parsing interface. Added member `options'.
48585 (pupa_register_command): Updated to match function.
48586 (pupa_arg_parse): New prototype.
48587 (pupa_hello_init) [PUPA_UTIL]: New prototype.
48588 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
48589 (pupa_ls_init) [PUPA_UTIL]: Likewise.
48590 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
48591 (pupa_cat_init) [PUPA_UTIL]: Likewise.
48592 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
48593 (pupa_boot_init) [PUPA_UTIL]: Likewise.
48594 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
48595 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
48596 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
48597 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
48598 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
48599 * kern/disk.c: Include <pupa/file.h>.
48600 (pupa_print_partinfo): New function.
48601 * kern/dl.c: Include <pupa/env.h>.
48602 (pupa_dl_dir): Variable removed.
48603 (pupa_dl_load): Use the environment variable `prefix' instead of
48604 the variable pupa_dl_dir.
48605 (pupa_dl_set_prefix): Function removed.
48606 (pupa_dl_get_prefix): Likewise.
48607 * kern/i386/pc/init.c: Include <pupa/env.h>.
48608 (pupa_machine_init): Use the environment variable `prefix' instead of
48609 using pupa_dl_set_prefix to set the prefix.
48610 * kern/main.c: Include <pupa/env.h>.
48611 (pupa_set_root_dev): Use the environment variable `prefix' instead of
48612 using pupa_dl_get_prefix to get the prefix.
48613 * kern/misc.c: Include <pupa/env.h>.
48614 (pupa_isdigit): New function.
48615 (pupa_isgraph): Likewise.
48616 (pupa_ftoa): Likewise.
48617 (pupa_vsprintf): Added support for printing values of the type
48618 `double'. Make it possible to format variable output when using
48619 formatting like `%1.2%f'.
48620 (pupa_split_cmdline): New function.
48621 * kern/rescue.c: Include <pupa/env.h>.
48622 (next_word): Removed function.
48623 (pupa_rescue_cmd_prefix): Likewise.
48624 (pupa_rescue_cmd_set): New function.
48625 (pupa_rescue_cmd_unset): New function.
48626 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
48627 split the command line instead of splitting it here. Added
48628 support for setting variables using the syntax `foo=bar'. Don't
48629 initialize the prefix command anymore. Initialized the set and
48630 unset commands.
48631 * normal/cmdline.c: Include <pupa/env.h>.
48632 (pupa_tab_complete): Added prototypes for print_simple_completion,
48633 print_partition_completion, add_completion, iterate_commands,
48634 iterate_dev, iterate_part and iterate_dir. Moved code to print
48635 partition information from here to kern/disk.c.
fe6b695a 48636 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 48637 * normal/main.c: Include <pupa/env.h>.
48638 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
48639 instead of using pupa_dl_get_prefix to get the prefix.
48640 * term/i386/pc/vga.c: Include <pupa/arg.h>.
48641 (check_vga_mem): Cast pointers to `void *' to silence a gcc
48642 warning.
48643 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
48644 (pupa_vga_setcolor): Declare unused variables with `__attribute__
48645 ((unused))' to silence a gcc warning.
48646 (pupa_vga_setcolor): Likewise.
48647 (debug_command): Changed to match argument parsing
48648 interface changes.
48649 * util/pupa-emu.c: Include <pupa/env.h>.
48650 (options): Added 0's for unused fields to silence a gcc warning.
48651 (argp): Likewise.
48652 (main): Use the environment variable `prefix' instead of using
48653 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
48654 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
48655 and terminal.
48656
48657 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
48658 * util/misc.c: Include <malloc.h>.
48659 (pupa_malloc): Rewritten so errors are correctly reported.
48660 (pupa_realloc): Likewise.
48661 (pupa_memalign): Likewise.
48662 (pupa_mm_init_region): Declare unused variables with
48663 `__attribute__ ((unused))' to silence a gcc warning.
48664 * normal/i386/setjmp.S: Remove tab at the end of the file to
48665 silence a gcc warning.
48666 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
48667 variables with `__attribute__ ((unused))' to silence a gcc
48668 warning.
48669 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
48670 local variable i unsigned to silence a gcc warning.
48671
48672 * kern/term.c: Include <pupa/misc.h>.
48673 (pupa_more_lines): New variable.
48674 (pupa_more): Likewise.
48675 (pupa_putcode): When the pager is active pause at the end of every
48676 screen.
48677 (pupa_set_more): New function.
48678 * include/pupa/term.h (pupa_set_more): New prototype.
48679
48680
3b1139cb 486812004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
48682
48683 Now this project is GRUB 2 rather than PUPA. The location of
48684 the CVS repository was moved to GRUB's.
f19dbdb7 48685
3b1139cb 48686 * configure.ac: Use bug-grub as the reporting address.
48687 Use GRUB instead of PUPA.
48688 Change the version number to 1.90.
48689
8367695c 486902004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
48691
48692 * genkernsyms.sh: Updated copyright information.
48693 * genmk.rb: Likewise.
48694 * genmodsrc.sh: Likewise.
48695 * gensymlist.sh: Likewise.
48696 * boot/i386/pc/boot.S: Likewise.
48697 * boot/i386/pc/diskboot.S: Likewise.
48698 * disk/i386/pc/biosdisk.c: Likewise.
48699 * disk/i386/pc/partition.c: Likewise.
48700 * font/manager.c: Likewise.
48701 * fs/ext2.c: Likewise.
48702 * fs/fat.c: Likewise.
48703 * include/pupa/boot.h: Likewise.
48704 * include/pupa/device.h: Likewise.
48705 * include/pupa/disk.h: Likewise.
48706 * include/pupa/dl.h: Likewise.
48707 * include/pupa/elf.h: Likewise.
48708 * include/pupa/err.h: Likewise.
48709 * include/pupa/file.h: Likewise.
48710 * include/pupa/font.h: Likewise.
48711 * include/pupa/fs.h: Likewise.
48712 * include/pupa/kernel.h: Likewise.
48713 * include/pupa/loader.h: Likewise.
48714 * include/pupa/misc.h: Likewise.
48715 * include/pupa/mm.h: Likewise.
48716 * include/pupa/net.h: Likewise.
48717 * include/pupa/normal.h: Likewise.
48718 * include/pupa/rescue.h: Likewise.
48719 * include/pupa/setjmp.h: Likewise.
48720 * include/pupa/symbol.h: Likewise.
48721 * include/pupa/term.h: Likewise.
48722 * include/pupa/types.h: Likewise.
48723 * include/pupa/i386/setjmp.h: Likewise.
48724 * include/pupa/i386/types.h: Likewise.
48725 * include/pupa/i386/pc/biosdisk.h: Likewise.
48726 * include/pupa/i386/pc/boot.h: Likewise.
48727 * include/pupa/i386/pc/console.h: Likewise.
48728 * include/pupa/i386/pc/init.h: Likewise.
48729 * include/pupa/i386/pc/kernel.h: Likewise.
48730 * include/pupa/i386/pc/linux.h: Likewise.
48731 * include/pupa/i386/pc/loader.h: Likewise.
48732 * include/pupa/i386/pc/memory.h: Likewise.
48733 * include/pupa/i386/pc/multiboot.h: Likewise.
48734 * include/pupa/i386/pc/partition.h: Likewise.
48735 * include/pupa/i386/pc/time.h: Likewise.
48736 * include/pupa/i386/pc/vga.h: Likewise.
48737 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
48738 * include/pupa/util/getroot.h: Likewise.
48739 * include/pupa/util/misc.h: Likewise.
48740 * include/pupa/util/resolve.h: Likewise.
48741 * kern/device.c: Likewise.
48742 * kern/disk.c: Likewise.
48743 * kern/dl.c: Likewise.
48744 * kern/err.c: Likewise.
48745 * kern/file.c: Likewise.
48746 * kern/fs.c: Likewise.
48747 * kern/loader.c: Likewise.
48748 * kern/main.c: Likewise.
48749 * kern/misc.c: Likewise.
48750 * kern/mm.c: Likewise.
48751 * kern/rescue.c: Likewise.
48752 * kern/term.c: Likewise.
48753 * kern/i386/dl.c: Likewise.
48754 * kern/i386/pc/init.c: Likewise.
48755 * kern/i386/pc/lzo1x.S: Likewise.
48756 * kern/i386/pc/startup.S: Likewise.
48757 * loader/i386/pc/chainloader.c: Likewise.
48758 * loader/i386/pc/linux.c: Likewise.
48759 * loader/i386/pc/multiboot.c: Likewise.
48760 * normal/cmdline.c: Likewise.
48761 * normal/command.c: Likewise.
48762 * normal/main.c: Likewise.
48763 * normal/menu.c: Likewise.
48764 * normal/i386/setjmp.S: Likewise.
48765 * term/i386/pc/console.c: Likewise.
48766 * term/i386/pc/vga.c: Likewise.
48767 * util/console.c: Likewise.
48768 * util/genmoddep.c: Likewise.
48769 * util/misc.c: Likewise.
48770 * util/pupa-emu.c: Likewise.
48771 * util/resolve.c: Likewise.
48772 * util/unifont2pff.rb: Likewise.
48773 * util/i386/pc/biosdisk.c: Likewise.
48774 * util/i386/pc/getroot.c: Likewise.
48775 * util/i386/pc/pupa-mkimage.c: Likewise.
48776 * util/i386/pc/pupa-setup.c: Likewise.
48777
e6eced71 487782004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
48779
48780 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
48781 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
48782 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
48783 reading and reset it after reading.
48784 (pupa_ext2_close): Return PUPA_ERR_NONE.
48785
48786 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
48787 Correct value.
48788 (struct linux_kernel_header): Add kernel_version and
48789 initrd_addr_max.
48790 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
48791 pupa_file_read succeeds.
48792 (pupa_rescue_cmd_initrd): Implement.
48793
5aded270 487942003-12-03 Marco Gerards <metgerards@student.han.nl>
48795
48796 * fs/ext2.c (pupa_ext2_label): New function.
48797 (pupa_ext2_fs): Added label.
48798 * fs/fat.c (pupa_fat_label): New function.
48799 (pupa_fat_fs): Added label.
48800 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
48801
48802 * kern/misc.c (pupa_strndup): New function.
48803 * include/pupa/misc.h (pupa_strndup): New prototype.
48804
48805 * include/pupa/normal.h: Include <pupa/err.h>.
48806 (pupa_set_history): New prototype.
48807 (pupa_iterate_commands): New prototype.
48808 * normal/cmdline.c: Include <pupa/machine/partition.h>,
48809 <pupa/disk.h>, <pupa/file.h>.
48810 (hist_size): New variable.
48811 (hist_lines): Likewise.
48812 (hist_end): Likewise.
48813 (hist_used): Likewise.
48814 (pupa_set_history): New function.
48815 (pupa_history_get): Likewise.
48816 (pupa_history_add): Likewise.
48817 (pupa_history_replace): Likewise.
48818 (pupa_tab_complete): Likewise.
48819 (pupa_cmdline_run): Added tab completion and history buffer. Tab
48820 completion shows partitionnames while completing partitions, this
48821 feature was suggested by Jeff Bailey.
48822 * normal/command.c (pupa_iterate_commands): New function.
48823 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
48824 (pupa_normal_init): Initialize history buffer.
48825 (PUPA_MOD_INIT): Likewise.
48826 (pupa_normal_fini): Free the history buffer.
48827 (PUPA_MOD_FINI): Likewise.
48828
48829 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
48830 key.
48831
48832 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
48833 * configure.ac [i386]: Check for regparam bug.
48834 (NESTED_FUNC_ATTR) [! i386]: Defined.
48835
1f7315a3 488362003-11-17 Marco Gerards <metgerards@student.han.nl>
48837
48838 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
48839 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
48840 (pupa_emu_SOURCES): New variable.
48841 (pupa_emu_LDFLAGS): Likewise.
48842 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
48843 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
48844 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
48845 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
48846 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
48847 (pupa_jmp_buf): New typedef.
48848 (pupa_setjmp) [PUPA_UTIL]: New macro.
48849 (pupa_longjmp) [PUPA_UTIL]: Likewise.
48850 * include/pupa/term.h (struct pupa_term): New member `refresh'.
48851 (pupa_refresh): New prototype.
48852 * include/pupa/util/getroot.h: New file.
48853 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
48854 it.
48855 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
48856 (pupa_rescue_cmd_cat): Likewise.
48857 (pupa_rescue_cmd_ls): Likewise.
48858 (pupa_rescue_cmd_testload): Likewise.
48859 (pupa_rescue_cmd_lsmod): Likewise.
48860 * normal/cmdline.c (pupa_cmdline_get): Likewise.
48861 * normal/menu.c (run_menu): Likewise.
48862 * kern/term.c (pupa_cls): Likewise.
48863 (pupa_refresh): New function.
48864 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
48865 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
48866 * util/console.c: New file.
f19dbdb7 48867
1f7315a3 48868 * util/i386/pc/getroot.c: New file.
48869 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
48870 (pupa_putchar): New function.
48871 (pupa_refresh): Likewise.
48872 (xgetcwd): Function moved to ...
48873 (strip_extra_slashes): Likewise.
48874 (get_prefix): Likewise.
f19dbdb7 48875 * util/i386/pc/getroot.c: ... here.
1f7315a3 48876 (find_root_device): Function moved and renamed to...
48877 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
48878 Changed all callers.
48879 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
48880 and renamed to...
48881 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
48882 Changed all callers.
48883 * util/misc.c (pupa_memalign): New function.
48884 (pupa_mm_init_region): Likewise.
48885 (pupa_register_exported_symbols): Likewise.
48886 (pupa_putchar): Function removed.
48887 * util/pupa-emu.c: New file.
48888
9a5c1ade 488892003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
48890
48891 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
48892 (_multiboot_mod_SOURCES): New variable.
48893 (_multiboot_mod_CFLAGS): Likewise.
48894 * loader/i386/pc/multiboot.c: New file.
48895 * include/pupa/i386/pc/multiboot.h: Likewise.
48896 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
48897 (pupa_multiboot_real_boot): New function.
48898 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
48899 (pupa_multiboot_real_boot): New prototype.
48900 (pupa_rescue_cmd_multiboot): Likewise
48901 (pupa_rescue_cmd_module): Likewise.
48902
48903 * kern/loader.c (pupa_loader_set): Continue when
48904 pupa_loader_unload_func() fails.
48905 (pupa_loader_unset): New function.
48906 * include/pupa/loader.h (pupa_loader_unset): New prototype.
48907
48908 * kern/misc.c (pupa_stpcpy): New function.
48909 * include/pupa/misc.h (pupa_stpcpy): New prototype.
48910
8e72a9c0 489112003-11-12 Marco Gerards <metgerards@student.han.nl>
48912
48913 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
48914 for available extensions.
48915
48916 * include/pupa/i386/pc/time.h: New file.
48917 * kern/disk.c: Include <pupa/machine/time.h>.
48918 (PUPA_CACHE_TIMEOUT): New macro.
48919 (pupa_last_time): New variable.
48920 (pupa_disk_open): Flush the cache when there was a timeout.
48921 (pupa_disk_close): Reset the timer.
48922 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
48923 pupa_currticks.
48924 * util/misc.c: Include <sys/times.h>
48925 (pupa_get_rtc): New function.
48926
c4adbd32 489272003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48928
48929 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
48930 as blocks.
48931 (pupa_ext2_get_file_block): Use blocks member.
48932
48933 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
48934 first block. Return -1 instead of pupa_errno on error.
48935
bfd30f06 489362003-10-27 Marco Gerards <metgerards@student.han.nl>
48937
48938 * README: In the pupa-mkimage example use _chain instead of chain
48939 and ext2 instead of fat.
48940 * TODO: Replace ext2fs with jfs as an example. Add an item for
48941 adding journal playback for ext2fs.
48942 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
48943 (pkgdata_MODULES): Added ext2.mod.
48944 (ext2_mod_SOURCES): New variable.
48945 (ext2_mod_CFLAGS): Likewise.
48946 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
48947 * include/pupa/misc.h (pupa_strncpy): New prototype.
48948 (pupa_strcat): Likewise.
48949 (pupa_strncmp): Likewise.
48950 * kern/misc.c (pupa_strcat): Enable function.
48951 (pupa_strncpy): New function.
48952 (pupa_strncmp): Likewise.
48953 * fs/ext2.c: New file.
f19dbdb7 48954
bfd30f06 48955 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
48956 when the read failed before retrying.
48957 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
48958 (_FILE_OFFSET_BITS): Likewise.
48959 * configure.ac: Added AC_SYS_LARGEFILE.
48960
98d15063 489612003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48962
48963 * genmk.rb (PModule#rule): Make sure to get only symbol names
48964 from the output of nm.
59cad637 48965 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 48966
18d9c7cd 489672003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48968
48969 I forgot to check in these changes for a long time. This adds
48970 incomplete support for VGA console, and this is still very
48971 buggy. Also, a lot of consideration is required for I18N,
48972 UNICODE, and VGA font issues. Therefore, assume that this is
48973 such that "better than nothing".
f19dbdb7 48974
18d9c7cd 48975 * font/manager.c: New file.
48976 * include/pupa/font.h: Likewise.
48977 * include/pupa/i386/pc/vga.h: Likewise.
48978 * term/i386/pc/vga.c: Likewise.
48979 * util/unifont2pff.rb: Likewise.
48980
48981 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
48982 (pkgdata_MODULES): Added vga.mod and font.mod.
48983 (vga_mod_SOURCES): New variables.
48984 (vga_mod_CFLAGS): Likewise.
48985 (font_mod_SOURCES): Likewise.
48986 (font_mod_CFLAGS): Likewise.
48987
48988 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
48989
48990 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 48991 (struct pupa_term): Added init and fini.
18d9c7cd 48992 Changed the argument of putchar to pupa_uint32_t.
48993
48994 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
48995 (pupa_console_real_putchar): New prototype.
48996 (pupa_console_putchar): Removed.
48997 (pupa_console_checkkey): Exported.
48998 (pupa_console_getkey): Likewise.
48999
49000 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
49001 characters.
49002
49003 * kern/term.c (pupa_term_set_current): Rewritten.
49004 (pupa_putchar): Likewise.
49005 (pupa_putcode): New function.
49006
49007 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
49008 (pupa_console_real_putchar): ... this.
49009 (pupa_vga_set_mode): New function.
49010 (pupa_vga_get_font): Likewise.
49011
49012 * normal/command.c: Include pupa/term.h.
49013 (terminal_command): New function.
49014 (pupa_command_init): Register the command "terminal".
49015
49016 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
49017 (DISP_UP): Likewise.
49018 (DISP_RIGHT): Likewise.
49019 (DISP_DOWN): Likewise.
49020 (DISP_HLINE): Likewise.
49021 (DISP_VLINE): Likewise.
49022 (DISP_UL): Likewise.
49023 (DISP_UR): Likewise.
49024 (DISP_LL): Likewise.
49025 (DISP_LR): Likewise.
49026
49027 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 49028
977329f5 490292003-02-08 NIIBE Yutaka <gniibe@m17n.org>
49030
49031 * util/resolve.c (pupa_util_resolve_dependencies): BUG
49032 FIX. Reverse the path_list.
49033
49034 * include/pupa/normal.h: Export pupa_register_command and
49035 pupa_unregister_command.
49036
49037 * hello/hello.c (pupa_cmd_hello): New module.
49038 * conf/i386-pc.rmk: Added hello.mod.
49039
1f5ab428 490402003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
49041
49042 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 49043
1f5ab428 49044 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
49045 (compress_kernel): New variable.
49046 (generate_image): Heavily modified to support compressing a
49047 large part of the core image.
49048
49049 * util/misc.c (pupa_util_read_image): Fix a file descriptor
49050 leak.
49051 (pupa_util_load_image): New function.
49052
49053 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
49054 (pupa_compressed_size): New variable.
49055 (codestart): Enable Gate A20 here.
49056 Decompress the compressed part of the core image.
49057 Rearrange the code to put functions and variables which are
49058 required for initialization in the non-compressed part.
49059 Include lzo1x.S.
49060
49061 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
49062 here.
49063
49064 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
49065
f19dbdb7 49066 * include/pupa/i386/pc/kernel.h
1f5ab428 49067 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
49068 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
49069 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49070 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49071 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
49072
49073 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
49074
49075 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
49076 (Utility#rule): Likewise.
49077
49078 * configure.ac: Check if LZO is available.
49079
ce5bf700 490802003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
49081
49082 * include/pupa/normal.h: New file.
49083 * include/pupa/setjmp.h: Likewise.
49084 * include/pupa/i386/setjmp.h: Likewise.
49085 * normal/cmdline.c: Likewise.
49086 * normal/command.c: Likewise.
49087 * normal/main.c: Likewise.
49088 * normal/menu.c: Likewise.
49089 * normal/i386/setjmp.S: Likewise.
f19dbdb7 49090
ce5bf700 49091 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
49092 (pupa_rescue_cmd_initrd): Likewise.
49093
49094 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
49095 Likewise.
49096
49097 * kern/i386/pc/startup.S (translation_table): New variable.
49098 (translate_keycode): New function.
49099 (pupa_console_getkey): Call translate_keycode.
49100
49101 * kern/rescue.c (attempt_normal_mode): New function.
49102 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
49103 it failed, print a message.
49104
49105 * kern/mm.c (pupa_real_malloc): Print more information when a
49106 free magic is broken.
49107 (pupa_free): If the first free header is not free actually, set
49108 it to P.
49109
49110 * kern/main.c (pupa_load_normal_mode): Just load the module
49111 "normal".
49112 (pupa_main): Don't print the message
49113 "Entering into rescue mode..." here.
49114
49115 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
49116 Declared.
49117 (pupa_rescue_cmd_initrd): Likewise.
49118 (pupa_rescue_cmd_initrd): Likewise.
49119
49120 * include/pupa/symbol.h (FUNCTION): Specify the type.
49121 (VARIABLE): Likewise.
49122
49123 * include/pupa/err.h (pupa_err_t): Added
49124 PUPA_ERR_UNKNOWN_COMMAND.
49125
49126 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
49127 (pupa_dl_get_prefix): Likewise.
49128
49129 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
49130 Added _chain.mod and _linux.mod instead of chain.mod and
49131 linux.mod.
49132 (chain_mod_SOURCES): Renamed to ...
49133 (_chain_mod_SOURCES): ... this.
49134 (chain_mod_CFLAGS): Renamed to ...
49135 (_chain_mod_CFLAGS): ... this.
49136 (linux_mod_SOURCES): Renamed to ...
49137 (_linux_mod_SOURCES): ... this.
49138 (linux_mod_CFLAGS): Renamed to ...
49139 (_linux_mod_CFLAGS): ... this.
49140 (normal_mod_SOURCES): New variable.
49141 (normal_mod_CFLAGS): Likewise.
49142 (normal_mod_ASFLAGS): Likewise.
49143
491442003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
49145
49146 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
49147 possible.
49148
fe6b695a 49149 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 49150 recursively.
49151 (pupa_dl_unref): Unrefer depending modules recursively.
49152 Don't call pupa_dl_unload implicitly, because PUPA can crash if
49153 a module is unloaded before one depending on that module is
49154 unloaded.
49155 (pupa_dl_unload): Unload depending modules explicitly,
49156 if possible.
49157
c04da074 491582003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
49159
49160 * include/pupa/i386/pc/linux.h: New file.
49161 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 49162
c04da074 49163 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
49164 Removed.
49165 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
49166 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
49167 of PUPA_CHAINLOADER_BOOT_SECTOR.
49168
49169 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
49170 (pupa_linux_prot_size): New variable.
49171 (pupa_linux_tmp_addr): Likewise.
49172 (pupa_linux_real_addr): Likewise.
49173 (pupa_linux_boot_zimage): New function.
49174 (pupa_linux_boot_bzimage): Likewise.
49175
49176 * kern/i386/pc/init.c (struct mem_region): New structure.
49177 (MAX_REGIONS): New macro.
49178 (mem_regions): New variable.
49179 (num_regions): Likewise.
49180 (pupa_os_area_addr): Likewise.
49181 (pupa_os_area_size): Likewise.
49182 (pupa_lower_mem): Likewise.
49183 (pupa_upper_mem): Likewise.
49184 (add_mem_region): New function.
49185 (compact_mem_regions): Likewise.
49186 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
49187 the size of the conventional memory and that of so-called upper
49188 memory (before the first memory hole).
49189 Instead of adding each found region to free memory, use
49190 add_mem_region and add them after removing overlaps.
49191 Also, add only 1/4 of the upper memory to free memory. The rest
49192 is used for loading OS images. Maybe this is ad hoc, but this
49193 makes it much easier to relocate OS images when booting.
49194
49195 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
49196 (pupa_enter_rescue_mode): Don't register initrd and module.
49197
49198 * kern/mm.c: Include pupa/dl.h.
49199
49200 * kern/main.c: Include pupa/file.h and pupa/device.h.
49201
49202 * kern/loader.c (pupa_loader_load_module_func): Removed.
49203 (pupa_loader_load_module): Likewise.
49204
49205 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
49206 ``.o''.
49207
49208 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
49209 (pupa_linux_tmp_addr): Likewise.
49210 (pupa_linux_real_addr): Likewise.
49211 (pupa_linux_boot_zimage): Likewise.
49212 (pupa_linux_boot_bzimage): Likewise.
49213
49214 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
49215 (pupa_upper_mem): Likewise.
49216 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
49217 module is too dangerous.
49218
49219 * include/pupa/loader.h (pupa_os_area_addr): Declared.
49220 (pupa_os_area_size): Likewise.
49221 (pupa_loader_set): Remove the first argument. Loader doesn't
49222 manage modules or initrd any longer.
49223 (pupa_loader_load_module): Removed.
49224
49225 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
49226 (linux_mod_SOURCES): New variable.
49227 (linux_mod_CFLAGS): Likewise.
49228
a13f9237 492292003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
49230
49231 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
49232 the length of a blocklist correctly.
49233
49234 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
49235 Use ioctl only if the OS file is a block device.
49236 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
49237 not very useful for normal files.
49238
49239 * kern/main.c (pupa_set_root_dev): New function.
49240 (pupa_load_normal_mode): Likewise.
49241 (pupa_main): Call those above.
49242
49243 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
49244 pupa_uint16_t.
49245
49246 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
49247
a5ffe966 492482003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
49249
49250 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
49251 (setup): Configure the installed partition information and the
49252 dl prefix.
49253
49254 * loader/i386/pc/chainloader.c (my_mod): New variable.
49255 (pupa_chainloader_unload): New function.
49256 (pupa_rescue_cmd_chainloader): Refer itself.
49257 (PUPA_MOD_INIT): Save its own module in MY_MOD.
49258
49259 * kern/i386/pc/startup.S (install_partition): Removed.
49260 (version_string): Likewise.
49261 (config_file): Likewise.
49262 (pupa_install_dos_part): New variable.
49263 (pupa_install_bsd_part): Likewise.
49264 (pupa_prefix): Likewise.
49265 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
49266
49267 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
49268 and pupa/misc.h.
49269 (make_install_device): New function.
49270 (pupa_machine_init): Set the dl prefix.
49271
49272 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
49273 (buf): Renamed to ...
49274 (linebuf): ... this.
49275 (pupa_rescue_cmd_prefix): New function.
49276 (pupa_rescue_cmd_insmod): Likewise.
49277 (pupa_rescue_cmd_rmmod): Likewise.
49278 (pupa_rescue_cmd_lsmod): Likewise.
49279 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
49280 rmmod and lsmod.
49281
49282 * kern/mm.c (pupa_memalign): If failed even after invalidating
49283 disk caches, unload unneeded modules and retry.
49284
49285 * kern/misc.c (pupa_memmove): New function.
49286 (pupa_memcpy): Removed.
49287 (pupa_strcpy): New function.
49288 (pupa_itoa): Made static.
49289
49290 * kern/dl.c (pupa_dl_iterate): New function.
49291 (pupa_dl_ref): Likewise.
49292 (pupa_dl_unref): Likewise.
49293 (pupa_dl_unload): Return if succeeded or not.
49294 (pupa_dl_unload_unneeded): New function.
49295 (pupa_dl_unload_all): Likewise.
49296 (pupa_dl_init): Renamed to ...
49297 (pupa_dl_set_prefix): ... this.
49298 (pupa_dl_get_prefix): New function.
49299
49300 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
49301 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
49302 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49303 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49304 (pupa_install_dos_part): Declared.
49305 (pupa_install_bsd_part): Likewise.
49306 (pupa_prefix): Likewise.
49307 (pupa_boot_drive): Likewise.
49308
49309 * include/pupa/types.h: Fix a typo.
49310
49311 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
49312 pupa_memmove.
49313 (pupa_memmove): Declared.
49314 (pupa_strcpy): Likewise.
49315
49316 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
49317 pupa_mod_init takes one argument, its own module.
49318 (pupa_dl_unload_unneeded): Declared.
49319 (pupa_dl_unload_all): Likewise.
49320 (pupa_dl_ref): Likewise.
49321 (pupa_dl_unref): Likewise.
49322 (pupa_dl_iterate): Likewise.
49323 (pupa_dl_init): Renamed to ...
49324 (pupa_dl_set_prefix): ... this.
49325 (pupa_dl_get_prefix): Declared.
49326
49327 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 49328 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 49329 unloaded.
49330 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
49331 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
49332
49333 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
49334 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
49335
012d7999 493362003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
49337
49338 * util/i386/pc/pupa-setup.c (setup): Define the internal
49339 function find_first_partition_start at the top level, because GCC
49340 3.0.x cannot compile internal functions in deeper scopes
49341 correctly.
49342 (find_root_device): Use lstat instead of stat.
49343 Don't follow symbolic links.
49344 Fix the path-constructing code.
49345
49346 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
49347 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
49348 by a BLKGETSIZE ioctl first, because block devices don't fill
49349 the member st_mode of the structure stat on Linux.
49350 [__linux__] (linux_find_partition): Use a temporary buffer
49351 REAL_DEV for the working space. Copy it to DEV before returning.
49352 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
49353 buffer cache consistent.
49354 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
49355 strncmp. The previous value was merely wrong.
49356 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
49357
49358 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
49359 FAT size is 12. The previous value was merely wrong.
49360
49361 * kern/main.c (pupa_main): Don't split the starting message from
49362 newlines.
49363
49364 * kern/term.c (pupa_putchar): Put CR after LF instead of before
49365 LF, because BIOS goes crazy about character attributes in this
49366 case.
49367
1cc73a62 493682003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
49369
49370 * include/i386/pc/util/biosdisk.h: New file.
49371 * util/i386/pc/biosdisk.c: Likewise.
49372 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 49373
1cc73a62 49374 * Makefile.in (INCLUDE_DISTFILES): Added
49375 include/pupa/i386/pc/util/biosdisk.h.
49376 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
49377 directory util/i386/pc.
49378 (install-local): Added a rule for sbin_UTILITIES.
49379 (uninstall): Likewise.
49380
49381 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
49382
49383 * util/misc.c (xrealloc): New function.
49384 (pupa_malloc): Likewise.
49385 (pupa_free): Likewise.
49386 (pupa_realloc): Likewise.
49387 (pupa_stop): Likewise.
49388 (pupa_putchar): Likewise.
49389
49390 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
49391
49392 * include/pupa/util/misc.h (xrealloc): Declared.
49393
49394 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
49395 macro.
49396 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
49397 (PUPA_BOOT_MACHINE_BPB_END): ... this.
49398
49399 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
49400 [PUPA_UTIL] (pupa_fat_fini): Likewise.
49401
49402 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
49403 way should be implemented.
49404 [PUPA_UTIL] (pupa_fat_fini): Likewise.
49405
49406 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
49407 the size of NAME for safety.
49408 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
49409 0x88.
49410
49411 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
49412 (pupa_setup_SOURCES): Likewise.
49413
49414 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
49415
08b70fe8 494162002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
49417
49418 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
49419 bunch of pushl's from pusha, because this destroys the return
49420 value.
49421
62ddcc8f 494222002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
49423
49424 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
49425 This means that any missing prototypes could be fatal. Also, you
49426 must take care when writing assembly code. See the comments at
49427 the beginning of startup.S, for more details.
f19dbdb7 49428
62ddcc8f 49429 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
49430 compilation mechanism.
49431 (pupa_chainloader_real_boot): Likewise.
49432 (pupa_biosdisk_rw_int13_extensions): Likewise.
49433 (pupa_biosdisk_rw_standard): Likewise.
49434 (pupa_biosdisk_check_int13_extensions): Likewise.
49435 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
49436 (pupa_biosdisk_get_diskinfo_standard): Likewise.
49437 (pupa_get_memsize): Likewise.
49438 (pupa_get_mmap_entry): Likewise.
49439 (pupa_console_putchar): Likewise.
49440 (pupa_console_setcursor): Likewise.
49441 (pupa_getrtsecs): Use pushl instead of push.
49442
49443 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
49444 memory instead of the stack for a mmap entry, because some
49445 BIOSes may ignore the maximum size and overflow.
49446
49447 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
49448
49449 * genmk.rb (PModule#rule): Compile automatically generated
49450 sources with module-specific CFLAGS as well as other sources.
49451
9962ed99 494522002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49453
49454 * configure.ac: Check ld.
49455 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
49456 respectively, before checking endianness and sizes.
49457
49458 * Makefile.in (LD): New variable.
f19dbdb7 49459
abdfc3c5 494602002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49461
49462 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
49463
6a161fa9 494642002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49465
49466 * Changelog: New file.
49467